Anda di halaman 1dari 94

MODUL PRAKTIKUM

PEMROGRAMAN APLIKASI JAVA

Disusun Oleh :
Eka rahayu, S.Kom

SEKOLAH TINGGI TEKNIK HARAPAN


JURUSAN SISTEM INFORMASI
MEDAN
2013

i
KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah
memberikan waktu dan kesempatan, sehingga modul praktikum pemrograman aplikasi java
ini dapat terselesaikan seperti yang diharapkan.

Modul praktikum ini terdiri dari 16 modul, yang tiap modul saling berkaitan satu
dengan yang lainnya. Modul yang membahas tentang pemrograman dasar java dan contoh
membuat aplikasi sampai membuat laporan. Modul ini akan dikenalkan dengan bahasa java
dengan editor NetBeans IDE 7.0.1 dan iReport-4.0.2 yang akan membantu didalam
pembuatan program.

Semoga modul pemrograman ini dapat menjadi tutorial yang bermanfaat bagi
praktikan yang ingin memahami pemrograman bahasa java

Medan, 17 Oktober 2013

Penulis

ii
DAFTAR ISI

Judul ........................................................................................................................... i
Kata Pengantar ............................................................................................................ ii
Daftar Isi..................................................................................................................... iii
Daftar Tabel ................................................................................................................ 5
Daftar Gambar ............................................................................................................ 6
MODUL 1 PEMROGRAMAN DASAR DENGAN NETBEANS ............................... 1
1.1 Pengertian Java ............................................................................................. 1
1.2 NetBeans ....................................................................................................... 1
MODUL 2 PROGRAM DENGAN TIPE DATA DAN VARIABEL ........................... 5
2.1 Tipe Data ...................................................................................................... 5
2.2 Variabel ........................................................................................................ 6
MODUL 3 PROGRAM DENGAN OPERATOR ........................................................ 8
3.1 Operator ........................................................................................................ 8
3.2 Pernyataan Masukan Dan Keluaran Dalam Java ............................................ 8
MODUL 4 PROGRAM DENGAN KONDISI ............................................................ 12
4.1 Statemen If .................................................................................................... 12
4.2 Statemen If – Else ......................................................................................... 12
4.3 Statemen Switch – Case ................................................................................ 13
MODUL 5 PROGRAM DENGAN PERULANGAN .................................................. 16
5.1 Perulangan (While) ....................................................................................... 16
5.2 Perulangan Do – While ................................................................................. 16
5.3 Perulangan For .............................................................................................. 16
MODUL 6 PROGRAM DENGAN FUNGSI (METHOD) .......................................... 20
6.1 Fungsi (Method) ............................................................................................ 20
6.2 Fungsi Yang Menghasilkan Nilai................................................................... 20
6.3 Fungsi Yang Menerima Nilai........................................................................ 21
6.4 Fungsi Rekursif ............................................................................................. 21
MODUL 7 PROGRAM DENGAN ARRAY ............................................................... 25
7.1 Array ............................................................................................................. 25
7.1.1 Array Satu Dimensi ....................................................................................... 25
7.1.2 Array Dua Dimensi ....................................................................................... 26

iii
7.1.3 Array Tiga Dimensi ....................................................................................... 26
MODUL 8 PROGRAM DENGAN STRING .............................................................. 30
8.1 Fungsi String ................................................................................................... 30
MODUL 9 PEMROGRAMAN JAVA APPLICATION ........................................................ 33
9.1 GUI (Grafic User Interface) ........................................................................... 33
9.2 Dasar User Interface Dengan Swing .............................................................. 34
9.3 Java Application ............................................................................................ 34
MODUL 10 PEMROGRAMAN JAVA DESKTOP APPLICATION.................................... 39
10.1 Java Desktop Application ............................................................................... 39
MODUL 11 Mengenal jLabel, jTextField, jRadioButton dan jTextArea ......... 45
MODUL 12 Mengenal ChekBox, ComboBox dan jList ......................................... 48

MODUL 13 Mengenal jMenuBar dan jMenuItem .................................................. 53

MODUL 14 MEMBUAT LOGIN DATABASE ............................................... 56


14.1 Database ......................................................................................................... 56
14.2 JDBC ............................................................................................................. 56
A. Membuat database Admin......................................................................... 56
B. Membuat Class Koneksi ........................................................................... 56
C. Membuat form Login ................................................................................ 57
MODUL 15 MEMBUAT APLIKASI DATA PASIEN ......................................................... 60
A. Membuat tabel ......................................................................................... 60
B. Membuat form data Dokter ....................................................................... 61
C. Membuat form data Pasien........................................................................ 66
MODUL 16 MEMBUAT LAPORAN DATA PASIEN ........................................................ 74
16.1 Jasperreports ................................................................................................. 74
16.2 iReport .......................................................................................................... 74
A. Integrasi Jasperreports dan NetBeans. ....................................................... 74
B. Membuat Folder iReport ........................................................................... 76
C. Memasang Koneksi di iReport .................................................................. 77
D. Membuat Report Pasien ............................................................................ 78
E. Membuat Frame Form Laporan................................................................. 83
DAFTAR PUSTAKA ................................................................................................. 86

iv
DAFTAR TABEL

Tabel 2.1 Tipe data dasar pada bahasa pemrograman Java.......................................... 5


Tabel 2.2 Tipe data bentuk (reference) pada Java ....................................................... 5
Tabel 3.1 Operator keutamaan.................................................................................... 8
Tabel 4.1 Sintaks If ..................................................................................................... 12
Tabel 4.2 Eksperesi logika .......................................................................................... 12
Tabel 4.3 Sintaks If-Else ............................................................................................. 12
Tabel 4.4 Sintaks Switch – Case.................................................................................. 13
Tabel 5.1 Sintaks while ............................................................................................... 16
Tabel 5.2 Sintaks Do-While ........................................................................................ 16
Tabel 5.3 Sintaks For .................................................................................................. 16
Tabel 6.1 Sintak mendeklarasikan fungsi .................................................................... 20
Tabel 8.1 Konstruktor Klas String ............................................................................... 30
Tabel 11.1 komponen ................................................................................................. 46
Tabel 14.1 Admin ....................................................................................................... 56
Tabel 15.1 Dokter ....................................................................................................... 60
Tabel 15.2 Pasien ........................................................................................................ 60

v
DAFTAR GAMBAR

Gambar 1.1 Tampilan jendela New Project ................................................................. 2


Gambar 1.2 Tampilan jendela New Java Application .................................................. 2
Gambar 1.3 Tampilan Project Prak_01 ........................................................................ 3
Gambar 1.4 Tampilan Output Class latihan_01 .......................................................... 3
Gambar 1.5 Tampilan Output Class latihan_02 .......................................................... 4
Gambar 2.1 Tampilan Output Class tipe_data............................................................. 6
Gambar 2.2 Tampilan Output Class variable .............................................................. 7
Gambar 3.1 Tampilan Output Class Prak_01 .............................................................. 10
Gambar 3.2 Tampilan Output Class Jumlah ............................................................... 11
Gambar 4.1 Tampilan Output Class if ........................................................................ 14
Gambar 4.2 Tampilan Output Class if – else .............................................................. 14
Gambar 4.3 Tampilan Output Class CaseJurusan ....................................................... 15
Gambar 5.1 Tampilan Output Class perulangan_01 ..................................................... 17
Gambar 5.2 Tampilan Output Class perulangan_02 ..................................................... 18
Gambar 5.3 Tampilan Output Class perulangan_03 ..................................................... 18
Gambar 6.1 fungsi mengasilkan/mengirimkan nilai ke program utama ........................ 21
Gambar 6.2 Tampilan Output Class method_01 .......................................................... 22
Gambar 6.3 Tampilan Output Class method_02 .......................................................... 23
Gambar 6.4 Tampilan Output Class rekursif_03 .......................................................... 23
Gambar 7.1 Array satu-dimensi dengan 10 elemen ...................................................... 25
Gambar 7.2 Array dua-dimensi ukuran 3x4 ................................................................. 26
Gambar 7.3 Ilustrasi array tiga-dimensi ....................................................................... 27
Gambar 7.4 Tampilan Output Class array_01 .............................................................. 28
Gambar 7.5 Tampilan Output Class array_02 .............................................................. 29
Gambar 8.1 Tampilan Output Class string_01 ............................................................. 31
Gambar 8.2 Tampilan Output Class string_02 ............................................................. 32
Gambar 9.1 Tampilan Hirarki komponen Swing ......................................................... 33
Gambar 9.2 Tahapan membuat Class baru................................................................... 35
Gambar 9.3 Tampilan Output Class swing_01............................................................. 35
Gambar 9.4 Tampilan Output Class gui_swing01 ........................................................ 38
Gambar 10.1 Tampilan New Desktop Application ...................................................... 39
Gambar 10.2 Tampilan Form JavaGUIView ............................................................... 40
Gambar 10.3 Tampilan Form JavaGUIApp ................................................................. 40
Gambar 10.4 Tampilan Form JavaGUIView saat di jalankan ...................................... 41
Gambar 10.5 Tampilan Form latihan1 ......................................................................... 41
Gambar 10.6 Tampilan Design Form latihan1 ............................................................. 42
Gambar 10.7 Tampilan seleksi Form latihan1 ............................................................. 42
Gambar 10.8 Tampilan Design Form JavaGUIView ................................................... 43
Gambar 10.9 Tampilan jMenuItem1 ........................................................................... 43
Gambar 10.10 Tampilan Form JavaGUIView saat d ijalankan .................................... 42

vi
Gambar 11.1 Tampilan Form latihan_01 ..................................................................... 45
Gambar 11.2 Tampilan Design Form latihan_01 ......................................................... 45
Gambar 11.3 Tampilan jendela Rename ...................................................................... 46
Gambar 11.4 Tampilan Design Form latihan_01 ......................................................... 46
Gambar 11.5 Tampilan Form latihan_01 saat dijalankan ............................................. 47
Gambar 12.1 Tampilan Design Form latihan02 ........................................................... 48
Gambar 12.2 Tampilan tab Inspector........................................................................... 48
Gambar 12.3 Tampilan Form latihan02 saat di jalankan .............................................. 50
Gambar 12.4 Tampilan Design Form latihan03 ........................................................... 51
Gambar 12.5 Tampilan Model pada komponen jList1 ................................................. 51
Gambar 12.6 Tampilan tab Inspector........................................................................... 51
Gambar 12.7 Tampilan Form latihan_03 saat di jalankan ............................................ 52
Gambar 13.1 Tampilan awal Form Menu Bar.............................................................. 53
Gambar 13.2 Tampilan jendela Accelerator................................................................. 54
Gambar 13.3 Tampilan Design Form Menu Bar .......................................................... 54
Gambar 13.4 Tampilan tab Inspector........................................................................... 54
Gambar 13.5 Tampilan tab Properties ......................................................................... 55
Gambar 13.6 Tampilan Form Menu Bar saat di jalankan ............................................. 55
Gambar 14.1 Tampilan Design Form Login ................................................................ 57
Gambar 14.2 Tampilan tab Inspector pada form login ................................................. 58
Gambar 14.3 Tampilan form login saat di jalankan ..................................................... 59
Gambar 14.4 Tampilan form Menu Utama .................................................................. 59
Gambar 15.1 relasi antar tabel Dokter dan tabel Pasien ............................................... 60
Gambar 15.2 Tampilan desain form data dokter .......................................................... 61
Gambar 15.3 Tampilan cara menggunakan JTable ...................................................... 61
Gambar 15.4 Cara mengganti name pada jScrollPane1 ................................................ 61
Gambar 15.5 Tampilan Customer Dialog. ................................................................... 62
Gambar 15.6 Tampilan tab Inspector data dokter ........................................................ 62
Gambar 15.7 Tampilan desain form data pasien .......................................................... 66
Gambar 15.8 Tampilan tab Inspector data pasien ........................................................ 66
Gambar 15.9 Desain Form Menu Utama ..................................................................... 71
Gambar 15.10 Desain tab Inspector ............................................................................. 71
Gambar 15.11 Project Aplikasi Pasien ........................................................................ 72
Gambar 15.12 Script Form PasienApp ........................................................................ 72
Gambar 15.13 Tampilan Form Login .......................................................................... 72
Gambar 15.14 Tampilan Form Menu Utama ............................................................... 73
Gambar 15.15 Tampilan Form Data Dokter ................................................................ 73
Gambar 15.16 Tampilan Form Data Pasien ................................................................. 73
Gambar 16.1 Tampilan jendela New Library............................................................... 74
Gambar 16.2 Tampilan Jendela Library jasperreport tab Classpath.............................. 75
Gambar 16.3 Tampilan Jendela Library jasperreport tab Sources ................................ 75
Gambar 16.4 Tampilan Jendela Library jasperreport tab Javadoc ................................ 76
Gambar 16.5 Tampilan library .................................................................................... 76
Gambar 16.6 Tampilan Package Report ...................................................................... 76

vii
Gambar 16.7 Tampilan Utama iReport ........................................................................ 77
Gambar 16.8 Tampilan Jendela Datasource ................................................................. 77
Gambar 16.9 Tampilan Jendela Database JDBC connection ........................................ 77
Gambar 16.10 Tampilan Jendela Library jasperreport tab Classpath............................ 78
Gambar 16.11 Tampilan Jendela Layout report ........................................................... 78
Gambar 16.12 Tampilan Jendela koneksi database ...................................................... 79
Gambar 16.13 Tampilan Jendela Relasi Tabel ............................................................. 79
Gambar 16.14 Tampilan kotak Field yang digunakan .................................................. 80
Gambar 16.15 Tampilan kotak Desain ........................................................................ 80
Gambar 16.16 Tampilan Jendela Rename Parameter ................................................... 80
Gambar 16.17 Tampilan Desain Laporan .................................................................... 81
Gambar 16.18 Tampilan Desain Laporan .................................................................... 81
Gambar 16.19 Tampilan Desain Laporan .................................................................... 82
Gambar 16.20 Tampilan Jendela Report query ............................................................ 82
Gambar 16.21 Tampilan Preview Form Parameter ...................................................... 83
Gambar 16.22 Tampilan Preview Form Laporan Data Pasien ...................................... 83
Gambar 16.23 Tampilan desain form laporan_p .......................................................... 83
Gambar 16.24 Tampilan tab Inspector form laporan_p ................................................ 84
Gambar 16.25 Tampilan desain form menu utama....................................................... 85
Gambar 16.26 Tampilan form laporan_p ..................................................................... 85
Gambar 16.27 Tampilan laporan data pasien ............................................................... 85

