Belajar Bahasa C sharp/Bab II: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Willysaef (bicara | kontrib)
Willysaef (bicara | kontrib)
Baris 4:
 
Berikut adalah contoh dari beberapa aljabar sederhana:‎
<source lang="csharp">
 
A = 3
B = 5
C = A + B
</source>
 
Bagi kita, persamaan di atas memang merupakan persamaan yang sama sekali tidak rumit, tetapi ‎jika kita dapat membujuk komputer untuk menyelesaikan persamaan di atas, maka kita juga dapat ‎membujuknya untuk menyelesaikan persamaan atau masalah lainnya yang jauh lebih kompleks. Sebagai ‎langkah pertama, kita akan mencoba untuk melakukan konversi aljabar di atas ke dalam sintaksis di dalam ‎bahasa C#, dan bentuknya kira-kira seperti di bawah ini:‎
‎<source lang="csharp">
A = 3;
B = 5;
C = A + B;
</source>
 
Tiga baris kode di atas, tidaklah membentuk program C# yang komplet, tapi contoh kode di atas ‎dapat ditemukan dalam program C#, mungkin program yang kita dapat buat sendiri. Kita bisa menulis ‎kode di atas dengan menggunakan beberapa editor teks (semacam <code>notepad</code> atau <code>WordPad</code>) hingga ‎menggunakan alat bantu khusus yang didesain untuk menyederhanakan pemrograman dengan ‎menggunakan bahasa C#, seperti [http://www.sharpdevelopicsharpcode.orgnet/OpenSource/SD #develop (SharpDevelop)] maupun Microsoft Visual C# Express Edition (dapat di-''‎download'' secara gratis dari situs [http://msdn2.microsoft.com/ situs Web ''Microsoft Developer Network'' (MSDN)]). Setelah menuliskan kode di ‎atas, maka langkah selanjutnya yang harus kita lakukan adalah mengubah kode di atas ke dalam bentuk ‎berkas yang dapat dieksekusi (<code>*.EXE</code>) yang dapat kita jalankan.‎
 
