Modul Praktikum Pemrograman Aplikasi Java-UnHar
Modul Praktikum Pemrograman Aplikasi Java-UnHar
Disusun Oleh :
Eka rahayu, S.Kom
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
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
iv
DAFTAR TABEL
v
DAFTAR GAMBAR
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
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 :
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.
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
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
4
MODUL 2
PROGRAM DENGAN TIPE DATA DAN VARIABEL
Modul 2 membahas tentang statement output dengan print dan println dan mengenal
penggunaan variable.
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 :
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 :
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.
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
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
Hasil Output :
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 :
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
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.
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.
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 :
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 :
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 :
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 :
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 :
15
MODUL 5
PROGRAM DENGAN PERULANGAN
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.
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 :
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 :
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 :
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 :
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.
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
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.
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 :
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 :
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 :
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 :
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
int A[];
A = new int[10];
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.
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
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.
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 :
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 :
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.
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.
Hasil Output :
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
Hasil Output :
8.3 Tugas
32
MODUL 9
PEMROGRAMAN JAVA APPLICATION
java.lang.Object
java.awt.Component
java.awt.Container
java.swing.JComponent
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.
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 :
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);
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();
} }
37
Hasil Output :
a. Menghitung nilai celcius ke fahrenheit
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
39
Gambar 10.2 Tampilan Form JavaGUIView
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
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.
42
jLabel1.setText("Output");
jTextField1.setText("");
9. Buka form JavaGUIView. Klik kanan menu bar file Add From Palette Menu
Item
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
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
45
7. Merubah nama komponen dengan cara : klik kanan salah satu komponen
Change Variable Name.
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); }
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
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);
}
}
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 :
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 :)");
}
Isi text pada nama dan pilih salah satu list pekerjaan. Kemudian klik tombol
tampil.
52
MODUL 13
Mengenal jMenuBar dan jMenuItem
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
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”.
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.
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
57
Gambar 14.2 Tampilan tab Inspector pada form login
58
11. Jalankan Program. Ketikkan pada kotak user : admin1 dan pada password :
1admin Login. Jika sukses maka muncul dialog Message
12. Tambahkan Frame dengan nama MenuUtama. Dan desain frame seperti
gambar dibawah ini :
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.
kd_dokter * 1 kd_pasien *
nm_dokter nm_pasien
jns_kelamin jns_kelamin
spesialis M jns_periksa
kd_dokter **
biaya
obat
harga
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.
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.
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.
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 :
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
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 :
71
Hasil Output Program :
1. Tampilan project 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 :
72
Pada menu utama terdapat menubar File, file terdiri dari 2 submenu yaitu Data
Dokter dan Data Pasien
a. Gambar form menu utama
73
MODUL 16
MEMBUAT LAPORAN DATA PASIEN
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.
7. Pilih tab Sources dan klik tombol Add JAR/Folder. Pilih jasperreports-
4.0.2\scr Add JAR/Folder
75
8. Pilih tab javadoc dan klik tombol Add ZIP/Folder. Pilih jasperreports-
4.0.2\dist dan pilih folder doct Add JAR/Folder.
76
C. Memasang Koneksi di iReport
1. Jalankan iReport.
77
Gambar 16.9 Tampilan Jendela Database JDBC connection
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.
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
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.
19. Pilih dan drag kd_dokter pada table dokter ke tab Designer pada posisi Detail 1
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)
82
Gambar 16.21 Tampilan Preview Form Parameter
83
Gambar 16.24 Tampilan tab Inspector form laporan_p
84
Gambar 16.25 Tampilan desain form menu utama
85
DAFTAR PUSTAKA
F.X. Wisnu. 2010. Algoritma dan Pemrograman dengan Bahasa Java. Graha
Ilmu.Yogyakarta
Supardi, Yuniar. 2011. 5 Sistem Populer dengan Java. Elex Media Komputindo. Jakarta
86