MODUL 3 Classes and Objects (part I)
I.
GUIDED : Create new Object Pada praktikum kali ini, mengimplementasikan bagaimana membuat objek baru dari class, baik memanfaatkan class yang sudah ada, maupun membangun sendiri class nya, dengan tampilan yang sederhana yaitu menggunakan window (jendela). Dalam pembuatan suatu GUI misalnya window kita dapat memanfaatkan fungsionalitas dari class JFrame. Praktikum kali ini, mahasiswa dilatih untuk membuat program sederhana, yaitu membuat objek kotak persegi panjang dengan memanfaatkan class JFrame untuk menampilkan kotak persegi panjang pada sebuah jendela (window) GUI dan memanipulasi jendela (window) tersebut. A JFrame is part of the standart package swing. The swing package is one of several APIs (application programmer interfaces) that comprise the Java Foundation Classes (JFC). The JFrame constructor used in the definitions of w1 dan w2 takes a single String parameter that specifies the title of the window. Adapun method-method untuk demo yang sederhana yang bisa digunakan pada class JFrame, misalnya : a. setSize(width,height) The parameter of method seSize() specify the desired width and height in pixels. b. setVisible(true) make the objects visible. A parameter with value true indicates that the JFrame is to be visible; and a parameter with value false indicates that the JFrame is not to be visible. Example :
Step by step : 1. Tentukan dulu nama class yang ingin dibuat, dengan keyword class.
Karena kita disini akan membuat jendela baru dengan memanfaatkan class JFrame. Anda dapat memberi nama class sesuai yang diinginkan. Misalnya seperti pada contoh yaitu Class TwoWindows. 2. Mulai dengan mendefinisikan identifier dan menginisialisasi obyek yang bertipe Class JFrame. Didalam badan class TwoWindows, terdapat method main() yang berfungsi sebagai control program java. Selanjutnya didalam method tersebut terdapat instansiasi objek baru yang bertipe class Jframe. 3. Object definition using operator “new”. Operator “new” digunakan untuk meng-instansiasi object baru yang bertipe class tersebut, yaitu class JFrame. Dalam contoh akan dibuat objek baru yaitu w1 dan w2 yang bertipe class JFrame. Construktor JFrame yang digunakan dalam mendefinisikan objek w1 dan w2 yang menggunakan parameter sebuah string yang mendefinisiskan judul dari window tersebut. (Dalam kasus ini, pending dulu masalah tentang Constructor, akan dijelaskan lebih lanjut, pada Materi Teori yang akan datang). Dalam menginstansiasi objek baru tersebut, (dengan menggunakan constructor JFrame dengan single string parameter) kita dapat memberi judul (title) window tersebut. Pendefinisian suatu objek baru yang akan dibuat, anda dapat menggunakan operator “new”, dengan sintak sebagai berikut :
JFrame w1 = new JFrame(“Bigger”); JFrame w2 = new JFrame(“Smaller”); Objek w1 merupakan objek baru yang dibentuk dari class JFrame yang diberi judul “Bigger”, sedangkan w2 adalah objek yang diberi judul “Smaller”. 4. Kemudian kenai atribut (variable-variabel) dan method terhadap obyek yang telah di create sebelumnya yaitu yang bertipe class JFrame.
Pada class JFrame, terdapat method-method yang dapat digunakan untuk mengatur jendela (window), misalnya method setSize() dan setVisible().
Objek-objek yang dibuat yang bertipe class JFrame secara otomatis dapat dikenai method-method tersebut. Gunakan operator dot (titik .) pada objek tersebut untuk melakukan invoke method . Method setSize(width,height), mempunyai parameter lebar dan tinggi. Ketika method tersebut dipanggil oleh bjek w1. Maka harus disertakan berapa lebar dan tinggi yang akan diatur untuk objek w1.? Begitu juga untuk objek w2. Lebar dan tinggi tersebut akan diatur dalam satuan pixels. Anda dapat menuliskan sintaknya seperti pada screenshot contoh. Lebar dan tinggi untuk objek w1 adalah 300 dalam satuan pixels, dan 150 dalam satuan pixels Method setVisible(true). Parameter boolean dengan nilai true mengindikasikan objek w1 dan w2 (yang bertipe JFrame) akan tampak (to be visible), sedangkan parameter Boolean dengan nilai flase mengindikasikan JFrame tidak akan tampak. (not to be visible). 5. Selanjutnya anda dapat menjalankan program sederhana untuk manipulasi sebuah jendela (misalnya pada contoh adalah program TwoWindows.java) yang telah anda buat. Kemudian lihat hasilnya dan perbedaannya. II.
UNGUIDED 1.
Buatlah program untuk menampilkan jendela (window) dari class JFrame, yang terdapat kotak persegi panjang yang berwarna didalamnya. Contoh hasil output seperti pada Gambar dibawah ini (25 poin):
Hints and Step by step : a. Anda buat dulu nama class yang ingin dibuat. Misalnya class ColoredRectangle
b. Anda buat dulu definisi, width dan height dari kotak persegi panjang tersebut. c. Definisikan juga untuk x dan y untuk koordinat kotak persegi panjang tersebut. Untuk koordinat (0,0) akan dimulai dari pojok kiri atas.
d. Kemudian color
e. Kemudian tambahkan method paint() didalam class ColoredRectangle. Method paint ini digunakan untuk menggambar atau menampilkan kotak persegi panjangnya pada objek jendelanya (window). Didalam method paint() ini buat objek baru yang bertipe class Graphics kenai juga pada objek window yang telah anda buat. Kemudian, atur warna dengan method setColor(color) pada objek yang bertipe Graphics tadi. Selanjutnya anda dapat mengisi warna kotaknya dengan method fillRect(x,y,width,height).
f.
Buatlah class lain lagi, sebagai kontrol program javanya, misalnya class BoxFun yang didalamnya terdapat method main() sebagai kontrol programnya. Sehingga jumlah class yang telah anda buat sekarang berjumlah 2 : Class ColoredRectangle : class untuk mendefinisikan atribut dan method-method yang berkaitan dengan kotak persegi panjangnya, sedangkan class BoxFun : class untuk mendefinisikan method main() yang digunakan untuk memanggil objek2 yang dibangun/bertipe dari class ColoredRectangle dan memanggilnya dengan method paint().
2.
Buatlah 2 kotak persegi panjang tersebut dalam satu window dengan posisi coordinate yang berbeda. (30 point) Hasil ouput sesuai dengan gambar dibawah ini :
3.
Buatlah 2 kotak persegi panjang yang berbeda warna dalam satu window dengan posisi coordinate yang berbeda. Hasil ouput sesuai dengan gambar dibawah ini : (45 Poin)