HARI KEDUA PELATIHAN JAVA FUNDAMENTAL Selasa, 31 Agustus 2010 Materi yang akan dibahas pada pertemuan ini adalah : 1. 2. 3. Penggunaan Operator (Lanjutan) • Operator Kondisional • Operator Logika Pengenalan class dan objek • Pengenalan konsep class dan objek pada pemrograman Java • Analogi class dan objek dengan menggunakan contoh studi kasus • Penerapan konsep objek dan class pada pemrograman Java • Penggunaan Konstruktor Struktur Kontrol • Struktur Kontrol IF • Struktur Kontrol IF – ELSE • Struktur Kontrol IF – ELSE IF • Struktur Kontrol SWITCH…CASE Operator Logika • Operator logika memiliki 1 atau lebih operand boolean yang akan menghasilkan nilai boolean (true atau false). • Ada 6 operator logika yang dapat anda gunakan dalam pemrograman Java : • && -> Operator logika AND. • & -> boolean operator logika AND. • || -> Operator logika OR. • | -> boolean operator logika inclusive OR. • ^ -> boolean operator logika exclusive OR. • ! -> operator logikan NOT. • Tabel Operator logika AND (&) : Pengenalan Class dan Objek • Jika masih ingat dengan materi sebelumnya, kita sempat sedikit membahas tentang OOP, class dan objek pada pemrograman Java. • Pada materi ini akan di jelaskan lebih lanjut mengenai penggunaan class dan objek pada pemrograman berorientasi objek terutama pada pemrograman java. • Mungkin pada materi yang akan di bahas dalam pelatihan training ini anda hanya menggunakan sedikit class dan beberapa objek saja dalam program yang anda buat. • Namun jika anda berkecimpung dan terlibat dalam pengembangan sebuah team dalam dunia industri, mungkin dalam aplikasi yang anda buat terdapat ratusan class. Pengertian Class • Mari kita mulai pembahasan tentang class dalam pemrograman menggunakan konsep OOP dengan contoh analogi sederhana agar anda lebih mudah menerima dan mengerti penjelasan yang saya berikan. • Anggaplah anda ingin mengendarai sebuah mobil dan jika anda ingin melaju lebih kencang maka anda akan menginjak pedal gas. Tapi pikirkan apa yang harus terjadi sebelum anda dapat melakukan hal ini. • Sebelum anda dapat mengendarai sebuah mobil, maka seorang engineer mesin harus mendesain sebuah mobil terlebih dahulu. Umumnya membuat sebuah mobil dimulai dengan menggambarkan konsep yang di inginkan sama halnya dengan cetak biru pada desain sebuah rumah. • Konsep gambar ini akan meliputi desain mobil dan pedal gas tersebut untuk membuat mobil dapat melaju dengan kencang. • Sebenarnya ada serangkaian proses yang kompleks sekali dalam gambaran seorang pengemudi ketika menginjak pedal gas untuk membuat mobil melaju dengan lebih kencang. • Namun gambaran proses rumit yang terjadi tersebut “disembunyikan” dari sudut pandang pengemudi, sama dengan gambaran bagaimana proses mobil dapat berbelok ke kiri dan ke kanan dengan mengarahkan setir mobil yang juga “di sembunyikan”. • Hal ini dimaksudkan agar pengemudi yang tidak memiliki pengetahuan tentang cara kerja mesin mobil dapat mengendarai mobil dengan mudah. • Dalam kasus ini kita dapat melihat bahwa seseorang yang ingin mengendarai sebuah mobil namun ia tidak akan pernah bisa mengendarainya jika sang engineer tidak menyelesaikan desain gambar tersebut dan desain rancangan tersebut akan di gunakan untuk membuat sebuah mobil. • Sebuah mobil yang telah selesai di buat di pabrik akan memiliki pedal gas untuk membuatnya melaju lebih kencang, namun pedal gas tersebut tidak bisa menambah kecepatannya sendiri bukan ?. Butuh seorang pengemudi yang menginjak pedal gas dan menjalankan mobil tersebut. • Dari contoh analogi tersebut marilah kita gunakan dalam konsep pemrograman kita ini. Menjalankan sebuah tugas dalam program memerlukan sebuah method (fungsi/cara). • Method yang menggambarkan mekanisme dari proses sebenarnya yang terjadi ketika tugas sedang di jalankan, pada kasus di atas yaitu pedal gas yang membuat mobil melaju kencang menyembunyikan proses yang kompleks ke hadapan pengemudi mobil. • Dalam Java, kita membuat sebuah kesatuan program yang di sebut dengan sebuah class untuk merumahkan sebuah method. Dalam class, anda dapat menyediakan 1 atau banyak method-method yang di rancang untuk menjalankan tugas dari class. • Contoh lainnya, sebuah class yang mewakili rekening bank/tabungan mungkin memiliki sebuah method untuk menyimpan uang ke dalam tabungan, method lain yang mungkin adalah untuk menarik uang dari tabungan, dan kemungkinan method yang ke tiga adalah untuk menanyakan jumlah saldo pada tabungan sekarang. • Seperti halnya anda tidak dapat mengendarai sebuah rancangan gambar mobil, maka anda tidak dapat “mengendarai” sebuah class. Anda harus membuat sebuah objek dari sebuah class sebelum anda dapat menjalankan sebuah program yang bisa menjalankan tugas dari class yang menggambarkan hal yang harus di lakukan. • Ketika anda mengendarai sebuah mobil, menginjak pedal gas akan mengirimkan instruksi pada mesin mobil untuk menjalankan sebuah perintah/tugas yaitu membuat mobil agar melaju lebih kencang. • Sama halnya dengan anda mengirimkan pesan pada objek- setiap pesan di kenal dengan nama panggilan method dan akan memberitahukan method dalam objek tersebut untuk menjalankan tugasnya. • Sejauh ini dari penjelasan yang telah diberikan, kita menggunakan analogi sebuah mobil untuk mengenalkan pada anda konsep class, objek dan method. Sebagai hal tambahan dalam sebuah mobil juga memiliki banyak atribut di dalamnya. • Atribut yang di miliki oleh sebuah mobil seperti : warna, jumlah pintu, jarak yang telah di tempuh, merk, dll. Atribut ini mewakili bagian-bagian yang ada dalam mobil dan selalu berhubungan dengan mobil itu sendiri. • Setiap mobil memiliki atributnya masing-masing, sebagai contoh : anda dapat melihat dan mengetahui berapa sisa bahan bakar yang ada pada mobil anda sekarang tapi tidak dapat mengetahui sisa bahan bakar pada mobil lain. • Sama halnya dengan sebuah objek pada program Java memiliki atribut yang di bawa bersama dengan objek yang di gunakannya dalam program. • Jika anda masih mungkin merasa bingung tentang mengenai penjelasan yang panjang mengenai class, objek dan atribut dari contoh yang diberikan. Maka berikutnya kita akan melihat contoh program yang akan menggunakan konsep dari analogi mobil tersebut. • Saya akan menggunakan 4 buah contoh program untuk memperlihatkan dan mendemonstrasikan konsep yang telah kita bicarakan sebelumnya mengenai class, objek dan atribut. • Contoh pertama menggunakan sebuah class helloworld dengan 1 buah method sederhana yang menampilkan pesan selamat datang ketika method itu di panggil. Kemudian saya akan menunjukkan pada anda bagaimana membuat sebuah objek dari sebuah class dan memanggil method tersebut yang kemudian akan menampilkan pesan selamat datang. • Contoh kedua, memodifikasi program yang kita buat dari poin contoh pertama dengan mengijinkan method menerima panggilan nama sebagai argument dan menampilkan nama tersebut sebagai bagian dari pesan selamat datang. • Contoh ketiga adalah menunjukkan bagaimana cara menyimpan nama dalam objek helloworld. Dalam class versi ini, akan ditunjukkan juga bagaimana caranya menggunakan method untuk menset nama course dan mendapatkan nama course. • Contoh yang keempat adalah menunjukkan bagaimana data dalam objek helloworld dapat di inisialisasikan ketika object di buat – proses inisialisasi ini di wakili oleh sebuah class konstruktor. Mendeklarasikan Class dengan 1 buah method • Berikut adalah contoh program bagaimana anda dapat mendeklarasikan sebuah class hanya dengan menggunakan sebuah method saja : import java.io.*; public class helloworld { public void tampilPesan() { System.out.println("Hello World, Selamat datang user."); System.out.println("Pesan ini tampil\ndengan "+ "menggunakan method loh !!"); } } • Silahkan anda mengcompile program yang baru anda buat. Namun ketika di run akan muncul pesan error, kenapa demikian ?. • Program berikutnya yang akan kita buat adalah untuk memanggil method tampilPesan() dalam class yang sudah kita buat sebelumnya yaitu helloworld.java . import java.io.*; public class run_hello { public static void main(String args[]) { helloworld hello = new helloworld(); hello.tampilPesan(); } } • Compile program run_hello.java anda dan running untuk melihat programnya. Notes : mendeklarasikan lebih dari 1 public class dalam 1 file yang sama akan menyebabkan error pada waktu proses kompilasi source program. hasil ouput • Deklarasi dari class helloworld mengandung sebuah method dengan nama tampilPesan() yang akan mencetak pesan ke layar. Sedangkan baris ke 6-8 dari program akan mendukung kerja dari method menampilkan pesan. • Deklarasi class sendiri dapat dilihat pada program baris ke-3, keyword public merupakan akses bagi programmer untuk merubah. Untuk sekarang kita secara sederhana menggunakan public setiap membuat class. • Setiap anda mendeklarasikan sebuah class maka harus di ikuti keyword class diikuti dengan nama class. Kemudian setiap badan atau isi class harus di lingkupi dengan sepasang tanda kurung buka kurawal dan tanda kurung kurawal ( { dan } ) seperti pada contoh program helloworld.java baris ke 5 dan 9. • Kebanyakan dari method tidak dapat memanggil dirinya secara otomatis. Hal ini dapat anda lihat pada contoh pogram ke-2 bahwa di perlukan sebuah task untuk memanggil method untuk menjalankan tugasnya. • Penggunaan deklarasi method dengan keyword public menandakan bahwa method tersebut dapat di akses dari luar atau dengan kata lain “terbuka untuk umum”. Ini merupakan intinya, bahwa sebuah method dapat di panggil dari luar deklarasi body class dengan method yang ada pada class lain. • Program berikutnya yang akan anda buat adalah program menampilkan pesan dengan menggunakan parameter : import java.io.*; public class paramhello { public void tampilPesan(String nama) { System.out.printf("Selamat datang di pemrograman Java, %s",nama); } } • Program untuk menampilkan pesan dengan memanggil parameter : import java.io.*; import java.util.*; public class tesparameter { public static void main(String args[]) { Scanner input = new Scanner(System.in); //membuat objek paramhello dan menugaskan ke dalam variabel parameter paramhello parameter = new paramhello(); System.out.print("Inputkan nama anda : "); String strnama = input.nextLine(); System.out.println(); //mencetak baris kosong //memanggil method tampilpesan() parameter.tampilPesan(strnama); } } Instance variabel, set method dan mengambil method • Pada pembahasan sebelumnya, kita mendeklarasikan semua variabel di dalam method utama dalam class (main method). • Variabel yang kita dalam deklarasikan dalam method ini disebut juga dengan variabel lokal dan hanya dapat di gunakan dalam method itu saja. • Ketika method tersebut di hentikan, nilai dari variabel lokal tersebut akan hilang. Atribut yang telah ada sebelum method dipanggil dalam sebuah objek dan setelah method selesai di eksekusi oleh program. • Sebuah class, normalnya hanya terdiri dari 1 atau beberapa method yang memanipulasi atribut yang dimiliki oleh beberapa objek dalam class. • Contoh program Java menggunakan instance variabel : (simpan file program Java anda dengan nama : insvariabel.java) import java.io.*; public class insvariabel { private String strinstance; public void setNamaVariabel(String strnama) { strinstance = strnama; //menyimpan nama variabel } //method untuk menampilkan nama variabel public String getNamaVariabel() { return strinstance; } public void TampilPesan() { System.out.printf("Selamat datang di pemrograman Java,\n%s !!\n ",getNamaVariabel()); } } • Program java untuk menjalankan insvariabel.java : (simpan file program java anda dengan nama : tes_insvariabel.java) /*program untuk membuat dan memanipulasi objek insvariabel*/ import java.io.*; import java.util.Scanner; public class tes_insvariabel { public static void main(String args[]) { Scanner input = new Scanner(System.in); insvariabel var = new insvariabel(); System.out.printf("Inisial nama user : %s\n\n",var.getNamaVariabel()); System.out.println("Inputkan nama user : "); String namauser = input.nextLine(); //membaca baris inputan var.setNamaVariabel(namauser); System.out.println(); var.TampilPesan(); } } Kesimpulan : • Sebuah Class dalam pemrograman Java di gunakan untuk merepresentasikan sebuah objek dan akan bertindak sebagai cetak biru untuk membentuk sebuah objek. • Class akan selalu memiliki method (what they do) dan atribut (what they have). • Sebagai contoh, pensil sebagai objek (class) maka objek pensil akan memiliki method dan atribut. • Bisakah anda sebutkan, method dan atribut yang mungkin di miliki oleh objek pensil tersebut ???. • Berikut ini adalah model atau bentuk dari UML untuk menggambarkan sebuah objek dengan nama “pensil” beserta dengan method dan atribut yang melekat di dalam objek tersebut : Nama Class Method Atribut Struktur Kontrol dan Kondisi • Dalam pemrograman Java, mengenal adanya 4 jenis struktur kondisi. • 4 Struktur kondisi yang akan kita pelajari adalah berikut ini : • Struktur kondisi IF Struktur kondisi IF…ELSE Struktur kondisi bertingkat IF…ELSE IF Struktur kondisi SWITCH…CASE Bentuk struktur kondisi umumnya sering di gunakan dalam pemrograman, bahkan hampir semua bahasa pemrograman mengenali bentuk dari struktur kondisi. • Umumnya bentuk dari struktur kondisi di kombinasikan dengan penggunaan struktur perulangan seperti for, while dan do…while. Struktur Kondisi IF • Bentuk struktur kondisi IF merupakan bentuk struktur kondisi yang paling dasar. • Struktur kondisi IF umumnya di gunakan sebagai bentuk pengambil keputusan dalam sebuah program berdasarkan kondisi atau ekspresi yang di berikan. • Struktur kondisi IF hanya bisa menghasilkan 1 kondisi saja, yaitu kondisi dari sebuah statement yang memiliki nilai true saja. • Untuk lebih jelasnya, anda akan melihat contoh bentuk pseudocode dan program dengan menggunakan fungsi IF. • Berikut ini adalah bentuk pseudocode untuk menyatakan fungsi IF : Jika nilai ujian siswa lebih besar atau sama dengan 60 Cetak “Selamat anda lulus” • Bentuk pseudocode di atas jika di terjemahkan ke dalam program dengan menggunakan Java maka akan menghasilkan penggalan sintaks program berikut : If(nilai_siswa >= 60) System.out.print(“Selamat anda lulus”); • Jika kita melihat penggalan program dengan menggunakan fungsi IF di atas, maka bentuk dari fungsi IF hanya dapat menerima 1 argumen atau statement saja. Bagaimana Jika siswa mendapatkan nilai ujian kurang dari 60 ???. • Bentuk struktur kondisi IF dalam bentuk model UML : • Catatan : • Dalam pemrograman Java, kita mengenal dan menggunakan tanda braces (bracket) yang di lambangkan dengan 3 tanda yaitu : (), {}, dan []. • Tanda () di gunakan untuk pernyataan string. • Tanda {} di gunakan dalam nilai atau isi dalam array atau untuk menandakan pernyataan (statement). • Tanda [] di gunakan untuk mendeklarasikan array baik array 1 dimensi maupun array multi dimensi. Struktur Kondisi IF – ELSE • Struktur kondisi berikutnya yang akan kita pelajari adalah struktur kondisi IF-ELSE. • Pada materi sebelumnya kita telah mempelajari bentuk yang paling dasar dari struktur kondisi yaitu bentuk IF yang di mana hanya bisa menerima 1 argumen saja yaitu argumen yang bernilai TRUE. • Pada struktur kondisi IF-ELSE, argumen yang bisa di terima tidak hanya yang bernilai TRUE saja tapi juga bisa menerima argumen yang bernilai FALSE. • Kita akan melihat bentuk pseudocode dari struktur kondisi IF-ELSE untuk menjelaskan bagaimana alur dari struktur kondisi IF-ELSE ini. • Bentuk pseudocode dari struktur kondisi IF-ELSE : Jika nilai ujian siswa lebih besar atau sama dengan 60 Cetak “Selamat anda lulus” Selain itu Cetak “Anda tidak lulus !!” • Bentuk pseudocode IF-ELSE di atas jika diterjemahkan ke dalam program dengan menggunakan Java maka akan menghasilkan sintaks program berikut : If(nilai_siswa >= 60) System.out.print(“Selamat anda lulus”); else System.out.print(“Anda tidak lulus !!”); • Bentuk struktur kondisi IF-ELSE dalam bentuk UML : • Contoh program java sederhana dengan menggunakan struktur kondisi IF-ELSE : public class fungsi_if_else { public static void main(String args[]) { int nilai = 50; if(nilai >= 60) { System.out.print("Selamat Anda Lulus !!"); } else { System.out.print("Maaf Anda Tidak Lulus !!"); } } } Catatan : • Penggunaan bracket jenis kurung buka kurawal dan kurung tutup kurawal {}, sangat di sarankan dalam penggunaan struktur kondisi IF-ELSE dan struktur kondisi bertingkat. • Hal tersebut di lakukan untuk menghindari terjadinya logic error maupun syntax error dalam program ketika program di jalankan. • Ketika sebuah atau beberapa kondisi di jalankan dalam program maka akan menghasilkan statement yang akan di tampilkan, penggunaan bracket inilah yang di gunakan untuk mencegah beberapa statement di tampilkan sekaligus dalam program. Struktur Kondisi Bertingkat • Penggunaan struktur kondisi bertingkat sangat berguna jika kita ingin menggunakan lebih dari 2 kondisi yang ingin di ujikan dalam program. • Pada struktur kondisi IF hanya akan menghasilkan 1 statement saja yaitu mencetak statement jika kondisinya bernilai TRUE. • Sedangkan pada kondisi IF-ELSE akan menghasilkan 2 kemungkinan statement yang akan di cetak dalam program bergantung dari kondisi yang di berikan. • Sedangkan pada penggunaan struktur kondisi bertingkat akan menghasilkan beberapa kemungkinan statement (lebih dari 2) yang akan di hasilkan untuk menjadi output program anda. • Contoh program Java dengan menggunakan struktur kondisi bertingkat : public class if_else_bertingkat { public static void main(String args[]) { int nilai = 74; if(nilai >= 80) { System.out.print("Anda mendapat grade A "); } else if(nilai >= 70) { System.out.print("Anda mendapat grade B "); } else if(nilai >= 60) { System.out.print("Anda mendapat grade C "); } else if(nilai >= 50) { System.out.print("Anda mendapat grade D "); } else { System.out.println("Anda tidak lulus !!"); } } } Struktur Kondisi SWITCH – CASE • Penggunaan struktur kondisi switch-case di gunakan untuk mengeksekusi atau menjalankan blok statement berdasarkan pada sebuah kondisi tertentu dan kondisi ini akan menghasilkan nilai TRUE. • Berikut ini adalah bentuk umum dari penulisan struktur kondisi switch-case : switch(ekspresi) case(kondisi1) : cetak/jalankan statement1; break; case(kondisi2) : cetak/jalankan statement2; break; case(kondisin) : cetak/jalankan statementn; break; default : cetak/jalankan statement default; break; • Berikut ini adalah contoh program dengan menggunakan struktur kondisi switch-case : public class switch_case { public static void main(String args[]) { int umur = 3; switch(umur) { case 1 : System.out.println("Bayi itu masih sangat kecil"); break; case 2 : System.out.println("Bayi itu mulai bertumbuh besar"); break; case 3 : System.out.println("Anak itu masuk taman kanak-kanak"); break; default : System.out.println("Anak itu bertumbuh menjadi remaja"); break; } } } • Ada Pertanyaan ?? • Selesai, Terima Kasih. • Sampai jumpa di pertemuan selanjutnya.