Anda di halaman 1dari 166

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN LANJUT

Dosen Pembimbing : Nur Laila Mubarokah, A.Md.

Nama Mahasiswa : GURUH PUTRO DIRGANTORO 1412110221

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PGRI RONGGOLAWE TUBAN 2012
i

KATA PENGANTAR

Assalamualaikum Wr. Wb. Syukur alhamdulilah kami persembahkan kehadirat Allah SWT yang telah mencurahkan rahmat dan karunianya, sehingga penulis dapat menyelesaikan makalah Praktikum Pemrograman Lanjut ini dengan judul PRAKTIKUM PEMROGRAMAN LANJUT. Untuk itu kami mengucapkan terima kasih terhadap semua pihak yang telah membantu hingga terselesaikannya makalah ini. Terutama kami ucapkan kepada : Ibu Nur Laila Mubarokah, A.Md., selaku dosen pengampuh Praktikum Pemrogramn Lanjut Teknik Informatika angkatan 2011 E. Kakak pendamping dosen yang diantara : Aditya, Vina, Tiyan. Kedua orang tua kami, atas segala dukungan yang telah diberikan. Rekan-rekan mahasiswa-mahasiswi Teknik Informatika Unversitas Ronggolawe Tuban, atas segala dukungannya.

Makalah ini saya susun sebagai tugas mata kuliah Praktikum Pemrograman Lanjut. Tak ada gading yang tak retak, demikian pepatah mengatakan. Demikian juga kiranya makalah ini, tentu masih banyak kekurangan. Oleh karena itu, penulis mengharapkan saran dan kritik dari pembaca demi sempurnanya makalah kami yang akan datang. Akhirnya, mudah-mudahan karya tulis ini bermanfaat bagi mahasiswa khususnya, dan bagi seluruh komponen bangsa Indonesia umumnya. Wassalamualaikum Wr.Wb.

Tuban, 6 Juni 2012

Penulis

ii

DAFTAR ISI
KATA PENGANTAR ............................................................................................ ii DAFTAR ISI .......................................................................................................... iii DAFTAR GAMBAR ............................................................................................ vii BAB I PENDAHULUAN ....................................................................................... 1 1.1 1.2 1.3 Latar Belakang ......................................................................................... 1 Tujuan Praktikum ..................................................................................... 1 Manfaat Praktikum ................................................................................... 2

BAB II TINJAUAN PUSTAKA............................................................................. 3 2.1 Pengenalan JAVA dan Lingkungan Kerja ............................................... 3 Pengertian Bahasa Pemrograman JAVA .......................................... 3 Sejarah Singkat Pemrograman JAVA ............................................... 3 Karakteristik Bahasa Pemrograman Java .......................................... 4 Compiler dan Interpreter Pada Java .................................................. 6

2.1.1 2.1.2 2.1.3 2.1.4 2.2

Elemen Dasar Pemrograman JAVA ......................................................... 8 Keyword ............................................................................................ 8 Identifier dan Variabel ...................................................................... 9 Tipe data dan Perubahan Tipe Data .................................................. 9 Komentar Pada java ........................................................................ 10 Instruksi Dasar Pemrograman Java ................................................. 10

2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3

Operator .................................................................................................. 13 Operator Aritmatika ........................................................................ 13 Increment and decrement ................................................................ 14 Operator Bitwise ............................................................................. 15 Operator Boolean ............................................................................ 16 Operator Logika .............................................................................. 16 Operator Shift .................................................................................. 17 Operator Kombinasi ........................................................................ 17

2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7

iii

2.3.8 2.3.9 2.4

Operator Kondisional ...................................................................... 17 Operator Penugasan ........................................................................ 18

Percabangan ............................................................................................ 18

2.4.1 Percabangan If ...................................................................................... 18 2.4.2 Percabangan If-else .............................................................................. 19 2.4.3 Percabangan else if............................................................................ 19 2.4.4 Percabangan Switch ............................................................................. 20 2.5 Perulangan .............................................................................................. 20 Perulangan menggunakan FOR ...................................................... 20 Perulangan menggunakan WHILE ................................................. 21 Perulangan menggunakan DO WHILE ........................................... 21

2.5.1 2.5.2 2.5.3 2.6 2.7

Pengenalan IDE Pada JAVA .................................................................. 22 Pemrograman Visual Pada JAVA .......................................................... 24

2.7.1 Komponen AWT .................................................................................. 24 2.7.2 Komponen Swing ................................................................................. 26 2.8 Pemrograman Berbasis Objek Pada JAVA ............................................ 29

BAB III PENGENALAN JAVA DAN RUANG LINGKUP KERJA ................. 31 3.1 3.2 3.3 3.4 Instalasi JDK .......................................................................................... 31 Pengesetan PATH dan CLASSPATH .................................................... 33 Menampilkan Suatu Tulisan Ke Layar ................................................... 36 Menganalisa dan Membenahi Kesalahan Pada Program........................ 37 Menganalisa script latihan pertama ................................................. 37 Menganalisa script latihan kedua .................................................... 38

3.4.1 3.4.1 3.5

Percobaan Menampilkan biodata ........................................................... 39

BAB IV ELEMEN DASAR PEMROGRAMAN JAVA ...................................... 41 4.1 Menampilkan Nilai Default dan Nilai Maksimal Dari Tipe Data Primitif 41 4.1.1 4.1.2 Menampilkan nilai default dari masing-masing tipe data ............... 41 Nilai maksimal masing-masing tipe data ........................................ 42 iv

4.2 4.3

Memberikan Nilai / Literal Pada Variable ............................................. 44 Memberikan Nilai Input Pada Program .................................................. 45 Membaca Satu Karakter .................................................................. 45

4.3.1

4.3.2 Membaca Beberapa Karakter ............................................................... 46 4.3.3 4.3.4 Membaca dengan Int Read ( Byte b[ ] ) ......................................... 46 Membaca Karakter Dengan Int Read(Byte B[], Int_Awal,

Int_Panjang) .................................................................................................. 47 4.3.5 4.3.6 Membaca Input Melalui Data Input Stream ................................... 49 Memanfaatkan Argumen String Args[ ] ........................................ 51

BAB V OPERATOR ............................................................................................ 52 5.1 5.2 5.3 5.4 5.5 5.6 Menguji Operator Aritmatika ................................................................. 52 Melakukan Increment dan decrement Nilai ........................................... 53 Melakukan Operasi Bit ........................................................................... 54 Menggunakan Logika Operator .............................................................. 55 Menggunakan Operator Boolean And .................................................... 56 Menggunakan Boolean Or ...................................................................... 57

BAB VI PERCABANGAN .................................................................................. 59 6.1 Percabangan Menggunakan if , if else , dan else if ................................. 59 6.2 6.3 6.5 Percabangan Menggunakan Switch........................................................ 60 Menentukan Bilangan Genap dan Ganjil ............................................... 62 Menampilkan Biodata Mahasiswa ......................................................... 64

BAB VII PERULANGAN .................................................................................... 66 7.1 Menampilkan Bilangan Faktorial ................................................................ 66 7.1.1 Menampilkan Bilangan Faktorial dengan For...................................... 66 7.1.2 Menampilkan Bilangan Faktorial dengan While ................................. 67 7.1.3 Menampilkan Bilangan Faktorial dengan Do - While ......................... 68 7.2 Perulangan dengan Break ............................................................................ 71 7.3 Pemakaian Label pada Kondisi Continue ................................................... 71 v

7.4

Menampilkan Susunan Deretan Karakter ............................................... 73 Menampilkan susunan segi empat .................................................. 73 Menampilkan Susunan Setengah Segi Tiga .................................... 73 Menampilkan Susunan Setengah Segitiga Terbalik ........................ 74

7.4.1 7.4.2 7.4.3

7.5 Menampilkan Deret Bilangan Prima Dengan Batasan Sesuai Inputan ..... 75 BAB VIII PENGENALAN IDE PADA JAVA .................................................... 77 8.1 8.2 8.3 8.4 8.4 Instalasi Netbeans IDE ........................................................................... 77 Menjalakan Java Console pada NetBeans IDE ...................................... 81 Menjalankan Java GUI pada NetBeans IDE .......................................... 85 Membuat Program Penjumlahan Java GUI pada NetBeans IDE ........... 88 Membuat Program Biodata Mahasiswa Java GUI pada NetBeans IDE 92

BAB IX PEMROGRAMAN VISUAL PADA JAVA .......................................... 99 9.1 9.2 9.3 Program Aplikasi Hitung Sederhana ...................................................... 99 Membuat Program Data Mahasiswa .................................................... 103 Program Aplikasi Sederhana ................................................................ 106

BAB X PEMROGRAMAN BERBASIS OBJEK PADA JAVA ....................... 112 10.1 Bekerja Menu, PopUp Menu dan Toolbar .............................................. 112 BAB XI PROGRAM ABSENSI MATA PELAJARAN .................................... 117 11.1 11.2 11.3 Judul Program ................................................................................... 117 Latar Belakang .................................................................................. 117 Alur Program .................................................................................... 117

BAB XII PENUTUP ........................................................................................... 150 12.1 12.2 Kesimpulan ....................................................................................... 150 Saran ................................................................................................. 151

DAFTAR PUSTAKA ......................................................................................... 152 LAMPIRAN ........................................................................................................ 154

vi

DAFTAR GAMBAR
Gambar 2.1 Langkah-langkah kompilasi dan eksekusi program Java .................... 7 Gambar 2.2 Tampilan flowchart percabangan if................................................... 18 Gambar 2.3 Tampilan flowchart percabangan if - else ......................................... 19 Gambar 2.4 Flowchat perulangan for.................................................................... 21 Gambar 2.5 Flowchart perulangan while .............................................................. 21 Gambar 2.6 Flowchart perulangan do- while....................................................... 22 Gambar 2.7 Tampilan gambar komponen pemrograman visual AWT ................. 25 Gambar 2.8 Tampilan Komponen Swing Containers ........................................... 26 Gambar 2.9 Tampilan Gambar Macam Komponen Swing Controls .................... 27 Gambar 2.10 Tampilan Gambar Macam Komponen Swing Menus ..................... 28 Gambar 2.11 Tampilan Dari Komponen Swing Windows ................................... 28 Gambar 2.12 Tampilan Macam Komponen Dari Swing Fillers ........................... 29 Gambar 3.1 Letak File JDK .................................................................................. 31 Gambar 3.2 Jendela utama penginstalan JDK....................................................... 31 Gambar 3.3 Jendela Custom Setup ....................................................................... 32 Gambar 3.4 Tampilan Progress install JDK.......................................................... 32 Gambar 3.5 Jendela tampilan Complete instalasi ................................................. 33 Gambar 3.6 Letak file java.exe dan tools jar ........................................................ 33 Gambar 3.7 Langkah membuka Command Prompt .............................................. 34 Gambar 3.8 Pengesetan PATH untuk Java pada Command Prompt .................... 34 Gambar 3.9 Pengesetan CLASSPATH untuk Java pada Command Prompt ........ 35 Gambar 3.10 mengecek pengesetan PATH dan CLASSPATH ............................ 35 Gambar 3.11 JAVA Compile GuruhPutroDirgantoro.java ................................... 36 Gambar 3.12 Jalankan program GuruhPutroDirgantoro ....................................... 36

vii

Gambar 3.13 Kompilasi program JAVA yang terdapat kesalahan ....................... 37 Gambar 3.14 Tampilan hasil menganalisa dan membenahi kesalahan pada program ................................................................................................................. 38 Gambar 3.15 Tampilan hasil menganalisa dan membenahi kesalahn pada program ............................................................................................................................... 39 Gambar 3.16 Tampilan menampilkan kalimat biodata kelayar ............................ 40 Gambar 4.1 Tampilan EdoDefaultValue.java ....................................................... 41 Gambar 4.2 Tampilan EdoMaxVariableDemo.java.............................................. 43 Gambar 4.3 Tampilan EdoBiodata.java ................................................................ 44 Gambar 4.4 Tampilan Hasil Membaca Lebih Dari Satu Karakter ........................ 45 Gambar 4.5 Tampilan Hasil Compile Membaca Input Dengan String buffer ...... 46 Gambar 4.6 Tampilan Hasil Compile Membaca Input Dengan Int Read ( Byte B [ ] ) ........................................................................................................................... 47 Gambar 4.9 Tampilan Hasil Compile Program Input Data Dengan Inputstream . 50 Gambar 4.10 Tampilan Hasil compile Interpreter Memanfaatkan Argument String Args[ ] ................................................................................................................... 51 Gambar 5.1 Tampilan Hasil Uji Operator Aritmatika .......................................... 53 Gambar 5.2 Tampilan Hasil Uji Coba Operator Increment Dan Decrement ........ 54 Gambar 5.3 Tampilan Output Dari Uji Operator Bitwise ..................................... 55 Gambar 5.4 Tampilan Output Dari Program Operator Logika ............................. 56 Gambar 5.5 Tampilan Output Dari Program Boolean And .................................. 57 Gambar 5.6 Tampilan Output Dari Program Boolean Or ..................................... 58 Gambar 6.1 Tampilan Output Program Percabangan If , If Else ,Dan Else If 60 Gambar 6.2 Tampilan Output Dari Percabangan Switch ...................................... 61 Gambar 6.3 Tampilan Output Program Untuk Menentukan Bilangan Genap Dan Ganjil ..................................................................................................................... 62 Gambar 6.4 Tampilan Output Program Menentukan Bilangan Prima .................. 64 viii

Gambar 6.5 Tampilan Output Program Menampilkan Biodata Mahasiswa ......... 65 Gambar 7.1 Menampilkan Bilangan Faktorial dengan For ................................... 67 Gambar 7.2 Menampilkan Bilangan Faktorial dengan While ............................. 68 Gambar 7.3 Menampilkan Bilangan Faktorial dengan Do - While ...................... 69 Gambar 7.4 Tampilan Output Program Perulangan Dengan Break ...................... 71 Gambar 7.5 Tampilan Output Dari Program Looping Dengan Continue Label ... 72 Gambar 7.6 Tampilan Output Dari Susunan Segi Empat ..................................... 73 Gambar 7.7 Tampilan Output Program susunan Setengah Segitiga ..................... 74 Gambar 7.8 Tampilan Dari Output Program Setengah Segitiga Terbalik ............ 75 Gambar 7.9 Tampilan Dari Output Program Deret Bilangan Prima ..................... 76 Gambar 8.1 Tampilan Installer Netbeans 7.0.1-Ml-Windows Pada Localdisk (D:) ............................................................................................................................... 77 Gambar 8.2 Tampilan Proses Konfigurasi System. ............................................. 77 Gambar 8.3 Tampilan Configurasi IDE ................................................................ 77 Gambar 8.4 Tampilan Welcome Pada Saat Instalasi Netbeans IDE ..................... 78 Gambar 8.5 Tampilan License Agreement Pada Saat Instalasi Netbeans IDE ..... 78 Gambar 8.6 Tampilan JUnit License Agreement ................................................. 79 Gambar 8.7 Tampilan NetBeans 7.01 Installation JDK....................................... 79 Gambar 8.8 Tampilan Dari Glassfish 3.1 Instalasi ............................................... 79 Gambar 8.9 Tampilan Dari Summary Dan Total Ukuran Memori Instalasi......... 80 Gambar 8.10 Tampilan Proses Installation Netbeans Dan Runtimes ................... 80 Gambar 8.11 Tampilan Instalation Netbeans Completed Successfully ................ 80 Gambar 8.12 Tampilan Dari Start-Up Netbeans IDE 7.0.1 .................................. 81 Gambar 8.13 Tampilan Dari Start Page Netbeans 7.0.1 ...................................... 81 Gambar 8.14 Tampilan Start Up Home Netbeans IDE 7.0.1 ................................ 82 Gambar 8.15 Tampilan Dari Menu File New Project ........................................ 82

ix

Gambar 8.16 Tampilan New Project ..................................................................... 82 Gambar 8.17 Tampilan New Java Aplication ....................................................... 83 Gambar 8.18 Tampilan Memilih Java Class ......................................................... 83 Gambar 8.18 Tampilan memilih tempat penyimpanan java class ........................ 84 Gambar 8.19 Tampilan mengisi aplikasi .............................................................. 84 Gambar 8.19 Tampilan save program dan menjalankan program ........................ 85 Gambar 8.20 Tampilan Jendela New File Untuk Memilih Java GUI ................... 85 Gambar 8.21 Tampilan Jendela New Jframe Form .............................................. 86 Gambar 8.22 Tampilan Program Menampilkan Nama Saya ................................ 86 Gambar 8.23 Tampilan Cara Memberikan Action Pada Button ........................... 86 Gambar 8.24 Tampilan Letak Action Button Kita Pada Source Program ............ 87 Gambar 8.25 Tampilan GUI Program Menampilkan Nama Lengkap Saya ......... 87 Gambar 8.26 Tampilan Hasil Program GUI Menampilkan Nama Saya Setelah Di Klik OK ................................................................................................................. 87 Gambar 8.27 Tampilan Jendela New File Untuk Memilih Java GUI untuk membuat program penjumlahan ............................................................................ 88 Gambar 8.28 Tampilan Jendela New Jframe Form .............................................. 88 Gambar 8.29Tampilan Program Menampilkan Penjumlahan 2 Angka ................ 89 Gambar 8.30 Tampilan Cara Memberikan Action Pada Button ........................... 89 Gambar 8.31 Tampilan Letak Action Button 1 Kita Pada Source Program ......... 90 Gambar 8.32 Tampilan Desain Program ............................................................... 90 Gambar 8.33 Tampilan Cara Memberikan Action Pada Button2 ......................... 90 Gambar 8.34 Tampilan Letak Action Button 2 Kita Pada Source Program ........ 91 Gambar 8.35 Tampilan program setelah dijalankan ............................................. 91 Gambar 8.36 Tampilan program setelah di isi nilai dan di jalankan .................... 91 Gambar 8.37 Tampilan program setelah isi nilai di Hapus ................................... 92

Gambar 8.38 Tampilan Jendela New File Untuk Memilih Java GUI ................... 92 Gambar 8.39 Tampilan Jendela New Jframe Form .............................................. 93 Gambar 8.40 Tampilan Program Menampilkan Biodata Mahasiswa ................... 93 Gambar 8.41 Tampilan Cara Memberikan Action Pada Button 1 ........................ 93 Gambar 8.42 Tampilan Letak Action Button 1 Kita Pada Source Program ......... 94 Gambar 8.43 Tampilan Desain Program ............................................................... 94 Gambar 8.44 Tampilan Cara Memberikan Action Pada Button 2 ........................ 95 Gambar 8.45 Tampilan Letak Action Button 2 Kita Pada Source Program ........ 95 Gambar 8.46 Tampilan Desain Program .............................................................. 96 Gambar 8.47 Tampilan Cara Memberikan Action Pada Button 3 ....................... 96 Gambar 8.48 Tampilan Letak Action Button 3 Kita Pada Source Program ........ 96 Gambar 8.50 Tampilan program setelah dijalankan ............................................ 97 Gambar 8.51 Tampilan program setelah di isi Biodata Mahasiswa...................... 97 Gambar 8.52 Tampilan program setelah isi biodata di Hapus .............................. 98 Gambar 9.1 Tampilan GUI Aplikasi Hitung Sederhana ....................................... 99 Gambar 9.2 Tampilan Program Hitung Sederhana ............................................. 100 Gambar 9.3 Tampilan Hasil Program Hitung Aritmatika Penjumlahan ............. 101 Gambar 9.4 Tampilan Hasil Program Hitung Pengurangan ............................... 101 Gambar 9.5 Tampilan Hasil Program Hitung Perkalian ..................................... 102 Gambar 9.6 Tampilan Hasil Program Hitung Pembagian .................................. 102 Gambar 9.7 Tampilan Hasil Program Setelah Di Klik Tombol Hapus............... 103 Gambar 9.8 Tampilan GUI Program Biodata Mahasiswa Pada Netbeans.......... 103 Gambar 9.9 Tampilan Cara Memberi Action Pada Button Save ........................ 104 Gambar 9.10 Tampilan Interface Program Biodata Mahasiswa ......................... 105 Gambar 9.11 Tampilan Input Data Pada Program Biodata Mahasiswa.............. 105 Gambar 9.12 Tampilan Program Aplikasi Sederhana Pendaftaran Online......... 106 xi

