RANGKUMAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
MODUL 1-6
Disusun Oleh:
Nama : Loranti Valentina
NIM :231080200049
Kelompok : 2
Assalamu’alaikum Wr.Wb.
Materi yang saya lampirkan ini merupakan hasil rangkuman dari materi praktikum Pemrograman Berorientasi Objek yang dilaksanakan selama satu semester ini untuk memenuhi tugas Praktikum Pemrograman Berorientasi Objek. Saya merupakan Mahasiswi Universitas Muhammadiyah Sidoarjo Program Studi Informatika Fakultas Sains dan Teknologi. Jika ingin mengetahui lebih detail tentang Universitas Muhammadiyah Sidoarjo bisa langsung mengakses link
umsida.ac.id atau fst.umsida.ac.id
POKOK BAHASAN 1
Elemen Dasar Java
PENDAHULUAN
Pada
pokok bahasan ini berisi penjelasan disertai contoh mengenai pengenalan type
data, variabel, dan identitas array yang menjadi pemahaman dasar bagi mahasiswa
sebelum mempelajari Pemrograman Berorientasi Objek dengan membuat program java
sederhana menggunakan elemen dasar tersebut, diharapkan mahasiswa dapat :
a.
Memahami instalasi java
b.
Mengenali type data, variable dan identitas dan array.
c.
Menggunakan elemen dasar java pada pembuat pemrograman
d.
membuat program java sederhana dengan menggunakan elemen
dasar.
PENYAJIAN (TUTORIAL)
A. Instalasi Java
Install aplikasi Java SDK pada komputer. Berikut langkah-langah untuk
instalasi java:
a.
Jalankan installer Java SDK
b.
Ikuti semua proses
sampai selesai
c.
Set variabel system path pada komputer. Caranya:
· Buka Windows Explorere
· Klik kanan icone My Computer, klik Properties
· Klik Advanced system settings
· Klik tab Advanced
· Klik Tombol Environment Variables
· Pada bagian system variable, cari variable path,
kemudian klik Edit, tambahkan alamat dari folder bin pada Java kompiler Anda ke dalam value
variable path.
· Pada bagian user variable, tambahkan variable
classpath kemudian isi nilainya
dengan “.;” (titik dan titik koma) alamat folder lib_anda
· Cobalah Java Anda, buka command line
Ketikkan java<<enter>>
Ketikkan javac<<enter>>
Kalau kedua sintaks di atas tidak
menemukan pesan error, maka instalasi berhasil
B.
Konsep Dasar Pemrograman
Berorientasi Objek
Java adalah salah
satu bahasa pemrograman yang menggunakan paradigma pemrograman berorientasi
obyek. Pemrograman berorientasi obyek menjadikan object dan class sebagai konsep
utamanya. Jadi dalam pemrograman java, object dan class menjadi suatu yang
paling sentral. Java adalah salah satu bahasa pemrograman yang tidak tergantung
pada operating system (operating system independent), yang sekarang mulai
populer dikalangan programmer.
C.
Konsep Dasar Variable
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 |
Short
Tipe variable short adalah bilanagn bulat16 bit yang mempunyai jangkauan nilai dari -2¹⁵ sampai dengan 2¹⁵ -1 atau dari -32768 sampai dengan ±32767.
Type variable int adalah bilangan bulat 32 bit dengan jangkauan nilai dari -2³¹ sampai dengan 2³¹ -1.
Long
Tipe variable long adalah bilangan bulat 64 bit dengan jangkauan nilai dari -2⁶³ sampai dengan 2⁶³ -1.
Contoh:
Long
11 = 5456469;
Long 12 = 0x08ea73aaea4f25d23;
Byte
Type variable byte adalah bilangan
bulat 8 bit yang mempunyai jangkauan nilai dari 2⁷ sampai dengan 2⁷ -1 atau
-127 sampai dengan +127.
Contoh :
Byte b1 = 50;
Byte b2 = 120;
Byte b3
= 127;
Float
Float adalah bilangan real
(pecahan, dengan format floating point yang menggunakan tempat penyimpanan 32
bit. Tipe float mempunyai jangkauan nilai dari 3.4e-038 sampai dengan 3.4e+038.
Ketelitian float sampai 10 angka dibelakang koma.
Contoh :
Float
f1 ;
Float
f2 = 0,13f;
Float
f3 = 0.34f;
Perhatikan
bahwa angka float ditambah suffix huruf f yang berarti float. Hal ini
diperlukan karena notasi default untul tipe variable double.
Double
Dobel adalag bilangan real
(pecahan) dengan presisi 2 kali lebih baik dari variable float.
Dobel
membutuhkan 64 bit untuk penyimpanannya yang mempunyai jangkauan nilai dari
1.7e-308 sampai dengan 1.7+308.
Char
Tipe variable char menyimpan kode
Unicode (karaktek internasional), karena itu membutuhkan 16 bit.
Contoh:
Char c;
Char c1
= ’c’;
Char c5 = ’\t’;
Boolean
Variable Boolean berisi dua nilai, yaitu true dan false. Variabel Boolean dapat diperoleh dari operasi logika seperti perbandingan dua bilangan, perbandingan dua string, dan lain - lain;
Casting
Casting adalah teknik konversi
suatu data tipe ke data tipe yang lain secara eksplisit. Yang menerangkan
kepada compiler bahwa terjadi perubahan tipe variable, sehingga hasilnya harus
dikonversi ke tipe variable tersebut.
Contoh
:
Int I;
Double
d;
Byte b;
I =
250;
D = I;
//tidak terjadi kesalahan, penyesuaian otomatis
B = I;
//terjadi kesalahan, tipe tidak compatible
B =
(byte); //tidak terjadi kesalahan, casting dari integer ke byte
D.
Konsep Dasar Array
Array adalah sekumpulan data yang sama tipenya. Isi array
dapat diakses melalui index yang dimulai dari 0 sampai dengan
jumlah_elemen_array-1.
Tipe_variable nama_array[];
Contoh
Int MyArr[];
Pada saat didefinisikan
(dideklarasikan), jumlah elemen array belum diketahui. Jumlah elemen yang
sesungguhnya diciptakan dengan 2. Array MyArr dapat diakses dengan cara sbb;
MyArr[0] = 340;
MyArr[1] = -129;
MyArr[2]
= 499;
Array dapat diinialisasi secara
otomatis pada saat pendeklarasian dengan cara sbb:
Int
MyArr[] = {340,-129,400};
Pada
saat runtime jika indeks array yang diakses melebihi jumlah elemen yang ada
maka java akan mengekuarkan pesan kesalahan berupa kesalahan runtime error.
Array Multidimensi
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 berdimensi dua. Contoh
pendeklarasian array dua dimensi:
Double Matrik[ ] [ ];
Menciptakan
element array dua dimensi
Matrik = new double [2] [3];
Atau dengan cara diciptakan satu
persatu (per baris)
Matrik=new double [2] [ ]; // dimensi berikutnya belum
disiapkan
Matrik[0] = new double[3];
Matrik[1] = new double[3];
Matrik[0][0] = 9.5;
Matrik[0][2] = 10.0;
Matrik[1][2] = 340.9;
Atau kita dapat menginisalisasi array
multi dimensi pada saat pendeklarasian dengan cara :
Double
Matrik [ ] [ ] = {
{20.5,
10.9, 309.0}
{-8.8, 98.7, 100,0}
E.
Kerangka Program Java
Program dalam java dibagi-bagi menjadi class-class. Oleh karena itu program dalam java dimulai dengan kata kunci class atau public class.
Kata Kunci
Program java mempunya beberapa
kata kunci yang tidak boleh kita gunakan sebagai nama variable, nama class dan
yang lainnya. Kata kunci tersebut adalah:
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 |
|
POKOK BAHASAN 2
Operator, Control Flow, dan String
PENDAHULUAN
Pada pokok bahasan ini akan dibahas
mengenai pendeklarasian variable, baik instance variable, class variable,
maupun local variable, serta membahas fungsi dari masing-masing simbol operator
dan control flow. Sehingga setelah mempelajari bab ini diharapkan mahasiswa
mampu :
a.
Mendeklarasikan variable dengan berbagai macam tipe data
b.
Mengakses instance
variable, class variable, maupun local variable
c.
Memahami fungsi dari masing-masing simbol operator
d.
Memahami control flow
e.
Mahasiswa mampu membuat program yang berkaitan dengan
String.
f.
Mahasiswa mampu memahami prinsip penggunaan String
PENYAJIAN (TUTORIAL)
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
banyak hal. Ada beberapa jenis
Operator dan Control Flow dalam 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 boolean data type juga (true atau false)
3.
Bit per bit operator
Variabel bertipe log, int, short, byte dan char dapat mempunyai operator
yang dioperasikan langsung kesusunan binernya (bit atau bit).
Operator |
Nama |
Keterangan |
~ |
NOT |
Mengubah 0 menjadi 1 dan 1 menjadi 0 |
& |
AND |
1 & 1 =1 selain itu hasilnya selalu 0 |
| |
OR |
0|0 = 0 selain itu hasilnya selalu 1 |
^ |
XOR |
0^0 = 0, 1^1 = 0 selain itu hasilnya 1 |
>> |
SHIFT RIGT |
Dorong 1 bit ke kanan termasuk tanda minus |
>>> |
SHIFT RIGT |
Dorong 1 bit ke kanan nisi bit paling kiri dengan 0 |
<< |
SHIFT LEFT |
Dorong 1 bit ke kiri |
Seperti halnya aritmatika operator, Bit per bit operator juga bisa
dikakukan Penyederhanaan penulisannya.
4.
Relasional
Operator relasional
digunakan untuk membandingkan dua nilai. Hasil dari perbandingan tersebut
adalah data tipe Boolean (true atau false).
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 dibandingan satu dengan yang lainnya.
Contoh
:
Char
c = ‘*’
Int
I = 0x2a;
Boolean
b;
b = c = = i;
5.
Prioritas
Setiap operator mempunyai
prioritas sendiri - sendiri, sehingga perhitungan matematika dilakukan sesuai
prioritasnya. Lihat contoh dibawah 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 diperasikan dari kanan ke kiri.
Operator |
()
[] |
++
-+-- ~1 |
*’% |
+
- |
>>
>>> << |
>>=
< <= |
=
= | = |
& |
^ |
| |
&& |
|| |
?: |
= |
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
pernyataan if-else:
If(eksprei)
Pernyataan_1;
Else
Pernyataan_2;
8.
Pernyataan switch,
case dan break
Swit digunakan untuk percabangan (seleksi) lebih dari dua. Ini digunakan
untuk menghindari penggunaan ig-else yang berlapis-lapis.
9.
Pengulangan (Loop)
Pengulangan dengan while
Alur program blok while akan dilakukan berulang-ulang selama ekspresi benar
(true)
Sintaks dari pengulangan while adalah sbb:
While(eksprei)
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 inisialisasi, test kondisi dan update counter.
Jadi sintaks pengulangan dengan for adalah :
for
(inisialisasi_counter;tes_kondisi;update_counter){
instruksi;
--------
};
Inisialisasi_counter dilakukan
sekali pada saat akan dilakukan perurangan, test_kondisi diperikasa setiap kali
sebelum pegulangan dilakukan, sedangkan update_counter dilakukan setiap kali
selesai pengulangan.
Break, continue
Dalam pengulangan break digunakan
untuk mematahkan (mengakhiri) pengulangan secara paksa. Sedangkan continue
digunakan untuk melanjutkan pengulangan berikutnya secara paksa dengan
mengabaikan perintah dibawah pernyataan continue.
String
String adalah obyek yang terdiri atas deretan karakter. Tidak seperti array dari karakter, String tidak perlu ditentukan jumlah panjang karakternya.
StringTokenizer
Class
String Tokenizer 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.
POKOK BAHASAN 3
Class
PENDAHULUAN
Pada pokok bahasan ini akan dibahas mengenai objek dan class, seperti penggunaannya dalam sebuah program java sederhana. Setelah mempelajari materi ini diharapkan mahasiswa mampu untuk :
a. Mengetahui pengetian dari objek & class
b. Dapat membuat program sederhana dari java dengan menggunakan objek dan class
PENYAJIAN (TUTORIAL)
Class merupakan bagian pokok dari
Pemrograman Berorientasi Objek (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.
1.
Pendeklarasikan
class
Sintaks
pendeklarasian class dalam java adalah
modifiers
class NamaClass {
<class
attribute list>
<class
method list>
}
modifier menetukan 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 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 boleh dikembangkan atau dipakai oleh class lain dalam satu paket (package). jika kita tidak memberikan modifiers didepan pendefinisian class maka class bersifat friendly.
Akses modifiers dalam class attribute maupun class method menentukan bagaimana aksesbilitas attribute dan method dari class lain. Ada beberapa akses modifier yaitu:
- Friendly
Secara default akses modifiers adalah friendly, yang berarti bahwa attribute |mothode bisa diakses oleh class lain dalam satu paket (package).
- Public
Akses modifiers public membuat attribute\metbute tersebut dapat diakses oleh pihak luar manapun.
- Private
Akses modifiers private membuat attribute\method hanya dapat diakses oleh class itu sendiri
- Protected
Akses modifiers protected membuat attribute\method hanya dapat diakses oleh class itu dan class turunannya (subclass nya).
- Final
akses modifiers final membuat attribute tersebut tidak boleh diubah pada saat eksekusi. sebab attribute ini tidak boleh diubah maka harus diberi nilai pada saat pendeklarasian misal final ini SIZE 5;
- Static
Akses modifiers static membuat attribute tersebut mempunyai nilai sama untuk semua obyek dari class tersebut.
2.
Konstruktor
Konstruktor adalah method dengan
property yang unik dan untuk keperluan inisialisasi pada saat obyek diciptakan.
Jadi konstruktor digunakan memberikan nilai kepada attribute tertentu pada saat
obyek diciptakan. Konstruktor didefinisikan dengan nama yang sama dengan nama
class. Konstruktor tidak perlu return_type sebab konstruktor secara aktual
dipanggil sebagai methid. Konstruktor ini dipanggil pada saat kita memberikan
perintah new.
3.
Inherintace (Pewarisan)
Inherintace (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 class-class
tersebut. Class yang mewarisi
disebut subclass sedabgkan class yang diwarisi disebut super class. Pewarisan
class dalam java menggunakan sintak:
modifier<NamaSubClass>extends<NamaSuperClass>
{
}
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.
POKOK BAHASAN 4
Threads
PENDAHULUAN
Pada
pokok bahasan ini akan dibahas mengenai threads. Setelah mempelajari bab ini
diharapkan mahasiswa mampu :
a. Mahasiswa dapat membuat threads dengan menggunakan pemrograman java
b. Mahasiswa dapat menjelaskan kegunaan threads
PENYAJIAN (TUTORIAL)
Property unik dari java adalah bahwa Java
memiliki support 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. Sebenarnya setiap
program dalam java selalu menggunakan paling tidak satu threads.
Kita
bisa membuat aplikasi dan class berjalan dalam threads yang terpisah dengan dua
cara, yaitu :
·
Mengembangkan dari
class Threads (extending class Threads)
·
Mengimplementasikan
Runnable interface
Mengembangkan class
Threads
Dengan menggunakan extends Threads, 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.
Mengimplmentasikan
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.
POKOK BAHASAN 5
Exception (Eksepsi)
PENDAHULUAN
Setelah
mempelajari bab ini diharapakan mahasiswa mampu :
a. Memahami perbedaan antara kode program java yang memanfaatkan Exception Handling dan yang tida memanfaatkan.
b. Mahasiswa mampu mengimplementasikan kata kunci try, catch, dan throw dan throws.
PENYAJIAN (TUTORIAL)
Eksepsi
adalah mekanisme yang memungkinkan program untuk menangkap kondisi-kondisi
tertentu yang membutuhkan penanganan khusus.
try menyatakan bahwa dalam blok try dapat terjadi suatu ekspresi dan bila ekspresi terjadi, maka
aktifkan program yang berada dalam kelompok (blok ) catch sesuai dengan
tipe ekspresinya.
throw
Throw digunakan secara eksplist untuk membuang sebuah eksepsi. Contoh berikutnya, TestThrow mendefinisikan Obyek Eksepsi “NullPointException” pada sebuah variabel t.
throws
Eksepsi 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 tambahan kata kunci throws Exception.
Tabel 6.1 Common java Exception
Exception |
Description |
Arithmeticexception |
Disebabkan
oleh error secara matematika seperti pembagian dengan no |
ArrayIndexOutOfBouns Exception |
Disebabkan oleh array index yang
salah |
ArrayStoreException |
Disebabkan ketika program mencoba
menyimpan file data yang salah |
FileNotFoundException |
Disebabkan
oleh usaha mengakses file yang tidak ada |
IOException |
Disebabkan oleh generan I/O
failures, seperti kegagalan memerikasa file |
NullPointException |
Disebabkan
oleh mereferensi objek null |
NumberFormatException |
Disebabkan
ketika konversi antara string dan bilangan gagal |
OutOfMemoryException |
Disebabkan
karena tidak cukup memory untuk alokasi obyek |
SecurityException |
Disebabkan
ketika sebuah applet mencoba melakukan aksi yang tidak diperbolehkan oleh
setting security browser |
StackOverflowException |
Disebabkan
ketika sistem run melebihi kapasitas stack |
StringgIndexOutOfBounds Exception |
Disebabkan
ketika program mencoba mengakses posisi karakter yang tida ada di dalam
string |
POKOK BAHASAN 6
Java Graphical User Interface
PENDAHULUAN
Tujuan
1.
Mahasiswa memahami dan menguasa pembuatan java GUI
2.
Mahasiswa memahami konsep dasar pembuatan java GUI
menggunakan Swing
3.
Mahasiswa memahami Komponen dasar user interface dengan
swing
PENYAJIAN (TUTORIAL)
Graphical User Interface
Graphical
User Interface merupakan antar muka grafis yang menfasilitasi interaksi antara
pengguna dengan program aplikasi. Saah 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.
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 : merupakan container
perantara. Umumnya digunakan hanya untuk meletakkan atau mengelompokkan
komponen-komponen yang digunakan, baik itu container atau berupa atomuc component.
Contoh dari Intermediate level container adalah JPanel (panel).
3. Atomic component : merupakan komponen yang memiliki
fungsi khusus. Umumnya pengguna langsung berinteraksi dengan komponen ini. Contohnya
adalah JButton (tombol), JLabel (label), JTextField, JTextArea (area untuk
menulis teks), dll.
4. Layout Manager Berfungsi untuk mengatur bagaimana 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 Nama Frame). Salah
satu method yang sering digunakan di kelas JFrame adalah
setDefaultCloseOperation(int ops). Method ini berfungsi untuk mengatur apa yang
akan dilakukan oleh program ketika tombol 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.DISPOSE_ON_CLOSE: menghilangkan tampilan frame dari layer, menghilangkan dari memori, dan membebaskan resource yang dipakai.
4. JFrame.EXIT_ON_CLOSE: menghentikan eksekusi program.
Layout
Management
Untuk
mengatur laypout dari setiap komponen-komponen GUI yang diletakkan pada
container, digunakan layout manager. Setiap pane secara default
pasti memiliki layout manager. Jika ingin mengubah layput-nya, gunakan void
setLayout(LayoutManager mgr) Jaba menyediakan 6 buah class standar yang dapat
digunakan sebagai layout manager yang terdapat dalam package java.awt, yaitu
Flow Layout, GridLayout, BorderLayout, CardLayout, GridLayout, BoxLayout
1. flow Layout
merupakan layout manager default yang digunakan JPanel. Layout manager ini meletakkan
komponen yang 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.
3. BorderLayour
adalah default manager untuk ContetntPane. Layout ini menempatkan komponen dengan pendekatan
arah mata angin north, south, center, east.
4. CardLayout
digunakan untk menampilkan container-container/panel-panel
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 didalamnya terdapat atomic component. Salah satu contoh intermediate
container adalah tabbed pane (JTabbedPane)
5. GridBagLayout
Grid bag layout adalah pengaturan layout yang dapat digunakan
untuk melakukan komponen secara bebas. Setiap komponen dapat menempati ukuran
yang berbeda dengan komponen lainnya.
6. Boxlayout digunakan untuk meletakkan komponen berurutan ke kanan
(sumbu X) atau berurutan ke bawah (sumbu Y). Penggunaan BoxLayout menggunakan
class Box dimana merupakan container yang secara internal telah menggunakan
BoxLayout sebagai layout manager-nya.
Semoga rangkuman ini bermanfaat bagi penulis dan pembaca.
Terima kasih.
Wassalamu'alaikum Wr. Wb.