viii
MODUL 1
PEMROGRAMAN DASAR DENGAN NETBEANS

Mahasiswa mampu memahami tentang dasar-dasar pemrograman dan


mengimplementasikan program sederhana dengan Netbeans.

1.1 Pengertian Java


Java merupakan bahasa pemrograman berorientasi objek dan bebas platform,
dikembangkan oleh SUN Micro System dengan sejumlah keunggulan yang
memungkinkan java dijadikan sebagai bahasa pengembangan enterprise.
Teknologi java yang dibahas pada modul ini adalah J2SE (Standard Edition), yaitu
pemrograman java pada PC. J2SE merupakan teknologi yang dirancang untuk berjalan
di atas PC dan workstation yang dapat berjalan di latform system operasi Linux,
Windows, dll.

1.2 NetBeans
NetBeans adalah Integrated Development Environment (IDE) berbasiskan Java dari
Sun Microsystems yang berjalan di atas Swing. Swing sebuah teknologi Java untuk
pengembangan aplikasi Desktop yang dapat berjalan di berbagai macam platforms
seperti Windows, Linux, Mac OS X and Solaris.
Suatu IDE adalah lingkup pemrograman yang diintegrasikan kedalam suatu aplikasi
perangkat lunak yang menyediakan pembangun Graphical User Interface (GUI), suatu
text atau kode editor, suatu compiler atau interpreter dan suatu debugger. Netbeans
merupakan software development yang Open Source, dengan kata lain software ini di
bawah pengembangan bersama dan bebas biaya.
Beberapa fungsi yang terdapat dalam pemrograman java, yaitu :
- Public : mengidikasikan anggota kelas dapat diakses dari manapun di dalam
program tersebut.
- Void : menjelaskan kepada compiler bahwa fungsi tidak mengembalikan nilai
apapun manakala melakukan eksekusi.
- Static : mengijinkan main untuk di panggil tanpa harus menciptakan dan kejadian
(instance0 kelas itu.
- Main : fungsi yang melaksanakan tugas tertantu dan hal ini merupakan titik awal
dari semua aplikasi java

1
1.3 Pelaksanaan Praktikum
Langkah – langkah praktikum
1. Pilih Start  Program NetBeands
2. Muncul tampilan awal. Kemudian pilih menu bar File  New Project
mucul layar dibawah ini :

Gambar 1.1 Tampilan jendela New Project

3. Pilih Categories: Java dan Projects: Java Application  Next


Akan mucul layar sebagai berikut :

Gambar 1.2 Tampilan jendela New Java Application

4. Tulis nama project pada sisian Project Name


5. Pilih lokasi penyimpanan pada isian Projeck Location. Bisa menuliskan
lokasinya atau menggunakan tombol Browser.

2
6. Centang Set as Main Project, ini digunakan untuk menjadi project utama.
7. Centang Create Main Class, ini digunakan jika langsung membuat kelas main
dan bisa mengganti nama kelasnya.
8. Kemudian klik finish.

Gambar 1.3 Tampilan Project Prak_01

9. Kemudian ketikkan program di dalam blok main()


System.out.println(“Program Pertama Saya !!”);
10. pilih run Akan terjadi proses kompilasi. Perhatikan bagian tab Output. Jika
berhasil, tidak ada kesalahan akan muncul tampilan sebagai berikut :

Gambar 1.4 Tampilan Output Class latihan_01

11. Untuk menambah kelas baru. Klik kanan ;project Prak_01 New  java clas.
12. Kemudian tuliskan nama kelasnya. Dalam contoh ini diberi nama latihan_02 
Finish
13. Ketikan program di bawah ini pada blok main()

3
14. kemudian jalankan dengan cara klik kanan kelas latihan_02  Run. Tampilan
program setelah di run main project

Gambar 1.5 Tampilan Output Class latihan_02

Berikut gambar penjelasan dari listing program :

1.4 Tugas

1. Buatlah project baru dengan nama Praktikum1 dan kelas baru dengan nama
Prog_01. Ketikkan program berikut :
BIODATA PRIBADI
=============================
Nama : Eka Rahayu
NPM : 08370026
Jurusan : Sistem Informasi
Mata Kuliah : Pemrograman Java

2. Lengkapi program diatas dengan menambah jenis kelamin, alamat.

4
MODUL 2
PROGRAM DENGAN TIPE DATA DAN VARIABEL

Modul 2 membahas tentang statement output dengan print dan println dan mengenal
penggunaan variable.

2.1 Tipe Data


Bahasa Pemrograman Java adalah bahasa pemrograman yang selalu menggunakan
tipe data untuk setiap variabelnya. Itu berarti bahwa semua variabel harus
dideklarasikan terlebih dahulu sebelum mereka digunakan. Tipe data dibedakan
menjadi dua ketegori :
 Tipe data dasar (Primitive)
 Tipe data bentukan (Reference)
Tabel 2.1 Tipe data dasar pada bahasa pemrograman Java
Nama tipe data Memori Keyword
Integer 4 byte Int
Short integer 2 byte Short
Long integer 8 byte Long
Byte-length integer 1 byte Byte
Single-precision floating-point 4 byte Float
Double-precision floating-point 8 byte Double
Single character 1 byte Char
Boolean value (true or false) True or false Boolean

Tabel 2.2 Tipe data bentuk (reference) pada Java


Nama tipe data Uraian
Array Suatu koleksi dari beberapa materi menyangkut tipe data
yang sama. Sebagai contoh :
 Nama para siswa
 Suhu udara dalam 1 minggu
Class Suatu koleksi metode dan variable. Sebagai contoh :
 Kelas siswa, berisi tentang rincian yang lengkap

5
menyangkut siswa, dan metode yang
membedahkan/beroperasi pada rincian itu.
 Kelas pelanggan, berisi tentang rincian yang lengkap
menyangkut pelanggan, dan metode yang
membedah/beroperasi pada rincian itu, seperti
pencetakan faktur.
Interface Suatu kelas abstrak yang diciptakan untuk menerapkan
berbagai warisan di program java.

Latiahan_01 :
public class tipe_data{
public static void main(String args[]){
float a = 3.14f;
int b = (int) a + 10; Konversikan nilai
System.out.println("Hasil penjumlahan a dan b adalah "+b);
}
}
Program diatas contoh konversi tipe data float menjadi integer. Pengkonversian
ini menggunakan konsep tipe data. Nilai float di dalam a dikonversikan untuk
suatu bilangan bulat : 3.14 dan nilai a menambahkan dengan 10, hingga
menghasilkan nilai 13, yang disimpan di dalam variable b.

Hasil Output :

Gambar 2.1 Tampilan Output Class tipe_data

2.2 Variabel
Variabel digunakan dalam program untuk menyimpam suatu nilai, dan nilai yang
ada padanya dapat diubah selama ekseskusi berlangsung. Di dalam java, untuk
menyimpan suatu nilai, seperti numeric, konstanta atau string harus melalui nama
variabel yang harus di deklarasikan. Deklarasikan variabel merupakan suatu bentuk
pemberitahuan kepada compiler tentang nama variabel.
Tipe_data nama_variabel [=nilai];
Contoh : float jumlah;
const float PHI = 3.14;

6
Latiahan_02 :
public class variable{
public static void main(String args[]){
// Deklarasi Variabel
int i;
long x;
double y;
float c;
// Pengisian Nilai
i = 12423;
x = 738;
y = 14.576;
c = 34.123f;
// Mencetak Nilai
System.out.println("Nilai i : "+i);
System.out.println("Nilai x : "+x);
System.out.println("Nilai y : "+y);
System.out.println("Nilai c : "+c);
}
}

Hasil Output :

Gambar 2.2 Tampilan Output Class variable

7
MODUL 3
PROGRAM DENGAN OPERATOR

Modul 3 membahas tentang proses dengan mengenal operator pada pemrograman java
dan mengenal statement input.

3.1 Operator
Operator merupakan tanda/symbol operasi. Operator digunakan untuk menuliskan
suatu statemen dalam bahasa pemrograman. Dalam program keberadaan operator dalam
suatu ungkapan dievaluasi. Hal ini di maksud untuk menetukan operator mana yang
harus dikerjakan terlebih dahulu dan operator mana yang terakhir dikerjakan. Penetapan
pekerjaan operator tersebut sudah diatur dalam operator keutamaan.
Tabel 3.1 Operator keutamaan
Order Operator Contoh
1 Operator unary +, -, + +, - - dan %
2 Operator aritmatika dan geser *, /, +, -, < <, > >
3 Operator relasional >, <, > =, < =, = =, ! =
4 Operator logis dan bitwise &&, ||, &, |, ^
5 Operator tugas =, * =, / =, + =, - =

Contoh :
X=2+3*4
Berapakah nilai ungkapan itu? 14 atau 20? Berdasarkan table operator bisa kita
tebak hasil ungkapan 2 + 3 * 4 adalah 14. Hal ini dikarenakan operator perkalian
memiliki keutamaan yang lebih tinggi dibandingkan operator penjumlahan. Sehingga 3
* 4 dikerjakan terlebih dahulu, kemudian hasil ditambahkan dengan 2.
X = (2 + 3) * 4
Apabila sebuah operator ingin dikerjakan terlebih dahulu, maka letakkan operasi
itu di dalam tanda kurung. Dengan demikian, nilai ungkapan X = 2 + 3 * 4 tidak lagi 14
melainkan 20.

3.2 Pernyataan Masukan Dan Keluaran Dalam Java


Dalam bahasa pemrograman Java, kita akan menggunakan pernyataan masukan
dan keluaran. Pernyataan masukan adalah pernyataan untuk mendapatkan masukan dari

8
keyboard. Sedangkan pernyataan keluaran adalah pernyataan untuk menampilkan
sesuatu nilai ke layar.
1. Komponen keluaran
Untuk menampilkan ke layar secara tekstual, java mempunyai fasilitas output, yaitu
dengan perintah :
System.out.print( hal yang akan ditampilkan, bisa lebih dari satu);
untuk menampilkan ke layar dan setelah selesai tidak berpindah baris. Akibatnya
perintah keluaran berikutnya akan ditampilkan pada baris yang sama. Dan perintah:
System.out.println(hal yang akan ditampilkan, bisa lebih dari satu);
untuk menampilkan ke layar dan setelah selesai berpindah baris. Akibatnya
perintah keluaran setelah itu akan ditampilkan pada baris berikutnya.
System.out.println(“Hasil penjumlahan “+hasil);
Untuk menampilkan isi variabel hasil.
2. Komponen masukan
Untuk memasukkan sebuah nilai ke variabel yang sudah didefinisikan digunakan
kelas Scanner.
 Input data bertipe Integer
Untuk menginputkan data dengan tipe integer digunakan method nextInt di
dalam kelas Scanner.
 Input data bertipe String
Untuk menginputkan data dengan tipe integer digunakan method nextInt di
dalam kelas Scanner.
 Input tipe yang lain
Untuk input data dari keyboard dengan tipe yang lain dan disediakan oleh kelas
Scannr adalah sebagai berikut
 nextBoolean : input tipe boolean (true atau false saja)
 nextShort : input tipe short integer
 nextLong : input tipe long integer
 nextFloat : input tipe float
 nextDouble : input tipe double

3.3 Pelaksanaan Praktikum


Buatlah program seperti berikut :

9
Latihan 1_1 :
1. Buka project baru. Kemudian buat class dengan nama Prak_02
2. Ketikkan lah listing program dibawah ini :
//Program aritmatika untuk menjumlahkan 3 buah bilangan

public class Prak_01 {


public static void main (String[] args) {
int A, B, C, hasil1, hasil2;
A = 5;
B = 9;
C = 2;
hasil1 = 5 + 9 * 2;
hasil2 = (5 + 9) * 2;
System.out.println(" Diberikan nilai integer :");
System.out.println(" A = " +A);
System.out.println(" B = " +B);
System.out.println(" C = " +C);
System.out.println("Nilai 5 + 9 * 2 adalah " +hasil1);
System.out.println("Nilai (5 + 9) * 2 adalah " +hasil2);
} }

Hasil Output :

Gambar 3.1 Tampilan Output Class Prak_01

Latihan 1_2 :
1. Buatlah class baru dengan nama Jumlah
2. Kemudian ketikkan lah listing program dibawah ini :
// Program aritmatika untuk mengitung 2 buah bilangan yang diinput dari
keyboard

import java.util.Scanner;
public class Jumlah{
public static void main(String args[]){
Scanner masuk = new Scanner(System.in);
int A,B ;
System.out.print("Bilangan 1 : ");
A = masuk.nextInt();
System.out.print("Bilangan 2 : ");
B = masuk.nextInt();
System.out.println("Jumlah = " + (A + B));
} }

10
Hasil Output :

Gambar 3.2 Tampilan Output Class Jumlah

3.4 Tugas
Dengan menggunkan operator aritmatika buatlah untuk menjumlahkan, mengalikan,
membagi dan sisa pembagian dari 2 bilangan yang disimpan dan diinpukan dengan
keyboard, output yang diingikan sebagai berikut :
1. Hasil Output 2. Hasil Ouput

3. Buat program yang meminta inputan jari-jari, yang kemudian dihitung dan
ditampilkan luas dan keliling lingkaran tersebut. (mis : input jari-jari = 4)

11
MODUL 4
PROGRAM DENGAN KONDISI

Modul 4 membahas tentang pernyataan seleksi dalam pemrograman java dengan


menggunakan statemen If, If – Else, dan Switch – Case.

4.1 Statemen If
Statemen if digunakan untuk menguji hasil dari suatu kondisi. Pada statemen if ini,
hasil pengujian yang diharapkan adalah ungkapan Boolean yang benar (True) saja.

Tabel 4.1 Sintaks If


Sintaks if

If (ekspresi-kondisi) { If (a == 1) {
Pernyataan;
System.out.println (“Nilai A = 1”);
}
Penjelasan :
A merupakan kondisi yang diperiksa oleh if untuk menentukan apakah blok pada
if dijalankan atau tidak, perintah-perintah pada blok if dijalankan jika kondisi A
bernilai benar.

Tabel 4.2 Eksperesi logika


Ekspresi logika Bernilai true jika
a==1 a bernilai 1
a >= 1 a lebih besar atau sama dengan 1

4.2 Statemen If – Else


Penyeleksian if-else digunakan untuk mengecek kebenaran nilai sebuah ekspresi
logika. Blok IF akan dijalankan jika ekspresi yang bernilai TRUE. Tapi jika salah, blok
ELSE-lah yang akan dijalankan.
Tabel 4.3 Sintaks If-Else
Sintak if-else
if (ekspresi-kondisi) {
Pernyataan;
}
else{
Pernyataan;
}
Penjelasan :
Perintah dijalankan jika kondisi yang diperiksa IF benar ditempatkan pada blok
IF(). Adapun perintah yang akan dijalankan jika kondisi yang diperiksa oleh IF
tidak benar ditempatkan pada blok ELSE.

12
4.3 Statemen Switch – Case
Penyeleksian swich digunakan untuk memeriksa nilai-nilai yang mungkin dari
sebuah ekspresi. Ekspresi yang diperiksa haruslah bertipe int, short, char.
Sintak penyeleksian kondisi dengan swich adalah :

Tabel 4.4 Sintaks Switch – Case


Sintak switch case
switch (ungkapan)
{
case ungkapan1:
pernyataan1;
break;
case ungkapan2:
pernyataan2;
break;
.................
default:
pernyataan_x;
}
Penjelasan :
- ungkapan1, ungkapan2 dan seterusnya dilakukan secara berurutan dimulai
dari yang pertama, sekiranyanya cocok pernyataan yang mengikuti case
dijalankan.
- break ditemukan dari eksekusi pernyataan switch berakhir
- default hanya akan dijalankan jika ungkapan pada bagian case tidak ada yang
cocok.

4.4 Pelaksanaan Praktikum


Buatlah program berikut ini :
Latihan kondisi_01 :
1. Buatlah Project baru. Dan class baru dengan nama Prak_02
2. Kemudian ketikkan lah listing program dibawah ini :
// Program untuk menyeleksi nilai akhir mata kuliah dengan menggunakan if - else

import java.util.Scanner;
public class if {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
int nilai;
System.out.print("Masukkan nilai akhir mata kuliahnya :");
nilai = masukan.nextInt();
if (nilai < 55)
System.out.println("Mahasiwa tersebut tidak lulus");
else
System.out.println("Mahasiwa tersebut lulus");
}}

13
Hasi Ouput :

Gambar 4.1 Tampilan Output Class if

Penjelasan program :
Jika diinputkan nilai < 55, maka akan muncul keterangan mahasiswa tersebut tidak
lulus, tetapi jika nilai > atau = 55, maka muncul keterangan mahasiswa tersebut
lulus.

Latihan kondisi_02:
// Program untuk menyeleksi nilai akhir mata kuliah menggunakan if - else

import java.util.Scanner;
public class if - else {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
System.out.print("Masukkan nilai mata kuliahnya :");
int nilai = masukan.nextInt();
if (nilai >= 80)
System.out.println("Nilainya A");
else if (nilai >= 70)
System.out.println("Nilainya B");
else if (nilai >= 55)
System.out.println("Nilainya C");
else if (nilai >= 40)
System.out.println("Nilainya D");
else
System.out.println("Nilainya E");
}}

