java swing-gui

14

Click here to load reader

Upload: charles-mandy-karel

Post on 05-Jul-2015

335 views

Category:

Documents


2 download

DESCRIPTION

java, gui, swing

TRANSCRIPT

Page 1: Java Swing-GUI

PEMROGRAMAN GUI DENGAN JFC / SWING

I. TUJUAN

1. Memahami konsep dasar bahasa pemrograman Java

2. Memahami dan mampu menggunakan: variabel, tipe data, operator, dan

control flow dalam Java

3. Mempersiapkan mahasiswa untuk menuju pada pemrograman sistem

terdistribusi menggunakan Java

II. DASAR TEORI

Jika di Microsoft dikenal adanya MFC (Microsoft Foundation Classes), kita

membutuhkan kelas Java Foundation Classes (JFC) jika ingin membangun kelas

java berbasiskan GUI. Tampilan GUI yang memuaskan hanya dapat dipenuhi

oleh Swing karena menyediakan border, icons dan komponen penting lainnya

seperti toolbar, tabbed pane dan table. Swing berada di dalam paket javax.swing.

A. Frame

Pada pemrograman Java Swing, layer utama disebut sebagai frame dan

menggunakan klas Jframe. Frame berfungsi menampung komponen GUI.

Langkah – langkah di dalam membuat frame :

1. Buat objek frame melalui perintah new JFrame(“judul_frame”)

2. Atur besar ukuran frame

3. Tampilkan menggunakan method setVisible();

Contoh....

B. Komponen

Untuk menggunakan control seperti textbox, label, panel dan lain – lain,

digunakan kelas tertentu seperti Jcomponent, JTextField, JPasswordField,

Jdialog, JWindow, JinternalFrame, JFrame dan lain – lain.

Contoh

C. Layout Manager

Layout di java ialah teknik meletakkan control – control yang sangat

bervariasi. Java mempunyai beberapa layout yang dapat diterapkan pada

applet atau swing.

Dasar Pemrograman Java Modul I - 1

Page 2: Java Swing-GUI

Flow Layout

Flow layout akan membuat control ditampilkan ke kanan. Jika terlalu penuh,

akan ditampilkan ke baris bawah berikutnya. Flow layout adalah pengaturan

standar tampilan kontrol di web.

Grid Layout

Grid layout mirip dengan flow layout, namun control mempunyai jarak dan

besar yang sesuai jika kita ubah ukuran window tersebut.

Border Layout

Border layout membagi container menjadi South, North, East, West dan

Center. Kita menggunakan method insets untuk membuat spasi di antara

container.

D. Teknologi Java

III. PRAKTIKUM

A. Memulai Java

1. Buat program di bawah ini dengan textpad atau text editor lain

kesukaan Anda, simpan dengan nama Hello.java:

class Hello {public static void main (String args[]) { System.out.println(“Hello World!”);}}

2. Kompile program tersebut:

$ javac Hello.java

Perhatikan, file apa yang dihasilkan oleh compiler Java? Jelaskan jawaban

Anda!

3. Eksekusi program:

$ java Hello

B. Tipe Data dan Variabel

1. Buat program berikut dengan nama Variabel.java:

class Variabel { public static void main(String args[]) { System.out.println("Contoh-contoh nilai variabel:");

Dasar Pemrograman Java Modul I - 2

Page 3: Java Swing-GUI

boolean myBool = true; System.out.println("Nilai variabel boolean = " + myBool); byte myByte = 4; System.out.println("Nilai variabel byte = " + myByte); short myShort = 3215; System.out.println("Nilai variabel short = " + myShort); int myInt = 6815154; System.out.println("Nilai variabel integer = " + myInt); char myChar1 = 'X'; char myChar2 = '\u000e'; System.out.println("Nilai variabel char ke-1 = " + myChar1); System.out.println("Nilai variabel char ke-2 = " + myChar2); float myFloat = 8004.15f; System.out.println("Nilai variabel float = " + myFloat); double myDouble = 15e84; System.out.println("Nilai variabel double = " + myDouble); }}

Kompile dan eksekusi program tersebut, amati hasilnya!

2. Buat program berikut dengan nama file KlsVariabel.java:

import java.lang.Boolean;import java.lang.Byte;import java.lang.Short;import java.lang.Integer;import java.lang.Float;import java.lang.Double;import java.lang.Character;

