Bahasa Pemrograman (Fungsi String Di C#) [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Fungsi String di C# String adalah suatu tipe data bentukan seperti halnya array, bahakan string bisa disebut array of char, yaitu array dari tipe data char (karakter), sehingga membentuk suatu tipe data baru yang bisa menyimpan susunan huruf atau karekter lainnya. String.h merupakan librari yang menyimpan fungsi-fungsi yang digunakan untuk menangani string ataupun substring. Fungsi-fungsi dalam librari string.h antara lain : strcpy, strncpy, strcat, strncat, strcmp,strncmp,strlen. a. Strcpy Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan. Bentuk umumnya : strcpy(var_tujuan, string_asal); b. Strncpy Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan sebanyak n karakter sesuai yang diinginkan programmer. Bentuk umumnya: strncpy(var_tujuan, string_asal, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan. c. Strcat Berfungsi untuk menambahkan string sumber ke bagian akhir dari string tujuan. Bentuk umumnya: strcat(tujuan, sumber);. d. Strncat Berfungsi sama dengan fungsi strcat, yaitu menambahkan string sumber ke bagian akhir dari string. Yang membedakan adalah pada jumlah karakter yang dipindahkan. Fungsi ini dapat memindahkan karakter sebanyak n karakter sesuai yang sudah diprogram oleh programmer. Bentuk umumnya: strncat(tujuan, sumber, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan. e. Strcmp Berfungsi untuk membandingkan dua buah string. Hasil dari fungsi ini bertipe integer dengan nilai: 1) Negative, bila string pertama kurang dari string kedua. 2) Nol, bila string pertama sama dengan string kedua. 3) Positif, bila string pertama lebih banyak dari string kedua. Bentuk umumnya: strcmp(string1, string2); f. Strncmp Berfungsi untuk membandingkan n karakter pertama dalam dua buah string. Hasil dari fungsi ini sama dengan hasil dari fungsi strcmp. Bentuk umumnya: Strncmp(string1, string2, n);. Dengan n adalah jumlah karakter yang ingin dibandingkan. g. Strlen Berfungsi untuk memperoleh jumlah karakter dari suatu string. Bentuk umumnya: strlen(string); Contoh Fungsi string di c# : using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace String {



class Program { static void Main(string[] args) { string namaDepan = "Charles"; string namaBelakang = "Darmanto"; Console.WriteLine("Nama Depan : " + namaDepan); Console.WriteLine("Nama Belakang : "+namaBelakang); Console.WriteLine("String Concat : "+string.Concat(namaDepan,namaBelakang)); string namaCopy = string.Copy(namaDepan); Console.WriteLine("String Copy : "+namaCopy); Console.WriteLine("String Concat dan Length : " + string.Concat(namaDepan, namaBelakang).Length); Console.WriteLine("String SubString : "+namaDepan.Substring(4,3)); Console.WriteLine("String Replace : "+namaBelakang.Replace('a','i')); Console.WriteLine("String Concat dan Remove : " + string.Concat(namaDepan, namaBelakang).Remove(4, 5)); Console.WriteLine("\n\nIseng-Iseng Dengan Nama Teman Saya Blasteran Australia Vs Jawa"); Console.WriteLine(namaDepan+" "+namaBelakang); Console.WriteLine("hahahahaha"); Console.ReadKey(); } } } Sumber : http://malawidiyanto.wordpress.com/2012/10/13/belajar-string-di-c/ http://hestisiwii.blogspot.com/2012/10/fungsi-string-di-c.html



Operasi-Operasi matematika di C# (C SHARP) Dalam class math banyak sekali fungsi fungsi yang tersedia, diantaranya perpangkatan, akar dan trigonometri dan fungsi fungsi sebagainya. disini saya akan contohkan operasi perpangkatan dan akar kuadrat, contoh hasil operasi operasi yang ada di class math. untuk membuat projectnya silahkan ikuti instruksi instruksi dibawah ini langkah-langkah  pertama : buat project baru pada visual studio 2010, untuk nama project silahkan sesuaikan.  kedua : tambahkan dua componen button, empat komponen textbox dan empat komponen label. atur dan tata sedemikian rupa sedemikian rupa sehingga tampilannya seperti pada gambar seperti diatas.  ketiga : double klik pada button satu untuk membangkitkan event klik pada button satu. tambahkan code berikut ini



double bilangan = 0; double hasil = 0; bilangan = Convert.ToDouble(textBox1.Text); hasil = Math.Pow(bilangan, 2); textBox2.Text = hasil.ToString(); 



