You are on page 1of 11

TK2933 Object-Oriented Programming

Lab 2
Lab Objectives
At the end of this lab, you should
• be able to use classes in your program given information about their interfaces;
• be able to do the following in Java:
 create objects
 send messages to objects

Lab Requirements
The following items are required for this lab:
i. the class files listed below:
ApplicationFrame$1.class, ApplicationFrame.class, Bekas.class,
Cip.class, LabObject.class
ii. thefiles Q1a.java, Q1b.java , … Q1g.java (for question 1).
iii. the files Aplikasi2a.class, Aplikasi2b.class and
Aplikasi2c.class (for question 2).
iv. documentation about the classes provided for this lab.

Lab Tasks
1. Compile the files Q1a.java, Q1b.java, …, Q1g.java and run the
corresponding applications. Be sure you understand the source code in each file
(refer to the documentation given in the appendix).
2. Execute the following applications. For each of them, write a Java application
which exhibits the same behaviour when executed.
i. Aplikasi2a
ii. Aplikasi2b
iii. Aplikasi2c
3. Use your creativity to create Java applications for two other scenarios.
APPENDIX

Antara Muka Kelas Cip


Senarai metod bagi kelas Cip
setLabel(nama)
setWarna(warna)
setLokasi(x, y)
x()
y()
labelnya()
warnanya()
setJejari(nilai)

• Untuk mencipta objek Cip:


new Cip(x, y, warna, label)
Penerangan parameter:
x integer Kordinat x & y bagi lokasi awal cip
y integer
warna Color Warna cip
label String Label pada cip
Contoh:
cip1 = new Cip(100, 100, Color.blue, “Cip 1”);

• Metod: setLabel(nama)
Penerangan metod:
Untuk mensetkan label objek Cip.
Penerangan parameter:
nama String Label objek Cip akan disetkan
kepada nama
Contoh:
cip1.setLabel(“Rambo”);

• Metod: setWarna(warna)
Penerangan metod:
Untuk mensetkan warna objek Cip.
Penerangan parameter:
warna Color Warna objek Cip akan disetkan
kepada warna
Contoh:
cip1.setWarna(Color.yellow);

• Metod: setLokasi(x, y)
Penerangan metod:
Untuk mensetkan lokasi objek Cip.
Penerangan parameter:
x integer Kordinat x & y bagi lokasi awal
y integer objek Cip
Contoh:

cip1.setLokasi(50, 70);

• Metod: x()
Penerangan metod:
Untuk mendapatkan kordinat x bagi objek Cip.
Contoh:

k_x = cip1.x( );

• Metod: y()
Penerangan metod:
Untuk mendapatkan kordinat y bagi objek Cip.
Contoh:

k_y = cip1.y( );

• Metod: labelnya()
Penerangan metod:
Untuk mendapatkan label bagi objek Cip.
Contoh:

str = cip1.labelnya();

• Metod: warnanya()
Penerangan metod:
Untuk mendapatkan warna bagi objek Cip.
Contoh:

col = cip1.warnanya();
• Metod: setJejari(nilai)
Penerangan metod:
Untuk mensetkan jejari objek Cip.
Penerangan parameter:
nilai integer Jejari objek Cip akan disetkan
kepada nilai
Contoh:
cip1.setJejari(12);
Antara Muka Kelas Bekas
Senarai metod bagi kelas Bekas
setLabel(nama)
setWarna(warna)
setLokasi(x, y)
x()
y()
labelnya()
warnanya()
setJejari(nilai)
setLebarSel(saiz)
setTinggiSel(saiz)
masukkan(cip)
pungut(namaCip)

• Untuk mencipta objek Bekas:


new Bekas(x, y, warna, label)
Penerangan parameter:
x integer Kordinat x & y bagi lokasi awal
y integer bekas
warna Color Warna bekas
label String Label pada bekas
Contoh:
bekas4 = new Bekas(200, 100, Color.red, “Bekas A”);

• Metod: setLabel(nama)
Penerangan metod:
Untuk mensetkan label objek Bekas.
Penerangan parameter:
nama String Label objek Bekas akan disetkan
kepada nama
Contoh:
bekas2.setLabel(“Rambo”);
• Metod: setWarna(warna)
Penerangan metod:
Untuk mensetkan warna objek Bekas.
Penerangan parameter:
warna Color Warna objek Bekas akan disetkan
kepada warna
Contoh:
bekas2.setWarna(Color.yellow);

• Metod: setLokasi(x, y)
Penerangan metod:
Untuk mensetkan lokasi objek Bekas.
Penerangan parameter:
x integer Kordinat x & y bagi lokasi awal
y integer objek Bekas
Contoh:

bekas2.setLokasi(50, 70);

• Metod: x()
Penerangan metod:
Untuk mendapatkan kordinat x bagi objek Bekas.
Contoh:

k_x = bekas2.x( );

• Metod: y()
Penerangan metod:
Untuk mendapatkan kordinat y bagi objek Bekas.
Contoh:

k_y = bekas2.y( );

