tugas pemrograman

55
TUGAS BAHASA PEMROGRAMAN Kelompok 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 B MATEMATIKA JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

description

Tugas pemrograman mahasiswa UNESA

Transcript of tugas pemrograman

Page 1: tugas pemrograman

TUGAS BAHASA PEMROGRAMAN

Kelompok 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 B

MATEMATIKA

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS NEGERI SURABAYA

Page 2: tugas pemrograman

A. Fungsi String

Di 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 String

Metode 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 String

Jikalau 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 String

Metode 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";

Page 3: tugas pemrograman

string hasil = contoh.Remove(21); // contoh = "seorang anak melempar "

hasil = contoh.Remove(21, 11); // contoh = "seorang anak melempar temannya"

4. Extract String

Bagian 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 String

Untuk 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 String

Ini 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”;

B. 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 ini

1. Buat project baru pada IDE visual studio 2010, untuk nama project silahkan

sesuaikan.

Page 4: tugas pemrograman

2. Tambahkan dua componen button, empat komponen textbox dan empat komponen

label. atur dan tata sedemikian rupa.

3. 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();

4. 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();

5. 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.

C. 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-lain

Sebagai 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 OK

1. Setelah form terbentuk tambahkan 4 label, 2 textbox,1 datetimerpicker, dan 1 button.

atur dan tata komponen-komponen.

2. Setelah itu tambahkan kode berikut ini pada button proses

3. DateTime sekarang;

DateTime akhir;

Page 5: tugas pemrograman

sekarang=dateTimePicker1.Value;

akhir=sekarang.addDays(convert.toInt16(textbox1.text));

textBox2.Text=akhir.ToString();

4. 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.

D. User Defined Function

User 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)

Page 6: tugas pemrograman

{

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));

Page 7: tugas pemrograman

break;

case 4:

break;

}

Console.Readkey();

}

E. Pengertian OOP

Pemrograman 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 / Field

• Method

• Method

Method pada C# dapat memiliki banyak argumen dengan tipe data yang berbeda.

Page 8: tugas pemrograman

• 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.

Konstruktor adalah method yang namanya sama dengan nama class-nya.

Konstruktor digunakan untuk inisialisasi variabel ketika membuat instan class / objek

baru.

Page 9: tugas pemrograman

Bandingkan 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.

F. Konsep Object Oriented ProgramingEmpat konsep yang harus dapat dimiliki oleh suatu bentuk pemrograman yang

berorientasi object adalah:

1. Enkapsulasi

2. Abstrasi

3. Inheritance

4. Polymorphism

1. EnkapsulasiEnkapsulasi 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

Page 10: tugas pemrograman

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: }

Page 11: tugas pemrograman

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: }

2. Abstraction

Abstraction 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 { 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;

Page 12: tugas pemrograman

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.

3. Inheritance

Inheritance 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 berikut

public class ListBox : Window

Page 13: tugas pemrograman

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: 

Page 14: tugas pemrograman

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.

4. Polymorphism

Polymorphism 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

Page 15: tugas pemrograman

4:privateint top;

5:privateint left;

6: 

7:protectedint Top {

8: get {

9:returnthis.top;

10: }

11: set {

12:this.top = 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;

Page 16: tugas pemrograman

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

Page 17: tugas pemrograman

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 File

Operasi 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:

1. Deleting a File

Jika 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;

}

}

2. Copying a File

Anda 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:

Page 18: tugas pemrograman

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.

3. Moving a File

Jika 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.

Page 19: tugas pemrograman

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 Number

Random 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:

1. 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);

Page 20: tugas pemrograman

Console.ReadKey();

}

2. 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();

}

Page 21: tugas pemrograman

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 :

Faktorial

Fungsi rekursif dapat digunakan untuk menghitung faktorial. Berikut penjelasan beserta

dengan contoh listing programnya.

Fungsi faktorial dapat dinyatakan dalam bentuk rekursif seperti berikut:

Page 22: tugas pemrograman

faktorial(4)

4 * faktorial(3)

fak(n) = 1, untuk n = 0 atau n = 1

fak(n) = n x (n-1)!, untuk n > 0

Berikut contoh proses untuk perolehan hasil 4!.

Hasil akhir: 24

Misalkan 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 colomn

Gambar 1. Preview desain aplikasi

Langkah 2: Pada button satu tambahkan source code berikut ini

      dataGridView1.Rows.Add(1000);

            for (int i = 0; i < 1000; i++)

faktorial(1)

3 * faktorial(2)

2 * faktorial(1)

Page 23: tugas pemrograman

            {

                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;           

        }

Page 24: tugas pemrograman

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 program

Tapi 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.

{

Page 25: tugas pemrograman

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 .

Page 26: tugas pemrograman

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 ();

}

}

}

}

Keluaran

Page 27: tugas pemrograman

sapi selama bulan (sesuai untuk 'sapi' ditemukan)

