Belajar Bahasa C sharp/Bab II: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Bennylin (bicara | kontrib)
Tidak ada ringkasan suntingan
Hidayatsrf (bicara | kontrib)
k clean up using AWB
Baris 394:
 
int JumlahHariSakit;
JumlahHariSakit = 10;
 
int TotalAbsensi;
Baris 450:
==Method (metode)==
Sampai di sini, apakah program C# di atas merupakan kode yang lengkap? Sayangnya, belum! ‎Dalam C#, seperti halnya di dalam sebagian besar bahasa pemrograman modern lainnya, kode disusun ‎sedemikian rupa ke dalam satuan yang disebut dengan '''kelas''' ('''''class''''') dan '''metode''' ('''''method'''''). Setiap metode ‎mengandung kode yang mampu melakukan beberapa tugas tertentu. Mungkin, jika Anda pernah ‎mempelajari bahasa pemrograman lainnya, istilah '''metode''' ini ekuivalen dengan '''prosedur''' (''procedure''), '''‎subrutin''' (''subroutine'') atau '''fungsi''' (''function''). Metode-metode yang saling berhubungan dapat ‎dikelompokkan ke dalam sebuah kelas.
 
‎Program paling sederhana di dalam C# adalah program yang hanya memiliki satu buah kelas yang ‎mengandung satu buah metode. Paling tidak, sebuah program dalam C# harus memiliki sebuah metode ‎yang disebut dengan <code>Main()</code>. Metode <code>Main()</code> merupakan sebuah metode yang selalu dijalankan oleh ‎komputer pertama kali ketika program tersebut dijalankan oleh pengguna. Jika Anda pernah mempelajari ‎bahasa pemrograman lain sebelumnya, mungkin Anda pernah mengenal istilah "'''''Entry Point'''''". Metode ‎Main() adalah Entry Point di dalam C#! Untuk program-program yang sangat pendek, metode <code>Main()</code> ‎kadang-kadang merupakan metode yang terdapat di dalam program yang bersangkutan. Meskipun Main ‎memiliki peranan yang sangat besar di dalam bahasa C#, kata "<code>Main</code>" sendiri bukanlah kata kunci di dalam ‎C#. Karena bukan kata kunci, maka kita bisa memberikan nama variabel menjadi <code>Main</code>, jika mau.
Baris 483:
<source lang="csharp">
static void Main()
{
 
}
Baris 569:
 
==Kelas (''class'')==
Sudah sampai di sini, apakah kode di atas bisa dibilang lengkap? Sayangnya, masih belum ‎lengkap! Di dalam C#, semua metode harus tergabung ke dalam sebuah '''kelas program''' ('''''class''''') atau '''‎struktur program''' ('''''structure'''''). Kelas dan struktur agak-agak mirip, sehingga, sampai kita belajar letak ‎perbedaan di antara keduanya, anggap saja bahwa kelas dan struktur adalah sama, dan apa yang saya bilang ‎mengenai kelas juga bisa diaplikasikan ke dalam struktur.
 
Dalam pemrograman berorientasi objek seperti halnya C#, sebuah '''''kelas adalah unit organisasi ‎dasar yang terdiri atas kode dan data'''''. Semuanya akan tersibak ketika kita terus belajar mengikuti ‎rentetan artikel di dalam kumpulan artikel ini. Hanya saja, yang perlu diingat adalah '''sebuah program C# ‎paling tidak haruslah terdiri atas satu kelas atau lebih, yang setiap kelasnya bisa berisi satu anggota''' (yang ‎disebut dengan ''member'') atau lebih, termasuk di antaranya adalah metode semacam <code>Main</code>.
Baris 610:
Sebuah program komputer memulai hidupnya sebagai berkas teks yang ditulis oleh kita, para (calon) ''programmer''. Berkas teks tersebut umumnya disebut dengan '''kode sumber''' ('''''source code'''''). Kode sumber program dalam bahasa pemrograman C# menurut konvensi, merupakan sebuah berkas teks dengan ekstensi <code>*.CS</code> (singkatan dari ''C Sharp''). Sebuah program juga bisa terdiri atas satu berkas kode sumber atau bahkan lebih dari satu (dan ini merupakan hal yang paling sering dilakukan).
 
