MODUL I Installasi Netbeans dan Setting Path 1. Tujuan Pembelajaran 1. Praktikan dapat melakukan instalasi dan setting Java Development Kit. 2. Praktikan dapat menggunakan Jcreator sebagai editor pemrograman 3. Praktikan dapat menjalankan (eksekusi) program Java sederhana yang ditulis dengan editor JCreator. 2. Teori Singkat Untuk menulis program JAVA dapat digunakan berbagai editor, bahkan editor paling sederhana (seperti Notepad pun dapat digunakan. Namun pada umumnya, agar penulisan program lebih terarah, beberapa editor telah disediakan untuk membantu para programmer. Beberapa editor atau IDE (Integrated Development Environment) yang telah ada untuk Java, antara lain: a. NetBeans (open source- Common Development and Distribution License (CDDL)) b. NetBeans yang disponsori Sun Microsystems, yang dilengkapi dengan GUI Editor. c. Eclipse JDT (open source- Eclipse Public License) d. Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya. e. IntelliJ IDEA (commercial, free 30-day trial) f. Oracle JDeveloper (free) g. Xinox JCreator (ada versi berbayar maupun free) h. JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE lain. 3. Latihan Instalasi Sebelum memulai pemrograman Java, kita harus menginstal Java Development Kit (JDK) yang disediakan secara gratis oleh Sun Microsystem. Java Development Kit tersedia dan dapat didownload pada situs Java Sun Microsystem, yaitu: http://java.sun.com. Java 1.6 untuk berbagai platform tersedia pada situs tersebut. Untuk menginstal software Java dapat dilakukan dengan menjalankan file yang mengekstrak sendiri. Terdapat dua pilihan cara, yaitu: Menjalankan installer dari perintah MS DOS, dan Melakukan double-click ikon jdk-6u11-windows-i586-p.exe Installer yang mengekstrak file JDK akan membuat direktori yang diperlukan, dan sekaligus menyalin file-file ke dalam direktori tersebut. Installshield Wizard memberikan tampilan bahwa Java siap diinstalasi. Setting Variabel Path Pada saat program MS DOS dieksekusi, secara otomatis mencari direktori yang ada untuk file target. Jika program atau file batch tidak tersedia dalam direktori yang ada, maka akan mencari semua drive dan direktori lainnya dalam variable path system. Dalam pengembangan Java, tidak diperlukan variable path jika semua software yang diperlukan terdapat dalam direktori yang ada. Namun akan lebih mudah apabila dilakukan setting variable path agar sistem secara otomatis mencari file yang diperlukan. Dalam hal ini, path adalah drive dan direktori dimana java.exe, javac.exe, dan aplikasi pengembangan lain ditempatkan. 1 Apabila tidak dipilih direktori default, maka path adalah direktori yang dipilih pada saat instalasi. Perintah path sistem DOS biasanya terdapat dalam file autoexec.bat, yang dieksekusi selama sistem startup. Alternatif lain adalah, path dapat dimasukkan dari baris perintah MS DOS dengan sintaks sebagai berikut: PATH=[drive:][path];[drive:][path]…] Apabila digunakan sistem operasi windows dengan JDK versi 1.5 atau yang lebih baru, maka setting variabel path tidak diperlukan lagi. Untuk pelaksanaan praktikum Pemrograman Berorientasi Objek nanti, digunakan JDK versi 1,6 sehingga proses instalasi tidak akan dilakukan. Namun apabila digunakan versi lama, maka diperlukan langkah-langkah setting sebagai berikut: 1. Klik kanan pada “My Computer” lalu klik properties. Kemudian klik “Advanced” lalu klik “Environment Variables” (Gambar 1.1). 2. Pada System Variables, pilih ”path” lalu klik edit (Gambar 1.2). 3. Pada “variable value” tambahkan path dimana direktori bin nya Java diletakkan. Lalu klik OK (Gambar 1.3). Gambar 1.1 Setting JDK pada Windows (langkah-1). Gambar 1.2 Setting JDK pada Windows (langkah-2). 2 Gambar 1.3 Setting JDK pada Windows (langkah-3). Bila JDK yang digunakan adalah versi 1.5 atau yang terbaru, maka setting variabel path tidak diperlukan. NetBeans IDE 6.9 Pada praktikum Pemrograman Berorientasi Objek ini akan digunakan NetBeans sebagai editor pemrograman. Berikut langkah-langkah penggunaan NetBeans. 1. Setelah masuk ke NetBeans maka akan terlihat tampilan seperti pada Gambar 1.4. Gambar 1.4 Tampilan awal NetBeans IDE 6.9. 2. Untuk memulai membuat project baru, pilih file – New Project... pada bagian menu (Gambar 1.5). 3. Kemudian pada saat bagian choose project Categoty pilih java, dan pada bagian Projects pilih Java Application (Gambar 1.6). Gambar 1.5 Membuat project baru. 3 Gambar 1.6 Memilih kategori project. Selanjutnya klik next untuk masuk ke langkah selanjutnya. 4. Selanjutnya masukkan project name dan project location seperti terlihat pada Gambar 1.7. Sebagai latihan berikan nama project dengan hello_world. Gambar 1.7 Memberi nama pada project. Pada bagian create main class, dapat diberikan nama yang berbeda dari Project Name nya. Tidak perlu menambahkan .Main atau .Java, NetBeans akan secara otomatis memberikan ekstensi-nya. Setelah selesai, klik finish. Project hello_world yang dibuat seperti terlihat pada Gambar 1.8. 4 Gambar 1.8 Tampilan awal project hello_world. Dengan demikian sebuah project baru telah berhasil dibuat. Untuk pembuatan class baru, akan dijelaskan lebih lanjut pada praktikum berikutnya yang membahas khusus tentang pembuatan class. 1.3.2 Program sederhana Pada project hello_world yang dibuat tambahkan perintah sebagai berikut: System.out.println("Hello World!"); pada baris ke-19. Sehingga program yang terbentuk seperti pada Gambar 1.9. Gambar 1.9 Program utama hello_world. keterangan: a. Syntax utama untuk program yang ditulis dengan JAVA adalah: [modifier][class] nama_class { ... } 5 Ada beberapa modifier pada JAVA, yaitu public, private dan protected. Modifier public diperlukan agar program dapat dikompilasi dengan baik. b. Bagian ini merupakan bagian utama yang ditempatkan pada bagian awal pada program JAVA. static menunjukkan tipe method. void menunjukkan bahwa method tidak mengembalikan nilai atau objek. main merupakan nama method utama program JAVA. String merupakan tipe argumen yang akan diterima sebagai parameter dari command JAVA. args merupakan array argumen yang dapat ditambahkan pada saat mengunakan command JAVA untuk menjalankan program JAVA. c. Perintah untuk menampilkan “Hello World” pada layar monitor. Selanjutnya, program dapat dieksekusi dengan klik tombol .Hasilnya dapat dilihat pada window output dengan hasil sebagaimana terlihat pada Gambar 1.10. Gambar 1.10 Hasil eksekusi program hello_world. Penambahan komentar Untuk membantu mengingat arti (tujuan) penulisan serangkaian kode yang telah ditulis, biasanya kita memberikan beberapa komentar pada program yang kita buat. Pada JAVA, untuk membuat komentar dapat dilakukan dengan cara: a. Komentar dengan menggunakan tanda //. Tanda ini digunakan untuk memberikan komentar dalam satu baris. Tanda // diletakkan pada awal baris. b. Komentar dengan menggunakan tanda /* dan */. Tanda ini digunakan untuk memberikan komentar yang ditulis dalam beberapa kalimat. Tanda /* diletakkan pada awal kalimat, dan tanda */ ditulis diakhir kalimat. Gambar 1.11 Penambahan komentar pada program 4. Tugas 1. Buatlah sebuah program yang mencetak data berikut : Nama : Joko Sambung NPM : 08.33012.980 Alamat : Jl. Raya Jendral sudirman No.45 Pamekasan No.Telp : 0324-6575757 Email : [email protected] Data bisa diganti dengan data anda 6 MODUL 2 Variabel, Tipe Data, dan Operator 1. Tujuan Pembelajaran: 1. Praktikan dapat membuat variabel dengan benar. 2. Praktikan mampu menggunakan berbagai tipe data dalam berbagai kepentingan. 3. Praktikan mampu menggunakan berbagai operator dan mengimplementasikannya dalam pemrograman. 2. Teori Singkat 2.1. Variabel Variabel adalah nama dari suatu lokasi di memori yang digunakan untuk menyimpan data sementara. Variabel diberi nama tertentu yang menunjukkan domain yang diwakilinya. Dalam memberikan nama variabel, ada beberapa ketentuan yang harus diperhatikan yaitu: a. Panjang karakter nama variabel tidak dibatasi. b. Nama variabel diawali dengan huruf, tanda garis bawah (underscore) atau tanda dolar ($). Selanjutnya dapat diikuti oleh karakter lain, selain operator (*, -, +). c. Bersifat case sensitive (membedakan antara huruf kapital dan huruf kecil). d. Tidak diperbolehkan menggunakan kata-kata kunci yang digunakan pada java, seperti: if, for, while, dll. Data yang tersimpan dalam variabel memiliki tipe tertentu. Sebelum digunakan dalam aplikasi, suatu variabel harus dideklarasikan terlebih dahulu. Syntax: [tipe_data] [nama_variabel] Beberapa tipe data yang dapat digunakan akan dibahas pada subbagian berikut. 2.2. Tipe Data 2.2.1 Karakter Karakter tunggal, diberikan dengan tipe data char. Data yang memiliki tipe data ini ditulis dengan diapit tanda petik tungal, seperti: ‘A’, ‘S’, ‘?’, dll. Char berbeda dengan String . String adalah kumpulan dari beberapa karakter . Data yang memiliki tipe data ini ditulis dengan diapit tanda petik ganda. Contoh: String nama,golDarah; nama = ”arwan”; golDarah = ’0’; 2.2.2 Integer Tipe data integer merupakan bilangan bulat (positif, nol, atau negatif). Contoh: int x1, x2, Jumlah; Jumlah = x1 + x2; Selain Int, bilangan integer juga dapat memiliki tipe data byte, short atau long yang masing-masing dibedakan oleh panjang memori yang ditempatinya. Byte menempati lokasi sebesar 1 byte. Short menempati lokasi memori sebesar 2 byte Int menempati lokasi memori sebesar 4 byte Long menempati lokasi memori sebesar 8 byte 7 2.2.3 Floating Point Untuk merepresentasikan data pecahan (bukan integer) dapat digunakan dua macam tipe data, yaitu float atau double. Tipe data float memiliki panjang lokasi penyimpanan sebesar 4 byte sedangkan double sepanjang 8 byte. Contoh: Int x1, x2; float Rata2; double PanjangJalur; Rata2 = (x1 + x2)/2; PanjangJalur = 1.5E3; 2.2.4 Boolean Tipe data boolean hanya memiliki dua kemungkinan nilai yaitu benar atau salah. Contoh: boolean Selesai; Selesai = true; 2.3. Operator 2.3.1 Operator Aritmetik Operator-operator aritmetik di Java seperti pada umumnya terdiri-dari: penjumlahan (+), pengurangan (-), pembagian (/), perkalian (*), dan modulo (%). Kode program pada Gambar 2.1 berikut menunjukkan operasi aritmetik untuk nilai A=100 dan B=30. Apabila program tersebut dieksekusi, maka hasilnya seperti terlihat pada Gambar 2.2. Gambar 2.1 Contoh program dengan menggunakan operator aritmetik. Gambar 2.2 Output program operator_aritmetik. 8 Tunjukkanlah hasil output yang dihasilkan apabila pernyataan pada baris ke-16 diganti dengan: float bagi = A/B; Di samping operator-operator dasar tersebut, ada beberapa cara singkat untuk menuliskan operator aritmetika, seperti: x = x + 1, dapat disingkat menjadi x++ x = x – 1, dapat disingkat menjadi x- x = x + 3, dapat disingkat menjadi x+=3 x = x – 5, dapat disingkat menjadi x-=3 Coba tulislah kode program di bawah ini dalam project bernama pernyataan_increment. Selanjutnya, eksekusi project tersebut, amatilah hasilnya. , int A=10, B=10, C=0, D=0; // nilai awal int step=3; // kenaikan A++; // A = A+1 B--; // B = B-1 C += step; // C = C+step D -= step; // D = D-step // tampilkan hasil System.out.println("A = A+1 -> "+A); System.out.println("B = B-1 -> "+B); System.out.println("C = C+step -> "+C); System.out.println("D = D-step -> "+D); 2.3.2 Operator Relasi Operator relasi digunakan dalam ekspresi boolean yang akan menghasilkan nilai boolean guna menentukan langkah eksekusi blok pernyataan tertentu. Beberapa operator logika dapat dilihat pada Tabel 2.1. Kode program pada Gambar 2.3 berikut menunjukkan operasi relasi untuk nilai A=100 dan B=30. Tabel 2.1 Operator Relasi Symbol > < >= <= == != Keterangan Lebih Dari Kurang Dari Lebih Dari atau Sama Dengan Kurang Dari atau Sama Dengan Sama Dengan Tidak Sama Dengan 9 Gambar 2.3 Contoh program dengan menggunakan operator relasi. Apabila program tersebut dieksekusi, maka hasilnya seperti terlihat pada Gambar 2.4. Gambar 2.4 Output program operator_relasi. 2.3.3 Operator Logika Operator logika digunakan juga dalam ekspresi boolean yang akan menghasilkan nilai boolean guna menentukan langkah eksekusi blok pernyataan tertentu. Beberapa operator logika seperti AND (&&), OR (||) atau NOT (!). Kode program pada Gambar 2.5 menunjukkan operasi logika untuk A=true dan B=false. Gambar 2.5 Contoh program dengan menggunakan operator logika. 10 Apabila program tersebut dieksekusi, maka hasilnya seperti terlihat pada Gambar 2.6. Gambar 2.6 Output program operator_logika. 3. Latihan Lakukan ujicoba pada program diatas sebagai bentuk latihan kemudian lakukan analisa 4. Tugas a. Buatlah program kalkulator serhana yang mengimplementasikan beberapa operator yang sudah dijelaskan. b. Buatlah sebuah program untuk yang menampilakan hasil operasi dasar logika AND OR dan NOT c. Buatlah sebuah program yang melibatkan proses casting nilai pada sebuah variabel. 11 MODUL 3 Penyeleksian Kondisi 1. Tujuan Pembelajaran: 1. Praktikan mengenal beberapa perintah untuk seleksi kondisi 2. Praktikan mampu menggunakan berbagai conditional statement dalam berbagai kebutuhan. 2. Teori Singkat Conditional Statement Dalam pemrograman seringkali dibutuhkan eksekusi blok pernyataan jika dipenuhi kondisi tertentu. Kondisi yang diberikan dinyatakan dengan ekspresi boolean. Pada Gambar 3.1 terlihat bahwa blok pernyataan A akan dieksekusi jika kondisi D bernilai benar, sebaliknya blok pernyataan B akan dieksekusi jika kondisi D bernilai salah. Gambar 3.1 Diagram blok seleksi kondisi Pengkondisian dengan if Pengkondisian dengan if digunakan untuk mengeksekusi blok pernyataan, dimana yang dibutuhkan hanyalah kondisi benar saja. Sintaks: if (<ekspresi_boolean>) { <blok pernyataan> } Contoh 3.1: Lihat flowchart pada Gambar 3.2 berikut. Flowchart ini digunakan untuk memberikan informasi kepada pengguna tentang status tekanan darahnya.Seseorang dikatakan hipertensi jika tekanan darah sistolik lebih dari 140 mmHg. 12 Gambar 3.2 Diagram blok untuk contoh 3.1. Kode program untuk permasalahan pada contoh 3.1 tersebut dapat dilihat pada Gambar 3.3. Gambar 3.3 Kode program untuk contoh 3.1. Apabila program tersebut dieksekusi, maka hasilnya seperti pada Gambar 3.4. (a) (b) Gambar 3.4 Output yang dihasilkan oleh program pada contoh 3.1. Pengkondisian dengan if-else 13 Pengkondisian dengan if-else digunakan untuk mengeksekusi blok pernyataan A jika suatu kondisi bernilai benar, dan sebaliknya akan mengeksekusi blok pernyataan B jika suatu kondisi bernilai salah. Sintaks: if (<ekspresi_boolean>) { <blok pernyataan A> } else { <blok pernyataan B> } Contoh 3.2: Lihat flowchart pada Gambar 3.5. Flowchart ini digunakan untuk menentukan kelulusan berdasarkan nilai yeng diberikan. Seseorang dikatakan lulus jika nilai yang diperoleh lebih dari 70, sebaliknya dia dikatakan tidak lulus. Gambar 3.5 Diagram blok untuk contoh 3.2. Kode program untuk permasalahan pada contoh 3.2 tersebut dapat dilihat pada Gambar 3.6. Gambar 3.6 Kode program untuk contoh 3.2. Apabila program tersebut dieksekusi, maka hasilnya seperti pada Gambar 3.7. 14 (a) (b) Gambar 3.7 Output yang dihasilkan oleh program pada contoh 3.2. Contoh 3.3 Diketahui pembagian umur sebagaimana terlihat pada Tabel 3.1. Tabel 3.1 Pembagian umur Umur (Tahun) Kategori Umur <5 Balita 5 ≤ umur < 12 Anak-anak 12 ≤ umur < 18 Remaja 18 ≤ umur < 40 Dewasa 40 ≤ umur < 60 Parobaya umur ≥ 60 Lanjut usia Gambar 3.8 menunjukkan flowchart untuk permasalahan tersebut. 15 Gambar 3.8 Diagram blok untuk contoh 3.3. Kode program untuk permasalahan pada contoh 3.3 tersebut dapat dilihat pada Gambar 3.9. Gambar 3.9 Kode program untuk contoh 3.3. Apabila program tersebut dieksekusi, maka hasilnya seperti pada Gambar 3.10. 16 (a) (b) Gambar 3.10 Output yang dihasilkan oleh program pada contoh 3.3 . Pengkondisian dengan switch Pengkondisian dengan switch digunakan apabila ada beberapa pilihan dimana setiap pilihan akan mengeksekusi blok pernyataan yang berbeda. Sintaks: switch (<ekspresi_integer>) { case <nilai_variabel>: <blok pernyataan> Break; case <nilai_variabel>: <blok pernyataan> Break; case <nilai_variabel>: <blok pernyataan> Break; ... default: <blok pernyataan> Break; } Ekspresi_integer yang dapat digunakan adalah byte, short, int, dan char. Char dapat digunakan karena char sebenarnya merupakan unicode yang bernilai antara 0 – 65535. Sedangkan tipe long tidak dapat digunakan untuk ekspresi_integer ini. Contoh 3.4 Berikut akan dilakukan operasi aritmetik untuk dua bilangan integer A dan B, dengan A=100 dan B=25. Ada 4 operasi yang dapat dipilih, yaitu penjumlahan, pengurangan, perkalian dan pembagian. Gambar 3.11 menunjukkan flowchart untuk permasalahan tersebut. 17 Gambar 3.11 Diagram blok untuk contoh 3.4. Kode program untuk permasalahan pada contoh 3.4 tersebut dapat dilihat pada Gambar 3.12. 18 Gambar 3.12 Kode program untuk contoh 3.4. Apabila program tersebut dieksekusi, maka hasilnya seperti pada Gambar 3.13. (a) (b) Gambar 3.13 Output yang dihasilkan oleh program pada contoh 3.4. 19 3. Latihan Silahkan lakukan percobaan pada contoh program diatas dan lakukan ujicoba 4. Tugas a. Buatlah sebuah program konversi nilai angka ke nilai huruf dengan range berikut : Nilai >=85 and nilai <=100 = A Nilia >=70 and nilai <=84 = B Nilai >=60 and nilai <70 = C Nilai >=50 and nilai<60 = D Nilai<50 = E b. Buatlah sebuah program untuk mengecek apakah bilangan yang diinput adalah bilagan positif, negatif atau nol c. Buatlah sebuah program untuk mengecek apakah bilangan yang dimasukkan adalah bilangan genap atau ganjil d. Buatlah sebuah program untuk konversi angka dengan menggunakan konsep struktur kontrol switch - case 20 MODUL 4 Perulangan 1. Tujuan Pembelajaran: 1. Praktikan mengenal beberapa perintah untuk melakukan perulangan 2. Praktikan mampu menggunakan berbagai bentuk perulangan dalam berbagai kebutuhan. 2. Teori Singkat Perulangan Adakalanya suatu blok pernyataan harus dieksekusi berulang kali tergantung pada kondisi tertentu. Untuk keperluan tersebut, seperti halnya bahasa pemrograman yang lainnya, JAVA menyediakan beberapa statement perulangan. Dengan menggunakan statement tersebut, suatu blok pernyataan tidak perlu ditulis berulang kali, namun cukup dengan memberikan ekspresi boolean terhadap suatu kondisi. Perintah: for Bentuk for digunakan untuk melakukan perulangan, dimana banyaknya perulangan telah diketahui sebelumnya. Pernyataan dengan for akan memiliki counter yang akan bergerak (naik atau turun) secara otomatis. Sintaks: for ( <inisialisasi> ; <ekspresi_boolean> ; <increment> ) { <blok pernyataan> } Misal, for (int i=1; i<=10; i++), berarti proses perulangan akan berjalan mulai dari 1 sampai 10, dimana counter i akan naik secara otomatis (i++) hingga i mencapai angka 10. Contoh 4.1: Akan dihitung nilai N! (N faktorial). Besarnya N ditentukan melalui input data. Gambar 4.1 menunjukkan flowchart untuk permasalahan tersebut. Gambar 4.1 Diagram blok untuk contoh 4.1. 21 Kode program untuk permasalahan pada contoh 4.1 tersebut dapat dilihat pada Gambar 4.2. Gambar 4.2 Kode program untuk contoh 4.1. Apabila program tersebut dieksekusi, maka hasilnya seperti pada Gambar 4.3. (a) (b) Gambar 4.3 Output yang dihasilkan oleh program pada contoh 4.1. Perintah: while Pernyataan while digunakan untuk melakukan perulangan terhadap sejumlah pernyataan dalam blok selama kondisi (dinyatakan dengan ekspresi boolean) bernilai benar. Sintaks: while (<ekspresi_boolean>) { <blok pernyataan> } Contoh 4.2: Berikut akan dihitung banyaknya bilangan ganjil dan bilangan genap yang dimasukkan melalui dialog box. Proses penentuan banyaknya bilangan akan terus diulang hingga pengguna memasukkan bilangan nol (0). Gambar menunjukkan flowchart untuk permasalahan tersebut. 22 Gambar 4.4 Diagram blok untuk contoh 4.2. Kode program untuk permasalahan pada contoh 4.2 tersebut dapat dilihat pada Gambar 4.5. Apabila program tersebut dieksekusi, apabila diberikan input 6, 4, 5, 2, dan 0, maka hasilnya seperti pada Gambar 4.6. Gambar 4.5 Kode program untuk contoh 4.2. 23 Gambar 4.6 Output yang dihasilkan oleh program pada contoh 4.2. Perintah: do-while Pada pernyataan do-while, blok pernyataan dieksekusi hingga suatu kondisi yang dinyatakan oleh ekspresi logika pada while bernilai salah. Sedikit berbeda denga pernyataan while yang baru akan mengeksekusi blok pernyataan setelah diketahui kondisi benar, pada do-while ini blok akan dieksekusi setidaknya satu kali sebelum kondisi bernilai salah. Sintaks: do { <blok pernyataan> } while (<ekspresi_boolean>); Contoh 4.3: Pada contoh 4.2 akan coba dibuat dengan menggunakan dowhile. Kode program untuk permasalahan tersebut dapat dilihat pada Gambar 4.7. Gambar 4.7 Kode program untuk contoh 4.3. 24 Apabila program tersebut dieksekusi, dengan input bilangan 5, 8, 3, 10, dan 10, maka hasilnya seperti pada Gambar 4.8. Gambar 4.8 Output yang dihasilkan oleh program pada contoh 4.3. 3. Latihan Lakukan ujicoba pada contoh program diatas dan lakukan analisa 4. Tugas a. Buatlah sebuah program untuk menampilkan output berikut: 30 29 28 27 26.......16 1 2 3 4 5 6 7 8 9.....15 b. Buatlah sebuah program untuk menampilkan sederatan angka genap dan ganjil beserta jumlahnya Contoh : 1 3 5 7 9 = 25 2 4 6 8 10 = 30 c. Buatlah sebuah program untuk menampilkan output berikut dengan menggunakan konsep perulangan do-while: 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 19 20 d. Buatlah sebuah program untuk menghitung banyaknya karakter pada kalimat yang diinput (Ex: aku = 3 karakter) 25 MODUL 5 Komponen GUI 1. Tujuan Pembelajaran: 1. Praktikan mengerti dan memahami penggunaan komponen GUI 2. Praktikan mampu menggunakan beberapa komponen dalam GUI netbeans 2. Teori Singkat Graphical User Interface (GUI) merupakan salah satu model interaksi antara manusia dan komputer. Selain GUI, ada juga model yang lain seperti Character User Interface (CUI) yang sering kita kenal dengan command line. Dari sisi kenyamanan (attitude), kedua model ini memiliki ‘penganut’nya masing-masing. Penganut CUI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan CUI. Penganut GUI biasanya adalah mereka yang sudah terbiasa dengan sistem operasi Windows. Bagi mereka, GUI adalah harga mati yang tidak bisa ditawar lagi. Sulitnya membuat aplikasi berbasis GUI merupakan dasar hadirnya GUI Builder. Pemilihan layout yang cocok, peletakan dan pengaturan posisi komponen dalam layout sampai pada pengaturan atribute pada layout. Untuk mengatasi masalah tersebut GUI Netbeans mengusung beberapa konsep dasar diantaranya : Free Design Sekarang dengan paradigma baru free design yang diusung oleh Project Matisse, merancang GUI dalam Netbeans menjadi lebih mudah. Komponen Java (baik AWT, Swing, Beans) benar-benar dapat diletakkan dalam form dengan konsep drag n drop atau pick n plop. Kita tidak perlu lagi peduli dengan layout dan layout manager. Semua akan diatur secara otomatis oleh GUI Builder Secara background, GUI Builder akan menerjemahkan semua susunan komponen yang kita letakkan dalam form, dengan memakai layout manager baru, GrupLayout, serta berbagai konstruksi yang ada didalam paket Swing. Secara otomatis kode program dihasilkan oleh GUI Builder ini. Snapping Saat kita meletakkan komponen dalam form, GUI Builder secara otomatis akan menampilkan garis bantu (guidelines) secara visual. Yang akan membantu kita dalam menentukan posisi komponen relatif terhadap komponen lainnya ataupun relative terhadap tepi kontainer. Visual Feedback GUI Builder akan menampilkan berbagai visual-feedback. Satu yang telah dikemukakan diatas adalah garis bantu yang ditampilkan saat penempatan komponen. Visual feedback lainnya, yang ditampilkan paska peletakan, akan menunjukkan hubungan anchoring (penjangkaran atau posisi absolut) dan chaining (keterkaitan) antar komponen. 3. Latihan 26 Gambar 5.1 Membuat Project baru 27 28 29 4. Tugas Buatlah sebuah program dengan window Jframe yang didalamanya terdapat komponen label dan dua buah button, jika button pertama diklik makan label akan tersembunyi dan jika button kedua yang diklik maka label akan ditampakkan kembali. 30 MODUL 6 Komponen GUI 2 1. Tujuan Pembelajaran: 2. Teori Singkat Pada modul 5 telah dijelaskan tiga komponen dasar yaitu : 3. Latihan 31 32 33 34 35 36 4. Tugas 37 BAB 7 Komponen GUI 3 1. Tujuan Pembelajaran: 1. Praktikan mampu menggabungkan beberapa komponen GUI dan menggunakannnya sesuai dengan kebutuhan 2. Teori Singkat Pada modul sebelumnya telah dijelaskan beberapa komponen, dalam modul ini beberapa komponen yang dimaksud bisa digunakan dengan bersamaan dan sesuai dengan kebtuhan 3. Latihan Buatlah project baru kemudian buatlah sebuah form dengan design seperti tampilan berikut ini dan simpan dengan nama GametebakAngka: a. Tambahka kode berikut pada bagian konstruktor public FormGame() { initComponents(); setLocation(300,50); //this.setIconImage(new javax.swing.ImageIcon("icon\\ok.png")); //FormGame.setDefaultLookAndFeelDecorated(this.setIconImage(Image,"" )); angkatebak.setEditable(false); tebak.setEnabled(false); reset.setEnabled(false); jumkalah.setText("0"); jummenang.setText("0"); totalscor.setText("0"); //String nama=""; } 38 b. Buatlah sebuah fungsi dibawah konstruktor private void resetAll() { angkatebak.setEditable(false); tebak.setEnabled(false); reset.setEnabled(false); main.setEnabled(true); angkakomp.setText("?"); nameuser.setText("Nama User"); jummain.setText("Jumlah Main"); jumkalah.setText("Jumlah Kalah"); jummenang.setText("Jumlah Menang"); totalscor.setText("Total Scor"); this.counterkalah=0; this.countermain=0; this.countermenang=0; this.countertebak=0; } c. Tambah kode berikut pada saat eventActionperformed tombol main private void mainActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mainActionPerformed // TODO add your handling code here: if(JOptionPane.showConfirmDialog(rootPane, "Mau Main Game Ini ???","Confirmation",JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTI ON) { nama = JOptionPane.showInputDialog(null,"Masukkan Nama Anda..!!","Form Input Name"); int x =Integer.parseInt(JOptionPane.showInputDialog(null,"Masukkan Batasan Angka yang Ingin Diacak.!!")); kompangka =acak.nextInt(x);//membuat angka acak (random) this.countermain++; angkatebak.setEditable(true); tebak.setEnabled(true); reset.setEnabled(true); main.setEnabled(false); angkatebak.setText(""); this.countertebak=0; angkakomp.setText("?"); nameuser.setText(nama.toUpperCase()); jummain.setText(countermain+""); //System.out.print(nama+" "+kompangka); } }//GEN-LAST:event_mainActionPerformed d. Tambahkan kode berikut pada saat actionperformed tombol cancel private void resetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetActionPerformed // TODO add your handling code here: this.resetAll(); }//GEN-LAST:event_resetActionPerformed e. Compile dan run aplikasi tersebut kemudian lihat hasilnya 4. Tugas Lanjutkan program diatas sehingga program bisa melakukan pengacakan angka, menghitung jumlah main, jumlah kalah, jumlah menang dan akumulasi nilai. Untuk menggunakan fungsi acak (random) anda harus meng-import terlebih dahulu kelas headernya sbb: import java.util.Random; 39 BAB 8 Menu 1. Tujuan Pembelajaran: 1. Praktikan mampu menggunakan menu bar sebagai fasilitas jika terdapat menu yang cukup banyak pada saat membangun sebuah interface 2. Teori Singkat Menu bar adalah salah satu komponen yang dimiliki oleh GUI netbeans untuk memberikan kemudahan pada programmer untuk management menu pada saat divlopment interface. Sehingga menu yang banyak bisa dimanagement dengan baik dan dapat menghasilkan interface yang user friendly. 3. Latihan a. Buatlah Sebuah Project Baru dan simpan dengan nama PraktekMenu b. Buatlah Sebuah Form dan tempelkan sebuah menu bar pada form tersebut, sehingga tampilannya menjadi sebagai berikut: c. Pada jendela inspector gantilah nama komponen dengan cara klik kananchange variabel name d. Pada jendela inspector klik kanan pada node file kemudian pilih add from pallet Jmenu Item, kemudian lakukan perubahan nama pada Jmenu Item tersebut menjadi “login” 40 e. Kemudian lakukan perubahan pula pada Jmenu Item tadi yang ada pada Form sehingga menjadi seperti berikut : f. Kemudian buatlah sebuah form lagi dengan nama FormLogin dengan design sebagai berikut : g. Kemudian pada formMenu klik kanan pada jendela inspector dan pilih event-actionPerformed, maka anda akan dibawa pada jendela source code h. Kemudian tambahkan kode berikut new FormLogin().setVisible(true); 41 this.setVisible(false); i. Dan pada formLogin tambahkan event windowclosing dengan cara berikut : a. Pada formLogin pilih Jframe pada jendela inspector b. Kemudian pada jendele propertise pilih event dan cari event windowClosing dan piih combobox yang ada disampingnya, maka anda akan dibawa tab source code j. Kemudian tambahkan kode berikut : new FormMenu().setVisible(true); this.setVisible(false); k. Kemudian jalankan hasil aplikasi dan lihat hasilnya 4. Tugas Lengkapilah Program diatas dengan cara menambahkan beberapa kode program sehingga pada saat ada user yang login dan salah sampai 3 kali maka menu Login yang ada pada formMenu akan disable otomatis. 42 BAB 9 Database 1. Tujuan Pembelajaran: Praktikan mampu membuat koneksi basis data MySQL dengan Netbeans, sehingga dapat menghasilkan interface yang baik. 2. Teori Singkat Netbeans memiliki kemampuan mensinkronkan aplikasi yang dibuat dengan Java dengan beberapa macam basis data dianataranya, Access, MySQL, SQL Server PostgreSQL,Oracle dsb. Pada praktikum kali ini kita menggunakan database MySQL. 3. Latihan a. Untuk membuat koneksi Mysql dengan Netbeans ikuti langkahlangkah berikut : i. Buatlah sebuah database lewat MySQL anda pada kali ini yaitu Xampp dengan nama dbcontoh ii. Jika database sudah dibuat silahkan lakukan koneksi lewat netbeans dengan cara klik tab services iii. Klik pada node DatabaseDriverklik kanan MySQL ConnectorConnect Using, maka akan muncul form inputan seperti dibawah sebelah kiri lengkapi isiannya sesuai dengan yang tertera di window new Database Connection sbb: iv. Jika sudah silahkan tekan tombol OK maka jika tidak terjadi masalah koneksi akan berjalan normal dan hasilnya bisa dilihat pada tab services, disana sudah ditambahkan satu node koneksi dengan MySQL dan database dbcontoh jika node itu dibuka maka isinya adalah daftar database yang ada pada MySQL kita. Dengan tampilan sebagai berikut : 43 v. Buka pada node dbcontoh kemudian buatlah tabel baru dengan nama tblmhs yang memiliki tiga field yaitu nim,nama dan ipk seperti tampilan berikut : vi. Jika tabel sudah dibuat maka akan tampil tampilan berikut pada tab services 44 Kemudian klik kanan pada node tblmhs kemudian pilih execute commond seperti berikut : Setelah tampil window commond silahkan masukkan perintah berikut: Insert Into tblmhs Values (’10.55201.773’,’Santoso’,’3.15’) Kemudian tekan tombol run SQL atau (Ctrl+Shift+E) jika query sukses maka akan ditampilkan pesan sepeti diatas. vii. Kemudian untuk melihat hasilnya klik kanan pada node tblmhs dan pilih view data, maka hasilnya sbb : 45 4. Tugas Lakukan insert data pada tabel tblmhs minimal 10 Mahasiswa kemudian lakukan Update, Delete dan Select dengan beberapa kreteria. 46 BAB 10 Menampilkan Basis Data dengan Komponen JTable 1. Tujuan Pembelajaran: Praktikan mampu melakukan pengolahan data yang ada pada Database melalui Interface yang dibuat di Netbeans 2. Teori Singkat Java memiliki kemampuan manipulasi data secara tabular yaitu dengan mengguanakan Jtable. Dengan Jtable data akan terlihat lebih rapi dan mudah dibaca. Untuk membuat Jtable kita hanya perlu memilihnya pada jendela pallate kemudian menempelkannya pada form yang kita miliki, kemuadian kita melakukan pengaturan pada properti model untuk mengatur judul kolomya, seperti tampilan berikut : 47 3. Latihan a. Buatlah sebuah tampilan seperti berikut pada project yang sudah anda miliki b. Kemudian masukkan kode berikut pada tab source package abdullah; import java.sql.*; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; /** * * @author Afis1987 */ public class FormMenu extends javax.swing.JFrame { private Statement stm; private ResultSet rs; public Connection koneksi = null; private DefaultTableModel tabMode; /** Creates new form FormMenu */ public FormMenu() { initComponents(); Object[] row ={"No","N I M","N A M A","I P K"}; tabMode = new DefaultTableModel(null,row); tblmhs.setModel(tabMode); //membuat koneksi basis data try { Class.forName("com.mysql.jdbc.Driver"); koneksi = DriverManager.getConnection("jdbc:mysql://localhost:3 306/dbcontoh","root","rahasia"); JOptionPane.showMessageDialog(rootPane, "Koneksi Ke Database Sukses"); } catch(Exception e) { JOptionPane.showMessageDialog(rootPane, "Error : "+e.toString()); } } public void hapusTabel() { int row = tabMode.getRowCount(); //tabMode.removeRow(0); for (int i = 0; i < row; i++) { tabMode.removeRow(i); } 48 } Pada saat Window Sedang Aktif private void formWindowActivated(java.awt.event.WindowEvent evt) { // TODO add your handling code here: try { hapusTabel(); String db_nim="",db_nama="",db_ipk="",nol_nomor="",nomor=""; int angka=0; stm = koneksi.createStatement(); rs = stm.executeQuery("SELECT * FROM tblmhs"); while(rs.next()) { nol_nomor=""; ++angka; db_nim = rs.getString("nim"); db_nama = rs.getString("nama"); db_ipk = rs.getString("ipk"); if(angka<=9) nol_nomor="0"; nomor=nol_nomor+Integer.toString(angka); tblmhs.setModel(tabMode); String []data ={nomor,db_nim,db_nama,db_ipk}; tabMode.addRow(data); } } catch (Exception e) { JOptionPane.showMessageDialog(null,"Error "+e); } } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new FormMenu().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable tblmhs; // End of variables declaration } c. Kemudian run file tersebut dan kalau kode anda tidak error maka akan menghasilkan tampilan berikut : 49 4. Tugas Lengkapi form diatas dengan beberapa fasilitas diantaranya Insert data mahasiswa (Add data) Update Data Mahasiswa Delete data mahasiswa Lakukan semua operasi diatas melalui interface. 50