Anda di halaman 1dari 10

LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK

MODUL I PENGENALAN PROGRAM C# SEDERHANA

NAMA NOMOR MAHASISWA HARI PRAKTIKUM TANGGAL PRAKTIKUM

: ANDRI SETIANINGSIH : : 09/281640/TK/35104 KAMIS PAGI

: 29 SEPTEMBER 2011

LABORATORIUM JARINGAN KOMUNIKASI JURUSAN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI FT UGM YOGYAKARTA 2011

I.

PENDAHULUAN
Sejarah C#: Pada akhir dekade 1990-an, Microsoft membuat program Microsoft Visual J++ sebagai sebuah langkah percobaan untuk menggunakan Java di dalam sistem operasi Windows untuk meningkatkan antarmuka dari Microsoft Component Object Model (COM). Akan tetapi, akibat masalah dengan pemegang hak cipta bahasa pemrograman Java, Sun Microsystems, Microsoft pun menghentikan pengembangan J++, dan beralih untuk membuat pengganti J++, kompilernya dan mesin virtualnya sendiri dengan menggunakan sebuah bahasa pemrograman yang bersifat general-purpose. Untuk menangani proyek ini, Microsoft merekrut Anders Helsberg, yang merupakan mantan karyawan Borland yang membuat bahasa Turbo Pascal, dan Borland Delphi, yang juga mendesain Windows Foundation Classes (WFC) yang digunakan di dalam J++. Sebagai hasil dari usaha tersebut, C# pun pertama kali diperkenalkan pada bulan Juli 2000 sebagai sebuah bahasa pemrograman modern berorientasi objek yang menjadi sebuah bahasa pemrograman utama di dalam pengembangan di dalam platform Microsoft .NET Framework. Pengalaman Helsberg sebelumnya dalam pendesain bahasa pemrograman seperti Visual J++, Delphi, Turbo Pascal) dengan mudah dilihat dalam sintaksis bahasa C#, begitu pula halnya pada inti Common Language Runtime (CLR). Dari kutipan atas interview dan makalah-makalah teknisnya ia menyebutkan kelemahan-kelemahan yang terdapat pada bahasa pemrograman yang umum digunakan saat ini, misalnya C++, Java, Delphi, ataupun Smalltalk. Kelemahankelemahan yang dikemukakannya itu yang menjadi basis CLR sebagai bentukan baru yang menutupi kelemahan-kelemahan tersebut, dan pada akhirnya mempengaruhi desain pada bahasa C# itu sendiri. Ada kritik yang menyatakan C# sebagai bahasa yang berbagi akar dari bahasabahasa pemrograman lain. Fitur-fitur yang diambilnya dari bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar kelas (root class), dan juga penyederhanaan terhadap pewarisan jamak (multiple inheritance). Fitur-fitur tersebut di dalam C# kini telah diaplikasikan terhadap iterasi, properti, kejadian (event), metadata, dan konversi antara tipe-tipe sederhana dan juga objek. C# didisain untuk memenuhi kebutuhan akan sintaksis C++ yang lebih ringkas dan Rapid Application Development yang 'tanpa batas' (dibandingkan dengan RAD yang 'terbatas' seperti yang terdapat pada Delphi dan Visual Basic). Agar mampu mempromosikan penggunaan besar-besaran dari bahasa C#, Microsoft, dengan dukungan dari Intel Corporation dan Hewlett-Packard, mencoba mengajukan standardisasi terhadap bahasa C#. Akhirnya, pada bulan Desember 2001, standar pertama pun diterima oleh European Computer Manufacturers Association atau Ecma International(ECMA), dengan nomor standar ECMA-334. Pada Desember 2002, standar kedua pun diadopsi oleh ECMA, dan tiga

