Keluaran



TUGAS BAHASA PEMROGRAMANKelompok III :Monalica Erica W.(123214003)Dinni Rahma Oktaviani (123214004)Darul Yuliana(123214015)Alfiyatuz Zahra (123214204)Febby Sintanova(123214212)Aisyah N.A(123214217)Erva Ani Dwi K. (123214221) Amalia Sri Wulandari(123214222)Masfukhatul Wakhidah(123214224)KELAS 2012 BMATEMATIKAJURUSAN MATEMATIKAFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAMUNIVERSITAS NEGERI SURABAYAFungsi StringDi C#, ada banyak fungsi manipulasi yang bisa digunakan tapi yang benar-benar punya manfaat, menurut saya dan didukung oleh artikel yang saya baca ada 6 fungsi yaitu concat(gabung), insert(memasukkan), remove(menghapus), extract(mengambil), replace(mengganti), dan copy(menyalin).1. Concat StringMetode ini digunakan untuk mengkombinasi atau menggabungkan sebuah string untuk ditambahkan pada akhir string lainnya. Parameter yang digunakan yaitu string.Concat (string1, string2), contoh:string awal = "ini adalah ";string akhir = "string digabung!";string concat = string.Concat(awal, akhir); //hasil: concat="ini adalah string digabung!"2. Insert StringJikalau metode concat string digunakan untuk menggabungkan string hanya di posisi awal atau di akhir saja, maka metode insert string digunakan untuk menggabungkan kata di posisi manapun. Metode ini membutuhkan 2 parameter, parameter pertama adalah sebagai indikasi posisi dimana string dimasukkan dan parameter kedua adalah sebagai parameter string apakah yang dimasukkan. Contoh:string template = "Tolong Nama Dimasukkan";string tutor = "Lisa";Console.WriteLine(template.Insert(12, tutor));// Outputs: "Tolong Nama Lisa Dimasukkan"3. Remove StringMetode insert memiliki metode yang berkebalikan yaitu metode remove. Dengan melakukan akses terhadap metode ini, maka dengan mudah karakter yang diminta akan dihapus. Metode ini memiliki parameter overload(mempunyai 2 / lebih metode yang sama dengan parameter yang berbeda). Secara umum saya lebih banyak menggunakan metode yang memiliki 2 parameter yaitu parameter untuk menentukan posisi awal dari parameter yang dihapus, dan parameter yang digunakan untuk menentukan jumlah karakter yang akan dihapus. Daripada bingung langsung saja saya beri contoh:string contoh = "seorang anak melempar bola pada temannya";string hasil = contoh.Remove(21); // contoh = "seorang anak melempar "hasil = contoh.Remove(21, 11); // contoh = "seorang anak melempar temannya"4. Extract StringBagian ini adalah metode favorit saya, karena saya tidak perlu menghapus atau memotong beberapa character untuk mengambil sebuah string dari sebuah kalimat. Metode yang digunakan memiliki parameter yang mirip dengan metode remove. Langsung saja ke contoh:string contoh = "seorang anak melempar bola pada temannya";string hasil = contoh.Substring(21); // contoh = "bola pada temannya"hasil = contoh.Substring(0, 12); // contoh = "seorang anak"5. Replace StringUntuk metode ini, paling banyak digunakan waktu kita malas untuk mengganti tiap string secara manual. Metode ini memiliki dua parameter, pertama adalah untuk teks yang akan diganti dan parameter kedua adalah teks pengganti. Contoh yang saya lampirkan:string contoh = "Warna sapi itu putih dan abu-abu";string hasil = contoh.Replace("putih", "kuning"); // hasil = "Warna sapi itu kuning dan abu-abu"6. Copy StringIni merupakan metode terakhir yang menurut saya bermanfaat dalam melakukan penipuan terhadap(baca:manipulasi) string. Hasil keluaran dari metode ini berupa copy dari string yang ada. Contohnya:string contoh = "Warna sapi itu putih dan abu-abu";string hasil = string.Copy(contoh); // hasil = "Warna sapi itu putih dan abu-abu”;Fungsi Matematika 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, gambar disamping ini adalah salah satu contoh hasil operasi operasi yang ada di?class math.Untuk membuat projectnya silahkan ikuti instruksi instruksi dibawah iniBuat project baru pada IDE visual studio 2010, untuk nama project silahkan sesuaikan.Tambahkan dua componen button, empat komponen textbox dan empat komponen label. atur dan tata sedemikian rupa.Double klik pada button satu untuk membangkitkan event klik pada button satu. tambahkan code berikut inidouble bilangan=0;double hasil=0;bilangan= Convert.ToDouble(textBox1.Text);hasil=Math.Pow(bilangan,2);textBox2.Text=hasil.ToString();Double klik pada button dua untuk membangkitkan event klik pada button tersebut, tambahkan code berikut? inidouble bilangan=0;double hasil=0;bilangan= Convert.ToDouble(textBox3.Text);hasil= Math.Pow(bilangan, 0.5);textBox4.Text= hasil.ToString();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 diatas.Fungsi Date/Time dalam Bahasa Pemrograman Tutorial ini adalah operasi penjumlahan dan operasi pengurangan(Operasi aritmatika) pada?type data tanggal?(date). Sekilas memang tampak sederhana, akan tetapi operasi aritmatika pada type data tanggal (date)?disuatu bahasa?pemrograman?sangat penting. terutama jika aplikasi yang dibangun melibatkan data-data?type tanggal seperti aplikasi rental buku, aplikasi persewaan dan lain-lainSebagai contoh akan dilakukan operasi-operasi yang sederhana, agar mudah dimengerti. Seperti biasa langkah pertama adalah menyiapkan form aplikasi. File->new project, masukan nama project, klik OKSetelah form terbentuk tambahkan 4 label, 2 textbox,1?datetimerpicker, dan 1 button. atur dan tata komponen-komponen.Setelah itu tambahkan kode berikut ini pada button prosesDateTime?sekarang;DateTime?akhir;sekarang=dateTimePicker1.Value; akhir=sekarang.addDays(convert.toInt16(textbox1.text)); textBox2.Text=akhir.ToString();Setelah selesai lakukan runing pada program, lihat hasilnya.Memang operasi ini sangat sederhana, akan tetapi jika suatu aplikasi yang besar yang mengincludekan operasi-operasi?type data tanggal?programer akan dipusingkan dengan operasi tersebut, sehingga dengan operasi-operasi?aritmatika type data tanggal (date)?diharapkan programer fokus akan algoritma mereka, tidak disibukan lagi dengan operasi-operasi penjumlahan maupun penguranganjam,hari,tanggal,tahun dan sebagainya.User Defined FunctionUser define function adalah fungsi yang dibuat sendiri oleh pengguna dikarenakan fungsi yang disediakan program (fungsi built-in) kurang sesuai dengan yang dibutuhkan pengguna sehingga harus menggabungkan beberapa fungsi bult-in untuk membuat fungsi yang sesuai dengan pengguna.Contoh user-defined function:Procedure: @class program{public static void MenuPilihan (){Console.WriteLine(“MENU PROGRAM”);Console.WriteLine(“1. Hitung luas segitiga”);Console.WriteLine(“2. Hitung luas lingkaran”);Console.WriteLine(“3. Hitung luas persegi panjang”);Console.WriteLine(“Exit”);Console.WriteLine();Console.Write(“Pilihan Anda=”);}public static double lSegitiga(double a, double t){return 0.5*a*t;}public static double lLingkaran (double r){return Math.Pi*r*r;}public static double lPersegiPanjang(double p, double l){return p*l}static void Main(string[] args){int pilih;int alas, tinggi, panjang, lebar, jari;MenuPilihan();pilih=int.Parse(Console.ReadLine());switch (pilih){case 1:Console.Write(“Alas=”);alas=int.Parse(Console.ReadLine());Console.Write(“Tinggi=”);tinggi=int.Parse(Console.ReadLine());Console.Write(“Luas segitiga=”+lSegitiga(alas,tinggi));break;case 2:Console.Write(“Jari-jari=”);jari=int.Parse(Console.ReadLine());Console.Write(“Luas segitiga=”+lLingkaran(jari));break;case 3:Console.Write(“Panjang=”);panjang=int.Parse(Console.ReadLine());Console.Write(“Lebar=”);lebar=int.Parse(Console.ReadLine());Console.Write(“Luas segitiga=”+lPersegiPanjang(panjang,lebar));break;case 4:break;}Console.Readkey();}Pengertian OOPPemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.Perbedaan Class dan object dapat dianalogikan 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.C# memiliki beberapa modifier class yaitu:Access Modifiers digunakan untuk menentukan hak akses dari class dan method, adapun access modifier yang ada pada C# sebagai berikut:Class pada C# terdiri dari :Instance Variable / FieldMethodMethodMethod pada C# dapat memiliki banyak argumen dengan tipe data yang berbeda. Instance MemberField, 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.45720071437500Konstruktor adalah method yang namanya sama dengan nama class-nya. Konstruktor digunakan untuk inisialisasi variabel ketika membuat instan class / objek baru. 46101020256500Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,Para 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.Konsep Object Oriented ProgramingEmpat konsep yang harus dapat dimiliki oleh suatu bentuk pemrograman yang berorientasi object adalah:EnkapsulasiAbstrasiInheritancePolymorphismEnkapsulasiEnkapsulasi adalah penyatuan antara proses-proses yang terjadi dan sejumlah data yang dikelolah kedalam suatu bentuk kelompok tertentu. 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.Anda bisa membuat public method set dan get untuk memberi dan mengambil nilai variabel , 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: }u 35: }AbstractionAbstraction memiliki pengertian bahwa dalam mengembangkan perangkat lunak seorang programer akan menggunakan atau menciptakan sejumlah obyek dimana obyek tersebut akan ada dan berprilaku pada sistem.Setiap tipe Window pasti mempunyai bentuk tampilan yang berbeda misal combobox, listbox, button, dll. Berarti setiap class turunan dari Window harus mempunyai method DrawWindow() nya sendiri yang berbeda satu sama lain. Untuk memastikan bahwa setiap class turunan Control harus mempunyai method DrawWindow() maka anda harus mendefinisikan class tersebut sebagai?abstract?class dan memiliki method?abstract?yang belum diimplementasikan.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 { ;} 7: set { = 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.InheritanceInheritance atau pewarisan adalah merupakan konsep dimana suatu obyek memiliki sejumlah perilaku yang dimiliki oleh obyek lain dalam suatu hirarki tertentu.Pada C# hubungan spesialisasi diimplementasikan menggunakan prinsip inheritance. Penulisan inheritance di C# sebagai berikutpublic class ListBox : WindowKode diatas berarti class ListBox adalah turunan dari class WindowPenggunaan 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: = 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: }Ada dua aspek yang paling penting pada inheritance yang pertama adalah code reuse, sebagai contoh ketika anda membuat class ListBox maka anda dapat menggunakan logic yang sudah dibuat pada class Window.Aspek kedua yang tidak kalah penting dari inheritance adalah polymorhism, poly berarti banyak dan morph berarti bentuk, jadi polymorphism dapat berarti dapat menggunakan banyak bentuk tanpa harus mengacu details yang sama.PolymorphismPolymorphism adalah konsep dimana beberapa obyek memiliki metode yang sama dengan aksi yang berbeda.Dari istilahnya Polymorphism kesannya sulit dan kompleks, tetapi sebenarnya simple, ilustrasinya begini ketika sebuah perusahaan telpon / provide telpon mengirimkan signal ke anda (dering telpon), mereka tidak tahu telpon apa yang anda gunakan, bisa model lama dengan dering kuno, bisa HP dengan dering music mp3, TV Phone, PDA Phone dll. yang provider tahu bahwa masing-masing telepon mempunyai ‘base type’ telepon dan mempunyai method untuk berdering. Ketika provider mengirimkan signal mereka hanya berharap bahwa telepon akan berdering tidak peduli jenis telponnya, nah provider telepon memperlakukan telepon anda secara polymorphism.Dari gambar diatas dapat anda lihat, ListBox is-a Control (karena ListBox turunan dari Control), Button is-a Control, kita berharap bahwa dapat memperlakukan keduanya sebagai Control. Misal anda mempunyai banyak control di collection untuk digambar ke windows, dan mengharapkan ketika memanggil method draw() pada control maka control2 tersebut akan tergambar sesuai dengan tipe objectnya (mis: ListBox, RadioButton, Command, dll).Anda dapat mengimplementasikan polymorphism dengan dua cara yaitu:Membuat?virtual?method pada base class (class induk)Membuat class turunan yang mempunyai method dengan keyword?override?yang mengganti isi dari method dengan keyword?virtual?yang ada pada base class-nya.Penggunaan prinsip polymorphism dapat dilihat pada contoh program dibawah ini 1:publicclass Control { 2://variabel dideklarasikan private sehingga tidak bisa diakses oleh kelas 3://turunannya 4:privateint top; 5:privateint left; 6:? 7:protectedint Top { 8: get { 9:; 10: } 11: set { 12: = value; 13: } 14: } 15:? 16:protectedint Left { 17: get { 18:returnthis.left; 19: } 20: set { 21:this.left = value; 22: } 23: } 24:? 25://objek konstruktor 26:public Control(int top, int left) { 27: Top = top; 28: Left = left; 29: } 30:? 31:publicvirtualvoid DrawWindow() { 32: Console.WriteLine("Draw window pada ({0},{1})", 33: top, left); 34: } 35:? 36: } 37:? 38:publicclass ListBox : Control { 39://member variable baru pada class anak 40:privatestring listBoxContent; 41:public ListBox(int top, int left, string contents) 42: : base(top, left) { 43:this.listBoxContent = contents; 44: } 45:? 46://versi baru karena oSverride dari base classnya 47:publicoverridevoid DrawWindow() { 48:base.DrawWindow(); 49: Console.WriteLine("Menuliskan string pada listbox: {0}", 50: listBoxContent); 51: } 52:? 53: } 54:? 55:publicclass Button : Control { 56:public Button(int top, int left) : base(top, left) {} 57:? 58:publicoverridevoid DrawWindow() { 59://base.DrawWindow(); 60: Console.WriteLine("Menggambar button pada ({0},{1})", Top, Left); 61: } 62: } 63:class LatPolymophism { 64:staticvoid Main(string[] args) { 65: Control win = new Control(10, 15); 66: ListBox lstBox = new ListBox(5, 10, "Text pada ListBox"); 67: Button b = new Button(5, 6); 68: win.DrawWindow(); 69: lstBox.DrawWindow(); 70: b.DrawWindow(); 71:? 72: Control[] winArray = new Control[3]; 73: winArray[0] = new Control(10, 15); 74: winArray[1] = new ListBox(5, 10, "Pada ListBox"); 75: winArray[2] = new Button(5, 6); 76:? 77:for (int i = 0; i < 3; i++) { 78: winArray.DrawWindow(); 79: } 80: } 81: }Dapat dilihat dari contoh diatas bahwa base class yaitu Window mempunyai method yang bernama DrawWindow() yang mempunyai keyword virtual, ini berarti method tersebut dapat di override atau diganti implementasinya dengan method yang nama dan parameternya sama persis di kelas turunannya yaitu class ListBox.Secara singkat OOP adalah pemrograman yang berorientasi obyek yang dibahas di struktur data algoritma, pembahasannya mengenai array (data dengan indeks dimulai dari 0), arraylist (data yang diurutkan dalam indeks), queue (antrian data maksudnya adalah data yang masuk duluan itulah data yang akan diproses duluan), stack (data yang masuk terakhir itu yang diproses duluan), list (data string) , dan dictionary(data string yang diurutkan abjadnya).J. Operasi FileOperasi file adalah bagian dari suatu program untuk menjalankan atau menghentikan proses kerja suatu program yang dijalankannya. Dalam hal ini hal yang mengenai operasi file tersebut adalah sebagai berikut:Deleting a FileJika Anda memiliki File yang tidak dibutuhkan lagi, dalam program c# dapat dilakukan penghapusan file dengan menggunakan metode FileInfo.Delete(). Sintaks-nya adalah public override void Delete();Berikut salah satu contohnya: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; }}Copying a FileAnda dapat membuat salinan file dari satu di rektori ke yang lain. Untuk melakukan ini, Anda dapat menggunakan metode FileInfo.CopyTo() yang kelebihan beban dengan dua versi. Versi pertama memiliki sintaks berikut:public FileInfo CopyTo(string destFileName);Ketika menggunakan metode ini, menentukan path atau direktori yang akan menjadi tujuan dari file disalin. Berikut adalah 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; }}Dalam contoh ini, sebuah file bernama Reality.txt di direktori proyek akan diambil dan isinya akan diterapkan ke file baru bernama Federal.txt dibuat dalam folder My Documents dari pengguna saat ini. Saat menggunakan versi pertama dari metodeFileInfo.CopyTo () metode, jika file sudah ada, operasi tidak akan berlanjut dan Anda hanya akan menerima kotak pesan. Jika Anda bersikeras, Anda dapat menimpa file target. Untuk melakukan ini, Anda dapat menggunakan versi kedua metode ini. Sintaks-nya adalah:public FileInfo CopyTo(string destFileName, bool overwrite);Argumen pertama adalah sama dengan versi pertama dari metode ini. Argumen kedua menentukan tindakan apa yang harus diambil jika file sudah ada dalam direktori target. Jika Anda ingin menimpanya, melewati argumen sebagai benar, jika tidak, lulus sebagai palsu.Moving a FileJika Anda menyalin file dari satu direktori ke yang lain, Anda akan memiliki dua salinan dari file yang sama atau isi yang sama dalam dua file. Jika Anda ingin menyalin, Anda hanya dapat memindahkan file dari satu direktori ke yang lainnya. Operasi ini dapat dilakukan dengan menggunakan metode FileInfo.MoveTo(). Sintaks-nya adalah:public void MoveTo(string destFileName);Argumen ke metode ini adalah sama dengan metode CopyTo(). Setelah menjalankan metode ini, obyek File info akan dipindahkan ke jalur Destfilename.Berikut contohnya: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; }}K. Random NumberRandom Number adalah salah satu fungsi untuk memunculkan nilai acak saat program dijalankan dalam bahasa pemrograman.Fungsi ini nantinya dipergunakan untuk memaksimalkan tampilan games dan media pembelajaran matematika.Fungsi random bilangan dalam c# yang kita akan pelajari ada dua:Fungsi random bilangan bulat yang merandom bilangan dari batas atas yang kita tentukan.Kode berikut akan menghasilkan bilangan random kurang dari 100:{ Random random = new Random();Int num = random.Next(100);Console.WriteLine(num);Console.ReadKey(); }Fungsi random bilangan bulat yang merandom bilangan dari batas bawah dan batas atas yang kita tentukan. Kode untuk menghasilkan bilangan random antara bilangan minimum dan maksimum yang kita tentukan adalah sebagai berikut:{ Random random = new Random(); int num = random.Next(min, max); Console.WriteLine(num); Console.ReadKey(); }L. Fungsi Rekursif dalam Bahasa C#Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Pada beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi. Namun demikian, fungsi rekursif juga memiliki kelemahan, yakni memungkinkan terjadinya overflow pada stack, yang berarti stack tidak lagi mampu menangani permintaan pemanggilan fungsi karena kehabisan memori( stack adalah area memori yang dipakai untuk variable lokal untuk mengalokasikan memori ketika suatu fungsi dipanggil. Oleh karena itu, jika bisa diselesaikan dengan metode iteratif.Secara singkat fungsi rekursif ada hubungannya dengan matematika diskrit seperti permutes/kombinasi, rekursif bisa diartikan nilai baru didapat dari nilai sebelumnya seperti baris fibanacci, factorial.Bentuk umum fungsi rekursif. return_data_type function_name(parameter_list) { ... function_name(...); ... }Contoh Algoritma program rekursif : FaktorialFungsi rekursif dapat digunakan untuk menghitung faktorial. Berikut penjelasan beserta dengan contoh listing programnya.Fungsi faktorial dapat dinyatakan dalam bentuk rekursif seperti berikut:fak(n) = 1, untuk n = 0 atau n = 1fak(n) = n x (n-1)!, untuk n > 0 faktorial(4)2 * faktorial(1)3 * faktorial(2)faktorial(1)4 * faktorial(3)Berikut contoh proses untuk perolehan hasil 4!.Hasil akhir: 24Misalkan kita membuat project baru, klik file new project, pada kotak project name silahkan isi nama project sesuai dengan keinginan, tidak ada aturan khusus dalam penamaan project. untuk langkah-langkah selanjutnya silahkan ikuti intruksi dibawah ini.Langkah 1 : Tambahkan satu button dan satu datagridview padam form1. atur dan tata sedemikian rupa sehingga tampilannya seperti pada gambar dibawah ini khusus untuk datagridView tambahkan 2 kolom dengan cara klik kana pada datagridview dan klik add colomnGambar 1. Preview desain aplikasiLangkah 2: Pada button satu tambahkan source code berikut ini????? dataGridView1.Rows.Add(1000); ??????????? for (int i = 0; i < 1000; i++)??????????? {??????????????? Thread.Sleep(3);??????????????? dataGridView1.Rows[i].Cells[0].Value =????????????????????? acak(10).ToString();???????? ??????????? }??????????? for (int i = 0; i < 1000; i++)??????????? {??????????????? Thread.Sleep(2);???????????????? ??????????????? dataGridView1.Rows[i].Cells[1].Value =???????????????? acak(10).ToString();???????????????? ??????????? }??????????? for (int i = 0; i < 1000; i++)??????????? {??????????????? Thread.Sleep(1);??????????????? dataGridView1.Rows[i].Cells[2].Value =???????????????? acak(10).ToString();??????????? }jangan lupa tambahkan library thread pada header program dengan using system.thread?Langkah 3: Kita tambahkan fungsi rekursif, fungsi rekursif telah disiapkan, tinggal copy paste ke form. berikut ini fungsi rekursif tersebut. fungsi rekursif tersebut bernama acak.private int acak(int data)??????? {??????????? int temp = 0;??????????? Random acakku = new Random();???????????? ??????????? temp=acakku.Next(0, data);??????????? if (temp == 8)??????????? {??????????????? temp = acakku.Next(0, data);??????????????? return acak(6);???????????????? ??????????? }??????????? return temp;??????????? ??????? }Pada source function diatas, sebenarnya mirip dengan fungsi biasa seperti dengan fungsi lain yang dibuat dengan C#, akan tetapi jika dilihat lebih cermat akan ada sedikit perbedaan, pada fungsi diatas fungsi acak melakukan pemanggilan terhadap dirinya sendiri, padahal pemanggilan itu terjadi di block statement fungsi acak. inilah yang dimaksud dengan rekursif fungsi, yaitu fungsi yang mengizinkan dirinya memanggil dirinya sendiri.?Langkah 4: Done, jalankan program.?Jika langkah-langkah diatas dilakukan dengang benar, sewaktu program dijalankan program akan menampilkan bilangan random pada datagrid. perhatikan seksama pada dataGridview1. tampilannya mungkin seperti pada gambar dibawah ini.Gambar 2. Preview hasil running programTapi setiap kali running hasilnya akan berbeda, tidak harus sama seperti pada gambar diatas, karena kita menggunakan konsep random. pada datagridView1 perhatikan dengan seksama, pada dataGridView1 angka-angka yang dihasilkan adalah angka antara 0 sampai 9, dan pada datagridVew1 tidak pernah ada nilai 8. ini dikarenakan pada fungsi acak setiap kali function tersebut menghasilkan nilai 8 fungsi tersebut memanggil ulang dirinya sebelum sempat me return nilainya ke fungsi. sehingga angka 8 tidak pernah di return kan ke fungsi. inilah yang dinamakan dengan fungsi rekursif.Contoh fungsi rekursif tidak pada windows form application:factorial.@class program.{Static int factorial (int n){int temp=1,fak;for (int i=1;i<=n;i++){fak=i*temp;temp=fak;}return temp;}Static int rekfaktorial (int n){if(n==0) {return 1;}else{return n*refaktorial(n-1);}Static void Main (string[] args){ int n;Console.Write(“Jumlah n factorial=”);n=int.Parse(Console.ReadLine());Console.Write(n+”Faktorial=”+factorial(n).Tostring());Console.Readkey();}M.Cara: Pencarian String Menggunakan Regular Expressions The?System.Text.RegularExpressions.Regex?class dapat digunakan untuk string pencarian.?Pencarian tersebut dapat berkisar kompleksitas dari yang sangat sederhana untuk membuat penuh penggunaan reguler expression.?Berikut ini adalah dua contoh string pencarian menggunakan kelas?Regex.?Untuk informasi lebih lanjut, lihat?NET. Kerangka Regular Expressions?.Kode berikut adalah aplikasi console yang melakukan pencarian kasus sensitif sederhana dari string dalam array.?Statis?pencarian string yang diberikan untuk pencarian dan string yang berisi pola pencarian.?Dalam hal ini, argumen ketiga digunakan untuk menunjukkan kasus yang harus diabaikan.?Untuk informasi lebih lanjut, lihat?System.Text.RegularExpressions.RegexOptions. TestRegularExpressions Class {static void Main () {String [] kalimat = {"Sapi selama bulan","Betsy Sapi","Meringkuk di sudut","Tidak cocok di sini" };String sPattern = "sapi";foreach (string in kalimat) { System.Console.Write ("{} 0,24", s);if (System.Text.RegularExpressions.Regex.IsMatch (s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)) { System.Console.WriteLine ("(cocok untuk '{0}' ditemukan)", sPattern); }lain { System.Console.WriteLine (); } } } }Keluaransapi selama bulan (sesuai untuk 'sapi' ditemukan) Betsy Sapi (cocok untuk 'sapi' ditemukan) meringkuk di sudut (cocok untuk 'sapi' ditemukan) tidak cocok di siniKode berikut adalah aplikasi console yang menggunakan reguler expression untuk memvalidasi format setiap string dalam array.?Validasi mensyaratkan bahwa setiap string berbentuk nomor telepon di mana tiga kelompok angka yang dipisahkan oleh tanda hubung, dua kelompok pertama berisi tiga digit, dan kelompok ketiga berisi empat digit.?Hal ini dicapai dengan ekspresi reguler?^\\d{3}-\\d{3}-\\d{4}$?.?TestRegularExpressionValidation Class {static void Main () {String [] angka = {"123-456-7890","444-234-22450","690-203-6578","146-893-232","146-839-2322","4007-295-1111","407-295-1111","407-2-5555", };String sPattern = "^ \ \ d {3} - \ \ d {3} - \ \ d {4} $";foreach (string s in jumlah) { System.Console.Write ("{} 0,14", s);if (System.Text.RegularExpressions.Regex.IsMatch (s, sPattern)) { System.Console.WriteLine ("- berlaku"); }lain { System.Console.WriteLine ("- tidak valid"); } } } }Keluaran123-456-7890 - berlaku 444-234-22450 - tidak valid 690-203-6578 - berlaku 146-893-232 - tidak valid 146-839-2322 - berlaku 4007-295-1111 - tidak valid 407-295-1111 - berlaku 407-2-5555 - tidak validContoh berikut menggunakan reguler expression untuk memeriksa kejadian berulang kata-kata dalam sebuah string.?Ekspresi reguler?\ b (? <word> \ W +) \ s + (\ k <word>) \ b?dapat diartikan seperti yang ditunjukkan dalam tabel berikut.PolaDeskripsi\ BMulai pertandingan di batas kata.(? <word> \ W +)Cocok dengan satu atau lebih karakter kata sampai batas kata.?Nama ini?kata?kelompok ditangkap.\ S +Cocok dengan satu atau lebih karakter white-space.(\ K <word>)Cocokkan kelompok ditangkap yang bernama?kata.\ BSesuai batas kata.Contoh:using System;menggunakan System.Text.RegularExpressions;public class Tes {public static void Main () {/ / Tentukan ekspresi reguler untuk kata-kata diulang. Regex rx = new Regex (@ "\ b (? <word> \ W +) \ s + (\ k <word>) \ b", piled | RegexOptions.IgnoreCase);/ / Tentukan string tes.string teks = "The quick brown fox fox melompati anjing anjing malas.";/ / Cari yang sesuai. MatchCollection cocok = rx.Matches (teks);/ / Laporan jumlah pertandingan ditemukan.Console.WriteLine ("{0} cocok ditemukan di: \ n {1}", matches.Count, teks);/ / Laporan setiap pertandingan.foreach (Pertandingan in pertandingan) { Kelompok GroupCollection = match.Groups; Console.WriteLine ("'{0}' diulang pada posisi {1} dan {2}", kelompok ["kata"]. Nilai, kelompok [0]. Index, kelompok [1] Index).; } } }/ / Contoh ini menghasilkan output berikut ke konsol:/ / 3 pertandingan ditemukan di:/ / The quick brown fox fox melompati anjing anjing malas./ / 'The' diulang pada posisi 0 dan 4/ / 'Rubah' diulang pada posisi 20 dan 25/ / 'Anjing' diulang pada posisi 50 dan 54Contoh berikut menggambarkan penggunaan ekspresi reguler untuk memeriksa apakah string baik mewakili nilai mata uang atau memiliki format yang benar untuk mewakili nilai mata uang.?PolaDeskripsi^Mulai pada awal string.\ S *Cocok dengan nol atau lebih karakter white-space.[\ + -]?Cocok dengan nol atau satu kejadian baik tanda positif atau tanda negatif.\ S?Cocok dengan nol atau satu karakter white-space.\ $?Cocok dengan nol atau satu kejadian tanda dolar.\ S?Cocok dengan nol atau satu karakter white-space.\ D *Cocok dengan nol atau lebih angka desimal.\.?Cocok dengan nol atau satu desimal simbol titik.\ D {2}?Pertandingan dua angka desimal nol atau satu waktu.(\ D * \.? \ D {2}?) {1}Cocok dengan pola integral dan pecahan angka yang dipisahkan oleh titik desimal simbol minimal satu kali.$Cocokkan akhir string.Dalam kasus ini, ekspresi reguler mengasumsikan bahwa string mata uang yang valid tidak mengandung simbol pemisah kelompok, dan bahwa ia memiliki baik tidak ada digit pecahan atau jumlah digit pecahan yang didefinisikan oleh ?CurrencyDecimalDigits?properti.Contohusing System;using System.Globalization;using System.Text.RegularExpressions; Contoh public class {public static void Main () {/ / Dapatkan obyek NumberFormatInfo saat ini untuk membangun biasa/ / Ekspresi pola dinamis. NumberFormatInfo NFI = NumberFormatInfo.CurrentInfo;/ / Tentukan pola ekspresi reguler. pola string; Pola = @ "^ \ s * [";/ / Dapatkan simbol tanda positif dan negatif. Pola + = Regex.Escape (nfi.PositiveSign + nfi.NegativeSign) + @ "] \ s?";/ / Dapatkan simbol mata uang. Pola + = Regex.Escape (nfi.CurrencySymbol) + @ "\ s?";/ / Tambahkan terpisahkan digit ke pola. Pola + = @ "(\ d *";/ / Tambahkan pemisah desimal. Pola + = Regex.Escape (nfi.CurrencyDecimalSeparator) + "?";/ / Tambahkan angka pecahan. Pola + = @ "\ d {";/ / Tentukan jumlah digit pecahan nilai mata uang. Pola + = nfi.CurrencyDecimalDigits.ToString () + "}) {1} $?"; Regex rgx = new Regex (pola);/ / Tentukan beberapa string tes.String [] = tes { "-42", "19.99", "0.001", "100 USD",".34", "0.34", "1,052.21", "$ 10,62","1,43", "- $ 0,23"};/ / Periksa setiap string uji terhadap ekspresi reguler.foreach (uji string in tes) {if (rgx.IsMatch (test)) {Console.WriteLine ("{0} adalah nilai mata uang.", Test);}lain {Console.WriteLine ("{0} bukan nilai mata uang.", Test);} } } }/ / Contoh menampilkan output sebagai berikut:/ / -42 Adalah nilai mata uang./ / 19.99 adalah nilai mata uang./ / 0,001 bukan nilai mata uang./ / 100 USD bukanlah nilai mata uang./ / .34 Adalah nilai mata uang./ / 0,34 adalah nilai mata uang./ / 1,052.21 bukan nilai mata uang./ / $ 10,62 adalah nilai mata uang./ / 1,43 adalah nilai mata uang./ / - $ 0,23 adalah nilai mata uang.Karena reguler expression dalam contoh ini dibangun secara dinamis, kita tidak tahu apakah pada saat desain mata simbol budaya saat ini, tanda desimal, atau tanda-tanda positif dan negatif mungkin disalahartikan oleh mesin reguler expression sebagai operator bahasa reguler expression.?N. String BuilderSebuah kelas yang digunakan untuk membuat obyek string yang dapat dimodifikasi.String dan StringBuilder adalah tipe referensi.?Tapi String bertindak seperti jenis nilai.?StringBuilder terletak di namespace System.Text.?Tabel berikut berisi daftar metode yang dapat Anda gunakan untuk memodifikasi isi dari StringBuilder.METHOD DESCRIBTION StringBuilder.Append Menambahkan informasi ke akhir StringBuilder saat ini. StringBuilder.AppendFormat Menggantikan format specifier berlalu dalam string dengan teks berformat. StringBuilder.Insert Sisipan string atau benda lainnya ke dalam indeks tertentu dari StringBuilder saat ini. StringBuilder.Remove Menghapus sejumlah karakter tertentu dari StringBuilder saat ini. StringBuilder.Replace Menggantikan karakter ditentukan pada indeks tertentu. Perbedaan string dan string builderSTRING STRING BUILDER System.String adalah kekal System.StringBuilder bisa berubah Rangkaian ini digunakan untuk menggabungkan dua string Append metode yang digunakan. String pertama dikombinasikan dengan string lain dengan membuat salinan baru dalam memori sebagai objek string, dan kemudian string lama dihapus Penyisipan dilakukan pada string yang ada. String efisien untuk manipulasi string kecil StringBuilder lebih efisien dalam hal jumlah besar manipulasi string harus dilakukan Contoh Programnya. . . . . . .namespace builder{ class Program { static void Main(string[] args) { StringBuilder febby = new StringBuilder("We study mathematic"); Console.WriteLine(febby); febby.Append(" we are the people"); Console.WriteLine(febby); float currency = 3400.50f; febby.AppendFormat(" Our individual salary : {0:C}. ", currency); Console.WriteLine(febby); febby.Insert(11, "people of "); Console.WriteLine(febby); febby.Remove(11, 20); Console.WriteLine(febby); febby.Replace("world", "ARAB"); Console.WriteLine(febby); Console.ReadKey(); } }}1475105180340Tampilan program saaat dijalankanO.Error Handling (Exception Handling)Exception handling adalah suatu mekanisme penanganan eror yang mungkin terjadi dalam suatu program. Misalnya sebuah program yang memiliki operasi pembagian, dimana suatu ketika user menginputkan bilangan pembagi atau denumerator 0, maka program tersebut harus memiliki suatu exception handling untuk kasus tersebut. Selain contoh diatas exception handling disini juga berguna saat program kita membutuhkan akses ke CD ROM, USB, Audio&Video File, Internet dll, sehingga apabila alat alat yang kita butuhkan dalam program kita tersebut tiba-tiba terputus aksesnya maka program kita tidak secara tiba-tiba mati dan agar program kita bisa terus berjalan.Program yang tidak menggunakan exception handling:Menjalankan perintahJika dalam menjalankan perintah menemui error Program berhentiProgram yang menggunakan exception handling :Menjalankan perintahJika dalam menjalankan perintah menemui errorException akan melemparkan error tersebutCatch akan menerima dan memproses error tersebutProgram menjalankan perintah selanjutnyaSehingga dengan menggunakan Exception Handling kita dapat memprevent terjadinya runtime error yang menyebabkan program kita berhenti ditengah tengah jalan.Sebelum kita merambah ke programnya, mari kita klasifikasikan jenis-jenis error terlebih dahulu, dalam ilmu pemrograman, terdapat 3 jenis error. yaitu :Syntax ErrorSyntax Error adalah suatu kesalahan dari penulisan syntax pada program sehingga syntax tersebut tidak dapat dieksekusi oleh program yang pasti membuat program tersebut error.contoh :public static voit mainpastinya program akan error, tahukah dimana letak errornya? VOIT tidak dikenali oleh C#, sehingga program akan error.Logical ErrorLogical Error adalah suatu kesalahan yang disebabkan oleh si programmer sendiri, lah kok bisa? hal ini disebabkan oleh kesalahan penulisan atau rumus yang diterapkan oleh si programmer. Anda pasti tahu bila semua angka tidak dapat dibagi oleh 0 (nol). Lah kalau si programmer tetep ngotot,pasti programnya error.contoh :int a = 6;int b = 0;double c= a / b;Console.WriteLine(c);bagaimana?sudah jelas kan?Runtime Error?Error yang satu ini tergolong error yang unik, lah kenapa? soalnya menurut saya errornya gara-gara kecerobohan si programmer itu sendiri. Error ini akan muncul apabila terjadi miss communication antara program dan file yang dipanggil dalam program, misalnya program itu membutuhkan database yang bernama db_siswa yang disimpan pada localhost,tapi kenyatannya ternyata si programmer tidak mempunyai atau belum membuat database tersebut di localhost, program akan tetap berjalan, namun saat aksi simpan data, hapus data atau tampil data pasti program akan error.Dari semua jenis error diatas pasti memerlukan penanganan agar dapat meminimalisisr ke-error-an pada program.?Contoh dalam C#12345678910111213141516171819202122232425262728293031323334353637383940414243usingSystem;namespaceoop_exceptionhandler{classProgram{????privatestaticintPerkalian()????{????????inthasilKali;????????Console.WriteLine();????????Console.WriteLine("Soal 5 X 5");????????Console.Write("Input Hasil Perkalian : ");????????hasilKali = Convert.ToInt32(Console.ReadLine());????????returnhasilKali;????}????privatestaticvoidOperasi_Perkalian(intperkalian)????{????????boolhasil = true;????????while(hasil == true)????????{????????try????????{????????while(perkalian!=25)????????{????????????Console.WriteLine("Hasil Operasi Salah = {0}",perkalian);?? perkalian = Perkalian();????????}????????hasil = false;????????}????????catch(Exception)????????{????????Console.WriteLine("Hasil Operasi Salah = {0}",perkalian);????????}????????}????}????publicstaticvoidMain(string[]args)????{????????intperkalian;????????perkalian = Perkalian();????????Operasi_Perkalian(perkalian);????????Console.WriteLine("Hasil Operasi Benar");????????Console.ReadKey();????}}}Hasil untuk C#DAFTAR PUSTAKAModul praktikum pemrograman visual c#, YUNI YAMASARI, S.KOM, M.KOM UNIVERSITAS NEGERI SURABAYA.OKTOBER, 2012(C%20SHARP).htm diakses Kamis, 16 Mei 2013 Pukul 17.15 Jumat, 17 Mei 2013 Pukul 10.20 csharp-(C%20SHARP).htm diakses Kamis, 16 Mei 2013 Pukul 17.15Daftar Pustaka : csharp-(v%3Dvs.80).aspx&usg=ALkJrhgpzZT4Zx9kh9F-s-TmQCkhp2zLzA pada tanggal 17 Mei 2013 pada tanggal 17 Mei 2013 ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download