Setelah kita membuat berkas kode sumber, baik itu satu berkas atau beberapa berkas, kita harus melakukan kompilasi terhadapnya dengan menjalankan program yang disebut dengan '''kompiler''' atau '''kompilator''' ('''''complier'''''). Kompiler bahasa C# adalah sebuah program yang terkandung di dalam [[w:Microsoft .NET Framework|Microsoft .NET Framework]] yang dapat membaca kode sumber yang kita buat dan akan mengubah kode sumber kita ke dalam bahasa yang dimengerti oleh komputer, yang di dalam .NET Framework disebut dengan [[w:Common Intermediate Language|Microsoft Intermediate Language]] (MSIL), yang pada umumnya dalam bentuk berkas biner dengan ekstensi <code>*.EXE</code> (singkatan dari ''Executable'').
 
Kompiler C# akan mencoba membaca kode sumber yang kita buat, dan jika memang ia menemukan sebuah masalah dengan kode sumber yang kita buat, maka ia akan memberitahukan kepada kita mengenai masalah tersebut dan mungkin bagaimana cara mengatasi masalah tersebut. Masalah-masalah pengetikan yang salah atau kesalahan lainnya yang terjadi saat kompilasi, umumnya disebut dengan '''kesalahan sintaksis''' ('''''syntax error''''') atau '''kesalahan waktu kompilasi''' ('''''compile-time error'''''). Jika kompiler melaporkan adanya kesalahan, kita harus menyunting ulang kode sumber kita untuk mengoreksi kesalahan tersebut. Kadang-kadang, ''compile-time error'' juga dipanggil dengan sebutan '''''compiler error''''', seolah-olah kompiler merupakan pihak yang salah, bukannya kita sebagai ''programmer'' yang salah. Meskipun memang, kompiler juga sering melakukan kesalahan dalam melakukan kompilasi, hal yang paling sering terjadi adalah kompiler menemukan kesalahan yang kita buat dalam kode kita.
 
Setelah pada akhirnya kita dapat "membujuk" kompiler agar membuatkan berkas <code>*.EXE</code> dari kode sumber program kita, kita dapat menjalankan program tersebut. Pada saat dijalankan, program tersebut berada di dalam kendali [[w:sistem operasi|sistem operasi]], dan karena bahasa C# merupakan salah satu anggota dari bahasa .NET Framework, program yang dibangun dengan menggunakan C# dijalankan dengan menggunakan '''''[[w:Common Language Runtime|Common Language Runtime]]''''' (CLR) yang tergabung ke dalam .NET Framework.
 
Sistem operasi atau CLR akan mencoba menjalankan program yang kita buat, akan tetapi mungkin saja program yang kita buat tidak mampu melakukan apa yang kita harapkan dengan sempurna. Kadang-kadang, kode yang kita buat itu mencoba untuk melakukan hal-hal yang tidak diperbolehkan (seperti mengakses area memori yang tidak dimiliki olehnya). Akhirnya, program tersebut pun mengalami kesalahan saat berjalan, dan CLR atau sistem operasi akan memberikan laporan kesalahan dengan menggunakan sebuah kotak dialog. '''Masalah-masalah yang terjadi saat program dijalankan, disebut dengan ''runtime error'' atau ''exception'''''. Karena berkas EXE merupakan berkas biner yang sulit untuk dilihat dengan menggunakan editor teks biasa, maka untuk mengoreksinya kita harus membuka kembali berkas kode sumber yang membentuk berkas <code>EXE</code> yang bersangkutan.
 