• Metod: labelnya()
Penerangan metod:
Untuk mendapatkan label bagi objek Bekas.
Contoh:

str = bekas2.labelnya();
• Metod: warnanya()
Penerangan metod:
Untuk mendapatkan warna bagi objek Bekas.
Contoh:

col = bekas2.warnanya();

• Metod: setLebarSel(saiz)
Penerangan metod:
Untuk mensetkan lebar setiap sel dalam objek Bekas.
Penerangan parameter:
saiz integer Lebar setiap sel dalam objek Bekas
akan disetkan kepada saiz
Contoh:
bekas.setLebarSel(10);

• Metod: setTinggiSel(saiz)
Penerangan metod:
Untuk mensetkan tinggi setiap sel dalam objek Bekas.
Penerangan parameter:
saiz integer Tinggi setiap sel dalam objek Bekas
akan disetkan kepada saiz
Contoh:
bekas.setTinggiSel(8);

• Metod: masukkan(cip)
Penerangan metod:
Untuk memasukkan suatu objek Cip ke dalam objek Bekas. Perlu
ingat bahawa objek Cip yang ingin dimasukkan tidak boleh berada
dalam mana-mana objek Bekas.
Penerangan parameter:
cip Cip Objek Cip yang akan dimasukkan
ke dalam objek Bekas.
Contoh:
bekas4.masukkan(cip2);
• Metod: pungut(namaCip)
Penerangan metod:
Untuk mengeluarkan objek Cip berlabel namaCip daripada objek
Bekas. Perlu ingat bahawa objek Cip tersebut mesti berada dalam
objek Bekas yang menerima mesej ini. Metod ini mengembalikan
objek Cip berkenaan.
Penerangan parameter:
namaCip String Label bagi objek Cip yang ingin
dikeluarkan daripada bekas.
Contoh:
cip = (Cip) bekas4.pungut(“Rambo”);
Antara Muka Kelas ApplicationFrame
Senarai metod bagi kelas ApplicationFrame
masukkan(cip)
masukkan(bekas)
pungut(namaCip)
pungut(namaBekas)
setLaju(kelajuan)
paparHasil()

• Untuk mencipta objek ApplicationFrame:


new ApplicationFrame(lebar, tinggi)
Penerangan parameter:
lebar integer Lebar tingkap
tinggi integer Tinggi tingkap
Contoh:
tingkap = new ApplicationFrame(500, 300);

• Metod: masukkan(cip)
Penerangan metod:
Untuk memasukkan suatu objek Cip ke dalam objek ApplicationFrame.
Penerangan parameter:
cip Cip Objek Cip yang akan dimasukkan
ke dalam objek ApplicationFrame.
Contoh:
tingkap.masukkan(cip2);

• Metod: masukkan(bekas)
Penerangan metod:
Untuk memasukkan suatu objek Bekas ke dalam objek
ApplicationFrame.
Penerangan parameter:
bekas Bekas Objek Bekas yang akan
dimasukkan ke dalam objek
ApplicationFrame.
Contoh:
tingkap.masukkan(bekas);
• Metod: pungut(namaCip)
Penerangan metod:
Untuk mengeluarkan objek Cip berlabel namaCip daripada objek
ApplicationFrame. Perlu ingat bahawa objek Cip tersebut mesti berada
dalam objek ApplicationFrame yang menerima mesej ini. Objek Cip
tersebut juga tidak seharusnya berada dalam mana-mana bekas. Metod
ini mengembalikan objek Cip berkenaan.
Penerangan parameter:
namaCip String Label bagi objek Cip yang ingin
dikeluarkan daripada objek
ApplicationFrame.
Contoh:
cip = (Cip) tingkap.pungut(“Rambo”);

• Metod: pungut(namaBekas)
Penerangan metod:
Untuk mengeluarkan objek Bekas berlabel namaBekas daripada objek
ApplicationFrame. Perlu ingat bahawa objek Bekas tersebut mesti
berada dalam objek ApplicationFrame yang menerima mesej ini.
Metod ini mengembalikan objek Bekas berkenaan.
Penerangan parameter:
namaBeka String Label bagi objek Bekas yang ingin
s dikeluarkan daripada objek
ApplicationFrame.
Contoh:
bekas = (Bekas) tingkap.pungut(“box”);

• Metod: setLaju(kelajuan)
Penerangan metod:
Untuk mensetkan kelajuan animasi (dalam unit 0.1 saat)
Penerangan parameter:
kelajuan integer Kelajuan animasi dalam unit 0.1
saat
Contoh:
tingkap.setLaju(5);
• Metod: paparHasil()
Penerangan metod:
Untuk mengarahkan objek ApplicationFrame memaparkan semula
kandungannya.
Contoh:
tingkap.paparHasil();

Warna-Warna Pra-takrif Java


Warna yang telah dipra-takrif dalam pustaka Java:

Color.black Color.blue
Color.cyan Color.darkGray
Color.gray Color.green
Color.lightGray Color.magenta
Color.orange Color.pink
Color.red Color.white
Color.yellow