RANGKUMAN PRAKTIKUM PBO
RANGKUMAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI
OBJEK
(PBO)
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
c. Memahami perbedaan antara kode
program java yang memanfaatkan Exception Handling dan yang tidak memanfaatkan.
d. Mahasiswa mampu
mengimplementasikan kata kunci try, catch, dan throw dan throws.
e. Mahasiswa memahami dan menguasai pembuatan
Java GUI
f. Mahasiswa memahami konsep dasar
pembuatan Java GUI menggunakan Swing
g. Mahasiswa memahami komponen dasar
user interface dengan Swing
PENYAJIAN (TUTORIAL)
Property unik dari java adalah bahwa java
memberi support adanya threads. Threads memperbolehkan kita melakukan banyak
hal pada waktu yang bersamaan. Threads adalah komponen java yang memungkinkan
kita untuk membuat program dalam java selalu menggunakan paling tidak satu
thread
·
Mengembangkan
dari class Thread (extending class thread)
·
Mengimplementasikan
Runnable interface
Ekspesi adalah mekanisme yang memungkinkan program untuk
menangkap kondisi-kondisi tertentu yang membutuhkan penanganan khusus. Eksepsi
dapat berupa kesalahan yang terjadi dalam program pada saat run time.
konsep dasar
variable
Variable 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
|
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 bilangan bulat 16 bit yang mempuyai jangkauan nilai dari
-215 sampai
dengan 215-1 atau dari -32768 sampai dengan ±32767.
Long
Tipe
variable long adalah bilangan bulat 64 bit dengan jangkauan nilai dari -263sampai
dengan 263-1.
Contoh
:
Long 11 = 5456469;
Long 12 = 0x08ea73aaea4f25d23
Byte
Type
variable byte adalahbilanganbulat 8 bit yang mempunyai jangkauan nilai dari 27
sampai dengan 27-1 ataudari -128 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 jangkaun 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 untuk tipe variable double.
Double
Dobel
adalah 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.7e+308.
Char
Tipe
variable char menyimpan kode Unicode (karakter internasional), karena itu
membutuhkan 16 bit
Contoh:
Char c;
Char
c1=’c’;
Ch ar
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.
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, penyesuain 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-i.
Tipe_variabel
nama_array[];
Contoh
IntMyArr[];
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 caras bb:
IntMyArr[]
= {340,-129, 499};
Pada
saat runtime jika indeks array yang diakses melebihi jumlah elemen yang ada maka java akan
mengeluarkan pesan kesalahan berupa kesalahan runtime error.
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.Contoh pendeklarasian array dua dimensi:
Double
Matrik[ ] [ ];
Menciptakan element array duadimensi
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 menginisialisasi array multi demensi pada saat pendeklarasian dengan
cara :
Double
Matrik [ ] [ ] ={
{20.5,
10.9, 309.0}
{-8.8,
98.7, 100.0}
Mengembangkan class Thread
Dengan
menggunakan extends Thread, mekanisme Threads dapat diaplikasikan dengan
membuat fungsi run ( )
Untuk
melihat concurrency (multitasking) pada program tersebut tambahkan method sleep
( ) untuk actual Thread (currect Thread). Method sleep ( ) hanya dapat
dilakukan dengan menangkap sinyal
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 akan
menjalakan method run ( ).
Mengimplementasikan Runnable interface
Pada
contoh diatas 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 Thread Object)
Atau
Thread (Runnable Thread Object, String
nama Thread)
Thread
Object pada contoh diatas adalah this, yang
merupakan obyek itu sendiri yang mengimplementasikan Runnable.
Method is Active ( ) akan memberikan nilai
true jika Thread actual aktif, dan false jika tidak aktif.
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.
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.
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. 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
didalamnya.
2. Canvas
: merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk
membuat progarm grafis. Dengan canvas, kita bisa menggambar berbagai bentuk
seperti lingkaran,segitiga,dll
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 kontainer perantara. Umumnya digunakan hanya untuk
meletakkan atau mengelompokkan komponen-komponen yang digunakan, baik itu
containeratau berupa atomic 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 JButton (tombol),JLabel
(label),JtextField,JtextArea (area untuk menulis teks),dll
Method ini berfungsi untuk mengatur apa yang
akan dikakukan oleh program ketika tombol close di klik. Parameter method
tersebut diantaranya 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 di sembunyikan, namun secara fisik frame masih ada dimemori
sehingga dapat dimunculkan kembali. Merupakan aktivitas default.
Komentar
Posting Komentar