Hasil output :

Gambar 4.2 Tampilan Output Class if - else


Latihan kondisi_03 :
// Program untuk menyeleksi dengan menu pilihan menggunakan Switch - Case

import java.util.Scanner;
public class CaseJurusan {
public static void main(String args[]){
Scanner masuk = new Scanner(System.in);

14
int pil;
System.out.print("Masukkan pilihan : ");
pil = masuk.nextInt();
switch (pil) {
case 1:System.out.println("Jurusan SI/D3");break;
case 2:System.out.println("Jurusan TK/D3");break;
case 3:System.out.println("Jurusan KA/D3");break;
case 4:System.out.println("Jurusan TI/S1");break;
case 5:System.out.println("Jurusan SI/S1");break;
default: System.out.println("Pilihan Salah!!!");
break;
}
} }

Hasil Output :

Gambar 4.3 Tampilan Output Class CaseJurusan

4.5 Tugas

1. Buatlah program inputan memilih menu empat persegi panjang dan melakukan
proses perhitungan menggunakan perulangan switch case. Output seperti
gambar dibawah ini :

2. Buatlah 2 program input-an dengan menentukan 7 buah bilangan terbesar &


terkecil, dan 2 buah bilangan bulat & ganjil dengan menggunakan kondisi IF –
ELSE.

15
MODUL 5
PROGRAM DENGAN PERULANGAN

Modul 5 membahas tentang pemrograman java menggunakan perulangan While, Do –


While, dan For.

5.1 Perulangan (While)


Perulangan while digunakan untuk mengulangi eksekusi sebuah blok selama
kondisi tertentu masih berlaku (bernilai TRUE).
Sintaks bentuk perulangan while dinyatakan sebagai berikut :
Tabel 5.1 Sintaks while
while (kondisi) {
//body while
}
Penjelasan :
Kondisi menentukan kapan looping while berhenti. Looping akan terus dilakukan sampai
kondisi bernilai salah.
Body while isi dari statement-statement yang ingin di looping

5.2 Perulangan Do – While


Perulangan do-while digunakan untuk mengeksekusi sebuah blok selama kondisi
tertentu. Perulangan ini mirip dengan perulangan while. Bedanya adalah pada
perulangan do-while tidak diperiksa dulu. Perulangan while, semua perulangan
diperiksa, termasuk perulangan yang pertama kali.
Tabel 5.2 Sintaks Do-While
do {
//body while
}
While (A);
Penjelasan :
A merupakan kondisi (ekspresi logika) yang menentukan kapan looping while berhenti.
Selama A bernilai benar, looping akan terus dilakukan.
Body while isi dengan statement-statement yang ingin di looping.

5.3 Perulangan For


Perulangan for digunakan untuk mengulang eksekusi sebuah blok beberapa kali.
Tabel 5.3 Sintaks For
For (ekspresi awal, kondisi, ekspresi penilaian)
{

16
Statement aksi;
:
:
}
Penjelasan :
ekspresi awal merupakan perintah yang pertama kali dijalankan oleh for
sebelum melakukan looping.
Kondisi merupakan kondisi untuk menentukan kapan looping for berhenti.
Looping akan terus terjadi sampai kondisi bernilai salah.
ekspresi penilaian digunakan untuk menaikkan nilai variable perulangan..
Statement aksi blok tempat dimana untuk menulis program yang ingin di
looping.

5.4 Pelaksanaan Praktikum


Latihan perulangan_01 :
// Program perulangan untuk mengurutkan nilai bilangan genap dari 2 – 10 menggunakan
While

import java.util.Scanner;
public class perulangan_01 {
public static void main(String args[]) {
Scanner masuk = new Scanner(System.in);
int bil;
bil=2;
while (bil<=10) {
System.out.println(bil);
bil+=2;
} }
}

Hasil Output :

Gambar 5.1 Tampilan Output Class perulangan_01

Latihan perulangan_02 :
// Program perulangan untuk mengitung nilai factorial yang diinput dari keyboard
menggunakan Do - While

import java.util.Scanner;
public class perulangan_02 {
public static void main(String args[]) {
int N, i, jumlah;

17
i = 1;
jumlah = 0;
Scanner masuk = new Scanner(System.in);
System.out.print("Masukkan jumlah N = ");
N = masuk.nextInt();
do {
jumlah = jumlah + i;
i++; }
while ( i <= N);
System.out.println("Jumlah deret"+N+" Adalah = "+jumlah);
} }

Hasil Output :

Gambar 5.2 Tampilan Output Class perulangan_02

Latihan perulangan_03
// Program perulangan untuk mengitung nilai yang diinput dari keyboard menggunakan For

import java.util.Scanner;
public class perulangan_03 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
System.out.print("Masukkan batas bilangannya : ");
int batas = masukan.nextInt();
int hasil = 0;
for(int i=1; i<=batas; i++)
hasil += i;
System.out.println("Total jumlahnya adalah : " + hasil);
} }

Hasil Output :

Gambar 5.3 Tampilan Output Class perulangan_03

18
5.5 Tugas

1. Buatlah program mencetak konversi suhu dari celcius ke fahreinhet mulai dari 1
sampai 10 dengan membuat tabel. Hasil output seperti gambar dibawah ini :

2. Buatlah sebuah program untuk menampilkan deret bilangan prima, dengan


memasukkan batas atas dan batas bawah.

19
MODUL 6
PROGRAM DENGAN FUNGSI (METHOD)

Modul 6 membahas tentang fungsi pada program Java dan fungsi yang mengembalikan
suatu nilai, tidak mengembalikan nilai dan fungsi rekursi.

6.1 Fungsi (Method)


