Materi 6 : Antarmuka atau User Interface (UI)

 PEMBAHASAN 5

 

Antarmuka atau User Interface (UI)

 

Kompetensi Dasar :

3.15. Merancang antarmuka atau User Interface (UI)

4.15. Membuat kode program untuk antar muka atau User Interface (UI)

                                                             

Materi Pembelajaran:

Antarmuka atau User Interface (UI)

 

A.    Konsep GUI (Graphical User Interface)

GUI (Graphical User Interface) merupakan antarmuka pada sistem operasi atau komputer yang menggunakan menu dan tampilan grafis agar mempermudah para penggunanya untuk berinteraksi dengan komputer atau sistem operasi untuk melakukan pekerjaan interaktif.

GUI digunakan dalam pembuatan program aplikasi dengan mempertimbangkan dua aspek yaitu keindahan tampilan dan kemudahan penggunaan program.

 

B.     Sejarah Singkat GUI

GUI (Graphical User Interface) software dikembangkan oleh para peneliti di Xerox Palo Alto Research Center (PARC) di tahun 70-an.

Lahirnya GUI didasari akan keterbatasan pengguna komputer yang hanya dijalankan dengan menggunakan perintah yang diketik pada layar monitor menggunakan keyboard.

Kemudian lahirlah yang disebut GUI yang seperangkat aplikasinya menampilkan semua menu, ikon dan alat penunjuk lain yang menggantikan perintah ketik di shell.

GUI pertama kali digunakan pada komputer yang diproduksi oleh APPLE yaitu Machintos dengan steve Jobs sebagai penggagasnya.

 

C.    Keuntungan dan Kekurangan GUI

1.      Keuntungan dalam penggunaan GUI

a.       Menarik Minat Pengguna dengan menggunakan ikon grafik serta mengurangi kebosanan pengguna pada waktu menggunakan komputer dan desain aplikasi.

b.      Memudahkan pengguna tentang apa yang dipaparkan tanpa perlu banyak membaca dan menjelaskan.

c.       Memahirkan Pengguna Dengan Cepat.

d.      Resolusi Gambar yang Tinggi karena dapat menggunakan gambar atau tulisan yang bisa menghasilkan sampai dengan 256 warna

 

2.      Kekurangan dalam penggunaan GUI

a.       Memakan memori atau kapasitas penyimpanan yang sangat besar

b.      Bergantung pada perangkat keras dalam hal desain dan output

c.       Membutuhkan banyak tempat pada layar komputer

d.      Tidak fleksibel pada semua perangkat karena adanya ketergantungan pada file tertentu.

 

D.    Perancangan GUI

Dalam merancangan GUI yang baik perlu memperhatikan beberapa hal, diantaranya :

·         Desain dapat diterjemahkan sebagai seni terapan, dan berbagai pencapaian kreatif.

·         Arti Desain sebagai kata kerja : “desain” memiliki arti “proses untuk membuat dan menciptakan objek baru

·         Arti Desain sebagai kata benda : “desain” digunakan untuk menyebut hasil akhir dari sebuah proses kreatif, baik itu berwujud sebuah rencana, proposal, atau berbentuk objek nyata.

 

Prinsip Desain yang Baik

1.         Metafora (Proses Perancangan bentuk)

maksudnya menampilkan dan menggambarkan elemen-elemen (titik, garis, warna, ruang dan tekstur) yang relefan dan dikenali. Bisa menggunakan dekstop yang berhubungan dengan perancangan interface (adobe Photoshop, Corel Draw, Macromedia Flash, dll)

2.         Kejelasan

setiap elemen yang digunakan pada interface harus beralasan dalam penggunanya. Memperjelas pesan yang diberikan. Memberikan relax pada mata dalam menatap elemen-elemen saat beraktifitas. Menawarkan kesedrahanaan, enak dilihat, berkelas dan jelas

3.         Konsisten

Konsisten dalam layout, warna, gambar (image), icon, tipografi, teks, dll

Konsisten pada layar, perpindahan antar layar satu ke layar lain

4.         Konsisten pada desain interface yang dirancang

Bidang kerja (platform) mempunyai petunjuk tuntunan

 

E.     KOMPONEN DASAR GUI


 

