Belajar Bahasa C sharp/Bab II: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Metode dan Kelas |
|||
Baris 372:
Kita juga bisa mendeklarasikan beberapa variabel secara berbarengan di dalam sebuah statemen deklarasi, dan mendeklarasikan variabel lainnya di dalam pernyataannya sendiri-sendiri:
<source lang="csharp">
int JumlahHariIzin,
int TotalAbsensi;
Baris 403:
int JumlahHariIzin = 10;
</source>
===Inisialisasi variabel===
Pada saat sebuah variabel diberi nilai pada saat deklarasinya, maka variabel tersebut dikatakan "melakukan inisialisasi" (''initialization''). Tentu saja, setelah inisialisasi dilakukan, kita bisa mengubah nilainya dengan nilai yang berbeda di lain waktu, karena memang tidak ada bedanya antara melakukan inisialisasi variabel pada saat deklarasi di dalam pernyataan deklarasi dengan menetapkan sebuah nilai kepada sebuah variabel sesaat setelah pernyataan deklarasi dilakukan.
<source lang="csharp">
Baris 423 ⟶ 425:
Pada pernyataan deklarasi satu baris, kita dapat memilih untuk melakukan inisialisasi terhadap beberapa variabel untuk tidak melakukannya pada beberapa variabel, dengan memisahkan setiap variabel dengan menggunakan karakter koma, seperti di bawah ini:
<source lang="csharp">
int JumlahHariIzin = 10,
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
</source>
Baris 442 ⟶ 444:
int TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
</source>
==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.
===Bagaimana mendeklarasikan metode?===
Seperti halnya variabel, <code>Main</code> harus dideklarasikan di dalam program. Pendeklarasian metode memang sedikit lebih rumit dibandingkan dengan pendeklarasian variabel, karena memang ada beberapa hal yang terlibat di dalamnya.
Metode pada umumnya memiliki ''input'' dan ''output''. Sebagai contoh, sebuah metode yang menghitung jumlah absensi siswa, inputnya adalah jumlah harian di mana siswa yang bersangkutan tidak masuk kelas, dan outputnya adalah total jumlah absensi milik siswa tersebut. Metode dapat kita bayangkan sebagai sebuah "pabrik" yang mengubah bahan baku menjadi barang jadi. Pada umumnya, sebuah metode menerima input dalam bentuk beberapa variabel, yang disebut sebagai '''parameter metode''' (''method parameter''). Nah, metode tersebut kemudian akan mengubah variabel-variabel tersebut sedemikian rupa lalu mengeluarkan hasilnya sebagai output, yang disebut '''nilai kembalian''' (''return value'').
Kita saat ini akan membahas bagaimana mendeklarasikan sebuah metode sederhana, yang selalu ada di dalam setiap program C#, <code>Main</code>, tanpa penggunaan parameter dan nilai kembalian. Sedangkan bagaimana penggunaan parameter dan nilai kembaliannya nanti akan dibahas kemudian.
<source lang="csharp">
Main
</source>
Perlu diingat, karena bahasa C# merupakan sebuah bahasa pemrograman yang bersifat ''case-sensitive'', maka antara <code>Main</code>, <code>MAIN</code>, dan <code>main</code> adalah berbeda. Metode <code>Main</code> harus dimulai dengan huruf <code>M</code> besar.
Normalnya, parameter metode diindikasikan dengan sebuah daftar variabel yang dikurung di dalam sepasang tanda kurung buka ( dan tanda kurung tutup ) setelah nama metode tersebut dideklarasikan. Karena versi metode Main kita kali ini tidak memiliki parameter dan juga nilai kembaliannya, maka kata "<code>Main</code>" akan diikuti dengan menggunakan tanda kurung buka dan kurung tutup tanpa isi, seperti di bawah ini:
<source lang="csharp">
Main()
</source>
Saat sebuah metode memiliki nilai kembalian, tipe data dari nilai tersebut (seperti halnya <code>int</code>) harus ditambahkan di sebelah kiri nama metode pada saat deklarasi metode. Akan tetapi, saat metode tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan kata kunci <code>void</code> untuk menyatakan bahwa metode tersebut memang tidak memiliki nilai kembalian.
<source lang="csharp">
void Main()
</source>
Lantas, apa bedanya pendeklarasian variabel dengan pendeklarasian metode? Secara sekilas memang tidak ada perbedaan antara pendeklarasian variabel dengan pendeklarasian metode. Akan tetapi, jika pada pendeklarasian variabel, jenis variabel adalah hal yang ditulis sebelum nama variabel, pada pendeklarasian metode, jenis nilai kembalian adalah hal yang ditulis sebelum nama metode. Di situ adalah perbedaannya!
Apakah dengan menggunakan <code>void Main()</code> sudah membentuk sebuah metode yang sempurna? Masih belum! Kita harus menambahkan kata kunci <code>static</code>, seperti di bawah ini:
<source lang="csharp">
static void Main()
</source>
Buat apa sih kata kunci <code>static</code>? Untuk menjawabnya, sayangnya, hal tersebut melibatkan beberapa konsep yang berada di luar jangkauan konsep dasar (karena memang bab ini merupakan bab yang dikhususkan untuk pengenalan konsep dasar maka hal tersebut tidak akan dibahas saat ini). Untuk sekarang, kita bisa memikirkan kata kunci <code>static</code> sebagai pernyataan bahwa metode tersebut berdiri sendiri (mandiri), dan bersifat tetap serta tidak berubah-ubah selama eksekusi program dilakukan.
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 <code>{</code> dan tanda kurung keriting tutup <code>}</code> yang mengikuti daftar parameter, seperti di bawah ini:
<source lang="csharp">
static void Main()
{
}
</source>
Saya memang meletakkan tanda kurung keriting dalam dua baris berbeda, karena memang hal itu merupakan suka-suka! Karena C# merupakan bahasa dengan bentuk penulisan yang bebas, kita juga bisa menuliskannya di dalam baris yang sama, seperti:
<source lang="csharp">
static void Main()
{}
</source>
atau:
<source lang="csharp">
static void Main(){}
</source>
Nah, sekarang kita bisa menambahkan kode-kode dan algoritma ke dalam metode tersebut. Marilah kita mencoba memasukkan pernyataan-pernyataan sebelumnya ke dalam metode Main:
<source lang="csharp">
static void Main()
{
int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
int TotalAbsensi;
JumlahHariIzin = 10;
JumlahHariAlfa= 2;
JumlahHariSakit = 10;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
</source>
Sekelompok statemen-statemen C# yang diapit dengan menggunakan kurung keriting seperti di atas kadang disebut sebagai '''blok program''' (''program block''). Sehingga, jika kita mengambil kaidah dari contoh di atas, kita bisa merumuskan bahwa dalam pendeklarasian metode, terdapat beberapa hal yang terlibat, mulai dari ''modifier'' (yang dinyatakan dengan kata kunci <code>static</code>), jenis nilai kembaliannya (yang dinyatakan dengan kata kunci <code>void</code>), nama metodenya (<code>Main</code>), daftar parameter yang berada di dalam kurung (), dan juga blok program yang mengandung kode program dalam bahasa C#.
Sebagian besar ''programmer'' menulis program tidak seperti di atas, tetapi menjorokkan ke dalam satu tabulasi, seperti di bawah ini:
<source lang="csharp">
static void Main()
{
int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
int TotalAbsensi;
JumlahHariIzin = 10;
JumlahHariAlfa= 2;
JumlahHariSakit = 10;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
</source>
Apa yang dilakukan ''programmer'' di atas terhadap blok kode C# membuat metode tersebut terlihat lebih mudah untuk dibaca, dan juga menandakan bahwa pernyataan-pernyataan tersebut berada di dalam metode. Penggunaan berapa banyak spasi atau tabulasi adalah "terserah Anda!", meskipun memang sebagian besar programmer menggunakan 1 tabulasi. Microsoft Visual Studio dan Microsoft Visual C# Express Edition, pada kondisi bakunya memiliki konfigurasi 1 tabulasi setara dengan 4 spasi (Anda bisa mengubahnya lho). Sementara itu, kode yang ada di buku ini menggunakan empat buah spasi.
Beberapa ''programmer'' juga sering menulis kurung keriting buka pada baris yang sama dengan deklarasi metode, seperti:
<source lang="csharp">
static void Main(){
int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
int TotalAbsensi;
JumlahHariIzin = 10;
JumlahHariAlfa= 2;
JumlahHariSakit = 10;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
</source>
Banyak ''programmer'' yang familier dengan bahasa <code>Pascal</code>, C dan C++ menggunakan bentuk kode seperti di bawah ini:
<source lang="csharp">
static void Main()
{
int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
int TotalAbsensi;
JumlahHariIzin = 10;
JumlahHariAlfa= 2;
JumlahHariSakit = 10;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
</source>
Atau, mereka juga sering menggunakan dua spasi untuk menjorokkan blok kode, seperti di bawah ini:
<source lang="csharp">
static void Main()
{
int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
int TotalAbsensi;
JumlahHariIzin = 10;
JumlahHariAlfa= 2;
JumlahHariSakit = 10;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
</source>
Cara apapun yang kita gunakan dalam mengetik blok kode C#, kompiler C# tidak akan melihat bagaimana gaya kita menjorokkan blok kode. Terserah Anda mau menulis seperti apa, asalkan memang ada konsistensi dalam menulis kode, agar mata yang melihat tidak “capek”.
==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, hingga kita belajar letak perbedaan di antara keduanya, anggap saja 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 Main.
Program C# paling sederhana, tetapi lengkap akan terdiri atas sebuah kelas yang mengandung satu anggota, yang berupa metode dengan nama Main.
===Bagaimana mendeklarasikan Kelas?===
Deklarasi Kelas dilakukan dengan menggunakan kata kunci <code>class</code> yang diikuti nama dari kelas yang hendak dibuat, seperti di bawah ini:
<source lang="csharp">
class Program
</source>
Peraturan yang digunakan untuk membuat kelas sama saja dengan peraturan yang dimiliki oleh nama-nama variabel. Nama-nama variabel dan nama kelas dikenal juga dengan sebutan ''identifier'' (tanda pengenal), yang tentunya ditentukan oleh kita. Semua identifier harus dimulai dengan huruf atau karakter garis bawah dan harus mengandung hanya huruf, angka, dan karakter garis bawah saja. Meski demikian, kita tidak bisa menggunakan kata-kata kunci sebagai nama identifier. Walaupun Main bukanlah sebuah kata kunci di dalam C#, kita tidak dapat menggunakan Main sebagai nama kelas, jika memang di dalam kelas yang bersangkutan memiliki metode dengan nama Main.
Pendeklarasian kelas juga mengharuskan kita untuk menggunakan kurung keriting buka <code>{</code> dan kurung keriting tutup <code>}</code> seperti di bawah ini:
<source lang="csharp">
class Program
{
}
</source>
Di antara kurung keriting tersebut, kita bisa memasukkan metode-metode yang hendak kita buat, termasuk di antaranya adalah Main yang telah kita buat sebelumnya. Terserah Anda, jika ingin merapikan penulisan blok-blok kode program milik member dari kelas tersebut dengan menjorokkannya ke kanan:
<source lang="csharp">
class Program
{
static void Main()
{
int JumlahHariIzin, JumlahHariGhaib, JumlahHariSakit;
int TotalAbsensi;
JumlahHariIzin = 10;
JumlahHariAlfa = 2;
JumlahHariSakit = 10;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
}
</source>
Dan, akhirnya kode di atas merupakan kode dalam bahasa C# yang lengkap. Bagaimana cara membaca kode di atas? Kode tersebut hanya mengandung satu buah kelas, yang diberi nama Program. Kelas <code>Program</code> tersebut memiliki satu buah metode yang disebut dengan <code>Main</code>. Metode <code>Main </code>mendeklarasikan empat buah variabel dengan jenis data bilangan bulat. Program tersebut terdiri atas empat buah statemen penugasan.
|