Fungsi adalah satuan-satuan, seperti program untuk melakukan tugas-tugas
tertentu yang menghasilkan suatu nilai untuk dikembalikan ke program pemanggil.
Dalam suatu program, fungsi dibuat terpisah dengan program pemanggil (main()).
Tabel 6.1 Sintak mendeklarasikan fungsi
Access_specifier modifier datatype method_name
(parameter_list)
{
// badan fungsi
}
Penjelasan :
Access_specifier : batas akses untuk fungsi. Batas akses bias berupa (public,
protected, private).
Modifier : penetapan kita tentang perilaku tugas untuk fungsi itu. Seperti (static,
abstract, final, native.
Datatype : tipe data dari nilai yang dikembalikan fungsi. Jika tidak ada nilai yang
dikembalikan, tipe data ditulis void.
method_name : nama dari fungsi
parameter_list : berisi nama parameter yang sedang diberikan kepada fungsi, dan
tipe datanya. Tanda koma memisahkan berbagai parameter.

6.2 Fungsi Yang Menghasilkan Nilai


Fungsi yang bias menghasilkan nilai merupakan suatu fungsi yang tidak
membutuhkan argument, tetapi fungsi itu bias menghasilkan nilai. Untuk membuat
fungsi seperti itu, maka didalam fungsi yang bisa menghasilkan nilai itu perlu
ditambahkan satu bari untuk statement return(). Fungsi yang menghasilkan nilai sama
dengan fungsion yang mengembalikan nilai adalah suatu sub rutin yang bila dipanggil
oleh suatu program (argumen) maka argumen tersebut akan memperoleh nilai balikan
dari function tersebut. Atau dengan kata lain, suatu function yang mempunyai nilai.

20
main()
{ fungsi()
statement1 {
: statement1
jwb = fungsi(); X = 5;
return (x);
statement2 }
:
} Nilai x yaitu 5, dikirim kembali ke program
panggilan dan dimasukkan ke jwb

Gambar 6.1 fungsi mengasilkan/mengirimkan nilai ke program utama

Statement return()
Kegunaan statemen return() ada dua, yaitu :
1. Pelaksanaan statemen ini akan langsung mangalihkan control dari fungsi ke
program panggilannya.
2. Apapun yang ada didalam tanda kurung buka-tutup dibelakang return akan dikirim
kembali sebagai suatu nilai kepada program pemanggilnya.

6.3 Fungsi Yang Menerima Nilai


Fungsi yang menerima nilai yaitu fungsi yang bias menerima nilai dari fungsi
lain. Fungsi yang menerima nilai sama dengan fungsi yang tidak mengembalikan nilai
bentuknya sangat mirip dengan function yang mengembalikan nilai. Perbedaannya
adalah penggunaan kata kunci atau klausa void pada fungsi yang tidak mengembalikan
nilai baik pada bahasa C++ maupun bahasa Java.

6.4 Fungsi Rekursif


Rekursi merupakan kemampuan yang memiliki suatu fungsi untuk memanggil
dirinya sendiri, secara langsung maupun tidak langsung. Pemanggilan dirinya sendiri
mempunyai arti bahwa didalam fungsi tersebut terdapat statemen yang memanggi.
Dirinya sendiri. Berikut ini adalah contoh dari konsep recurse() yang berkemampuan
untuk memanggil dirinya sendiri secara langsung dan tidak langsung.

Fungsi rekursi secara langsung Fungsi rekursi secara tidak langsung


recurse ([parameter]) recurse ([parameter])
{ {
// statemen; // statemen;
Recurce([parameter]) test([parameter])
// statemen; // statemen;
} }

21
6.5 Pelaksanaan Prektikum
Latihan_01 :
// PROGRAM METHOD YANG MENGEMBALIKAN SUATU NILAI

import java.util.*;
public class method_01 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
int bil1, bil2, bil3;
System.out.println("Program Menjumlahkan 3 bilangan");
System.out.print("Masukkan bilangan 1 : ");
bil1 = masukan.nextInt();
System.out.print("Masukkan bilangan 2 : ");
bil2 = masukan.nextInt();
System.out.print("Masukkan bilangan 3 : ");
bil3 = masukan.nextInt();
System.out.println();
System.out.println("HASIL BILANGAN : ");
System.out.println("==================== ");
System.out.println();
System.out.println("Jumlah bil1 + bil2 :
"+(jumlah(bil1,bil2)));
System.out.println("Jumlah bil2 + bil3 :
"+(jumlah(bil2,bil3)));
System.out.println("Jumlah bil1 + bil3 :
"+(jumlah(bil1,bil3)));
}
private static int jumlah(int a, int b){
int hasil = a + b;
return hasil;
} }

Hasil Output :

Gambar 6.2 Tampilan Output Class method_01

Latihan_02 :
// PROGRAM METHOD YANG TIDAK MENGEMBALIKAN SUATU NILAI

import java.util.*;
public class method_02 {
static void luasKotak(int sisi){
System.out.println("Luas Kotak : "+Math.pow(sisi,2));//
Untuk Menghitung Luas Kotak
}

22
public static void main(String[ ] args){
Scanner input=new Scanner(System.in);
System.out.println("Program hitung luas kotak");
System.out.print("Panjang sisi : ");
int s=input.nextInt();
luasKotak(s);
}
}

Hasil Output :

Gambar 6.3 Tampilan Output Class method_02

Latihan_03 :
// PROGRAM FUNGSI RAKURSI

import java.util.Scanner;
public class rekursif_03 {
public static long rekursif (int a, int b){
if (b==0){
return 0;
} else {
return a+rekursif(a,b-1);
} }
public static void main (String[] args) {
int a,b; //deklarasi variabel a dan b
Scanner input = new Scanner(System.in);//proses input data
dengan scanner
System.out.print("Masukkan angka: ");
a=input.nextInt();//pengambilan data a
System.out.print("Masukkan angka: ");
b=input.nextInt();//pengambilan data b
System.out.println(a+"*"+b+"="+ rekursif (a,b));
//tampilan output
}
}

Hasil Output :

Gambar 6.4 Tampilan Output Class rekursif_03

23
6.5 Tugas

1. Buatlah sebuah program menu yang terdiri sub-sub menu pilihan yang dapat
menjelaskan cirri-ciri dari sub menu yang dipilih. Hasil output seperti gambar
dibawah ini :

2. Buatlah program untuk mengitung nilai akhir mata kuliah ditentukan oleh
komposisi empat nilai :
a. 25 % TUGAS,
b. 20 % QUIZ
c. 20 % MID,
d. 35 % UAS,
Dan buatlah Grade
Nilai 0 - 39 dengan grade = E
nilai 40 - 55 dengan grade = D
nilai 56 - 79 dengan grade = C
nilai 80 - 89 dengan grade = B
nilai 90 - 100 dengan grade = A

24
MODUL 7
PROGRAM DENGAN ARRAY

Modul 7 membahas tentang penggunaan Array untuk dapat mendukung sejumlah metode
dalam pemanipulasian array.

7.1 Array
Array dibagi menjadi beberapa dimensi, diantaranya sebagai berikut :

7.1.1 Array Satu Dimensi


Array adalah sebuah struktur data yang terdiri dari data yang bertipe sama.
Ukuran larik bersifat tetap, larik akan mempunyai ukuran yang sama pada saat sekali
dibuat. Larik dalam Java adalah obyek, disebut juga sebagai tipe referensi. Sedangkan
elemen dalam larik Java bisa primitif atau referensi. Posisi dari larik biasa disebut
sebagai elemen. Elemen larik dimulai dari 0 (nol). Penyebutan larik diberikan dengan
cara menyebutkan nama lariknya dan diikuti dengan indeksnya, dimana indeks
dituliskan diantara tanda kurung siku. Gambar 1. memperlihatkan gambaran larik
dengan 10 elemen, dimana setiap elemennya bertipe integer, dengan nama A.

Nama A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]
Isi larik 12 -56 23 45 -16 -2 85 41 15 20

Gambar 7.1 Array satu-dimensi dengan 10 elemen

A. Deklarasi Dan Menciptakan Larik


Sebagai sebuah obyek, larik harus diciptakan dengan menggunakan kata cadang
new. Deklarasi dan penciptaan variabel larik gambar 1 adalah sebagai berikut.
int A[] = new int[10];

larik dideklarasikan dan langsung diciptakan . Atau

int A[];
A = new int[10];

larik dideklarasikan, baru pada pernyataan berikutnya larik diciptakan.

25
7.1.2 Array Dua Dimensi
Array dua dimensi merupakan suatu array yang dibangun menurut format baris
dn kolom. Seperti gambar dibawah ini, untuk mengakses variable dua dimensi diawali
baris ke 0 hingga ke kolom 3, selanjutnya dari baris ke 1 bergerak kekolom 0 hingga ke
kolom 3, dan seterusnya hingga baris ke 2. Array dua dimensi seperti gambar dibawah
ini mempunyai baris sebanyak 3 dan kolom sebanyak 4.
Two_D
0 1 2 3
0 1 3 2 1
1 2 1 3 2
2 3 2 1 5 Baris

Kolom
Gambar 7.2 Array dua-dimensi ukuran 3x4

Variable elemen array dua dimensi berjenis integer, maka deklarasikan dua
dimensi dengan cara inisialisasikan nilai-nilai elemen array bias kita tuliskan sebagai
berikut :
Int two_D [ ] [ ] = {
{1, 3, 2, 1},
{2, 1, 3, 2},
{3, 2, 1, 5} };

Artinyan bahwa two_D [0] [0] elemen array_nya akan mempunyai nilai 1,
two_D[1] [2] elemen array nya akan mempunyai nilai 3, dan two_D[2] [3] elemen
array_nya akan mempunyai_niali 5.

7.1.3 Array Tiga Dimensi


Array tiga dimensi merupakan suatu array dari array dari array. Array dari array
itu sendiri tidak lain merupakan array dua-dimensi. Sehingga array tiga-dimensi dapat
dinyatakan juga sebagai array dari array dua dimensi.

26
Kolom
Subskrip 0

0 1 2

0 1 2 3 0 1 2 3 0 1 2 3
Subskrip 2

1 2 3 4 7 9 3 2 7 2 6 5

Baris
5 6 7 8 4 6 8 3 0 4 7 8

Kolom Kolom Kolom


Subskrip 2 Subskrip 2 Subskrip 2

Gambar 7.3 Ilustrasi array tiga-dimensi

Deklarasi array tiga dimensi dengan cara pemberian nilai awal kita tuliskan
sebagai berikut :
int three_D [ ][ ] = {
{
{1, 2, 3, 4},
{5, 6, 7, 8},
},
{
{7, 9, 3, 2},
{4, 6, 8, 3},
},
{
{7, 2, 6, 5},
{0, 1, 9, 4},
}}
Artinya bahwa jika kita mendklarasikan array three_D[0][0][0] maka elemen
array_nya mempunyai nilai integer 1. Selanjutnya, jika kita mendklarasikan array
three_D [1][1][1] maka elemen array_nya mempunyai nilai integer 6 dan jika
kita mendklarasikan array three_D[2][0][1] maka elemen array_nya mempunyai
nilai integer 2.

7.2 Pelaksanaan Praktikum


Latihan Array_01 :
// Program untuk menghitung deret bilangan yang diinput dari keyboard menggunakan
array satu dimensi

import java.util.Scanner;
public class array_01 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
int jum_bil, total=0;
double rata2;

27
System.out.print("Berapa banyaknya bilangan ? ");
jum_bil = masukan.nextInt();
int data[] = new int[jum_bil];
for(int i=0;i<jum_bil;i++){
System.out.print("Masukkan data ke-"+(i+1)+" : ");
data[i] = masukan.nextInt();
total = total + data[i];
}
System.out.print("Nilai rata-rata dari : ");
for(int i=0;i<(jum_bil-1);i++)
System.out.print(data[i] + "+");
System.out.print(data[jum_bil-1] + " adalah ");
rata2 = total/jum_bil;
System.out.println(rata2);
} }

Hasil Output :

Gambar 7.4 Tampilan Output Class array_01

Latihan Array_02 :
//program untuk menampilkan nilai matrik dengan menggunakan array 2 dimensi

import java.util.Scanner;
public class array_02 {
public static void main(String args[]){
Scanner masuk = new Scanner(System.in);
int jum_bil1, jum_bil2;
System.out.print("Masukkan Bilangan 1: ");
jum_bil1 = masuk.nextInt();
System.out.print("Masukkan Bilangan 2: ");
jum_bil2 = masuk.nextInt();
int hasil[][] = new int[jum_bil1][jum_bil2];
System.out.println("Masukkan data nilai");
for (int i = 0; i < jum_bil1; i++) {
for (int j = 0; j < jum_bil2; j++){
System.out.print("("+ (i + 1 )+" , "+ (j+1) +")"+ " : ");
hasil[i][j]=masuk.nextInt();
} }
System.out.println("Data nilai yang dimasukan");
for (int i = 0; i < jum_bil1; i++){
for (int j = 0; j < jum_bil2; j++)
System.out.print(hasil[i][j]+" ");
System.out.println();}
} }

28
Hasil Output :

Gambar 7.5 Tampilan Output Class array_02

7.3 Tugas
1. Buatlah sebuat program penjumlahan matriks menggunakan array dua dimensi.
2. Buatlah program inputan pemakaian array dua dimensi untuk menghitung
perkalian dua bilangan integer yang sama. Untuk hasil output seperti gambar
dibawah ini :

29
MODUL 8
PROGRAM DENGAN STRING

Modul 8 membahas tentang penggunaan string untuk dapat mendukung sejumlah metode
dalam pemanipulasian string.

8.1 Fungsi String


String merupakan suatu bentuk array satu dimensi bertipe data character. Biasanya
string digunakan untuk mengurutkan dan memanipulasi teks, misalnya kata-kata, nama
dan berbagai kalimat.
Tabel 8.1 Konstruktor Klas String
Konstruktor Keterangan
String() Menciptakan obyek string yg berisi string kosong (jumlah karakter = 0)
String(char [ ] v) Menciptakan obyek string yg berisi string yg berasal dari array yg
dirujuk oleh v
String(String v) Menciptakan obyek string yg isinya sama dengan obyek string
argumennya

Metode dalam klas string memperlihatkan sejumlah metode penting dalam klas string,
seperti :
- copyValueOf(char data[ ])
- copyValueOf(char data[ ], int offset, int jum)
- valueOf(boolean b)
- valueOf(double c)
- concat(String s)
- length()
- trim(), dan lain-lain.
Klas StringBuffer adalah klas yg menyimpan string yang konstan, begitu obyek string
telah diciptakan maka string tidak dapat diubah. Konstruktor klas ini antara lain :
- StringBuffer() digunakan untuk menciptakan StringBuffer yang kosong
- StringBuffer(int n) digunakan untuk menciptakan StringBuffer dengan n karakter
- StringBuffer(String s) digunakan untuk menciptakan StringBuffer dengan string
berupa s

30
Fungsi – fungsi pengelolaan string :
- toUpperCase() digunakan untuk menghasilkan string yang disusun dalam huruf
kecil menjadi string dengan huruf besar (KAPITAL).
- toLowerCase() digunakan untuk menghasilkan string yang disusun dengan huruf
besar menjadi string dengan huruf kecil.
- Equals() digunakan untuk membandingkan 2 obyek string dengan pengambilan true
atau false.

8.2 Pelaksanaan Praktikum


Tuliskan program berikut ini :
Latihan String_01 :
// Program untuk memasukkan nilai string

public class string_01 {


public static void main(String args[]){
byte data[] = new byte[6];
data[0] = 64;
data[1] = 65;
data[2] = 66;
data[3] = 67;
data[4] = 68;
data[5] = 69;
String s1 = "Selamat Pagi";
String s2 = new String("Good Morning");
String s3 = new String(data);
String s4 = new String(data, 2, 3);
System.out.println("s1 = " + s1);
System.out.println("s2 = " + s2);
System.out.println("s3 = " + s3);
System.out.println("s4 = " + s4);
} }

Hasil Output :

Gambar 8.1 Tampilan Output Class string_01

Pada program di atas, pernyataan seperti :


String s1 = "Selamat Pagi";
Sebenarnya identik dengan :

31
String s1 = new String("Selamat Pagi");
String s3 = new String(data);
Akan membuat string yang tersusun atas karakter-karakter yang nilainya sama seperti
elemen-elemen pada array data, maka s3 berisi string @ABCDE adalah karakter @ =
64, A=65 dan seterusnya.
String s4 = new String(data, 2, 3);
Angka 3 menyatakan jumlah karakter yg menyusun string dan angka 2 menyatakan
karakter pertama pada string, hasil diambil pada indeks ke-2 array.

Latihan String_02
// Program untuk menggabungkan 2 buah string dan menghitung panjang string

public class string_02 {


public static void main(String args[]){
String str1, str2, gabung ;
str1 = "Selamat Belajar";
str2 = "Program Java";
gabung = str1.concat(str2);
System.out.println("Diberi String : "+str1);
System.out.println("Diberi String : "+str2);
System.out.println("Diberi String : "+gabung);
System.out.println("Panjang String Adalah : "+str1.length());
} }

Untuk menggabungkan string str1 dan str2 menggunakan fungsi concat()


gabung = str1.concat(str2);
length() : digunakan untuk menghasilkan panjang suatu string

Hasil Output :

Gambar 8.2 Tampilan Output Class string_02

8.3 Tugas

1. Buatlah sebuah program string dengan mengimplementasikan fungsi


toUpperCase() dan toLowerCase()

32
MODUL 9
PEMROGRAMAN JAVA APPLICATION

Modul 9 membahas tentang penerapan menggunakan interface secara graphis (GUI)


memanfaatkan method SWING dalam pembuatan komponen dengan pemrograman java
application.

9.1 GUI (Grafic User Interface)


