RANGKUMAN LAPORAN PRAKTIKUM PEMOGRAMAN BERORIENTASI OBJEK
RANGKUMAN
1 .ELEMEN
DASAR JAVA
1.
Konsep Dasar Pemrograman Berorientasi Objek
Java adalah salah satu bahasa pemograman yang
menggunakan paradigma pemograman berorientasi obyek. Pemograman berorientasi
obyek menjadikan object dan class sebagai konsep utamanya. Jadi dalam
pemograman java, object dan class menjadi suatu yang paling sentral. Java
adalah salah satu bahasa pemograman yang tidak tergantung pada operating system
(operating system independent), yang sekarang mulai populer dikalangan
programmer.
2. Konsep
Dasar Variabel
Variabel adalah satuan
yang dipakai oleh program sebagai basis untuk penyimpanan data. Penggunaan
variable harus terlebih dahulu dideklarasikan nama dan tipenya. Tipe dasar
(primitive) dalam java adalah sebagai berikut;
Tipe
|
Keterangan
|
Short
|
short integer,
bilangan bulat 16 bit
|
Int
|
integer, bilangan
bulat 32 bit
|
Long
|
long integer, bilangan
bulat 64 bit
|
Byte
|
bilangan bulat 8 bit
|
Float
|
bilangan real
(pecahan) 32 bit
|
double
|
bilangan real
(pecahan) 64 bit
|
Char
|
karakter 16 bit
|
boolean
|
boolean value true
atau false
|
3. Konsep
Dasar Array
Array adalah sekumpulan
data yang sama tipenya. Isi array dapat diakses melaui index yang dimulai dari
0 sampai dengan jumlah_elemen_array-i.
Array Multidimesi
Kita dapat
mendeklarasikan array lebih dari satu dimensi. Sebagai contoh kita akan
membahas array dua dimensi. Untuk array berdimensi lebih dari dua dapat kita
analogikan dengan array dimensi dua.
A. Kerangka
Program Java
Progam dalam java
dibagi- bagi menjadi class-class. Oleh karena itu program dalam java dimulai
dengan kata kunci class atau public class.
Progam
selalu dimulai dengan pembuka blok yaitu kurung kurawal buka, dan diakhiri
dengan penutup blok yaitu kurung kurawal tutup. Perlu juga diperhatikan bahwa
class dalam java yang bersifat public harus disimpan dalam file sama dengan
nama class dan ditambah ekstensi java dalam hal ini bersifat case
sensitive. Jadi program di atas harus disimpan dalam file yang bemama Hello
java.
Prasyarat
sebuah program aplikasi (yang bisa dieksekusi) dalam java adalah mempunyai
metoda (fungsi) sebagai entry point (pintu masuk) yang bemama main () untuk
memulai eksekusi.
main () adalah sebuah metode
dengan argument array dari String yang bemama argv. Klasifikasi dari
metode main () adalah public static yang artinya bisa diakses oleh metoda
diluar class tersebut. Sedangkan kata kunci void menjelaskan bahwa
metoda main () tidak memberikan nilai balik (return value) ke pemanggil.
Perintah (statement) System.out.println(),
merupakan perintah untuk mencetak string yang menjadi argument ke layar dan
setelah pencetakan akan ganti baris. Perlu diperhatikan bahwa antara satu
perintah yang lain dipisah dengan semi colon (;).
Program
dalam java yang kita tulis harus kita compile dengan java compiler dengan
perintah :
C:\>javac HelioJava
Javac adalah program java compiler, sedangkan
Hello java adalah program yang akan di compile. Jika proses compile beijalan
lancar maka akan dibuat file sesuai dengan nama file yang di compile ditambah
dengan ekstensi class. Jadi proses compile di atas akan menghasilkan
file class yang bemama Hello.class.File class yang dihasilkan dari
proses kompilasi dapat kita eksekusi dengan java interpreter dengan perintah :
C:\>java Hello
Komentar
Pemberian komentar dalam
proram adalah penting karena akan mempeijelas alur program serta akan
memberikan dokumentasi yang jelas.
Pemberian komentar dalam
java dapat dilakukan dengan memberikan karakter //. Semua teks setelah // akan dianggap komentar
dan diabaikan dalam proses kompilasi sampai dengan garis baru (new line).
Kata Kunci
Program
java mempunyai beberapa kata kunci yang tidak boleh kita gunakan sebagai nama
variable, nama class dan yang lainnya. Kata kunci tersebut adalah :
Tabel 1.2 Tabel Kata
Kunci
abstract
|
default
|
Goto
|
Operator
|
synchronized
|
boolean
|
do
|
If
|
Outer
|
this
|
Break
|
double
|
implements
|
Package
|
throw
|
Byte
|
else
|
Import
|
Private
|
throws
|
byvalue
|
extends
|
Inner
|
Protected
|
transient
|
Case
|
false
|
Instaceof
|
Public
|
true
|
Cast
|
final
|
Int
|
Rest
|
try
|
Catch
|
finally
|
Interface
|
Return
|
var
|
Char
|
float
|
Long
|
Short
|
void
|
Class
|
for
|
Native
|
Static
|
volatile
|
Const
|
future
|
New
|
Super
|
while
|
continue
|
generic
|
Null
|
switch
|
Contoh Program
1.
Program menggunakan type data Array dan Integer
public class Array1
{
public
static void main (String[] args)
{
int[]
i = new int[5];
i[0]
= 200;
i[1]
= 1234;
i[2]
= 2347;
i[3]
= 45;
i[4]
= 9;
System.out.println("Jumlah
elemen i = " + i.length);
System.out.println("
i[0] = " + i[0]);
System.out.println("
i[1] = " + i[1]);
System.out.println("
i[2] = " + i[2]);
System.out.println("
i[3] = " + i[3]);
System.out.println("
i[4] = " + i[4]);
}
}
2.
OPERATOR,
CONTROL FLOW dan STRING
Operator
dan Control Flow adalah jantung dari program Control Flow mempunyai kemampuan
untuk mengendalikan jalan dari program. Tanpa Operator dan Control Flow, program
tidak akan mampu melakukan ban yak hal. Ada beberapa jenis Operator dan Control
Flow dal am Java, yaitu:
1.
Aritmatika Operator
Java
mempunyai operator aritmatika seperti + (penjumlahan), - (pengurangan),*
(perkalian), / (pembagian) dan % (modulo).
Operator - operator ini
berlaku seperti dalam operasi aritmatika. Dalam Java juga dimungkinkan untuk
penyederhanaan penulisan operator seperti yang terlihat di bawah ini;
Int
a, b, c, d, e,
a
= 15;b =10; //=80;d=100;e=20;
a+
= 5; //sama dengan a = a+5
b-
=e; //sama dengan b = b-e
c*
=b; //sama dengan c = c*b
d/
=4; //sama dengan d = d/4
e%=3; //sama dengan e = e % 3, hasilnya = 2
d++; //sama dengan d = d+1 (increment)
c— ; //sama
dengan c = c-1 (decrement)
2. Logika
Operator
Ada
tiga logika Operator dalam java yaitu:
&&
Logika /nd
Logika Or
| Logika Not
Ketiga operator
tersebut dioperasikan terhadap Boolean data tipe yang menghasilkan bolean data
type juga (true atau false)
3. Bit
per bit operator
Variabel bertipe
long, int, short, byte dan char dapat mempunyai operator yang dioperasikan
langsung kesusunan binemya (bit atau bit).
Tabe
|
2.1 Tabel bit per bit Operator
|
|
Operator
|
Nama
|
Keterangan
|
〜
|
NOT
|
Mengubah 0 menjadi 1 dan 1 menjadi 0
|
&
|
AND
|
1 & 1 = 1 selain itu hasilnya selalu 0
|
1
|
OR
|
0|0 = 0 selain itu hasilnya selalu 1
|
A
|
XOR
|
0A0 = 0, 1A1 = 0 selain itu
hasilnya 1
|
»
|
SHIFT RIGT
|
Dorong 1 bit ke kanan termasuk tanda minus
|
»>
|
SHIFT RIGT
|
Dorong 1 bit ke kana nisi bit paling kiri dengan 0
|
«
|
SHIFT LEFT
|
Dorong 1 bit ke kiri
|
4.
Relasional
Operator
relasional digunakan untuk membandingkan dua nilai. Hasil dari perbandingan
tersebut adalah data tipe Boolean (true atau false).
Tabel
2.2 Tabel operator Relasional
Operator
|
Keterangan
|
Lebih Besar
|
|
<
|
Lebih kecil
|
>=
|
Lebih besar atau sama dengan
|
<=
|
Lebih kecil atau sama dengan
|
!=
|
Tidak sama dengan
|
==
|
Sama dengan
|
Tipe variable di java seperti short, int, long,
float, double, Boolean, dan character dapat dibandingkan satu dengan yang
lainnya.
5.
Prioritas
Setiap operator
mempunyai prioritas sendiri - sendiri, sehingga perhitungan matematika
dilakukan sesuai prioritasnya. Lihat contoh dibawaj ini:
C = a + b*d;
Akan dijalankan
sesuai prioritas yaitu *,+,=
Dibawah ini diberikan table prioritas
dari operator, urutan prioritas dari atas ke bawah Operator yang sama
prioritasnya akan dioperasikan dari kanan ke kiri.
6. Pernyataan
if
Pernyataan if adalah
control flow yang paling sederhana Pernyataan ini mengevaluasi suatu ekspresi.
Jika ekspresi benar (true) maka blok pernyataan akan dijalankan. Sebaliknya
computer akan melompati blok pernyataan tersebut. Sintaks dari pernyataan if
If (ekspresi)
Pernyataan;
7. Pernyataan
if-else
Pernyataan
if-else mengevaluasi suatu ekspresi. Jika ekspresi benar (true)
maka blok pernyataan dijalankan. Sebaliknya computer akan menjalankan blok
pernyataan yang lain. Sintaks dari penyataan if-else:
If(ekspresi)
Pemyataanl;
Else
Pemyataan_2;
8. Pernyataan
switch, case dan break
Switch digunakan
untuk percabangan (seleksi) lebih dari dua. Ini digunakan untuk menghindari
pergunaan if-else yang berlapis-lapis.
9. Pengulangan
(Loop)
Pengulangan
dengan while
Alur
program blok while akan dilakukan berulang-berulang selama ekspresi benar
(true)
Sintaks dari
pengulangan while adalah sbb:
While
(ekspresi)
Pernyataan;
Pengulangan
dengan do-while
Pengulangan
dengan while pemeriksaan ekspresi dilakukan sebelum pengulangan. Ada kalanya pengulangan
pemeriksaan ekspresi dilakukan setelah pengulangan. Jadi minimal satu kali
pengulangan dilakukan. Pengulangan ini menggunakan do-while, sintaksnya.
do
pernyataan;
while
(ekspresi);
Pengulangan
dengan for
Pengulangan
dengan for menyerupai while, namun dilengkapi dengan inialisasi, test kondisi
dan update counter.
Break, continue
Dal am
pengulangan break digunakan untuk mematahkan (mengakhiri) pengulangan secara
paksa. Sedangkan continue digunakan untuk melanjutkan pengulangan berikutnya
secara paksa dengan mengabaikan perintah dibawah pemyataan continue.
String
String adalah obyek yang terdiri atas
deretan karakter. Tidak seperti array dari karakter, String tidak perlu
ditentukan jumlah panjang karaktemya
StringTokenizer
Class
StringTokanizer berfungsi untuk membagi string berdasarkan token tertentu.
Class ini sangat membantu untuk menginterprestasikan suatu string ke suatu
maksud tertentu. Contoh yang paling populer adalah membagi kalimat menjadi
beberapa kata. Kita juga membaca data dari file kemudian data tersebut kita
uraikan berdasarkan token tertentu.
Contoh Program
Contoh Program
1.
Menggunakan pernyataan if
public class TestIf {
public
static void main (String argv [] ) {
int
x = -3 ;
if
( x < 0 )
System.out.println("Negatif");
}
}
3. CLASS
Class
merupakan bagian pokok dari Pemrograman Berorientasi Obyek (Object Oriented
Programming). Class merupakan cara merakit data-data dan menentukan semua
metode yang diperlukan untuk mengakses, menggunakan dan mengubah data-data
tersebut. Dalam java class juga bisa dianggap sebagai type dari object.
Setiap
class memiliki dua hal utama. Yang pertama adalah yang kita sebut
state/atribut/property. State dalam obyek tidak lain adalah nilai dari setiap
variable. Bagian yang kedua adalah tool atau method yang menentukan utility
yang dimiliki oleh class.
1. Pendeklarasian
class
Sintaks pendeklarasian class dalam java
adalah
modifiers class NamaClass {
<class attribute
list>
<class method list>
}
modifier menentukan bagaimana
class dapat ditangani pada fase development berikutnya. Ada tiga jenis modifier
dalam class yaitu public, final, abstract dan friendly.
·
Public
Dengan
menempatkan public didepan pendeklarasian class, mempunyai arti bahwa class
didefinisikan untuk public. Ini berarti class tersebut dapat dipakai atau
dikembangkan (extend) oleh sembarang object.
·
Final
Dengan
menempatkan final didepan pendeklarasian class menandakan bahwa class tersebut
tidak bisa memiliki subclass (turunan). Dengan kata lain class tersebut tidak
bisa dikembangkan.
·
Abstract
Dengan
menempatkan class didepan pendeklarasian class, menandakan bahwa kita tidak
bisa menciptakan obyek dari class tersebut. Class tersebut harus dipakai
sebagai super class dari class lain. Dalam abstract class paling tidak ada satu
method yang belum komplit.
·
Friendly
Secara default modifiers
class adalah friendly ,artinya class tersebut tersebut boleh dikembangkan atau
dipakei oleh class lain dalam satu paket (package) . jika kita tidak memberikan
modifiers didepan pendefinisian class maka class bersifat friendly.
2. Konstruktur
Konstruktur adalah
method dengan property yang unik dan untuk keperluan inialisasi pada saat obyek
diciptakan. Jadi konstruktur digunakan memberikan niali kepada attribute
tertentu pada saat obyek diciptakan.Kontruktor didefinisikan dengan nama yang
sama dengan nama class. Konstruktor tidak perlu retum type sebab konstruktur
secara aktual dipanggil sebagai method. Konstruktur ini dipanggil pada saat
kita memberikan perintah new.
3. Inherintance
(Pewarisan)
Inheritance (Pewarisan) adalah suatu
mekanisme yang memungkinkan satu class mewarisi (memiliki) attribute dan method
dari class lain. Mekanisme pewarisan ini diperlukan untuk mengembangkan
class-class yang sudah ada tanpa harus membuka source code dari classclass
tersebut.
4.
Kata Kunci this
this adalah referensi yang
menunjuk pada obyek aktual. Nilai this ini menunjukkan bahwa obyek yang
dimaksud adalah obyek yang sedang aktif itu sendiri. Contoh penggunaan dari this adalah sbb:
5.
Overriding Method
Overriding method adalah
suatu mekanisme pewarisan class di mana subclass mendefinisikan ulang satu atau
lebih method (fungsi) yang ada di supper class. Dalam overriding ini subclass
bisa mendefinisikan method (fungsi) yang di-override dengan fungsi yang baru
sama sekali, atau menambahi method (fungsi) yang di-override yang sudah ada
dengan fungsinal-fungsinal yang lain. Contoh class yang menggunakan mekanisme
overriding
Contoh Program
4. THREADS
Contoh Program
1.
Mendefinisikan Class
public class Kotak {
private int
Panjang, Lebar, Tinggi;
public void
setPanjang(int pjg) {
Panjang=pjg;
}
public void
setLebar(int lbr) {
Lebar=lbr;
}
public void
setTinggi(int tg) {
Tinggi=tg;
}
public int
getPanjang() {
return
Panjang; }
public int
getLebar() {
return
Lebar; }
public int
getTinggi() {
return
Tinggi; }
public int
luas () {
int
hasil;
hasil=2*Panjang*Lebar+2*Panjang*Tinggi+2*Lebar*Tinggi;
return
hasil; }
public int
volume () {
int
hasil;
hasil=Panjang*Lebar*Tinggi;
return
hasil;
}
}
public class TestKotak {
public
static void main (String argv []) {
Kotak k1;
int
vol,luas,pjg;
k1=new
Kotak () ;
k1.setPanjang
(10) ;
k1.setLebar
(15) ;
k1.setTinggi
(4) ;
vol=k1.volume()
;
luas=k1.luas()
;
pjg=k1.getPanjang
();
System.out.println("Kotak
k1 luas="+luas+" volume="+vol+"Panjang="+pjg);
}
}
4. THREADS
Property unik dari java
adalah bahwa Java memberi suport adanya threads. Threads memperbolehkan kita
melakukan banyak hal pada waktu yang bersamaan. Threads adalah komponen java
yang memungkinkan kita untuk membuat program yang bersifat multitasking
programming. Sebenamya setiap program dalam java selalu menggunakan paling
tidak satu thread
Kita bias membuat
aplikasi dan class beijalan dalam threads yang terpisah dengan dua cara, yaitu :
·
Mengembangkan dari class Thread (extending
class Thread)
·
Mengimplementasikan Runnable interface
Mengembangkan class Thread
Dengan menggunakan
extends Thread, mekanisme Thread dapat diaplikasikan dengan membuat fungsi run
()
Untuk
melihat concurrency (multitasking) pada program tersebut tambahkan method
sleep( )untuk actual Thread (current Thread). Method sleep( ) hanya dapat
dilakukan dengan menangkap sinyal
Method yang berhubungan
dengan Thread
start()
Mengaktifkan Thread
Obyek Thread kemudian akan menjalankan method run(). stop()
Menghentikan Thread yang
sedang aktif.
sleep( int delta)
Menunda aktifitas Thread
untuk delta millisecon
Contoh selanjutnya
adalah mendemonstrasikan animasi yang dilakukan dengan menjalankan Thread.
Tugas Thread adalah melakukan repaint( ) pada obyek. Setelah repaint( )
dilakukan, Thread beristirahat untuk beberapa detik dan untuk kemudian
melakukan repaint() kembali. Obyek Thread kemudian akan menjalankan method
run().
Kemudian class TThread
digunakan oleh class yang merupakan pengembangan (extend) dari class Applet.
Class Applet digunakan untuk class-class yang digunakan dalam aplikasi applet
(untuk ditampilkan dalam html file)
Setelah
kita compile kedua class tersebut, yaitu class TThread dan class Animasi, kita
dapat membungkusnya ke dalam file html. Selanjutnya kita dapat mengeksplore
file tersebut dengan internet browser.
Mengimplementasikan Runnable interface
Pada contoh di atas
Thread digunakan dengan mengembangkan class Thread, yang mana berarti bahwa
Subclass Thread hanya dapat mewarisi sifat-sifat dari Thread. Pengikatan Class
ini dapat dihindari dengan menggunakan konsep interface. Dengan
mengimplementasikan Runnable interface. Interface Runnable ini hanya berisi
satu method yang harus diimplementasikan, yaitu run().
Konstruktor Thread
adalah :
Thread(Runnable
Threadobject)
Atau
Thread(Runnable
Threadobject, String nama Thread)
Threadobject pada contoh
di atas adalah this, yang merupakan Obyek itu sendiri yang
mengimplementasikan Runnable.
Method is Activef ) akan
memberikan nilai true jika Thread actual aktif, dan false jika tidak aktif.
Contoh Program
Contoh Program
1.
Mengaplikasikan mekanisme Thread dengan menggunakan fungsi run()
public class SimpleThread extends Thread {
public
SimpleThread (String nama) {
super
(nama);
}
public
void run() {
for
(int i=0; i<10; i++){
System.out.println(i+""+getName());
}
System.out.println("SELESAI
"+getName());
}
}
public class TwoThreadTest {
public
static void main (String argv [] ) {
SimpleThread
t1, t2;
t1 = new
SimpleThread ("Surabaya");
t2 = new
SimpleThread ("Jakarta");
t1.start
();
t2.start
();
}
5.
EXCEPTION
(EKSEPSI)
Eksepsi
adalah mekanisme yang memungkinkan program untuk menangkap kondisi- kondisi
tertentu yang membutuhkan penanganan khusus. Eksepsi dapat berupa kesalahan
yang teijadi dalam program pada saat run time. Format eksepsi adalah :
Try
{
// blok program
}
catch (EksepsiTipel e) {
//
blok program untuk EksepsiTipel
}
catch (EksepsiTipe2 e) {
//
blok program untuk EksepsiTipe2
}
catch (EksepsiTipe3 e) {
// blok program untuk
EksepsiTipe3
}
finally {
//
blok program
.......................................... }
Try
menyatakan
bahwa dalam blok try dapat teijadi suatu ekspresi dan bila ekspresi teijadi,
maka aktifkan program yang berada dalam kelompok (blok) catch sesuai
dengan tipe ekspresinya.
Object
e dari tipe ekspresi dapat digunakan sebagai referensi penanganan eksepsi
aktual. finally menyatakan bahwa apapun jenis tipe ekspresinya, maka program
dalam blok ini harus tetap dijalankan.
Dengan
menangkap eksepsi program tidak langsung berhenti dan melaporkan kesalahan
tersebut, melainkan membelokkan dengan program pengaman tertentu.
Pada saat run time, jika
java menemukan kesalahan dan melempar pesan ke program. Dengan pesan ini,
program akan melakukan suatu aksi tertentu. Mekanisme melempar ini disebut juga
sebagai throw, alur program akan dihentikan, kemudian program pengendali
(exception handling) akan diaktifkan.
Throw Throw
digunakan secara eksplisit untuk membuang sebuah eksepsi. Contoh berikutnya,
TestThrow mendefinisikan Obyek Eksepsi “NullPointerException” pada sebuah
variabel t. Dengan instruksi throw, program Eksepsi untuk kemudian ditangkap
oleh instruksi catch. Namun tentunya yang ditangkap harus sesuai degan tipe
eksepsi yang dilemparkan. Dalam hal ini program throwsEksepsi selalu ditangkap
dengan catch pada blok dimana eksepsi tersebut dilempar. Tanpa catch, program
tidak akan dikompilasi. Program dibawah ini menghilangkan try dan catch pada
subroutine demo( ) , namun dengan
menggunakan tambahankata kunci throws Exception.
Contoh Program :
Contoh Program :
1.
Menggunakan Throws
public class ThrowDemo {
static
void demo()throws IllegalAccessException{
System.out.println("xxxxxx");
throw
new IllegalAccessException ("ThrowDemo");
}
public
static void main (String argv[]) {
try{
demo();
System.out.println("Selesai");
}catch
(IllegalAccessException e){
System.out.println("Saya
tangkap " + e);
}
}
}
6.
JAVA GRAPHICAL USER INTERFACE
Graphical User Interface
Graphical User Interface
merupakan antar muka grafis yang memfasilitasi interaksi antara pengguna dengan
program aplikasi. Salah satu komponen dalam bahasa pemrograman Java untuk
membangun GUI adalah Swing. Komponen ini didefinisikan di dalam paket javax.swing.
Swing diturunkan dari Abstract Windowing Toolkit dalam paket java.awt.
Hirarki dari komponen Swing adalah :
java.swing.Jcomponent
java.awt.Container java.awt.Component Java.Lang. Object
JComponent adalah superclass
dari semua komponen Swing. Sebagian besar fungsionalitas komponen diturunkan
dari superclass ini. Beberapa komponen utama dalam GUI adalah:
1. Containers:
merupakan wadah yang berfungsi untuk menempatkan komponen- komponen lain di
dalamnya.
2. Canvas.:
merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk
membuat program grafis. Dengan canvas, kita bisa menggambar berbagai bentuk
seperti lingkaran, segitiga, dll.
3. User
Interface (UI) components: contohnya adalah buttons, list, simple popup menus,
check boxes, text fields, dan elemen lain
4.
Komponen pembentuk window: seperti frames,
menu bars, windows, dan dialog boxes.
Komponen-komponen Dasar User Interface
dengan Swing
Berikut adalah 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:
menipakan 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 J Button (tombol), JLabel
(label), JTextField, JTextArea (area untuk menulis teks), dll.
4. Layout
Manager
Berfungsi untuk mengatur bagaiman tata letak/posisi dari komponen yang akan
diletakkan, satu sama lain di dalam suatu container. Secara default ada 6 buah
layout : BorderLayout, BoxLayout,
FlowLayout, CardLayout, GridBagLayout & GridLayout
5. Event
Handling:Menangani event yang dilakukan
oleh user seperti menekan tombol, memperbesar atau memperkecil ukuran frame,
mengklik mouse, mengetik sesuatu dengan keyboard, dll.
Konstruktor untuk
membentuk JFrame adalah JFrame() atau JFrame(String NamaFrame).
Salah satu method yang
sering digunakan di kelas JFrame adalah setDefaultCloseOperation(int ops).
Method ini berftmgsi untuk mengatur apa yang akan dilakukan oleh program ketika
tombil close di klik. Parameter method tersebut di antaranya adalah:
1. JFrame.DO
NOTHING ON CLOSE: tidak ada satu aktivitas pun yang dilakukan secara otomatis
apabila frame ditutup.
2. JFrame.HIDE
ON CLOSE: frame hanya disembunyikan, namun secara fisik frame masih ada di
memori sehingga dapat dimunculkan kembali. Merupakan aktivitas default.
3.
JFrame.DISPOSEONCLOSE: mengilangkan
tampilan frame dari layar, menghilangkannya dari memori, dan membebaskan
resource yang dipakai.
4.
JFrame.EXIT ON CLOSE: menghentikan
eksekusi program.
Top
level container yang lain adalah JDialog. Berbeda dengan JFrame, JDialog tidak
dibuat berdiri sendiri, melainkan dibuat bersama-sama dengan frame sebagai parent-nya.
Jika frame parent-nya ditutup, maka dialog akan dihapus dari memori.
Kemunculan dialog akan membuat semua input terhadap frame parent-nya
akan terblokir sampai dialog tersebut ditutup.
Layout Management
Untuk mengatur layout
dari setiap komponen-komponen GUI yang diletakkan pada container, digunakan layout
/manager.Setiap pane secara default pasti memiliki layout manager. Jika ingin
mengubah layout-nya, gunakan void setLayout(LayoutManager mgr) Java menyediakan
6 buah class standar yang dapat digunakan sebagai layout manager yang terdapat
dal am package java.awt, yaitu FlowLayout , GridLayout , BorderLayout ,
CardLayout ,GridBagLayout, Box Layout
1. Flow
Layout merupakan layout manager default yang digunakan JPanel. Layout manager
ini meletakkan kompenen yg ada secara berurutan dari kiri ke kanan dan
berpindah baris jika dibutuhkan. Jarak antar komponen baik secara vertikal
maupun horizontal dapat ditentukan sendiri. Selain itu, kita bisa menentukan
alignment dari komponen yang diletakkan, yaitu rata kanan, rata kiri atau di
tengah
2. GridLayout merupakan layout manager
berbentuk grid. Semua komponen dalam layout ini memiliki ukuran yang
sama. Konstruktor GridLayout adalah sebagai berikut.
a. GridLayout(rows,
columns, hGap, vGap). Konstruktor ini mendefinisikan jumlah baris, kolom, dan
ukuran gap horisontal/vertikal antar elemen dalam pixel.
b. GridLayout(rows,
columns). Konstruktor yang digunakan dengan nilai default hGap dan vGap
sama dengan 0.
3. BorderLayout
adalah default manager untuk ContentPane. Layout ini menempatkan
komponen dengan pendekatan arah mata angin north, south, west, center, east.
4. Cardlayout
digunakan untuk
menampilkan container-container/pane\-pane\ seperti tumpukan kartu.
Hanya satu container yang akan tampil untuk satu waktu. komponen yang
diletakkan dengan layout ini berupa object yang bertipe intermediate
container yang di dalamnya terdapat atomic component. Salah satu contoh intermediate
container adalah tabbed pane (JTabbedPane)
5. GridBaglayout
Grid
bag layout
adalah pengaturan layout yang dapat digunakan untuk meletakkan komponen
secara bebas. Setiap komponen dapat menempati ukuran yang berbeda dengan
komnponen lainnya.
6.
Boxlayout digunakan untuk
meletakkan komponen berurutan ke kanan (sumbu X) atau berurutan ke bawah (sumbu
Y).Penggunaan BoxLayout menggunkan class Box dimana merupakan
container yang secara internal telah menggunakan BoxLayout sebagai layout
manager-nya.
Contoh Program :
Contoh Program :
1.
Membuat Frame
import
javax.swing.*;
public class ContohFrame1 {
public static void main (String []
args) {
JFrame a1;
a1 = new
JFrame("contoh frame");
a1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a1.setSize(300,300);
a1.setVisible(true);
}
}
Komentar
Posting Komentar