Gambar 9.13 Tampilan untuk membuat tampilan bulan secara manual ............. 108 Gambar 9.14 Tampilan untuk mengimputkan tampilan bulan............................ 108 Gambar 9.15 Tampilan Halaman Kedua Program Pendaftaran Online .............. 109 Gambar 10.1 Tampilan Program Yang Menggunakan Toolbar, Popup Menu Dan Menu ................................................................................................................... 112 Gambar 10.2 Tampilan Jendela Image Chooser Icon ......................................... 112 Gambar 10.3 Tampilan Input Data Pada Program Popup Menu ........................ 113 Gambar 10.4 Tampilan menu toolbar pendaftaran baru ..................................... 113 Gambar 11.1 Tampilan awal program ................................................................ 117 Gambar 11.2 Tampilan Login ............................................................................. 117 Gambar 11.3 Tampilan menu aplikasi ................................................................ 119 Gambar 11.4 Tampilan halaman daftar guru ...................................................... 121 Gambar 11.5 Tampilan halaman daftar siswa ..................................................... 124 Gambar 11.6 Tampilan halaman daftar mata pelajaran ...................................... 127 Gambar 11.6 Tampilan halaman awal untuk memilih kelas ............................... 131 Gambar 11.7 Tampilan memilih kelas untuk mengetahui mapel ....................... 131 Gambar 11.8 Memilih tanggal absensi ............................................................... 132 Gambar 11.9 Memilih nama siswa tidak hadir ................................................... 132 Gambar 11.10 Tampilan nama siswa yang tidak hadir ....................................... 133 Gambar 11.11 Halaman report ............................................................................ 144 Gambar 11.12 Memilih nama siswa untuk report ............................................... 144 Gambar 11.13 Peringatan untuk memasukkan nama siswa ................................ 145 Gambar 11.14 Peringatan untuk memasukkan nama siswa ................................ 145

xii

BAB I PENDAHULUAN
1.1 Latar Belakang Dalam dunia perkuliahan, seorang Mahasiswa tidak hanya cukup mendapatkan pembekalan berupa materi perkuliahan,tetapi juga harus dimbangi dengan praktek sebagai sarana awal implementasi yang sudah didapatkan dari mata perkuliahan. Praktikum pemrograman lanjut adalah praktikum yang di khususkan untuk para mahasiswa agar mampu bersaing di dunia computer yang pada zaman ke zaman semakin meningkat pesat perkembangannya. Praktikum pemrograman lanjut dilaksanakan karena mahasiswa kurang memahami jika hanya menerima teori saja. Dalam pratikum pemograman lanjut ini akan membahas materi tentang Java dari sejarahnya sampai pengunaanpengunaan fungsinya. Oleh karena itu tidak cukup dengan mateti-materi saja, tetapi mahasiswa juga memelukan praktek-praktek tetang pemograman lanjut ini untuk mempermudah pemahaman masing-masing fungsinya.

1.2

Tujuan Praktikum

Tujuan praktikum pemrograman lanjut diantaranya : a. Menambah pengetahuan tetang java yang lebih detail dan

implementasinya. b. Melatih diri untuk mengerjakan secara mandiri. c. Agar mahasiswa menjadi lebih aktif. d. Mahasiswa mampu membuat program sederhana dengan JAVA e. Mahasiswa mampu mengkompilasi dan menjalankan program JAVA f. Mahasiswa dapat menganalisa beberapa permasalahan yang terjadi saat pemrograman dan memberikan solusi g. Dapat mengerti dan memahami Elemen elemen dasar pemrograman JAVA h. Mahasiswa dapat memahami berbagai macam jenis operator yang ada di JAVA

i. Mahasiswa memahami berbagai macam percabangan yang ada di JAVA seta cara penggunannya j. Mahasiswa memahami logika perulangan serta memakai perulangan yang tepat dalam program JAVA k. Mahasiswa mengenal dan mempersiapkan IDE pada JAVA l. Mahasiswa mampu membuat program console dan GUI pada

NetBeansIDE m. Mahasiswa mahir menuliskan program JAVA pada pemrograman visual dengan NetBeans n. Mahasiswa dapat membuat aplikasi sederhana dengan menggunakan NetBeansIDE o. Mahasiswa dapat membuat aplikasi frame sederhana sendiri

1.3

Manfaat Praktikum Dengan dilaksanakannya praktikum program lanjut ini. Mahasiswa

mendapat ilmu dan pengetahuan yang tidak berupa materi dan teori saja. Praktikum memberikan kesempatan kepada mahasiswa untuk menguji coba apa yang didapat dari perkuliahan praktikum juga menunjang mahasiswa supaya mudah mengerti dengan program-program praktikum selanjutnya

BAB II TINJAUAN PUSTAKA


2.1 2.1.1 Pengenalan JAVA dan Lingkungan Kerja Pengertian Bahasa Pemrograman JAVA Salah satu bahasa pemrograman komputer adalah adalah bahasa pemrograman Java. Bahasa pemrograman Java adalah salah satu bahasa pemrograman komputer yang berorientasi objek (Object Oriented Programming), diciptakan oleh satu tim dari perusahaan Sun Microsystem. Java diciptakan berdasarkan bahasa C++ dengan tujuan dapat dijalankan pada berbagai jenis hardware tanpa kompilasi ulang. Untuk membuat program dengan bahasa java, kita dapat menulis source code pada teks editor yang kemudian disimpan dalam file berekstension .java. Selanjutnya kita mengcompile source code tersebut dengan perintah javac, sehingga didapatkan sebuah file berekstension .class. Untuk merunning program, kita gunakan perintah java. Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. Interpreter untuk program Java sendiri sering juga disebut Java Runtime Environment (JRE) atau Java Virtual Machine. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja.

2.1.2

Sejarah Singkat Pemrograman JAVA Pada 1991, Java pertama kali dikonsepkan oleh James Gosling, Patrick

Naughton, Cris Warth dan rekan-rekan lainnya di Sun Microsystem. sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Karena perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode Green. Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. 3

Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin. Karena orang orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama Oak oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama JAVA.

2.1.3

Karakteristik Bahasa Pemrograman Java Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik

berikut : 1. Sederhana (Simple) Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.

2.

Berorientasi objek (Object Oriented) Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.

3.

Terdistribusi (Distributed) Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java. Dan Program Java sesuai dengan perkembangan teknologi saat ini, yaitu teknologi jaringan lokal seperti jaringan internet. Java dapat digunakan untuk mendistribusikan data atau informasi dalam workstation client, e-mail server, database server, dan web server.

4.

Interpreted Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.

5.

Robust Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.

6.

Secure Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.

7.

Architecture Neutral Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.

8.

Multiplatform Program Java yang sudah diterjemahkan dengan benar dan berhasil dapat dijalankan pada platform yang lain atau pada Praktikum Pemrograman Lanjut yang lain. Sekali menulis program dalam bahasa Java dan mengkompilasinya maka program tersebut dapat dijalankan pada berbagai Praktikum Pemrograman Lanjut, seperti DOS, Windows, Linux, MacOS, dan Solaris.

9.

Performance Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan inprise, microsoft ataupun symantec yang menggunakan Just In Time Compiler

10.

Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

11.

Dynamic

Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

2.1.4

Compiler dan Interpreter Pada Java

Java mempunyai file sistem yang digunakan untuk melakukan compiler dan interpreter, yang semuanya mendukung program Java dalam melakukan tugasnya. Compiler dan interpreter adalah suatu sistem yang menerjemahkan bahsa sumber (source language) menjadi bahasa sasaran (target language). Proses penerjemahan sering disebut kompilasi.

Langkah-langkah Kompilasi dan Eksekusi Program Java Source Code


Jika salah lakukan perbaikan

Kompilasi Program

Apabila Benar, akan menghasilkan program

Hasil Kompilasi Namafile class


Jika ada runtime atau logic error

Mengeksekusi Program Dengan Interpreter Hasil Besar

Jika BENAR tidak ada lagi runtime eror

Gambar 2.1 Langkah-langkah kompilasi dan eksekusi program Java

Keterangan : 1. Source Code Source Code adalah file sumber yang dituliskan dengan extensions Java yang akan kompilasi. dalam hal ini anda menuliskan sebuah program Java dengan menggunakan teks editor (contoh: Notepad, Jcreator, dll) 2. Kompilasi Program. Kompilasi Program adalah mengkompilasi dari file sumber menjadi file dengan extensions class 3. Hasil Kompilasi Setelah membuat dan menyimpan kode program, kompilasi file berisi kode program tersebut dengan mengunakan java compiler. Hasil dari kompilasi berupa berkas byte code dengan extensi class 4. Mengeksekusi Program. Artinya menjalankan program setelah dilakukan compile atau sering disebut run program. Berkas yang mengandung byte code tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.

5. Hasil Program. Hasil program dapat diperoleh setelah dikompile dan pengeksekusian berhasil (Tidak ada kesalahan)

2.2

Elemen Dasar Pemrograman JAVA Program adalah susunan instruksi dalam suatu bahasa pemrograman yang

menjelaskan kepada mesin (komputer) bagaimana melakukan suatu proses terhadap data. Ada dua elemen utama suatu program, yaitu data dan instruksi. Data diwakili oleh variable dan instruksi diwakili oleh command (perintah) atau keyword (kata kunci). Setiap variabel harus diberi nama yang dilengkapi dengan tipe data dan melalui satu instruksi diberikn nilai, sedangkan instruksi dinyatakan sebagai baris perintah yang merupakan suatu ekspresi matematis atau dalam bentuk command/keyword yang bisa melibatkan variabel atau konstanta.

2.2.1

Keyword Keyword merupakan kata-kata yang dikenal oleh kompiler Java dan

memiliki arti khusus pada program.. Beberapa keyword yang adadi java adalah sebagai berikut : abstract char double float instance null short boolean class else for int package static break const extends goto interface private strictfp throw byte continue false if long protected super throws case default final implements native public switch catch do finally import new return while

synchronized this void volatile

transient true try

2.2.2

Identifier dan Variabel Identifier merupakan identitas atau nama yang diberi untuk menamai class,

interface, variabel, dan method. Setiap variabel harus diberi nama yang dilengkapi dengan tipe data dan melalui suatu instruksi diberikan nilai.

Untuk memberikan penamaan (identifier), kita dapat mengikuti aturan yang sudah ditentukan sebagai berikut : 1. Tidak ada batasan panjang (tapi usahakan jangan membingungkan dalam pemberian nama). 2. Identifier harus diawali degan huruf, garis bawah ( _ ), atau lambang dolar ( $ ). 3. 4. Hindari pemakaian operator yang ada di Java. Identifier bukan yang dikenal pada kata kunci (Keyword) pada Java. Sedangkan variabel adalah sifat dari sebuah data yang dimiliki oleh sebuah objek. Variabel digunakan untuk menyimpan sebuah nilai yang dapat diubah. Nilai yang diberikan pada variabel disebut dengan Literal, beberapa bentuk literal antara lain : a. Nilai bilangan bulat b. Nilai bilangan riel c. Nilai bilangan Boolean d. Nilai untuk karakter e. Nilai String

2.2.3

Tipe data dan Perubahan Tipe Data

Pada java tipe data dibrdakan menjadi 2 yaitu : 1. Tipe data primitif. Tipe data primitif ialah tipe data dasar untuk data tunggal. Beberapa contoh tipe data primitif adalah Boolean, byte, short, char, int, long dan double 2. Tipe data kompleks/referensi Tipe data kompleks adalah bentukan tipe data yang termasuk jenis kompleks/referensi. Contoh type data kompleks antara lain : String dan array.

Casting merupakan perubahan tipe data yang dimanipulasi dari satu objek ke objek lain yang tidak sesuai.

2.2.4

Komentar Pada java Komentar adalah suatu pernyataan yang tidak ada pengaruhnya terhadap

proses. Alam pemrograman, banyak catatan yang ditulis pada kode dengan tujuan sebagai bahan dokumentasi. Komentar dalam pemrograman biasanya enjelaskan singkat program, pembuat program, proses, statement, dan lainnya yang ada hubungannya dengan program. Untuk menambahkan komentar kedalam program, tanda yang digunakan adalah : // : tanda komentar untuk satu baris

/* diakhiri */ : tanda komentar untuk yang memungkinkan digunakan untuk lebih dari satu baris.

2.2.5

Instruksi Dasar Pemrograman Java Instruksi dinyatakan sebagai baris perintah yang merupakan suatu ekspresi

