{} laporan resmi {}

217
LAPORAN RESMI PRAKTIKUM PEMROGRAMAN LANJUT Dosen Pembimbing : Nur Laila Mubarokah, A.Md. Nama Mahasiswa : GURUH PUTRO DIRGANTORO 1412110221 PROGRAM STUDI TEKNIK INFORMATIKA i

Upload: ertdo

Post on 02-Aug-2015

464 views

Category:

Documents


15 download

TRANSCRIPT

Page 1: {} Laporan Resmi {}

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

Page 2: {} Laporan Resmi {}

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

Page 3: {} Laporan Resmi {}

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

Page 4: {} Laporan Resmi {}

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

Page 5: {} Laporan Resmi {}

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

Page 6: {} Laporan Resmi {}

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

Page 7: {} Laporan Resmi {}

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

Page 8: {} Laporan Resmi {}

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

Page 9: {} Laporan Resmi {}

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

Page 10: {} Laporan Resmi {}

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

Page 11: {} Laporan Resmi {}

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

Page 12: {} Laporan Resmi {}

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

Page 13: {} Laporan Resmi {}

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

Page 14: {} Laporan Resmi {}

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

Page 15: {} Laporan Resmi {}

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

Page 16: {} Laporan Resmi {}

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

Page 17: {} Laporan Resmi {}

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

Page 18: {} Laporan Resmi {}

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

Page 19: {} Laporan Resmi {}

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

Page 20: {} Laporan Resmi {}

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

Page 21: {} Laporan Resmi {}

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

Page 22: {} Laporan Resmi {}

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

Page 23: {} Laporan Resmi {}

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

Page 24: {} Laporan Resmi {}

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

Page 25: {} Laporan Resmi {}

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

Page 26: {} Laporan Resmi {}

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

Page 27: {} Laporan Resmi {}

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

Page 28: {} Laporan Resmi {}

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

Page 29: {} Laporan Resmi {}

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 =

Page 30: {} Laporan Resmi {}

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

Page 31: {} Laporan Resmi {}

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

Page 32: {} Laporan Resmi {}

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

Page 33: {} Laporan Resmi {}

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

Page 34: {} Laporan Resmi {}

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

Page 35: {} Laporan Resmi {}

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

Page 36: {} Laporan Resmi {}

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

Page 37: {} Laporan Resmi {}

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

Page 38: {} Laporan Resmi {}

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

Page 39: {} Laporan Resmi {}

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

Page 40: {} Laporan Resmi {}

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

Page 41: {} Laporan Resmi {}

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

Page 42: {} Laporan Resmi {}

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

Page 43: {} Laporan Resmi {}

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

Page 44: {} Laporan Resmi {}

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

Page 45: {} Laporan Resmi {}

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

Page 46: {} Laporan Resmi {}

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

Page 47: {} Laporan Resmi {}

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

Page 48: {} Laporan Resmi {}

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

Page 49: {} Laporan Resmi {}

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

Page 50: {} Laporan Resmi {}

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

Page 51: {} Laporan Resmi {}

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

Page 52: {} Laporan Resmi {}

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

Page 53: {} Laporan Resmi {}

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

Page 54: {} Laporan Resmi {}

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

Page 55: {} Laporan Resmi {}

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

Page 56: {} Laporan Resmi {}

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

Page 57: {} Laporan Resmi {}

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

Page 58: {} Laporan Resmi {}

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

Page 59: {} Laporan Resmi {}

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

Page 60: {} Laporan Resmi {}

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

Page 61: {} Laporan Resmi {}

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

Page 62: {} Laporan Resmi {}

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

Page 63: {} Laporan Resmi {}

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

Page 64: {} Laporan Resmi {}

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

Page 65: {} Laporan Resmi {}

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

Page 66: {} Laporan Resmi {}

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

Page 67: {} Laporan Resmi {}

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

Page 68: {} Laporan Resmi {}

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

Page 69: {} Laporan Resmi {}

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

Page 70: {} Laporan Resmi {}

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

Page 71: {} Laporan Resmi {}

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

Page 72: {} Laporan Resmi {}

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

Page 73: {} Laporan Resmi {}

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

Page 74: {} Laporan Resmi {}

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

Page 75: {} Laporan Resmi {}

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

Page 76: {} Laporan Resmi {}

}

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

Page 77: {} Laporan Resmi {}

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

Page 78: {} Laporan Resmi {}

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

Page 79: {} Laporan Resmi {}

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

Page 80: {} Laporan Resmi {}

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