class KlsVariabel { public static void main(String args[]) {

// Kelas Boolean Boolean myBool1 = new Boolean(true); Boolean myBool2 = new Boolean("false"); System.out.println("Nilai variabel Boolean ke-1 = " + myBool1.booleanValue()); System.out.println("Nilai variabel Boolean ke-2 = " + myBool2.toString() + "\n");

// Kelas Byte Byte myByte = new Byte("4"); System.out.println("Nilai variabel Byte = " + myByte.toString()); System.out.println("Nilai maks variabel Byte = " + myByte.MAX_VALUE);

Dasar Pemrograman Java Modul I - 3

Page 4: Java Swing-GUI

System.out.println("Nilai min variabel Byte = " + myByte.MIN_VALUE + "\n");

// Kelas Short Short myShort = new Short("15"); System.out.println("Nilai variabel Short = " + myShort.toString()); System.out.println("Nilai maks variabel Short = " + myShort.MAX_VALUE); System.out.println("Nilai min variabel Short = " + myShort.MIN_VALUE + "\n");

// Kelas Integer Integer myInt1 = new Integer("15"); Integer myInt2 = new Integer("80"); System.out.println("Nilai integer ke-1 = " + myInt1.toString()); System.out.println("Nilai integer ke-2 = " + myInt2.toString()); System.out.println("Nilai maks integer = " + myInt1.MAX_VALUE); System.out.println("Nilai min integer = " + myInt1.MIN_VALUE); System.out.println("Integer1 + Integer2 = " + (myInt1.intValue() + myInt2.intValue()) + "\n");

// Kelas Character Character myChar1 = new Character('X'); Character myChar2 = new Character('\uaaaa'); System.out.println("Nilai character ke-1 = " + myChar1.charValue()); System.out.println("Nilai character ke-2 = " + myChar2.charValue() + "\n");

// Kelas Float Float myFloat = new Float(8004.15); System.out.println("Nilai variabel Float = " + myFloat.toString()); System.out.println("Nilai maks Float = " + myFloat.MAX_VALUE); System.out.println("Nilai min Float = " + myFloat.MIN_VALUE + "\n");

// Kelas Double Double myDouble = new Double(15e4); System.out.println("Nilai variabel Double = " + myDouble.toString()); System.out.println("Nilai maks Double = " + myDouble.MAX_VALUE); System.out.println("Nilai min Double = " + myDouble.MIN_VALUE + "\n"); }}

Analisa dan Jelaskan program di atas pada laporan Anda, bandingkan cara

pemakaian variabel dengan program Variabel.java! Apa perbedaannya?

Dasar Pemrograman Java Modul I - 4

Page 5: Java Swing-GUI

3. Coba hilangkan 7 baris pertama (baris-baris yang dipakai untuk

import package) pada KlsVariabel.java.

Amati hasil yang Anda peroleh. Mengapa demikian?

4. Buatlah program untuk menampilkan dua nilai Long berikut: 150480

dan 180874, kemudian kalikan kedua nilai tersebut. Tampilkan juga

nilai maksimum dan minimum variabel dengan tipe Long!

Langkah:

- deklarasikan objek-objek dengan kelas Long

- tampilkan nilai-nilainya

- tampilkan hasil kali kedua nilai tersebut

- tampilkan nilai maksimum dan minimum dari variabel Long

- simpan dengan nama myLong.java

Jelaskan program yang Anda buat tersebut di laporan!

5. Buat program di bawah ini dan simpan dengan nama

demoArray.java:

class demoArray { public static void main(String args[]) { int bulan = (new Integer(args[0])).intValue(); int jml_hari[] = {31,28,31,30,31,30,31,31,30,31,30,31}; String nama_bulan[]; nama_bulan = new String[12]; nama_bulan[0] = "Januari"; nama_bulan[1] = "Februari"; nama_bulan[2] = "Maret"; nama_bulan[3] = "April"; nama_bulan[4] = "Mei"; nama_bulan[5] = "Juni"; nama_bulan[6] = "Juli"; nama_bulan[7] = "Agustus"; nama_bulan[8] = "September"; nama_bulan[9] = "Oktober"; nama_bulan[10] = "November"; nama_bulan[11] = "Desember"; System.out.println("Bulan " + nama_bulan[bulan-1] + " terdiri dari " + jml_hari[bulan-1] + " hari."); }}

Kompile program di atas, kemudian jalankan dengan cara:

$ java demoArray 4

Dasar Pemrograman Java Modul I - 5

Page 6: Java Swing-GUI

$ java demoArray 200 (atau coba-coba beri argumen yang lain)

Analisa program ini dalam laporan Anda!

Amati dan jelaskan hasil-hasil yang Anda peroleh!

Apa maksud dari baris:

int bulan = (new Integer(args[0])).intValue(); ?

Ada berapa array yang Anda buat dalam program di atas? Jelaskan masing-

masing dalam laporan Anda!

C. Operator

1. Buat program di bawah ini dan simpan dengan nama Tambah.java:

class Tambah { public static void main(String args[]) { int a = 15; int b = 4; int c = a + b; int d = a++; int e = ++b; e--; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); System.out.println("e = " + e); }}

Amati hasil yang diperoleh, jelaskan pada laporan Anda!

2. Buat program untuk melakukan operasi pengurangan bilangan bertipe

double a = 15,4 dengan bilangan bertipe integer b = 15. Simpan

dengan nama myKurang.java!

Jelaskan program Anda pada laporan!

3. Buat program untuk melakukan operasi modulus pada bilangan yang

sama dengan di atas, dengan tipe yang sama! Simpan dengan nama

myModulus.java!

Jelaskan program yang Anda buat pada laporan!

4. Buat program di bawah ini, simpan dengan nama opBitwise.java:

class opBitwise { public static void main(String args[]) {

Dasar Pemrograman Java Modul I - 6

Page 7: Java Swing-GUI

int a = 15; int b = 44; System.out.println("a AND b = " + (a & b)); System.out.println("a OR b = " + (a | b)); System.out.println("a XOR b = " + (a ^ b)); System.out.println("a >> 2 = " + (a >> 2)); System.out.println("b << 1 = " + (b << 1)); } }

Amati hasilnya dan jelaskan pada laporan!

D. Control Flow dan I/O

1. Buat program berikut, simpan dengan nama opFile1.java:

import java.io.*;

class opFile1 { public static void main(String args[]) throws IOException { File f = new File(args[0]); System.out.println("Nama File = " + f.getName()); if (f.exists()) { System.out.println("File sudah ada."); } else { System.out.println("File belum ada, membuat baru."); if (f.createNewFile()) { System.out.println("Selesai."); } else { System.out.println("Gagal."); System.exit(0); } } }}

Kompile program tersebut dan eksekusi dengan:

$ java opFile1 coba1.txt

Amati dan analisa program tersebut pada laporan Anda! Periksa di direktori

aktif, apakah berhasil membuat file coba1.txt!

2. Buat program di bawah ini dengan nama opFile2.java:

import java.io.*;

class opFile2 { public static void main(String args[]) throws IOException { if (args.length != 1) { System.out.println("Cara pemakaian : java opFile2 <nama-file>"); System.exit(1);

Dasar Pemrograman Java Modul I - 7

Page 8: Java Swing-GUI

}

File f = new File(args[0]); System.out.println("Nama File = " + f.getName()); if (f.exists()) { System.out.println("File sudah ada."); } else { System.out.println("File belum ada, buat baru."); if (f.createNewFile()) { System.out.println("Selesai."); } else { System.out.println("Gagal."); System.exit(0); } } System.out.println("Status file " + args[0]); System.out.println("Bisa dibaca : " + f.canRead()); System.out.println("Bisa ditulisi : " + f.canWrite()); System.out.println("Direktori : " + f.isDirectory()); }}

Amati dan analisa program tersebut, bandingkan dengan opFile1.java!

3. Buat program di bawah ini dengan nama opFile3.java:

import java.io.*;

class opFile3 { public static void main(String args[]) { try { if (args.length != 1) { System.out.println("Cara pemakaian : java opFile3 <nama-file>"); System.exit(1); }

File f = new File(args[0]); System.out.println("Nama File : " + f.getName()); if (f.exists()) { System.out.println("File sudah ada."); } else { System.out.println("File belum ada, buat baru."); if (f.createNewFile()) { System.out.println("Selesai."); } else { System.out.println("Gagal."); System.exit(0); } } System.out.println("-----"); System.out.println("Status file " + args[0]); System.out.println("Bisa dibaca : " + f.canRead());

Dasar Pemrograman Java Modul I - 8

Page 9: Java Swing-GUI

System.out.println("Bisa ditulisi : " + f.canWrite());

String s; String cr; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); FileWriter g = new FileWriter(args[0]); BufferedWriter bw = new BufferedWriter(g); System.out.println("-----"); System.out.println("Tuliskan isi file " + args[0] + ", akhiri dengan string kosong <ENTER>"); do { s = br.readLine(); System.out.println(">> \"" + s + "\""); bw.write(s); cr = "\n"; bw.write(cr); } while (!s.equalsIgnoreCase("")); bw.close(); g.close(); } catch(IOException e) { System.out.println("Kesalahan I/O"); System.exit(0); } }}