bulan kemudian diterima oleh International Organization for Standardization (ISO), dengan nomor standar ISO/IEC 23270:2006. Pengenalan C# C# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan. Tujuan desain dari bahasa pemrograman C#, sebagai berikut: 1. Bahasa pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat bahasa 2. 3. 4. 5. pemrograman general-purpose (untuk tujuan jamak), berorientasi objek, modern, dan sederhana. Bahasa pemrograman C# ditujukan untuk digunakan dalam mengembangkan komponen perangkat lunak yang mampu mengambil keuntungan dari lingkungan terdistribusi. Portabilitas programmer sangatlah penting, khususnya bagi programmer yang telah lama menggunakan bahasa pemrograman C dan C++. Dukungan untuk internasionalisasi (multi-language) juga sangat penting. C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem klienserver (hosted system) maupun sistem embedded (embedded system), mulai dari perangkat lunak

yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada perangkat lunak yang sangat kecil yang memiliki fungsi-fungsi terdedikasi. 6. Meskipun aplikasi C# ditujukan agar bersifat 'ekonomis' dalam hal kebutuhan pemrosesan dan memori komputer, bahasa C# tidak ditujukan untuk bersaing secara langsung dengan kinerja dan ukuran perangkat lunak yang dibuat dengan menggunakan bahasa pemrograman C dan bahasa rakitan. 7. Bahasa C# harus mencakup pengecekan jenis (type checking) yang kuat, pengecekan larik (array), pendeteksian terhadap percobaan terhadap penggunaan Variabel-variabel yang belum diinisialisasikan, portabilitas kode sumber, dan pengumpulan sampah (garbage collection) secara otomatis. Visual C # merupakan sebuah implementasi dari C # bahasa dengan Microsoft. Visual Studio mendukung Visual C # dengan kode editor fitur lengkap, kompiler, proyek template, desainer, enchant kode, kuat dan mudah digunakan olehdebugger dan peralatan lainnya. C# (C Sharp) adalah sebuah bahasa pemrograman yang dibuat setelah bahasa pemrograman Java muncul, basis dari C# sebenarnya adalah C++. Karena banyaknya kekurangan dan kelemahan dari bahasa pemrograman C++, maka akhirnya dibuat bahasa pemrograman Java, dengan fitur dan model

yang lebih kompleks dari C++, Java memiliki banyak peminat. Akan tetapi setelah diketahui bahwa ternyata dalam bahasa pemrograman Java juga masih memiliki banyak kelemahan, akhirnya Java dikembangkan menjadi C#, dimana dalam bahasa pemrograman C# tersusun dari 70% Java, 20% C++ dan 10% baru. Sehingga hal ini dapat menciptakan suatu bahasa pemrograman baru yang menutup kelemahan C++, maupun Java.

II.

DASAR TEORI

Ada 4 hal yang penting dan mesti kita ingat ketika belajar Object Oriented Programming : 1. Class, sesuatu disekitar kita dapat dibedakan ke dalam class-class yang berbeda.Sebagai contoh meja, kursi, manusia, kucing atau pohon.Class mengkategorikan atau mengelompokkan sesuatu yang sama. Dalam hal ini, class yang kita pakai adalah class Program. 2. Object, dalam setiap class akan terdapat object-object spesifik.Sebagai contoh Budi, Wati dan Adi yang masuk dalam class manusia.Ketiga orang tadi merupakan object yang dibentuk dariclass Manusia.Setiap object akan memiliki ciri yang unik. 3. Setiap object pasti memiliki banyak property.Property akan dapat menerangkan object dengan lebih jelas.Sebagai contoh Budi akan mempunyai property seperti tinggi, berat, warna kulit dan sebagainya. Method adalah apa yang bisa dikerjakan oleh suatu object, sebagai contoh Budi bisa berjalan atau berbicara. Selain penjumlahan operator artimatikan dalam C# juga bisa berupa : Perkalian #contoh : c = a * b; Pembagian #contoh : c = a / b; Pengurangan #contoh : c = a - b; Modulo #contoh : c = a % b;