Keseluruhan proses di atas, dikenal juga dengan sebutan '''<code>Edit-Compile-Run</code>''', dan merupakan bagian yang sering dilakukan dalam rangka membuat dan mengembangkan program. Semua program, kecuali program-program yang kecil, melalui beberapa kali proses '''Edit-Compile-Run''' sebelum akhirnya selesai dan dapat dipublikasikan. Ketika menulis program yang besar, saya seringnya melakukan proses tersebut secepat mungkin, untuk mengetahui apakah program yang masih belum besar tersebut benar-benar berjalan dengan sempurna atau tidak.
 
Nah, ketika kita akhirnya melihat bahwa program yang kita buat terkesan baik-baik saja tanpa ada yang "mencurigakan", ada satu tugas lagi yang menunggu kita, yaitu '''pengujian'''. Mungkin, kita akan menemukan bahwa program yang kita buat masih tidak berjalan dengan benar. Masalah di dalam program yang sudah jadi ini, disebut dengan istilah "'''''bug'''''." Menemukan ''bug'' sama seperti mencari kecoa di kamar kita, kadang-kadang gampang, kadang-kadang sulit, tetapi kesulitan merupakan hal yang sering dialami oleh para ''programmer''. '''Sebuah ilmu khusus dibutuhkan untuk mencari, menemukan, dan mengoreksi ''bug'' dalam program, yang disebut dengan ''debugging'''''. Sayangnya, karena ''debugging'' merupakan topik tingkat lanjut, hal itu (mungkin) tidak akan diulas di kumpulan artikel ini.
Baris 668:
Coba ganti kata <code>class</code> dengan kata <code>struct</code> (yang merupakan singkatan dari kata '''structure''') di dalam kode sumber program. Program yang kita buat mungkin terlihat akan bekerja dengan normal, dan tidak ada perbedaan dengan ketika kita menggunakan kata kunci <code>class</code>. Padahal, di antara <code>class</code> dan <code>struct</code>, terdapat perbedaan yang sangat besar, dan memahami perbedaan tersebut, merupakan salah satu aspek terpenting dalam belajar bahasa pemrograman berorientasi objek seperti halnya bahasa C#.
==Input dan Output==
Pada saat-saat awal pengembangan program kita, kita hanyalah pengguna program tersebut, dan peranan kita pun berganti-ganti antara pengguna, penguji dan ''programmer''. Program yang kita buat haruslah memiliki beberapa cara untuk menampilkan ''output'' bagi pengguna, dan juga mampu menerima ''input'' dari mereka. Kedua hal tersebut dinamakan juga dengan '''I/O''' atau '''Input dan Output'''.
 
Metode untuk melakukannya, yang sering disebut dengan '''model I/O''', berbeda-beda antar program, tergantung cara kerja program tersebut. Program yang berjalan di atas sistem operasi Windows akan menerima ''input'' dari pengguna dengan menggunakan ''keyboard'', ''mouse'', dan beberapa kontrol lainnya (seperti halnya tombol dalam layar dan baris gulung/''scroll bar''). Program-program Windows menampilkan output kepada pengguna dalam bentuk teks dan grafik-grafik berwarna. Akan tetapi, program yang dimiliki di dalam perangkat lainnya, seperti di dalam oven ''microwave'' atau kulkas yang ada komputer digital di dalamnya, pasti memiliki model I/O yang sangat berbeda dengan model I/O yang digunakan oleh program Windows. Alat input yang digunakan mungkin hanya beberapa buah tombol saja yang diletakkan di panel depan, sementara alat outputnya adalah perangkat yang mampu mematikan atau menyalakan ''oven microwave'', menyalakan lampu dan mematikannya, dan masih banyak lagi yang lainnya.
 
Seperti halnya bahasa C, bahasa C# tidak mengandung sesuatu yang spesifik yang mendukung I/O dengan pengguna. Mungkin, hal ini terdengar seperti sebuah kekurangan, akan tetapi sebenarnya bukan merupakan sebuah kekurangan. Mungkin, lebih tepatnya, C# dapat dikatakan tidak memiliki model I/O tertentu yang harus digunakan oleh programmer. Dan tugas Andalah (sebagai calon programmer) untuk memilih I/O yang hendak digunakan oleh program buatan Anda!