MINGGU II : DASAR C# Bagian ini akan membahas tentang struktur dasar C# dan elemen-elemen dasar dalam C#. Pembahasan meliputi struktur dasar C#, Ekspresi, Tipe data, variable dan operator dalam C#.
Tujuan Pembelajaran Mahasiswa memahami dasar-dasar penulisan program dengan menggunakan bahasa C#.
Materi Struktur Dasar Program C# Sebuah script sederhana C# dapat dilihat pada script dibawah ini. Script ini hanyalah sebuah script yang akan menampilkan tulisan Hello, Budi Gunawan di layar. Aplikasi yang ditampilkan berupa aplikasi console.P using System; namespace KelasPemrograman { class ProgramContoh { static void Main(string[] args) { String nama = "Budi Gunawan"; Console.WriteLine("Hello, " + nama); Console.ReadKey(); } } }
C# merupakan sebuah bahasa yang menganut paradigma Object Oriented Programming. Semua variabel dan method yang ada dalam C# harus berada di dalam sebuah kelas. Minima l harus ada 1 buah kelas dalam sebuah script C#. Pada contoh diatas, kelasnya bernama ProgramContoh. Di dalam sebuah kelas akan ada properti dan method. Properti merupakan variabel dalam sebuah kelas sedangkan method merupakan fungsi yang ada dalam kelas. Pada contoh script diatas tidak ada properti yang dimiliki oleh kelas ProgramContoh, namun kelas ProgramContoh memiliki sebuah method yang bernama Main. Method Main merupakan method utama dalam sebuah script C# method ini akan menjadi entry point eksekusi program. Sebuah program yang dibangun dengan bahasa C# bisa memilik i banyak kelas dan masing- masing kelas bisa memiliki lebih dari 1 method. Method Main merupakan method yang pertama sekali dijalankan saat aplikasi dijalankan. Dari method Main
inilah nantinya method-method yang lainnya dijalankan. Tanpa adanya method Main maka aplikasi tidak bisa dijalankan. Namespaces Kelas dalam C# ditempatkan dalam sebuah namespaces. Namespaces dapat diumpamaka n sebagai kotak-kotak atau wadah tempat kelas-kelas dikumpulkan. Dalam sebuah namespaces bisa ditempatkan banyak kelas. Tujuannya adalah untuk membedakan satu kelas dengan kelas yang lainnya yang memiliki nama yang sama. Namespaces memungkinkan adanya kelas-kelas dengan nama yang sama selama kelas tersebut berada pada namespaces yang berbeda. Namespaces dapat diumpamakan sebagai kelas di sekolah. Dalam sebuah sekolah bisa saja terdapat siswa yang memiliki nama yang sama seperti budi, ayu dsb. Untuk bisa mengidentifikasi siswa dengan baik kadang digunakan informasi tambahan seperti nama kelasnya seperti "ayu siswa kelas 10a" atau "ayu siswa kelas 11b". Pada contoh script diatas kelas ProgramContoh berada dalam namespaces KelasPemrograman. Namespaces juga digunakan untuk mengelompokkan kelas-kelas dalam satu kelompok yang spesifik. Misalnya namespaces Net berisi kelas-kelas yang digunakan untuk menge lo la network. Sehingga kelas-kelas yang dibuat akan terkelompok dengan rapi sesuai dengan fungs i masing- masing kelas. Hal ini memudahkan programmer untuk memanggil kelas-kelas yang dibutuhkan. Misalnya saja programmer membutuhkan kelas-kelas untuk mengelola jaringan, maka programmer membutuhkan kelas-kelas yang ada dalam namespaces Net. Ada 2 metode penulisan untuk menggunakan kelas dari namespaces yang berbeda. Cara pertama adalah dengan menggunakan keyword using seperti pada script diatas using System;
Script contoh diatas menggunakan namespaces System karena akan menggunakan kelas Console yang terdapat dalam namespaces System. Cara berikutnya adalah dengan menuliska n kelas tersebut berikut dengan namespaces-nya. Contohnya adalah sebagai berikut System.Console.WriteLine("Hello, " + nama);
Identifier Identifier merupakan nama yang digunakan untuk mengidentifikasi elemen-elemen dalam kode sumber seperti nama namespaces, variabel, kelas dan method. Penamaan identifier harus mengikuti aturan berikut ini. 1.
Hanya diperbolehkan menggunakan huruf, angka dan underscore (garis bawah)
2.
Nama identifier tidak boleh diawali dengan angka.
Ekspresi (Statement) Statement dalam C# merupakan perintah bagi komputer untuk melakukan sebuah aksi. Statement ditulis mengikuti aturan penulisan statement. Aturan penulisan statement dalam C# adalah sebagai berikut 1.
Case Sensitive : C# membedakan antara huruf besar dan huruf kecil. Misalnya nama Mahasiswa dan mahasiswa merupakan nama yang berbeda dalam C#.
2.
Setiap statement dalam C# diakhir dengan titik koma ";". Beberapa statement dapat dijadikan satu baris selama masing- masing statement diakhiri oleh tanda ";" seperti contoh dibawah ini.
String nama="Andi"; Console.WriteLine(nama);
Tipe Data Ada banyak jenis data yang bisa diolah dengan komputer. Ada yang berupa bilangan bulat, bilangan berkoma, huruf/karakter, kata/kalimat, gambar, suara dsb. C# hanya bisa memproses data tertentu saja. Jenis data (tipe data) yang dapat diolah dapat dilihat pada tabel dibawah ini.
Pada tabel diatas terlihat tipe data primitif yaitu tipe data dasar yang yang dapat diproses oleh komputer. Tipe data diatas pada umumnya terdapat pada setiap bahasa pemrograman, tidak hanya C#. Namun pada C# tipe data diatas bukanlah benar-benar tipe data primitif. Melainkan ada kelas-kelas yang merepresentasikan masing-masing tipe data. Misalnya tipe data string merupakan representasi dari kelas String.
Kelas dalam C# merupakan sebuah tipe data. Artinya nanti selain tipe data yang telah dijelaskan diatas, akan banyak tipe data lainnya yaitu kelas-kelas. Kelas yang dibuat oleh programmer nantinya akan menjadi tipe sebuah data baru. Variable Variable
merupakan
lokasi
penyimpanan
data
di memori
komputer.
Data
bisa
ditempatkan/disimpan ke dalam variable dan data yang ada dalam sebuah variable juga dapat dibaca kembali. Operasi menyimpan data ke dalam variable merupakan operasi write sedangkan operasi membaca data dari variable merupakan operasi read. Setiap variable dalam C# harus dideklarasikan terlebih dahulu dan memiliki tipe data. Tipe data ini yang menentukan operasi apa yang bisa dilakukan terhadap variable tersebut. Deklarasi tipe data mengikuti format berikut ini <Tipe Data>
Begitu juga untuk kelas nantinya. Contoh variable pada script "Hello" diatas adalah String nama;
Pada contoh diatas nama adalah nama variable nya dan String merupakan tipe data variable tersebut. Variable yang dideklarasikan juga bisa diberikan nilai awal seperti pada contoh dibawah ini. String nama = "Budi Gunawan";
C# merupakan bahasa yang bersifat Strongly Typed. Artinya operasi yang mungkin dilakukan terhadap sebuah variable sangat tergantung pada tipe data variable tersebut. Sebuah variable dalam C# juga memiliki tipe data yang statis. Artinya jika sebuah variable sudah ditetapkan bertipe data integer, maka untuk selamanya variable tersebut akan bertipe data integer, tidak akan pernah berubah. Adakalanya saat deklarasi sebuah variable, programmer belum mengetahui tipe data yang akan disimpan ke dalam variable yang akan dideklarasikan. Pada kondisi seperti ini bisa digunaka n keyoword var untuk mendeklarasikan variable tersebut. Penggunaan keyword var akan mendeklarasikan sebuah variabel tanpa menentukan tipe data yang akan disimpan dalam variabel tersebut. Tipe data variabel tersebut akan ditentukan saat sebuah nilai disimpa n pertama sekali ke dalam variabel tersebut. Contoh penggunaan keyword var dapat dilihat pada script dibawah. var variable02; //Deklarasi variabel, tapi belum diketahui tipe datanya variabel02 = 13; //Menyimpan nilai integer ke dalam variabel menyebabkan tipe variabel tersebut diset menjadi integer.
Perlu diingat bahwa keyword var ini hanya bisa digunakan pada deklarasi variabel saja dan tidak bisa digunakan untuk merubah variabel yang sudah memiliki tipe data.
Variabel yang sudah dideklarasikan dengan tipe data tertentu hanya bisa menyimpan nilai yang sesuai dengan tipe data variabel tersebut. Kadangkala programmer menemukan situasi dimana pada saat itu dibutuhkan sebuah nilai untuk disimpan ke dalam sebuah variabel akan tetapi tipe data nilai yang akan disimpan berbeda tipe dengan tipe data variabel yang ada. Contoh kasus pada kondisi seperti input data dengan menggunakan fungsi Console.ReadLine(). Data yang diberikan dari fungsi tersebut selalu berupa String. Data yang dibutuhkan bisa saja bukan String seperti panjang jari-jari lingkaran (angka). Untuk itu diperlukan casting tipe data. Casting adalah proses mengubah sebuah tipe data menjadi tipe data lainnya. Dalam C# proses casting dapat dilakukan dengan menggunakan kelas Convert yang terdapat dalam namespace System. Kelas Convert memiliki method-method yang dapat digunakan untuk mengkonver s i suatu tipe data ke bentuk data lainnya. Perhatikan contoh tipe data berikut ini. String inputJariJari = Console.ReadLine(); //Data kembalian dari Readline() selalu berupa String int jariJari = Convert.ToInt16(inputJariJari); //Konversi dari string ke tipe data integer.
Operator Data yang digunakan didalam C# akan diproses oleh komputer. Pemrosesan data dilakukan dengan menggunakan operator. Operator adalah simbol yang digunakan untuk melakukan operasi terhadap data. Jenis operasi terhadap data yang ada dalam C# cukup banyak sehingga ada banyak operator yang dikenal dalam C#. Operator-operator yang ada dalam C# dapat dilihat pada tabel dibawah ini.
Operasi yang dapat dilakukan terhadap suatu data sangat tergantung kepada tipe data tersebut. Misalnya saja, operasi aritmatika tidak bisa dilakukan terhadap data berupa String. Oleh karena itu perlu diperhatikan jenis data yang ada sebelum menggunakan operator tersebut. Contoh penggunaan operator untuk memproses data dalam menghitung luas segitiga. Menghitung segitiga dapat dilakukan dengan menggunakan persamaan berikut ππππ β π‘πππππ 2 Dalam C#, kita tidak bisa membuat statement seperti rumus diatas. Oleh karena itu perlu dibuat πΏπ’ππ =
statement C# yang relevan dengan rumus tersebut. Statement tersebut dapat dilihat sebagai berikut. luas = alas * tinggi / 2;
Operator yang ada dalam tabel diatas diurutkan berdasarkan tingkat prioritasnya. Operator yang memiliki prioritas yang lebih tinggi akan dioperasikan terlebih dahulu dibandingka n operator yang memiliki prioritas lebih rendah. Satu statement C# bisa menggunakan lebih dari
satu operator. Pada kondisi seperti ini operator tersebut dioperasikan berdasarkan tingkatan prioritas operator. Perhatikan rumus berikut ini βππ‘π’ππ =
3 +6 2 +1
Persamaan diatas dijadikan statement c# maka statement berikut adalah salah. hasil = 3 + 6 / 2 + 1;
Statement diatas akan menghasilkan nilai 7 tersimpan pada variabel hasil. Hal ini dikarenakan operator / memiliki prioritas yang lebih tinggi dibandingkan operator + sehingga pembagian akan dilakukan terlebih dahulu sebelum penjumlahan. Setelah penjumlahan dilakukan baru nilainya disimpan ke dalam variabel hasil menggunakan operator =. Seharusnya statement tersebut ditulis seperti berikut. hasil = (3 + 6) / (2 + 1);
Statement diatas akan menghasilkan nilai 3 seperti yang diharapkan. Operator () memilik i prioritas yang paling tinggi sehingga mengeksekusi pejumlahan terlebih dahulu.
Ringkasan β’
C# merupakan bahasa yang berorientasi objek. Semua deklarasi variabel dan fungs i dilakukan di dalam kelas.
β’
Namespaces digunakan untuk mengelompokkan kelas-kelas dalam C#.
β’
Statement dalam C# merupakan instruksi untuk dieksekusi oleh komputer.
β’
Kode sumber C# dibangun dari beberapa komponen. Komponen-komponen yang digunakan dalam kode sumber C# antara lain identifier, keyword, variable, operator, tipe data
Tugas dan Latihan Daftar Pustaka