Amati dan jelaskan program di atas! Periksa di direktori aktif, apakah

berhasil membuat file coba.txt. Periksa isi file coba.txt.

4. Buat program berikut dengan nama opFile4.java:

import java.io.*;

class opFile4 { public static void main(String args[]) { if (args.length != 1) { System.out.println("Cara pemakaian: java opFile4 <nama-file>"); System.exit(1); } try { FileReader f = new FileReader(args[0]); BufferedReader br = new BufferedReader(f); String s = null; System.out.println("Isi file " + args[0] + " :"); System.out.println("-----"); while ((s = br.readLine()) != null) { System.out.println(s); } br.close(); f.close(); } catch (FileNotFoundException e) {

Dasar Pemrograman Java Modul I - 9

Page 10: Java Swing-GUI

System.out.println("File " + args[0] + " tidak ada."); System.exit(1); } catch (IOException e) { System.out.println("Kesalahan I/O"); System.exit(1); } }}

Amati program di atas, analisa dan jelaskan pada laporan!

5. Buatlah program untuk mengubah nama file coba1.txt menjadi

coba2.txt! Simpan dengan nama myRen.java!

Petunjuk: gunakan method renameTo(new <namafilebaru>)

Jelaskan program yang Anda buat pada laporan!

6. Program di bawah ini adalah program interaktif mengenai operasi