4.

1. 2. 3. 4.

III. PEMBAHASAN
Pada praktikum unit 1 ini pertama kita akan belajar membuat sebuah program C# sederhana, kemudian belajar meng_compile dan menjalankan sebuah program C#, belajar menggunakan debugger, dan yang terakhir adalah belajar menambahkan exception handilng ke program C#. Latihan 1 : membuat program C# sederhana

Pada latihan ini, kita menggunakan Visual Studio untuk menulis program C#. Program tersebut akan meminta sebuah nama dan akan menyapa nama tersebut. Setelah mengikuti langkah-langkah yang terdapat pada modul praktikum PBO tersebut dan kita save dengan nama file sambutan, berikut adalah listing programnya:

Referensi Namespace : using System; using System.Collections.Generic; using System.Linq; using System.Text; Keempat baris diatas merupakan referensi Namespaces tempat class yang ada dalam program. namespace Pembagian Namespace adalah tempat dimana class-class berada/disimpan dalamprogram ini, disimpan dalam Namespace Pembagian . class Program Bahasa pemrograman C# adalah Object Oriented Programming, dimana semua fungsi dimasukkan dalam class-class tertentu. Dalam hal ini, fungsi Main berada dalam class Program. Variabel Namaku adalah dalam bentuk string. Console.WriteLine adalah fungsi dalam C# yang digunakan untuk mencetak text kedalam layar dimana setelah mencetak text, ia langsung berganti ke baris baru dibawahnya. Sedangkan Console.Write adalah fungsi yang digunakan untuk mencetak text akan tetapi tidak berganti baris ketika selesai. Console.WriteLine("Masukkan Namamu");adalah fungsi dalam C# yang digunakan untuk mencetak text kedalam layar dimana setelah mencetak text, ia langsung berganti ke baris baru dibawahnya. Sedangkan Console.Write() adalah fungsi yang digunakan untuk mencetak text akan tetapi tidak berganti baris ketika selesai. Seperti halnya bahasa pemrograman yang lain, id dalam C# kita juga diperbolehkan menggunakan escape character, yaitu beberapa karakter khusus yang digunakan untuk memodifikasi pencetakan text yang kita lakukan. Namaku = Console.ReadLine();Adalah fungsi yang digunakan untuk membaca inputan dari user dan menjadi nilai string Namaku, akan tetapi format dari inputan yang diambil tersebut berupa

string sehingga kita perlu mengubahnya menjadi integer agar dapat dioperasikan oleh karena itu kita menggunakan fungsi Convert.ToInt32() . Console.WriteLine("Assalamualaikum {0}", Namaku); adalah fungsi untuk menuliskan kata Assalamualaikum, selanjutnya diikuti oleh {0+1}, dan {1} berisi variabel Namaku. Console.ReadLine(); adalah fungsi untuk membaca output program dan menampilkannya pada window debugger.

Berikut ini adalah hasil eksekusi programnya (output):

Latihan 2 : melakukan proses compile dan menjalankan program C# dari command line Selain dengan menggunakan debugger, compilasi dapat juga dilakukan dengan menggunakan command promt, compilasi ini adalah gaya dahulu/kuno. Langkah-langkahnya antara lain : 1. Buka Visual Studio .NET Command Prompt. 2. Masuk ke direktori source code program berada. 3. Melakukan compilasi dengan perintah : Csc /out:Greet.exe Program.cs,

