LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK
MODUL I
“PENGENALAN PROGRAM C# SEDERHANA”
Add caption |
NAMA : ANDRI SETIANINGSIH
NOMOR MAHASISWA
: 09/281640/TK/35104
HARI PRAKTIKUM
: KAMIS
PAGI
TANGGAL PRAKTIKUM
: 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. Kelemahan-kelemahan 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 bahasa-bahasa
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
pemrograman general-purpose (untuk tujuan jamak), berorientasi objek, modern,
dan sederhana.
2. Bahasa
pemrograman C# ditujukan untuk digunakan dalam mengembangkan komponen perangkat
lunak yang mampu mengambil keuntungan dari lingkungan terdistribusi.
3. Portabilitas
programmer sangatlah penting, khususnya bagi programmer yang telah
lama menggunakan bahasa pemrograman C dan C++.
4. Dukungan
untuk internasionalisasi (multi-language) juga sangat penting.
5. C#
ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem
klien-server (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 dari class 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.
4. 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 :
1. Perkalian
#contoh : c = a * b;
2. Pembagian
#contoh : c = a / b;
3. Pengurangan
#contoh : c = a - b;
4. Modulo
#contoh : c = a % b;
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:
Add caption |
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 error.
Hal ini dikarenakan program tidak bisa menangkap eksepsi sehingga tidak berjalan
Hal ini dikarenakan program tidak bisa menangkap eksepsi sehingga tidak berjalan
Agar tidak terjadi/mucul window diatas, kita harus
menambahkan exception handling.
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 pernyataan bahwa metode tersebut berdiri sendiri
(mandiri), dan bersifat tetap serta tidak berubah-ubah selama eksekusi program
dilakukan. void
untuk menyatakan 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, yang merupakan kode aktual yang
membangun metode tersebut. Tubuh metode akan diapit dengan menggunakan sepasang
tanda kurung keriting buka {
dan tanda kurung keriting
tutup }
yang mengikuti daftar
parameter. Secara gampangnya Fungsi 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 Release metode
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 control akan 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 tersebut atau script tingkat atas.
Watch è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. Ada 4 keyword dalam Exception Handling :
a. try untuk menguji error dan melemparkanya jika error
terjadi.
b. catch untuk menagkap error yang dilemparkan block try.
c. throw untuk menentukan exception atas pilihan menu error
yang ditentukan oleh programmer.
d. finally untuk menu akhir Exception Handling.
1 komentar:
wahh.... keren negh artikel nya.. nambah wawasan saya tentang C#. maturnuwun..
Posting Komentar