Anda di halaman 1dari 24

LAPORAN PRAKTIKUM VIII

PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJECT

“ABSTRACT WINDOWING TOOLKIT (AWT) DAN SWING”

Disusun Oleh:
Mu’ammar Rizky Ramadhan

Nim : 1657301058

Kelas : TI 2.2

Program Studi : Teknik Informatika

No. Praktikum : 08 / PBO/ TI/ 2017

Dosen Pembimbing : Fachri Yanuar, SST, M.T

KEMENTRIAN RISET TEKNOLOGI DAN PENDIDIKAN TINGGI

JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER

PRODI TEKNIK INFORMATIKA

POLITEKNIK NEGERI LHOKSEUMAWE

2017
LEMBARAN PENGESAHAN

No. Praktikum : 08 / PBO/ TI/ 2017

Judul Praktikum : ABSTRACT WINDOWING TOOLKIT (AWT) DAN SWING

Nama : Mu’ammar rizky ramadhan

NIM : 1657301058

Jurusan : Teknologi Informasi dan Komputer

Program Studi : Teknik Informatika

Tanggal Percobaan : 29 November 2017

Nilai :

Keterangan :

Dosen Pembimbing : Fachri Yanuar, SST, MT

Buket Rata, 05 Desember 2017

Dosen pembimbing

Fachri Yanuar, SST, M.T


NIDN:1306018801
ABSTRACT WINDOWING TOOLKIT (AWT) DAN SWING

A. Tujuan

 Memahami persamaan dan perbedaan antara AWT dan Swing


 Mengetahui perbedaan antara komponen dan kontainer
 Mendesain aplikasi GUI menggunakan AWT
 Mendesain aplikasi GUI menggunakan Swing
 Menjelaskan tentang flow layout, border layout, dan grid layout dalam komponen GUI

B. Dasar teori
AWT adalah tampilan dasar dari setiap target platform (Windows, Macintosh, Solaris)
atau berdiri sesuai dengan mekanisme sebuah platform. AWT terdiri dari banyak widget
grafik yang dapat ditambahkan dan diatur dalam tampilan seperti butons, checkbox,
radiobutton, menu, list, canvas, textfield, scroolpane, panel.

Semua komponen GUI non-menu memiliki kelas yang diturunkan dari kelas
java.awt.Component. Sedangakan komponen menu diturunkan dari
java.awt.ComponentMenu. adapun Kelebihan AWT adalah Didukung oleh browser kuno
maupun baru, karena paket ini telah diimplementasikan sejak lama. Sedangkan kekurangan
AWT yaitu:

1. Bersifat heavyweight.

2. Bersifat Opaque (tidak transparan)

Berikut ini adalah daftar dari beberapa class penting pada container yang telah
disediakan oleh AWT.

1) Componen : Abstract class untuk object yang dapat di tampilkan pada console dan
berinteraksi dengan user. Bagian ini merupakan bagian utama dari AWT.

2) Container : Abstract Subclass dari kompanen class. Sebuah komponen yang dapat
menampung komponen yang lainnya.

3) Panel : Turunan dari container class. Sebuah frame atau windows tanpa titlebar,
menubar, tidak termasuk border. Super class dari aplet class.

4) Windows : turunan dari container class, top level windows dimana berarti tidak bisa
dimasukan dalam object yang lainnya. Tidak memiliki border dan menu bar.

5) Frame : turunan dari windows class. Windows dengan judul, border, menubar, dan
pengaturan ukuran di pojok. Memiliki empat konstruktor, diantaranya seperti berikut

Frame ()

Frame (String title)

Komponen-komponen AWT

1) java.awt.Button : Tombol yang jika ditekan akan mengerjakan instruksi tertentu

2) java.awt.CheckBox : Tombol berbentuk kotak yang dapat di-check atau n-check

3) java.awt.Choice : Menu yang terdiri dari beberapa pilihan

4) java.awt.Label : Untuk meletakkan teks statis dan tidak dapat diedit

5) java.awt.List : Untuk menyajikan beberapa pilihan teks dalam satu daftar yang
dapat di-scroll (gulung)

6) java.awt.Panel : Menyediakan space untuk meletakkan komponen atau panel


lainnya

7) java.awt.Scrollbar : Untuk memilih nilai dalam range tertentu

8) java.awt.TextArea : Untuk menampilkan teks multi-line dan dapat diedit.

Berikut ini adalah contoh program sederhana menggunakan AWT:

import java.awt.*;

public class AwtPertama