Dari hasil output di atas kita dapat lihat terjadi beberapa kali kesalahan yang menyebabkan program tidak dapat berjalan/dieksekusi hal itu karena kita tidak benar dalam memasukan alamat dimana project kita di di simpan, sehingga tidak dapat di compile. Latihan 3 : mengunakan debugger Pada latihan kali ini. Praktikan menggunakan Visual Studio Debugger untuk melakukan eksekusi perlangkah sekaligus untuk memeriksa nilai dari variabel. Di sini hanya membahas masalah debugging dengan menggunakan debugger melalui tehap-tahap tertentu. Debugging adalah proses metodis menemukan dan mengurangi jumlah bug, atau cacat, dalam sebuah program komputer atau sepotong perangkat keras elektronik, sehingga membuatnya berperilaku seperti yang diharapkan Sedangkan Debugger adalah fasilitas dalam visual studio yang berfungsi untuk melakukan debug suatu program.

Setelah melakukan langkah-langkah seperti pada modul, berikut adalah project yang kita beri breakpoint, maka ketika program di eksekusi program akan berhenti berjalan pada tanda breakpoint, berikut adalah listnya:

Latihan 4 : menambahan exception handilng ke program C#. Pada latihan kali ini, praktikan menulis program yang menggunakan exception handling (menangani eksepsi) untuk menangkap kesalahn yang tidak diharapkan yang terjadi saat program berjalan. Program tersebut akan memandu user untuk dua nilai integer. Integer pertama akan dibagi integer kedua dan menampilkan hasilnya. Ini adalah listting projectnya

string temp = Console.ReadLine(); adalah fungsi untuk membaca input dari keyboard yang berupa string dan dimasukkan menjadi nilai dari variabel temp dalam program. int i = Int32.Parse(temp); adalah fungsi untuk meng-convert nilai temp dalam bentuk string string menjadi Int32 dan dinamakan int i dalam program. int j = Int32.Parse(temp); adalah fungsi untuk meng-convert nilai temp dalam bentuk string string menjadi Int32 dan dinamakan int j dalam program. int k = i / j; adalah operasi aritmatika dalam sintaks C# yang menunjukkan bahwa nilai int k adalah hasil dari nilai i dibagi j. Console.WriteLine("Hasil pembagian {0} oleh {1} adalah {2}", i, j, k); adalah perintah untuk melaporkah hasil program, yaitu laporan nilai i, j, k , dimana {0} adalah nilai 0+1 = i. dan seterusnya untuk j, k. Berikut hasil capture dari eksekusi dari program yang telah dibuat dan dengan menggunakan pembagian 0:

Kemudain di uji kembali dengan menggunakan pembagian 0

Muncul peringatan seperti gambar di atas dan itu menyatakan terjadinya Hal ini dikarenakan program tidak bisa menangkap eksepsi sehingga tidak berjalan Agar tidak terjadi/mucul window diatas, kita harus menambahkan exception handling.

error.

Menambahkan Exception Handling : Exception Handling digunakan untuk menangani jika terjadi error yang mungkin terjadi pada hasil output program yang kita jalankan. Dalam hal ini, kita menggunakan Exception Handling untuk menangani pembagian Aritmatika dengan 0 yang hasilnya adalah tak terdefinisi.

Setelah adanya penambahan kode tersebut yaitu; fungsi main dimasukkan ke blok try dan menambah sintaks catch. Dan didalam sintaks catch terdapat variabel e yang merupakan eksepsi yang akan ditangkap. Berikut hasil yang didapat setelah dieksekusi:

Program sukses dijalankan dan tidak terdapat console yang menyatakan eksepsi gagal ditangkap.

IV. JAWAB PERTANYAAN


1. Apakah fungsi static void main dalam sebuah program. Dapatkah sebuah program tidak memiliki static void main. Bila ada program apa yang tidak menggunakannya?? Jawab Static sebagai pern ataan bahwa metode tersebut berdiri sendiri (mandiri), dan bersifat tetap serta tidak berubah-ubah selama eksekusi program dilakukan. void untuk men atakan bahwa metode tersebut memang tidak memiliki nilai kembalian kata Main akan diikuti dengan menggunakan tanda kurung buka dan kurung tutup tanpa isi Deklarasi sebuah metode juga memasukkan tubuh metode tersebut, ang merupakan kode aktual ang membangun metode tersebut Tubuh metode akan diapit dengan menggunakan sepasang tanda kurung keriting buka { dan tanda kurung keriting tutup } yang mengikuti daftar parameter. Secara gampangnyaFungsi static void main adalah agar program memberikan nilai kembalian sebuah void (tak ada nilai kembalian), jika tidak menggunakan void, maka pada statement program harus memberikan nilai kembalian integer ( static int main )atau type. 2. Apakah perbedaan debug dan release pada suatu program dijalankan? Jawab