keempat : Double klik pada button dua untuk membangkitkan event klik pada button tersebut, tambahkan code berikut ini double bilangan = 0; double hasil = 0; bilangan = Convert.ToDouble(textBox3.Text); hasil = Math.Pow(bilangan, 0.5); textBox4.Text = hasil.ToString();







kelima : Done.. program selesai dibuat. sekarang running program yang telah selesai dibuat, jika langkah langkah diatas dilakukan dengan benar maka saat program running program akan seperti pada gambar bawah



Sumber: http://www.csharp-indonesia.com/2011/01/operasi-operasi-matematika-di-c-c-sharp.html http://julio.staff.ipb.ac.id/files/2011/12/5.pdf



FUNGSI TIME / DATE Secara default type datetime pada c# akan memberikan kembalian berupa tanggal dan waktu. { static void Main(string[] args) { DateTime tgl = DateTime.Now;



Console.WriteLine(tgl.ToString()); Console.ReadKey(); } } Ketika method tersebut dijalankan biasanya “bulan/tgl/tahun jam:menit:detik AM/PM”.



secara



default



akan



menghasilkan



Apabila yang dibutuhkan hanya tanggalnya saja tidak dengan jamnya Maka ada beberapa pilihan cara memparsing nilai dari variabel tanggal ToLongDateString : Akan menghasilkan tanggal dalam format longdate (panjang) ToShortDateString : Akan menghasilkan tanggal dalam format shortdate (pendek) ToString(string format) : akan menghasilkan tanggal sesuai dengan format yang kita inginkan. Contoh : Anggap saja method yang pertama tadi menghasilkan nilai variabel tgl = 10/24/2008 2:48:19 PM. maka : String tglshort = tgl.ToShortDateString( )); //akan menghasilkan "10/24/2008". String tgllong = tgl.ToLongDateString( )); //akan menghasilkan "Friday, October 24, 2008". String tglformat = tgl.ToString("dd-MMM-yyyy"); //akan menghasilkan "24-Oct-2008". Dimana dd = tanggal, MMM = bulan dalam format 3 huruf, yyyy = tahun. format ini bisa dirubah-rubah misal “dd/MM/yyyy” atau “MM/dd/yyyy” atau “MMM dd, yyyy”, dll Apabila yang dibutuhkan hanya jamnya saja maka; tgl.Hour. ToString ()); // Akan menghasilkan jam tgl.Minute. ToString ());// Akan menghasilkan menit tgl.Second. ToString ());//Akan menghasilkan detik Sumber : http://mychanesianabila.blogspot.com/2012/10/fungsi-tanggal-dan-waktu-dalam-csharp.html



User Defined Function / Method Method atau fungsi dalam C# adalah suatu cara untuk memecah program menjadi beberapa bagian, sehingga ketika mengerjakan program tersebut bisa dilakukan pembagian tugas kepada beberapa orang. Ketika kita sudah mendevelop program dalam sekala besar maka kita perlu menggunakan yang namanya Method. Untuk lebih jelasnya perhatikan program dibawah ini : 1. using System; 2. class Program 3. { 4. static void Main(string[] args) 5. { 6. Print(); 7. }