matematis atau dalam bentuk command/keyword yang bisa melibatkan variabel atau konstanta. Instruksi-instruksi dasar pada Java diantaranya : 1. Instruksi Penugasan Bentuk umumya adalah variabel = ekspresi; Contoh : A = 1; B = A; 2. Instruksi Output Bentuk umum instruksi output adalah System.out.println(Data String yang akan ditampilkan); 3. Instruksi Input Ada beberapa bentuk instruksi input pada Java, diantaranya adalah : a. Membaca satu karakter class bacaHuruf{ public static viod main(String args[]){ 10

char input=(char)-1; try{ input=(char)System.in.read();} catch +e);}}} (Exception e){System.out.println(error

b. Membaca beberapa karakter


class bacaData1{ public static void main (String args[]) StringBuffer s=new StringBuffer(); char c; try{

while((c=(char)System.in.read())!=\n){ s.pead(c);}} cath(Exception e){ System.out.println(Error: +e.toString());} System.out.println(s;)}} Membaca dengan int read(byte b[]) class bacaData2{ public static void main(String args[]) byte buf[]= new byte[80]; try{ System.in.read.(buf);} Cath(Exception e){
System.out.println(Error:+e.toString());}

c.

String s=new String(buf,0); System.out.println(s);}} d. Membaca dengan int panjang) class bacaData3{ public static void main (String args[]){ byte buf[]= new byte[10]; 11 read(byte b[], int awal, int

try{ System.in.read(buf,0,10);}
catch(Exception e){

System.out.println(Error:+e.toSting());}
String s=new String(buf,0);

System.out.println(s);}} Membaca melalui DataInputStream


class in_out{ public static void main(Sting args[]){ DataInputStream in = new DataInputStream (System.in); char c; int angka =0; char huruf = ; String kalimat = ; /*menerima input Stream lalu dirubah ke Interger*/ try{ System.out.println(Enter a number:); kalimat = in.readLine(); angka = Interger.parseInt(kalimat);} catch(IOException e){System.out,println(e);} /* menerima karakter dari input stream */ try{ System.out.println(Enter a character:); kalimat = in.readLine (); huruf = kalimat chatAt(0);} catch(IOException e){System.out.println(e);} /* menerima Sting dari input stream */ try{ System.out.println(Enter some words:); kalimat=in.readLine();} catch (IOException e){System.out.println(e);} /* hasil input di tampilan */ System.out.println(Here System.out.println(huruf); System.out.println(kalimat);}} are what you type in:)System.out.println(angka);

e.

12

f.

Memanfaatkan argumen String args[]


class contohArgumen { public static void main ( Sring args [] ) { int i = Integer.perseInt ( args [ 0 ] int hasil = i * j ; System.out.println ( Hasil kali = + hasil ) ; }} ) ; int j = Integer.perseInt ( args [ 1 ] ) ;

Jalankan program tersebut kemudian masukkan angka pada argumennya. Misalnya : Java ContohArgumen 5 * 8 < enter > Hasil kali = 40

2.3

Operator Operator adalah karakter khusus yang berupa simbol atau tanda yang

digunakan untuk mengoperasikan (memproses) dua operand atau lebih untuk mendapatkan hasil. Sedangkan Operand adalah suatu variabel (angka atau karakter) yang akan dioperasikan (diproses) oleh operator untuk mengetahui hasil. Operator dapat diklasifikasikan menjadi 2 bentuk, yaitu Unary Operator dan Binary Operator. Unary Operator adalah operator yang hanya melibatkan satu operand, sedangkan Binary Operator adalah operator yang melibatkan dua operand. Operator Java merupakan karakter khusus yang berupa simbol atau tanda yang memerintahkan compiler untuk melakukan berbagai operasi terhadap sejumlah operand. Perintah operasi dispesifikasikan oleh operator yang operandnya adalah variabel, pernyataan, atau besaran literal. Java mempunyai berbagai macam jenis operator yang dapat digolongkan menjadi operator aritmatika, increment-decrement, bitwise, boolean, logica, shift (geser), penugasan, kombinasi, dan kondisi. 2.3.1 Operator Aritmatika Operator mengoperasikan aritmatika perhitungan adalah operator yang digunakan pemrograman untuk Java

(aritmatika).

Bahasa

menyediakan operator-operator aritmatika untuk manipulasi variabel data.

13

Operator aritmatika hanya dapat digunakan dengan operand yang bertipe bilangan, baik bilangan bulat maupun pecahan. Yang termasuk operatoraritmatika adalah sebagai berikut : Simbol Operator + * / % Keterangan Oprasi Penjumlahan Oprasi Pengurangan Oprasi Perkalian Oprasi Pembagian Oprasi Modulus (sisa bagi)

2.3.2

Increment and decrement Operator increment digunakan untuk menaikkan suatu nilai integer

(bilangan bulat) sebanyak satu satuan dan hanya dapat digunakan pada variabel. Sedangkan Operator decrement digunakan untuk menurunkan suatu nilai integer sebanyak satu satuan dan hanya dapat digunakan pada variabel. Simbol Operator ++ -Keterangan Increment Decrement

Ada dua versi operator increment dan decrement, yaitu prefix dan postfix. Prefix berarti operator digunakan sebelum variabel atau ekspresi, Misal : ++a, artinya Menambahkan nilai 1 pada a; mengevaluasi nilai a sebelum diincrement/ditambahkan --a, Artinya Mengurangkan nilai 1 pada a; mengevaluasi nilai a setelah didecrement/dikurangkan Postfix berarti operator digunakan sesudahnya. Misal : a++, Artinya Menambahkan nilai 1 pada a; mengevaluasi nilai a sebelum diincrement/ditambahkan a--, Artinya Mengurangkan nilai 1 pada a; mengevaluasi nilai a sebelum didecrement/dikurangkan.

14

2.3.3

Operator Bitwise Operator bitwise adalah operator yang digunakan untuk mengoperasikan

secara langsung terhadap bit yang menyusun suatu bilangan. Simbol Operator ~ & | ^ Bitwise AND (&) Bitwise AND akan menghasilkan bit 1 jika kedua operator bernilai bit 1. Bitwise OR (|) Bitwise OR akan menghasilkan bit 1 jika salah satu operator bernilai 1. Bitwise XOR (^) Bitwise XOR akan menghasilkan bit 1 jika kedua operator memiliki nilai yang berbeda. Bitwise NOT (~) Bitwise NOT (complement) akan menghasilkan bit yang berlawanan dengan bit yang dioperasikan. Operasainya dapat digambarkan seperti berikut : cara untuk complement : bilangan awal ditambah 1 jika bilangan bernilai positif. bilangan awal dikurangi 1 jika bilangan bernilai negatif. contoh : x = 8, ~x = ? Keterangan : x = 1000 = 0000 1000 Angka nol menandakan positif Sumber desimal 8 0000 1000 1 + 1001 Bit didepannya ditukar menjadi 1111 1001 1111 1001 = desimal -9 Angka 1 menandakan negatif Keterangan Oprasi NOT (complement) Oprasi AND Oprasi OR Oprasi XOR

15

2.3.4

Operator Boolean Operator boolean adalah operator yang digunakan terhadap operand

bertipe boolean yang hasilnya benar (true) atau salah (false). Yang termasuk dalam boolean operator adalah Simbol Operator ! & | ^ && || Keterangan Oprasi NOT Oprasi AND Oprasi OR Oprasi XOR Short Circuit Oprasi AND Short Circuit Oprasi OR

Operator !, &, | dan ^ mempunyai implementasi yang sama sebagaimana ketika ia menjadi operator bitwise. Hanya saja di operator logika, operand yang dilibatkan disini harus bertipe boolean, yang hanya mempunyai nilai true atau false.

2.3.5

Operator Logika Operator logika adalah operator hubungan (relasi) yang sering dipakai

untuk operasi perbandingan dan selalu menghasilkan suatu nilai bertipe boolean, yaitu benar (true) atau salah (false), Yang termasuk dalam logika operator adalah Simbol Operator Keterangan == Oprasi perbandingan Sama dengan != Oprasi perbandingan Tidak sama dengan > Oprasi perbandingan Lebih besar >= Oprasi perbandingan Lebih besar sama dengan < Oprasi perbandingan Lebih kecil <= Oprasi perbandingan Lebih kecil sama dengan Operator logika atau relasional dalam Java digunakan untuk menghasilkan nilai boolean yang sering dipakai untuk mengatur alur jalannya sebuah program.

16

2.3.6

Operator Shift Sift operator adalah operator yang berfungsi untukmenggeser susunan bit

pada suatu nilai. Yang termasuk dalam shif operator adalah Simbol Operator >> << >>> 2.3.7 Keterangan Geser kanan Geser kiri Geser kanan tanpa mempertahankan sign

Operator Kombinasi Operator kombinasi atau operator majemuk adalah gabungan dari

operator-operator penugasan. Biasanya operator kombinasi ini dipakai untuk mempersingkat waktu penulisan program. Yang termasuk dalam kombination operator adalah Simbol Operator += -= *= /= %= &= |= ^= >>= <<= Keterangan Gabungan dari operator + dan = Gabungan dari operator - dan = Gabungan dari operator * dan = Gabungan dari operator / dan = Gabungan dari operator % dan = Gabungan dari operator & dan = Gabungan dari operator | dan = Gabungan dari operator ^ dan = Gabungan dari operator >> dan = Gabungan dari operator << dan =

2.3.8

Operator Kondisional Operator kondisional Adalah operator yang dipakai untuk operasi kondisi

(persyaratan), sama halnya dengan if-then-else dan hanya berlaku untuk persyaratan tunggal. Operator ini mengembalikan suatu nilai yang benar sesuai kondisi yang diberikan. Operator kondisional ini hanya ada satu macam, yaitu tanda tanya (?) disertai dengan tanda (:) titik dua. Jika kondisi persyaratan yang terletak di sebelah kiri tanda tanya (?) bernilai benar, maka persyaratan yang berada di sebelah kiri tanda (:) titik dua yang akan diambil. Demikian pula sebaliknya.

17

2.3.9

Operator Penugasan Untuk melakukan penugasan variabel harus dideklarasikan dulu baru

diberikan penugasan. Operator assigment pada java digunakan untuk memberikan sebuah nilai kesebuah variabel, Operator assigment dengan simbol = (Sama dengan) Contoh: a = 7, artinya menugaskan a diberi nilai 5

2.4 Percabangan Percabangan dalam java terdapat 2 macam yaitu dengan memakai if dan switch, dan jenis jenis percabangannya ada 4 yaitu : if, if-else, else-if, switch.

2.4.1 Percabangan If Percabangan if dipakai jika kita menginginkan suatu pernyataan itu dilakukan dengan syarat tertentu. Pernyataan kendali aliran if akan menguji sebuah keadaan, apakah keadaan tersebut bernilai benar (true) atau salah (false). Jika keadaan tersebut true maka kumpulan pernyataan akan dijalankan dan jika false maka tidak dijalankan. Sintaks atau tata cara dari if adalah sebagai berikut :
if (ekspresi_boolean) { Pernyataan pernyataan; }

Algoritma dalam bentuk flowchart dari percabangan if adalah sebagai berikut Start C = 14 C>0

c lebih besar dari 0 End


Gambar 2.2 Tampilan flowchart percabangan if

18

2.4.2 Percabangan If-else Percabangan if-else dipakai untuk mengeksekusi salah satu dari 2 pernyataan dari syarat tertentu yang dapat bernilai benar atau salah. Jika pernyataan bernilai benar maka dikerjakan blok yang ditentukan tapi jika pernyataan salah akan dikerjakan blok yang lain. Sintaks atau tata cara dari if else adalah sebagai berikut :
if (ekspresi_boolean){ Pernyataan 1;} else { Pernyataan 2;}

Algoritma dalam bentuk flowchart dari percabangan if adalah sebagai berikut Start C = 14 C>0

c lebih besar dari 0

c lebih kecil dari 0

Cetak Hasil

End
Gambar 2.3 Tampilan flowchart percabangan if - else

2.4.3 Percabangan else if Percabangan else if dipakai untuk memberikan kondisi tertentu pada bagian else. Else if merupakan pernyataan yang berbentuk kondisi didalam else ada if. Statement if pada bagian else dapat menjadi struktur if else yang lain. Struktur ini mengizinkan anda untuk membuat seleksi persyaratan yang lebih kompleks, artinya dapat pula didalam if ada else, dalam else ada if lagi dan selanjutnya tergantung kebutuhan program. Sintaks atau tata cara dari else if adalah sebagai berikut :
if (ekspresi_boolean ke-1){ Pernyataan 1;}

19

else if (ekspresi_boolean ke-2){ Pernyataan 2;} . else if (ekspresi_boolean ke-n){ Pernyataan ke-n;}

ketika ekspresi_boolean1 bernilai bernilai false maka alur program akan menuju ke else. Begitu seterusnya sampai ekspresinya bernilai benar.

2.4.4 Percabangan Switch Percabangan switch dipakai pada saat kita ingin memberikan kondisi dengan beberapa syarat identikyang masing masing mempunyai pernyataan yang berbeda beda pada java nilai yang dilewatkan pada switch harus bertipe int, short, byte dan char. Dengan menggunaka switch anda dapat melakukan pilihan percabangan dengan persyaratan yang beragam. Sintaks atau tata cara dari if adalah sebagai berikut :
switch (ekspresi){ case <nilai1>:Pernyataan 1; break; case <nilai2>:Pernyataan 2 ; break; . default (Pernyataan ke n); }

Dalam statement switch java memeriksa terlebih dahulu ekspresi dari switch dan meloncat ke case selanjutnya mencocokan nilai yang sama dengan

persyaratannyaprogram mengerjakan statement dari awal sampai menemukan yang sesuai dan statement break dan juga melewati statement statement lain sampai akhir struktur switch. Jika tidak ditemukan case yang cocok maka program akan mengerjakan blok default. Blok default adalah optional jadi percabangan switch dapat tidak memiliki blok default.

2.5 Perulangan Pada bahasa pemrograman JAVA terdapat tiga jenis perulangan, diantaranya menggunakan FOR, WHILE dan DO WHILE. 2.5.1 Perulangan menggunakan FOR

20

Perulangan menggunakan FOR digunakan pada saat ingin melakukan perulangan dengan jumlah yang sudah diketahui pasti. Sintaks dari FOR adalah sebagai berikut :
for (inisialisasi; kondisi; perubah){ //Pernyataan }

Berikut merupakan Flowchart perulangan menggunakan for :


pernyataan

kondis

Keluar loop

i
Gambar 2.4 Flowchat perulangan for

2.5.2

Perulangan menggunakan WHILE Perulangan dengan WHILE dipakai saat kita melakukan perulangan

dengan jumlah yang belum diketahui pasti. Pernyataan pada while akan dikerjakan setelah pengecekan kondisi pada while bernilai true. Sintaks dari while adalah sebagai berikut:
while (kondisi) { //pernyataan }

Berikut merupakan Flowchart perulangan menggunakan while :

Gambar 2.5 Flowchart perulangan while

2.5.3

Perulangan menggunakan DO WHILE Perulangan menggunakan DO WHILE digunakan ketika melakukan

perulangan dengan jumlah yang belum diketahui pasti. Pernyataan pada DO akan 21

dikerjakan terlebih dahulu, setelah itu dilakukan pengecekan kondisi pada while. Sintaks dari do-while adalah sebagai berikut :
do { //pernyataan } while (kondisi);

Berikut merupakan Flowchart perulangan menggunakan while :

Gambar 2.6 Flowchart perulangan do- while

2.6 Pengenalan IDE Pada JAVA IDE ( Integrated Development Environment ) merupakan program computer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan IDE untuk menyediakan semua utilitas yang diperlukan dalam sebuah penegmbangan program. Macam macam IDE pada java : 1. Netbeans merupakan software yang dibuat oleh Sun Microsystem yang pada sekarang di tahun 2011 meluncurkan versi Update 7, dengan jdk yang ada. Software ini juga bersifat multi-language programing mampu membaca semua bahasa pemrograman mulai editor , compiler, interpreter, debugger dan lainnya. Dan mempunyai Graphic User Interface dengan Swing. Kekurangan : a. b. Hanya ada satu GUI, yaitu Swing Hanya bersifat generated code, tidak bias secara manual dalam pengeditan progamnya. Memilki memori yang besar dalam menjalankan program.

c.

d. Memerlukan dukungan prosesor yang handal. Kelebihan : a. Bersifat gratis dan memiliki banyak plug-in. 22

b. Sangat kompatibel dengan Swing c. Multi-language programing d. GUI builder sangat cocok untuk pengembang system berskala enterprise. e. Menyertakan GlassFish 3.1 untuk versi terbaru dalam neatbens 7.0 2. Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse: Multi-platform: Target Praktikum Pemrograman Lanjut Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP: a. Core platform b. OSGi c. SWT (Standard Widget Toolkit) d. JFace e. Eclipse Workbench 23

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya

diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu,

pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan

menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by project. 3. jGRAPH adalah software visualisasi dan editor yang diimplementasi java serta bias dijalankan disemua platform dengan JVM (Java Virtual Machine) pada versi 1.5 keatas dan multi language programing , yang dibuat oleh auburn university. 2.7 Pemrograman Visual Pada JAVA Komponen antarmuka grafis ( Graphical User Interface / GUI ) yang disediakan oleh java memiliki 2 bagian, yaitu antarmuka klasik dan program antarmuka modern. 2.7.1 Komponen AWT Antarmuka klasik berada di kelas AWT yang bisa di akses melalui java.awt.*. Komponen ini mempunyai subkelas komponen seperti berikut :

24

Gambar 2.7 Tampilan gambar komponen pemrograman visual AWT

a. Label merupakan komponen yang digunakan pada pemrograman visual teks atau pelabelan pada pada desain antarmuka. b. Button merupakan komponen yang digunakan untuk membuat tombol yang bersifat klasik. c. TextField komponen klasik yang digunakan untuk teks satu baris. d. TextArea merupakan komponen klasik dari pemrograman java untuk membuat kolom teks yang lebih dari satu baris. e. Check Box merupakan komponen yang digunakan untuk membuat item selected dan deselected dengan tanda centang. f. Choice merupakan tampilan klasik dari komponen kombinasi textfield dan drop-down item list. g. List merupakan kolom yang digunakan untuk menuliskan list. h. Scrollbar komponen visual untuk dipakai membuat tarik gulung secara vertical. i. Scroll pane merupakan kombinasi dari scrollbar dan panel sehingga dalam mebuat sudah ada scroll ( tarik gulung ). j. Panel merupakan komponen yang digunakan untuk membuat panel baru di dalam panel. k. Canvas tempat untuk aplikasi lain bisa ditempatkan. l. Menu bar merupakan komponen dari visual AWT yang digunakan untuk membuat kelompok Menu. m. PopUp menu merupakan bagian dari visual interface java untuk membuat tanpilan menu melayang. 25

2.7.2 Komponen Swing Komponen swing merupakan komponen visual pemrograman java yang lebih modern daripada AWT. Ada 9 paket utama pada swing dan puluhan bahkan ratusan kelas antarmuka, dan semua komponennya di mulai dengan huruf J, misalnya JButton, JTextField, JLabel, JComboBox, dsb. a. Swing Containers Pada Swing containers mempunyai komponen seperti panel, split pane , tabbed pane, toolbar, scroll pane, desktop pane, internal frame, dan layered pane.

Gambar 2.8 Tampilan Komponen Swing Containers

1) panel merupakan tampilan visual yang lebih modern untuk membuat panel kotak visual baru. 2) Tabbed pane merupakan membuat tampilan panel dengan tab menu. 3) Split pane digunakan untuk membuat dau panel dengan batas (split). 4) Scroll pane merupakan panel yang dilengkapi dengan scroll atau kursor tarik gulung. 5) Tool bar merupakan pemrograman visual yang digunakan untuk membuat tempat menu-menu atau icon sebagai tool. 6) Desktop pane merupakan komponen yang digunakan untuk membuat panel mirip tampilan desktop. 7) Internal frame merupakan bingkai yang digunakan untuk membuat bingkai yang berada di dalam panel. 8) Layered pane digunakan untuk membuat layer baru di dalam panel.

26

b. Swing controls Merupakan kumpulan komponen swing yang digunakan sebagai control dari program seperti gambar dibawah ini : 1) JLabel untuk membuat label atau teks pada panel 2) JButton , ToggleButton , JMenuItem untuk membuat tombol 3) JComboBox digunakan sebagai tampilan kombinasi textfield dan dropdown list. 4) JFrame merupakan wadah untuk meletakan semua komponen GUI yang akan ditampilkan. 5) JPasswordField kolom teks untuk memasukkan password.

Gambar 2.9 Tampilan Gambar Macam Komponen Swing Controls

6) JTextArea merupakan kolom teks yang lebih satu baris. 7) JTable merupakan komponen untuk membuat table pada frame. 8) JRadioButton, JButtonGroup digunakan untuk membuat tampilan pilihan dengan radio button. 9) JTree merupakan komponen yang digunakan untuk membuat tampilan pohon direktori.

27

c. Swing Menus

Gambar 2.10 Tampilan Gambar Macam Komponen Swing Menus

a. Menu bar merupakan komponen dari swing yang digunakan untuk membuat barisan tampilan menu menu, dengan tambahan variasi menu, menu item, menu item / checkbox (merupakan tambahan menu dengan tanda centang), dan menu item / radiobutton (hampir sama dengan checkbox namun hanya saja bukan tanda centang melainkan radio). b. Popup menu merupakan menu melayang,atau akan muncul jika diklik, baik diatas,bawah,tengah,atas kiri dan lainnya sesuai pemrogram. c. Separator merupakan pembatas dari menu item, maupun komponen menu lainnya. d. Swing windows

Gambar 2.11 Tampilan Dari Komponen Swing Windows

a. Dialog merupakan komponen yang digunakan untuk membuat jendela dialog atau attention. b. Frame merupakan komponen pada swing windows yang dipakai untuk membuat bingkai.

28

c. Color chooser merupakan komponen warna yang digunakan untuk melakukan pemilihan warna. d. File chooser merupakan untuk menampilkan tampilan seperti look in my document. e. Option pane merupakan panel untuk tampilan option

e. Swing Fillers Yang termasuk dari komponen swing fillers adalah sebagai berikut :

Gambar 2.12 Tampilan Macam Komponen Dari Swing Fillers

a. Horizontal dan Vertikal Strut merupakan komponen dari swing fillers untuk mengatur batas. b. Glue , vertical glue , dan horizontal glue merupakan komponen yang digunakan untuk mengatur jarak antar komponen. c. Rigrid area merupakan komponen dari swing fillers yang digunakan batas vertical dan horizontal dari pusat anda meletakan rigrid area ini.

2.8 Pemrograman Berbasis Objek Pada JAVA Pemrograman berbasis objek (OOP Object Orientasi Programming) merupakan satu ide luar biasa dalam bidang pemrograman yang setelah diterapkan ternyata melahirkan bahasa yang lebih maju seperti C++, Java, Python, perkembangan dari OOP juga memberikan konsep terbaru pada pemrograman Visual Basic, Delphi , Visual C, Visual Java, dsb. 1. Konsep Objek a. Objek disini dalam pemrograman adalah suatu komponen dari suatu system yang dibangun,misalnya objek matematis, objek jendela(window), objek tombol, objek kotak gambar (picture box), objek kotak teks (text box). 29

b. Analogi dari objek pemrograman procedural adalah fungsi atau prosedur yang bekerja mandiri menghasilkan sesuatu dalam proses pertukaran data dengan program utama. c. Setiap objek juga mempunyai kelompok tersendiri dan sering disebut kelas (class) atau juga sering dikenal dengan Blueprint. Setiap kelas sendiri merupakan suatu kesatuan yang terpisah (enkapsulasi). Sedangkan didalam kelas juga memilki sifat sifat (attribute), fungsi (method), serta kelakuan (behavior). d. Setiap kelas juga bisa memiliki pewarisan yang dinamakan inheritance. 2. Kelas Konstruktor Merupakan adalah suatu fungsi khusus yang diberi nama nama dengan nama kelasnya yang digunakan untuk memberi nilai pada atribut kelas dapat dilakukan pada saat objek didefinisikan melalui suatu kelas konstruktor. 3. Enkapsulasi Merupakan suatu kelas sebenarnya yang terpisah dari kelas yang lain dimana atribut dan fungsi terbungkus dalam kapsul sehingga akses dari luar terhadap isi kelas pada dasarnya terbatas. 4. Pewarisan Adalah pewarisan pada sub kelas dari suatu kelas, yang biasa dilaksanakan melalui kata kunci extends. 5. Polimorfisme Adalah sifat dari kelas objek yang memungkinkan beberapa fungsi dapat memiliki nama yang sama walaupun isi fungsi tersebut berbeda.

30

BAB III PENGENALAN JAVA DAN RUANG LINGKUP KERJA


3.1 Instalasi JDK

Untuk dapat bekerja dengan Java Netbeasn, maka kita perlu melakukan instalasi Java Development Kit (JDK). 1. Cari tempat file JDK disimpan, kemudian klik dua kali.

Gambar 3.1 Letak File JDK

2.

Akan muncul jendela pilihan untuk menginstall atau tidak, kemudian klik Next.

Gambar 3.2 Jendela utama penginstalan JDK

31

3.

Kemudian pilih paket program yang akan diinstal.

Gambar 3.3 Jendela Custom Setup

4.

Silahkan tunggu proses install sampai selesai.

Gambar 3.4 Tampilan Progress install JDK

32

5. Akan muncul jendela tampilan jika proses instalasi sudah selesai, lalu klik Continue.

Gambar 3.5 Jendela tampilan Complete instalasi

3.2

Pengesetan PATH dan CLASSPATH

Pengesetan PATH sangat berguna untuk memberitahu sistem dimana kita meletakkan file-file utama java. Sedangkan pengesetan CLASSPATH sangat berguna untuk memberitahu sistem dimana kita meletakkan file-file class yang akan dilibatkan dalam suatu program. 1. Cari alamat PATH file disimpan, file java.exe yang teradapat pada direktory C:\Program Files\Java\jdk1.7.0_03\bin

Gambar 3.6 Letak file java.exe dan tools jar

33

2.

Buka Command Prompt a. Start run cmd OK Atau bisa juga dengan : b. Start all programs Accessories Command Prompt OK

Gambar 3.7 Langkah membuka Command Prompt

3.

Pengesetan PATH Set PATH= C:\Program Files\Java\jdk1.7.0_03\bin

Gambar 3.8 Pengesetan PATH untuk Java pada Command Prompt

34

4.

Pengesetan CLASSPATH Set CLASSPATH= C:\Program Files\Java\jdk1.7.0_03\lib

Gambar 3.9 Pengesetan CLASSPATH untuk Java pada Command Prompt

5.

Mengecek pengesetan PATH dan CLASSPATH, dengan mengetikkan perintah java <enter> lalu javac <enter>.

Gambar 3.10 mengecek pengesetan PATH dan CLASSPATH

35

3.3

Menampilkan Suatu Tulisan Ke Layar

Langkah - langkah menampilkan tulisan pada program JAVA : a. Buka notepad++ b. Ketik program yang telah tersedia pada modul
public class GuruhPutroDirgantoro { public static void main(String args []){ System.out.println(Hallo nama saya adalah Guruh Putro Dirgantoro); } } }

c. Simpan dengan nama file yang sudah di tentukan (GuruhPutroDirgantoro.java) dan di simpan di drive D d. Ketikkan perintah berikut pada Command Prompt: D:\program\>javac GuruhPutroDirgantoro.java <enter>

Gambar 3.11 JAVA Compile GuruhPutroDirgantoro.java

D:\program\>java GuruhPutroDirgantoro <enter>

Gambar 3.12 Jalankan program GuruhPutroDirgantoro

36

3.4 3.4.1

Menganalisa dan Membenahi Kesalahan Pada Program Menganalisa script latihan pertama

Tulislah program berikut ini dan simpanlah dengan nama tertentu. Nama file : Greeting.java
public class Testing { public static void main (String [] args) { System.out.println ("What's wrong with this program?"); } }

Lakukan kompilasi pada file tersebut dan amati hasilnya.

Gambar 3.13 Kompilasi program JAVA yang terdapat kesalahan

Kenapa terjadi kegagalan pada kompilasi? Benahilah kesalahan diatas sehingga program tersebut dapat berjalan dengan baik.

Hasil : 1. Program ini tidak bisa berjalan karena program tersebut diberi nama file Greeting.java yang tidak sesuai dengan nama classnya. Supaya program tersebut bisa berjalan maka nama filenya harus diganti dengan nama EdoTesting.java dan kemudian disimpan ulang. 2. 3. Tanda [] diletakkan di belakang args Tanda dihilangkan

37

4.

Skrip penulisan yang benar adalah sebagai berikut :


public class Greeting { public static void main (String args []) { System.out.println ("What's wrong with this program?"); } }

5.

Dan dibawah ini hasil dari kompilasi suatu program dan penyimpanan yang benar

Gambar 3.14 Tampilan hasil menganalisa dan membenahi kesalahan pada program

3.4.1

Menganalisa script latihan kedua

Tulislah program berikut ini dan simpanlah


public class test { public static void main (String args) { System.out.println (Whats wrong with this program?); }
}