aritmetika. Tugas Anda adalah membuat program yang menghasilkan

output yang sama, tetapi menggunakan switch-case (Anda masih bisa

menggunakan if-else di beberapa bagian program). Simpan pekerjaan

Anda dengan nama myAritmetika.java!

import java.io.*;

class Aritmetika { public static void main(String args[]) { try { while(true) { System.out.println("Operasi Aritmetika Bilangan Integer"); System.out.println("-----------------------------------"); System.out.println("1. Penjumlahan"); System.out.println("2. Pengurangan"); System.out.println("3. Perkalian"); System.out.println("4. Pembagian"); System.out.println("5. Modulus"); System.out.println("0. Keluar\n"); System.out.print("Pilihan [0-5] : "); BufferedReader jwb = new BufferedReader(new InputStreamReader(System.in)); int pilihan = (new Integer(jwb.readLine())).intValue();

if (pilihan == 0) { break; } else if (pilihan > 5 || pilihan < 0) { System.out.println("Masukan salah...!");

Dasar Pemrograman Java Modul I - 10

Page 11: Java Swing-GUI

} else { System.out.print("Operan 1 : "); int op1 = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue(); System.out.print("Operan 2 : "); int op2 = (new Integer((new BufferedReader(new InputStreamReader(System.in))).readLine())).intValue();

if (pilihan == 1) { System.out.println("Hasil Penjumlahan"); System.out.println(op1 + " + " + op2 + " = " + (op1 + op2)); } else if (pilihan == 2) { System.out.println("Hasil Pengurangan"); System.out.println(op1 + " - " + op2 + " = " + (op1 - op2)); } else if (pilihan == 3) { System.out.println("Hasil Perkalian"); System.out.println(op1 + " x " + op2 + " = " + (op1 * op2)); } else if (pilihan == 4) { System.out.println("Hasil Pembagian"); System.out.println(op1 + " : " + op2 + " = " + (op1 / op2)); } else if (pilihan == 5) { System.out.println("Hasil Modulus"); System.out.println(op1 + " % " + op2 + " = " + (op1 % op2)); } System.out.println("\n\n"); } //end of if (pilihan == 0) } // end of while } catch (IOException e) { System.out.println("Kesalahan I/O"); System.exit(0); } // end of try-catch } // end of main} // end of class

Jelaskan program Anda pada laporan!

Dasar Pemrograman Java Modul I - 11