8. static void Print() 9. { 10. Console.WriteLine("Method Print Sukses Dipanggil!!!"); 11. } 12. } Keyword static disini diperlukan karena Method tersebut berada di main class yang juga bersifat static sehingga Method Method menyertainya juga harus bersifat static. Keyword void merupakan salah satu indikasi bahwa Method ini tidak mereturn/mengembalikan nilai apapun, untuk Method yang mereturn/mengembalikan suatu nilai tertentu akan kita bahas nanti. Method diatas adalah salah satu Method yang tidak menerima passing variable apapun dan juga tidak mereturn variable apapun, untuk contoh Method yang menerima passing variable tertentu perhatikan contoh dibawah ini : 1. using System; 2. 3. class Program 4. { 5. static void Main(string[] args) 6. { 7. Maksimum(5, 7); 8. } 9. static void Maksimum(int a, int b) 10. { 11. 12. if (a < b) 13. Console.WriteLine("Nilai Maksimumnya Adalah : " + a); 14. else if (b > a) 15. Console.WriteLine("Nilai Maksimumnya Adalah : " + b); 16. else 17. Console.WriteLine("Dua Bilangan Tersebut Sama Besar"); 18. } 19. } Dari contoh diatas dapat kita ketahui bahwa Method Maksimum membutuhkan dua variable integer untuk dipassingkan, dan dari dua variable integer yang dipassingkan tersebut akan dicetak variable mana yang lebih besar. Selain itu ada juga Method yang memiliki nilai kembalian, atau return value, sebagai contoh perhatikan program untuk mencari nilai kuadrat bilangan integer dibawah ini dibawah ini : 1. using System; 2. 3. class Program 4. { 5. static void Main(string[] args) 6. { 7. Console.WriteLine(Kuadrat(5)); 8. } 9. static int Kuadrat(int n) 10. { 11. return n * n; 12. }



13. } Untuk membuat Method yang memiliki nilai kembalian/return value, maka kita harus menghilangkan keyword void pada Method yang kita buat dan menggantikannya dengan jenis variable kembalian kita, dimana dalam contoh tersebut nilai kembalian / return value berupa integer. Pengenalan Teknik Rekursif Dalam suatu Method kita dapat memanggil Method yang lainnya, atau bahkan memanggil Method itu sendiri, peristiwa pemanggilan Method oleh dirinya sendiri inilah yang disebut rekursif. Contoh sederhana dari rekursif adalah faktorial (!). Untuk lebih jelasnya perhatikan contoh dibawah ini : 1. 5! = 4! * 5 2. 4! = 3! * 4 3. 3! = 2! * 3 4. 2! = 1! * 2 5. 1! = 1 Dari contoh diatas dapat kita lihat bahwa sebenarnya faktorial dari bilangan n, merupakan faktorial bilangan n-1 dikali dengan n, dan begitu seterusnya hingga n=1. Ketika n=1 maka ada kasus spesial yaitu : 1!=1. Untuk implementasinya pada C#, perhatikan program dibawah ini : 1. using System; 2. class Program 3. { 4. static void Main(string[] args) 5. { 6. Console.WriteLine(Faktorial(5)); 7. } 8. static int Faktorial(int n) 9. { 10. if (n == 1) 11. return 1; 12. else 13. return n * Faktorial(n - 1); 14. } 15. } if pertama merupakan rekursif case, yaitu bagian yang membuat program tersebut loopping atau melakukan perulangan secara rekursif, dan bagian else adalah base case, yaitu bagian yang membuat perulangan rekursif tadi berhenti. Seperti halnya perulangan biasa, jika tidak ada base case maka Method rekursif ini akan mengalami infinite loop yang akan menghabiskan memori. Sumber : http://yohandamandala.blogspot.com/2009/11/method-in-c.html



Object Oriented Programing di C# (OOP) Pengantar OOP Aplikasi berbasis windows dan web adalah program yang sangat kompleks yang menyajikan tampilan menarik kepada user dan menawarkan user interface yang kompleks dengan tombol, dropdown, popup menu, toolbox, dan masih banyak komponen yang lain.



Dibelakang user interface tersebut masih ada hubungan bussiness prosess yang kompleks seperti misal hubungan antara Product, Customer, dan Order yang melibatkan banyak logika dan pengolahan data. Untuk menangani berbagai kompleksitas yang terjadi maka programmer mengembangkan teknik yang diberi nama “Objcet Oriented Programming”, dengan tujuan yang sederhana yaitu mengatur kompleksitas dengan memodelkan aspek esensial yang ada. Jika model yang dikembangkan semakin mendekati problem yang akan dipecahkan maka semakin mudah *** persoalan tersebut dapat dimengerti sehingga program lebih mudah ditulis dan di-maintain. Problem yang akan dipecahkan dan semua informasi yang berhubungan dengan problem tersebut sering disebut sebagai problem domain. Misal jika anda ingin membuat program untuk keperluan Inventory dan Sales di suatu perusahaan maka problem domainnya adalah semua informasi tentang perusahaan tersebut yang berhubungan dengan pengaturan stok inventory, cara penjualan, pemasukan penjualan dan data lainnya. Manaager penjualan dan Manager bagian gudang akan menjadi problem domain expert yang dapat membantu anda dalam menyelesaikan masalah. Design dari Object Oriented harus berisi objek-objek yang ada pada problem domain tersebut. Sebagai contoh jika problem domainnya adalah mesin ATM maka objek didalamnya seharusnya adalah customer, rekening, dll. Pedrbedaan Class dan Object Jika anda ingin membangun rumah Class adalah blueprint / gambar (berisi spesifikasi lengkap dari rumah yang akan dibuat, ukuran, jumlah, dll). Sedangkan object adalah bentuk fisik / rumah yang dibangun berdasarkan blueprint / class yang sudah ada, biasa disebut instan class / object. Elemen Pada Class Class pada C# terdiri dari : · Instance Variable / Field · Method Method digunakan untuk merubah state pada field. Mendefinisikan Class Class di C# dapat terdiri dari kumpulan variable (field), property dan method. Cara untuk menggunakan class adalah dengan membuat instan class-nya. Untuk menjalankan class maka harus ada satu method main pada class tersebut. contoh pendeklarasian class di C# sebagai berikut: 1:publicclass Time 2: { 3:// private variables atau field 4:privateint year; 5:privateint month; 6:privateint date; 7:privateint hour; 8:privateint minute; 9:privateint second; 10: 11:// public methods 12:publicvoid DisplayCurrentTime() 13: { 14: Console.WriteLine("Menampilkan Waktu.."); 15: } 16: }