Lakukan kompilasi pada program tersebut dan jelaskan kenapa terjadi kesalahan pada saat menjalankan program tersebut. Benahilah kesalahan diatas sehingga program tersebut dapat berjalan baik. Hasil : 1. Program ini disimpan di Drive D, dengan nama file edoTest.java 2. Program ini tidak bias berhasil karena kurang tanda []

38

3. Supaya program tersebut dapat berjalan, maka harus melengkapinya sehingga menjadi String args[] 4. Tanda dihilangkan 5. Skrip penulisan yang benar adalah sebagai berikut :
public class edoTest { public static void main (String args []) { System.out.println ("Whats wrong with this program?"); } }

6. Dan dibawah ini adalah hasil kompilasi yang benar

Gambar 3.15 Tampilan hasil menganalisa dan membenahi kesalahn pada program

3.5

Percobaan Menampilkan biodata 1. Ketikan program berikut pada aplikasi editor


public class bioEdo { public static void main(String args[]) { System.out.println("Hallo . . ."); System.out.println("Nama : Guruh Putro Dirgantoro"); System.out.println("Npm : 1412110221"); System.out.println("Angkatan : 2011 E"); System.out.println("Alamat : Latsari - Tuban"); System.out.println("Moto : Alon-alon asal kelakon"); } }

2. Simpan file dengan nama : bioEdo.java 39

3. Lakukan kompilasi melalui Commant Prompt dan berikut adalah output yang dihasilkan :

Gambar 3.16 Tampilan menampilkan kalimat biodata kelayar

Aturan Penulisan Program Di Java a. Java adalah turunan dari C, sehingga Java memiliki sifat C yaitu Case Sensitive , yaitu membedakan huruf besar dan kecil yang kita tuliskan. b. Dalam sebuah file program di java , hanya di ijinkan memiliki satu buah class yang bersifat public. c. Dalam sebuah file program java, hanya ada satu method main ( method yang pertama kali dibaca oleh interpreter java ). d. Nama sebuah file program java harus sama dengan nama class yang memiliki method main() di dalam tubuhnya. Dan harus persis sama besar kecilnya huruf sesuai dengan aturan butir a. e. Untuk pemberian nama class java, diberikan huruf capital pada pertama nama class. f. Pada kasus untuk pengindentifikasi lebih dari satu kata, menggunakan nama huruf capital untuk mengindikasikan awal dari kata kecuali kata pertama. Sebagai contoh : charArray, fileNumber, ClassName. g. Hindari menggunakan underscores pada awal pengindentifakisan seperti contoh : _read atau _write. h. Pada saat pembuatan block , anada dapat kurung kerawal buak pada baris dengan pernyataan atau bias pada baris selanjutnya. i. Anda hasrus memberikan jarak ( line new ) pernyataan selanjutnya. j. Dalam mendifinisikan suatu nilai log, a lowercase L tidak dianjurkan karena sulit untuk membedakan dari digit 1. k. Hal ini selalu baik untuk menganalisa variable yang anda buat seperti anda mendeklarasikannya. 40

BAB IV ELEMEN DASAR PEMROGRAMAN JAVA


4.1 Menampilkan Nilai Default dan Nilai Maksimal Dari Tipe Data Primitif Menampilkan nilai default dari masing-masing tipe data source code program dibawah ini dan simpan pada

4.1.1

1. Kertikkan

D:\program\bab2\ dengan nama EdoDefaultValue.java


public class EdoDefaultValue { static boolean b; static char c; static byte bt; static short s; static int i; static long l; static float f; static double d; public static void main (String args []) { System.out.println("Default value b = " +b); System.out.println("Default value c = " +c); System.out.println("Default value bt = " +bt); System.out.println("Default value s = " +s); System.out.println("Default value i = " +i); System.out.println("Default value l = " +l); System.out.println("Default value f = " +f); System.out.println("Default value d = " +d); }}

2. Lakukan kompilasi dengan cara : a. Buka Command Prompt dan pindah ke directory D:\program\bab2. b. Ketikkan perintah javac EdoDefaultValue.java <enter>. c. Ketikkan kembali perintah java EdoDefaultValue <enter>. d. Hasil program yang berhasil running sebagai berikut :

Gambar 4.1 Tampilan EdoDefaultValue.java

3. Penjelasan : 41

a. Pada baris pertama public class EdoDefaultValue adalah nama kelas yang akan dieksekusi pertama kali dengan syarat nama file java harus sama dengan nama kelas utama dan isi kelas dibatasi oleh tanda kurung kurawal buka ( { ) dan kurung kurawal tutup ( } ). b. Pada baris ke-3 static boolean b, static char c, static
byte bt, static short s, static float f, static double d adalah pendeklarasian variable terhadap tipe data.

c. Pada baris ke-11 terdapat public static void main (String


args []) ini merupakan method main program yang kita buat dan

akan di eksekusi oleh program sebagai tampilan pertama. d. Mulai dari code System.out.println("Default value b = "
+b); sampai code System.out.println("Default value s = " +s); merupakan suatu printah yang digunakan untuk menampil

default nilai variabel dari masing-masing tipe data yang telah dideklarasikan.

4.1.2

Nilai maksimal masing-masing tipe data source code program dibawah ini dan simpan pada

1. Kertikkan

D:\program\bab2\ dengan nama EdoMaxVariableDemo.java


public class EdoMaxVariablesDemo { public static void main (String args []) { // interget byte largestByte = Byte.MAX_VALUE; short largestShort = Short.MAX_VALUE; int largestInteger = Integer.MAX_VALUE; long largestLong = Long.MAX_VALUE; // real number / float dan double float largestFloat = Float.MAX_VALUE; double largestDouble = Double.MAX_VALUE; // tipe primitive char aChar = 'S'; boolean aBoolean = true; // tampilkan semua System.out.println("The largest byte value is " + largestByte); System.out.println("The largest Short value is " + largestShort); System.out.println("The largest Interger value is " + largestInteger); System.out.println("The largest Long value is " + largestLong);

42

System.out.println("The " + largestFloat); System.out.println("The is " + largestDouble); System.out.println("The " + aChar); System.out.println("The is " + aBoolean); } }

largest Float value is largest Double value largest Char value is largest Boolean value

2. Lakukan kompilasi dengan cara : a. Buka Command Prompt dan pindah ke directory D:\program\bab2. b. Ketikkan perintah javac EdoMaxVariableDemo.java <enter>. c. Ketikkan kembali perintah java EdoMaxVariableDemo <enter>. Hasil program yang berhasil running sebagai berikut :

Gambar 4.2 Tampilan EdoMaxVariableDemo.java

3. Penjelasan : a. Nama public class harus sama dengan nama file .java. b. Ketika program dijalankan, program akan mencari method main public
static void main (String args []) dan mengidentifikasinya.

c. Dalam ruang lingkup main terdapat sebuah syntax .MAX_VALUE yang berarti program akan memproses sebuah tipe data dan menampilkan nilai maksimal dari sebuah tipe data tersebut. d. Terdapat tanda // yang digunakan sebagai penutup dari syntax dengan fungsi mematikan syntax tersebut atau menggunakannya sebagai penanda

43

komentar sehingga membantu para programmer dalam mengingat alur program tersebut.

4.2 1.

Memberikan Nilai / Literal Pada Variable Kertikkan source code program dibawah ini dan simpan pada

D:\program\bab2\ dengan nama EdoBiodata.java


public class EdoBiodata { String nama; String alamat; int usia; char jeniskelamin; String notelp; void tampilkanidentitas(){ Sysem.out.println("Nama =" +nama); Sysem.out.println("Alamat =" +alamat); Sysem.out.println("Usia =" +usia); Sysem.out.println("Jenis Kelamin =" +jeniskelamin); Sysem.out.println("No Telepon =" +notelp); } public static void main (String args []) { EdoBiodata Edo = new EdoBiodata(){ Edo.nama = "(Edo) Guruh Putro Dirgantoro"; Edo.alamat = "Jalan Teuku Umar Gang Karang rejo RT 001 RW VIII Tuban"; Edo.usia = 20; Edo.jeniskelamin = "L"; Edo.notelp = "6285648486925"; } } }

2. Lakukan kompilasi dengan cara : a. Buka Command Prompt dan pindah ke directory D:\program\bab2. b. Ketikkan perintah javac EdoBiodata.java <enter>. c. Ketikkan kembali perintah java EdoBiodata <enter>. Hasil program yang berhasil running sebagai berikut :

Gambar 4.3 Tampilan EdoBiodata.java

44

3.

Penjelasan : a. Pada program diatas syntax EdoBiodata Edo = new EdoBiodata() merupakan penamaan obyek dengan nama Edo pada kelas EdoBiodata. b. Edo.nama = "(Edo) Guruh Putro Dirgantoro"; adalah contoh dari objek Edo mengakses variable nama, alamat dan seterusnya.

4.3 4.3.1

Memberikan Nilai Input Pada Program Membaca Satu Karakter

Latihan membuat program untuk membaca karakter dari yang kita inputkan tanpa diulangi untuk ditampilkan. Lihat script dibawah ini :
class EdoHuruf { public static void main(String[] args){ char input = (char) -1; try { input = (char) System.in.read(); } catch (Exception e) {System.out.println("error"+e);} } }

Program diatas jika dijalankan akan menghasilkan sebuah inputan karakter yang ditampilkan tanpa ada perulangan tampilan :

Gambar 4.4 Tampilan Hasil Membaca Lebih Dari Satu Karakter

Program diatas adalah program yang menggunakan input system.in.read() dimana akan membaca hasil yang kita input, dan tidak akan menampilkan apa apa jika yang kita input kan kurang dari 1 karakter karena dalam program sudah terdapat batasnya yaitu char input = (char) -1;

45

4.3.2 Membaca Beberapa Karakter Hasil percobaan membuat percobaan membaca input, sebetulnya sama dengan script pada 4.3.1 namun cara input yang berbeda dan menampilkan ulang hasil input kita. Lihat scripnya :
class EdoData1 { public static void main (String[] Args){ StringBuffer s = new StringBuffer(); char c; try { while ((c= (char)System.in.read())!='\n'){ s.append(c); } } catch (Exception e){ System.out.println("error"+e.toString()); } System.out.println(s); } }

Lakukanlah pengompilean seperti no. 4.3.1 pada program ini saya coba memasukkan karakter input yang sama sehingga agar bias melihat perbedaannya, lihat gambar :

Gambar 4.5 Tampilan Hasil Compile Membaca Input Dengan String buffer

