2java Sri Herawati PDF
2java Sri Herawati PDF
Penulis
i
TUJUAN
Tujuan Umum
Mahasiswa dapat memahami dan menggunakan konsep pemrograman berorientasi
objek menggunakan Java
Tujuan Khusus
1. Mahasiswa mampu membuat program sederhana menggunakan Java
2. Mahasiswa mampu mengkompilasi dan menjalankan program Java
3. Mahasiswa dapat memahami dan menggunakan kondisional, perulangan
dan percabangan.
4. Mahasiswa dapat membuat program Java interaktif yang dapat mengambil
data yang diinputkan melalui keyboard oleh user.
5. Mahasiwa dapat mendeklarasikan dan membuat Array
6. Mahasiwa dapat memahami dan menggunakan encapsulation
7. Mahasiswa dapat membuat paket dalam Java
8. Mahasiswa mampu menggunakan constructor, multiple contructor, method
dan overloading.
9. Mahasiswa mampu menggunakan inheritance, superkelas, this dan
overriding.
10. Mahasiswa dapat memahami dan mampu menggunakan polymorphism,
abstract class dan interface.
11. Mahasiswa mampu menggunakan exception handling.
12. Mahasiswa dapat memahami dan mampu menggunakan file input dan
output.
13. Mahasiswa mampu menggunakan thread
14. Mahasiswa mampu menggunakan komponen class JLabel, JTextField,
JButton, JCheckBox, JRadioButton, ButtonGroup, JOptionPane, JPanel dan
LayoutManager .
15. Mahasiswa mampu menggunakan JList, JComboBox, JTable, dan JTree.s
ii
DAFTAR ISI
iii
DAFTAR GAMBAR
v
MODUL 1
MEMULAI PEMROGRAMAN JAVA
Tujuan :
1. Mahasiswa mampu membuat program sederhana menggunakan Java
2. Mahasiswa mampu mengkompilasi dan menjalankan program Java
Tugas Pendahuluan
1. Apa keungulan dan kekurangan pemrograman Java dibanding
pemrograman laiinnya? Jelaskan!
2. Salah keunggulan pemrogram Java adalah Multiplatform, mengapa
sebuah program Java bisa dijalankan pada semua sistem operasi?
3. Apa perbedaan Compiler dan Interpreter dalam bahasa
pemrograman?
1. Dasar Teori
Pengenalan Java
Java adalah bahasa pemrograman yang berbasis obyek yang berawal dari
C++. Java merupakan bahasa pemrograman yang dapat dijalankan di
berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun
Microsystems dan diterbitkan tahun 1995. Java tidak boleh disalahpahami
sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web
browser.
Untuk membuat dan menjalankan java, kita membutuhkan antara lain :
• Text Editor
Kode program Java dapat dituliskan menggunakan text editor konvensional
seperti : Notepad, Notepad++, Emacs, dsb atau menggunakan IDE
(Integrated Development Environment) yang mendukung Java seperti
NetBeans, Eclipse, JDeveloper, Jcreator, dsb.
• Java compiler
Compiler Java, yaitu javac mengkompilasi kode program Java menjadi apa
yang disebut bytecode yang disimpan dalam file yang berekstensi .class.
• Java interpreter
Program Java dijalankan menggunakan interpreter yaitu Java Virtual
Machine(JVM). Hal ini menyebabkan source code Java yang telah
1
dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang
berbeda-beda.
Ekspresi
Ekspresi adalah suatu bentuk yg menghasilkan suatu nilai. Ekspresi dapat
berupa variabel atau melibatkan operator dan operand.
Contoh :
int sum=5;
2
int finalsum;
finalsum=sum;
int a = 1+2;
Pernyataan dan Block
Pernyataan adalah satu atau lebih baris kode yang diakhiri dengan semicolon
(;). Contoh :
System.out.println(“Hello world”);
Block adalah sekumpulan pernyataan sebagai satu unit kesatuan yg berada diantara
kurung kurawal buka “{“ dan kurung kurawal tutup “}”.
Contoh :
public static void main( String[] args ){
System.out.println("Hello");
System.out.println("world");
}
2. Kegiatan Praktikum
Latihan 1 : Instalasi Software JDK dan NetBeans
1. Instalasi JDK
Jalankan file instalasi jdk-6-windows-i586.exe dan ikuti proses instalasi tahap
demi tahap.
Pilihlah direktori penginstalan default.
2. Untuk mengetahui versi JDK yang sudah terinstal dengan Command Promt
ketikkan perintah java –version seperti tampilan di bawah :
3
Gambar 1.2 konfigurasi installer Netbeans
5. Kemudian tampil pilihan paket program yang akan diinstal (sudah diset
otomatis semua paket diinstal), jika tidak semua program diinstal pilih tombol
Customize.
4. Kemudian klik Next, sehingga muncul tampilan masukan nama proyek dan
lokasi penyimpannya.
5. Klik Finish.
6. Langkah selanjutnya membuat file yang akan digunakan untuk program Java.
Untuk praktikum pemrograman berorientasi objek ini menggunakan java
class. Klik File > New File, sehingga muncul tampilan seperti gambar 1.10.
Kemudian pada Categories pilih Java, pada File Types pilih Java Class.
6
Gambar 1.10 Pilihan tipe file
7. Klik Next, kemudian muncul tampilan yang meminta masukan nama file dan
lokasi penyimpanan file seperti tampilan berikut :
7
Keterangan :
• Nama dari program harus sama dengan nama file dan bersifat case sensitif
• Komentar adalah bagian dari program Java yang akan diabaikan pada saat
eksekusi. Pada Java komentar dapat dibuat dengan dua cara :
- Diawali dengan tanda /* dan diakhiri dengan tanda */
- Diawali dengan tanda // sampai ke akhir baris
• Dokumentasi pada program java diawali dengan tanda /** dan diakhiri
dengan tanda */
• Program Java mempunyai satu metode bernama main.
10. Compile file dengan menggunakan tombol Shift + F6 atau tekan menu Run >
Run File, hasilnya berupa file Coba.class
11. Setelah dijalankan dan program tidak ada yang salah maka akan muncul
tampilan hasil seperti berikut :
12. Apabila dalam satu proyek memiliki banyak file maka untuk mengatur file
yang akan dijalankan dan dikompilasi pertama kali harus diatur dengan
menekan menu Run > Set Project Configuration > Customize, seperti pada
tampilan berikut :
3. Tugas
1. Modifikasi program pada latihan 3 dengan menambahkan operasi y = ++x
dan y = --x. Apa perbedaannya?
2. Buat listing program sehingga menghasilkan tampilan berikut :
9
3. Buat program untuk menghitung nilai rata-rata dari 5 bilangan, sehingga
menampilkan hasil seperti berikut :
10
MODUL 2
KONDISIONAL, PERULANGAN DAN PERCABANGAN
Tujuan :
Mahasiswa dapat memahami dan menggunakan kondisional, perulangan
dan percabangan.
Tugas Pendahuluan
1. Apa perbedaan penggunaan if dan case dalam pernyataan kondisional?
Jelaskan dan beri contoh !
2. Apa perbedaan penggunaan break, continue dan return? jelaskan dan
beri contoh !
3. Apa perbedaan perulangan while dan do-while? Jelaskan dan beri
contoh!
1. Dasar Teori
Kondisional
Pernyataan kondisional memanfaatkan ekspresi boolean yang dapat berupa
true atau false (sehingga disebut binary decision). Pernyataan kondisional terdiri
dari :
1. Pernyataan if
Pernyataan if menentukan sebuah statement yang akan dieksekusi jika dan
hanya jika persyaratan boolean (boolean statement) bernilai true.
Bentuk umum pernyataan if sebagai berikut :
if( boolean_expression )
{
statement;
}
2. Pernyataan if – else
Pernyataan if-else digunakan apabila kita ingin mengeksekusi sebuah
statement dengan kondisi true dan statement yang lain dengan kondisi false.
Bentuk umum sebagai berikut :
if( boolean_expression )
{
statement;}
else{
statement;
….; }
11
3. Pernyataan if-else if
Pernyataan if yang memiliki beberapa kondisi dinamakan multiple if
condition.
Bentuk umum sebagai berikut:
if( boolean_expression1 )
{
statement;
}
else if (boolean_expression2){
statement;
….;}
else{
statement;
…;
}
4. Pernyataan if bersarang (nested if)
Pernyataan if yang berada di dalam pernyataan if lainnya.
Bentuk umum if bersarang sebagai berikut :
if( boolean_expression1 )
{
if (boolean_expression2){
statement;
….;}
}
else{
statement;
…
}
5. Pernyatan switch
Pernyataan switch memungkinkan untuk melakukan sejumlah tindakan
berbeda terhadap sejumlah nilai. Bentuk pernyataan ini sebagai berikut :
switch( switch_expression ){
case case_selector1:
statement1; //block 1
. . . //
break;
...
default:
statement1; //
statement2; //block n
12
. . . //
break;
}
Perulangan
Perulangan dalam Java terdiri dari :
1. Pernyataan while
Pernyataan while akan dijalankan secara terus-menerus selama kondisi
bernilai benar(true). Bentuk perulangan while sebagai berikut :
while( boolean_expression )
{
statement1;
statement2;
...
}
2. Pernyataan do..while
Pernyataan do..while, statement dieksekusi setidaknya satu kali. Bentuk
perulangan ini sebagai berikut :
do{
statement1;
statement2;
...
}while( boolean_expression );
3. Pernyataan for
Pernyataan for , melakukan eksekusi pengulangan beberapa kali. Bentuk
perulangan ini sebagai berikut :
for (Initialization; LoopCondition;
StepExpression){
statement1;
statement2;
...
}
Keterangan:
• Initialization – inisialisasi dari variabel loop.
• LoopCondition - membandingkan variabel loop pada nilai batas.
• StepExpression - melakukan update pada variabel loop.
13
Percabangan
Pada percabangan ini terdiri dari break (untuk menghentikan jalannya
statement) dan continue (untuk mengarahkan eksekusi ke kondisi pernyataan
perulangan shg kondisi akan dievaluasi lagi.
2. Praktikum
Latihan 1 : Pemeriksaan kondisi tunggal
Pada bagian pertama dari praktikum pertemuan ini, kita akan belajar melakukan
pemeriksaaan kondisi tunggal.
1. Buat sebuah class dengan nama BelajarCabang.java.
4. Simpan hasil update dari file BelajarCabang.java. Kompilasi dan jalankan file
classnya. Perhatikan tampilannya.
14
4. Simpan dan kompilasi file BelajarCabang.java.
6. Apabila variabel a diisi dengan -5 dan b diisi dengan -3, apakah hasil
eksekusi program tersebut ?
15
Latihan 4 : Pemeriksaan Kondisi Bersarang
Pada bagian ini, kita akan belajar melakukan pemeriksaan kondisi yang ada di
dalam pemeriksaan kondisi yang lain.
1. Gunakan file CekBulan.java.
2. Modifikasi dengan menambah variabel bertipe integer dengan nama tahun.
5. Gantilah nilai yang disimpan dalam variabel tahun menjadi 2016. Apakah
tampilan yang muncul pada layar? Tampilkan nilai tahun di sebelah kanan
nama bulan!
16
4. Simpan file CekBulan.java. Kompilasi dan lakukan pengujian pada class.
4. Apabila counter++ < 10 diganti conuter > 10, apakah tampilan yang muncul
pada layar?
17
4. Simpan dan kompilasi hingga menjadi class BelajarPerulangan, sehingga
menghasilkan tampilan berikut :
18
3. Tugas
1. Buat program untuk menghitung jumlah vokal, konsonan dan karakter lain
dalam suatu kalimat ”Belajar Bahasa Pemrograman Java 2”
Maka hasil dari program tersebut adalah 12 vokal, 16 konsonan dan 5
karakter lain.
2. Buat program dengan menggunakan perulangan while, do-while dan for
untuk menghitung pangkat sebuah nilai berdasarkan angka dan nilai
pangkatnya.
3. Buat program untuk menghitung FPB (Faktor Persekutuan Terbesar) dari dua
bilangan bulat bertipe integer. Keluaran dari program ini adalah FPB dari dua
bilangan diatas. Misalkan ingin mencari FPB dari 228 dan 90.
4. Buat program untuk mengkonversi dari bilangan desimal ke bilangan biner
dan dari bilangan biner ke desimal.
5. Buat program untuk mengkonversi suatu nilai ke format bilangan Romawi,
misalkan: 27 akan menghasilkan keluaran “XXVII”.
19
MODUL 3
USER INPUT
Tujuan :
Mahasiswa dapat membuat program Java interaktif yang dapat mengambil
data yang diinputkan melalui keyboard oleh user.
Tugas Pendahuluan
1. Sebutkan dan Jelaskan method-method yang dimiliki Kelas InputStream
dan OutputStream?
2.
1. Dasar Teori
Stream
Stream merupakan proses utk membaca data dari suatu sumber atau
mengirimkan data ke suatu tujuan. Stream standar terdiri dari :
• System.in, berguna utk menangani pembacaan dari keyboard
• System.out, berguna utk mengirimkan keluaran ke layar
• System.err, berguna utk mengirimkan kesalahan.
Buffered Stream
Java menyediakan library yang berisi implementasi dari buffered I/O
streams. Buffered input streams berfungsi untuk membaca data dari area memory
yang disebut sebagai buffer. Sedangkan buffered output streams berfungsi untuk
menulis data ke dalam buffer. Buffered stream menyedikan kelas BufferedReader
yang memungkinkan pembacaan data dari peranti yang berbasis karakter, misal
keyboard. Salah satu metode dalam kelas ini yaitu readLine() yang memungkinkan
pembacaan sebuah baris teks. Untuk menggunakan kelas ini membutuhkan import
dari paket io, seperti berikut :
import java.io.*;
Scanner
Scanner merupakan kelas yang disediakan Java dan kita dapat
menggunakan dengan cara mengimportnya dari paket util. Sintak untuk
mengimport kelas ini sebagai berikut :
import java.util.Scanner;
atau
import java.util.*;
20
Metode yang ada dalam kelas Scanner yaitu:
• nextLine() untuk membaca inputan string
• nextInt() untuk membaca inputan integer
• nextDouble() untuk membaca inputan double
2. Kegiatan Praktikum
Latihan 1 : BufferedReader dan InputStreamReader
Pada bagian pertama dari praktikum ini, kita akan belajar menggunakan class
BufferedReader dan InputStreamReader untuk membaca inputan user.
1. Buat projek baru dengan nama Modul3, kemudian buat file dengan nama
InputBuffer.java dan ketikkan program di bawah ini :
21
8. Saat program dijalankan, Anda akan mendapatkan interaksi sebagai berikut :
9. Program diatas bisa dimodifikasi seperti berikut dengan hasil eksekusi yang
sama :
Latihan 2: Scanner
Pada bagian kedua, kita akan belajar memanfaatkan class Scanner untuk membaca
inputan.
1. Buat file InputScanner.java dan simpan dalam direktori yang sama dengan
file pada percobaan di atas.
2. Tambahkan import pada paket java.util agar class Scanner dapat digunakan.
22
3. Tugas
1. Buat program untuk menghitung selisih waktu yang dimasukkan pengguna
dengan waktu pada sistem komputer. Contoh : Jika pengguna memasukkan
09:00:00 dan waktu pada komputer 08:30:15 maka program akan
menampilkan 00:29:45. Masukan dari program ini adalah enam bilangan
bulat yang masing-masing melambangkan jam, menit dan detik dengan
menggunakan format jj:mm:dd.
2. Buat program untuk menghitung berapa banyak jumlah lembaran uang dalam
pecahan limapuluh-ribuan, sepuluh-ribuan, lima-ribuan, seribuan, lima-
ratusan dan seratusan yang dibutuhkan untuk membayar suatu barang dalam
kelipatan seratusan, tipe data longint. Inputan data melalui keyboard. Contoh
masukan dan keluaran :
Harga : 27500 Harga : 236200
50000 :0 50000 :4
10000 :2 10000 :3
5000 :1 5000 :1
1000 :2 1000 :1
500 :1 500 :0
100 :0 100 :2
23
MODUL 4
JAVA ARRAY
Tujuan :
Mahasiwa dapat mendeklarasikan dan membuat Array
Tugas Pendahuluan
1. Apa keuntungan array dibandingkan dengan deklarasi banyak variabel
untuk tipe data yang sama ? Jelaskan dan beri contoh!
2. Buat program penjumlahan, pengurangan matriks?
1. Dasar Teori
Array adalah sebuah variabel/sebuah lokasi tertentu yang memiliki satu
nama sebagai identifier, namun identifier ini dapat menyimpan lebih dari sebuah
nilai. Nilai yang tersimpan pada array disebut elemen yang untuk mengaksesnya
menggunakan angka index. Java memulai angka indeks dari angka 0. Panjang
array menyatakan kapasitas dari array, yaitu banyaknya ruang dalam memori yang
digunakan. Indeks array yang mengaksesnya tidak boleh melebihi kapasitas array
tersebut.
24
2. Kegiatan Praktikum
Latihan 1 : Array satu dimensi
Pada latihan ini akan mengimplementasikan penggunaan array satu dimensi.
1. Buat proyek dengan nama Modul4, kemudian buat file dengan nama
BelajarArray.java dan ketikkan program seperti berikut :
25
2. Kompilasi dan jalankan program tersebut, sehingga menampilkan tampilan
berikut :
3. Tugas
1. Buat program perkalian matrik dengan kolom dan baris berdasarkan masukan
pengguna.
2. Buat program untuk mencari nilai maksimum dan minimum dari sejumlah
bilangan bulat (N) yang dimasukkan pengguna.
3. Buatlah program untuk 1000 orang (laki-laki dan perempuan) yg akan dibuat
data statistik jenis kelamin, bulan kelahiran, hari kelahiran dan yg terbanyak
di lahir di bulan, hari dan jenis kelamin apa?? Untuk mendapatkan jenis
kelamin, bulan dan hari lahir secara acak (Random). Output :
Jan Feb Mar Apr Mei Jun Jul Ags Sep Okt Nov Des
Sen 7 7 9 4 3 10 7 9 5 7 6 4
Sel 6 6 4 5 7 5 5 6 4 7 2 4
Rab 9 5 9 5 4 6 4 3 14 8 7 7
Kam 6 2 5 9 7 1 11 6 0 3 7 7
Jum 1 7 10 1 2 8 7 7 1 7 8 4
Sab 3 7 11 5 7 9 6 7 8 3 6 6
Min 5 7 8 7 9 7 8 4 8 8 8 13
Jumlah Laki-laki 517
Jan Feb Mar Apr Mei Jun Jul Ags Sep Okt Nov Des
Sen 11 5 2 4 6 9 4 3 7 8 5 7
Sel 6 6 10 1 4 4 5 4 10 6 6 7
Rab 6 6 3 6 9 7 6 5 13 3 3 6
Kam 9 7 4 7 4 4 11 1 7 6 5 5
Jum 8 5 6 4 7 5 9 5 4 1 4 2
Sab 3 4 1 6 10 8 9 6 7 8 7 8
Min 1 8 7 7 5 7 6 3 2 5 7 5
Jumlah Perempuan 483
Terbanyak adalah Laki-laki di bulan Sep hari Rab 14 Orang
26
MODUL 5
MEMULAI PEMROGRAMAN BERORIENTASI OBJEK
Tujuan :
1. Mahasiwa dapat memahami dan menggunakan encapsulation
2. Mahasiswa dapat membuat paket dalam Java
Tugas Pendahuluan
1. Apa perbedaan antara class dan objek? Jelaskan dan beri contoh !
2. Pada kasus-kasus tertentu, objek bisa menjadi class dan class bisa
menjadi objek. Beri contoh mengenai pernyataan tersebut?
1. Dasar Teori
Konsep pemrograman berorientasi objek
Pemrograman berorientasi obyek (PBO) memungkinkan sistem kompleks
dipecah ke dalam bagian-bagian kecil yang lebih mudah dipahami dan
diselesaikan. Bagian-bagian (kecil) kode program dapat digunakan ulang oleh
banyak aplikasi untuk menyelesaikan berbagai masalah. Dalam PBO ini program
dibuat berdasarkan objek. Objek merupakan suatu bentuk atau model yang
tergantung dari cara pandang objek dimaksud. Meja, kursi dan jam dinding berada
dalam objek ruangan. Ruang A, ruang B, dan Ruang C berada dalam objek rumah.
Setiap objek memiliki atribut (state) dan method (behaviour). Atribut
merupakan segala sesuatu yang berhubungan dengan karakteristik objek seperti :
tipe, warna . Method adalah fungsi atau segala sesuatu yang dapat dilakukan objek,
seperti melindungi dari panas, hujan. Ruangan dan rumah ini yang dinamakan
class. Class adalah prototipe yang mendefinisikan variabel-variabel dan method-
method secara umum. Objek merupakan instansiasi dari class.
28
Mendeklarasikan kelas dan atribut
Kelas dideklarasikan seperti sintaks berikut :
<modifier> class namaClass
{
[deklarasi atribut]
[deklarasi konstruktor]
[deklarasi method]
}
Atribut dideklarasikan seperti sintaks berikut :
<modifier>tipeData namaAtribut;
Mengakses Class
Untuk mengkases class, kita harus buat instansiasi dari kelas seperti sintaks berikut
(ditempatkan di method main):
nama_class variabel = new nama_class();
Paket
Paket merupakan pengelompokan sejumlah kelas yang terkait ke dlm
sebuah unit. Java memiliki beragam paket yang didalamnya terdapat kelas-kelas
dengan beragam fungsi. Java lang, Java AWT, Java swing, Java Util, java Math
adalah diantara contoh paket yang jumlahnya sangat banyak karena lengkapnya
library java. Kita juga dapat membuat paket sendiri.
Contoh 1 :
package kendaraan;
public class Mobil{
public void info(){
System.out.println("Mobil");
}
}
Contoh 2 :
package kendaraan;
public class sepeda{
public void info(){
System.out.println("Sepeda");
}
}
Dari kedua contoh diatas menyatakan bahwa kelas berikutnya(mobil maupun
sepeda) disatukan dalam sebuah paket kendaraan. Sebuah berkas hanya boleh
mengandung sebuah pernyataan package. Untuk mengakses class pada peket yang
telah dibuat menggunakan perintah import.
Bentuk :
import nama_paket.nama_berkas
29
Apabila menemui pengimporan paket spt dibawah ini
import nama_paket.*;
tanda * (wildcard) menyatakan semua kelas pada paket nama_paket.
Contoh :
import kendaraan.*;
berarti semua kelas yang berada pada paket kendaraan.
2. Kegiatan Praktikum
Latihan 1: membuat class 1
Pada latihan ini, Kita akan belajar membuat kelas sendiri.
1. Buat file BelajarClass.java
2. Buat sintaks program untuk menghitung luas persegi panjang dengan
deklarasi atribut panjang dan lebar diletakkan di class PersegiPanjang
5. Jika atribut panjang dan lebar pada class PersegiPanjang ditambah modifier
private, apakah yang terjadi?
2. Tambahkan sintaks berikut pada class BelajarClass dlm method main, seperti
sintaks program berikut:
30
3. Kompilasi dan jalankan file sehingga menghasilkan tampilan berikut :
3. Tugas
1. Buat program untuk menampilkan data mahasiswa berikut(mendeklarasikan
class untuk atribut nrp,nama,tgllahir dan alamat) :
Nrp Nama TglLahir Alamat
1051140009 Deni Susanto 12/8/1989 Surabaya
1051140011 Fitria Agustin 1/2/1987 Bangkalan
31
MODUL 6
CONSTRUCTOR
Tujuan :
Mahasiswa mampu menggunakan constructor, multiple contructor, method
dan overloading.
Tugas Pendahuluan
1. Apa perbedaan accessor dan mutator pada method? Jelaskan dan beri
contoh !
2. Bagaimana deklarasi konstruktor lebih dari satu di dalam class?
1. Dasar Teori
Constructor
Constructor adalah sebuah method yang mempunyai fungsi istimewa
yaitu, method tersebut akan dieksekusi pertama kali saat instance dari class yang
bersangkutan dibuat. Nama dari constructor haruslah sama dengan nama class-nya,
dan constructor tidak memberikan nilai balik (return value).
Syntax pendeklarasiannya adalah sebagai berikut,
NamaClass(daftar_parameter) //method header
{
// method body
}
Pada struktur constructor di atas dapat diambil kesimpulan bahwa setiap method
yang konkrit termasuk constructor terdiri dari bagian method header dan method
body. Header berisi nama method yang dalam kasus constructor nama class yang
digunakan. Header juga dapat berisi parameter atau tanpa parameter.
Multiple
Class dapat terdiri dari hanya sebuah constructor atau beberapa (multiple)
constructor. Constructor dapat disediakan sesuai dengan kebutuhan. Artinya
sebuah class dapat terdiri dari beberapa constructor.
NamaClass() //constructor pertama
{
// method body
}
Method
Method merupakan blok yang berisi kumpulan perintah, memiliki nama
method, memiliki nilai balik dan dapat diatur hak aksesnya. Method dapat berisi
daftar parameter atau boleh dibiarkan kosong (tanpa parameter).
Nilai balik dapat berupa tipe data primitif (void, int, double, boolean, char) atau
dapat berupa tipe data referensi/class (String, Integer, Double, Boolean). Method
yang memiliki nilai balik void tidak menghasilkan nilai di bagian akhir prosesnya.
Method ini biasa dikenal dengan prosedur. Method yang memiliki nilai balik selain
void, menghasilkan nilai di bagian akhir prosesnya. Method ini dapat disebut
sebagai fungsi. Nilai yang dihasilkan oleh fungsi dikirim keluar dari blok fungsi
menggunakan kata kunci return diikuti dengan variabel yang memiliki tipe yang
sesuai dengan nilai balik.
Overloading
Overloading adalah suatu mekanisme pembuatan kontruktor yg memiliki
bentuk lebih dari satu (multiple). Karena constructor adalah bentuk khusus dari
method maka overloading juga berlaku pada method.
33
2. Kegiatan Praktikum
Latihan 1 : Membuat metod
Kita memulai untuk mengimplementasikan penggunaan konstruktor dan metod
menggunakan bahasa Java.
1. Buat file BelajarMetod.java.
2. Tambahkan method utama void main seperti di bawah ini.
3. Pada file yang sama tambahkan definisi class yang kedua, BilanganBulat.
10. Kita telah selesai dengan class BilanganBulat. Berikutnya kita akan
menambahkan kode ke dalam main method dari class BelajarMetod.
34
11. Tambahkan baris perintah untuk menginstansiasi atau mendefinisikan sebuah
variabel bertipe class BilanganBulat dengan mengirim nilai awal.
12. Melalui instant dengan nama a, panggil method tambah sambil mengirim nilai
bertipe integer.
17. Kompilasi dan jalankan program sehingga menampilkan hasil seperti berikut :
35
3. Simpan file BelajarConstructor.java kemudian lakukan kompilasi dan
jalankan program untuk melakukan pengujian pada class ini.
4. Bagian mana yang disebut dengan multiple-constructor?
5. Bagian mana yang disebut dengan overloading constructor?
6. Bagian mana yang disebut dengan daftar parameter?
36
8. Simpan file BelajarConstructor.java, lakukan kompilasi dan ujilah program
ini.
3. Tugas
1. Modifikasi latihan 3 dengan menambahkan accessor metod dengan nama
getbil1 dan getbil2 yang mempunyai nilai balik integer. Masing-masing
method ini digunakan untuk mendapatkan nilai yang disimpan di dalam
variabel bil1 dan bil2.
2. Buat sebuah class yg memuat data-data buku pada perpustakaan. Tabel
berikut mendefinisikan informasi yang ada pada buku :
Atribut deskripsi
Judul Judul buku
Pengarang Pengarang buku secara lengkap
Penerbit Penerbit buku
Tahun Tahun buku diterbitkan
37
MODUL 7
INHERITANCE
Tujuan :
Mahasiswa mampu menggunakan inheritance, superkelas, this dan
overriding.
Tugas Pendahuluan
1. Apa perbedaan antara Overloading dan overriding? Jelaskan dan beri
contoh !
2. Bagaimana sintaks untuk memanggil class induk? Jelaskan!
1. Dasar Teori
Inheritance
Inheritance merupakan salah satu dari 3 konsep dasar OOP(Object Oriented
Programming). Konsep inheritance ini mengadopsi dunia riil dimana suatu
entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep
inheritance, sebuah class dapat mempunyai class turunan. Suatu class yang
mempunyai class turunan dinamakan parent class atau base class atau superclass .
Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class.
Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
Misal : Kelas B adalah kelas anak dari kelas A, maka sifat – sifat dari kelas A
otomatis akan dimiliki juga oleh kelas B.
Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian
diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu
kompiler Java bahwa kita ingin melakukan perluasan class.
Bentuk :
class kelasturunan extends kelasparent
{
tubuhkelas
}
Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang
dapat diperluas dari class lain. Konsep inheritance yang ada di Java adalah Java
hanya memperkenankan adanya single inheritance. Konsep single inheritance
hanya memperbolehkan suatu sublass mempunyai satu parent class.
Method Superkelas
Cara untuk memanggil metode superkelas dari subkelas dgn kata kunci
super yang berarti superkelas.
38
Kata Kunci this
Kata kunci this digunakan pada pembuatan class yang menyatakan objek
sekarang.
Overriding
Menulis ulang definisi suatu method yang memiliki method header yang
sama dengan method yang dimiliki oleh superclassnya disebut sebagai overriding.
2. Kegiatan Praktikum
Latihan 1 : Pewarisan
1. Buat file BelajarPewarisan.java.
2. Tambahkan kode class BelajarPewarisan , class SuperClass dan class
SubClass ke dalam file tersebut.
39
Latihan 2 : Overriding
1. Buat file Overriding.java
2. Buat class Hewan, kemudian tambahkan sintaks berikut :
3. Buat class Sapi.java yang merupakan turunan dari class Hewan, kemudian
tambahkan sintaks berikut :
4. Buat class Kucing.java yang merupakan turunan dari class Hewan, kemudian
tambahkan sintaks berikut :
40
3. Tugas
1. Modifikasi latihan 2 diatas dengan menambahkan class Ayam yang
merupakan turunan dari class hewan.
2. Buat program perbankan yang mempunyai objek seperti berikut :
a. Nasabah
atribut : id,no_identitas,nama, alamat
b. Tabungan
atribut : tgl, debet,kredit,saldo
c. Tabungan Deposito, turunan dari objek Tabungan
atribut : jatuh_tempo
d. Tabungan Pinjaman, turunan dari objek Tabungan
atribut : batas_kredit, cicilan_min
untuk setiap objek yang dibuat tambahkan konstruktor, accessor dan mutator
41
MODUL 8
POLYMORPHISM
Tujuan :
Mahasiswa dapat memahami dan mampu menerapkan polymorphism,
abstract class dan interface.
Tugas Pendahuluan
1. Apa perbedaan abstrak class dan class? Jelaskan dan beri contoh!
2. Bagaimana cara menurunkan interface ke dalam interface lain?
1. Dasar Teori
Polymorphism
Pada Java, subclass dapat mendefinisikan ulang instance methods yang
ada pada superclass-nya. Akibatnya, jika instance methods tersebut dipanggil pada
object yang berasal dari subclass, maka instance methods dari subclass-lah yang
akan dieksekusi. Konsep ini disebut sebagai overriding. Adanya konsep overriding
ini, memberikan sifat polymorphism pada objek yang ada pada Java.
Polymorphism berasal dari bahasa yunani yang berarti banyak bentuk.
Polymorphism adalah suatu sifat dimana instance methods dari suatu superclass
akan berkelakuan sesuai dengan definisi yang ada pada subclass yang menjadi
referensi dari suatu objek. Konsep ini memungkinkan objek melakukan aksi atau
tindakan yang mungkin secara prinsip sama namun prosesnya berbeda.
42
Abstract
Kelas abstrak adalah kelas yang mengandung konsep abstrak sehingga
tidak mungkin mempunyai instans. Misalnya suatu kelas abstrak Buah yang
mengandung konsep tentang bagian dari tumbuhan yang dapat dimakan. Namun
kita tidak dapat menciptakan sebuah instans dari kelas tersebut karena tidak masuk
akal menciptakan suatu Buah. Yang mungkin adalah menciptakan instans dari
kelas Jeruk, Apel, atau kelas lain yang sudah mengimplementasikan konsep abstrak
dari buah.
Kelas abstrak dapat mengandung metode abstrak, yaitu metode yang tidak
memiliki implementasi. Dengan begitu, kelas abstrak dapat menentukan bagaimana
konsep abstrak tersebut diimplementasikan oleh subkelas yang akan
menggunakannya. Kelas abstrak tidak harus memiliki metode abstrak, namun
setiap kelas yang memiliki metode abstrak haruslah menjadi kelas abstrak.
Interface
Interface adalah mekanisme yg memungkinkan berbagi konstanta atau
menentukan bentuk metode yg dpt digunakan oleh sejumlah kelas. Variabel dlm
interface hanya diperkenankan utk menggunakan public static final.Sedangkan
Methods yang ada dalam interface hanya berupa deklarasi tanpa implementasi.
Interface dapat diimplementasikan oleh class, dan dapat diturunkan menjadi
interface lain.
Untuk dapat menggunakan interface, suatu class harus dideklarasikan
untuk mengimplementasikan interface tersebut, dan semua methods pada interface
juga harus diimplementasikan pada class tersebut.
Mendeklarasikan interface :
public interface namainterface{
//metode tanpa implementasi
//definisi konstanta
}
Menggunakan interface :
Sebuah class dpt menggunakan interface melalui kata kunci implements.
class namakelas1 [extends namakelas2]
implements namainterface1[,namainterface2]{
//tubuh kelas
}
2. Kegiatan Praktikum
Latihan 1 : Polymorphism
1. Buat package(=membuat proyek) dengan nama Modul8
2. Kemudian ketikkan program seperti di bawah ini :
43
3. Kemudian tambahkan accessor dan mutator untuk class Person
44
6. Simpan file dengan nama Student.java
7. Buat file baru dengan nama Employee.java, kemudian ketikkan program di
bawah ini :
8. Buat file baru dengan nama Main.java, ketikkan kode program di bawah ini :
45
9. Kompilasi dan jalankan file sehingga menghasilkan tampilan berikut :
46
4. Kemudian lakukan kompilasi terhadap program tersebut.
5. Pastikan program menghasilkan tampilan seperti di bawah ini.
Latihan 3 : interface
1. Buat file baru dengan nama AksesInterface.java, ketikkan kode program
seperti di bawah ini :
3. Tugas
1. Lakukan modifikasi pada latihan 1: polymorphism untuk menampilkan
alamat dan hobby dari Student dan Employee.
2. Buat abstract class dengan nama Shape dengan method abstract getArea() dan
getName. Tulis dua subclassnya yaitu Circle dan Square. Anda dapat
menambahkan method tambahan ke dalam subclass jika diinginkan.
3. Modifikasi latihan 3 dengan menambahkan class Ani, usia 20, jenis
kelaminnya perempuan.
48
MODUL 9
EXCEPTION HANDLING
Tujuan :
Mahasiswa mampu menggunakan exception handling.
Tugas Pendahuluan
1. Dalam penanganan eksepsi, kelas Throwable mempunyai sub class
yang bisa digunakan? Sebutkan dan jelaskan!
2. Apa perbedaan penggunaan try-catch dan try-catch-finally? Jelaskan
dan beri contoh !
1. Dasar Teori
Exception
Exception adalah sebuah peristiwa yang menjalankan alur proses normal
pada program. Peristiwa ini biasanya berupa kesalahan(error) dari beberapa
bentuk. Ini disebabkan program kita berakhir tidak normal. Contoh :
ArrayIndexOutOfBounds, yang terjadi jika kita mencoba mengakses elemen array
yang tidak ada, atau NumberFormatException, yang terjadi ketika kita mencoba
melalui parameter bukan angka dalam method Integer.parseInt.
Menangani Exception
Untuk menangani exception dalam Java, kita gunakan blok try-catch-
finally. Apa yang kita lakukan dalam program kita adalah kita menempatkan
pernyataan yang mungkin menghasilkan exception dalam blok ini.
Bentuk umum dari blok try-catch-finally adalah:
try{
//tulis pernyataan yang dapat mengakibatkan exception dalam blok ini
}
catch( <exceptionType1> <varName1> ){
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
...
catch( <exceptionTypen> <varNamen> ){
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
finally{
//tambahkan kode terakhir di sini
49
}
Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan
ditangani dalam blok catch. Kode dalam blok finally selalu di-eksekusi.
Setiap blok try, terdapat satu atau lebih blok catch, tetapi hanya satu blok
finally. Blok catch dan blok finally harus selalu muncul dalam konjungsi dengan
blok try, dan diatas urutan Blok try harus diikuti oleh paling sedikit satu blok
catch atau satu blok finally, atau keduanya. Setiap blok catch mendefinisikan
sebuah penanganan exception. Header dari blok catch harus membawa satu
argumen, dimana exception pada blok tersebut akan ditangani. Exception harus
menjadi class pelempar atau satu dari subclassesnya.
51
4. Pada percobaan diatas akan menampilkan segitiga sesuai dengan masukan
user. Program tersebut akan terjadi exception jika user memasukkan bukan
bilangan.
3. Tugas
1. Modifikasi pada latihan 2 utk menghasilkan segitiga yang diinginkan user
seperti segitiga sama sisi, segitiga sama kaki.
2. Beri eksepsi pada latihan 2 jika yang dimasukkan bukan bilangan.
3. Buat program memasukkan data sejumlah N melalui inputan user dengan
menggunakan array. Kemudian beri eksepsi untuk mengecek jika data yang
dimasukkan bukan bilangan. Tambahkan juga fasilitas pencarian data.
52
MODUL 10
FILE INPUT / OUTPUT
Tujuan :
Mahasiswa dapat memahami dan mampu menggunakan file input dan
output
Tugas Pendahuluan
1. Sebutkan dan jelaskan method yang dimiliki FileOutputStream dan
FileInputStream?
2. Sintaks apa yang digunakan untuk menggabung dua berkas yang
dibuat?
1. Dasar Teori
File
File yaitu kumpulan data yang disimpan dalam hard disk, disket atau CD-
ROM, USB stick, dan lain-lain. File disusun dalam direktori (atau sering juga
disebut folder). Program dapat membaca data dari file yang sudah ada. Program
juga bisa membuat file baru atau menulis data ke dalam file yang sudah ada.
Dalam Java, input dan output seperti ini bisa menggunakan aliran
(stream). Data karakter yang bisa dibaca manusia dapat dibaca dari file dengan
menggunakan objek dari kelas FileReader yang merupakan kelas turunan Reader.
Data bisa ditulis dalam bentuk yang bisa dibaca manusia dengan menggunakan
FileWriter yang merupakan kelas turunan dari Writer.
Untuk membaca atau menyimpan suatu file dalam format mesin, kelas
I/O-nya adalah FileInputStream dan FileOutputStream. Semua kelas ini
didefinisikan dalam paket java.io.
FileInputStream
FileInputStream merupakan kelas turunan dari kelas InputStream yang
berguna untuk membaca data dari suatu berkas. Metode yang ada dalam
FileInputStream antara lain :
• Metode read() untuk membaca data.
• Metode close() utk menutup berkas
• Metode available() utk memperoleh jumlah data yang bisa dibaca
53
SequenceInputStream merupakan kelas turunan dari InputStream. Kelas
ini berguna untuk menggabungkan dua buah Stream masukan atau lebih menjadi
sebuah stream masukan.
FileOutputStream
FileOutputStream merupakan kelas turunan dari OutputStream. Kelas ini
berfungsi untuk menuliskan keluaran ke suatu berkas.
Bentuk umum :
FileOutputStream berkaskeluaran = new FileOutputStream(“tes.txt”);
Metode yang ada dalam kelas FileOutputStream adalah :
• Metode write() utk menuliskan ke berkas.
• Metode close() utk menutup berkas
Untuk menampilkan berkas yang telah dibuat, gunakan perintah :
type nama_berkas
2. Kegiatan Praktikum
Latihan 1 : FileOutputStream
1. Buat proyek dengan nama Modul10, kemudial buat file dengan nama
BerkasOutput.java.
54
Latihan 2: FileInputStream
1. Buat file baru dengan nama BerkasInput.java, ketikkan kode program di
bawah ini :
3. Tugas
1. Buat program java dengan menggunakan FileOutputStream untuk
menampilkan tulisan “Praktikum PBO”.
2. Buat program untuk menggabungkan dua berkas file, berkas 1 berisi tulisan
“Praktikum PBO”, berkas 2 berisi tulisan “menggunakan Java OK”. Setelah
digabung menjadi “Praktikum PBO menggunakan java OK”.
3. Buat program untuk mengganti nama berkas tes.txt pada latihan 1 menjadi
prak.txt.
4. Buat program untuk menghapus berkas prak.txt pada tugas 3.
55
MODUL 11
THREAD
Tujuan :
Mahasiswa mampu menggunakan thread
Tugas Pendahuluan
1. Apa fungsi thread dalam pemrograman Java? Jelaskan dan beri
contoh!
2. Bagaimana cara mengimplementasikan Thread dalam pemrograman
Java?
3. Jelaskan tentang Multiple Thread?
1. Dasar Teori
Thread
Saat sebuah aplikasi Java mengerjakan beberapa pekerjaan secara
bersamaan, hal ini disebut sebagai multithreading atau paralellism atau
concurrency. Program yang menggunakan teknik Sekuensial menjalankan satu
proses hingga selesai kemudian dilanjutkan dengan mengeksekusi proses
berikutnya dan seterusnya. Thread membuka kemungkinan untuk
mengkoordinasikan beberapa proses sehingga dapat dijalankan tidak harus
berurutan bahkan seakan berjalan bersamaan.
Thread dapat dibangun dengan menggunakan dua cara. Cara pertama
adalah dengan menurunkan sifat dari class Thread atau extends Thread.
class NamaThread extends Thread
56
Setelah obyek thread terbentuk, obyek ini dapat dioperasikan dengan memanggil
method start.
NamaThread contoh = new NamaThread();
contoh.start();
Thread yang berjalan dapat dikontrol di antaranya dengan mengatur waktu tampil
dengan pemanggilan method sleep.
Thread.sleep(1000);
2. Kegiatan Praktikum
1. Buatlah file BelajarThread.java. Tambahkan struktur class BelajarThread
yang di dalamnya dilengkapi dengan definisi method main.
3. Di dalam method main, buat sebuah instant dari class CobaSleep dengan
nama instant1. Kemudian panggil method istirahat dari instant1.
57
5. Cobalah untuk mengubah nilai-nilai yang dicetak, sehingga program dapat
menampilkan nilai bilangan ganjil saja!
6. Cobalah untuk mengubah jeda dari 1 detik menjadi 4 detik!
58
11. Definisi method run berisi perulangan untuk mencetak ucapan “Hello?”
sebanyak range yang ditentukan oleh variabel counter. Beri jeda antar proses
penampilan teks dengan method sleep sebesar 1 detik.
12. Setelah dua class yang merupakan jenis Thread disiapkan, langkah berikutnya
adalah membuat instant thread dari masing-masing class. Letakkan kode
pembuatan instant ini di dalam method main. Jangan lupa untuk memberi
tanda komentar pada baris kode sebelumnya yang ada di dalam method main.
13. Jalankan method start dari setiap thread dengan diberi jarak 1 detik.
15. Jalankan program untuk kedua kalinya, apakah ada perbedaan antara hasil
percobaan langkah sebelumnya dengan langkah ini.
59
3. Tugas
1. Modifikasi latihan praktikum dengan menambahkan sinkronisasi agar hasil
keluaran program dapat ditampilkan berurutan.
2. Buatlah dua buah thread masing-masing untuk menampilkan bilangan prima
dan bilangan bukan prima!
3. Buat dua buah thread untuk menampilkan stop-watch yang dapat menghitung
naik dan menghitung turun!
60
MODUL 12
SWING
Tujuan :
1. Mahasiswa mampu menggunakan komponen class JLabel, JTextField,
JButton, JCheckBox, JRadioButton, ButtonGroup, JOptionPane,
JPanel dan LayoutManager .
2. Mahasiswa mampu menggunakan JList, JComboBox, JTable, dan
JTree.
Tugas Pendahuluan
Sebutkan dan jelaskan jenis-jenis Layout?
1. Dasar Teori
Swing
Swing sebagai nama populer untuk Java Foundation Class (JFC), tidak
lain merupakan kumpulan pustaka untuk mengembangkan tampilan antar muka
berbasis grafis atau Graphical User Interface (GUI). Komponen-komponen yang
disimpan di dalam paket javax.swing telah didesain sedemikian rupa sehingga
hanya sedikit memory yang dibutuhkan (lightweight) dan dapat dioperasikan di
sebarang platform. Beberapa komponen yang akan dibahas dalam pertemuan ini
adalah class JLabel, JTextField, JButton, JCheckBox, JRadioButton, ButtonGroup,
JOptionPane, JPanel dan LayoutManager.
JLabel digunakan untuk menampilkan label berisi keterangan komponen
input. JTextField digunakan untuk menerima input dari user. JButton digunakan
menerbitkan event untuk mengeksekusi perintah tertentu. Penangan event dapat
melibatkan paket java.awt.event atau pun javax.swing.event. Event atau suatu
kejadian akibat aksi yang dilakukan pada suatu komponen dapat direspon oleh
program bila kita memasang listener. Listener yang lazim digunakan adalah
ActionListener. Interface ini terletak di dalam paket java.awt.event. Setelah
memasang listener, langkah selanjutnya adalah menuliskan baris perintah untuk
merespon event yang terbaca oleh listener. Bagian ini adalah saat kita
mengoverride method actionPerformed dari interface ActionListener.
JRadioButton digunakan untuk menampilkan beberapa opsi yang hanya
bisa dipilih salah satu. Komponen JRadioButton biasa digunakan bersama
ButtonGroup. JCheckBox digunakan untuk menampilkan beberapa opsi yang bisa
dipilih lebih dari satu. JOptionPane digunakan sebagai dialog untuk menampilkan
61
output atau meminta inputan. JPanel digunakan untuk menampung komponen yang
lain.
JPanel bekerja sama dengan LayoutManager. LayoutManager digunakan
untuk menentukan tata letak komponen di dalam container (JFrame, JPanel).
Beberapa contoh LayoutManager adalah FlowLayout, BorderLayout, GridLayout.
Membuat program dengan menggunakan pustaka swing dapat dilakukan
dengan beberapa cara. Di antaranya adalah membuat class yang merupakan
turunan JFrame.
JList digunakan untuk menampilkan beberapa item dalam sebuah daftar
atau list. JComboBox digunakan untuk menampilkan beberapa item yang daftarnya
dapat ditampilkan atau disembunyikan. JTable digunakan untuk menampilkan
daftar dalam bentuk baris dan kolom. Komponen JScrollPane digunakan sebagai
container bagi JTable. JTree digunakan untuk menampilkan beberapa item dalam
bentuk pohon dengan cabang-cabangnya atau direktori.
2. Praktikum
Latihan 1 : Belajar Swing
1. Buat proyek dengan nama Modul12, kemudian buat file BelajarSwing.java.
Tambahkan method main di dalam class BelajarSwing.
2. Di dalam file BelajarSwing.java, tambahkan definisi class CobaJFrame yang
mengandung definisi properti JFrame.
3. Lengkapi method main dalam class BelajarSwing dengan baris perintah untuk
membuat instant dari class CobaJFrame.
4. Karena kita menggunakan kelas JFrame, maka harus import paket Swing
terlebih dahulu.
62
Gambar 12.1 Tampilan hasil JFrame
6. Pada bagian berikut ini, kita akan menambahkan JLabel ke dalam file
BelajarSwing.java. Deklarasikan variabel bertipe JLabel dengan nama
lblNama. Anda boleh meletakkan kodenya di bawah header class
CobaJFrame.
63
13. Perhatikan tampilannya! Apakah JLabel masih terlihat di dalam Jframe?
Apakah komponen yang ada di dalam Jframe hanya JTextField? Apa yang
terjadi?
14. Coba tambahkan LayoutManager ke dalam class CobaJFrame.
17. Apakah sekarang JLabel kembali muncul? Apakah JTextField muncul juga
dalam Jframe? Apakah yang terjadi dengan tampilan JTextField?
18. Selanjutnya, kita akan menambahkan tombol berupa komponen JButton. ke
dalam JFrame.
21. Pada bagian berikutnya, kita akan belajar menggunakan komponen untuk
menampilkan beberapa opsi. Kita akan menambahkan JCheckBox.
JCheckBox chkStrata1, chkStrata2;
24. Lakukan uji coba memperbesar ukuran jendela “Mencoba JFrame” dengan
menarik horizontal handle ke arah kanan.
25. Lakukan uji coba mengubah posisi tombol “Proses” dengan meletakkannya di
bagian paling kanan.
65
30. Atur layout dari JPanel menjadi GridLayout. Layout jenis ini membagi area
kerja seperti matriks. Pada percobaan ini, kita akan membagi area menjadi 3
baris dan 2 kolom.
pnlData.setLayout(new GridLayout(3,2));
33. Simpan file, kompilasi dan jalankan untuk menguji hasilnya. Perhatikan
tampilannya. Jika tampilan yang muncul di komputer Anda berbeda dengan
tampilan di bawah ini, coba atur ukuran window dengan menarik ke bawah
vertical handle sehingga ukuran jendela menjadi lebih memanjang ke bawah.
34. Apakah ada masalah yang muncul jika horizontal handle diperlebar?
35. Aturlah agar JFrame menggunakan layout BorderLayout.
setLayout(new BorderLayout());
36. Edit baris perintah yang berfungsi menambahkan komponen JPanel dan
JButton, kali ini dengan menyertakan parameter BorderLayout.
add(pnlData, BorderLayout.CENTER);
add(btnProses, BorderLayout.SOUTH);
66
37. Simpan file BelajarSwing1.java. Kompilasi dan jalankan program untuk
menguji tampilannya. Perhatikan bahwa saat jendela diubah ukurannya,
posisi komponen-komponen tidak berubah.
67
43. Simpan file dan kompilasi. Jalankan program dan perhatikan tampilannya.
68
daftarItem = new String [ ] {"Ahad", "Senin", "Selasa", "Rabu",
"Kamis", "Jum'at", "Sabtu"};
list = new JList(daftarItem);
setLayout(new FlowLayout());
add(lblHari);
add(list);
}
70
15. Simpan, kompilasi file BelajarSwing2. Jalankan class BelajarSwing2 dan
perhatikan tampilannya.
3. Tugas
1. Modifikasilah latihan 1 class BelajarSwing sehingga pesan pada
JRadioButton dengan menambahkan event jika tombol proses di klik yang
berisi pesan nama dan program studi yang dipilih.
2. Buatlah program absensi paegawai fakultas teknik. Inputannya berupa NIP.
Output berupa NIP untuk jam masuk dan jam pulang ditampilkan dalam
JTable.
3. Modifikasilah tugas nomor 2 sehingga inputan ditambah dengan password.
NIP dan password yang dimasukkan harus dicocokkan dengan data yang
tersimpan dalam file teks. Jika cocok maka NIP dan jam akan ditampilkan
dalam JTable. Sedangkan jika tidak cocok antara inputan dan data file teks
maka pesan kesalahan ditampilkan. Output ini menampung data absensi
pegawai setiap hari, jadi juga ditampilkan tanggalnya.
71
DAFTAR PUSTAKA
72
BIOGRAFI PENULIS
Riwayat Pendidikan
S1: Institusi/Tahun: Universitas Trunojoyo /2001-2006:
Dalam bidang: Teknik Informatika
73