17: 18:class Program 19: { 20:staticvoid Main(string[] args) 21: { 22: Time timeObject = new Time(); //membuat instan class 23: timeObject.DisplayCurrentTime(); //memanggil method dalam class 24: } 25: } C# Modifier C# memiliki beberapa modifier class yaitu:



Access Modifiers Access Modifiers digunakan untuk menentukan hak akses dari class dan method, adapun access modifier yang ada pada C# sebagai berikut:



Method Arguments Method pada C# dapat memiliki banyak argumen dengan tipe data yang berbeda. Method juga dapat memiliki nama yang sama asal parameter / tipe datanya berbeda (Method Overloading). 1:class MyClass { 2:publicvoid SomeMethod(int firstParam, double secondParam) { 3: Console.WriteLine("Parameter 1 : {0} dan parameter 2 : {1}", 4: firstParam, secondParam); 5: } 6: 7://overload method 8:publicvoid SomeMethod(int firstParam) { 9: Console.WriteLine("Parameter 1 : {0}", firstParam); 10: } 11: 12:publicvoid SomeMethod(int firstParam, string secondParam) { 13: Console.WriteLine("Parameter 1 : {0} dan parameter 2 : {1}", 14: firstParam, secondParam); 15: } 16: }



17: 18:class MethodArgumen { 19:staticvoid Main(string[] args) { 20: MyClass m1 = new MyClass(); //membuat instan object 21: m1.SomeMethod(12, 1.25); 22: m1.SomeMethod(34); 23: m1.SomeMethod(12, "Hello"); 24: } 25: } Konstruktor Konstruktor adalah method yang namanya sama dengan nama class-nya. Konstruktor digunakan untuk inisialisasi variabel ketika membuat instan class / objek baru. Sebenarnya setiap kali anda membuat instant class / objek baru maka konstruktor dijalankan. Jika anda tidak mendefinisikan konstruktor secara eksplisit maka tetap dianggap membuat konstruktor kosong. Konstruktor juga dapat di-overload (anda dapat membuat konstruktor lebih dari satu asal parameternya jumlahnya beda atau tipe datanya beda). Variabel dalam class harus diinisialisasi, nilai defaultnya adalah



1:publicclass Time { 2:// private member variables 3:int Year; 4:int Month; 5:int Date; 6:int Hour; 7:int Minute; 8:int Second; 9: 10:// constructor 11:public Time(System.DateTime dt) { 12: Year = dt.Year; 13: Month = dt.Month; 14: Date = dt.Day; 15: Hour = dt.Hour; 16: Minute = dt.Minute; 17: Second = dt.Second; 18: } 19: 20:// public methods 21:publicvoid DisplayCurrentTime() { 22: System.Console.WriteLine("{0}/{1}/{2} {3}:{4}:{5}", 23: Month, Date, Year, Hour, Minute, Second);



24: } 25: 26: } 27: 28:class LatKonstruktor { 29:publicstaticvoid Main(string[] args) { 30: DateTime currTime = DateTime.Now; 31: Time t = new Time(currTime); //memanggil constructor 32: t.DisplayCurrentTime(); 33: } 34: } Initializer Pada C# anda bisa menginisialisasi variabel dalam class secara langsung tanpa harus mengisialisasi-nya lewat konstruktor. 1:publicclass Time 2: { 3:// private member variables 4:int year; 5:int month; 6:int date; 7:int hour; 8:int minute; 9:int second = 30; //initializer 10: } “This” Keyword This keyword digunakan untuk mengakses instan class / objek itu sendiri, penggunaan keyword this diperlukan untuk membedakan pengaksesan class variabel dan method variabel yang mempunyai nama yang sama. 1:publicclass Time { 2:// private member variables, class variable 3:int year; 4:int month; 5:int date; 6:int hour; 7:int minute; 8:int second = 30; 9: 10:publicvoid SetTime(year, month, date, newHour, newMinute, newSecond) { 11:this.year = year; // penggunaan "this" dibutuhkan 12:this.month = month; // dibutuhkan 13:this.date = date; // dibutuhkan 14:this.hour = hour; // penggunaan "this" optional 15:this.minute = newMinute; // optional 16: second = newSecond; // optional 17: } 18: } Static dan Instance Member Field, property, dan method dalam suatu class bisa merupakan instance member atau static member. Instance member dibentuk ketika class tersebut dibuat instan-nya, secara default field, property, dan method yang tidak diberi keyword static merupakan instance member.



Static member tidak berhubungan dengan instan class melainkan langsung berhubungan dengan class tersebut. Dengan menggunakan keyword static anda dapat mengakses field, property, atau method pada suatu class tanpa harus membuat instan class-nya. 1:publicclass Kucing { 2:privatestaticint instances = 0; 3:public Kucing() { 4: instances++; 5: } 6:publicstaticvoid BanyakKucing() { 7: Console.WriteLine("Banyak Kucing : {0}", instances); 8: } 9: } 10: 11:class StaticMember { 12:publicstaticvoid Main(string[] args) { 13: Kucing meong1 = new Kucing(); 14: Kucing.BanyakKucing(); 15: Kucing meong2 = new Kucing(); 16: Kucing meong3 = new Kucing(); 17: Kucing.BanyakKucing(); 18: } 19: } Menggunakan Using Statement Untuk memudahkan developer C# menyediakan statement using untuk memastikan bahwa method dispose dijalankan. (kadang kita lupa untuk memanggil method dispose ini). Penggunaan using hanya bisa digunakan untuk class yang mengimplementasikan IDisposable. 1:class LatDispose { 2:publicstaticvoid Main(string[] args) { 3:using (Testing t1 = new Testing()) { 4: Console.WriteLine("Menggunakan Keyword Using.."); 5: } 6: } 7: } Passing Parameter Parameter pada C# secara default yang dikirimkan kedalam method adalah nilainya, atau “pass by value”. Jadi jika ada perubahan nilai parameter pada method tersebut tidak berpengaruh ke method. 1:publicclass Time { 2:// private member variables 3:privateint Year; 4:privateint Month; 5:privateint Date; 6:privateint Hour; 7:privateint Minute; 8:privateint Second; 9: 10:publicvoid DisplayCurrentTime() { 11: System.Console.WriteLine("{0}/{1}/{2} {3}:{4}:{5}", 12: Month, Date, Year, Hour, Minute, Second);



13: } 14: 15:publicint GetHour() { 16:return Hour; 17: } 18: 19:publicvoid GetTime(int h, int m, int s) { 20: h = Hour; 21: m = Minute; 22: s = Second; 23: } 24: 25:public Time(System.DateTime dt) { //konstruktor 26: Year = dt.Year; 27: Month = dt.Month; 28: Date = dt.Day; 29: Hour = dt.Hour; 30: Minute = dt.Minute; 31: Second = dt.Second; 32: } 33: 34:class MethodByReference { 35: 36:publicstaticvoid Main(string[] args) { 37: System.DateTime currentTime = System.DateTime.Now; 38: Time t = new Time(currentTime); 39: t.DisplayCurrentTime(); 40: 41:int theHour = 0; 42:int theMinute = 0; 43:int theSecond = 0; 44: t.GetTime(theHour, theMinute, theSecond); 45: System.Console.WriteLine("Current time: {0}:{1}:{2}", 46: theHour, theMinute, theSecond); 47: } 48: } 49: } Jika ingin mengirimkan parameter referenced / „pass by reference‟ anda dapat menambahkan keyword ref sebelum tipe data pada method parameternya. 1://tambahkan keyword ref pada parameter 2:publicvoid GetTime(refint h,refint m,refint s) { 3: h = Hour; 4: m = Minute; 5: s = Second; 6: } 7: 8://pada method main tambahkan ref pada method pemanggil 9:int theHour = 0; 10:int theMinute = 0; 11:int theSecond = 0;



12: t.GetTime(ref theHour, ref theMinute, ref theSecond); 13: System.Console.WriteLine("Current time: {0}:{1}:{2}", 14: theHour, theMinute, theSecond); Overloading Konstruktor & Method Pada C# anda dapat mendeklarasikan method atau konstruktor dengan nama yang sama pada sebuah class, tetapi parameter method tersebut harus berbeda bisa jumlah atau tipe datanya. Pada contoh dibawah ini akan ditunjukan bagaimana cara menggunakan overloading konstruktor 1:publicclass Time 2: { 3:// private member variables 4:privateint Year; 5:privateint Month; 6:privateint Date; 7:privateint Hour; 8:privateint Minute; 9:privateint Second; 10: 11:// public accessor methods 12:publicvoid DisplayCurrentTime() 13: { 14: System.Console.WriteLine("{0}/{1}/{2} {3}:{4}:{5}", 15: Month, Date, Year, Hour, Minute, Second); 16: } 17:// constructors 18:public Time(System.DateTime dt) 19: { 20: Year = dt.Year; 21: Month = dt.Month; 22: Date = dt.Day; 23: Hour = dt.Hour; 24: Minute = dt.Minute; 25: Second = dt.Second; 26: } 27:public Time(string strTime) // overloading konstruktor 28: { 29: Console.WriteLine(strTime); 30: } 31: 32:public Time(int Year, int Month, int Date, 33:int Hour, int Minute, int Second) // overloading konstruktor 34: { 35:this.Year = Year; 36:this.Month = Month; 37:this.Date = Date; 38:this.Hour = Hour; 39:this.Minute = Minute; 40:this.Second = Second; 41: } 42: }



43: 44:class Tester 45: { 46:publicvoid Run() 47: { 48: System.DateTime currentTime = System.DateTime.Now; 49: Time time1 = new Time(currentTime); 50: time1.DisplayCurrentTime(); 51: Time time2 = new Time(2000, 11, 18, 11, 03, 30); 52: time2.DisplayCurrentTime(); 53: } 54: 55:staticvoid Main() 56: { 57: Tester t = new Tester(); 58: t.Run(); 59: } 60: } Selain konstruktor overloading juga bisa diterapkan pada method dalam suatu class yang sama, contoh penulisannya: 1:void MyMethod(int p1); 2:void MyMethod(int p1, int p2); // beda banyak parameter 3:void MyMethod(int p1, string s1); // beda tipe data Enkapsulasi data dengan Property Enkapsulasi / penyembunyian informasi adalah konsep yang selama ini sering anda dengar. Pada OOP informasi dibungkus dalam sebuah Class sehingga orang yang menggunakan class tersebut tidak perlu tahu detail-nya, hanya cukup mengetahui method dan property apa saja yang ada dalam class tersebut beserta kegunaannya. Pada pemrograman berorientasi objek variabel dalam class biasanya diberi access modifier private, ini berarti hanya method dalam class tersebut yang dapat mengakses variabelnya. Jika anda membuat variable tersebut public maka user yang menggunakan class tersebut bisa memasukan nilai yang tidak kita inginkan, maka anda harus mendeklarasikan variable tersebut secara private agar pada saat setMethod() anda dapat menambahkan validasi inputan dari user.Anda bisa membuat public method set dan get untuk memberi dan mengambil nilai variabel tersebut, misal: 1:// private member variables 2:privateint Year; 3: 4:publicint getYear() //get method 5: { 6:returnthis.Year; 7: } 8: 9:publicvoid setYear(int Year) //set method 10: { 11:this.Year = Year; 12: } Selain menggunakan cara tersebut diatas pada C# disediakan object property untuk memberi nilai dan mengambil nilai dari private variabel dalam suatu class. Penggunaan object property



lebih memudahkan anda dalam penulisan kode dibandingkan harus membuat dua method set dan get untuk mengakses satu variabel private. Contoh penggunaan property dapat dilihat pada contoh kode dibawah ini. 1:class Mahasiswa { 2:privatestring nim; 3:privatestring nama; 4: 5:publicstring Nim { 6: get { 7:return nim; 8: } 9: set { 10:this.nim = value; 11: } 12: } 13: 14:publicstring Nama { 15: get { 16:return nama; 17: } 18: set { 19:this.nama = value; 20: } 21: } 22: 23:publicstring DisplayInfo() { 24:return Nim + " " + Nama; 25: } 26: } 27: 28:class ClassProperty { 29:publicstaticvoid Main(string[] args) { 30: Mahasiswa mhs1 = new Mahasiswa(); 31: mhs1.Nim = "22002321"; 32: mhs1.Nama = "Erick"; 33: Console.WriteLine(mhs1.DisplayInfo()); 34: } 35: } Inheritance Pada C# hubungan spesialisasi diimplementasikan menggunakan prinsip inheritance. Penulisan inheritance di C# sebagai berikut public class ListBox : Window Kode diatas berarti class ListBox adalah turunan dari class Window Penggunaan inheritance dapat dilihat pada program dibawah ini 1:publicclass Window { 2://variabel dideklarasikan private sehingga tidak bisa diakses oleh kelas 3://turunannya 4:privateint top; 5:privateint left; 6:



7://objek konstruktor 8:public Window(int top, int left) { 9:this.top = top; 10:this.left = left; 11: } 12: 13:publicvoid DrawWindow() { 14: Console.WriteLine("Draw window pada ({0},{1})", 15: top, left); 16: } 17: } 18: 19:publicclass ListBox : Window { 20://member variable baru pada class anak 21:privatestring listBoxContent; 22:public ListBox(int top, int left, string contents):base(top,left) { 23:this.listBoxContent = contents; 24: } 25: 26://versi baru karena override dari base classnya 27:publicnewvoid DrawWindow() { 28:base.DrawWindow(); 29: Console.WriteLine("Menuliskan string pada listbox: {0}", 30: listBoxContent); 31: } 32: } 33: 34:class LatInheritance { 35:publicstaticvoid Main(string[] args) { 36: Window objWindow = new Window(10, 15); 37: objWindow.DrawWindow(); 38: 39: ListBox objList = new ListBox(15, 20, "Hello ListBox"); 40: objList.DrawWindow(); 41: } 42: } Abstract Class Abstract method tidak mempunyai implementation, abstract method hanya semacam kontrak yang harus dipenuhi. Semua class yang diturunkan dari class yang mempunyai abstract method harus mengimplementasikan method tersebut. Class yang didefinisikan sebagai abstract class tidak dapat dibuat instan class / objek, class yang didefinisikan abstract hanya dapat digunakan dengan cara diturunkan. 1:publicabstractclass Control { 2:privateint top; 3:privateint left; 4: 5:protectedint Top { 6: get { returnthis.top;} 7: set { this.top = value;} 8: }



9:protectedint Left { 10: get {returnthis.left;} 11: set {this.left = value;} 12: } 13:public Control(int top, int left) { 14: Top = top; 15: Left = left; 16: } 17://abstract method harus diimplementasikan 18:publicabstractvoid DrawWindow(); 19: } 20: 21:publicclass ListBox : Control { 22:privatestring listBoxContent; 23:public ListBox(int top, int left, string contents) 24: : base(top, left) { 25:this.listBoxContent = contents; 26: } 27: 28:publicoverridevoid DrawWindow() { 29: Console.WriteLine("Position :({0},{1})", Top, Left); 30: Console.WriteLine("Menuliskan string pada listbox: {0}", 31: listBoxContent); 32: } 33: 34: } 35: 36:publicclass Button : Control { 37:public Button(int top, int left) : base(top, left) { } 38:publicoverridevoid DrawWindow() { 39: Console.WriteLine("Menggambar button pada ({0},{1})", Top, Left); 40: } 41: } 42:class LatAbstract { 43:staticvoid Main(string[] args) { 44: Control[] winArray = new Control[3]; 45: winArray[0] = new ListBox(5, 10, "Pada ListBox"); 46: winArray[1] = new Button(5, 6); 47:for (int i = 0; i < 2; i++) { 48: winArray.DrawWindow(); 49: } 50: } 51: } Tapi untuk kasus diatas abstract masih mempunyai keterbatasan, jika anda ingin membuat class DropDownList yang hendak diturunkan dari class ListBox, maka anda tidak dapat memaksakan method DrawWindow() harus ada di class tersebut. Object Root dari semua class Semua class dari semua type diturunkan dari satu class untama yaitu class object. Meskipun tidak dituliskan secara eksplisit namun pada dasarnya semua class diturunkan dari class object.



Beberapa method yang ada pada class object adalah: Equals(), GetHashCode(), GetType(), ToString(), Finalize(), MemberwiseClone(), ReferenceEquals(). Method dari class yang ada diatas dapat dioverride oleh semua class karena pada dasarnya semua class diturunkan dari class object. 1:publicclass Cat { 2:privateint weight; 3:public Cat(int weight) { 4:this.weight = weight; 5: } 6: 7:publicoverridestring ToString() { 8:return weight.ToString(); 9: } 10: } 11:class LatObject { 12:staticvoid Main(string[] args) { 13: Cat catty = new Cat(60); 14: Console.WriteLine("Berat si catty : " + catty); 15: } 16: }



Sumber : http://mugi.or.id/blogs/erick/archive/2009/03/21/oop-dengan-c-bagian-1.aspx http://rosyid-cyberadiation.blogspot.com/2013/03/object-oriented-programming-using-c-oops.html http://pemrograman-lanjutan.blogspot.com/2012/09/object-oriented-programming-using-c_27.html



OPERASI FILE Menulis dan membaca (Read and Write) file di C# (C Sharp) Hampir semua bahasa pemrograman menyediakan function untuk melakukan proses bacaatau tulis pada suatu file, mirip seperti java C# pun juga menggunakan stream untuk melakukan proses read dan write. Berikut ini adalah source code utama untuk melakukan proses write ke file using (StreamWriter tulis = new StreamWriter(@"C:\bobot1.txt", false)) Untuk mengimplementasikan source code diatas ke dalam sebauh project, siapkan terlebih dahulu project kosong, klik file new project pada IDE visual studio 2010 setelah itu akan muncul sebuah kotak dialog project name, masukan nama project. langkah 1 : tambahkan beberapa toolbox yang diguanakan seperti text, label dan button. Atur dan tata sedemikian rupa sehingga tampilannya seperti pada gambar dibawah ini



Gambar 1. Preview desain aplikasi langkah 2 : tambahkan library agar C# dapat melakukan operasi input dan output. pada header program tambahakan library seperti berikut ini using System.IO; langlah 3 : Double klik pada button satu (button yang berlabelkan save) untuk membangkitkan event single klik pada button tambahakan source code berikut ini pada event singel klik pada button1 try { using (StreamWriter tulis = new StreamWriter(@"C:\fileku.txt", false)) { tulis.Write(textBox1.Text); } } catch (Exception error) { MessageBox.Show("Terjadi kesalahan\n" + error.ToString()); }



langkah 4 : lakukan hal yang sama untuk button2 (button yang berlabelkan READ) masukan source code berikut ini using (StreamReader sr = new StreamReader(@"C:\fileku.txt")) { String line; while ((line = sr.ReadLine()) != null) { textBox2.Text = line; } } langkah 5 : done, program selesai dibuat. Jika langkah langkah diatas dilakukan dengan benar, maka saat program dijalankan program akan tampil seperti pada gambar diatas, setalah user memasukan text string di textBox1 dan menekan tombol save, file text akan disimpan



oleh program berupa file.text di directory C:\fileku.txt. Berikut ini hasil preview program yang telah dirunning



Gambar 2. Preview hasil running program dan setelah itu bisa dilihat di directory C:\fileku.txt. disitu terlihat terdapat file yang dibuat oleh program untuk menyimpan string yang diinputkan oleh user



Gambar 3. File text di directory C Jika button read pada program diklik maka semua string yang ada di file fileku.text dibaca semuanya, berikut ini adalah preview hasil program



Gambar 4. Preview hasil running program







MenghapusFile Jika Anda memilikifile yang adaAnda tidak perlulagi, Anda dapat menghapusnya. Operasi inidapat dilakukandengan Delete() metode. Sintaks-nya adalah: public override void Delete(); Contoh : using System; using System.IO; public class Program { static int Main(string[] args) { var fleMembers = new FileInfo("First.txt"); if (fleMembers.Exists == true) fleMembers.Delete(); return 0; } }







Menyalin File Anda dapat membuat salinan file dari satu direktori ke yang lain. Untuk melakukan ini, Anda dapat menggunakan dua versi. Versi pertama memiliki sintaks berikut public FileInfo CopyTo(string destFileName); Sebelumnya kita harus menentukan pathatau direktoriyangakan menjadi tujuandari filedisalin. Contoh using System; using System.IO; public class Program { static int Main(string[] args) { var fleMembers = new FileInfo("Reality.txt"); var strMyDocuments = Environment.GetFolderPath(Environment.SpecialFolder.Personal); if (fleMembers.Exists == true) fleMembers.CopyTo(string.Concat(strMyDocuments, "\\Federal.txt")); return 0; } }



Versi kedua menggunakan sintaks-nya adalah public FileInfo CopyTo(string destFileName, bool overwrite); 



Memindahkan File Sintaks-nya adalah: public void MoveTo(string destFileName) Contoh : using System; using System.IO; public class Program { static int Main(string[] args) { var fleMembers = new FileInfo("pop.txt"); var strMyDocuments = Environment.GetFolderPath(Environment.SpecialFolder.Personal); if (fleMembers.Exists == true) fleMembers.MoveTo(string.Concat(strMyDocuments, "\\Federal.txt")); return 0; } }



Sumber : http://www.functionx.com/csharp/Lesson34.htm http://www.csharp-indonesia.com/2011/06/menulis-dan-membaca-read-and-write-file.html



Generate Random Number Anda dapat menggunakan Math.random () untuk mendapatkan nilai double acak antara 0,0 dan 1,0, termasuk 1.0. Misalkan Anda ingin mengembangkan program untuk siswa kelas dasar untuk berlatih pengurangan. Program acak menghasilkan dua bilangan bulat satu digit, number1 dan number2, dengan number1 > = number2, dan menampilkan kepada siswa pertanyaan seperti "Bearapakah hasil dari 9 – 2? " Setelah siswa memasukkan jawabannya, program akan menampilkan pesan yang menunjukkan apakah jawaban sudah benar. Dari metode ini, mengembalikan dua kali pengacakan nilai d dimana 0.0