Program diatas merupakan program yang menggunakan input karakter dengan stringbuffer, yaitu buffer yang bertipe string StringBuffer s = new StringBuffer();. Dan melakukan implisit casting dimana pada bagian ((c =

(char)System.in.read())!='\n'){

4.3.3

Membaca dengan Int Read ( Byte b[ ] )

Percobaan dibawah ini adalah program yang membaca karakter dengan read byte : 46

class EdoData2 { public static void main (String args[]){ byte buf[] = new byte[80]; try { System.in.read(buf); } catch (Exception e){ System.out.println("error : " + e.toString()); } String s = new String(buf, 0); System.out.println(s); } }

Hasil compile program diatas adalah sebagai berikut :

Gambar 4.6 Tampilan Hasil Compile Membaca Input Dengan Int Read ( Byte B [ ] )

byte buf[] = new byte[80]; script ini menandakan bahwa program diatas memakai system input read byte dengan [80] merupakan banyaknya karakter yang mampu dimasukan dalam input atau yang mampu terbaca. Sedangkan String s = new String(buf, 0); merupakan implisit casting dengan kondisi buffer nilai yang dimasukan harus lebih dari 0 (nol).

4.3.4

Membaca

Karakter

Dengan

Int

Read(Byte

B[],

Int_Awal,

Int_Panjang) Perhatikan scriptnya di bawah ini :


class EdoData3 { public static void main(String [] args){ byte buf[] = new byte[10];

47

try { System.in.read(buf, 0, 10); } catch (Exception e){ System.out.println ("error : "+ e.toString()); } String s = new String(buf, 0); System.out.println(s); } }

Maka hasil program diatas jika di jalankan pada command prompt adalah seperti berikut ini, dengan mencoba menginputkan kalimat guruh putro dirgantoro:

Gambar 4.7 Tampilan Hasil Membaca Karakter Dengan Int Awal Dan In Pajang

Mengapa ketika input diketikan Guruh Putro Dirgantoro hanya muncul 10 karakter termasuk spasi dari awal kalimat yaitu Guruh Putr , dari hal ini dikarenakan ada program ini memberikan kondisi int panjang 10 karakter seperti contoh kutipan script program diatas :
byte buf[] = new byte[10]; try { System.in.read(buf, 0, 10); } (buf, 0, 10) angka 10 disitu yang menyebabkan input hanya dibatasi sepuluh

karakter saja. jika kita mengganti angka int panjang 15 mungkin akan menampilkan karakter sebanyak 15 dari awal.

48

4.3.5

Membaca Input Melalui Data Input Stream

Membaca data melalui input stream sangat beragan yaitu kita bias memasukkan data yang berupa integer, floating , maupun string / karakter. Coba perhatikan script dibawah ini :
import java.io.*; class EdoInputStream { public static void main(String args[]) { DataInputStream in = new DataInputStream(System.in); char c; int angka=0; char huruf=' '; String kalimat=""; try { System.out.print("enter a number : "); kalimat = in.readLine(); angka = Integer.parseInt(kalimat); } catch(IOException e) { System.out.println(e);} try { System.out.print("enter a character : "); kalimat = in.readLine(); huruf = kalimat.charAt(0); } catch(IOException e) { System.out.println(e);} try { System.out.print("enter some words : "); kalimat = in.readLine(); } catch(IOException e) { System.out.println(e);} System.out.println("here are what you type in : "); System.out.println("number : " +angka); System.out.println("Karakter : "+huruf); System.out.println("kalimat : "+kalimat); } }

Jika program diatas dijalankan , maka kita coba inputkan data sesuai berikut : 1. Enter a number : (coba masukkan 1-9 , karena tipe integer hanya mampu menampung 10 digits).

49

2. Enter a character : (coba masukkan huruf besar / kecil antara A Z atau a z). 3. Enter some words : (coba anda masukkan kalimat apa saja)

Maka hasilnya dari diatas adalah seperti gambar dibawah ini :

Gambar 4.9 Tampilan Hasil Compile Program Input Data Dengan Inputstream

1. Terjadi converting pada bagian script huruf = kalimat.charAt(0); disini yaitu mengubah variabel huruf atau kalimat yang diinputkan ke tipe Char. angka = Integer.parseInt(kalimat); script ini berarti

bahwa data yang dinputkan integer namun dilakukan ekplisit casting ke nilai yang lebih sempit.
2. Ciri dari program input stream biasa memakai import java.io.*;

karena tanpa itu system IOException yang bertipe seperti dibawah ini : try { System.out.print("enter a number : "); kalimat = in.readLine(); angka = Integer.parseInt(kalimat); } catch(IOException System.out.println(e);} tidak akan berjalan ( berfungsi ) sehingga menimbulkan error pada program. 50 e) {

3. DataInputStream

in

new

DataInputStream(System.in); Kata in pada script diatas merupakan variabel baru yang digunakan variabel read line. Contoh : kalimat = in.readLine(); . jika kita memakai kata input pada pendeklarsian variabel new maka otomatis pada script input read linenya berubah menjadi kalimat = input.readLine();

4.3.6

Memanfaatkan Argumen String Args[ ]

Perhatikan script dibawah ini :


public class EdoArgu { public static void main(String args[]){ float i = Integer.parseInt("1"); float j = Integer.parseInt("2"); float hasil = (i*j+j-i)/j; System.out.println("hasilnya = " +hasil); } }

Jika program diatas dijalakan pada command prompt maka hasilnya sebagai berikut :

Gambar 4.10 Tampilan Hasil compile Interpreter Memanfaatkan Argument String Args[ ]

Dari mana hasil 1.5 itu pada output ? hasil 1.5 itu diperoleh pada rumus yang digunakan pada program yaitu float hasil = (i*j+j-i)/j; anda juga bias diubah sesuai pemrogram. Jadi hasil 1.5 tadi mengeksekusi dari aritmatika tersebut.
float i = Integer.parseInt("1"); float j = Integer.parseInt("2");

potongan script diatas merupakan eksplisit casting yang bertipe integer dengan memberi nilai / argumen pada tanda kurung tersebut dan diapit tanda kutip dua. 51

BAB V OPERATOR
Operator pada pemrograman pada java dibedakan menjadi dua bagiab unary dan binary operator, dibawah ini merupakan contoh percobaan aritmatika, increment decrement, operasi bit, operator logika, Boolean tipe or dan and. 5.1 Menguji Operator Aritmatika

Dibawah ini merupakan script untuk menguji operator aritmatika, seperti penjumlahan, pengurangan, perkalian, pembagian, serta modulus.
class EdoAritmatika { public static void main(String[]args) { short x = 2; int y = 8; float a = 12.5f; float b = 7f; System.out.println("x System.out.println("x System.out.println("x System.out.println("x System.out.println("x System.out.println("x = + * / % " y y y y y + = = = = = x +" y = "+y); "+(x+y)); "+(x-y)); "+(x*y)); "+(x/y)); "+(x%y));

System.out.println("a = " + a +" b = "+b); System.out.println("a / b = "+(a/b)); } }

Jika kita jalankan program diatas adalah sebagai gambar 5.1 berikut : Nilai variabel x dan y merupakan bertipe data integer atau bilangan bulat ,sehingga hasil dari pembagian dari x dibagi y tetap 1 (bukan 1.5). Sedangkan berbeda dengan variabel a dan b yang bertipe float sehingga pada tampilan program dibawah ini variabel a dibagi b hasilnya 1.7857143

52

Gambar 5.1 Tampilan Hasil Uji Operator Aritmatika

Pada operator modulus merupakan operator sisa bagi yang diberi tanda (%) pada pemrograman java, sedangkan pada proses perkalian diberi tanda (*) proses aritmatika jika terjadi pada satu baris dalam satu pernyataan akan memproses dari nilai kedekatannya antar operator. Pada program variabel x diberikan nilai literal 2 sedangkan y nilai 8 sehingga proses penjumlahan (+), pengurangan (-) , pembagian ( / ) , perkalian memilki hasil nilai yang sesuai namun dalam proses pembagian tidak sesuai , sudah saya jelaskan di halaman sebelumnya bahwa nilai X dan Y bertipe integer berbeda dengan a dan b.

5.2

Melakukan Increment dan decrement Nilai

Lihatlah script daibawah ini :


class EdoInDecre { public static void main(String args[]){ int x = 2, y = 8; System.out.println("x = "+x); System.out.println("y = "+y); System.out.println("x = "+ ++x); System.out.println("y = "+ y++); System.out.println("x = "+ x--); System.out.println("y = "+ --y); } }

Dibawah ini adalah gambar hasil dari uji operator increment dan decrement nilai :

53

Gambar 5.2 Tampilan Hasil Uji Coba Operator Increment Dan Decrement

Indecrement merupakan nilai penaikan bit dari suatu angka, dari program diketahui x = 2 jika pada baris 3 yaitu ++x maka nilai x yang semula 2 menjadi 3 , x = tersimpan dalam memori adalah 3 , maka ketika pada baris 5 yaitu x-sehingga menampilkan nilai 3 karena nilai x ditampilkan dulu kemudian dikurangi, x = tersimpan dalam memory adalah 2. Dan sebaliknya pada variabel y juga tidak berubah karena post-increment.

5.3

Melakukan Operasi Bit

Untuk mengetahui fungsi dari masing masing operator bitwise, kihat script dibawah ini :
class EdoBitwise { public static void main(String []args){ int x = 2 , y = 8; System.out.println("x System.out.println("y System.out.println("x System.out.println("x System.out.println("x } } = = & | ^ "+x); "+y); y = "+(x&y)); y = "+(x|y)); y = "+(x^y));

Program diatas jika dijalakan akan menghasilkan output dibawah ini :

54

Gambar 5.3 Tampilan Output Dari Uji Operator Bitwise

Operator bitwise pada program diatas yaitu &(and) , | (or) , dan ^ (xor) , mengapa ketika proses x and y mengahsilkan nilai 0 karena nilai disebelah kiri y adalah salah sehingga memanggil nilai 0.

5.4

Menggunakan Logika Operator

Tulis script dibawah ini pada notepad dan jalankan pada command prompt untuk mengetahui dari masing masing operasi operator logika :
class EdoLogikaOperator { public static void main(String[]args){ int x = 2 , y = 8 , z = 11; System.out.println("x = "+x); System.out.println("y = "+y); System.out.println("z = "+z); System.out.println("x < y System.out.println("x > z System.out.println("y <= z System.out.println("x >= y System.out.println("y == z System.out.println("x != y } }

= = = = = =

"+(x<y)); "+(x>z)); "+(y<=z)); "+(x>=y)); "+(y==z)); "+(x!=y));

Output dari script diatas jika dijalakan maka sebagaimana berikut :

55

Gambar 5.4 Tampilan Output Dari Program Operator Logika

Hasil yang ditampilkan diatas adalah dimana ada 3 variabel x , y , dan z. dimana tiap variabel memiliki nilai / literal x = 2 , y = 8 ,dan z = 11. Dari output dan scriptnya kita bisa jelaskan dimana operator logika disini hanya menampilkan True dan False . 1. pada proses x < y jika kembali melihat pada nilai variabel x = 2 dan y = 8, maka benar pernyataan diatas sehingga hanya menampilkan hasil True yang bertipe Boolean. 2. Pada proses x > z jika melihat pada nilai variabel x = 2 dan z = 11, maka salah sehingga pernyataan diatas menampilkan hasil False. 3. Pada proses y <= z jika melihat pada nilai variabel y = 8 dan z = 11, maka benar sehingga pernyataan diatas menampilkan hasil True. 4. Pada proses x >= y jika melihat pada nilai variabel x = 2 dan y = 8, maka salah sehingga pernyataan diatas menampilkan hasil False. 5. Pada proses y == z jika melihat pada nilai variabel y = 8 dan z = 11, maka salah sehingga pernyataan diatas menampilkan hasil False. 6. Pada proses x != y jika melihat pada nilai variabel x = 2 dan y = 8, maka benar sehingga pernyataan diatas menampilkan hasil True.

5.5

Menggunakan Operator Boolean And

Diabawah ini adalah script program untuk melakukan percobaan operator Boolean and :
public class EdoBoolean { public static void main (String []args){ int a = 2, b = 8 ;

56

if ((a<2)&(b++<10)) b+=2; System.out.println(b); } }

Di bawah ini adalah hasil output dari script diatas :

Gambar 5.5 Tampilan Output Dari Program Boolean And

Boolean and merupakan Boolean yang menampilkan nilai yang benar pada proses pernyataan, misalnya pada script diatas : if ((a<2)&(b++<10)) b+=2; maka nilai yang ditampilkan 9 karena semua logika yang benar hanya (b++<10)dan dimana jika b++ sama dengan 9 ( karena nilai b = 8 dan mengalami increment ) dan lebih kecil dari 10. Sehingga nilai 9 < 10, sehingga jika nilai b ditampilkan maka berubah menjadi 9.

5.6

Menggunakan Boolean Or

Perhatikanlah script program dibawah ini untuk melakukan percobaan Boolean or.
public class EdoBooleanOr { public static void main (String []args){ int a = 2, b = 8 ; if ((a>2)|(b++<10)) b+=2; System.out.println(b); } }

Output program diatas jika di jalankan adalah sebagai berikut :

57

Gambar 5.6 Tampilan Output Dari Program Boolean Or

Operator or disini merupakan meneruskan hasil dari b++<10 jika nilai b memenuhi syarat tersebut maka nilai b di tambah +2 sehingga menghasilkan nilai 11 seperti di output program.

58

BAB VI PERCABANGAN
Percabangan pada pemrograman java dari bentuk dasarnya dibedakan 2 jenis yaitu if dan switch, sedangkan jika if dikembangkan menjadi tiga bentukan yaitu if tunggal, if else , dan else if ( if jamak ). 6.1 Percabangan Menggunakan if , if else , dan else if Dibawah ini adalah script contoh percobaan untuk percabangan if dan else if serta if else :
class EdoIfElse { public static void main(String args[]){ char HurufDepan = (char) -1; System.out.println("masukkan huruf depan nama anda: "); try { HurufDepan = (char) System.in.read(); }catch (Exception s){ System.out.println("Error : "+s.toString()); } if (HurufDepan == -1) System.out.println("Kok, tidak turut perintah!"); else if (HurufDepan == 'a') System.out.println("Apa namamu Amin ?"); else if (HurufDepan == 'b') System.out.println("Apa namamu Bambang ?"); else if (HurufDepan == 'c') System.out.println("Apa namamu Charlie ?"); else if (HurufDepan == 'd') System.out.println("Apa namamu Daud ?"); else if (HurufDepan == 's') System.out.println("Apa namamu EDO ?"); else System.out.println("Aku Belum Bisa Menebak Namamu"); } }

Dari program diatas jika dijalankan pada command prompt akan menghasilkan output seperti berikut :

59

Gambar 6.1 Tampilan Output Program Percabangan If , If Else ,Dan Else If

Program diatas menggunakan sekaligus tiga bentukan if , di baris proses seperti dibawah ini memakai if else :
if (HurufDepan == -1) System.out.println("masukkan sesuai perintah!"); else if (HurufDepan == 'a') dst. else if (HurufDepan == 's') System.out.println("Apa namamu EDO ?"); else System.out.println("Belum Bisa Menebak Nama Anda");

Dimana jika kondisi if benar akan memproses ke else if sesuai huruf depan yang kita inputkan, misalkan kita mencoba menginputkan huruf depan s akan menghasilkan seperti gambar 6.1 Sedangkan jika kondisi if tidak sesuai dengan yang kita masukkan, maka akan proses akan mengekseskusi pada bagian else dan menampilkan pernyataan yang dimiliki.

6.2

Percabangan Menggunakan Switch

Untuk mengetahui struktur dan percobaan alur kerja ( interpreter ) pada switch perhatikan script di bawah ini :
class EdoSwitch { public static void main(String args[]){ char HurufDepan = (char) -1; System.out.print("masukkan huruf depan nama anda: "); try { HurufDepan = (char) System.in.read(); HurufDepan = Character.toLowerCase(HurufDepan); }catch (Exception s){

60

System.out.println("Error : "+s.toString()); } switch(HurufDepan){ case (char) -1 : System.out.println("Kok tidak turut perintah!"); break; case 'a' : System.out.println("apa nama anda Amin ?"); break; case 'b' : System.out.println("apa nama anda Bambang ?"); break; case 'c' : System.out.println("apa nama anda Charlie ?"); break; case 'd' : System.out.println("apa nama anda Daud ?"); break; case 's' : System.out.println("apa nama anda Edo ?"); break; default : System.out.println("AKU BELUM BISA MENEBAK NAMAMU"); } } }

Output dari script diatas jika di eksekusi adalah sebagaimana berikut :

Gambar 6.2 Tampilan Output Dari Percabangan Switch

Alur program switch diatas adalah sebagai berikut, jika kita compile akan muncul tulisan :
masukkan huruf depan nama anda:

kita coba inputkan huruf

s sesuai case yang maka akan menampilkan

pernyataan yang dimiliki case tersebut, ketika melewati break secara otamatis kita keluar dari percabangan tersebut, jika input kita belum sesuai dengan case pada blok pertama makan akan berlanjut ke blok selanjutnya, jika kemungkinan input

61

yang anda masukan tidak sesuai dengan semua kondisi, maka akan menampilkan pernyataan yang dimilki oleh default.

6.3

Menentukan Bilangan Genap dan Ganjil

Dibawah ini merupakan mengaplikasikan dari sebuah percabangan untuk menentukan bilangan ganjil dan genap :
import java.io.*; public class EdoBilanganGenap{ private static BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); public static void main(String[] args) throws IOException { System.out.print("masukkan bilangan : "); String input = stdin.readLine(); int bil = Integer.parseInt(input); if(bil%2!=0) System.out.println(" "+bil+" adalah bilangan ganjil"); else System.out.println(" "+bil+" adalah bilangan genap"); } }

Hasil output dari program diatas adalah sebagai berikut :

Gambar 6.3 Tampilan Output Program Untuk Menentukan Bilangan Genap Dan Ganjil

a. System input yang dipakai pada program diatas jenis buffer stdin.readline : System.out.print("masukkan bilangan : "); String input = stdin.readLine();

Lebih jelasnya lihat script program dihalaman sebelumnya.

62

b. Bilangan yang kita inputkan akan diparse / di converting dengan tipe yang

spesifik, untuk meminimalkan memori variabel :


int bil = Integer.parseInt(input);

c. Pada script diatas merupakan logika yang digunakan untuk menentukan bilangan yang kita inputkan itu termasuk bilangan genap atau bilangan ganjil jika kita uraikan maksud kondisi if(bil%2!=0) tersebut dimana jika nilai yang kita inputkan dimodulus dengan dua dan hasilnya sisa bagi tidak sama dengan nol. d. Suatu bilangan jika hasil modulusnya tidak sama dengan 0 maka termasuk bilangan ganjil, sehingga pada pernyataan pertama kita tuliskan System.out.println(" "+bil+" adalah bilangan ganjil"); e. sebaliknya jika hasil modulus sama dengan 0 , maka bilngan tersebut di golongkan bilangan genap sehingga pada percabangan else kita tuliskan f. pernyataan : System.out.println(" "+bil+" adalah bilangan
genap");

6.4

Menentukan Bilangan Prima

Di bawah ini adalah contoh script untuk menentukan sebuah bilangan yang kita masukan termasuk bilangan prima atau bukan.
import java.util.Scanner; public class EdobilPrima{ public static void main( String[] args ) { Scanner input = new Scanner( System.in ); int bil; System.out.print("Masukkan nilai : "); bil = input.nextInt(); if (bil==2) { System.out.println(bil+" adalah bilangn prima"); } else if (bil % 2==0) { System.out.println(bil+" adalah bukan bilangan prima"); } else{ System.out.println(bil+" adalah bilangan prima"); } }

63

Program diatas jika kita compile akan tampil seperti berikut :

Gambar 6.4 Tampilan Output Program Menentukan Bilangan Prima

Pada dasar untuk mencari bilangan prima adalah jika semua bilangan yang dibagi dan mempunyai modulus tidak sama dengan nol ( bilangan%2 !=0) maka dikatakan bilangan prima. Sehingga pada program diatas menggunakan logika jika bilangan sama dengan 2 adalah bilangan prima, sedangkan jika kondisi kedua jika bilangan habis dibagi 2, bukan bilangan prima, jika tidak sesuai kondisi kedua maka otomatis termasuk bilngan prima, sesuai yang ditampilkan pada output program diatas.

6.5

Menampilkan Biodata Mahasiswa

Di bawah ini adalah contoh script untuk menampilkan biodata mahasiswa.


import java.io.*; class edocoba { public static void main(String args[]) { DataInputStream in = new DataInputStream(System.in); char c; int angka=0; char huruf=' '; String kalimat=""; String nama=""; String alamat=""; String kelas=""; try { System.out.print("Masukan Nama : "); nama = in.readLine(); } catch(IOException e) { System.out.println(e);}

64

try { System.out.print("Masukan Kelas : "); kelas = in.readLine(); } catch(IOException e) { System.out.println(e);} try { System.out.print("Masukan npm : "); kalimat = in.readLine(); angka = Integer.parseInt(kalimat); } catch(IOException e) { System.out.println(e);} try { System.out.print("Masukan Alamat : "); alamat = in.readLine(); } catch(IOException e) { System.out.println(e);} System.out.println("=======BIODATA======= System.out.println("NAMAr : " +nama); System.out.println("KELAS : " +kelas); System.out.println("NPM : "+angka); System.out.println("ALAMAT : "+alamat); } } ");

Program diatas jika kita compile akan tampil seperti berikut :

Gambar 6.5 Tampilan Output Program Menampilkan Biodata Mahasiswa

65

BAB VII PERULANGAN


Perulangan pada pemrograman java juga dibedakan menjadi 3 bagian yaitu, for , do while, dan while serta memiliki kondisional untuk perulangan ( break , continue, dan break / continue dengan label ).

7.1 Menampilkan Bilangan Faktorial 7.1.1 Menampilkan Bilangan Faktorial dengan For Lihat script program dibawah ini :
import java.io.*; public class Edofaktorialfor { public static void main(String args[]) throws IOException{ BufferedReader inputan = new BufferedReader(new InputStreamReader(System.in)); int n=0; int hasil=1; System.out.println("Masukkan bilangan faktorial: "); try{ n=Integer.parseInt(inputan.readLine()); } catch(IOException e) { System.out.println("Inputan error"); } System.out.println("n \t n!"); for(int i=1; i<=n; i++) { hasil=hasil*i; System.out.println(i + "\t" + hasil); } } }

Output dari program factorial for diatas lihat gambar dibawah ini :

66

Gambar 7.1 Menampilkan Bilangan Faktorial dengan For

7.1.2 Menampilkan Bilangan Faktorial dengan While Lihat script program dibawah ini :
import java.io.*; public class EdofaktorialWhile { public static void main(String args[]) throws IOException{ BufferedReader inputan = new BufferedReader(new InputStreamReader(System.in)); int n=0; int hasil=1; System.out.println("Masukkan bilangan faktorial: "); try{ n=Integer.parseInt(inputan.readLine()); } catch(IOException e) { System.out.println("Inputan error"); } System.out.println("n \t n!"); int i=1; while(i<=n) { hasil=hasil*i; System.out.println(i + "\t" + hasil); i++; } } }

Output dari program factorial While diatas lihat gambar dibwah ini :

67

Gambar 7.2 Menampilkan Bilangan Faktorial dengan While

7.1.3 Menampilkan Bilangan Faktorial dengan Do - While Lihat script program dibawah ini :
import java.io.*; public class EdofaktorialDoWhile { public static void main(String args[]) throws IOException{ BufferedReader inputan = new BufferedReader(new InputStreamReader(System.in)); int n=0; int hasil=1; System.out.println("Masukkan bilangan faktorial: "); try{ n=Integer.parseInt(inputan.readLine()); } catch(IOException e) { System.out.println("Inputan error"); } System.out.println("n \t n!"); int i=1; do{ hasil=hasil*i; System.out.println(i + "\t" + hasil); i++; } while(i<=n); } }

Output dari program factorial Do While diatas lihat gambar dibwah ini :

68

Gambar 7.3 Menampilkan Bilangan Faktorial dengan Do - While

Pada program faktorial ini terdapat 3 buah variabel, yakni variabel hasil, variabel i, dan variabel fak. Variabel i digunakan sebagai batasan dari simbol faktorial. Pada tiap tahapan proses variabel i ini nilainya akan bertambah 1. variabel hasil digunakan sebagai hasil yang akan diberikan terhadap faktorial. Sedangkan variabel fak digunakan sebagai definisi dari variabel angka yang ingin diketahui hasil faktorialnya berdasarkan inputan user. Variabel hasil diberikan nilai awal = 1, kemudian variabel fak digunakan sebagai pendefinisian variabel dari angka yang diinput user. Faktorial terjadi dalam kondisi perulangan for(int i=1;i<=fak;i++). Hal ini berarti nilai i dengan harga awal = 1, kemudian program memberikan kondisi apakan nilai i <= variabel fak atau tidak, jika i <= fak, maka nilai i akan bertambah 1. Kemudian variabel fak didefinisikan sebagai faktorial (!) dari variabel i. Jika fak ! =i, maka program akan mencetak x dibelakang variabel i, selain itu program akan mencetak =. Kemudian akan menampilkan cetakan berupa Hasil dari fak! adalah hasil. Adapun untuk logika penjabaran program di atas dapat dijabarkan sebagai berikut. a. Misalnya kita akan mencari hasil faktorial dari 7, maka diberikan nilai awal dari hasil = 1 dan nilai awal i = 1, dan fak = 7. Maka : b. hasil = 1, fak = 7, i =1, 69

c. i<=fak?? (i lebih kecil atau sama dengan fak atau tidak?) ? 1<4 d. jika ya, maka variabel i akan bertambah 1 e. hasil = hasil*i f. ? hasil = 1 * 1 =1, g. Jika fak !=i maka print (i+x) ? 1x h. Untuk selanjutnya nilai i akan bertambah 1 menjadi i=2 i. i = 2, hasil = 1, fak = 4 j. i<=fak?? (i lebih kecil atau sama dengan fak atau tidak?) ? 2<4 k. jika ya, maka variabel i akan bertambah 1 l. hasil = hasil*i m. ? hasil = 1 * 2 =2, n. Jika fak !=i maka print (i+x) ? 1x2x o. Untuk selanjutnya nilai i akan bertambah 1 menjadi i=3 p. i =3, hasil = 2, fak = 7 q. i<=fak?? (i lebih kecil atau sama dengan fak atau tidak?) ? 3<4 r. jika ya, maka variabel i akan bertambah 1 s. hasil = hasil*i t. ? hasil = 2 * 3 =6, u. Jika fak !=i maka print (i+x) ? 1x2x3x v. Untuk selanjutnya nilai i akan bertambah 1 menjadi i=4 w. dan seterusnya hingga i = 7. x. i = 4, hasil = 6, fak = 4 y. i<=fak?? (i lebih kecil atau sama dengan fak atau tidak?) ? 7=7 z. karena i=fak maka variabel i tidak bertambah maka print (i+x) ? 1x2x3x4x5x6 aa. hasil = hasil*i bb. ? hasil = 2 * 3 * 4 * 5 * 6 = 5040, cc. Jika fak !=i maka print (i+x), selain itu print(i+=) ? 1x2x3x4x5x6= dd. hasil = 5040

70

Untuk selanjutnya program akan mencetak tampilan berupa Hasil dari +fak+! adalah +hasil Oleh karena itu program tersebut akan memberikan output berupa 1x2x3x4x5x6 = Hasil dari 7! adalah 5040.

7.2 Perulangan dengan Break Dibawah ini adalah script perulangan dengan do while serta kondisional perulangan break :
class EdoBreakLoop { public static void main (String args []) { int i = 0; do { System.out.println ("Iterasi ke" + i); i++; if (i > 10) break; } while (true); } }

Jika script diatas dijalankan pada command prompt seperti gambar dibawah ini :

Gambar 7.4 Tampilan Output Program Perulangan Dengan Break

Break merupakan kondisional perulangan yang berfungsi membatasi sebuah atau memberhentikan program sesuai kondisi yang di berikan. Misalkan program diatas menampilkan urutan 1 10 karena batas iterasi yang kita masukan nilai 10. 7.3 Pemakaian Label pada Kondisi Continue

71

Dibawah ini merupakan script program perulangan for yang menggunakan label pada kondisional continue :
public class EdoContinueLabel{ public static void main(String[] args){ int a,b; Mulai: for(a=0;a<2;a++){ for(b=0;b<3;b++){ if(b==1) continue Mulai; System.out.println("a = "+a+" ; b = "+b); } } } }

Jika script program perulangan for dengan continue label kita jalankan maka hasilnya sebagai berikut :

Gambar 7.5 Tampilan Output Dari Program Looping Dengan Continue Label

Continue label disini membatasi suatu kondisi perulangan dan melanjutkan kembali pada kondisi perulangan selanjutnya. Misalnya variabel a = 0 dan jika 0 < 2 (lebih kecil dari 2) sehingga pernyataan benar. Sehingga variabel b = 0 dan jika 0 < 2 sehingga pernyataan benar. Kembali ke a++ artinya jika bertambah 1 menjadi a = 1 Hasil looping pertama a = 0 ; b = 0 Jika a = 1 maka 1 < 2 pernyataan benar Dan pada variabel b bertambah 1 namun pada program terdapat kondisional yan membatasi jika b ==1 maka kembali ke loop awal yaitu kembali ke variabel a, sehingga hasilnya b = 0 Untuk selanjutnya program akan mencetak tampilan berupa ("a= "+a+";b= "+b); Oleh karena itu program tersebut akan memberikan output berupa : 72

a = 0 ; a = 1 ; 7.4 7.4.1

b = 0 b = 0

Menampilkan Susunan Deretan Karakter Menampilkan susunan segi empat

Dibawah ini adalah contoh percobaan untuk menampilkan susunan segi empat menggunakan perulangan for dan input scanner.
public class Edosegiempat{ public static void main(String []args){ int baris,kolom; for(baris=1;baris<=8;baris++) { for(kolom=1;kolom<=8;kolom++) { System.out.print("#"); } System.out.print("\n"); } }}

Dibawah ini adalah hasil dari compile script diatas :

Gambar 7.6 Tampilan Output Dari Susunan Segi Empat

7.4.2

Menampilkan Susunan Setengah Segi Tiga

Dibawah ini adalah script untuk membuat sebuah segitiga siku-siku dengan perulangan :

73

public class Edosegitiga{ public static void main (String[]args){ int a,b; for(a=1;a<=10;a++){ for(b=1;b<=a;b++){ if(a<=10) System.out.print("*");} System.out.print("\n"); }} }

Program tersebut jika dijalakan pada command prompt akan menghasilkan output sebagai berikut :

Gambar 7.7 Tampilan Output Program susunan Setengah Segitiga

Program ini merupakan program untuk menampilkan sebuah setengah segitiga dimana program ini menggunakan for,dan jika program ini di jalankan akan menjadi seperti pada gambar 7.7

7.4.3

Menampilkan Susunan Setengah Segitiga Terbalik

Dibawah ini adalah contoh percobaan untuk menampilkan deret dari sebuah bilangan prima :
public class Edosegitigaterbalik{ public static void main (String[]args){ int x,y; for(x=1;x<=9;x++){

74

for(y=x;y<=9;y++){ System.out.print("*");} System.out.print("\n");} }}

Dibawah ini ada;ah tampilan output dari script diatas jika dijalankan pada command prompt :

Gambar 7.8 Tampilan Dari Output Program Setengah Segitiga Terbalik

Program ini merupakan program untuk menampilkan sebuah segitiga siku-siku dima program ini menggunakan for,dan jika program ini di jalankan akan menjadi seperti pada gambar 7.8

7.5 Menampilkan Deret Bilangan Prima Dengan Batasan Sesuai Inputan Dibawah ini adalah contoh percobaan untuk menampilkan deret dari sebuah bilangan prima :
import java.util.Scanner; public class EdoPrima2 { public static void main( String[] args ) { Scanner input = new Scanner( System.in ); int i, j, max; float rata; boolean prima; System.out.print("Masukkan nilai batas atas: "); max = input.nextInt(); System.out.println("bilangan prima ===================="); for (i=0;i<=max;i++) { prima=false;

75

if (i==2) prima=true; else { for (j=2;j<i;j++) { if (i % j==0) { prima=false; break; // keluar dari looping } else prima=true; } } if (prima) // prima = true { System.out.print(" "+i); } } System.out.println(" "); } }

Dibawah ini adalah tampilan output dari script diatas jika dijalankan pada command prompt :

Gambar 7.9 Tampilan Dari Output Program Deret Bilangan Prima

Merupakan progam yang menampilkan deret bilangan prima, dimana jika batas akhir yang kita inputkan maka akan membatasi deret bilangan , secara logika rumus untuk menampilkan deret prima adalah jika kita inputkan 15 maka akan diproses sedemikian jika nilai = 2 maka, alasan pertama prima jadi benar, ketika file di tambah 1 menjadi nilanya 3 maka di proses tidak sama dengan kondisi pertama, maka melalui kondisi kedua dimana jika nilai di modulus 2 tidak sama dengan nol maka juga prima dan seterusnya hingga pada batas akhir yang kita inputkan. Sebagaimana sesuai dengan tampilan pada hasil output gambar 7.9. 76

BAB VIII PENGENALAN IDE PADA JAVA


8.1 Instalasi Netbeans IDE

Dibawah ini adalah langkah dalam proses instalasi Netbeans IDE 7.0 versi Windows : 1. Buka installer Netbeans Kita yang ada di drive D

Gambar 8.1 Tampilan Installer Netbeans 7.0.1-Ml-Windows Pada Localdisk (D:)

2.

Klik double untuk menjalakan installer Administrator installer selesai.

atau klik kanan Run As

Untuk mode Safe. Tunggu hingga proses configuring the

Gambar 8.2 Tampilan Proses Konfigurasi System.

3. Setelah proses loading selesai, akan muncul proses initializes. Dan tunggu hingga 100% loading.

Gambar 8.3 Tampilan Configurasi IDE

77

4. Kemudian akan muncul Welcom to the NetBeans IDE 7.0.1 Installer

Gambar 8.4 Tampilan Welcome Pada Saat Instalasi Netbeans IDE

5. Langkah berikutnya centang

kotak I accept the terms in the license

agreement, kemudian tekan next untuk melanjutakan ke tahap selanjutnya. Seperti tampilan dibawah ini

Gambar 8.5 Tampilan License Agreement Pada Saat Instalasi Netbeans IDE

6. Kemudian pilih I Accept the term in the license agreement. Instal Junit untuk install JUnit kemudian klik Next

78

Gambar 8.6 Tampilan JUnit License Agreement

7. Tahap selanjutnya proses sikronisasi antar NetBeans IDE dengan JDK yang telah terinstal pada computer anda. Kemudian tekan next

Gambar 8.7 Tampilan NetBeans 7.01 Installation JDK

8. Tahap berikutnya proses installisasi GlassFish 3.1, kemudian tekan next

Gambar 8.8 Tampilan Dari Glassfish 3.1 Instalasi

9. Selanjutnya proses instalasi semua program yang dipilih dan klik Install untuk mulai persiapan proses insatalasi. 79

Gambar 8.9 Tampilan Dari Summary Dan Total Ukuran Memori Instalasi

10. Proses selanjutnya tunggu hingga proses laoding dan registry file selesai.

Gambar 8.10 Tampilan Proses Installation Netbeans Dan Runtimes

11. Proses installasi selesai tekan Finish untuk mengakhiri proses semuanya.

Gambar 8.11 Tampilan Instalation Netbeans Completed Successfully

12. Buka dan jalankan sehingga akan muncul start up dari program NetBeans

80

Gambar 8.12 Tampilan Dari Start-Up Netbeans IDE 7.0.1

13. Kemudian akan muncul tampilan start page dari NetBeans IDE 7.0 seperti dibawah ini :

Gambar 8.13 Tampilan Dari Start Page Netbeans 7.0.1

8.2

Menjalakan Java Console pada NetBeans IDE

Langkah langkah dalam menjalankan java console pada NetBeans IDE 7.0.1, perhatikan urutan dibawah ini : 1. Buka NetBeans IDE 7.0.1 anda atau versi sebelumnya . sehinnga akan muncul gambar seperti dibawah ini :

81

Gambar 8.14 Tampilan Start Up Home Netbeans IDE 7.0.1

2.

Klik File New Project atau bias dengan tombol keyboard Ctrl+Shift+N

Gambar 8.15 Tampilan Dari Menu File New Project

3.

Pilih Categories: Java ,kemudian Java Application selanjutnya klik Next

Gambar 8.16 Tampilan New Project

82

4.

Isi project name dan perhatkan project location-nya, isi project name dengan nama anda misalnya HalloEdo , project location : merupakan letak dimana file project java yang dibuat. Secara default project akan tersimpan pada My Document dalam folder NetBeansProjects.

Gambar 8.17 Tampilan New Java Aplication

5. 6.

Buatlah file java console dengan cara Klik File New File atau Ctrl+N Pilih kategori : Java, kemudian pilih Types : Java Main Class ,kemudian next.

Gambar 8.18 Tampilan Memilih Java Class

83

7.

Pastikan isi class name, project yang telah kita buat, location pada source packages, dan packages pada project yang kita buat, serta Created file harus sama dengan classname yang kita buat. Kemudian klik finish.

Gambar 8.18 Tampilan memilih tempat penyimpanan java class

8.

Buatlah program atau ketikanlah program dibagian bawah public static void main (string [ ] args).Misalkan kita buat program HalloEdo

Gambar 8.19 Tampilan mengisi aplikasi

9.

Save program dengan Ctrl+Shift+S , dan selanjutnya jalankan program dengan F6.(lihat gambar 8.19)

84

Gambar 8.19 Tampilan save program dan menjalankan program

8.3 Menjalankan Java GUI pada NetBeans IDE Dibawah ini merupakan langkah langkah cara untuk menngunakan Java GUI pada NetBeans IDE, perhatikan tahap tahapnya : 1. Buatlah File GUI dengan Cara klik File New File, Pilih kategoris yang swing GUI forms dengan Types JFrame Form . kemudian tekan Next.

Gambar 8.20 Tampilan Jendela New File Untuk Memilih Java GUI

2. Isi class name pastikan project yang telah kita buat, location source packages, project yang telah kita buat juga, created file : file sama dengan class name yang dibuat. Kemudian tekan finish

85

Gambar 8.21 Tampilan Jendela New Jframe Form

3. Buatlah Program GUI seperti berikut

Gambar 8.22 Tampilan Program Menampilkan Nama Saya

4. Tambahkan action pada button OK dengan Klik kanan button pilih Event Actions actionPerformed.

Gambar 8.23 Tampilan Cara Memberikan Action Pada Button

86

5. Pada baris program tambahkan script seperti berikut :


Jlabel3.setText( Guruh Putro Dirgantoro );

Gambar 8.24 Tampilan Letak Action Button Kita Pada Source Program

6. Jalankan program dengan tekan Shift+F6 maka akan muncul jendela baru aplikasi sederhana kita.

Gambar 8.25 Tampilan GUI Program Menampilkan Nama Lengkap Saya

Jika kita menekan button OK maka tanda Tanya ( jLabel3 ) akan berganti nama anda , sesuai source kita. Misalnya :

Gambar 8.26 Tampilan Hasil Program GUI Menampilkan Nama Saya Setelah Di Klik OK

87

8.4

Membuat Program Penjumlahan Java GUI pada NetBeans IDE Dibawah ini merupakan langkah langkah cara untuk menngunakan Java

GUI pada NetBeans IDE, perhatikan tahap tahapnya : 1. Buatlah File GUI dengan Cara klik File New File, Pilih kategoris yang swing GUI forms dengan Types JFrame Form . kemudian tekan Next.

Gambar 8.27 Tampilan Jendela New File Untuk Memilih Java GUI untuk membuat program penjumlahan

2. Isi class name pastikan project yang telah kita buat, location source packages, project yang telah kita buat juga, created file : file sama dengan class name yang dibuat. Kemudian tekan finish

Gambar 8.28 Tampilan Jendela New Jframe Form

88

3. Buatlah Program GUI seperti berikut

Gambar 8.29Tampilan Program Menampilkan Penjumlahan 2 Angka

4. Tambahkan action pada button OK dengan Klik kanan button pilih Event Actions actionPerformed.

Gambar 8.30 Tampilan Cara Memberikan Action Pada Button

5. Pada baris program tambahkan script seperti berikut :


int a,b; a=Integer.parseInt (jTextField1.getText()); b=Integer.parseInt (jTextField2.getText()); jTextField3.setText (Integer.toString(a+b));

89

Gambar 8.31 Tampilan Letak Action Button 1 Kita Pada Source Program

6. Setelah selesai membuat Source program pada Button 1. Ketik desain untuk kembali ke desain dan membuat Source program pada button 2.

Gambar 8.32 Tampilan Desain Program

7. Tambahkan action pada button Hapus dengan Klik kanan button pilih Event Actions actionPerformed.

Gambar 8.33 Tampilan Cara Memberikan Action Pada Button2

8. Pada baris program tambahkan script seperti berikut :


jTextField1.setText (""); jTextField2.setText (""); jTextField3.setText ("");

90

Gambar 8.34 Tampilan Letak Action Button 2 Kita Pada Source Program

9. Jalankan program dengan tekan Shift+F6 maka akan muncul jendela baru aplikasi sederhana kita.

Gambar 8.35 Tampilan program setelah dijalankan

10. Ketik angka untuk memulai menguji apakah program yang di buat benar. Misalkan saya masukkan angka 1 adalah 60, dan angka 2 adalah 27. Jika kita tekan Ok maka pada hasil akan menampilkan angka 87.

Gambar 8.36 Tampilan program setelah di isi nilai dan di jalankan

11. Setelah kita jalankan, dan jika kita ingin mengulang penjumlahan, kita bisa klik Hapus pada program tersebut, dan akan kembali ke halaman program pada awal dijalankan. Seperti gambar berikut

91

Gambar 8.37 Tampilan program setelah isi nilai di Hapus

8.4

Membuat Program Biodata Mahasiswa Java GUI pada NetBeans IDE

Dibawah ini merupakan langkah langkah cara untuk menngunakan Java GUI pada NetBeans IDE, perhatikan tahap tahapnya : 1. Buatlah File GUI dengan Cara klik File New File, Pilih kategoris yang swing GUI forms dengan Types JFrame Form . kemudian tekan Next.

Gambar 8.38 Tampilan Jendela New File Untuk Memilih Java GUI

2. Isi class name pastikan project yang telah kita buat, location source packages, project yang telah kita buat juga, created file : file sama dengan class name yang dibuat. Kemudian tekan finish

92

Gambar 8.39 Tampilan Jendela New Jframe Form

3. Buatlah Program GUI seperti berikut

Gambar 8.40 Tampilan Program Menampilkan Biodata Mahasiswa

4. Tambahkan action pada button OK dengan Klik kanan button pilih Event Actions actionPerformed.

Gambar 8.41 Tampilan Cara Memberikan Action Pada Button 1

93

5. Pada baris program tambahkan script seperti berikut : String a=jTextField1.getText(); String b=jTextField2.getText(); String c=jTextField3.getText(); String d=jTextField4.getText(); jTextField5.setText(""+a); jTextField6.setText(""+b); jTextField7.setText(""+c); jTextField8.setText(""+d);

Gambar 8.42 Tampilan Letak Action Button 1 Kita Pada Source Program

6. Setelah selesai membuat Source program pada Button 1. Ketik desain untuk kembali ke desain dan membuat Source program pada button 2.

Gambar 8.43 Tampilan Desain Program

94

7. Tambahkan action pada button Hapus dengan Klik kanan button pilih Event Actions actionPerformed.

Gambar 8.44 Tampilan Cara Memberikan Action Pada Button 2

8. Pada baris program tambahkan script seperti berikut :


jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); jTextField6.setText(""); jTextField7.setText(""); jTextField8.setText("");

Gambar 8.45 Tampilan Letak Action Button 2 Kita Pada Source Program

9. Setelah selesai membuat Source program pada Button 2. Ketik desain untuk kembali ke desain dan membuat Source program pada button 3.

95

Gambar 8.46 Tampilan Desain Program

10. Tambahkan action pada button Exit dengan Klik kanan button pilih Event Actions actionPerformed.

Gambar 8.47 Tampilan Cara Memberikan Action Pada Button 3

11. Pada baris program tambahkan script seperti berikut : System.exit(0);

Gambar 8.48 Tampilan Letak Action Button 3 Kita Pada Source Program

12. Jalankan program dengan tekan Shift+F6 maka akan muncul jendela baru aplikasi.

96

Gambar 8.50 Tampilan program setelah dijalankan

13. Pada kolom Nama ketik nama anda, misalkan Guruh Putro Dirgantoro. Kemudian pada kolom Kelas ketik kelas anda saat ini, misalkan 2011 E. Kemudian pada kolom NPM ketik npm anda, misalkan 1412110221, dan pada kolom Alamat ketik Alamat Rumah Anda, misalkan LATSARI TUBAN, seperti gambar berikut:

Gambar 8.51 Tampilan program setelah di isi Biodata Mahasiswa

97

14. Setelah kita jalankan, dan jika kita ingin mengulang pengisian Biodata baru, kita bisa klik Hapus pada program tersebut, dan akan kembali ke halaman program pada awal dijalankan. Seperti gambar berikut

Gambar 8.52 Tampilan program setelah isi biodata di Hapus

15. Setelah selesai, kita bisa keluar program dengan cara mengklik button Exit pada program, dan program akan berhenti.

98

BAB IX PEMROGRAMAN VISUAL PADA JAVA


9.1 Program Aplikasi Hitung Sederhana

Dibawah ini adalah sebuah cara untuk membuat aplikasi hitung aritmatika, dari dua buah bilangan 1 dengan bilangan 2. Langkah langkah sebagai berikut : 1. Buatlah project baru pada netbeans atau Ctrl+N 2. kemudian buatlah file java dengan type : JFrame Form 3. buat Program GUI seperti gambar dibawah ini :

Gambar 9.1 Tampilan GUI Aplikasi Hitung Sederhana

4. untuk membuat judul Program Hitung Sederhana , Angka ke 1 , dan Hasil kita bias menggunakan Label, untuk mengganti teksnya cukup klik kanan edit text. 5. Jika untuk membuat kolomnya kita bisa menggunakan Swing Control TextField, kemudian atur lebarnya. Biar tidak membingungan variabelnya kita ganti dengan klik kanan pilih change variable name 6. Membuat tombol clear dan aritmatika kita bias menggunakan Swing control Button. Berikan nama variable masing masing buttonnya. 7. Jika hasil sudah sesuai seperti gambar dibawah ini berikut, kita bisa menambahkan action di setiap buttonnya.

99

Gambar 9.2 Tampilan Program Hitung Sederhana

8. Untuk menambah action button kita cukup klik kanan button, pilih event action ActionPerformed, inilah scriptnya untuk tiap proses aritmatika.
Penjumlahan private void jumlahButtonActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int a,b; a=Integer.parseInt (jTextField1.getText()); b=Integer.parseInt (jTextField2.getText()); jTextField3.setText (Integer.toString(a+b)); }

Pengurangan
private void kurangButtonActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int a,b; a=Integer.parseInt (jTextField1.getText()); b=Integer.parseInt (jTextField2.getText());

Perkalian
private void kaliButtonActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int a,b; a=Integer.parseInt (jTextField1.getText()); b=Integer.parseInt (jTextField2.getText()); jTextField3.setText (Integer.toString(a*b)); }

100

Pembagian
private void bagiButtonActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int a,b; a=Integer.parseInt (jTextField1.getText()); b=Integer.parseInt (jTextField2.getText()); jTextField3.setText (Integer.toString(a/b)); }

9. Untuk percobaan kita coba masukan nilai 24 pada kolom 1 dan nilai 3 pada kolom 2.

Gambar 9.3 Tampilan Hasil Program Hitung Aritmatika Penjumlahan

Sehingga akan menampilakan hasil nilai 27 = 24 + 3, jika kita klik tombol clear maka akan menghapus nilai di dalam semua kolom. Kita coba tekan tombol pengurangan maka hasil 21 , seperti yang di tampilakn pada gambar dibawah ini :

Gambar 9.4 Tampilan Hasil Program Hitung Pengurangan

Selanjutnya kita coba mengklik tombol kali, bagaimana hasilnya? Lihat gambar dibawah ini :

101

Gambar 9.5 Tampilan Hasil Program Hitung Perkalian

Yang terakhir jika kita klik tombol kali maka akan melakukan proses aritmatika pembagian, seperti yang ditampilkan pada gambar dibawah ini :

Gambar 9.6 Tampilan Hasil Program Hitung Pembagian

Jika kita mengkosongkan isian kolom, kita cukup klik tombol clear dengan action scriptnya dibawah ini :
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); }

Sehingga tampilan menjadi kosong lagi :

102

Gambar 9.7 Tampilan Hasil Program Setelah Di Klik Tombol Hapus

9.2

Membuat Program Data Mahasiswa

Dibawah ini merupakan contoh program java menggunakan komponen Swing yang memungkinkan kita bisa menyimpan data yang kita inputkan. Tahap tahap pembuatan programnya adalah sebagai berikut : 1. Buat file project baru dengan Ctrl+N, jangan lupa kita perhatikan letak project apilcation atau source packages sudah sesuai dengan sebelumnya. 2. Buat Class Name sesuai nama anda. 3. Buatlah teks atau tulisan di panel dengan JLabel, kemudian klik kanan untuk mengedit teks label. 4. Buatlah kolom teks dengan JTextField, yang perlu diingat selalu ubahlah nama variable yang sesuai label kolom tersebut. Untuk lebih jelas pada no.3 4 lihat gambar dibawah ini.

Gambar 9.8 Tampilan GUI Program Biodata Mahasiswa Pada Netbeans

103

5. Buatlah tombol Ok dengan JButton , kemudian klik kanan buat events, action, pilih actionperformed.lihat gambar :

Gambar 9.9 Tampilan Cara Memberi Action Pada Button Save

Setelah itu masukan scriptnya pada blok action button tersebut :


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String a=jTextField1.getText(); String b=jTextField2.getText(); String c=jTextField3.getText(); String d=jTextField4.getText(); jTextArea1.setText("Nama :"+a+"\nNPM :"+b+"\nProdi :"+c+"\nUniversitas :"+d); }

6. Buatlah action pada tombol cancel juga dengan script dibawah ini :
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextArea1.setText(""); }

7. Setelah itu Run File dengan tekan kombinasi Shift+F6 sehingga akan muncul tampilan gambar seperti dibawah ini :

104

Gambar 9.10 Tampilan Interface Program Biodata Mahasiswa

8. Coba kita masukkan data seperti gambar berikut :

Gambar 9.11 Tampilan Input Data Pada Program Biodata Mahasiswa

105

9.3

Program Aplikasi Sederhana

Dibawah ini merupakan aplikasi yang berbasis pewarisan dan memiliki 3 tampilan halaman yang saling berlanjut. Tahap pertama mari kita buat halaman yang pertama seperti tampilan berikut.

Gambar 9.12 Tampilan Program Aplikasi Sederhana Pendaftaran Online.

1. Buatlah interface programnya sedimikan rupa seperti gambar 9.12 2. Ubah nama variable tiap kolom teks, combo box, serta tombolnya agar tidak sulit dalam penulisan source-nya. 3. Buat events action tombol HAPUS dengan menyisipkan scriptnya dibawah ini :
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); }

Pada script diatas pada button-nya menggunakan variable jButton3, sehingga pada private void nya ada tulisan jButton3actionperformed() 4. Selanjut membuat action tombol dari NEXT dengan memasukkan source code di antara private class-nya seperti berikut :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)

106

{ // TODO add your handling code here: EdoHalaman2 form2 = new EdoHalaman2(); form2.a = jTextField1.getText(); form2.b = jTextField2.getText(); form2.c = jTextField3.getText()+","+jComboBox1.getSelectedItem()+" "+jComboBox2.getSelectedItem()+""+jComboBox3.getSelected Item(); form2.d = jTextField4.getText(); form2.e = jTextField5.getText(); form2.setVisible(true); this.setVisible(false); }

5. Selanjutnya buat action buttonnya pada EXIT dengan menyisipkan scriptnya seperti dibawah ini :
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); }