Perbedaan yang signifikan antara bentuk pertama (aljabar) dan bentuk kedua (kode dalam ‎bentuk bahasa C#) adalah bahwa setiap baris di dalam bahasa C# selalu diakhiri dengan menggunakan ‎karakter titik koma (''semicolon''). Setiap baris yang diakhiri dengan karakter titik koma disebut dengan ‎'''pernyataan program C#''' ('''''C# program statement'''''). Sebuah program komputer yang dibuat dengan ‎menggunakan C# umumnya terdiri atas macam-macam statemen. Huruf <code>A</code>, B dan C yang disebut di atas ‎merupakan apa yang disebut sebagai variabel, dan setiap variabel merepresentasikan lokasi di dalam ‎memori di mana nilai dari variabel akan disimpan.‎
 
Bandingkan dengan aljabar dan bentuk statemen program C# di bawah ini:‎
<source lang="csharp">‎
A = 3;
C = A + B;
B = 5;
</source>
 
dan bentuk
<source lang="csharp">
 
A = 3;
C = A + B;
B = 5;
</source>
 
Sekilas, aljabar di atas terlihat sama dengan bentuk pertama dan kedua, dan hasil akhirnya ‎adalah <code>C = 8</code>. Akan tetapi, ketika diubah ke dalam bentuk statemen bahasa C#, hasilnya tidaklah sama, ‎karena hasil <code>C = 3</code>. Hal ini dikarenakan statemen-statemen program akan diproses secara berurutan oleh ‎komputer, baris demi baris. Komputer akan pertama-tama membaca nilai A = 3 seperti yang telah ‎disebutkan pada baris pertama, dan langsung menjalankan baris kedua yang berisi <code>C = A + B</code>. Karena nilai ‎B pada saat baris kedua dijalankan belum memiliki nilai (alias nilainya kosong), maka <code>C = 3 + kosong</code>, dan ‎nilai dari <code>C = 3</code>. Meskipun statemen program pada baris ketiga dijalankan, statemen tersebut tidak akan ‎dapat mempengaruhi nilai C yang telah ditetapkan pada baris kedua.‎
Baris 36 ⟶ 38:
 
Operator penugasan dapat memiliki beberapa bentuk. Semua statemen-statemen di bawah ini ‎adalah benar, menurut bahasa C#:‎
<source lang="csharp">
 
C = A + 5;
C = 90 + A + B;
C = B + A + A + B + A + B + 49;
C = 81 + 90;
</source>
 
Dalam setiap kasus di atas, sebuah variabel yang diletakkan di sebelah kiri tanda sama dengan ‎akan diberi nilai dengan ekspresi yang dievaluasi yang diletakkan pada bagian sebelah kanan. Tanda plus ‎di sana merupakan contoh dari operator aritmetika, yang berarti penjumlahan. Seperti halnya di dalam ‎aljabar yang memiliki penjumlahan, perkalian dan pembagian, C# juga memilikinya dan mengizinkan kita ‎untuk melakukannya.‎
 
Perhatikan jenis kode di bawah ini:‎
<source lang="csharp">
 
B + 1 = 2;
</source>
 
Sekilas, menurut aljabar, statemen di atas merupakan statemen yang benar adanya dan valid. ‎Akan tetapi, tidak bagi C#, karena C# hanya mengizinkan sebelah kiri tanda sama dengan sebagai tempat ‎diletakkannya variabel, bukan tempat diletakkannya ekspresi.‎
 
Perhatikan juga kode di bawah ini:‎
‎<source lang="csharp">
C = C + 10;
</source>
 
Kira-kira, berapa nilai dari C? Meskipun statemen di atas terlihat "tidak masuk akal" dalam ‎aljabar, di dalam C# hal tersebut valid adanya. Dalam C#, pernyataan di atas akan menambahkan 5 dari ‎nilai variabel C. Jika C diberi nilai 20 sebelum statemen di atas, maka nilai akhir dari C adalah 30 setelah ‎statemen tersebut dijalankan.‎
 
Pernyataan-pernyataan yang telah dituliskan di atas sejauh ini mengandung beberapa elemen, ‎yakni variabel, operator penugasan, tanda penjumlahan, angka-angka dan juga tanda titik koma. Angka-‎angka, di dalam C#, seperti 3 dan 5, disebut dengan literal numerik, yang diklasifikasikan ke dalam ‎beberapa jenis tergantung seberapa jauh daya jangkaunya (''range'') dan seberapa tinggi ketelitiannya (''pre‎cision''). Angka-angka semacam 3 dan 5 merupakan contoh dari literal integer, karena memang angka 3 ‎dan angka 5 merupakan bilangan bulat yang tidak memiliki koma, pecahan, dan juga pangkat. Bagaimana ‎dengan bilangan bulat negatif? Ya, kita juga bisa memasukkan bilangan bulat negatif dalam C# dengan ‎menggunakan tanda minus, seperti kode di bawah ini.‎
<source lang="csharp">
 
C = -20;
</source>
 
Lalu, bagaimana kita memasukkan nilai bilangan bulat yang besar (jutaan atau miliaran)? Apakah ‎dengan menggunakan koma atau titik sebagai pemisah antar angka? Bahasa C# tidak mengizinkan kita ‎untuk menuliskan koma dan titik untuk merepresentasikan angka yang besar, apalagi hanya digunakan ‎sebagai pemisah antar angka. Statemen di bawah ini tidaklah valid menurut C#:‎
<source lang="csharp">
 
Z = 123,456,789;
</source>
 
Akan tetapi, tuliskan seperti di bawah ini:‎
<source lang="csharp">
 
Z = 123456789;
</source>
 
Kenapa huruf-huruf di atas (<code>A</code>, <code>B</code>, <code>C</code>, dan <code>Z</code>) disebut variabel? Huruf-huruf di atas disebut variabel ‎karena nilai yang bisa dikandungnya dapat bervariasi. Berikut ini adalah contoh statemen yang akan ‎mendemonstrasikan bagaimana nilai dari variabel dapat berubah:‎
<source lang="csharp">
 
A = 3;
B = 2;
C = A + B;
B = 10;
C = A + B;
</source>
 
Setelah baris ketiga dijalankan oleh komputer, nilai C adalah 5. Setelah baris kelima dijalankan ‎oleh komputer, nilai C adalah 13, bukannya 5 lagi. Dalam pemrograman, bisa saja variabel berubah secara ‎dengan banyak sekali perubahan ketika program tersebut dijalankan. Sebagai contoh, sebuah variabel ‎mungkin memang telah ditetapkan sebagai tempat penyimpanan Nama Santri, tetapi ketika program ‎dijalankan program tersebut akan mengisi variabel tersebut dengan nama santri, yang berjumlah lebih ‎dari satu, karena program tersebut disuruh untuk menangani puluhan, ratusan, atau bahkan ribuan nama ‎santri. Karenanya, untuk menghindari kebingungan antara pemrograman dan aljabar, para programmer ‎seringnya menyebut tanda sama dengan sebutan "C akan mendapatkan A ditambah B", atau "Nilai C akan ‎diisi dengan nilai A yang ditambah dengan B." Beberapa ''programmer'' mungkin menyebutnya dengan sebutan yang lebih ‎mudah, seperti "A ditambah B akan dimasukkan ke dalam C."‎
===Penggunaan Titik koma===
Penggunaan tanda titik koma di dalam bahasa C# pada akhir statemen program merupakan ‎sebuah cara yang sangat umum dilakukan oleh bahasa-bahasa pemrograman yang diturunkan dari bahasa ‎ALGOL. Penggunaan tanda titik dua tersebut dilakukan karena C# mengizinkan kode agar ditulis dalam ‎bentuk yang bebas. Dalam C#, kita tidak perlu menulis kode dalam baris-baris yang terlihat "bagus." Kita ‎bisa saja menulis kode di atas dengan menggunakan cara seperti di bawah ini:‎
<source lang="csharp">
 
A = 3; B = 2; C = A + B;
</source>
 
Atau, kita juga bisa menggunakan bentuk seperti di bawah ini, meski terlihat acak-acakan:‎
‎<source lang="csharp">
A‎ = 3 ‎;B
= 2; C = A
+ B;
</source>
 
Meski terlihat acak-acakan oleh kita, komputer tidak akan kebingungan untuk memprosesnya, ‎tanpa ada keluhan. Komputer akan membedakan baris-baris kode statemen program dengan ‎menggunakan karakter titik dua, tidak peduli apakah sebuah baris tersebut dibagi ke dalam banyak baris ‎terpecah-pecah, atau baris yang digabungkan dalam satu baris yang terlihat "rapi." Penggunaan spasi, dan ‎baris baru di dalam program, dalam C# umumnya dikenal dengan sebutan ''White Space'' (ruangan putih). ‎Para programmer sering menggunakan white space untuk membuat kode mereka terlihat lebih rapi. ‎Sebagai contoh, saya akan menggunakan white space untuk membedakan antara variabel, operand, dan ‎ekspresinya, seperti di bawah ini:‎
‎<source lang="csharp">
A = 3;
B = 2;
C = A + B;
</source>
 
Meski kode di atas terlihat lebih rapi, kita tidak mesti melakukannya.‎
===Penamaan Variabel===
Meski <code>A</code>, <code>B</code>, <code>C</code>, dan <code>Z</code> adalah sebuah nama yang enak dibaca untuk nama-nama variabel, kita bisa ‎membuat variabel dengan nama-nama yang lebih enak untuk diingat, seperti:‎
<source lang="csharp">
variabel1 = 3;
Variabel1 = 2;
variAbel1 = variabel1 + Variabel1;
</source>
Bahasa C# merupakan bahasa pemrograman yang bersifat ''case-sensitive'', artinya kita dapat ‎menggunakan karakter kapital (A sampai Z) dan huruf ordinal (a sampai z) sebagai nama variabel, tapi ‎memang harus ada konsistensi. <code>Variabel1</code>, <code>variabel1</code> dan <code>variAbel1</code> tidaklah sama! Tiga variabel di atas adalah tiga ‎variabel yang berbeda di dalam C#, meskipun dalam beberapa bahasa seperti [[w:Pascal|Pascal]] dan [[w:Visual Basic|Visual Basic]], ‎merupakan variabel yang sama. Untuk meminimalisasi tingkat kebingungan yang kita alami, kita bisa ‎menghindari penggunaan nama variabel yang sama tetapi berbeda huruf kapital dan ordinalnya.‎
 
Peraturan untuk membuat nama-nama variabel di dalam C# lebih kompleks dibandingkan dalam ‎bahasa C, C++, atau Java, karena C# mendukung penggunaan karakter-karakter di luar karakter Latin, ‎seperti ''[[w:Bahasa Rusia|Cyrillic]]'', [[w:Bahasa Arab|Arab]], dan juga [[w:Bahasa Yunani|Yunani]]. Kita bisa saja menggunakan aksara Yunani sebagai nama variabel ‎seperti di bawah ini:‎
variabel1 = 3;
<source lang="csharp">
Variabel1 = 2;
π = 3.14;
variAbel1 = variabel1 + Variabel1;
Ω = 4.13;
 
</source>
Bahasa C# merupakan bahasa pemrograman yang bersifat ''case-sensitive'', artinya kita dapat ‎menggunakan karakter kapital (A sampai Z) dan huruf ordinal (a sampai z) sebagai nama variabel, tapi ‎memang harus ada konsistensi. <code>Variabel1</code>, <code>variabel1</code> dan <code>variAbel1</code> tidaklah sama! Tiga variabel di atas adalah tiga ‎variabel yang berbeda di dalam C#, meskipun dalam beberapa bahasa seperti Pascal dan Visual Basic, ‎merupakan variabel yang sama. Untuk meminimalisasi tingkat kebingungan yang kita alami, kita bisa ‎menghindari penggunaan nama variabel yang sama tetapi berbeda huruf kapital dan ordinalnya.‎
Peraturan untuk membuat nama-nama variabel di dalam C# lebih kompleks dibandingkan dalam ‎bahasa C, C++, atau Java, karena C# mendukung penggunaan karakter-karakter di luar karakter Latin, ‎seperti ''Cyrillic'', Arab, dan juga Yunani. Kita bisa saja menggunakan aksara Yunani sebagai nama variabel ‎seperti di bawah ini:‎
 
π = 3.14;
Ω = 4.13;
 
Untuk aksara-aksara yang dapat diketik dengan mudah dengan menggunakan keyboard, C# ‎menawarkan beberapa peraturan dalam pemberian nama kepada variabel, yakni sebagai berikut:‎
 
Baris 116 ⟶ 119:
Nama-nama variabel juga tidak boleh mengandung spasi atau tanda baca selain karakter garis ‎bawah (''underscore''). Untuk variabel yang menggunakan banyak kata di dalamnya, para ''programmer'' sering ‎menggunakan karakter ''underscore'' untuk memisahkan kata-kata tersebut:‎
<source lang="csharp">
 
jumlah_siswa=4120;
</source>
 
Atau, mereka juga bisa menggunakan campuran antara huruf besar dan huruf kecil, seperti di ‎bawah ini:‎
<source lang="csharp">‎
JumlahSiswa=4120;
</source>
 
Meski demikian, ada beberapa kata yang tidak dapat digunakan sebagai nama-nama variabel. ‎Kata-kata tersebut, dinamakan dengan '''''C# Keyword''''' ('''kata kunci C#'''), yang memang direservasikan oleh C#. ‎Kira-kira ada 87 buah keyword yang terdapat di dalam C# yang tidak bisa digunakan di dalam melakukan ‎penamaan variabel.‎
<center>
Baris 238 ⟶ 241:
</center>
Sebagian besar programmer menggunakan nama-nama variabel yang lebih memiliki makna ‎dalam berbagai hal. Mungkin, orang lain selain kita akan membaca program yang kita buat, atau memang ‎kita akan membaca kembali program yang kita buat, setelah beberapa lama kita tidak membukanya. Kita ‎akan mendapatkan manfaat yang sangat besar, ketika kita memang menulis variabel dengan nama-nama ‎yang memberitahukan apa maksud dari setiap variabel tersebut.‎
<source lang="csharp">‎
BayaranSMP = 350000;
BayaranSMA = 450000;
BayaranSD = 150000;
</source>
 
Meski statemen di atas kelihatan lebih panjang, jelas kita lebih mudah memahaminya ‎dibandingkan dengan menggunakan huruf <code>A</code>, <code>B</code>, <code>C</code> atau <code>Z</code> sebagai nama variabel. Kalau memang kita malas ‎mengetik nama variabel yang panjang, kita bisa menggunakan singkatan-singkatan yang meskipun singkat ‎tetap menunjukkan kejelasan, sebagai berikut:‎
<source lang="csharp">
 
‎ByrSMP = 350000;
ByrSMA = 450000;
ByrSD = 150000;
</source>
 
Meskipun memang bagi manusia statemen-statemen di atas terlihat sudah sempurna, bagi ‎kompiler C#, statemen di atas tidaklah sempurna, karena memang statemen-statemen di atas hanyalah ‎berisi ekspresi saja. Kompiler membutuhkan tambahan informasi untuk memulainya, yang dibahas pada ‎bagian berikutnya.‎
===Hungarian Notation===