GUI memiliki komponen-komponen tersendiri dalam java, diantaranya:

1.         JLabel, berfungsi sebagai penunjuk tulisan/angka pada GUI.

Contoh: lbl = new JLabel (“Hello World”);

2.         JButton, berfungsi sebagai tombol pada GUI, komponen ini paling sering digunakan karena dibutuhkan user untuk menklik tombol tersebut

Contoh: button = new JButton (“OK”);

3.         JRadioButton, berfungsi sebagai selection, komponen ini juga paling sering digunakan.

4.         JCheckBox, berfungsi sebagai tanda centang, komponen ini juga paling sering digunakan. Biasanya digunakan pada saat user melakukan setting options.

5.         JTextField, berfungsi sebagai kolom tempat untuk menulis.

 

Serta banyak komponen lainnya yang berada dalam tempat penangganan menu atau grafis yang disebut dengan Pallete.

 

F.     API (Application Programming Interface)

Bagian-bagian utama dari API

  1. AWT
  2. Swing
  3. Java2D
  4. Accessibility
  5. Drag and Drop

 

AWT dan SWING

      AWT dan SWING termasuk dalam The Java Foundation Class (JFC) yaitu bagian penting dari Java SDK, yang berfungsi untuk mempermudah pengembangan aplikasi JAVA GUI.

      Dalam penggunaanyanya beberapa komponen AWT menggunakan native code, sementara keseluruhan Swing ditulis menggunakan bahasa pemrograman Java.

      Swing menyediakan implementasi platform-independent yang dapat dikembangkan dengan platform yang berbeda dan 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. Sehingga dapat disimpulkan komponen AWT dapat digunakan bersama komponen Swing.

 

Komponen SWING

Class Swing

Deskripsi

Container (tempat)

obyek yang dapat menampung komponen grafis dan tempat yang lebih kecil. Contoh : frames, panels

Component

obyek yang berfungsi untuk menampilkan data, menerima masukan atau menunjukkan suatu kondisi. Contoh : buttons, labels dan text fields

Event

obyek yang merepresentasikan suatu kejadian. Contoh gerakan mouse, penekanan tombol

Listener

suatu obyek yang ‘menunggu’ suatu kejadian khusus dan akan bereaksi (melakukan sesuatu) jika kejadian tersebut terjadi

 

Komponen AWT



Sama halnya SWING dan AWT, beberapa komponen dapat dilihat di masing-masing Pallete.

 

Class AWT dan SWING

1.      Delegation Event Model

Tiga Komponen Utama dalam Delegation Event Model.

a.       Event Source yaitu komponen GUI yang meng-generate event. Sebagai contoh, jika user menekan tombol, event source dalam hal ini adalah tombol.

b.      Event Listener/Handler yaitu komponen yang menerima berita dari event-event dan proses-proses interaksi user. Ketika tombol ditekan, listener akan mengendalikan dengan menampilkan sebuah informasi yang berguna untuk user.

c.       Event Object yaitu berisi semua informasi yang perlu tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Sebuah event object mempunyai tipe data mengenai salah satu dari class.

 


Gambar. Delegation Event model

 

2.      Registrasi Listeners

Event source mendaftarkan sebuah listener melalui method add<Type>Listener.

      void add<Type>Listener(<Type>Listener listenerObj)

 

Listener yang telah teregistrasi dapat juga tidak diregistrasikan lagi menggunakan method remove<Type>Listener.

      void remove<Type>Listener(<Type>Listener listenerObj)

 

Ket : <Type> tergantung pada tipe dari event source. Dapat berupa Key, Mouse, Focus, Component, Action dan lainnya.

 

3.      Class-class Event

Akar dari hirarki class event adalah class EventObject, yang dapat ditemukan pada paket java.util

Immediate subclass dari class EventObject adalah class AWTEvent, didefinisikan pada paket java.awt

 

class-class AWT event


Event Listeners

Event listeners adalah class yang mengimplemen- tasikan interfaces <Type>Listener. Tabel di bawah menunjukkan beberapa listener interfaces yang biasanya digunakan.


a.      Method ActionListener

 

b.      Method MouseListener


c.       Method MouseMotionListener