6. Terakhir kita buat window opened untuk tampilan tanggal , bulan , dan tahun, dengan cara klik kanan pada panel pilih events, window, terus windowsopened setelah itu masukkan source code yang termasuk loop untuk item selectednya:
private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: for (int tgl=1; tgl<=31; tgl++) { jComboBox1.addItem(tgl); } for (int a=1985; a<=2030; a++) { jComboBox3.addItem(a); } }

7. untuk bulan karena tampilannya seperti Januari, Februari, - Desember maka saya buat manual, lengkah-langkahnya adalah :

107

klik ComboBox2 satu kali pada ComboBox2 properties pilih model klik gambar yang dilingkari seperti Gambar berikut:

Gambar 9.13 Tampilan untuk membuat tampilan bulan secara manual

Maka akan muncultampilan seperti berikut:

Gambar 9.14 Tampilan untuk mengimputkan tampilan bulan

8. Selanjutnya kita buat tampilan interface untuk halaman yang kedua, seperti gambar berikut :

108

Gambar 9.15 Tampilan Halaman Kedua Program Pendaftaran Online

9. Buat button actionnya FINISH dengan menyisipkan source code dibawah ini :
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: EdoHalaman3 form3 = new EdoHalaman3(); form3.a = a; form3.b = b; form3.c = c; form3.d = d; form3.e = e; form3.f = jTextField1.getText(); form3.g = jTextField2.getText(); form3.setVisible(true); this.setVisible(false); }