Betsy Sapi (cocok untuk 'sapi' ditemukan)

meringkuk di sudut (cocok untuk 'sapi' ditemukan)

tidak cocok di sini

Kode 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

Page 28: tugas pemrograman

{

System.Console.WriteLine ("- tidak valid");

}

}

}

}

Keluaran

123-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 valid

Contoh 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.

Pola Deskripsi

\ B Mulai 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.

\ B Sesuai batas kata.

Page 29: tugas pemrograman

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",

RegexOptions.Compiled | 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 54

Page 30: tugas pemrograman

Contoh berikut menggambarkan penggunaan ekspresi reguler untuk

memeriksa apakah string baik mewakili nilai mata uang atau memiliki format yang benar

untuk mewakili nilai mata uang. 

Pola Deskripsi

^ 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

Page 31: tugas pemrograman

tidak ada digit pecahan atau jumlah digit pecahan yang didefinisikan oleh

CurrencyDecimalDigits properti.

Contoh

using 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.

Page 32: tugas pemrograman

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 Builder

Sebuah 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

Page 33: tugas pemrograman

StringBuilder.Append Menambahkan informasi ke

akhir StringBuilder saat ini.

StringBuilder.AppendF

ormat

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 builder

STRING STRING BUILDER

System.String adalah kekal System.StringBuilder

bisa berubah

Rangkaian ini digunakan

untuk menggabungkan dua

Append metode yang

digunakan.

Page 34: tugas pemrograman

string

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);

Page 35: tugas pemrograman

febby.Replace("world", "ARAB");

Console.WriteLine(febby);

Console.ReadKey();

}

}

}

Tampilan program saaat dijalankan

O. 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 perintah

Page 36: tugas pemrograman

Jika dalam menjalankan perintah menemui error

Program berhenti

Program yang menggunakan exception handling :

Menjalankan perintah

Jika dalam menjalankan perintah menemui error

Exception akan melemparkan error tersebut

Catch akan menerima dan memproses error tersebut

Program menjalankan perintah selanjutnya

Sehingga 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 :

1. Syntax Error

Syntax 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 main

pastinya program akan error, tahukah dimana letak errornya? VOIT tidak

dikenali oleh C#, sehingga program akan error.

2. Logical Error

Logical 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?

3. 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

Page 37: tugas pemrograman

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#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

usingSystem;

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();

        }

Page 38: tugas pemrograman

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

        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 PUSTAKA

Modul praktikum pemrograman visual c#, YUNI YAMASARI, S.KOM, M.KOM UNIVERSITAS

NEGERI SURABAYA.OKTOBER, 2012

http://www.c-sharpcorner.com/uploadfile/puranindia/stringbuilder-class-in-C-Sharp1/

http:///operasi%20operasi%20matematika%20di%20C%23%20(C%20SHARP).htm diakses Kamis,

16 Mei 2013 Pukul 17.15

http://rinaldirusli.wordpress.com/2008/11/20/manipulasi-string-c/diakses Jumat, 17 Mei 2013

Pukul 10.20

Page 39: tugas pemrograman

www.csharp-indonesia.com

http:///operasi%20operasi%20matematika%20di%20C%23%20(C%20SHARP).htm diakses Kamis,

16 Mei 2013 Pukul 17.15

Daftar Pustaka

http://mugi.or.id/blogs/erick/

http://id.wikipedia.org/

Dapus : www.csharp-indonesia.com

http://www.c-sharpcorner.com/uploadfile/puranindia/stringbuilder-class-in-C-Sharp1/

http://translate.googleusercontent.com/translate_c?depth=1&hl=id&prev=/search%3Fq

%3Dregular%2Bexpression%2Bc%2523%26biw%3D1241%26bih

%3D581&rurl=translate.google.com&sl=en&u=http://msdn.microsoft.com/en-us/library/

ms228595(v%3Dvs.80).aspx&usg=ALkJrhgpzZT4Zx9kh9F-s-TmQCkhp2zLzA

http://translate.googleusercontent.com/translate_c?depth=1&hl=id&prev=/search%3Fq

%3Dregex%2Bregular%2Bexpression%2Bc%2523%26biw%3D1241%26bih

%3D581&rurl=translate.google.com&sl=en&u=http://msdn.microsoft.com/en-us/

library/

system.text.regularexpressions.regex.aspx&usg=ALkJrhjXyg58OdK2IdmUWEExH

hZ_qIqqKw#feedback

http://1digit.wordpress.com/2012/04/09/kuliah-berseri-oop-2-bab-v-exception-

handling/Diakses pada tanggal 17 Mei 2013

http://imamoto17.wordpress.com/2013/04/10/exception-handling-c-java-dan-c/Diakses

pada tanggal 17 Mei 2013

http://iaknuranda.lecture.ub.ac.id/files/2011/01/DPK-Fungsi-IA-UB.pdf

http://www.functionx.com/csharp/lesson34.htm