Post on 02-Aug-2015
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
Assalamu’alaikum 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.
Wassalamu’alaikum 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 Latar Belakang..........................................................................................1
1.2 Tujuan Praktikum......................................................................................1
1.3 Manfaat Praktikum....................................................................................2
BAB II TINJAUAN PUSTAKA..............................................................................3
2.1 Pengenalan JAVA dan Lingkungan Kerja................................................3
2.1.1 Pengertian Bahasa Pemrograman JAVA...........................................3
2.1.2 Sejarah Singkat Pemrograman JAVA................................................3
2.1.3 Karakteristik Bahasa Pemrograman Java...........................................4
2.1.4 Compiler dan Interpreter Pada Java...................................................6
2.2 Elemen Dasar Pemrograman JAVA..........................................................8
2.2.1 Keyword.............................................................................................8
2.2.2 Identifier dan Variabel.......................................................................9
2.2.3 Tipe data dan Perubahan Tipe Data...................................................9
2.2.4 Komentar Pada java.........................................................................10
2.2.5 Instruksi Dasar Pemrograman Java..................................................10
2.3 Operator...................................................................................................13
2.3.1 Operator Aritmatika.........................................................................13
2.3.2 Increment and decrement.................................................................14
2.3.3 Operator Bitwise..............................................................................15
2.3.4 Operator Boolean.............................................................................16
2.3.5 Operator Logika...............................................................................16
2.3.6 Operator Shift...................................................................................17
2.3.7 Operator Kombinasi.........................................................................17
iii
2.3.8 Operator Kondisional.......................................................................17
2.3.9 Operator Penugasan.........................................................................18
2.4 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
2.5.1 Perulangan menggunakan FOR.......................................................20
2.5.2 Perulangan menggunakan WHILE..................................................21
2.5.3 Perulangan menggunakan DO WHILE............................................21
2.6 Pengenalan IDE Pada JAVA...................................................................22
2.7 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 Instalasi JDK...........................................................................................31
3.2 Pengesetan PATH dan CLASSPATH.....................................................33
3.3 Menampilkan Suatu Tulisan Ke Layar....................................................36
3.4 Menganalisa dan Membenahi Kesalahan Pada Program........................37
3.4.1 Menganalisa script latihan pertama..................................................37
3.4.1 Menganalisa script latihan kedua.....................................................38
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 Menampilkan nilai default dari masing-masing tipe data................41
4.1.2 Nilai maksimal masing-masing tipe data.........................................42
iv
4.2 Memberikan Nilai / Literal Pada Variable..............................................44
4.3 Memberikan Nilai Input Pada Program...................................................45
4.3.1 Membaca Satu Karakter...................................................................45
4.3.2 Membaca Beberapa Karakter................................................................46
4.3.3 Membaca dengan Int Read ( Byte b[ ] )..........................................46
4.3.4 Membaca Karakter Dengan Int Read(Byte B[], Int_Awal,
Int_Panjang)...................................................................................................47
4.3.5 Membaca Input Melalui Data Input Stream....................................49
4.3.6 Memanfaatkan Argumen String Args[ ].........................................51
BAB V OPERATOR.............................................................................................52
5.1 Menguji Operator Aritmatika..................................................................52
5.2 Melakukan Increment dan decrement Nilai............................................53
5.3 Melakukan Operasi Bit............................................................................54
5.4 Menggunakan Logika Operator...............................................................55
5.5 Menggunakan Operator Boolean And.....................................................56
5.6 Menggunakan Boolean Or.......................................................................57
BAB VI PERCABANGAN...................................................................................59
6.1 Percabangan Menggunakan if , if – else , dan else if..................................59
6.2 Percabangan Menggunakan Switch.........................................................60
6.3 Menentukan Bilangan Genap dan Ganjil................................................62
6.5 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
7.4.1 Menampilkan susunan segi empat...................................................73
7.4.2 Menampilkan Susunan Setengah Segi Tiga.....................................73
7.4.3 Menampilkan Susunan Setengah Segitiga Terbalik.........................74
7.5 Menampilkan Deret Bilangan Prima Dengan Batasan Sesuai Inputan......75
BAB VIII PENGENALAN IDE PADA JAVA.....................................................77
8.1 Instalasi Netbeans IDE............................................................................77
8.2 Menjalakan Java Console pada NetBeans IDE.......................................81
8.3 Menjalankan Java GUI pada NetBeans IDE...........................................85
8.4 Membuat Program Penjumlahan Java GUI pada NetBeans IDE............88
8.4 Membuat Program Biodata Mahasiswa Java GUI pada NetBeans IDE. 92
BAB IX PEMROGRAMAN VISUAL PADA JAVA...........................................99
9.1 Program Aplikasi Hitung Sederhana.......................................................99
9.2 Membuat Program Data Mahasiswa.....................................................103
9.3 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 Judul Program....................................................................................117
11.2 Latar Belakang...................................................................................117
11.3 Alur Program.....................................................................................117
BAB XII PENUTUP............................................................................................150
12.1 Kesimpulan........................................................................................150
12.2 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
x
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 pengunaan-
pengunaan 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
1
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
2
BAB II TINJAUAN PUSTAKA
2.1 Pengenalan JAVA dan Lingkungan Kerja
2.1.1 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.
4
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.
5
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.
6
Langkah-langkah Kompilasi dan Eksekusi Program Java
Jika salah lakukan perbaikan
Apabila Benar, akan menghasilkan program
Jika ada runtime atau logic error
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.
7
Kompilasi Program
Source Code
Hasil KompilasiNamafile class
Mengeksekusi Program
Hasil Besar
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 boolean break byte case catch
char class const continue default do
double else extends false final finally
float for goto if implements import
instance int interface long native new
null package private protected public return
short static strictfp super switch while
synchronized this throw throws transient true try
void volatile
8
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. Hindari pemakaian operator yang ada di Java.
4. 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.
9
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 (Exception e){System.out.println(“error
”+e);}}}
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;)}}
c. 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());}
String s=new String(buf,0);
System.out.println(s);}}
d. Membaca dengan int read(byte b[], int awal, int
panjang)
class bacaData3{
public static void main (String args[]){
byte buf[]= new byte[10];
11
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);}}
e. 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 are what you type
in:”)System.out.println(angka);
System.out.println(huruf);
System.out.println(kalimat);}}
12
f. Memanfaatkan argumen String args[]
class contohArgumen {
public static void main ( Sring args [] ) {
int i = Integer.perseInt ( args [ 0 ] ) ;
int j = Integer.perseInt ( args [ 1 ] ) ;
int hasil = i * j ;
System.out.println ( “ Hasil kali = “ + hasil ) ;
}}
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 operand-
nya 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 aritmatika adalah operator yang digunakan untuk
mengoperasikan perhitungan (aritmatika). Bahasa pemrograman Java
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 di-
increment/ditambahkan
--a, Artinya Mengurangkan nilai 1 pada a; mengevaluasi nilai a setelah di-
decrement/dikurangkan
Postfix berarti operator digunakan sesudahnya.
Misal :
a++, Artinya Menambahkan nilai 1 pada a; mengevaluasi nilai a sebelum di-
increment/ditambahkan
a--, Artinya Mengurangkan nilai 1 pada a; mengevaluasi nilai a sebelum di-
decrement/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 Keterangan~ Oprasi NOT (complement)& Oprasi AND| Oprasi OR^ Oprasi XOR
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 Sumber desimal 8
= 0000 1000 0000 1000
1
+
1001
Bit didepannya ditukar menjadi 1111 1001
1111 1001 = desimal -9
15
Angka nol menandakan positif
Angka nol menandakan positif
Angka 1 menandakan negatif
Angka 1 menandakan negatif
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 Keterangan>> Geser kanan << Geser kiri
>>> Geser kanan tanpa mempertahankan sign
2.3.7 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
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
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.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
Gambar 2.2 Tampilan flowchart percabangan if
18
Start
C = 14
C > 0
c lebih besar dari 0
End
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
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
Start
C = 14
C > 0
c lebih besar dari 0 c lebih kecil dari 0
Cetak Hasil
End
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 :
Keluar loop
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
pernyataan
kondi
si
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. Hanya ada satu GUI, yaitu Swing
b. Hanya bersifat generated code, tidak bias secara manual dalam pengeditan progamnya.
c. Memilki memori yang besar dalam menjalankan program.
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
1) JButton , ToggleButton , JMenuItem untuk membuat tombol
2) JComboBox digunakan sebagai tampilan kombinasi textfield dan drop-down list.
3) JFrame merupakan wadah untuk meletakan semua komponen GUI yang akan ditampilkan.
4) JPasswordField kolom teks untuk memasukkan password.
Gambar 2.9 Tampilan Gambar Macam Komponen Swing Controls
5) JTextArea merupakan kolom teks yang lebih satu baris.
6) JTable merupakan komponen untuk membuat table pada frame.
7) JRadioButton, JButtonGroup digunakan untuk membuat tampilan pilihan dengan radio button.
8) 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 Menganalisa dan Membenahi Kesalahan Pada Program
3.4.1 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. Tanda [] diletakkan di belakang args
3. 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 (“What’s 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
4.1.1 Menampilkan nilai default dari masing-masing tipe data
1. Kertikkan source code program dibawah ini dan simpan pada 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
1. Kertikkan source code program dibawah ini dan simpan pada D:\program\
bab2\ dengan nama EdoMaxVariableDemo.java
public class EdoMaxVariablesDemo {public static void main (String args []) {
// intergetbyte largestByte = Byte.MAX_VALUE;short largestShort = Short.MAX_VALUE;int largestInteger = Integer.MAX_VALUE;long largestLong = Long.MAX_VALUE;// real number / float dan doublefloat largestFloat = Float.MAX_VALUE;double largestDouble = Double.MAX_VALUE;// tipe primitivechar aChar = 'S';boolean aBoolean = true;// tampilkan semuaSystem.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 largest Float value is " + largestFloat);
System.out.println("The largest Double value is " + largestDouble);
System.out.println("The largest Char value is " + aChar);
System.out.println("The largest Boolean value is " + aBoolean);
}}
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 Memberikan Nilai / Literal Pada Variable
1. 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 Memberikan Nilai Input Pada Program
4.3.1 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 e)
{ System.out.println(e);}
tidak akan berjalan ( berfungsi ) sehingga menimbulkan error pada
program.
50
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 = " + x +" y = "+y); System.out.println("x + y = "+(x+y)); System.out.println("x - y = "+(x-y)); System.out.println("x * y = "+(x*y)); System.out.println("x / y = "+(x/y)); System.out.println("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 = "+x); System.out.println("y = "+y); System.out.println("x & y = "+(x&y)); System.out.println("x | y = "+(x|y)); System.out.println("x ^ 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 = "+(x<y)); System.out.println("x > z = "+(x>z)); System.out.println("y <= z = "+(y<=z)); System.out.println("x >= y = "+(x>=y)); System.out.println("y == z = "+(y==z)); System.out.println("x != y = "+(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 ; b = 0
a = 1 ; b = 0
7.4 Menampilkan Susunan Deretan Karakter
7.4.1 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 :
public class Edosegitiga{
public static void main (String[]args){
int a,b;
73
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++){for(y=x;y<=9;y++){System.out.print("*");}System.out.print("\n");}}}
74
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; if (i==2) prima=true; else { for (j=2;j<i;j++) {
75
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.
BAB VIII PENGENALAN IDE PADA JAVA
8.1 Instalasi Netbeans IDE
76
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 atau klik kanan Run As
Administrator Untuk mode Safe. Tunggu hingga proses configuring the
installer… selesai.
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
4. Kemudian akan muncul Welcom to the NetBeans IDE 7.0.1 Installer
77
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
Gambar 8.6 Tampilan JUnit License Agreement
78
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
Gambar 8.12 Tampilan Dari Start-Up Netbeans IDE 7.0.1
80
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 :
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
81
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
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.
82
Gambar 8.17 Tampilan New Java Aplication
5. Buatlah file java console dengan cara Klik File – New File atau Ctrl+N
6. Pilih kategori : Java, kemudian pilih Types : Java Main Class ,kemudian
next.
Gambar 8.18 Tampilan Memilih Java Class
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.
83
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.getSelectedItem();
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 “edo“tanpa 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.ActionEvent evt) { // TODO add your handling code here: this.setVisible(false); new f_jadwalMapel().setVisible(true); }
private void absensiHarianActionPerformed(java.awt.event.ActionEvent 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 java.sql.*;import javax.swing.DefaultComboBoxModel;import javax.swing.JOptionPane;import javax.swing.JTable;import javax.swing.JTextField;import 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://localhost: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().getUiComponent()).setText(""); txt_alamat.setText(""); }
private void btn_tambahActionPerformed(java.awt.event.ActionEvent evt) { // tambah data ke database //String tglLahir = ((JTextField)txt__tanggallahir.getDateEditor().getUiComponent()).getText(); try{ koneksi=DriverManager.getConnection("jdbc:mysql://localhost: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().getUiComponent()).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.ActionEvent evt) { // Keluar Aplikasi int keluar = JOptionPane.showConfirmDialog(null, "Keluar dari program?","Exit Program",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_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 java.sql.*;import javax.swing.DefaultComboBoxModel;import javax.swing.JOptionPane;import 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://localhost: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().getUiComponent()).setText(""); txt_alamat.setText(""); }
private void btn_tambahActionPerformed(java.awt.event.ActionEvent evt) { // tambah data ke database //String tglLahir = ((JTextField)txt__tanggallahir.getDateEditor().getUiComponent()).getText(); try{ koneksi=DriverManager.getConnection("jdbc:mysql://localhost: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().getUiComponent()).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.ActionEvent evt) { // Keluar Aplikasi int keluar = JOptionPane.showConfirmDialog(null, "Keluar dari program?","Exit Program",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_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 backup.*;import form.*;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.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://localhost: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_COLUMNS); }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://localhost: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.getSelectedItem(); 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;String kelas, mapel, semester;
134
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://localhost:3306/aluswah_absensi","root",""); String txt_tanggal2=((JTextField)tanggal.getDateEditor().getUiComponent()).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_COLUMNS); }catch(SQLException x){ JOptionPane.showMessageDialog(null,
136
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().getUiComponent()).getText(); //ijin1 if (ijin1.getSelectedItem()!= ""){ try{ //String pilihan = "jadwalpelajaran_"+kelas.getSelectedItem(); //String ke_db_absensi = "absensi_"+kelas; //String txt_tanggal=((JTextField)tanggal.getDateEditor().getUiComponent()).getText(); koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) 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{ JOptionPane.showMessageDialog(null,
137
"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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) 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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+ ijin3.getSelectedItem()+"','Ijin')");
138
//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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) 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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+ mapel+"','"+
139
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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) 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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+ txt_tanggal+"','"+
140
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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) 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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) values('"+ //tambah_data=("insert into "+pilihan+" values('"+ semester+"','"+
141
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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) 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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterang
142
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://localhost:3306/aluswah_absensi","root",""); status=koneksi.createStatement(); tambah_data=("insert into "+ke_db_absensi+"(semester,tanggal,mapel,nama,keterangan) 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(); }
8. Form Report
143
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 java.sql.*;import java.util.logging.Level;import java.util.logging.Logger;import 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 y = new KoneksiDb();
145
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.getSelectedItem(); 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); comb_nama.enable(false); comb_semester.enable(false);
146
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.getSelectedItem(); 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.getSelectedItem(); 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+".alokasiwaktu")); 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.
1. http://www.scribd.com/doc/78346072/Materi-Pelatihan-Java-Fundamental
– kumpulan materi dan percobaan pemrograman
2. Allaboutalgoritma.blogspot.com – kumpulan berbagai materi pemrograman.
2. JENI introducing java programing
3. http://www.tizag.com/mysqlTutorial/mysqlcount.php - Count MySQL
4. http://netbeans.org/kb/docs/ide/mysql.html - Connecting to a MySQL
Database - NetBeans IDE Tutorial
5. http://forums.netbeans.org/topic18518.html - NetBeans Forums -
Displaying record count from SQL query [RowSet(DataProvider)]
6. http://www.youtube.com/results?
search_query=count+query&oq=count+query&gs_l=youtube.3..0i5l2.5113.68
72.0.9782.6.6.0.0.0.0.368.954.3j1j1j1.6.0...0.0...1ac.1.kZ3XKnIjQMM - count
query – YouTube
7. 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)
8. http://www.scribd.com/doc/99690125/Belajar-NETBEANS - Belajar
NETBEANS
9. 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)
10. file:///G:/refrensi/Objek%20Combo%20Box%20Dalam%20JAVA
%20NetBeans%20IDE%206.5.htm – Pengenalan ComboBox Dalam
NETBEANS
11. http://www.youtube.com/watch?v=fbnvh_Becs4 – Login NETBEANS
with sqlite
12. http://www.youtube.com/results?search_query=Java+prog
%234&oq=Java+prog
152
%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
13. http://www.youtube.com/results?
search_query=jcombobox+additem+mysql&oq=jcombobox+additem+mysql&
gs_l=youtube.3...16080.41178.0.41433.22.21.1.0.0.0.834.6094.5j3j4j4j0j1j3.20
.0...0.0...1ac.1.d7ykeCs3AXM - jcombobox additem mysql - YouTube
14. http://www.w3schools.com/sql/sql_func_count.asp - SQL COUNT()
Function
153
LAMPIRAN
154