{
public static void main(String[] bowo)

{Frame win=new Frame(" ini AWT");

win.setSize(300,200);

win.show();}

dari program diatas dilakukan import terhadap java.awt.*, karena pada program diatas
menggunakan komponen AWT. Untuk membentuk sebuah window, harus dibuat sebuah
objek dari class Frame, program diatas objek win terbentuk dari class Frame. Sedangankan
metode setSize, digunakan untuk mengatur ukuran window, dan metode show digunakan
untuk menampilkan window.

Adapun komponen GUI pada AWT : Grafik Beberapa method grafik ditemukan dalam
class Graphic. Dibawah ini adalah daftar dari beberapa method.

1. Drawline

2. FillRect

3. DrawRect

4. ClearRect

5. DrawPolyline

6. DrawPolygon

7. FillPolygon

8. Getcolor

9. Setcolor

10. Getfont

11. Setfont

12. DrawString

Swing merupakan salah satu cara untuk mengimplementasikan pemrograman window


pada java. Swing menggunakan metode “Painted” yaitu, setiap User Interface Elemen di
Gambar ke dalam window/frame kosong.

Komponen swing bersifat lightweight, yaitu komponen dapat ditampilkan sama pada
sistem operasi multi-platform. Semua komponen pada Swing diawali dengan huruf “J”,
misalnya Jbutton, JtextArea, Jlabel

Semua class pada Java Swing diambil dari package javax.swing.

Swing Package:

1.javax.accessibility

2.javax.swing

3.javax.swing.border

4.javax.swing.colorchooser

5.javax.swing.event

6.javax.swing.plaf

7.javax.swing.plaf.basic

8.javax.swing.plaf.metal

9.javax.swing.plaf.multi

10.javax.swing.plaf.synth

11.javax.swing.text

12.javax.swing.text.html

13.javax.swing.text.rtf

14.javax.swing.table

15.javax.swing.tree

16.javax.swing.undo

Dalam konteks antarmuka pengguna, komponen merupakan bagian fundamental di


Java. Pada prinsipnya, segala sesuatu yang kita lihat di tampilan aplikasi Java adalah suatu
komponen, seperti window, menu, dan button. Container adalah jenis komponen yang
”menampung” dan

mengelola komponenkomponen lainnya. Agar suatu komponen dapat digunakan,


biasanya harus diletakkan di sebuah container.

Komponen-komponen Swing dapat diklasifikasikan ke dalam 3 bagian yaitu:

1) Top-levelcontainer berfungsi untuk menyediakan ruang bagi komponen-komponen


lainnya. Container jenis ini terdiri atas JFrame, JWindow, Jdialog, dan Japplet.

2) Intermediatecontainer komponen (nontop-level) yang keberadaannya untuk


menampung komponen lainnya, missal panel, tabbed, dan toolbar.

3) Komponen Atomic (tunggal) berfungsi untuk menampilkan dan atau menerima


informasi. Contohnya adalah textfield, button, dan label.

PERBEDAAN ANTARA AWT DAN SWING

AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat
aplikasi Java dan applet. Tidak seperti beberapa komponen AWT yang menggunakan
native code, keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing
menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan
dengan platform yang berbeda dapat memiliki tampilan yang Sama.

Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang
dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari
beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT. Namun pada
dasarnya, komponen AWT dapat digunakan bersama dengan komponen Swing.

Perbedaan keduanya adalah, bahwa AWT adalah tampilan dasar dari setiap target
platform (Windows,Macintosh, Solaris) atau berdiri sesuai dengan mekanisme sebuah
platform, hal tersebut bagus untuk sebuah program yang simpel, tetapi menjadi sulit ketika
mengimplementasikan sebuah program yang lebih kompleks dan harus sesuai dengan
target platform. Setiap User Interface elemen seperti Button, TextField, ScrollBar memiliki
tingkah laku (behavior) yang berbeda di setiap platform. Yang lebih parah lagi, AWT User
Interface Library memiliki bug yang berbeda di setiap platform.

Maka hadirlah Swing yang menawarkan tampilan yang lebih kaya dan bagus. Swing
tidak berdasarkan platform yang dituju tetapi menggunakan metode “Painted” yaitu, setiap
User Interface Elemen di Gambar ke dalam window/frame kosong. Sehingga setiap User
Interface Elemen akan tampil dan berprilaku sama di setiap platform.

Sayangnya Swing lebih lambat tampil di layar. Dan ketika User Interface tampak sama
di setiap platform, maka juga akan tampak berbeda untuk tampilan standar sebuah
platform.

C. LIST PERCOBAN PROGRAM

1. Percobaan 1

Output:
2. Percobaan 2

Output:
3. Percobaan 3

Output:

4. Percobaan 4
Output:

5. Percobaan 5
Output:

6. Percobaan 6
Output:

7. Percobaan 7
Output:

8. Percobaan 8
Output:

9. Percobaan9
Output:
10. Percobaan10

Output:

11. Percobaan 11
Output:
12. Percobaan 12

Output:
13. Latihan

Output:
D.A NALISA PROGRAM

1. Percobaan 1
label merupakan string teks yang dapat kita pakai untuk memberi label pada komponen UI lainnya
namun label tidak bisa di ubah. Label adalah string teks yang tidak dapat diedit yang bekerja
sebagai pendeskripsi komponen awt lain Angka yang menyatakan penataan teks disimpan dalam
variable kelas dalam Label sehingga mudah diingat Label.RIGHT, Label.LEFT, dan
Label.CENTER, untuk mengganti font label dengan menggunakan metode setFont(), baik
dipanggil pada label itu sendiri untuk mengubah masing-masing label, atau pada komponen untuk
mengubah seluruh label.

2. Percobaan 2
Program diatas menggunakan beberapa konstruktor buton seperti Button() untuk membuat tombol
kosong tanpa label, Button(String) untuk membuat tombol dengan string tertentu sebagai label
Setelah mempunyai objek Button, kita dapat mengambil nilai labelnya dengan metode getLabel()
dan mengatur labelnya dengan menggunakan metode setLabel(String).

3. Percobaan 3
Program diatas menggunakan komponen ui checkbox, check box dapat dikenali dengan tampilan
suatu kotak kecil yang dapat dicentang.
Kita dapat membuat check box dengan menggunakan salah satu konstruktor berikut ini
Checkbox() untuk membuat check box kosong, dalam keadaan tidak terpilih, Checkbox(String)
untuk membuat check box dengan string tertentu sebagai label, Checkbox(String, null, boolean)
untuk membuat checkbox yang dipilih atau tidak dipilih berdasarkan argumen boolean true atau
false.

4. Percobaan 4
Radio button memiliki penampilan yang sama dengan check box, tetapi hanya satu dari
sekelompok yang dapat dipilih atau ditandai. Untuk membuat sekelompok radio button, mula-mula
harus dibuat instance dari CheckboxGroup.
CheckboxGroup cbg = new CheckboxGroup();
Kemudian kita buat dan kita tambahkan satu persatu check box menggunakan konstruktor dengan 3
(tiga) argumen (yakni label, grup, dan kondisi checkbox). Harap diingat bahwa karena radio button,
perdefinisi hanya memiliki satu checkbox yang terpilih pada satu saat, maka kondisi true
terakhirlah yang akan dipilih secara default.
5. Percobaan 5
Menu pilihan (choice menu) adalah komponen UI yang lebih konpleks dari pada label, button
ataupun checkbox. Menu pilihan adalah menu pop-up (atau pull- down) dimana dapat memilih satu
dari beberapa item yang tersedia. Kemudian
menu akan menampilkan pilihan tersebut pada layar. Fungsi menu pilihan ada dasarnya sama untuk
semua platform, tetapi tampilannya berbeda-beda tergantung platform dimana menu tersebut
dijalankan.Untuk membuat menu pilihan kita harus membuat instance dari kelas Choice dan
kemudian menggunakan metode addItem() untuk menambahkan satu-persatu item dalam urutan
tertentu.

6. Percobaan 6
Text field adalah komponen UI yang memungkinkan kita memasukkan dan mengedit teks.
Biasanya text field hanya memiliki satu baris tampilan dan tidak mempunyai penggulung
(scrollbar). Untuk membuat text field,kita dapat menggunakan beberapa konstruktor ini :
TextField() untuk membuat TextField kosong yang lebarnya 0 karakter, TextField(int) untuk
membuat text field kosong. Argumen integer menunjukkan jumlah karakter minimum yang
ditampilkan
TextField(String) untuk membuat text field yang diinisialisasi dengan string tertentu,
TextField(String,int) untuk membuat text field dengan lebar sejumlah karakter tertentu (bergantung
argumen integernya) berisi string tertentu. Jika string lebih lebar dari daripada lebar ketentuannya,
kita dapat menggeser kotak teks ke kiri dan ke kanan.

7. Percobaan 7
Kelas FlowLayout adalah layout yang paling dasar. Pada flow layout ini komponen ditambahkan
ke panel satu persatu, baris demi baris. Jika komponen tidak pas masuk satu baris, ia akan
diteruskan ke baris lainnya. Flow layout juga memiliki tatanan perataan (alignment) yang
menentukan penataan tiap baris. Secara default setiap baris diatur rata tengah (centered)
Untuk membuat penataan yang bersifat mengalir (flow layout) dapat digunakan perintah berikut ini
di dalam inisialisasi panel.