Saat mode build Debug, metode optimasi-nya tidak dimasukkan dalam hasil kompilasi, jadi masih dimungkkinkan untuk men-diagnose logika program yang salah. Pada mode build Releasemetode optimasi tidak digunakan, artinya aplikasi siap direlease. 3. Apakah makna finally dalam suatu program, apakah finnaly mutlak ada dalam sebuah statement try catch, bila tidak kapan sebaiknya finnaly digunakan? Jawab Finnaly merupakan salah satu rangkaian blok dari exception handling. Klausa Finnaly mengeksekusi setelah try block dan catch juga mengkesekusi tetapi sebelum pernyataan try. Selalu berjalan , terlepas dari iya atau tidaknya eksepsi saat terlempar atau tertangkap. 4. Apa arti step in , step over, dan watch pada mekanisme debugging suatu program C#? Jawab Step in men-debug sebuah class diluar dan masuk kedalam baris pertama class luar tersebut. Eksekusi akan dilanjutkan. Jika baris pada script berisi fungsi call controlakan kembali ke debugger pada saat masuk ke fungsi. Jika tidak control akan kembali ke debugger pada baris berikutnya dalam fungsi tersebut Step out keluar dari step in dan step out, lalu masuk dalam menu debug baris selanjutnya.Eksekusi akan kembali terjadi tetapi kontrol akan kembali ke debugger pada baris berikutnya dalam fungsi Watch tersebut atau script tingkat atas. melihat isi dan nilai sebuah variable. Ekspresi yang dimasukkan kembali, dievaluasi dalam suatu lingkup dan nilai tersebut ditampilkan untuk mengembalikan waktu kontrol setiap debugger atau ketika akan mengubah stack location dalam konteks ini: window. 5. Apa perbedaan antara Write dan WriteLine, dan apa fungsi Parse pada latihan 4? Jawab Write : menusliskan angka/huruf pada line yang sama. WriteLine : menuliskan angka/huruf pada line yang baru. Parse : meng-convert string menjadi integer atau tipe data yang lainnya.

V. KESIMPULAN
1. C# adalah bahasa lanjutan dari C++ karena banyaknya kekurangan dan kelemahan dari bahasa pemrograman C++, maka akhirnya dibuat bahasa pemrograman Java, dengan fitur dan model yang lebih kompleks dari C++, Java memiliki banyak peminat. Akan tetapi setelah diketahui bahwa ternyata dalam bahasa pemrograman Java juga masih memiliki banyak kelemahan,

akhirnya Java dikembangkan menjadi C#, dimana dalam bahasa pemrograman C# tersusun dari 70% Java, 20% C++ dan 10% baru. Sehingga hal ini dapat menciptakan suatu bahasa pemrograman baru yang menutup kelemahan C++, maupun Java. 2. File source code C# berekstensi .cs 3. Untuk meng-compile program ada 2 cara, yaitu dengan debugger IDE Visual Studio dan melalui Command Prompt. 4. Debugger digunakan untuk mencari bug/kesalahan code program yang kita buat. 5. a. b. c. d. Ada 4 keyword dalam Exception Handling : try untuk menguji error dan melemparkanya jika error terjadi. catch untuk menagkap error yang dilemparkan block try. throw untuk menentukan exception atas pilihan menu error yang ditentukan oleh programmer. finally untuk menu akhir Exception Handling.