MouseMotionListener memiliki 2 method yang diimplementasi :


d.      Method WindowListener


Contoh Mouse Events

MouseListener dan MouseMotionListener

a.       MouseListener mendengarkan interaksi mouse terhadap komponen swing. MouseListener dapat didaftarkan pada semua komponen swing. MouseListener mendengarkan/merespon beberapa event, diantaranya :

·         mousePressed : event ini terjadi ketika user menekan salah satu tombol mouse diatas komponen swing.

·         mouseReleased : setelah tombol ditekan, komponen swing akan menerima pelepasan tombol mouse. Tetapi jika tombol mouse dilepaskan pada saat pointer mouse tidak berada diatas komponen swing, maka event ini tidak akan terjadi.

·         mouseClicked : event ini muncul ketika user melakukan click tombol mouse diatas komponen swing.

·         mouseEntered : ketika mouse memasuki area diatas komponen swing, event ini akan dipicu.

·         mouseExited : muncul ketika mouse akan meninggalkan area diatas komponen swing.

Prinsip kerjanya ketika user menekan tombol mouse (click),event mousePressed dibuat, kemudian mouseReleased dan akhirnya mouseClicked muncul terakhir.

b.      MouseMotionListener juga dapat didaftarkan sebagai listener pada semua komponen swing. MouseMotionListener dipisahkan dari MouseListener karena penanganan event mouseMove yang lebih berat dan intensif. MouseMotionListener mendengarkan dua envent:

·         mouseMoved : terjadi ketika user menggerakkan mouse diatas komponen swing

·         mouseDragged : terjadi ketika user menekan tombol mouse sekaligus menggerakkanya diatas komponen swing

 

Method-method lainnya

      Method getClickCount digunakan untuk menentukan jumlah click yang terjadi dalam waktu yang berdekatan. Method getClickCount juga digunakan untuk menentukan apakah klik yang terjadi adalah single klik atau double klik.

      Method getButton digunakan untuk menentukan tombol mana yang ditekan oleh user. Method getButton akan mengembalikan nilai MouseEvent.BUTTON1 jika tombol kiri ditekan, MouseEvent.BUTTON2 jika tombol tengah ditekan dan MouseEvent.BUTTON3 jika tombol kanan ditekan.

      Method getX dan getY akan mengembalikan koordinat dimana MouseEvent terjadi. Koordinat yang digunakan adalah koordinat relatif. Nilai koordinatnya dinyatakan dalam satuan pixel.

 

4.      Class Adapter

Kelas-kelas adapter adalah kelas yang juga mengimplementasikan interface yang bersesuaian dengan menyediakan implementasi standar untuk semua metoda interface berupa blok kosong tanpa pernyataan.

Kelas-Kelas Adapter Di Java

Kelas-Kelas Adapter

Interfes Yang Diimplementasi

MouseAdapter

MouseListener

MouseMotionAdapter

MouseMotionListener

FocusAdapter

FocusListener

ContainerAdapter

ContainerListener

KeyAdapter

KeyListener

WindowAdapter

WindowListener

ComponentAdapter

ComponentListener

 

Percobaan 1 : Membuat Frame

 

Percobaan 2 : Membuat Frame


Percobaan 3 : Membuat Panel

 Percobaan 4 : Membuat Tombol dan Box


 

Tugas Mandiri : Lakukan kegiatan percobaan diatas, kemudian buatkan laporan hasil dari kegiatan percobaan tersebut.


Selamat belajar dan manfaatkan waktu sebaik mungkin. 


Untuk materi 1 silahkan buka draf materi yang ada disamping kanan, atau klik link berikut : http://smk1sintoga.blogspot.com/2020/07/materi-1-string-dan-pelbagai-propertinya.html


Untuk materi 2 silahkan buka draf materi yang ada disamping kanan, atau klik link berikut :

Untuk materi 3 silahkan buka draf materi yang ada disamping kanan, atau klik link berikut :


Untuk materi 4 silahkan buka draf materi yang ada disamping kanan, atau klik link berikut :

     https://smk1sintoga.blogspot.com/2020/08/materi-4-file-dan-inputoutput-io.html


Untuk materi 4 silahkan buka draf materi yang ada disamping kanan, atau klik link berikut :