10.

Kemudian membuat halaman 3 untuk menyimpan hasil input dari halaman

1 dan 2.

Gambar 9.16 Tampilan Halaman Ketiga Program Pendaftaran Online

Dengan menambahkan source code pada action button : 109

private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: jTextArea1.setText("Nama :"+a+"\nAlamat :"+b+"\nTTL :"+c+"\nAsal Sekolah :"+d+"\nJurusan :"+e+"\nPilihan 1 :"+f+"\nPilihan 2 :"+g); }

11. Setelah semua halaman selesai kita coba menjalankan programnya. Dan memasukkan data. Lihat gambar gambar dibawah ini :

Gambar 9.17 Tampilan Input Data Pada Halaman Pertama Program Pendaftaran Online.

Gambar 9.18 Tampilan Input Data Pada Halaman Kedua Program Pendaftaran Online.

110

Gambar 9.19 Tampilan Input Data pertama dan kedua jika di klik finish.

Ketika anda menjalankan program tersebut pada halaman pertama anda memasukan biodata anda secara lengkap (lihat gambar 9.17), kemudian mengklik tombol next maka akan data akan tersimpan sementara pada masing-masing variable, isi kolom di halaman kedua (lihat gambar 9.18), kemudian tekan finish untuk menampilkan semua data yang kita inputkan sebelumnya (lihat gambar 9.19). dan ketika data yang kita imputkan ada kesalahan misal pada Halaman 1, anda dapat mengklik Button halaman 1, sehingga akan menjalankan program dari awal lagi. Dan apabila ada kesalahan pada halaman 2, anda dapat mengklik halaman 2.

111

BAB X PEMROGRAMAN BERBASIS OBJEK PADA JAVA


10.1 Bekerja Menu, PopUp Menu dan Toolbar Dibawah ini merupakan program yang menggunakan menu, popup menu serta toolbar (lihat gambar 10.1) dibawah ini :

Gambar 10.1 Tampilan Program Yang Menggunakan Toolbar, Popup Menu Dan Menu

1. Tahap pertama adalah membuat deretan menu dengan komponen swing menus pilih menu bar. Untuk ingin menambah item menu cukup klik kanan pada panel pilih add menu. 2. Kemudian buat deretan toolbar, untuk menambahkan gambar kita bisa masuk di properties pilih icon dan cari dengan image external, cari di galeri gambar anda. Klik ok dan kemudin atur ukurannya.

Gambar 10.2 Tampilan Jendela Image Chooser Icon

3. Masukkan action pada button simpan dengan menyisipkan source code dibawah ini : 112

private void simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String a=jTextField1.getText(); String b=jTextField2.getText(); jTextArea1.setText("Nama\t:"+a+"\nNPM\t:"+b); }

4. Jalankan programnya dengan Shift+F6. Masukan nama dan NPM anda, dan klik simpan otomatis akan menyimpan pada teks area di bawahnya.

Gambar 10.3 Tampilan Input Data Pada Program Popup Menu

jika kita klik menu toolbar pendaftaran seperti gambar 10.4 berikut :

Gambar 10.4 Tampilan menu toolbar pendaftaran baru

Maka akan jendela pendaftaran baru seperti pada modul 7 percobaan 3 pendaftaran online calon mahasiswa baru. Seperti gambar berikut:

113

Gambar 10.5 Tampilan pendaftaran mahasiswa baru

Kemudian ikuti langkah seperti modul 7 percobaan 3 atau Bab 9.3

10.2

Membuat JFrame Form Sendiri

Dibawah ini adalah percobaan untuk membuat tampilan interface JFrame Form sendiri sehingga secara manual kita coba menyeting mulai dari panel, ukuran panel serta warna background panel lihat source code dibawah ini :
import java.awt.*; import javax.swing.*; public class EdoFrameSendiri extends JFrame { private javax.swing.JLabel jLabel1; //constructor area public EdoFrameSendiri(){ initComponents(); } private void initComponents(){ jLabel1 = new JLabel(); //customize properties setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setTitle("Hello Edo"); jLabel1.setBackground(new Color(255,204,255)); jLabel1.setFont(new Font("Arial",1,48)); jLabel1.setHorizontalAlignment(SwingConstants.CENTER); jLabel1.setText("Hello Edo"); jLabel1.setToolTipText("mengucapkan hello ..."); jLabel1.setDoubleBuffered(true); jLabel1.setOpaque(true); this.add(jLabel1);

114

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width 393)/2,(screenSize.height - 204)/2,293,04); } public static void main (String[] args){ EventQueue.invokeLater(new Runnable() { public void run() { new EdoFrameSendiri().setVisible(true); } }); } }

Jika menjalankan source code diatas maka akan muncul tampilan sebagai berikut :

Gambar 10.6 Tampilan Program Dengan Jframe Form Sendiri

Untuk mengatur dari tampilan diatas kita cukup menuju pada source code yang terkapsulasi pada private void initComponents(){ a) setTitle("Hello Edo"); ini merupakan source code jika anda ingin mengganti judul jframe atau title.
b) jLabel1.setBackground(newColor(255,204,255)); ini merupakan

dimana jika kita ingin mengubah latar warna tampilannya, dengan mengubah kode warna (255,204,255). c) jLabel1.setFont(new Font("Arial",1,48)); merupakan bagian

kode program untuk merubah jenis huruf dan mengatur ukuran font. d) jLabel1.setHorizontalAlignment(SwingConstants.CENTER); untuk mengatur tata letak tulisan Hello Edo . e) jLabel1.setText("Hello Edo"); ini adalah bagian teks yang akan ditampilan pada JFrame. f) jLabel1.setToolTipText("mengucapkan hello ...");merupakan teks cursor, jika kita mengarahkan cursor ke title maka akan muncul teks tersebut.

115

Sehingga menjadi tampilan output seperti gambar 10.4 tersebut, anda bisa mengatur sesuai keinginan anda.

116

BAB XI PROGRAM ABSENSI MATA PELAJARAN


11.1 Judul Program PROGRAM ABSENSI MATA PELAJARAN

11.2

Latar Belakang Program aplikasi ini dibuat dengan tujuan mempermudah mengetahui jumlah ketidakhadiran siswa dalam mengikuti jam pelajaran. Sehingga orang tua dapat lebih kondusif lagi dalam memberikan support terhadap anaknya.

11.3

Alur Program 1. Splash Image

Gambar 11.1 Tampilan awal program

2. Halaman Login

Gambar 11.2 Tampilan Login

a. Isikan nama user di jTextField dengan nama edotanpa tanda ptik (). 117

b. Kemudian pada jPasswordField masukkan kata sandi / password dengan edo tanpa tanda ptik (). c. Jika saat melakukan login ada kesalahan, maka akan muncul kotak dialog yang bertuliskan "kombinasi nama dan password salah". Dengan source code sebagai berikut :
public class login extends javax.swing.JFrame { private Object txtUser; private Object txtPassword; public login() { initComponents(); } private void btnExitActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void LoginActionPerformed(java.awt.event.ActionEvent evt) { String user = "edo"; String pass = "edo"; if(user.equalsIgnoreCase(Nama.getText()) && pass.equalsIgnoreCase(Password.getText())){ //JOptionPane.showMessageDialog(null,"Good!"); this.setVisible(false); new main().setVisible(true); } else { JOptionPane.showMessageDialog(null,"kombinasi nama dan password salah"); Nama.setText(""); Nama.requestFocus(); Password.setText(""); } } private void NamaKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: if(evt.getKeyCode() == KeyEvent.VK_ENTER) { Password.requestFocus(); } } private void PasswordKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: if(evt.getKeyCode() == KeyEvent.VK_ENTER) { Login.doClick();

118

} }

3. Halaman Menu

Gambar 11.3 Tampilan menu aplikasi

a. Menu Data Guru digunakan untuk masuk dalam tampilan melihat, menambah dan merubah mengenai data guru pengajar. b. Menu Data Siswa digunakan untuk masuk dalam tampilan melihat, menambah dan merubah mengenai data siswa-siswi SMPIT AL USWAH TUBAN perkelasnya. c. Menu Jadwal Pelajaran digunakan untuk menginputkan daftar mata pelajaran yang akan ditempuh oleh pada siswa-siswi perkelasnya. d. Menu Absensi Harian berguna untuk melakukan absensi ketidakhadiran pada siswa dan siswi dengan keterangan sakit, ijin maupun mangkir/bolos sekolah. e. Menu Report merupakan menu yang dihubungkan dengan form menampilkan seluruh data absensi mata pelajaran dari masing-masing siswa. Dengan source code sebagai berikut :
public class main extends javax.swing.JFrame { public main() { initComponents(); }

119

private void dataGuruActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.setVisible(false); new f_dataGuru().setVisible(true); } private void dataSiswaActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.setVisible(false); new f_dataSiswa().setVisible(true); } private void jadwalPelajaranActionPerformed(java.awt.event.ActionEv ent evt) { // TODO add your handling code here: this.setVisible(false); new f_jadwalMapel().setVisible(true); } private void absensiHarianActionPerformed(java.awt.event.ActionEven t evt) { // TODO add your handling code here: this.setVisible(false); new f_absensi().setVisible(true); } private void reportActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.setVisible(false); new f_absensi().setVisible(true); }

120

4. Halaman Data Guru

Gambar 11.4 Tampilan halaman daftar guru

a. Lakukan pengisian sesuai nama pada jTextField Nama Guru. b. Lakukan pengisian sesuai tempat kelahiran pada jTextField Tempat Lahir. c. Lakukan pengisian sesuai tanggal lahir dengan menekan dan memilih tanggal lahir yang sesuai pada jDateChooser. d. Mengisi alamat lengkap pada jTextField Alamat. e. Tekan tombol Tambah untuk memasukkan data baru. f. Untuk merubah data yang telah ada user dapat langsung ngklik ganda pada data miliknya dan langsung merubah data yang sekiranya akan dirubah. Berikut adalah source codenya :
import import import import import import java.sql.*; javax.swing.DefaultComboBoxModel; javax.swing.JOptionPane; javax.swing.JTable; javax.swing.JTextField; javax.swing.table.DefaultTableModel;

/** * * @author http://khiang.wordpress.com */ public class f_dataGuru extends javax.swing.JFrame { //deklarasi variabel global double harga, quantity, total_kotor, total_bersih, bayar, kembali, diskon,simpan_diskon; String tambah_data;

121

/** Creates new form database */ public f_dataGuru() { initComponents(); } //deklarasi untuk database Connection koneksi; public Statement status; public ResultSet rs; public final String[] judul={"NIP","Nama Guru","Tempat Lahir","Tanggal Lahir","Alamat"}; //prosedure load data ke grid public void loaddata(){ try{ koneksi=DriverManager.getConnection("jdbc:mysql://l ocalhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); rs=status.executeQuery("select * from db_dataguru"); rs.last(); int n=rs.getRow(); Object[][] data=new Object[n][7]; int p=0; rs.beforeFirst(); while(rs.next()){ data[p][0]=rs.getString(1); data[p][1]=rs.getString(2); data[p][2]=rs.getString(3); data[p][3]=rs.getString(4); data[p][4]=rs.getString(5); p++; } tbl_barang.setModel(new DefaultTableModel(data,judul)); tbl_barang.setAlignmentX(CENTER_ALIGNMENT); tbl_barang.setAutoResizeMode(JTable.AUTO_RESIZE_ALL _COLUMNS); }catch(SQLException x){ JOptionPane.showMessageDialog(null, x.getMessage()); } } private void formComponentShown(java.awt.event.ComponentEvent evt) {

122

//panggil prosedure load database ke jendela program loaddata(); } private void btn_batalActionPerformed(java.awt.event.ActionEvent evt) { // fungsi tombol batal: txt_namaguru.setText(""); txt_tempatlahir.setText(""); ((JTextField)txt__tanggallahir.getDateEditor().getU iComponent()).setText(""); txt_alamat.setText(""); } private void btn_tambahActionPerformed(java.awt.event.ActionEven t evt) { // tambah data ke database //String tglLahir = ((JTextField)txt__tanggallahir.getDateEditor().getU iComponent()).getText(); try{ koneksi=DriverManager.getConnection("jdbc:mysql://l ocalhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into db_dataguru (nama,tempatlahir,tanggallahir,alamat) values('"+ txt_namaguru.getText()+"','"+ txt_tempatlahir.getText()+"','"+ ((JTextField)txt__tanggallahir.getDateEditor().getU iComponent()).getText()+"','"+ txt_alamat.getText()+"')"); int tambah=status.executeUpdate(tambah_data); if(tambah==1){ JOptionPane.showMessageDialog(null, "Data berhasil ditambah!"); } else{ JOptionPane.showMessageDialog(null, "Data gagal ditambah!"); } }catch(SQLException x){ JOptionPane.showMessageDialog(null, x.getMessage()); } loaddata(); }

123

private void btn_keluarActionPerformed(java.awt.event.ActionEven t evt) { // Keluar Aplikasi int keluar = JOptionPane.showConfirmDialog(null, "Keluar dari program?","Exit Program",JOptionPane.YES_NO_OPTION,JOptionPane.QUES TION_MESSAGE); if(keluar == JOptionPane.YES_OPTION){ System.exit(keluar); } }

5. Halaman Data Siswa

Gambar 11.5 Tampilan halaman daftar siswa

a. Lakukan pengisian sesuai nama pada jTextField Nama Siswa. b. Lakukan pengisian sesuai tempat kelahiran pada jTextField Tempat Lahir. c. Lakukan pengisian sesuai tanggal lahir dengan menekan dan memilih tanggal lahir yang sesuai pada jDateChooser. d. Mengisi alamat lengkap pada jTextField Alamat. e. Tekan tombol Tambah untuk memasukkan data baru. f. Untuk merubah data yang telah ada user dapat langsung ngklik ganda pada data miliknya dan langsung merubah data yang sekiranya akan dirubah. Berikut adalah source codenya :
import import import import java.sql.*; javax.swing.DefaultComboBoxModel; javax.swing.JOptionPane; javax.swing.JTable;

124

import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; public class f_dataGuru extends javax.swing.JFrame { //deklarasi variabel global double harga, quantity, total_kotor, total_bersih, bayar, kembali, diskon,simpan_diskon; String tambah_data; /** Creates new form database */ public f_dataGuru() { initComponents(); } //deklarasi untuk database Connection koneksi; public Statement status; public ResultSet rs; public final String[] judul={"NIP","Nama Guru","Tempat Lahir","Tanggal Lahir","Alamat"}; //prosedure load data ke grid public void loaddata(){ try{ koneksi=DriverManager.getConnection("jdbc:mysql://l ocalhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); rs=status.executeQuery("select * from db_dataguru"); rs.last(); int n=rs.getRow(); Object[][] data=new Object[n][7]; int p=0; rs.beforeFirst(); while(rs.next()){ data[p][0]=rs.getString(1); data[p][1]=rs.getString(2); data[p][2]=rs.getString(3); data[p][3]=rs.getString(4); data[p][4]=rs.getString(5); p++; } tbl_barang.setModel(new DefaultTableModel(data,judul)); tbl_barang.setAlignmentX(CENTER_ALIGNMENT); tbl_barang.setAutoResizeMode(JTable.AUTO_RESIZE_ALL

125

_COLUMNS); }catch(SQLException x){ JOptionPane.showMessageDialog(null, x.getMessage()); } } private void formComponentShown(java.awt.event.ComponentEvent evt) { //panggil prosedure load database ke jendela program loaddata(); } private void btn_batalActionPerformed(java.awt.event.ActionEvent evt) { // fungsi tombol batal: txt_namaguru.setText(""); txt_tempatlahir.setText(""); ((JTextField)txt__tanggallahir.getDateEditor().getU iComponent()).setText(""); txt_alamat.setText(""); } private void btn_tambahActionPerformed(java.awt.event.ActionEven t evt) { // tambah data ke database //String tglLahir = ((JTextField)txt__tanggallahir.getDateEditor().getU iComponent()).getText(); try{ koneksi=DriverManager.getConnection("jdbc:mysql://l ocalhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into db_dataguru (nama,tempatlahir,tanggallahir,alamat) values('"+ txt_namaguru.getText()+"','"+ txt_tempatlahir.getText()+"','"+ ((JTextField)txt__tanggallahir.getDateEditor().getU iComponent()).getText()+"','"+ txt_alamat.getText()+"')"); int tambah=status.executeUpdate(tambah_data); if(tambah==1){ JOptionPane.showMessageDialog(null, "Data berhasil ditambah!"); } else{

126

JOptionPane.showMessageDialog(null, "Data gagal ditambah!"); } }catch(SQLException x){ JOptionPane.showMessageDialog(null, x.getMessage()); } loaddata(); } private void btn_keluarActionPerformed(java.awt.event.ActionEven t evt) { // Keluar Aplikasi int keluar = JOptionPane.showConfirmDialog(null, "Keluar dari program?","Exit Program",JOptionPane.YES_NO_OPTION,JOptionPane.QUES TION_MESSAGE); if(keluar == JOptionPane.YES_OPTION){ System.exit(keluar); } }

6. Halaman Daftar Mata Pelajaran

Gambar 11.6 Tampilan halaman daftar mata pelajaran

127

a. Pada kolom kelas tertera angkatan atau kelas yang akan menentukan letak input dan melihat database daftar mata pelajaran berdasarkan kelas masing-masing b. Tekan tombol Cari untuk menentukan kelas mata pelajaran. c. Apabila telah menekan tombol Cari, selanjutnya adalah memasukkan nama mata pelajaran sesuai kelas. d. Masukkan berapa alokasi waktu tatap muka dengan murid dalam satu semester. e. Apabila sudah, dapat menekan tombol Tambah untuk memasukkan data matapelajaran ke database. f. Apabila ingin merubah nama mata pelajaran, user dapat langsung doubleclick pada mata pelajaran yang diinginkan. g. Tekan tombol reset untuk menghapus semua isi pada masing-masing field sehingga dapat menambahkan data baru. Berikut adalah source code program tersebut :
import import import import import import import import import import backup.*; form.*; java.sql.Connection; java.sql.DriverManager; java.sql.ResultSet; java.sql.SQLException; java.sql.Statement; javax.swing.JOptionPane; javax.swing.JTable; javax.swing.table.DefaultTableModel;

/** * * @author ertdo */ public class f_jadwalMapel extends javax.swing.JFrame { /** * Creates new form dataGuru */ public f_jadwalMapel() { initComponents(); } String tambah_data; Connection koneksi;

128

public Statement status; public ResultSet rs; public final String[] judul={"Mata Pelajaran","Alokasi Waktu"}; //prosedure load data ke grid public void loaddata(){ try{ koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); String mapel_kelas = "mapel_kelas_"+comb_kelas.getSelectedItem(); rs=status.executeQuery("select * from "+mapel_kelas+" "); rs.last(); int n=rs.getRow(); Object[][] data=new Object[n][7]; int p=0; rs.beforeFirst(); while(rs.next()){ data[p][0]=rs.getString(1); data[p][1]=rs.getString(2); //data[p][2]=rs.getString(3); //data[p][3]=rs.getString(4); //data[p][4]=rs.getString(5); p++; } tbl_barang.setModel(new DefaultTableModel(data,judul)); tbl_barang.setAlignmentX(CENTER_ALIGNMENT); tbl_barang.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_CO LUMNS); }catch(SQLException x){ JOptionPane.showMessageDialog(null, x.getMessage()); } } private void btn_tambahActionPerformed(java.awt.event.ActionEvent evt) { // tambah data ke database try{ koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root","");

129

status=koneksi.createStatement(); String mapel_kelas = "mapel_kelas_"+comb_kelas.getSelectedItem(); tambah_data=("insert into "+mapel_kelas+" values('"+ txt_mapel.getText()+"','"+ txt_waktu.getText()+"')"); int tambah=status.executeUpdate(tambah_data); if(tambah==1){ JOptionPane.showMessageDialog(null, "Data berhasil ditambah!"); } else{ JOptionPane.showMessageDialog(null, "Data gagal ditambah!"); } }catch(SQLException x){ JOptionPane.showMessageDialog(null, x.getMessage()); } loaddata(); } private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: loaddata(); } private void btn_batalActionPerformed(java.awt.event.ActionEvent evt) { // fungsi tombol batal: txt_mapel.setText(""); txt_waktu.setText(""); loaddata(); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: loaddata(); }

7. Halaman Absensi

130

Gambar 11.6 Tampilan halaman awal untuk memilih kelas

a. Pada form ini kita diminta untuk memilih dan kelas dan menclick tombol Cari Mapel untuk menampilkan mata pelajaran apa saja yang terdapat pada kelas tersebut seperti gambar dibawah ini.

Gambar 11.7 Tampilan memilih kelas untuk mengetahui mapel

b. Jika sudah selesai, kita juga memilih pada semester berapa yang sedang berlangsung kemudian klik tombol Next untuk lanjutkan proses absensi mata pelajaran. c. Pada form ini kita pertama kali dimintai untuk mengisi tanggal absensi.

131

Gambar 11.8 Memilih tanggal absensi

d. Setelah itu pilih tab keterangan ketidakhadiran siswa dan memilih nama siswa yang tidak hadir dengan klik combobox nama siswa berdasarkan keterangan tidak hadirnya.

Gambar 11.9 Memilih nama siswa tidak hadir

132

e. Setelah dirasa cukup Guru dapat menekan tamtol Simpan Presensi untuk menyimpan absensi pada database dan dapat melihat siswa yang tidak hadir pada tampilan tabel di atas tombol tersebut.

Gambar 11.10 Tampilan nama siswa yang tidak hadir

f. Apabila dianggap cukup Guru dapat langsung mengeluarkan program dengan menekan tombol exit atau memilih tombol menu untuk berpindah ke menu yang lainnya. Berikut source code form tersebut : Form memilih kelas
import java.sql.*; public class f_absensi extends javax.swing.JFrame { KoneksiDb x; /** * Creates new form dataGuru */ public f_absensi() { initComponents(); x = new KoneksiDb(); x.koneksi(); //panggil koneksi } private void nextActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: f_absensi2 f_abs2 = new f_absensi2(); //f_abs2.kelas=(String)

133

comb_kelas.getSelectedItem(); f_abs2.kelas = ""+comb_kelas.getSelectedItem()+comb_kelas2.getSelecte dItem(); f_abs2.semester=(String) semester.getSelectedItem(); f_abs2.mapel=(String) cmb_mapel.getSelectedItem(); this.setVisible(false); f_abs2.setVisible(true); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: ResultSet resul; try { x.st = x.conn.createStatement(); String mapel_kelas = "mapel_kelas_"+comb_kelas.getSelectedItem(); resul = x.st.executeQuery("SELECT matapelajaran FROM "+mapel_kelas+" "); while (resul.next()){ cmb_mapel.addItem(resul.getString("matapelajaran")); } }catch (SQLException e){ return; } cmb_mapel.setEditable(false); }

Form absensi tidak hadir


import java.sql.*; import javax.swing.*; import net.proteanit.sql.DbUtils; import javax.swing.DefaultComboBoxModel; import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; public class f_absensi2 extends javax.swing.JFrame { KoneksiDb x;

134

String kelas, mapel, semester; public f_absensi2() { initComponents(); x = new KoneksiDb(); x.koneksi(); //panggil koneksi } String tambah_data; Connection koneksi; public Statement status; public ResultSet rs; public final String[] judul={"Nama","Keterangan"}; private void load_combo_nama(){ try { ResultSet resul2; x.st = x.conn.createStatement(); resul2 = x.st.executeQuery("SELECT nama FROM "+kelas+" "); ijin1.addItem(""); ijin2.addItem(""); ijin3.addItem(""); ijin4.addItem(""); ijin5.addItem(""); ijin6.addItem(""); ijin7.addItem(""); ijin8.addItem(""); ijin9.addItem(""); ijin10.addItem(""); ijin11.addItem(""); ijin12.addItem(""); while (resul2.next()){ //for(int as=1;as>=12;as++); //ijin.addItem(resul2.getString("nama")); //ijin1.addItem(""); ijin1.addItem(resul2.getString("nama")); ijin2.addItem(resul2.getString("nama")); ijin3.addItem(resul2.getString("nama")); ijin4.addItem(resul2.getString("nama")); ijin5.addItem(resul2.getString("nama")); ijin6.addItem(resul2.getString("nama")); ijin7.addItem(resul2.getString("nama")); ijin8.addItem(resul2.getString("nama"));

135

ijin9.addItem(resul2.getString("nama")); ijin10.addItem(resul2.getString("nama")); ijin11.addItem(resul2.getString("nama")); ijin12.addItem(resul2.getString("nama")); } }catch (SQLException e){ } } public void loaddata(){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); String ke_db_absensi2 = "absensi_"+kelas; koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); String txt_tanggal2=((JTextField)tanggal.getDateEditor().getU iComponent()).getText(); status=koneksi.createStatement(); rs=status.executeQuery("SELECT nama,keterangan FROM "+ke_db_absensi2+" WHERE tanggal='"+txt_tanggal2+"' "); rs.last(); int n=rs.getRow(); Object[][] data=new Object[n][7]; int p=0; rs.beforeFirst(); while(rs.next()){ data[p][0]=rs.getString(1); data[p][1]=rs.getString(2); // data[p][2]=rs.getString(3); // data[p][3]=rs.getString(4); //data[p][4]=rs.getString(5); //data[p][5]=rs.getString(6); p++; } tbl_absen.setModel(new DefaultTableModel(data,judul)); tbl_absen.setAlignmentX(CENTER_ALIGNMENT); tbl_absen.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COL UMNS); }catch(SQLException x){

136

JOptionPane.showMessageDialog(null, x.getMessage()); } } private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: lbl_kelas.setText(kelas); lbl_semester.setText(semester); lbl_mapel.setText(mapel); load_combo_nama(); //loaddata(); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String ke_db_absensi = "absensi_"+kelas; String txt_tanggal=((JTextField)tanggal.getDateEditor().getUi Component()).getText(); //ijin1 if (ijin1.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); //String ke_db_absensi = "absensi_"+kelas; //String txt_tanggal=((JTextField)tanggal.getDateEditor().getUi Component()).getText(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin1.getSelectedItem()+"','Ijin')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); if(tambah==1){ //JOptionPane.showMessageDialog(null, "Data berhasil ditambah!"); } else{