GUI (Grafic User Interface) yang merupakan istilah model interface berbentuk
grafik yang memfasilitasi interaksi antara pengguna dengan program aplikasi.
Beberapa elemen pada GUI, sebagai berikut :
1. Container adalah wadah untuk meletakkan komponen-komponen GUI.
2. Komponen – komponen GUI, antara lain (tombol, combbobox, list, menu, label,
text field, table.
3. Event yaitu sinyal yang dibangkitkan untuk merespon aksi dari user. Contoh
aksi user ini adalah mengklik mouse.
4. Dialog yaitu windows kecil untuk menampilkan informasi sederhana pada user.
5. Layaot yaitu sebuah windows utama dapat terdiri dari banyak komponen dengan
menggunakan layout yang sesuai.
6. Menu merupakan sekumpulan perintah yang dapat dipilih user untuk
menjalankan perintah tertentu.
Salah satu komponen dalam bahasa pemrograman Java untuk membangun GUI
adalah Swing. Komponen ini didefinisikan di dalam paket javax.swing. Swing
diturunkan dari Abstract Windowing Toolkit dalam paket java.awt. Hirarki dari
komponen Swing adalah sebagai berikut

java.lang.Object

java.awt.Component

java.awt.Container

java.swing.JComponent

Gambar 9.1 Tampilan Hirarki komponen Swing

33
9.2 Dasar User Interface Dengan Swing
Swing merupakan bagian dari java Foundation Class (JFC). GUI yang terdapat
pada swing diakses dengan mengimport package. beberapa komponen dasar antarmuka
pengguna (user interface) yang disediakan oleh Swing:
1. Top level containers: adalah container dasar untuk meletakkan komponen-
komponen lain. Contohnya adalah JFrame, JDialog, dll.
2. Intermediate level containers: merupakan container perantara. Umumnya
digunakan hanya untuk meletakkan atau mengelompokkan komponen-komponen
yang digunakan, baik itu container atau berupa atomic component. Contoh dari
Intermediate level container adalah JPanel (panel).
3. Atomic component: merupakan komponen yang memiliki fungsi khusus. Umumnya
pengguna langsusng berinteraksi dengan komponen ini. Contohnya adalah JButton
(tombol), JLabel (label), JTextField, JTextArea (area untuk menulis teks), dll.

9.3 Java Application


Modul 1 kita sudah mempelajari java application dengan dasar pemrograman
java. Di modul ini kita akan membahas java application, pemrograman aplikasi berbasis
GUI menggunakan Netbeans.

9.4 Pelaksanaan Praktikum


Latihan_01 : Membuat Top level containers, yaitu JFrame dan JDialog
1. Pilih Start  Program NetBeands
2. Pilih menu bar File  New Project
3. Pilih Categories: Java dan Projects: Java Application  Next
4. Tulis nama project pada isian Project Name, dalam contoh Prak_02
5. Pilih lokasi penyimpanan pada isian Project Location. Bisa menuliskan
lokasinya atau menggunakan tombol Browser.
6. Centang Set as Main Project, ini digunakan untuk menjadi project utama.
7. Centang Create Main Class, ini digunakan jika langsung membuat kelas main
dan bisa mengganti nama kelasnya.
8. Kemudian klik finish.
9. Tampil jendela wizard Prak_02, setelah itu klik kanan project Prak_02  New
 Java Class. Untuk lebih jelasnya lihat gambar dibawah ini

34
Gambar 9.2 Tahapan membuat Class baru

10. Tampil wizard New Java Class. Isi kan pada Class Name dengan nama
swing_01
11. Kemudia buah lah program yang ada dibawah ini :

import javax.swing.*;
public class swing_01 {
public static void main(String[] args) {
String Panjang;
String Lebar;
int l,p;
float hasil;
// Meminta Input dari User hanya memiliki 1 parameter
Panjang = JOptionPane.showInputDialog("Panjang");
Lebar = JOptionPane.showInputDialog("Lebar ");
//Fungsi untuk merubah dari string menjadi Integer
l = Integer.parseInt(Lebar);
p = Integer.parseInt(Panjang);
hasil = p * l;
JOptionPane.showMessageDialog(null, "Luas Persegi Panjang adalah "
+ hasil, "Results", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
} }

Hasil Output :

Klik Tombol Ok Klik Tombol Ok

Gambar 9.3 Tampilan Output Class swing_01

35
Program diatas merupakan contoh java application, kode program untuk memunculkan sebuah
dialog. Beberapa lambing yang digunakan :
1. JOptionPane.ERROR_MESSAGE
2. JOptionPane.INFORMATION _MESSAGE
3. JOptionPane.WARNING _MESSAGE
4. JOptionPane.QUESTION _MESSAGE
5. JOptionPane.ERROR_MESSAGE.
Contoh : JOptionPane.showMessageDialog(null, “Selamat Belajar”,”Pemrograman
Java”,JOptionPane.ERROR_MESSAGE);

Latihan_02 : Membuat Top level containers, yaitu


1. Buat class baru dengan nama gui_swing01
2. Kemudian ketikkanlah listing program dibawah ini :
package GUI_swing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class gui_swing01 {
private JButton b1, b2;
private JTextField t1, t2; Komponen pada GUI
private JLabel l1, l2;
private JFrame f;
private double a, b, c;
private JPanel panel1,panel2; // Tempat untuk mengkelompokkan komponen GUI
private String konv1 = "Suhu dalam Celcius adalah...";
private String konv2 = "Suhu dalam Fahrenheit adalah...";
public gui_swing01(){
f = new JFrame("Konversi Suhu");
b1 = new JButton("Konversi ke Fahrenheit");
b2 = new JButton("Konversi ke Celcius"); Edit text pada komponen
l1 = new JLabel("Suhu dalam Celcius");
l2 = new JLabel("Suhu dalam Fahrenheit");
t1 = new JTextField(10);
t2 = new JTextField(10);
}
public void hitungSuhu(){
panel1 = new JPanel();
panel2 = new JPanel();
b1.addActionListener(new FahrenheitHandler()); //untuk memanggil fungsi
FahrenheitHandler
b2.addActionListener(new CelciusHandler()); //untuk memanggil fungsi
CelciusHandler
panel1.add(l1);
panel1.add(t1);
panel1.add(b1);
panel2.add(l2);
panel2.add(t2);

36
panel2.add(b2);
JTabbedPane tab = new JTabbedPane();
tab.add(panel1,"Celcius ke Fahrenheit");
tab.add(panel2,"Fahrenheit ke Celcius");
f.getContentPane().add(tab, BorderLayout.NORTH);//layout ini untuk
menempatkan pada posisi north, ada beberapa posisi (south, west, center, east)
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//untuk menghentikan
eksekusi program.
f.setSize(600,100);
f.setVisible(true);
}
// membuat kelas Fahrenheit
private class FahrenheitHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
a = Double.parseDouble(t1.getText());
b = a*1.8+32;
JOptionPane.showConfirmDialog(null,konv2+b,"Hasil",
JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);
}catch(Exception j){
JOptionPane.showConfirmDialog(null,"Masukkan Angka!","Error",
JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);
}
} }
// membuat kelas Celcius
private class CelciusHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
try{
a = Double.parseDouble(t2.getText());
b = (a-32)/1.8;
JOptionPane.showConfirmDialog(null,konv1+b,"Hasil",
JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);
}catch(Exception j){
JOptionPane.showConfirmDialog(null,"Masukkan Angka!","Error",
JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);
} } }
public static void main(String[] args){
gui_swing01 ce = new gui_swing01();
ce.hitungSuhu();
} }

# ActionEvent: turunan dari kelas AWTEvent, dijalankan ketika sebuah tombol


ditekan, melakukan double click pada daftar item, atau memilih menu.
# ActionListener : listener yang bereaksi jika terjadi event pada mouse atau
keyboard.

37
Hasil Output :
a. Menghitung nilai celcius ke fahrenheit

b. Menghitung nilai Fahrenheit ke celcius

Gambar 9.4 Tampilan Output Class gui_swing01

9.5 Tugas
Buatlah program berbasis GUI yang menerima inputan dua buah bilangan
dan dapat melakukan operasi penjumlahan, pengurangan, perkalian, dan pembagian dua
bilangan tersebut, lalu menampilkan hasilnya!
Hasil Output seperti gambar dibawah ini :

38
MODUL 10
PEMROGRAMAN JAVA DESKTOP APPLICATION

Modul 10 membahas tentang pembuatan dan pengaplikasian Graphical User Interface


dengan Swing dan pemrograman java desktop application.

10.1 Java Desktop Application


Java Desktop Application atau bisa juga disebut sebagai pemograman berbasis GUI
merupakan pemograman yang menggunakan library Swing dan AWT. Pada pemograman
berbasis GUI, kita bisa membuat suatu aplikasi yang berbasis pada form.
Langkah-langkah membuka project nya sama dengan java application, bedanya saat
kita membuat kelas baru. Caranya sebagai berikut :
12. Pilih Start  Program NetBeands
13. Pilih menu bar File  New Project
14. Pilih Categories: Java dan Projects: Java Desktop Application  Next 
Next
15. Kemudian tampil wizard New Desktop Application. Tulisan pada Project Name
dengan nama JavaGUI

Gambar 10.1 Tampilan New Desktop Application


16. Pilih lokasi penyimpanan pada isian Project Location. Bisa menuliskan
lokasinya atau menggunakan tombol Browser.
17. Kemudian klik finish. Akan tampil layar seperti gambar dibawah ini :

39
Gambar 10.2 Tampilan Form JavaGUIView

18. Terdapat 3 frame : JavaGUIAboutBox, JavaGUIApp, JavaGUIView


19. Pada frame JavaGUIAboutBox : sebagai penjelasan program, JavaGUIView :
sebagai menu utama, JavaGUIApp : program untuk memanggil frame tertentu
saat pertama kali dijalankan. Disini yang dipanggil frame JavaGUIView

Gambar 10.3 Tampilan Form JavaGUIApp


20. Jalankan program dengan cara klik kanan project JavaGUI  Run

40
Gambar 10.4 Tampilan Form JavaGUIView saat di jalnkan

21. Maka yang tampil terlebih dahulu frame JavaGUIView. Didalam frame terdapat 2
menu bar, menu bar File terdapat sub menu Exit dan menu bar Help terdapat sub
menu About

10.2 Pelaksanaan Praktikum


Latihan_01 :
Sekarang kita akan menambah frame baru. Langkah-langkah sebagai berikut :
1. Klik kanan package javagui  jFarme Form
2. Pada Class Name tuliskan dengan nama : latihan1  Finish
3. Tampil layar seperti gamabar dibawah ini :

Gambar 10.5 Tampilan Form latihan1


4. Desain frame dengan meletakkan jLabel, jTextField dan jButton

41
Edit Text
Gambar 10.6 Tampilan Design Form latihan1

5. Ubah text jLebal menjadi Output. jButton menjadi Clear dan jTextField
kosongkan.
6. Klik kanan pada jTextField  Events  Key  KeyRelease.

Gambar 10.7 Tampilan seleksi Form latihan1

7. Ketikkan listing program dibawah ini :


jLabel1.setText(jTextField1.getText());

8. Klik kanan pada tombol Clear  Events  Action  ActionPerformed

42
jLabel1.setText("Output");
jTextField1.setText("");

9. Buka form JavaGUIView. Klik kanan menu bar file  Add From Palette  Menu
Item

Gambar 10.8 Tampilan Design Form JavaGUIView

Gambar 10.9 Tampilan jMenuItem1

10. Untuk memindahkan menu jMenuItem keatas menu Exit. Klik kanan jMenuItem 
Move Up.
11. Ubah jMenuItem menjadi latihan1.
12. Klik kanan pada tombol latihan1  Events  Action  ActionPerformed
13. Ketikkan program dibawah ini :
latihan1 form1 = new latihan1();
form1.setVisible(true);
14. Kemudian jalankan program. Klik kanan project JavaGUI  Run

43
Gambar 10.10 Tampilan Form JavaGUIView saat d ijalankan

15. Setelah program dijalankan. Pilih File  latihan1


16. Tampil layar latihan1. Ketikkan kalimat pada TextField, secara kebersamaan
kalimat tersebut muncul di kotak jLabel.
17. Kemudian klik tombol Clear ini untuk menghapus kalimat pada TextField dan
Label.

10.3 TUGAS
Tambahkan frame diatas dengan menambahkan frame menjadi latihan2 isinya
sama denga latihan1, kemudian tambahkan sebagai menu item pada menu bar file.

44
MODUL 11
Mengenal jLabel, jTextField, jRadioButton dan jTextArea

Modul 11 membahas tentang pengaplikasian jTextFiled, jLabel, jRadioButton dan


jTextArea.

11.1 Pelaksanaan Praktikum


Latihan 01 :
1. Buat project baru, pilih menu bar File  New Projeck
2. Untuk project saya buat Prak_03,
3. Kemudian klik kanan project Prak_03  New jFrame From.
4. Tampil wizard New Java Class. Isi kan pada Class Name dengan nama
latihan_01.
5. Kemudian tampil layar seperti gambar dibawah ini :

Gambar 11.1 Tampilan Form latihan_01

6. Desain form seperti gambar dibawah ini :

Gambar 11.2 Tampilan Design Form latihan_01

45
7. Merubah nama komponen dengan cara : klik kanan salah satu komponen 
Change Variable Name.

Gambar 11.3 Tampilan jendela Rename

Tabel 11.1 komponen


Komponen Edit Text Variable name
jLabel1 jLabel1 Data Mahasiswa
jLabel1 jLabel1 Nama
jLabel1 jLabel1 Npm
jLabel1 jLabel1 Jenis Kelamin
jTextField1 - Txtnama
jTextField2 - Txtnim
jRadioButton1 Laki-laki Rblaki
jRadioButton2 Perempuan Rbperempuan
jButton1 Tampil btTampil
jButton2 Keluar btKeluar
Text Area - txtArea

Gambar 11.4 Tampilan Design Form latihan_01


8. Klik kanan tombol Tampil  Action  actionPerformed
Kemudian tuliskan listing program dibawah ini :