Page 81: {} Laporan Resmi {}

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

Page 82: {} Laporan Resmi {}

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

Page 83: {} Laporan Resmi {}

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

Page 84: {} Laporan Resmi {}

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

Page 85: {} Laporan Resmi {}

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

Page 86: {} Laporan Resmi {}

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

Page 87: {} Laporan Resmi {}

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

Page 88: {} Laporan Resmi {}

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

Page 89: {} Laporan Resmi {}

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

Page 90: {} Laporan Resmi {}

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

Page 91: {} Laporan Resmi {}

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

Page 92: {} Laporan Resmi {}

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

Page 93: {} Laporan Resmi {}

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

Page 94: {} Laporan Resmi {}

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

Page 95: {} Laporan Resmi {}

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

Page 96: {} Laporan Resmi {}

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

Page 97: {} Laporan Resmi {}

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

Page 98: {} Laporan Resmi {}

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

Page 99: {} Laporan Resmi {}

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

Page 100: {} Laporan Resmi {}

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

Page 101: {} Laporan Resmi {}

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

Page 102: {} Laporan Resmi {}

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

Page 103: {} Laporan Resmi {}

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

Page 104: {} Laporan Resmi {}

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

Page 105: {} Laporan Resmi {}

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

Page 106: {} Laporan Resmi {}

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

Page 107: {} Laporan Resmi {}

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

Page 108: {} Laporan Resmi {}

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

Page 109: {} Laporan Resmi {}

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

Page 110: {} Laporan Resmi {}

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

Page 111: {} Laporan Resmi {}

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

Page 112: {} Laporan Resmi {}

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

Page 113: {} Laporan Resmi {}

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

Page 114: {} Laporan Resmi {}

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

Page 115: {} Laporan Resmi {}

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

Page 116: {} Laporan Resmi {}

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

Page 117: {} Laporan Resmi {}

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

Page 118: {} Laporan Resmi {}

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

Page 119: {} Laporan Resmi {}

{ // 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

Page 120: {} Laporan Resmi {}

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

Page 121: {} Laporan Resmi {}

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

Page 122: {} Laporan Resmi {}

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

Page 123: {} Laporan Resmi {}

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

Page 124: {} Laporan Resmi {}

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

Page 125: {} Laporan Resmi {}

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

Page 126: {} Laporan Resmi {}

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

Page 127: {} Laporan Resmi {}

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

Page 128: {} Laporan Resmi {}

Sehingga menjadi tampilan output seperti gambar 10.4 tersebut, anda bisa

mengatur sesuai keinginan anda.

116

Page 129: {} Laporan Resmi {}

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

Page 130: {} Laporan Resmi {}

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

Page 131: {} Laporan Resmi {}

} }

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

Page 132: {} Laporan Resmi {}

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

Page 133: {} Laporan Resmi {}

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

Page 134: {} Laporan Resmi {}

/** 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

Page 135: {} Laporan Resmi {}

//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

Page 136: {} Laporan Resmi {}

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

Page 137: {} Laporan Resmi {}

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

Page 138: {} Laporan Resmi {}

_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

Page 139: {} Laporan Resmi {}

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

Page 140: {} Laporan Resmi {}

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

Page 141: {} Laporan Resmi {}

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

Page 142: {} Laporan Resmi {}

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

Page 143: {} Laporan Resmi {}

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

Page 144: {} Laporan Resmi {}

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

Page 145: {} Laporan Resmi {}

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

Page 146: {} Laporan Resmi {}

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

Page 147: {} Laporan Resmi {}

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

Page 148: {} Laporan Resmi {}

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

Page 149: {} Laporan Resmi {}

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

Page 150: {} Laporan Resmi {}

"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

Page 151: {} Laporan Resmi {}

//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

Page 152: {} Laporan Resmi {}

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

Page 153: {} Laporan Resmi {}

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

Page 154: {} Laporan Resmi {}

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

Page 155: {} Laporan Resmi {}

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

Page 156: {} Laporan Resmi {}

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

Page 157: {} Laporan Resmi {}

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

Page 158: {} Laporan Resmi {}

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

Page 159: {} Laporan Resmi {}

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

Page 160: {} Laporan Resmi {}

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

Page 161: {} Laporan Resmi {}

} 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

Page 162: {} Laporan Resmi {}

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

Page 163: {} Laporan Resmi {}

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

Page 164: {} Laporan Resmi {}

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

Page 166: {} Laporan Resmi {}

LAMPIRAN

154