137

JOptionPane.showMessageDialog(null, "Data gagal ditambah!"); } }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin2 if (ijin2.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin2.getSelectedItem()+"','Ijin')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin3 if (ijin3.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+

138

ijin3.getSelectedItem()+"','Ijin')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin4 if (ijin4.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin4.getSelectedItem()+"','Ijin')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin5 if (ijin5.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+

139

mapel+"','"+ ijin5.getSelectedItem()+"','Sakit')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin6 if (ijin6.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin6.getSelectedItem()+"','Sakit')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin7 if (ijin7.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+

140

txt_tanggal+"','"+ mapel+"','"+ ijin7.getSelectedItem()+"','Sakit')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin8 if (ijin8.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin8.getSelectedItem()+"','Sakit')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin9 if (ijin9.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+

141

semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin9.getSelectedItem()+"','Mangkir')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin10 if (ijin10.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin10.getSelectedItem()+"','Mangkir')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin11 if (ijin11.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into

142

"+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin11.getSelectedItem()+"','Mangkir')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } //ijin12 if (ijin12.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); koneksi=DriverManager.getConnection("jdbc:mysql://loca lhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang an) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin12.getSelectedItem()+"','Mangkir')"); //DIGANTI nama jComboBoxnya & Status... int tambah=status.executeUpdate(tambah_data); }catch(SQLException e){ JOptionPane.showMessageDialog(null, e.getMessage()); } } loaddata(); }

143

8. Form Report

Gambar 11.11 Halaman report

a. Pertama-tama user harus memilih kelas dan menekan tombol terlebih dahulu untuk menampilkan nama siswa. b. Selanjutnya pilih semester. c. Pilih nama siswa yang ingin ditampilkan.

Gambar 11.12 Memilih nama siswa untuk report

144

d. Apabila kita masih belum memilih nama siswa tersebut maka akan muncul sebagai berikut :

Gambar 11.13 Peringatan untuk memasukkan nama siswa

e. Setelah memilih nama siswa maka tekan tompol Print untuk mengetahui record ketidakhadiran siswa.

Gambar 11.14 Peringatan untuk memasukkan nama siswa

f. Berikut adalah tampilan akhir dari laporan ketidakhadiran siswa pada mata pelajaran. Source code program tersebut :
import import import import java.sql.*; java.util.logging.Level; java.util.logging.Logger; javax.swing.*;

public class f_report extends javax.swing.JFrame { KoneksiDb x, y, z, za; public f_report() { initComponents(); x = new KoneksiDb(); x.koneksi(); //panggil koneksi

145

y = new KoneksiDb(); y.koneksi(); //panggil koneksi z = new KoneksiDb(); z.koneksi(); //panggil koneksi za = new KoneksiDb(); za.koneksi(); //panggil koneksi } Connection koneksi; public Statement status; public ResultSet rs; private void load_combo_nama(){ try { ResultSet resul2; x.st = x.conn.createStatement(); String kelas_pilih = ""+comb_kelas.getSelectedItem()+comb_kelas2.getSelecte dItem(); resul2 = x.st.executeQuery("SELECT nama FROM "+kelas_pilih+" "); //comb_nama.addItem(""); while (resul2.next()){ comb_nama.addItem(resul2.getString("nama")); } comb_kelas.setEditable(false); comb_kelas.enable(false); comb_semester.enable(true); comb_nama.enable(true); comb_semester.enable(true); txt_repot.enable(true); } catch(Exception e){JOptionPane.showMessageDialog(null, e.getMessage());} } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { if (comb_kelas.getSelectedItem() != "" && comb_kelas2.getSelectedItem() != "") {load_combo_nama();} else{JOptionPane.showMessageDialog(null, "Pilih salah satu kelas terlebih dahulu.");} } private void formWindowOpened(java.awt.event.WindowEvent evt) { // TODO add your handling code here: comb_semester.enable(false);

146

comb_nama.enable(false); comb_semester.enable(false); txt_repot.enable(false); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (comb_nama.getSelectedItem() == "-Pilih Nama Siswa-") { JOptionPane.showMessageDialog(null,"Pilih Nama Siswa yang Ingin dicetak"); }else{ ResultSet resulMTK, resulBInd, resulBIng, resulSila; try { x.st = x.conn.createStatement(); y.st = y.conn.createStatement(); z.st = z.conn.createStatement(); za.st = za.conn.createStatement(); /* ================== PERCOBAAN =============================== */ String mapel_kelas = "mapel_kelas_"+comb_kelas.getSelectedItem(); String abs_kelas = "absensi_"+comb_kelas.getSelectedItem()+comb_kelas2.ge tSelectedItem(); resulMTK = x.st.executeQuery("SELECT COUNT("+abs_kelas+".nama) as hitung,"+mapel_kelas+".alokasiwaktu from "+abs_kelas+","+mapel_kelas+" WHERE "+abs_kelas+".nama='"+comb_nama.getSelectedItem()+"'&& "+abs_kelas+".mapel='Matematika' "); resulBInd = y.st.executeQuery("SELECT COUNT("+abs_kelas+".nama) as hitung2,"+mapel_kelas+".alokasiwaktu from "+abs_kelas+","+mapel_kelas+" WHERE "+abs_kelas+".nama='"+comb_nama.getSelectedItem()+"'&& "+abs_kelas+".mapel='Bahasa Indonesia' "); resulBIng = z.st.executeQuery("SELECT COUNT("+abs_kelas+".nama) as hitung3,"+mapel_kelas+".alokasiwaktu from "+abs_kelas+","+mapel_kelas+" WHERE "+abs_kelas+".nama='"+comb_nama.getSelectedItem()+"'&& "+abs_kelas+".mapel='Bahasa Inggris' "); resulSila = za.st.executeQuery("SELECT COUNT("+abs_kelas+".nama) as hitung4,"+mapel_kelas+".alokasiwaktu from "+abs_kelas+","+mapel_kelas+" WHERE "+abs_kelas+".nama='"+comb_nama.getSelectedItem()+"'&& "+abs_kelas+".mapel='Pendidikan Pancasila' ");

147

String kelas_pilih = ""+comb_kelas.getSelectedItem()+comb_kelas2.getSelecte dItem(); String Hasil = "ABSENSI KEHADIRAN PER MAPEL" + "\nSMPIT AL USWAH TUBAN" + "\nJL. AL-FALAH Desa Sugiharjo, Tuban" + "\n___________________________________________________ ________________________________" + "\n" + "\nNama\t: "+comb_nama.getSelectedItem()+"" + "\nKelas\t: "+kelas_pilih+"" + "\nSemester\t: "+comb_semester.getSelectedItem()+"" + "\n___________________________________________________ ________________________________" + "\n\tMata Pelajaran\t\t| Ketidakhadiran / Jumlah jam \t|" + "\n___________________________________________________ ________________________________" + "" + ""; txt_repot.setText(Hasil); while (resulMTK.next()){ txt_repot.append("\n Matematika"); txt_repot.append("\t\t\t | \t "); txt_repot.append(resulMTK.getString("hitung")); txt_repot.append(" / "); txt_repot.append(resulMTK.getString(""+mapel_kelas+".a lokasiwaktu")); txt_repot.append(" \t\t |"); } while (resulBInd.next()){ txt_repot.append("\n Bahasa Indonesia"); txt_repot.append("\t\t | \t "); txt_repot.append(resulBInd.getString("hitung2")); txt_repot.append(" / "); txt_repot.append(resulBInd.getString(""+mapel_kelas+". alokasiwaktu")); txt_repot.append(" \t\t |");

148

} while (resulBIng.next()){ txt_repot.append("\n Bahasa Indonesia"); txt_repot.append("\t\t | \t "); txt_repot.append(resulBIng.getString("hitung3")); txt_repot.append(" / "); txt_repot.append(resulBIng.getString(""+mapel_kelas+". alokasiwaktu")); txt_repot.append(" \t\t |"); } while (resulSila.next()){ txt_repot.append("\n Bahasa Indonesia"); txt_repot.append("\t\t | \t "); txt_repot.append(resulSila.getString("hitung4")); txt_repot.append(" / "); txt_repot.append(resulSila.getString(""+mapel_kelas+". alokasiwaktu")); txt_repot.append(" \t\t |"); } } catch (SQLException ex) { } } }

149

BAB XII PENUTUP

12.1

Kesimpulan

a. Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. b. Java memiliki 2 tipe data yaitu tipe data Primitif dan tipe data Referensi. c. Operator pada java terdapat 6 Operator yaitu Operator Aritmatika, Operator Increment-Decrement, Operator Assigment(Penugasan),

Operator Relasi, Operator Logical dan Operator Bitwise. d. Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch. e. Pada java dikenal tiga macam bentuk perulangan, yaitu : while, do-while, dan for. f. Perintah setText adalah untuk mengambil nilai yang diinputkan pada TextField. g. Perintah addItem adalah untuk menambah item pada komponen swing, dan bisa di kombinasikan dengan logika perulangan. h. Perintah getText adalah untuk memberikan nilai pada TextField. i. Object adalah sebuah entity yang memiliki keadaan, behavior dan identitas yang tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. j. Class mengizinkan anda dalam mendeklarasikan tipe data baru. k. Constructor adalah sebuah tipe khusus dari method yang digunakan untuk membuat dan menginisialisasi sebuah object baru. l. Inheritas adalah merupakan proses pewarisan data dan method dari kelas induk (Super Class) ke kelas anak (Sub Class). m. Polimorfime adalah kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda. n. Enkapsulasi (pembungkusan) menujuk pada prinsip dari menyembunyikan desain atau mengimplementasikan informasi yang tidak sesuai pada object yang ada.

150

12.2

Saran

a. Jam praktikum harus ontime. b. Gunakan waktu semaksimal mungkin antara question dan praktikum. c. Ada pembagian tugas di tiap pendamping praktikum. d. Jika perlu 4 orang pendamping tiap jam praktikum. e. Berikan materi materi percobaan yang lebih menarik dan menantang.

151

DAFTAR PUSTAKA

1. http://id.wikipedia.org/wiki/Java pengertian tentang pemrograman java. 2. http://www.scribd.com/doc/78346072/Materi-Pelatihan-Java-Fundamental kumpulan materi dan percobaan pemrograman 3. Allaboutalgoritma.blogspot.com kumpulan berbagai materi pemrograman. 4. JENI introducing java programing 5. http://www.tizag.com/mysqlTutorial/mysqlcount.php - Count MySQL 6. http://netbeans.org/kb/docs/ide/mysql.html - Connecting to a MySQL Database - NetBeans IDE Tutorial 7. http://forums.netbeans.org/topic18518.html - NetBeans Forums - Displaying record count from SQL query [RowSet(DataProvider)] 8. http://www.youtube.com/results?search_query=count+query&oq=count+query &gs_l=youtube.3..0i5l2.5113.6872.0.9782.6.6.0.0.0.0.368.954.3j1j1j1.6.0...0.0. ..1ac.1.kZ3XKnIjQMM - count query YouTube 9. http://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html - The if-then and if-then-else Statements (The Java Tutorials > Learning the Java Language > Language Basics) 10. http://www.scribd.com/doc/99690125/Belajar-NETBEANS - Belajar

NETBEANS 11. http://www.coderanch.com/t/498428/JDBC/databases/java-sql-

SQLException-After-end - java.sql.SQLException: After end of result set (JDBC forum at JavaRanch) 12. file:///G:/refrensi/Objek%20Combo%20Box%20Dalam%20JAVA%20Net http://www.youtube.com/watch?v=fbnvh_Becs4 Login NETBEANS Beans%20IDE%206.5.htm Pengenalan ComboBox Dalam NETBEANS 13.

with sqlite 14. http://www.youtube.com/results?search_query=Java+prog%234&oq=Java

+prog%234&gs_l=youtube.3..0l9.1196993.1198834.0.1199069.3.3.0.0.0.0.352 .352.3-1.1.0...0.0...1ac.1j2.OFzzCoADGpA Java prog#4 YouTube

152

15.

http://www.youtube.com/results?search_query=jcombobox+additem+mys

ql&oq=jcombobox+additem+mysql&gs_l=youtube.3...16080.41178.0.41433.2 2.21.1.0.0.0.834.6094.5j3j4j4j0j1j3.20.0...0.0...1ac.1.d7ykeCs3AXM jcombobox additem mysql - YouTube 16. http://www.w3schools.com/sql/sql_func_count.asp - SQL COUNT()

Function

153

LAMPIRAN

154