46
private void btTampilActionPerformed(java.awt.event.ActionEvent
evt) {
String nama, jenis, nim;
nama = txtnama.getText();
nim = txtnim.getText();
if (rblaki.isSelected()){
jenis = rblaki.getText();
} else {
jenis = rbperempuan.getText();
}
txtArea.setText("Nama = "+nama+"\n NIM ="+nim+"\nJenis
Kelamin ="+jenis); }

9. Selanjutnya klik kanan tombol Keluar  Action  actionPerformed


Kemudian tuliskan listing program dibawah ini :
private void btKeluarActionPerformed(java.awt.event.ActionEvent
evt) {
System.exit(0);
}

10. Jalankan program latihan_01. Klik kanan latihan_01  Run

Gambar 11.5 Tampilan Form latihan_01 saat dijalankan

11. Isi text nama dan Npm, pilih salah satu jenis kelamin. Kemudian klik tombol
tampil. Maka text tampil pada TextArea.

11.2 Tugas
Buatlah sebuah program data penduduk. Tampilan program seperti gambar dibawah ini:

47
MODUL 12
Mengenal ChekBox, ComboBox dan jList

Modul 12 membahas tentang pengaplikasian ChekBox, ComboBox dan jList.

12.1 Pelaksanaan Praktikum


Latihan 01 :
Tambahkan form baru didalam project Prak_03,
1. Klik kanan project Prak_03  New jFrame From.
2. Class Name : latihan02
3. Silahkan desain form seperti gambar dibawah ini:

jComboBox Change variable


menjadi bWarna

Gambar 12.1 Tampilan Design Form latihan02


Isi pilihan pada comboBox. Pilih tab Properties  model. Pada comboBox
Font (Arial, Verdana, Tahoma), pilihan warna (Merah, Hijau, Biru), pilihan
ukuran (14, 16, 38)
4. Penjelasan komponen yang digunakan :

Gambar 12.2 Tampilan tab Inspector

48
5. Ketikkan listing program dibawah ini :
import java.awt.Color;
import java.awt.Font;
public class latihan_03 extends javax.swing.JFrame {
public latihan_03() {
initComponents();
}
private void jButton1MouseClicked(java.awt.event.MouseEvent evt)
{
Font tebal = new Font("Monospaced",Font.BOLD,12);
Font biasa = new Font("Monospaced",Font.PLAIN,12);
if(rbLaki.isSelected()){
if(jCheckBox1.isSelected()){
jTextArea1.setText(" Nama : "+txtnama.getText()+
", Jenis Kelamin : "+rbLaki.getText());
jTextArea1.setFont(tebal);
}
else{
jTextArea1.setText(" Nama : "+txtnama.getText()+
", Jenis Kelamin : "+rbLaki.getText());
jTextArea1.setFont(biasa);
}
}
else if(rbPerempuan.isSelected()){
if(jCheckBox1.isSelected()){
jTextArea1.setText(" Nama : "+txtnama.getText()+
", Jenis Kelamin :
"+rbPerempuan.getText());
jTextArea1.setFont(tebal);
}
else{
jTextArea1.setText(" Nama : "+txtnama.getText()+
", Jenis Kelamin :
"+rbPerempuan.getText());
jTextArea1.setFont(biasa);
}
} }
private void
jCheckBox1StateChanged(javax.swing.event.ChangeEvent evt) {
if(jCheckBox1.isSelected()){
jCheckBox1.setText("YA");
}
else{
jCheckBox1.setText("TIDAK");
}
}
private void bFontActionPerformed(java.awt.event.ActionEvent
evt) {
if(bFont.getSelectedItem()=="Arial"){
jTextArea1.setFont(new Font("Arial",Font.PLAIN,12));
} else if(bFont.getSelectedItem()=="Verdana"){
jTextArea1.setFont(new Font("Verdana",Font.PLAIN,12));
} else if(bFont.getSelectedItem()=="Tahoma"){
jTextArea1.setFont(new Font("Tahoma",Font.PLAIN,12));
}

49
}
private void bUkuranActionPerformed(java.awt.event.ActionEvent
evt) {
if(bUkuran.getSelectedItem()=="14"){
jTextArea1.setFont(new Font(jTextArea1.getFont().
getName(),jTextArea1.getFont().getStyle(),14));
} else if(bUkuran.getSelectedItem()=="16"){
jTextArea1.setFont(new Font(jTextArea1.getFont().
getName(),jTextArea1.getFont().getStyle(),16));
} else if(bUkuran.getSelectedItem()=="38"){
jTextArea1.setFont(new Font(jTextArea1.getFont().
getName(),jTextArea1.getFont().getStyle(),38));
}
}
private void bWarnaActionPerformed(java.awt.event.ActionEvent
evt) {
if(bWarna.getSelectedItem()=="Merah"){
jTextArea1.setForeground(Color.RED);
} else if(bWarna.getSelectedItem()=="Hijau"){
jTextArea1.setForeground(Color.GREEN);
} else if(bWarna.getSelectedItem()=="Biru"){
jTextArea1.setForeground(Color.BLUE);
}
}

6. Jalankan program dengan menge-klik kanan frame latihan_02  Run

Gambar 12.3 Tampilan Form latihan02 saat di jalankan

Latihan_02 :
Tambahkan form baru didalam project Prak_03,
1. Klik kanan project Prak_03  New jFrame From.
2. Class Name : latihan03
3. Silahkan desain form seperti gambar dibawah ini:

50
Gambar 12.4 Tampilan Design Form latihan03

4. Untuk membuat list pada kotak pekerjaan. Klik jList1  pada tab
Properties, pilih model  kemudian double klik model
5. Tampil jendela jList1. Isikan kotak jList1 sebagai berikut :

Gambar 12.5 Tampilan Model pada komponen jList1

6. Komponen yang digunakan :

Gambar 12.6 Tampilan tab Inspector


7. Double klik tombol tampil. Kemudian ketikkan listing program dibawah ini:
if(jList1.getSelectedIndex()==0){
jTextArea1.setText(jTextField1.getText()+"seorang mahasiswa");

51
}
else if(jList1.getSelectedIndex()==1){
jTextArea1.setText(jTextField1.getText()+" seorang PNS");
}
else if(jList1.getSelectedIndex()==2){
jTextArea1.setText(jTextField1.getText()+"seorang karyawan
swasta");
}
else if(jList1.getSelectedIndex()==3){
jTextArea1.setText(jTextField1.getText()+" seorang
pengusaha");
}
else{
jTextArea1.setText(jTextField1.getText()+" Seorang yang belum
mendapatkan pekerjaan :)");
}

8. Jalankan program dengan menge-klik kanan form latihan_03  Run

Gambar 12.7 Tampilan Form latihan_03 saat di jalankan

Isi text pada nama dan pilih salah satu list pekerjaan. Kemudian klik tombol
tampil.

52
MODUL 13
Mengenal jMenuBar dan jMenuItem

Modul 13 membahas tentang pengaplikasian jMenuBar, jMenuItem, jPanel.

13.1 Pelaksanaan Praktikum


Latihan 03 :
Tambahkan form baru didalam project Prak_03,
7. Kemudian klik kanan project Prak_03  New jFrame From.
8. Class Name : latihan04
9. Drag komponen Menu Bar ke dalam frame.

Gambar 13.1 Tampilan awal Form Menu Bar

10. Membuat sub menu pada munu bar. Klik kanan File pada form  Add From
Palette  Menu Item.

11. Ganti sub menu jMenuItem1 : klik kanan  Edit Text dengan nama
latihan_03 (form yang sudah ada untuk dipanggil)
12. Double klik Short out pada sub menu Latihan_03. Akan tampil layar seperti
gambar dibawah ini:

53
Gambar 13.2 Tampilan jendela Accelerator

13. Centang Ctrl  Virtual Key : VK_L  OK.


14. Tambahkan 1 menu item lagi  dengan nama Simpan
15. Drag jPanel ke dalam frame
16. Drag komponen jScrollPane1 dan drag jTextArea1 ke dalam frame

Gambar 13.3 Tampilan Design Form Menu Bar

17. Komponen yang digunakan :

Gambar 13.4 Tampilan tab Inspector

18. Kemudian ketikkan listing program dibawah ini untuk memanggil form
Latihan_03 dan menyimpan data yang diketikaan di text area ke dalam
komputer.
import java.io.FileWriter;
import java.io.IOException;
public class latihan_04 extends javax.swing.JFrame {
public latihan_04() {
initComponents();
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent
evt) {
FileWriter simpan = null;

54
try {
simpan = new FileWriter("c:/guiSwing.txt"); // untuk menyimpan data
jTextArea1.write(simpan);
} catch (IOException exception) {
exception.printStackTrace();
} finally {
if (simpan != null) {
try {
simpan.close();
} catch (IOException exception) {
exception.printStackTrace();
}
}
} }
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent
evt) {
latihan_03 form1 = new latihan_03();
form1.setVisible(true);
}
19. Memberi nama pada frame. Klik frame, pada tab properties dan pada bagian title
ketikkan “Program Java”.

Gambar 13.5 Tampilan tab Properties


20. Jalankan program

Gambar 13.6 Tampilan Form Menu Bar saat di jalankan

21. Ketikkan text didalam TextArea  klik File  pilih Simpan.


Maka text tersebut tersimpan didalam drive C:/guiSwing.txt
22. Klik File  pilih latihan_03. Maka Frame latihan_03 akan tampil.

55
MODUL 14
MEMBUAT LOGIN DATABASE

Modul 14 membahas tentang konsep basis data dengan JDBC dan mampu
mengimplementasikannya.

14.1 Database
Database merupakan pangkalan data (tempat data) yang disusun sedemikian
rupa, dengan tujuan database tersebut efisien dan efektif, serta mengikuti aturan –
aturan alat desain database dari perangkat lunak yang digunakan.

14.2 JDBC
JDBC API (Java DataBase Connectivity Application Programming Interface)
yang berfungsi melakukan pengaksesan terhadap data tabular dalam basis data.

14.3 Pelaksanaan Praktikum


A. Membuat database Admin
1. Buat Database Pasien dengan nama db_pasien dan table admin
2. Dalam bab ini kita membuat form Login dan Form Menu Utama
3. Untuk rincian tabel admin sebagai berikut :

Tabel 14.1 Admin


Field Type Size
Username char 20
Password char 20

4. Isi data table admin : - user : admin1


- Password : 123

B. Membuat Class Koneksi


Langkah membuat form aplikasi :
1. Pilih menu bar File New Project Categori : Java dan Projects : Java
Dekstop Application  Project Name : Dt_pasien  Finish
2. Pada project pasien  pilih Libraries, kemudian klik kanan  Add Library
3. Tampil wizard Add Library, pada Available Libraries : pilih MySQL JDBC
Driver  Add Library ( ini untuk mengubungkan database ke java)

56
4. Membuat class baru untuk koneksi database :
Klik kanan project pasien  New  Java Class
5. Untuk kelas saya buat koneksi
6. Delete Frame JavaGUIAbout dan Frame JavaGUIView
kemudian ketikkan listing program pada Class koneksi dibawah ini :
package pasien;
import java.sql.*;
public class koneksi {
public koneksi() {
}
public Connection OpenConnect() throws SQLException{
Connection con1 = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con1=DriverManager.getConnection("jdbc:mysql://localhost/db_pasie
n","root","12345678");
return con1;
}
catch (SQLException se) {
System.out.println("Perintah SQL Salah!!!");
return null;
}
catch (Exception ex) {
System.out.println("Driver Tidak Terhubung!!!");
return null;
}
}
}
7. Setelah selesai, silahkan compile class koneksi

C. Membuat form Login


Klik kanan project pasien  New  jFrame Form
8. Sekarang silahkan desain form login seperti gambar dibawah ini :

Gambar 14.1 Tampilan Design Form Login


9. Sesuaikan dengan komponen dan name sebagai berikut :

57
Gambar 14.2 Tampilan tab Inspector pada form login

10. Kemudian ketikkan listing program seperti dibawah ini :


package pasien;
import java.sql.*;
import javax.swing.JOptionPane;
public class login extends javax.swing.JFrame {
public login() {
initComponents();
}
private void cbBatalActionPerformed(java.awt.event.ActionEvent
evt) {
System.exit(0);
}
private void cbLoginActionPerformed(java.awt.event.ActionEvent
evt) {
if (txtuser.getText().equals ("")) { }
else {
try{
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "SELECT * FROM admin WHERE username
='"+txtuser.getText()+"' and password='" + txtpass.getText() +
"'";
ResultSet rs1 = st1.executeQuery(sql1);
if(rs1.next()){
JOptionPane.showMessageDialog(null, "Login Sukses, masuk ke
menu utama!");
// new menuUtama().show(); //untuk memanggil form menuUtama
this.dispose();
}
else{
JOptionPane.showMessageDialog(null, "Maaf Anda tidak dapat
masuk ke sistem ini, Id dan Password anda salah");
this.dispose();
}
rs1.close();
con1.close();
}
catch (Exception e){
} }
}

58
11. Jalankan Program. Ketikkan pada kotak user : admin1 dan pada password :
1admin  Login. Jika sukses maka muncul dialog Message

Gambar 14.3 Tampilan form login saat di jalankan

12. Tambahkan Frame dengan nama MenuUtama. Dan desain frame seperti
gambar dibawah ini :

Gambar 14.4 Tampilan form Menu Utama

13. Frame menu utama hanya terdiri dari menu bar file, jPanel dan jLabel

59
MODUL 15
MEMBUAT APLIKASI DATA PASIEN

Modul 15 membahas tentang pembuatan form yang terkoneksi dengan database, modul
15 lanjutan dari modul 14.

15.1 Pelaksanaan Praktikum


A. Membuat tabel
Pada modul 14 kita sudah membuat Database Pasien dengan nama db_pasien,
sekarang kita menambahkan 2 tabel yang terdiri dari tabel dokter dan tabel pasien,
untuk rincian masing-masing tabel sebagai berikut :

Tabel Dokter Tabel Pasien

kd_dokter * 1 kd_pasien *
nm_dokter nm_pasien
jns_kelamin jns_kelamin
spesialis M jns_periksa
kd_dokter **
biaya
obat
harga

Gambar 15.1 relasi antar tabel Dokter dan tabel Pasien

Tabel 15.1 Dokter


Field Type Size
Kd_dokter Varchar 5
Nm_dokter Varchar 30
Jns_kelamin Char 10
Spesialis Char 10

Tabel 15.2 Pasien


Field Type Size
Kd_pasien Varchar 5
Nm_pasien Varchar 30
Jns_kelamin Char 10
Jns_periksa Char 10
Kd_dokter Char 5
Biaya Varchar 50
Obat Varchar 20
Harga Varchar 50

60
B. Membuat form data Dokter
14. Buatlah frame form baru pada project Dt_pasien dengan nama form dokter,
desain form sebagai berikut :

Pilihan Jenis
kelamin : laki-
laki, perempuan.

Gambar 15.2 Tampilan desain form data dokter

15. Untuk membuat table yang digunakan menampilkan data di dalam database.
Dengan menggunakan sebuah JTable. Caranya dari Windows Palette pilih
JTable  drag ke dalam frame form dokter.

Gambar 15.3 Tampilan cara menggunakan JTable

16. Selek jScrollpane1 pada tab inspector ganti name pada tab properties
menjadi jScroll1.


Gambar 15.4 Cara mengganti name pada jScrollPane1

61
17. Klik kanan table1 Table Contents. Kemudian tampil jendela Customer
Dialog.

Gambar 15.5 Tampilan Customer Dialog.

18. Pilih tab Columns. Kemudian selek bagian Title1 dan pada kotak Title ganti
menjadi kode dokter. Untuk mengganti kolom selanjutnya dengan cara yang
sama.
19. Sesuaikan dengan komponen dan name sebagai berikut :

Gambar 15.6 Tampilan tab Inspector data dokter

20. Kemudian ketikkan listing program seperti dibawah ini :


package pasien;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class dokter extends javax.swing.JFrame {
private DefaultTableModel ttable1;
/** Creates new form dokter */
public dokter() {
initComponents();
}

62
//METODE UNTUK HAPUS DATA DALAM FORM
public void HapusData(){
txtKdDokter.setText("");
txtNmDokter.setText("");
cbJk.setSelectedItem("-");
txtSpesialis.setText("");
}
public void HapusData2(){
txtNmDokter.setText("");
cbJk.setSelectedItem("-");
txtSpesialis.setText("");
}
//METODE UNTUK DELETE TABEL
public void deletetable1(){
int row = ttable1.getRowCount();
for (int i = 0; i<row ;i++)
{
ttable1.removeRow(0);
}
}
// METODE UNTUK MENAMPILKAN DATA KE TABEL
public void tampilketabel() {
try{
String[] judul = {"Kode Dokter","Nama Dokter","Jenis
Kelamin","Spesialis"};
ttable1 = new DefaultTableModel(null,judul);
table1.setModel(ttable1);
jScroll1.getViewport().add(table1);
table1.setEnabled(true);
koneksi ObjKoneksi1 = new koneksi();
Connection con1 = ObjKoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "" +
" SELECT kd_dokter, nm_dokter, jns_kelamin, spesialis" +
" FROM dokter";
ResultSet rs1 = st1.executeQuery(sql1);
while(rs1.next()) {
String kd_dokter = rs1.getString("kd_dokter");
String nm_dokter = rs1.getString("nm_dokter");
String jns_kelamin = rs1.getString("jns_kelamin");
String spesialis = rs1.getString("spesialis");
String[ ] data = {kd_dokter, nm_dokter , jns_kelamin, spesialis};
ttable1.addRow(data);
}
}
catch(Exception ex) {
JOptionPane.showMessageDialog(this,"Error : " + ex);
}
}
//METODE UNTUK MENCARI DATA DALAM DATABASE

63
public void CariData()
{
if (txtKdDokter.getText().equals ("")) { }
else {
try {
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "" +
" SELECT dokter.*" +
" FROM dokter" +
" WHERE kd_dokter ='" +txtKdDokter.getText() + "'" ;
ResultSet rs1 = st1.executeQuery(sql1);
if(rs1.next())
{
txtKdDokter.setText(rs1.getString("kd_dokter"));
txtNmDokter.setText(rs1.getString("nm_dokter"));
txtSpesialis.setText(rs1.getString("spesialis"));
cbJk.setSelectedItem(rs1.getString("jns_kelamin"));
JOptionPane.showMessageDialog(this, "DATA ADA, SILAHKAN EDIT!!!");
}
Else {
JOptionPane.showMessageDialog(this, "DATA TIDAK DITEMUKAN!!!");
HapusData2(); //Untuk memanggil class HapusData
}
tampilketabel(); //Untuk memanggil class tampilketabel
rs1.close();
con1.close();
}
catch(SQLException e) {
}
} }
private void SimpanActionPerformed(java.awt.event.ActionEvent evt) {
try {
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "insert into dokter(kd_dokter, nm_dokter, jns_kelamin, spesialis) " +
"values('"+txtKdDokter.getText()+
"','"+txtNmDokter.getText()+
"','"+cbJk.getSelectedItem().toString()+
"','"+txtSpesialis.getText()+"')";
int rows1 = st1.executeUpdate(sql1);
JOptionPane.showMessageDialog(this, "Data Sukses Di Tambahkan!!!");
tampilketabel();
con1.close();
}
catch(SQLException e) {
}
}

64
private void keluarActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
private void hapusActionPerformed(java.awt.event.ActionEvent evt) {
HapusData(); }
private void cbDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try{
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "delete from dokter WHERE kd_dokter='"+txtKdDokter.getText()+"'";
int rows1 = st1.executeUpdate(sql1);
if (rows1 == 1)
JOptionPane.showMessageDialog(this, "DATA BERHASIL DIHAPUS!!!");
con1.close();
HapusData();
tampilketabel() ;
}
catch(SQLException e) {
}
}
private void cbUbahActionPerformed(java.awt.event.ActionEvent evt) {
try{
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "update dokter set nm_dokter='"+txtNmDokter.getText()+
"',jns_kelamin='"+cbJk.getSelectedItem().toString()+
"',spesialis='"+txtSpesialis.getText()+
"' WHERE kd_dokter='"+txtKdDokter.getText()+"'";
int rows1 = st1.executeUpdate(sql1);
if (rows1 == 1)
JOptionPane.showMessageDialog(this, "Sukses Di Edit!!!");
con1.close();
tampilketabel();
}
catch(SQLException e) {
}
}
private void cbCariActionPerformed(java.awt.event.ActionEvent evt) {
CariData();
}

65
C. Membuat form data Pasien
21. Buatlah frame form baru pada project Dt_pasien dengan nama form pasien,
untuk desain form sebagai berikut :

Jenis k : laki-laki,
perempuan. Periksa
: THT, gigi, umum

Pilihan kode dokter


sesuaikan dengan data kode
dokter dalam database

Gambar 15.7 Tampilan desain form data pasien

22. Sesuaikan dengan komponen dan name sebagai berikut :

Gambar 15.8 Tampilan tab Inspector data pasien

23. Kemudian ketikkan listing program seperti dibawah ini :


package pasien;

66
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class pasien extends javax.swing.JFrame {
private DefaultTableModel ttable1;
/** Creates new form latihan_02 */
public pasien() {
initComponents();
}
//METODE UNTUK MEMBUAT HAPUS DATA YANG ADA DI FORM
public void HapusData() {
txtkode.setText("");
txtpasien.setText("");
cb_jk.setSelectedItem("-");
cbJP.setSelectedItem("-");
cb_dokter.setSelectedItem("-");
txtdokter.setText("");
txtbiaya.setText("");
cbObat.setSelectedItem("-");
txtHarga.setText("");
}
public void HapusData2()
{
txtpasien.setText("");
cb_jk.setSelectedItem("-");
cbJP.setSelectedItem("-");
cb_dokter.setSelectedItem("-");
txtdokter.setText("");
txtbiaya.setText("");
cbObat.setSelectedItem("-");
txtHarga.setText("");
}
//METODE UNTUK DELETE TABEL
public void deletetable1()
{
int row = ttable1.getRowCount();
for (int i = 0; i<row ;i++)
{
ttable1.removeRow(0);
}
}
// METODE UNTUK MENAMPILKAN DATA KE TABEL
public void tampilketabel() {
try{
String[] judul = {"Kode Pasien","Nama Pasien","Jenis Kelamin","Jenis
Periksa","Biaya Periksa","Obat","Harga Obat"};
ttable1 = new DefaultTableModel(null,judul);
tabel.setModel(ttable1);
jScroll.getViewport().add(tabel);
tabel.setEnabled(true);

67
koneksi ObjKoneksi1 = new koneksi();
Connection con1 = ObjKoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "" +
" SELECT pasien.*" +
" FROM pasien" +
" WHERE kd_pasien ='" +txtkode.getText() + "'" ;
ResultSet rs1 = st1.executeQuery(sql1);
while(rs1.next()){
String kd_pasien = rs1.getString("kd_pasien");
String nm_pasien = rs1.getString("nm_pasien");
String jns_kelamin = rs1.getString("jns_kelamin");
String jns_periksa = rs1.getString("jns_periksa");
String biaya = rs1.getString("biaya");
String obat = rs1.getString("obat");
String harga = rs1.getString("harga");
String[] data = {kd_pasien, nm_pasien , jns_kelamin,
jns_periksa,biaya,obat,harga};
ttable1.addRow(data);
}
} catch(Exception ex) {
JOptionPane.showMessageDialog(this,"Error : " + ex);
}
}
//METODE UNTUK MEMENGGIL NAMA DOKTER DATI DATA DOKTER KE
FORM PASIEN
public void Dokter()
{
if (cb_dokter.getSelectedItem().equals("")) { }
else {
try {
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "" +
" SELECT dokter.nm_dokter" +
" FROM dokter" +
" WHERE kd_dokter='" +cb_dokter.getSelectedItem() + "'";
ResultSet rs1 = st1.executeQuery(sql1);
if(rs1.next()) {
/* Jika Ditemukan */
txtdokter.setText(rs1.getString("nm_dokter"));
}
rs1.close();
con1.close();
}
catch(SQLException e)
{
} }}
//METODE UNTUK MEMANGGIL DATA PASIEN DALAM DATABASE KE FORM

68
public void CariData() {
if (txtkode.getText().equals ("")) { }
else {
try {
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "" +
" SELECT pasien.*" +
" FROM pasien" +
" WHERE kd_pasien ='" +txtkode.getText() + "'" ;
ResultSet rs1 = st1.executeQuery(sql1);
if(rs1.next()) {
txtkode.setText(rs1.getString("kd_pasien"));
txtpasien.setText(rs1.getString("nm_pasien"));
cb_jk.setSelectedItem(rs1.getString("jns_kelamin"));
cbJP.setSelectedItem(rs1.getString("jns_periksa"));
cb_dokter.setSelectedItem(rs1.getString("kd_dokter"));
txtbiaya.setText(rs1.getString("biaya"));
cbObat.setSelectedItem(rs1.getString("obat"));
txtHarga.setText(rs1.getString("harga"));
JOptionPane.showMessageDialog(this, "DATA ADA, SILAHKAN EDIT!!!");
}
else{
JOptionPane.showMessageDialog(this, "DATA TIDAK DITEMUKAN!!!");
HapusData2();
}
rs1.close();
con1.close();
tampilketabel();
}
catch(SQLException e) {
}
}
}
private void jbSimpanActionPerformed(java.awt.event.ActionEvent evt) {
try{
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = (Statement) con1.createStatement();
String sql1 = "insert into pasien(kd_pasien, nm_pasien, jns_kelamin,
jns_periksa, kd_dokter, biaya, obat, harga) " +
"values('"+txtkode.getText()+
"','"+txtpasien.getText()+
"','"+cb_jk.getSelectedItem().toString()+
"','"+cbJP.getSelectedItem().toString()+
"','"+cb_dokter.getSelectedItem().toString()+
"','"+txtbiaya.getText()+
"','"+cbObat.getSelectedItem().toString()+
"','"+txtHarga.getText()+"')";

69
int rows1 = st1.executeUpdate(sql1);
if (rows1 == 1)
JOptionPane.showMessageDialog(this, "Data Sukses Di Tambahkan!!!");
tampilketabel();
con1.close();
}
catch(SQLException e) {
}
}
private void jbHapusActionPerformed(java.awt.event.ActionEvent evt) {
HapusData();
}
private void jbKeluarActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
private void cb_dokterActionPerformed(java.awt.event.ActionEvent evt) {
Dokter();
}
private void cbUbahActionPerformed(java.awt.event.ActionEvent evt) {
try{
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "update pasien set nm_pasien='"+txtpasien.getText()+
"',jns_kelamin='"+cb_jk.getSelectedItem().toString()+
"',jns_periksa='"+cbJP.getSelectedItem().toString()+
"',kd_dokter='"+cb_dokter.getSelectedItem().toString()+
"',biaya='"+txtbiaya.getText()+
"',obat='"+cbObat.getSelectedItem().toString()+
"',harga='"+txtHarga.getText()+
"' WHERE kd_pasien='"+txtkode.getText()+"'";
int rows1 = st1.executeUpdate(sql1);
if (rows1 == 1)
JOptionPane.showMessageDialog(this, "Sukses Di Edit!!!");
con1.close();
tampilketabel();
}
catch(SQLException e) {
}
}
private void cbCariActionPerformed(java.awt.event.ActionEvent evt) {
CariData();
}
private void cbDeleteActionPerformed(java.awt.event.ActionEvent evt) {
try {
koneksi ObHrgoneksi1 = new koneksi();
Connection con1 = ObHrgoneksi1.OpenConnect();
Statement st1 = con1.createStatement();
String sql1 = "delete from pasien WHERE kd_pasien='"+txtkode.getText()+"'";
int rows1 = st1.executeUpdate(sql1);

70
if (rows1 == 1)
JOptionPane.showMessageDialog(this, "DATA BERHASIL DIHAPUS!!!");
con1.close();
HapusData();
tampilketabel() ;
}
catch(SQLException e) {
}
}
private void cbCari1ActionPerformed(java.awt.event.ActionEvent evt) {
dokter form1 = new dokter(); //Untuk memanggil form dokter
form1.setVisible(true);
}

24. Menambahkan menu item pada menu bar File, untuk desain form sebagai
berikut :

Gambar 15.9 Desain Form Menu Utama

25. Sesuaikan dengan komponen dan name sebagai berikut :

Gambar 15.10 Desain tab Inspector

26. Kemudian ketikkan listing program seperti dibawah ini :


private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
dokter form1 = new dokter();
form1.setVisible(true);
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
pasien form1 = new pasien();
form1.setVisible(true);
}

71
Hasil Output Program :
1. Tampilan project pasien

Gambar 15.11 Project Aplikasi Pasien

2. Jalankan program dengan cara : pilih icon Run Main Project atau klik kanan
project pilih Run.
3. Saat program pertama kali di jalankan maka yang tampil terlebih dahulu Form
Login
Cara agar form tertentu yang ingin kita tampilkan terlebih dahulu :
Pilih class PasienApp.java, kemudian ubah listing program yang terdapat pada
protected void starup, untuk lebih jelasnya lihat gambar dibawah ini :

Gambar 15.12 Script Form PasienApp

4. Isi user : admin1, dan password : 1admin  klik tombol Login,


Jika sukses masa akan tampil Message dialog  OK, untuk lebih jelasnya lihat gambar
dibawah ini :

Gambar 15.13 Tampilan Form Login

5. Kemuadian tampil form Menu utama

72
Pada menu utama terdapat menubar File, file terdiri dari 2 submenu yaitu Data
Dokter dan Data Pasien
a. Gambar form menu utama

Gambar 15.14 Tampilan Form Menu Utama

b. Gambar form Data Dokter

Gambar 15.15 Tampilan Form Data Dokter

c. Gambar form Data Pasien

Gambar 15.13 Tampilan Form Data Pasien

73
MODUL 16
MEMBUAT LAPORAN DATA PASIEN

Modul 16 membahas tentang membuat raport dengan memanfaatkan tool JasperReport


dan iReport. Dengan tool tersebut, kita dapat membuat raport di java dengan mudah.

16.1 Jasperreports
JasperReports adalah salah satu aplikasi untuk membuat laporan. JasperReports
memiliki ratusan fitur, namun sayangnya tidak memberikan alat untuk mendesain
laporan secara visual. Seseorang tanpa kemampuan yang baik dengan XML mungkin
tidak dapat menggunakan secara maksimal library (perpustakaan) JasperReports. Untuk
itu diperlukan utility Report Designer yang dapat mempermudah user dalam
mengembangkan disain laporan. Salah satu Report Designer yang terpopuler adalah
iReports.

16.2 iReport
IReport adalah report designer yang digunakan oleh Jasper Report. Karena
kemiripannya dengan Crystal Report, IReport menjadi salah satu pilihan utama untuk
melakukan proses disain report di Java.

16.3 Pelaksanaan Praktikum


Pastikan NetBeans yang anda install sudah lengkap dengan JasperReport nya,
lihat di Drive C:\jasperreports-4.0.2-project. Jika belum terdapat JasperReport,
download software jasperreports-4.0.2 dan letakkan di dalam Drive C.
A. Integrasi Jasperreports dan NetBeans. Langkah–langkahnya sebagai berikut :
1. Jalankan Netbeans dan pilih menu bar Tools  Libraries.
2. Klik tombol New Library
3. Muncul jendela New Labrary, ketikkan JasperReport di kotak Labrary Name dan
pilih Class Library pada kotak Library Type  OK

Gambar 16.1 Tampilan jendela New Library


74
4. Klik tombol JAR/Folder. Dan pilih jasperreports-4.0.2-project di Drive C
 jasperreports-4.0.2  dist  jasperreports-4.0.2.jar. lalu klik tombo
Add JAR/Folder.
5. Sehingga di kotak Library Clasppath terlihat folder jasperreports-4.0.2.
6. Lakukan lagi seperti diatas untuk file-file jasperreports-4.0.2.jar di folder
jasperreports-4.0.2\dist. Dan file yang berada di folder jasperreports-
4.0.2\lib antara lain commons-beanutils-1.8.0.jar, commons-collections-
2.1.1.jar, commons-digester-7.7.jar, commons-javaflow-20060411.jar,
commons-logging-1.0.4.jar, groovy-all-1.7.5.jar, iText-2.1.7.jar, jdt-
compiler-3.1.1.jar.jar.

Gambar 16.2 Tampilan Jendela Library jasperreport tab Classpath

7. Pilih tab Sources dan klik tombol Add JAR/Folder. Pilih jasperreports-
4.0.2\scr  Add JAR/Folder

Gambar 16.3 Tampilan Jendela Library jasperreport tab Sources

75
8. Pilih tab javadoc dan klik tombol Add ZIP/Folder. Pilih jasperreports-
4.0.2\dist dan pilih folder doct  Add JAR/Folder.

Gambar 16.4 Tampilan Jendela Library jasperreport tab Javadoc

9. Kemudian klik kanan package Libraries pada project Dt_pasien.


10. Tampil jendela Add Library. Pilih MySQL JDBC Driver dan jasperriport.

Gambar 16.5 Tampilan library

B. Membuat Folder iReport


1. Sebelum kita koneksikan iReport. Kita buat folder Report terlebih dahulu di
dalam Project Dt_Pasien  src. Atau dengan cara buat package di dalam
project Dt_Pasien.

Gambar 16.6 Tampilan Package Report

76
C. Memasang Koneksi di iReport
1. Jalankan iReport.

Gambar 16.7 Tampilan Utama iReport

2. Pilih Icon Report Datasources. Tampil jendela Connections / Datasources


3. Klik tombol New
4. Pilih Database JDBC connection

Gambar 16.8 Tampilan Jendela Datasource

5. Klik tombol Next.


6. Ketikkan db_pasien pada kotak Name, pada kotak JDBC URL ganti
MYDATABASE dengan db_pasien, ketikkan root pada kotak username.
7. Klik tombol Test. Tampil jendela database password, dalam contoh
password “12345678”  Ok

77
Gambar 16.9 Tampilan Jendela Database JDBC connection

8. Jika koneksi sukses mucul kotak message

Gambar 16.10 Tampilan Jendela Library jasperreport tab Classpath

D. Membuat Report Pasien


1. Pilih menu bar File. Tampil jendela New file
2. Pilih layout yang akan mau digunakan

Gambar 16.11 Tampilan Jendela Layout report

3. Klik tombol Launch Report Wizard. Tampil jendela New.

78
4. Ketikkan laporan pasien pada kotak Report name dan pada kotak Location
cari tempat penyimpanan laporan. Pastikan didalam folder src\Report 
Next
5. Tampil jendela New. Klik tombol Design query, kemudian mucul jendela
Database password dimana kotak ini memintak password database.

Gambar 16.12 Tampilan Jendela koneksi database

6. Dalam contoh password “12345678”  OK


7. Drag table dokter dan pasien ke kotak sebelah kanan yang kosong
8. Drag kd_dokter pada table dokter ke kd_dokter pada table pasien.

Gambar 16.13 Tampilan Jendela Relasi Tabel

9. Pilih field nama yang ingin di tampilkan. Jika tidak ingin ditampilkan
centang yang ada di samping masing-masing field di hilangkan.
10. Klik tombol Ok  Next. Tampil jendela New

79
Gambar 16.14 Tampilan kotak Field yang digunakan

11. Pindahkan field dari sebelah kiri ke kanan dengan klik tombol “>>” Next
12. Klik tombol Next  Finish. Tampil jendela Jaspersoft iReport Designer 4.0.2

Gambar 16.15 Tampilan kotak Desain

13. Membuat parameter. Pad Tab Report Inspector, pilih Parameter.


Parameter ini digunakan untuk memanggil dan menyeleksi data yang akan
dilaporkan sesuai kode parameter.
14. Klik kanan Parameter  Add Parameter
15. Tampil parameter yang baru di posisi paling bawah. Klik kanan parameter 
Rename
16. Ketikkan pPasien didalam kotak New Name.

Gambar 16.16 Tampilan Jendela Rename Parameter

80
17. Pilih dan Drag komponen Static Text ada pada tab Palette ke jendela
Designer di posisi Title ( tempat untuk membuat Judul).
18. Pilih Parameters  drag parameter pPasien ke dalam tab Designer pada posisi
Page Header. Dan drag Static Text ke sebelah pPasien. Dan ganti Static Text
menjadi Kode pasien. Kemudian pilih Fields dan Drag field nama_pasien ke
dalam tab Designer.

Gambar 16.17 Tampilan Desain Laporan

19. Pilih dan drag kd_dokter pada table dokter ke tab Designer pada posisi Detail 1

Gambar 16.18 Tampilan Desain Laporan

20. Contoh desain lihat pada gambar dibawah ini :

81
Gambar 16.19 Tampilan Desain Laporan

21. Pilih dan klik kanan report  Edit query. Tampil jendela Report query
22. Tambahkan Where pasien.pasien = “ plih pPasien  New parameter “
Where pasien.pasien = $P(pPasien)

Gambar 16.20 Tampilan Jendela Report query

23. Klik tombol Ok


24. Kemudian Klik Tab Preview. Tampil jendwla Parameter prompt, ketikkan
KP01 pada kotak pPasien  Ok

82
Gambar 16.21 Tampilan Preview Form Parameter

25. Tampak hasil laporan seperti berikut ini :

Gambar 16.22 Tampilan Preview Form Laporan Data Pasien

26. Desain form laporan yang rapi dan baik.


27. Tutup iReport

E. Membuat Frame Form Laporan


1. Buka project Dt_Pasien di NetBeans
2. Buat Frame form baru dengan nama laporan_p.
3. Dengan desain seperti gambar dibawah ini :

Gambar 16.23 Tampilan desain form laporan_p

4. Penjelasan komponen yang digunakan :

83
Gambar 16.24 Tampilan tab Inspector form laporan_p

5. Listing program seperti dibawah ini :


package dt_pasien;
import java.sql.*;
import java.io.File; Perintah yang dibutuhkan
import java.sql.DriverManager; untuk membuat obyek
import java.util.HashMap; koneksi yang
import javax.swing.JOptionPane; menghubungkan obyek ke
import net.sf.jasperreports.engine.JasperFillManager; database dengan perintah
import net.sf.jasperreports.engine.JasperPrint; driver
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
private void bCetakActionPerformed(java.awt.event.ActionEvent evt) {
try{
String nmFile = "D:/data D/BAHAN PRAKTIKUM JAVA/Program
Pasien/Dt_Pasien/src/Report/report1.jasper";
String driver = "com.mysql.jdbc.Driver";
String konek = "jdbc:mysql://localhost/db_pasien";
String user = "root";
String password = "12345678";
Class.forName(driver);
Connection conn = (Connection) DriverManager.getConnection(konek, user,
password);
HashMap parameter = new HashMap();
parameter.put("pPasien", txtkode.getText().toString() );
File report_file = new File(nmFile);
JasperReport jasperReport = JasperReport)JRLoader.loadObject(report_file.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameter, conn);
JasperViewer.viewReport(jasperPrint, false);
JasperViewer.setDefaultLookAndFeelDecorated(true);
}catch (Exception e){
JOptionPane.showMessageDialog(null, "Data Tidak Dapat Dicetak","Cetak
Data",JOptionPane.ERROR_MESSAGE);
}}

6. Tambahkan frame Laporan_p ke dalam frame menuUtama. Seperti gambar


berikut ini :

84
Gambar 16.25 Tampilan desain form menu utama

7. Listing programnya seperti dibawah ini :


private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt)
{
laporan_p form1 = new laporan_p();
form1.setVisible(true);
}
private void bKeluarActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}

8. Ubah script login, dengan menghapus tanda “//” di sebelah kiri


new.menuUtama().

9. Jalankan project. Tampak hasilnya serperti gambar dibawah ini :

Gambar 16.26 Tampilan form laporan_p

10. Ketikkan kode pasien, dalam contoh KP01  Cetak

Gambar 16. 27 Tampilan laporan data pasien

85
DAFTAR PUSTAKA

F.X. Wisnu. 2010. Algoritma dan Pemrograman dengan Bahasa Java. Graha
Ilmu.Yogyakarta

Fikri, Rijalul. 2005, Pemrograman Java. Penerbit Andi. Yogyakarta.

Kadir, Abdul. 2005. Dasar Pemrograman Java 2. Penerbit Andi. Yogyakarta

Supardi, Yuniar. 2011. 5 Sistem Populer dengan Java. Elex Media Komputindo. Jakarta

https://netbeans.org/features/index.html (diakses 29 July 2013)

[Online] Burhan. Tutorial Netbeans dan JasperReport,


http://java.vavai.com/2008/01/22/tutorial-netbeans-jasper-report/ (diakses
29 July 2013)

[Online] Bima, Ifnu. Materi Pelatihan Java Swing,


https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja
&ved=0CCYQFjAA&url=http%3A%2F%2Fproject-
template.googlecode.com%2Ffiles%2Fswing-
excerpt.pdf&ei=XrlgUrm1HcWPrQfmiYD4Bg&usg=AFQjCNH4p4OvQeqY9sZ-
7bsVNPgqBGPOBg&bvm=bv.54934254,d.bmk (diakses 29 July 2013)

86

Anda mungkin juga menyukai