8. Percobaan 8
Program diatas menggunakan Grid Layout untuk memberikan pengontrolan yang lebih baik dalam
penempatan komponen di dalam panel. Dengan menggunakan grid layout kita membagi area
tampilan panel ke dalam baris dan kolom. Setiap komponen yang ditambahkan pada panel akan
ditempatkan dalam sel, dari baris paling atas menuju baris-baris berikutnya melalui kolom dari kiri
ke kanan. Pembuatan layout pola jala (grid layout) ini dilakukan dengan menentukan jumlah baris
dan kolom jala ketika kita membuat instance baru dari kelas GridLayout.

9. Percobaan 9
Pada border layout, penempatan komponen ditunjukkan dengan geografis , yakni utara, selatan, barat, timur,
dan tengah. Sama seperti pada layout lainnya, untuk menggunakan border layout kita harus
mendefinisikannya, kemudian menambahkan komponen satu persatu dengan metode khusus add() yang
memiliki dua argumen. Argumen pertama adalah string yang menunjukkan posisi dari komponen dalam
layout, dan kedua adalah komponen yang ditambahkan.
10. Percobaan 10
package dari Swing menyediakan banyak class untuk membuat aplikasi GUI. Package tersebut
dapat ditemukan di javax.swing. Perbedaan utama antara keduanya adalah komponen Swing ditulis
menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak class
dari Package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada
platform yang berbeda. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti
color chooser dan option pane. Nama dari komponen GUI milik Swing hampir sama persis dengan
komponen GUI milik AWT.

11. Percobaan 11

Top-level containers seperti Jframe dan Japplet dalam Swing sangat tidak cocok dengan AWT. Ini
adalah syarat menambahkan komponen ke dalam kontainer. Jika ingin menambahkan langsung
sebuah komponen kedalam kontainer sebagai kontainer AWT, pertama-tama harus telah
mendapatkan content pane dari kontainer. Untuk melakukan hal tersebut, anda akan menggunakan

method getContentPane dari container, pada package java.awt masih saja diimpor karena layout
manager yang digunakan terdapat pada package tersebut. Juga, memberi judul pada frame dan
mengepack komponen di dalam frame dapat juga dilakukan untuk frame AWT.

12. Percobaan 12

Program diatas memiliki kemiripan dengan BorderLayout pada AWT, karena untuk mengatur
layout tombol baik untuk posisi NORTH, SOUTH, EAST, WEST, dan CENTER. Hanya saja untuk
membuat frame disini kita menggunakan kelas JFrame yang ada pada Swing.

13. Latihan 1
Pada latihan complex layout, terdapat 3 panel yang digunakan yakni panel utara( bagianatas) ,
panel tengah untuk bagian tengah , dan panel selatan( bagian bawah). Panel tersebut menggunakan
konstruktor FlowLayout. Panel pada bagian atas berisikan button home data dan masuk. Bagian
panel tengah berisi beberapa item data yang dapat diisi. Dan panel bawah berisi exit, form data dan
next.
E. KESIMPULAN

AWT (Abstract Window Toolkit) adalah sekumpulan dari aplikasi program antarmuka
atau Application Program Interfaces(API) yang digunakan oleh para permragaman java
untuk membuat objek Graphical User Interface (GUI) seperti Button, Scroll bars dan
Windows.

Sedangkan SWING merupakan aplikasi program antarmuka seperti halnya AWT.


namun memiliki tampilan lebih kaya dan bagus dari AWT. Swing menggunakan metode
Painted yaitu objek GUI digambar dalam frame kosong sehingga akan berperilaku sama
pada setiap platform.

Swing tidak berdiri sendiri, akan tetapi menggunakan mekanisme dasar dari AWT,
sehingga antara Swing dan Awt selalu berdampingan.

AWT merupakan sekumpulan library yang tidak tergantung pada platform (platform
independent) dan digunakan untuk menyederhanakan implementasi userinterfae.

Sedangkan Swing merupakan bentuk implementasi yang menambahkan komponen-


komponen dalam system GUI tetapi masih didasarkan pada arsitekstur AWT.

Swing bukan pengganti dari AWT dan tidak bisa berdiri sendiri, karena setiap program
butuh berkomunikasi dengan mekanisme dasar dari target platform dari Event Handling
yang ada di AWT, jadi Swing akan selalu berdampingan dengan AWT.

F. DAFTAR PUSTAKA

https://catatanblogkecil.blogspot.co.id/2013/12/jurnal-java-awt-dan-swing.html acessed on
03-12-2017