laporan praktikum pemrograman berorientasi objek
TRANSCRIPT
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
INTRODUCTION
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 16 SEPTEMBER 2014
SOAL 1
1. Print Screen
2. Penjelasan Program
1. public class Tes
"class Tes" merupakan pendeklarasian sebuah class dengan nama Tes.
Selanjutnya nama class ini digunakan untuk menamai file-nya dengan
extension .java. Pendeklarasian class ini diawali dengan tanda "{" dan
diakhiri dengan tanda "}", hal ini menandakan bahwa semua yang berada
dalam tanda tersebut merupakan bagian dari class ini.
2. {
Tanda { digunakan untuk mengawali class Tes yang di dalamnya ada
method main dan beberapa statement.
3. public static void main(String[] args)
Mendeklarasikan suatu method dengan nama main. Nama main di sini
merupakan keharusan dalam java karena java akan mencari method yang
bernama main ini sebagai awal eksekusi program. Keyword public
merupakan access specifier yang menentukan visibility level dari method
ini. Public berarti method ini dapat diakses dari manapun dari luar class.
Method main() akan dipanggil dari luar oleh runtime java pada saat
program akan dieksekusi sehingga access specifier-nya harus menggunakan
public. Keyword static memungkinkan method main() dipanggil tanpa harus
terlebih dahulu membuat instance dari class sederhana, ini diperlukan
karena method main() akan dieksekusi sebelum objek apapun dibuat dalam
memori. Keyword void berarti bahwa method main() tidak mengembalikan
nilai apapun setelah dipanggil (dieksekusi) .
4. {
Tanda { digunakan untuk mengawali method main yang di dalamnya ada
beberapa statement.
5. System.out.println("NIM\t:"+args[0]);
Berfungsi untuk mencetak NIM ke layar dengan pindah baris.
6. System.out.println("NAMA\t:"+args[1]);
Berfungsi untuk mencetak NAMA ke layar dengan pindah baris.
7. }
Tanda } digunakan untuk mengakhiri Method main yang di dalamnya ada
beberapa statement.
8. }
Tanda } digunakan untuk mengakhiri class Tes yang di dalamnya ada
method main dan beberapa statement.
Program ini digunakan untuk menampilkan data berupa NIM dan Nama
mahasiswa. Program ini memiliki class bernama Tes dan method bernama main.
Buka Command Prompt, kemudian tentukan lokasi file Tes.java yang telah
disimpan lalu ketik javac Tes.java selanjutnya ketik java Tes<spasi> M0513019
<spasi> Fembi_Rekrisna_Grandea_Putra maka program tersebut akan
mengeksekusi kelas Tes, dan memanggil method utama yang bernama main.
Kemudian akan ditampilkan sebagai berikut:
NIM : M0513019
NAMA : Fembi_Rekrisna_Grandea_Putra
Hal ini terjadi karena pada perintah System.out.println ("___t:"+args[0]); terdapat
argumen memiliki indeks 0 yang telah diisikan dengan NIM: M0513019 dan pada
indeks 1 diisikan dengan NAMA: Fembi_Rekrisna_Grandea_Putra. Adapun
pemisah antar indeksnya berupa tombol spasi ketika mengetik NIM dan Nama tadi.
SOAL 2
1. Print Screen
2. Penjelasan Program
1. public class FirstSample
"class FirstSample" merupakan pendeklarasian sebuah class dengan nama
FirstSample. Selanjutnya nama class ini digunakan untuk menamai file-nya
dengan extension .java . Pendeklarasian class ini diawali dengan tanda "{"
dan diakhiri dengan tanda "}" , hal ini menandakan bahwa semua yang
berada dalam tanda tersebut merupakan bagian dari class ini.
2. {
Tanda { digunakan untuk mengawali class FirstSample yang di dalamnya
ada method main dan beberapa statement.
3. public static void main(String[] args)
Mendeklarasikan suatu method dengan nama main. Nama main di sini
merupakan keharusan dalam java karena java akan mencari method yang
bernama main ini sebagai awal eksekusi program. Keyword public
merupakan access specifier yang menentukan visibility level dari method
ini. Public berarti method ini dapat diakses dari manapun dari luar class.
Method main() akan dipanggil dari luar oleh runtime java pada saat
program akan dieksekusi sehingga access specifier-nya harus menggunakan
public. Keyword static memungkinkan method main() dipanggil tanpa harus
terlebih dahulu membuat instance dari class sederhana, ini diperlukan
karena method main() akan dieksekusi sebelum objek apapun dibuat dalam
memori. Keyword void berarti bahwa method main() tidak mengembalikan
nilai apapun setelah dipanggil (dieksekusi) .
4. {
Tanda { digunakan untuk mengawali method main yang di dalamnya ada
beberapa statement.
5. System.out.println("We will not use 'Hello,
world!'");
Berfungsi untuk mencetak tulisan ke layar dengan pindah baris.
6. }
Tanda } digunakan untuk mengakhiri method main yang di dalamnya ada
beberapa statement.
7. }
Tanda } digunakan untuk mengakhiri class FirstSample yang di dalamnya
ada method main dan beberapa statement.
Program ini digunakan untuk menampilkan data berupa tulisan “We will not use ‘Hello, world!’”. Program ini memiliki class bernama FirstSample dan method
bernama main. Buka Command Prompt kemudian tentukan lokasi file
FirstSample.java yang telah disimpan, lalu ketik javac FirstSample.java,
selanjutnya ketik java FirstSample, maka program tersebut akan mengeksekusi
kelas FirstSample, dan memanggil method utama yang bernama main. Adanya
perintah System.out.println("We will not use 'Hello, world!'") maka akan
menampilkan ke layar sebagai berikut:
We will not use 'Hello, world!’
SOAL 3
1. Print Screen
2. Jalannya Program
1. import java.util.Scanner;
Digunakan menginclude/memasukka perintah scanner dari library untuk
memasukan data dari keyboard
2. public class BanyakSegi
"class BanyakSegi" merupakan pendeklarasian sebuah class dengan nama
BanyakSegi. Selanjutnya nama class ini digunakan untuk menamai filenya
dengan extension .java . Pendeklarasian class ini diawali dengan tanda " {
" dan diakhiri dengan tanda " } " , hal ini menandakan bahwa semua yang
berada dalam tanda tersebut merupakan bagian dari class ini .
{
Tanda { digunakan untuk mengawali class BanyakSegi yang didalamnya
ada method Hitungsegi & main serta beberapa statement
4. public int Hitungsegi(int n)
Mendeklrasikan suatu method dengan nama Hitungsegi. Keyword public
merupakan access specifier yang menentukan visibility level dari method
ini .Public berarti method ini dapat di access dari manapun dari luar class .
Method ini memiliki parameter n bertipe integer.
{
Tanda { digunakan untuk mengawali Method Hitungsegi yang didalamnya
ada beberapa statement.
5. int jml = (n * (n - 3)) / 2;
Di dalam method ini terdapat proses operasi perhitungan jumlah diagonal
segi-n dengan rumus (n * (n - 3)) / 2 dengan hasilnya jml bertipe integer .
6. System.out.println("Jumlah diagonal: " + jml);
Selanjutnya dengan perintah System.out.println maka akan dicetak ke layar
tulisan ‘Jadi Jumlah Diagonalnya :’ diikuti dengan argumen jml yang telah dijadikan parameternya.Sehingga akan mencetak nilai dari jml.
7. return jml;
Method ini akan mengembalikan nilai jml bertipe integer.
8. }
Tanda } digunakan untuk mengakhiri Method Hitungsegi yang
didalamnya ada beberapa statement.
10. public static void main(String[] args)
Mendeklrasikan suatu method dengan nama main. Nama main disini
merupakan keharusan dalam java karena java akan mencari method yang
bernama main ini sebagai awal eksekusi program. Keyword public
merupakan access specifier yang menentukan visibility level dari method
ini. Public berarti method ini dapat di access dari manapun dari luar class.
Method main() akan dipanggil dari luar oleh runtime java pada saat
program akan dieksekusi sehingga access specifiernya harus menggunakan
public . Keyword static memungkinkan method main() dipanggil tanpa
harus terlebih dahulu membuat instance dari class sederhana , ini
diperlukan karena method main() akan dieksekusi sebelum objek apapun
dibuat dalam memori . Keyword void berarti bahwa method main() tidak
mengembalikan nilai apapun setelah dipanggil ( dieksekusi ) .
{
Tanda { digunakan untuk mengawali Method main yang didalamnya ada
beberapa statement.
11. Scanner scan = new Scanner(System.in);
Statement ini digunakan untuk memasukkan nilai dari suatu variabel secara
manual.
12. BanyakSegi k = new BanyakSegi();
Statement ini digunakan untuk membuat objek bernama k dari kelas
BanyakSegi
13. System.out.print ("Masukkan banyaknya segi: ")
Berfungsi untuk mencetak tulisan ke layar tanpa pindah baris
tanda " ; " diperlukan untuk menandai suatu akhir dari suatu statement
14. int s = scan.nextInt();
Statement ini digunakan untuk mendeklarasikan nilai s bertipe integer
untuk dijadikan input data.
15. if (s == 0 || s == 1 || s == 2) {
Pada bagian ini akan mengecek apakah nilai s =0 atau s= 1 atau s=2,
Tanda { digunakan untuk mengapit statement didalamnya .
16. System.out.println("Maaf,nilai yang anda masukkan salah ");
System.out.println("Maaf,nilai yang anda masukkan salah "); yaitu
mencetak tulisan ‘Maaf, nilai yang anda masukkan salah’ ke layar. 17. }
Tanda } digunakan untuk mengapit statement didalamnya.
else {
Tetapi jika kondisi tadi tidak memenuhi maka akan melakukan
pemanggilan method Hitungsegi() pada objek k dengan parameter s .
Tanda { digunakan untuk mengapit statement didalamnya .
18. k.Hitungsegi(s);
method Hitungsegi() pada objek k dengan parameter s yang nantinya
digunakan untuk menghitung jumlah diagonal segi-n.
19. }
Tanda } digunakan untuk mengapit statement didalamnya .
20. }
Tanda } digunakan untuk mengakhiri Method main yang didalamnya ada
beberapa statement.
21. }
Tanda } digunakan untuk mengakhiri class BanyakSegi yang didalamnya
ada method Hitungsegi & main dan beberapa statement.
Program ini digunakan untuk menghitung jumlah diagonal dari segi-n. Program ini
memiliki class bernama BanyakSegi dan Method bernama Hitungsegi dan main.
Buka command prompt kemudian tentukan lokasi file BanyakSegi.java yang telah
disimpan lalu Ketik javac BanyakSegi.java, selanjutnya ketik java BanyakSegi,
maka program tersebut akan mengeksekusi kelas BanyakSegi, dan memanggil
method utama yang bernama main. Kemudian kita akan diminta untuk
memasukkan data berupa banyaknya segi-n .Misal kita masukkan angka 4 maka
angka 4 tersebut masuk ke variabel s. Selanjutnya nilai s tersebut dicek apakah s=0
atau s=1 atau s=2. Karena s=4 maka kondisi tersebut tidak memenuhi maka akan
menjalankan statement k.Hitungsegi(s); yaitu memanggil method Hitungsegi(int
n);. Nilai dari parameter int n didapat dari nilai argumen s tadi. Selanjutnya
menjalankan perintah proses operasi perhitungan jumlah segi-n dengan rumus (n *
(n - 3)) / 2 = (4*(4-3)) / 2 = 2. Hasil dari perhitungan tersebut disimpan di variabel
jml. Dengan mengembalikan nilai jml. Kemudian akan dicetak ke layar sebagai
berikut :
Masukkan banyaknya segi : 4
Jumlah diagonal : 2
LAMPIRAN
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
OBJECT & CLASS
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 23 SEPTEMBER 2014
SOAL 1
1. Print Screen
2. Penjelasan Program
3. public class AksesDalamScope {
Mendeklarasikan sebuah class dengan nama AksesDalamScope.
Selanjutnya nama class ini digunakan untuk menamai file-nya dengan
extension .java. Pendeklarasian class ini diawali dengan tanda "{" dan
diakhiri dengan tanda "}", hal ini menandakan bahwa semua yang berada
dalam tanda tersebut merupakan bagian dari class ini.
4. public static void main(String[] args) {
Mendeklarasikan suatu method dengan nama main. Nama main di sini
merupakan keharusan dalam java karena java akan mencari method yang
bernama main ini sebagai awal eksekusi program. Keyword public
merupakan access specifier yang menentukan visibility level dari method
ini. Public berarti method ini dapat diakses dari manapun dari luar class.
Method main() akan dipanggil dari luar oleh runtime java pada saat
program akan dieksekusi sehingga access specifier-nya harus menggunakan
public. Keyword static memungkinkan method main() dipanggil tanpa harus
terlebih dahulu membuat instance dari class sederhana, ini diperlukan
karena method main() akan dieksekusi sebelum objek apapun dibuat dalam
memori. Keyword void berarti bahwa method main() tidak mengembalikan
nilai apapun setelah dipanggil (dieksekusi) .
5. System.out.println("\nDemo Akses Variabel dari
Dalam Scope");
Berfungsi untuk mencetak “Demo Akses Variabel dari Dalam Scope”.
6. System.out.println("------------------------------
------\n");
Berfungsi untuk mencetak “------------------------------------”.
9. int bilangan1 = 3, bilangan2 = 5, hasilJumlah;
Mendeklarasikan variabel bilangan1 bertipe integer bernilai 3, variabel
bilangan2 bertipe integer bernilai 5, dan variabel hasilJumlah bertipe
integer.
10. hasilJumlah = bilangan1 + bilangan2;
Mendeklarasikan bahwa variabel hasilJumlah (8) merupakan penjumlahan
variabel bilangan1 (3) dan bilangan2 (5).
13. System.out.println("Hasil Penjumlahan " +
bilangan1 + "+" + bilangan2 + " = " +
hasilJumlah);
Mencetak “Hasil Penjumlahan 3+5 = 8”. 14. }
Tanda } digunakan untuk mengakhiri Method main yang di dalamnya ada
beberapa statement.
15. }
Tanda } digunakan untuk mengakhiri class AksesDalamScope yang di
dalamnya ada method main dan beberapa statement.
Program ini menjumlahkan dua variabel yang telah ditentukan dengan cara
mendeklarasikan argumen untuk kedua method dan mencetak hasil. Variabel
bilangan1 telah ditentukan bernilai 3 dan variabel bilangan2 bernilai 5. Kemudian
mendeklarasikan variabel hasilJumlah yang merupakan penjumlahan dari kedua
variabel sebelumnya, yaitu 3 dan 5, sehingga variabel ini bernilai 8 dan hasilnya
dicetak ke layar.
SOAL 2
1. Print Screen
2. Penjelasan Program
3. public class AksesLuarScope {
Mendeklarasikan sebuah class dengan nama AksesLuarScope. Selanjutnya
nama class ini digunakan untuk menamai file-nya dengan extension .java .
Pendeklarasian class ini diawali dengan tanda "{" dan diakhiri dengan
tanda "}" , hal ini menandakan bahwa semua yang berada dalam tanda
tersebut merupakan bagian dari class ini.
4. public static void main(String[] args) {
Mendeklarasikan suatu method dengan nama main. Nama main di sini
merupakan keharusan dalam java karena java akan mencari method yang
bernama main ini sebagai awal eksekusi program. Keyword public
merupakan access specifier yang menentukan visibility level dari method
ini. Public berarti method ini dapat diakses dari manapun dari luar class.
Method main() akan dipanggil dari luar oleh runtime java pada saat
program akan dieksekusi sehingga access specifier-nya harus menggunakan
public. Keyword static memungkinkan method main() dipanggil tanpa harus
terlebih dahulu membuat instance dari class sederhana, ini diperlukan
karena method main() akan dieksekusi sebelum objek apapun dibuat dalam
memori. Keyword void berarti bahwa method main() tidak mengembalikan
nilai apapun setelah dipanggil (dieksekusi) .
5. System.out.println("\nDemo Akses Variabel dari
Luar Scope");
Berfungsi untuk mencetak tulisan “Demo Akses Variabel dari Luar Scope”.
6. System.out.println("------------------------------
-----\n");
Berfungsi untuk mencetak tulisan ke layar.
9. int bilangan1 = 3, bilangan2 = 5;
Mendeklarasikan variabel bilangan1 bertipe integer bernilai 3 dan variabel
bilangan2 bertipe integer bernilai 5.
12. AksesLuarScope luar = new AksesLuarScope();
Membuat object baru dari object luar.
15. luar.jumlah(bilangan1, bilangan2);
Mengakses method jumlah dengan object variabel bilangan1 dan bilangan2.
19. public void jumlah (int x, int y) {
Mendeklarasikan dan mendefinisikan method penjumlahan.
20. int jumlah2Bilangan = x + y;
Mendeklarasikan variabel jumlah2Bilangan bertipe integer bernilai jumlah
variabel x dan y.
21. System.out.println("Hasil Penjumlahan " + x + "+"
+ y + " = " + jumlah2Bilangan);
Mencetak tulisan ke layar.
Program ini menjumlahkan dua variabel yang telah ditentukan dengan cara
mendeklarasikan argumen untuk kedua method, membuat object, mengakses
method jumlah, dan mendeklarasikan dan mendefinisikan method penjumlahan.
Variabel bilangan1 telah ditentukan bernilai 3 dan bilangan2 bernilai 5. Kemudian
membuat object luar yang digunakan untuk mengakses method jumlah dengan
variabel bilangan1 dan bilangan2. Lalu mendeklarasikan dan mendefinisikan
method penjumlahan sehingga variabel bilangan1 menjadi x dan bilangan2 menjadi
y. Variabel jumlah2Bilangan merupakan penjumlahan variabel x (3) dan y (5)
sehingga bernilai 8 dan dicetak ke layar.
SOAL 3
1. Print Screen
2. Jalannya Program
3. public class Overload_Konstruktor {
Mendeklarasikan sebuah class dengan nama Overload_Konstruktor.
Selanjutnya nama class ini digunakan untuk menamai file-nya dengan
extension .java . Pendeklarasian class ini diawali dengan tanda "{" dan
diakhiri dengan tanda "}" , hal ini menandakan bahwa semua yang berada
dalam tanda tersebut merupakan bagian dari class ini.
4. public static void main(String[] args) {
Mendeklarasikan suatu method dengan nama main. Nama main di sini
merupakan keharusan dalam java karena java akan mencari method yang
bernama main ini sebagai awal eksekusi program. Keyword public
merupakan access specifier yang menentukan visibility level dari method
ini. Public berarti method ini dapat diakses dari manapun dari luar class.
Method main() akan dipanggil dari luar oleh runtime java pada saat
program akan dieksekusi sehingga access specifier-nya harus menggunakan
public. Keyword static memungkinkan method main() dipanggil tanpa harus
terlebih dahulu membuat instance dari class sederhana, ini diperlukan
karena method main() akan dieksekusi sebelum objek apapun dibuat dalam
memori. Keyword void berarti bahwa method main() tidak mengembalikan
nilai apapun setelah dipanggil (dieksekusi) .
5. System.out.println("Program Demo Konstruktor");
Berfungsi untuk mencetak tulisan “Program Demo Konstruktor”. 6. System.out.println("-------------------------\n");
Berfungsi untuk mencetak tulisan ke layar.
9. Lingkaran lingkaran1 = new Lingkaran(10.0);
Mendeklarasikan variabel lingkaran1 adalah object Lingkaran dengan
radius 10.
10. System.out.println("Luas lingkaran dengan radius "
+ lingkaran1.radius + "\t : " +
lingkaran1.luas());
Mencetak tulisan ke layar.
13. Lingkaran lingkaran2 = new Lingkaran();
Mendeklarasikan variabel lingkaran2 adalah object Lingkaran dengan
radius default.
14. System.out.println("Luas lingkaran dengan radius
default " + lingkaran2.radius + " : " +
lingkaran2.luas());
Mencetak tulisan ke layar.
17. lingkaran2.radius = 15;
Mengubah radius lingkaran2 menjadi 15.
18. System.out.println("Luas lingkaran dengan radius "
+ lingkaran2.radius + "\t : " +
lingkaran2.luas());
Mencetak tulisan ke layar.
19. int jumlah2Bilangan = x + y;
Mendeklarasikan variabel jumlah2Bilangan bertipe integer bernilai jumlah
variabel x dan y.
20. System.out.println("Hasil Penjumlahan " + x + "+"
+ y + " = " + jumlah2Bilangan);
Mencetak tulisan ke layar.
23. class Lingkaran {
Mendefinisikan class Lingkaran.
24. double radius;
Mendeklarasikan variabel radius bertipe double.
27. Lingkaran() {radius = 1.0;}
Mendeklarasikan konstruktor default.
32. Lingkaran(double r) {radius = r;}
Mendeklarasikan konstruktor dengan suatu radius.
37. double luas() {return radius*radius*Math.PI;}
Mendeklarasikan method luas yang mengembalikan nilai luas lingkaran.
Program ini berguna untuk menghitung luas lingkaran dengan radius tertentu
dengan menggunakan konstruktor. Rumus yang digunakan adalah ��2. Dengan
mengembalikan nilai radius kuadrat dikalikan dengan PI yang telah ada di Math
interface.
SOAL 4
1. Print Screen
2. Jalannya Program
Program ini berguna untuk membandingkan dua volume kotak dari panjang, lebar,
dan tinggi kotak yang ditentukan. Jika kedua volume bernilai sama maka nilainya
benar. Program ini berjalan dengan konstruktor dengan parameter bertipe objek
Kotak, mendefinisikan metode dengan parameter objek Kotak, dan membentuk
objek k2 dengan nilai yang terdapat pada k1.
SOAL 5
1. Print Screen
2. Jalannya Program
Program ini berguna untuk mengonversi suhu dari Celcius yang telah ditentukan ke
dalam Reamur, Kelvin, dan Fahrenheit. Pertama-tama, membuat objek op1.
Kemudian mendeklarasikan variabel celcius bernilai 100.
Kedua, memanggil metode ctor yang ada di kelas konversi. Metode ini berfungsi
untuk menentukan hasil konversi Celcius ke Reamur dengan mengalikan variabel
celcius (100) dengan 0,8 dan menyimpan hasilnya ke variabel hasilr (80).
Ketiga, memanggil metode ctok yang berfungsi untuk menentukan hasil konversi
dari Celcius ke Kelvin dengan cara menambahkan variabel celcius (100) dengan
angka 273 dan menyimpan hasilnya ke dalam variabel hasilk (373).
Keempat, memanggil metode ctof yang berfungsi untuk menentukan hasil konversi
dari Celcius ke Fahrenheit dengan cara mengalikan variabel celcius (100) dengan
1,8 (menjadi 180), kemudian menambahkannya dengan 32 dan menyimpan
hasilnya ke dalam variabel hasilf (212).
Terakhir, memanggil metode tampilhasil yang akan mencetak variabel hasil
konversi suhu dari Celcius ke Reamur, Kelvin, dan Fahrenheit.
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
INHERITANCE
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 30 SEPTEMBER 2014
SOAL 1
1. Print Screen
2. Analisis
1. Mendeklarasikan paket bernama
pkg3_ppbo_inheritance.
2. – 3. Mengimpor utilitas Java.
4. – 5. Mendeklarasikan kelas bernama ManagerTest bersifat
publik yang berisi bagian-bagian dimulai dari
tanda {.
6. – 7. Mendeklarasikan metode main.
9. Mengonstruksikan objek Manager yang berisi
beberapa variabel.
10. Mendeklarasikan metode setBonus dari variabel boss
bernilai string 5000.
11. – 12. Mendeklarasikan objek Employee berindeks 3
variabel staff.
13. –
15. – 16. Mengisi staff indeks ke-0 dengan variabel boss.
17. Mengisi staff indeks ke-1 dengan objek Employee
yang berisi beberapa variabel.
18. Mengisi staff indeks ke-2 dengan objek Employee
yang berisi beberapa variabel.
19. – 21. Melakukan perintah di baris selanjutnya kemudian
mengulanginya jika pernyataan tersebut bernilai
benar.
22. Mencetak name.
23. Mencetak salary.
24. Mengakhiri perintah for.
25. Mengakhiri metode main.
26. Mengakhiri kelas ManagerTest.
27. – 28. Mendeklarasikan kelas Employee.
29. – 30. Mendeklarasikan metode Employee berisi beberapa
variabel.
31. Mendeklarasikan variabel name menjadi n.
32. Mendeklarasikan variabel salary menjadi s.
33. Mendeklarasikan objek GregorianCalendar.
34. Mendeklarasikan variabel hireDay.
35. Mengakhiri metode Employee.
36. – 37. Mendeklarasikan metode getName bertipe String.
38. Mengembalikan nilai ke variabel name.
39. Mengakhiri metode getName.
40. – 41. Mendeklarasikan metode getSalary bertipe double
bersifat public.
42. Mengembalikan nilai ke variabel salary.
43. Mengakhiri metode getSalary.
44. – 45. Mendeklarasikan metode getHireDay dengan objek
Date.
46. Mengembalikan nilai ke variabel hireDay.
47. Mengakhiri metode getHireDay.
48. – 49. Mendeklarasikan metode raiseSalary bertipe void
bersifat publik dengan objek byPercent bertipe
double.
50. Mendeklarasikan nilai variabel raise bertipe
double.
51. Mendeklarasikan nilai variabel salary.
52. Mengakhiri metode raiseSalary.
53. Mendeklarasikan variabel name berobjek String
bersifat private dan final.
54. Mendeklarasikan variabel salar bertipe double
bersifat private dan final.
55. Mendeklarasikan variabel hireDay berobjek Date
bersifat private dan final.
56. Mengakhiri kelas Employee.
57. – 58. Mendeklarasikan kelas Manager perluasan dari kelas
Employee.
59. – 67. Mendeklarasikan metode Manager bersifat publik
yang berisi beberapa variabel.
68. Mendeklarasikan beberapa variabel bertipe super.
69. Mendeklarasikan nilai variabel bonus.
70. Mengakhiri metode Manager.
71. – 72. Mengimpor interface Override.
73. Mendeklarasikan metode getSalary.
74. Mendeklarasikan nilai variabel baseSalary.
75. Mengembalikan nilai ke variabel baseSalary
ditambah variabel bonus.
76. Mengakhiri metode getSalary.
77. – 78. Mendeklarasikan metode setBonus bertipe void
bersifat publik dengan objek b bernilai double.
79. Mendeklarasikan nilai variabel bonus.
80. Mengakhiri metode setBonus.
81. Mendeklarasikan metode bonus bernilai double
bersifat private.
82. Mengakhiri kelas Manager.
83. – Program ini mencetak daftar nama pekerja beserta gajinya dengan cara
mengonstruksi objek Manager, mengisi array staff dengan objek Manajer dan
Employee, mencetak informasi tentang semua objek Employee, dan
mendeskripsikan bahwa variabel n adalah nama pekerja, variabel s adalah gaji,
variabel year adalah tahun penyewaan, variabel month, adalah bulan penyewaan,
dan variabel day adalah hari penyewaan.
SOAL 2
1. Print Screen
2. Analisis
1. Mendeklarasikan paket bernama
pkg3_ppbo_inheritance.
2. – 3. Mengimpor utilitas Java.
4. – 5. Mendeklarasikan kelas bernama PersonTest bersifat
publik.
6. – 7. Mendeklarasikan metode main yang bertipe void,
bersifat publik dan statis, dan berobjek String[]
args.
8. Mendeklarasikan objek Person berindeks 2 variabel
people.
9. – 11. Mendeklarasikan isi variabel people indeks ke-0.
12. Mendeklarasikan isi variabel people indeks ke-1.
13. – 15. Melakukan perintah di baris selanjutnya dan
mengulanginya hingga pernyataan tersebut bernilai
salah.
16. Mencetak isi variabel p metode getName dan
variabel p metode getDescription.
17. Mengakhiri fungsi for.
18. Mengakhiri metode main.
19. Mengakhiri kelasPersonTest.
20. – 21. Mendeklarasikan kelas Person bersifat abstrak.
22. – 23. Mendeklarasikan metode Person bersifat publik
dengan objek n bernilai String.
24. Mendeklarasikan variabel name dan n.
25. Mengakhiri metode Person.
26. – 27. Mendeklarasikan metode getDescription.
28. – 29. Mendeklarasikan metode getName.
30. Mengembalikan nilai ke variabel name.
31. Mengakhiri metode getName.
32. Mendeklarasikan variabel name.
33. Mengakhiri kelas Person.
34. – 35. Mendeklarasikan kelas Employee2 perluasan Person.
36. – 37. Mendeklarasikan metode Employee2 berisi beberapa
objek.
38. Mendeklarasikan variabel n bertipe super.
39. Mendeklarasikan variabel salar dan s.
40. Mendeklarasikan objek GregorianCalendar dengan
variabel calendar.
41. Mendeklarasikan variabel hireDay.
42. Mengakhiri metode Employee2.
43. – 44. Mendeklarasikan metode getSalary.
45. Mengembalikan nilai ke variabel salar.
46. Mengakhiri metode getSalary.
47. – 48. Mendeklarasikan metode getHireDay bernilai Date.
49. Mengembalikan nilai ke variabel hireDay.
50. Mengakhiri metode getSalary.
51. – 52. Memanggil fungsi Override.
53. Mendeklarasikan metode getDescription bernilai
String bersifat publik.
54. Mengembalikan nilai ke variabel format bernilai
String dan mencetak nilai variabel salary.
55. Mengakhiri metode getDescription.
56. –
57. Mendeklarasikan metode raiseSalary bertipe void,
bersifat publik, dan berobjek byPercent bertipe
double.
58. Mendeklarasikan nilai variabel raise.
59. Mendeklarasikan nilai variabel salary.
60. Mengakhiri metode raiseSalary.
61. Mendeklarasikan variabel salary bertipe double dan
bersifat private.
62. Mendeklarasikan variabel hireDay bernilai Date dan
bersifat private dan final.
63. Mengakhiri kelas Employee2.
64. – 65. Mendeklarasikan kelas Student perluasan Person.
66. – 71. Mendeklarasikan metode Student berobjek n dan m
bernilai String.
73. Mendeklarasikan variabel n bertipe super.
74. Mendeklarasikan nilai variabel major dan m.
75. Mengakhiri metode Student.
76. – 77. Memanggil fungsi Override.
78. Mendeklarasikan objek getDescription bernilai
String dan bersifat publik.
79. Mengembalikan nilai berupa variabel major.
80. Mengakhiri metode getDescription.
81. Mendeklarasikan variabel major bernilai String dan
bersifat private dan final.
82. Mengakhiri kelas Student.
83. -
Program ini mencetak daftar nama orang dengan keterangan profesi serta
keterangan tambahan lainnya dengan cara mengisi array people dengan objek
Student dan Employee, mencetak nama dan deskripsi semua objek Person,
mendeskripsikan bahwa variabel n adalah nama student dan variabel m adalah
major student, dan melewatkan n ke konstruktor kelas super.
SOAL 3
1. Print Screen
2. Analisis
1. Mendeklarasikan paket pkg3_ppbo_inheritance.
2. –
3. Mengimpor utilitas Java.
4. –
5. Mendeklarasikan kelas EnumTest bersifat publik.
6. –
7. Mendeklarasikan metode main bertipe void, bersifat
publik dan statis, dan berobjek args bernilai
String.
8. Memindai masukan dari pengguna dan memasukkannya
ke dalam sistem.
9. Mencetak tulisan.
10. Mendeklarasikan variabel masukan dari pengguna
bernilai String dan mengubahnya menjadi huruf
besar semua.
11. Mendeklarasikan objek size.
12. Mencetak variabel size.
13. Mencetak variabel abbreviation.
14. Melakukan perintah di baris selanjutnya jika
variabel size adalah EXTRA_LARGE.
15. Mencetak tulisan.
16. Mengakhiri perintah if.
17. Mengakhiri metode main.
18. Mengakhiri kelas EnumTest.
19. –
20. Mendeklarasikan metode Size.
21. –
22. Mendeklarasikan singkatan masing-masing variabel.
23. –
24. Mendeklarasikan metode Size bersifat private dan
berobjek abbreviation bernilai String.
25. Mendeklarasikan variabel abbreviation.
26. Mengakhiri metode Size.
27. –
28. Mendeklarasikan metode getAbbreviation bernilai
String.
29. Mengembalikan nilai ke variabel abbreviation.
30. Mengakhiri metode getAbbreviation.
31. Mendeklarasikan variabel abbreviation bernilai
String dan bersifat private dan final.
32. Mengakhiri metode Size.
Program ini menentukan ukuran suatu barang berdasarkan masukan dari pengguna
dan menampilkan singkatannya, yaitu S untuk SMALL, M untuk MEDIUM, L
untuk LARGE, dan XL untuk EXTRA_LARGE.
SOAL 4
1. Print Screen
2. Analisis
5. Mendeklarasikan metode main bertipe void, bersifat
publik dan statis, dan berobjek args bernilai
String.
6. Mendeklarasikan objek Pelajar dengan variabel
siswa yang berisi beberapa variabel.
7. Mencetak metode toString dengan variabel siswa.
8. Mengakhiri metode main.
9. Mengakhiri kelas Inheritance.
11. Mendeklarasikan kelas Orang.
13. Mendeklarasikan variabel nama bernilai String dan
bersifat private dan final.
14. Mendeklarasikan variabel tinggi bertipe double dan
bersifat private dan final.
15. Mendeklarasikan variabel berat bertipe double dan
bersifat private dan final.
17. Mendeklarasikan objek Orang berisi beberapa
variabel.
18. Mendeklarasikan variabel nama.
19. Mendeklarasikan variabel tinggi.
20. Mendeklarasikan variabel berat.
21. Mengakhiri objek Orang.
23. Memanggil fungsi Override.
24. Mendeklarasikan metode toString bernilai String.
25. Mengembalikan nilai ke variabel nama, tinggi, dan
berat.
26. Mengakhiri metode toString.
27. Mengakhiri kelas Orang.
29. Mendeklarasikan kelas Pelajar perluasan dari
Orang.
31. Mendeklarasikan variabel NIS bernilai String dan
bersifat private dan final.
32. Mendeklarasikan variabel sekolah bernilai String
dan bersifat private dan final.
33. Mendeklarasikan variabel nilai bertipe double dan
bersifat private dan final.
35. Mendeklarasikan metode Pelajar berisi beberapa
variabel.
36. Mendeklarasikan variabel nama, tinggi, dan berat
yang bertipe super.
37. Mendeklarasikan variabel NIS.
38. Mendeklarasikan variabel sekolah.
39. Mendeklarasikan variabel nilai.
40. Mengakhiri metode Pelajar.
42. Memanggil fungsi Override.
43. Mendeklarasikan metode toString bernilai String
dan bersifat publik.
44. Mengembalikan nilai ke variabel NIS, sekolah, dan
nilai.
45. Mengakhiri metode toString.
46. Mengakhiri kelas Pelajar.
Program ini melakukan pencetakan terhadap data diri seorang siswa dengan
menampilkan nama, tinggi badan, berat badan, nomor induk siswa, sekolah, dan
nilai yang diterimanya.
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
INTERFACE, INNER CLASS, DAN POLIMORFISME
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 7 OKTOBER 2014
SOAL 1
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mendeklarasikan interface AlatMusik.
4. –
5. Mendeklarasikan metode mainkan bertipe void.
6. –
7. Mendeklarasikan metode setelNada bertipe void.
8. –
9. Mendeklarasikan metode ambilNama bertipe string.
10. Mengakhiri interface AlatMusik.
11. –
12. Mendeklarasikan kelas AlatMusikPetik yang
mengimplementasikan interface AlatMusik.
13. –
14. Mendeklarasikan variabel nama bertipe string
bersifat dilindungi.
15. –
16. Memanggil fungsi Override.
17. Mendeklarasikan metode mainkan bertipe publik dan
void.
18. Mencetak metode ambilNama.
19. Mengakhiri metode mainkan.
20. –
21. Memanggil fungsi Override.
22. Mendeklarasikan metode setelNada.
23. Mencetak metode ambilNama.
24. Mengakhiri metode setelNada.
25. –
26. Memanggil fungsi Override.
27. Mendeklarasikan metode ambilNama bertipe string
dan bersifat publik.
28. Mengembalikan nilai ke variabel nama.
29. Mengakhiri metode ambil Nama.
30. Mengakhiri kelas AlatMusikPetik.
31. –
32. Mendeklarasikan kelas AlatMusikTiup yang
mengimplementasikan interface AlatMusik.
33. –
34. Mendeklarasikan variabel nama bertipe string dan
bersifat dilindungi.
35. –
36. Memanggil fungsi Override.
37. Mendeklarasikan metode mainkan bertipe publik dan
void.
38. Mencetak metode ambilNama.
39. Mengakhiri metode mainkan.
40. –
41. Memanggil fungsi Override.
42. Mendeklarasikan metode setelNada.
43. Mencetak metode ambilNama.
44. Mengakhiri metode setelNada.
45. –
46. Memanggil fungsi Override.
47. Mendeklarasikan metode ambilNama bertipe string
dan bersifat publik.
48. Mengembalikan nilai ke variabel nama.
49. Mengakhiri metode ambil Nama.
50. Mengakhiri kelas AlatMusikTiup.
51. –
52. Mendeklarasikan kelas AlatMusikPukul yang
mengimplementasikan interface AlatMusik.
53. –
54. Mendeklarasikan variabel nama bertipe string dan
bersifat dilindungi.
55. –
56. Memanggil fungsi Override.
57. Mendeklarasikan metode mainkan bertipe publik dan
void.
58. Mencetak metode ambilNama.
59. Mengakhiri metode mainkan.
60. –
61. Memanggil fungsi Override.
62. Mendeklarasikan metode setelNada.
63. Mencetak metode ambilNama.
64. Mengakhiri metode setelNada.
65. –
66. Memanggil fungsi Override.
67. Mendeklarasikan metode ambilNama bertipe string
dan bersifat publik.
68. Mengembalikan nilai ke variabel nama.
69. Mengakhiri metode ambil Nama.
70. Mengakhiri kelas AlatMusikPukul.
71. –
72. Mendeklarasikan kelas Gitar yang memperluas kelas
AlatMusikPetik.
73. –
74. Mendeklarasikan objek Gitar yang bervariabel nama
bertipe string.
75. Mendeklarasikan variabel nama.
76. Mengakhiri objek Gitar.
77. Mengakhiri kelas Gitar.
78. –
79. Mendeklarasikan kelas Bass yang memperluas kelas
AlatMusikPetik.
80. –
81. Mendeklarasikan objek Bass yang bervariabel nama
bertipe string.
82. Mendeklarasikan variabel nama.
83. Mengakhiri objek Bass.
84. Mengakhiri kelas Bass.
85. –
86. Mendeklarasikan kelas DemoInterface.
87. –
88. Mendeklarasikan kelas main bertipe void, bersifat
publik dan statis, dan berobjek args bertipe
string.
89. Mendeklarasikan variabel gitar dan Bass dari kelas
AlatMusikPetik.
90. –
91. Mendeklarasikan variabel gitar.
92. Mendeklarasikan variabel Bass.
93. –
94. Mendeklarasikan metode mainkan dari variabel
gitar.
95. Mendeklarasikan metode setelNada dari variabel
gitar.
96. –
97. Mencetak tulisan.
98. –
99. Mendeklarasikan metode mainkan dari variabel Bass.
100. Mendeklarasikan metode setelNada dari variabel
Bass.
101. Mengakhiri metode main.
102. Mengakhiri kelas DemoInterface.
Program ini menampilkan jenis alat musik dan cara memainkannya, yaitu gitar
dengan cara dipetik dan bass juga dengan cara dipetik.
SOAL 2
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mendeklarasikan kelas Luar.
4. –
5. Mendeklarasikan variabel a bertipe integer dan
bersifat private.
6. –
7. Mendeklarasikan objek setA bertipe void, bersifat
publik, dan bervariabel nilai bertipe integer.
8. Mendeklarasikan nilai variabel a dan variabel
nilai.
9. Mengakhiri metode setA.
10. –
11. Mendeklarasikan metode getA bertipe integer dan
bersifat publik.
12. Mengembalikan nilai ke variabel a.
13. Mengakhiri metode getA.
14. –
15.
16. Mendeklarasikan kelas Dalam.
17. –
18. Mendeklarasikan variabel x bertipe integer,
bersifat private dan final, dan bernilai 10.
19. –
20. Mendeklarasikan metode showData bertipe void dan
bersifat publik.
21. Mencetak variabel a.
22. Mencetak variabel x.
23. Mengakhiri metode showData.
24. Mengakhiri kelas Dalam.
25. –
26. Mendeklarasikan metode showData bertipe void dan
bersifat publik.
27.
28.
29. –
30. Mendeklarasikan variabel obj dari objek Dalam.
31. Mendeklarasikan objek showData dari variabel obj.
32. Mengakhiri metode showData.
33. Mengakhiri kelas Luar.
34. –
35. Mendeklarasikan kelas Kelas_dalam_kelas.
36. –
37. Mendeklarasikan metode main bertipe void, bersifat
publik dan statis, dan berobjek args bertipe
string.
38. –
39. Mendeklarasikan variabel obj1 dari objek Luar.
40.
41. –
42. Mendeklarasikan objek setA dari variabel obj1.
43. Mendeklarasikan objek showData dari variabel obj1.
44. Mengakhiri metode main.
45. Mengakhiri kelas Kelas_dalam_kelas.
Program ini mencetak nilai variabel a dari kelas Luar yang merupakan parent class
dan nilai variabel x dari kelas Dalam yang merupakan inner class dengan cara
mendefinisikan inner class dan mendeklarasikan variabel x yang hanya dikenali
oleh kelas Dalam.
SOAL 3
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mendeklarasikan kelas Penyanyi.
4. –
5. Mendeklarasikan metode bernyanyi.
6. Mencetak tulisan.
7. Mengakhiri metode bernyanyi.
8. Mengakhiri kelas Penyanyi.
9.
10. Mendeklarasikan kelas PenyanyiJazz yang memperluas
kelas Penyanyi.
11.
12. –
13. Memanggil fungsi Override.
14. Mendeklarasikan metode bernyanyi.
15. Mencetak tulisan.
16. Mengakhiri kelas metode bernyanyi.
17. Mengakhiri kelas PenyanyiJazz.
18. –
19. Mendeklarasikan kelas PenyanyiPop yang memperluas
kelas Penyanyi.
20.
21. –
22. Memanggil fungsi Override.
23. Mendeklarasikan metode bernyanyi.
24. Mencetak tulisan.
25. Mengakhiri kelas metode bernyanyi.
26. Mengakhiri kelas PenyanyiPop.
27. –
28. Mendeklarasikan kelas PenyanyiDangdut yang
memperluas kelas Penyanyi.
29.
30. –
31. Memanggil fungsi Override.
32. Mendeklarasikan metode bernyanyi.
33. Mencetak tulisan.
34. Mengakhiri kelas metode bernyanyi.
35. Mengakhiri kelas PenyanyiDangdut.
36. –
37. Mendeklarasikan kelas Polimorfisme1.
38. –
39. Mendeklarasikan metode main.
40. –
41. Mendeklarasikan variabel p dari kelas Penyanyi.
42. –
43. Mendeklarasikan variabel musmujiono dari kelas
PenyanyiJazz.
44. Mendeklarasikan variabel audi dari kelas
PenyanyiPop.
45. Mendeklarasikan variabel inul dari kelas
PenyanyiDangdut.
46. –
47. Mendeklarasikan variabel p dan musmujiono.
48.
49. Mendeklarasikan variabel p dari metode bernyanyi.
50. –
51. Mendeklarasikan variabel p dan audi.
52.
53. Mendeklarasikan variabel p dari metode bernyanyi.
54. –
55. Mendeklarasikan variabel p dan inul.
56.
57. Mendeklarasikan variabel p dari metode bernyanyi.
58. Mengakhiri metode main.
59. Mengakhiri kelas Polimorfisme1.
Program ini mencetak jenis nyanyian yang dinyanyikan para penyanyi, yaitu
musmujiono bernyanyi dengan irama jazz, audi bernyanyi dengan irama pop, dan
inul bernyanyi dengan irama dangdut dengan cara mendefinisikan kelas-kelas
turunan dari kelas penyanyi, melakukan override terhadap metode bernyanyi,
mengubah acuan variabel p kepada masing-masing objek, dan memanggil metode
pada masing-masing kelas tersebut.
SOAL 4
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mengimpor utilitas Scanner dari Java.
4. –
5. Mendeklarasikan kelas NamaBulan.
6. Mendeklarasikan metode main.
7. –
8. Mendeklarasikan variabel kodeBulan.
9. Mendeklarasikan variabel namaBulan.
10. Memindai masukan dari pengguna.
11. –
12. Mencetak tulisan.
13. Menyimpan masukan dari pengguna dengan variabel
kodeBulan.
14. –
15. Menentukan perintah yang akan dijalankan
berdasarkan masukan dari pengguna.
16. Melakukan perintah di baris selanjutnya jika
masukannya adalah 1.
17. Mendeklarasikan namaBulan.
18. Mengakhiri perintah case.
19. Melakukan perintah di baris selanjutnya jika
masukannya adalah 2.
20. Mendeklarasikan namaBulan.
21. Mengakhiri perintah case.
22. Melakukan perintah di baris selanjutnya jika
masukannya adalah 3.
23. Mendeklarasikan namaBulan.
24. Mengakhiri perintah case.
25. Melakukan perintah di baris selanjutnya jika
masukannya adalah 4.
26. Mendeklarasikan namaBulan.
27. Mengakhiri perintah case.
28. Melakukan perintah di baris selanjutnya jika
masukannya adalah 5.
29. Mendeklarasikan namaBulan.
30. Mengakhiri perintah case.
31. Melakukan perintah di baris selanjutnya jika
masukannya adalah 6.
32. Mendeklarasikan namaBulan.
33. Mengakhiri perintah case.
34. Melakukan perintah di baris selanjutnya jika
masukannya adalah 7.
35. Mendeklarasikan namaBulan.
36. Mengakhiri perintah case.
37. Melakukan perintah di baris selanjutnya jika
masukannya adalah 8.
38. Mendeklarasikan namaBulan.
39. Mengakhiri perintah case.
40. Melakukan perintah di baris selanjutnya jika
masukannya adalah 9.
41. Mendeklarasikan namaBulan.
42. Mengakhiri perintah case.
43. Melakukan perintah di baris selanjutnya jika
masukannya adalah 10.
44. Mendeklarasikan namaBulan.
45. Mengakhiri perintah case.
46. Melakukan perintah di baris selanjutnya jika
masukannya adalah 11.
47. Mendeklarasikan namaBulan.
48. Mengakhiri perintah case.
49. Melakukan perintah di baris selanjutnya jika
masukannya adalah 12.
50. Mendeklarasikan namaBulan.
51. Mengakhiri perintah case.
52. Mengakhiri perintah switch.
53. –
54. Mencetak variabel namaBulan.
55. Mengakhiri metode main.
56. Mengakhiri kelas NamaBulan.
Program ini melakukan pencetakan nama bulan sesuai masukan dari pengguna,
yaitu angka 1 untuk bulan Januari, angka 2 untuk bulan Februari, angka 3 untuk
bulan Maret, angka 4 untuk bulan April, angka 5 untuk bulan Mei, angka 6 untuk
bulan Juni, angka 7 untuk bulan Juli, angka 8 untuk bulan Agustus, angka 9 untuk
bulan September, angka 10 untuk bulan Oktober, angka 11 untuk bulan November,
dan angka 12 untuk bulan Desember.
SOAL 5
1. Print Screen
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
EKSEPSI
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 14 OKTOBER 2014
SOAL 1
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mendeklarasikan kelas.
4. –
5. Mendeklarasikan metode test yang bervariabel a dan
b yang bertipe integer.
6. Memanggil fungsi try.
7. Mendeklarasikan variabel c yang bertipe integer
yang bernilai pembagian variabel a dari b.
8. Mencetak hasil bagi atau nilai variabel c.
9. Mendeklarasikan variabel Arr dengan 5 elemen
array.
10. Mendeklarasikan variabel Arr indeks ke-10 adalah
11.
11. Memanggil fungsi catch dan kelas eksepsi pada Java
dengan variabel ae.
12. Mencetak tulisan.
13. Mencetak variabel ae.
14. Memanggil fungsi catch dan kelas eksepsi pada Java
dengan variabel oobe.
15. Mencetak tulisan.
16. Mencetak variabel oobe.
17. Mengakhiri fungsi catch.
18. Mengakhiri metode test.
19. –
20. Mendeklarasikan metode main.
21. Mendeklarasikan variabel a dan b pada metode test.
22. Mencetak tulisan.
23. Mendeklarasikan variabel a dan b pada metode test.
24. Mengakhiri metode main.
25. Mengakhiri kelas Banyak_eksepsi.
Program ini menghitung pembagian dua bilangan dan memanggil kelas eksepsi
yang telah disediakan Java. Pertama, dilakukan pembagian 4 dengan 0, yang
menghasilkan eksepsi aritmetika pembagian oleh 0. Kedua, dilakukan pembagian
12 dengan 4, yang menghasilkan eksepsi indeks di luar rentang.
SOAL 2
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mendeklarasikan kelas Eksepsi.
4. –
5. Mendeklarasikan metode main.
6. Mendeklarasikan variabel pembilang bertipe integer
dan bernilai 2.
7. Mendeklarasikan variabel penyebut bertipe integer
dan bernilai 0.
8. Memanggil fungsi try.
9. Mendeklarasikan variabel hasil bertipe integer dan
bernilai pembagian pembilang dengan penyebut.
10. Mencetak variabel hasil.
11. Memanggil fungsi catch dengan kelas Exception pada
Java dan variabel e.
12. Mengakhiri fungsi catch.
13. Mencetak tulisan.
14. Mengakhiri metode main.
15. Mengakhiri kelas Eksepsi.
Program ini seharusnya mencetak hasil pembagian 2 terhadap 0, namun karena
dihalangi oleh kelas Exception yang tersedia di Java yang melarang pembagian
angka terhadap 0, maka perintah tersebut tidak dieksekusi dan langsung dilewatkan
ke perintah selanjutnya, yaitu mencetak tulisan “Statemen setelah blok try-catch”.
SOAL 3
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mendeklarasikan kelas NegativeNumberException yang
memperluas kelas Exception.
4. –
5. Mendeklarasikan variabel bilangan.
6.
7. Mendeklarasikan metode.
8.
9.
10. Mendeklarasikan metode dengan parameter.
11. Mendeklarasikan variabel pesan bertipe super.
12.
13.
14. Mendeklarasikan metode dengan parameter.
15. Mendeklarasikan variabel pesan bertipe super.
16. Mendeklarasikan variabel bilangan dan nilai.
17.
18. –
19. Mendeklarasikan metode getBilangan.
20. Mengembalikan nilai ke variabel bilangan.
21. Mengakhiri metode getBilangan.
22. Mengakhiri kelas NegativeNumberException.
23. –
24. Mendeklarasikan kelas Membuat_eksepsi.
25. –
26. Mendeklarasikan metode hitungFaktorial bertipe
integer, bersifat publik dan statis, dan
berparameter variabel n bertipe integer.
27. Memanggil fungsi throws terhadap kelas
NegativeNumberException.
28. Memanggil fungsi if dan melakukan perintah di
dalam tanda {} jika nilai variabel n kurang dari
0.
29. Memanggil fungsi throw terhadap kelas baru
NegativeNumberException.
30. Mencetak tulisan dan variabel n.
31. Mengakhiri fungsi if.
32. Mendeklarasikan variabel hasil bertipe integer dan
bernilai 1.
33. Memanggil fungsi for, yaitu melakukan perintah di
dalam tanda {} dan mengulanginya sampai pernyataan
di dalam tanda () bernilai salah.
34. Mendeklarasikan nilai variabel hasil.
35. Mengakhiri fungsi for.
36. Mengembalikan nilai ke variabel hasil.
37. Mengakhiri metode hitungFaktorial.
38. –
39. Mendeklarasikan metode main.
40. Mencetak tulisan.
41. Memanggil fungsi try.
42. Mencetak tulisan dan metode hitungFaktorial
berparameter 5.
43. Memanggil fungsi catch dan kelas
NegativeNumberException dengan variabel nne.
44. Mencetak tulisan.
45. Mencetak variabel nne dan metode getBilangan.
46. Mengakhiri fungsi catch.
47. Mencetak tulisan.
48. Memanggil fungsi try.
49. Mencetak tulisan.
50. Mencetak metode hitungFaktorial berparameter -5.
51. Memanggil fungsi catch dan kelas
NegativeNumberException dengan variabel nne.
52. Mencetak tulisan.
53. Mencetak variabel nne dan metode getBilangan.
54. Mengakhiri fungsi catch.
55. Mengakhiri metode main.
56. Mengakhiri kelas Membuat_eksepsi.
Program ini menghitung faktorial untuk bilangan positif dengan menggunakan
eksepsi untuk bilangan negatif. Pertama, diberikan angka 5, karena berupa
bilangan positif, maka hasil faktorialnya dapat ditentukan, yaitu 120. Kedua,
diberikan angka -5, karena berupa bilangan negatif, maka hasil tidak dapat
ditentukan, sehingga hanya memunculkan bilangan yang akan dihitung, yaitu -5.
SOAL 4
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mendeklarasikan kelas Barang.
4. –
5. Mendeklarasikan variabel kode bertipe string dan
bersifat private.
6. Mendeklarasikan variabel nama bertipe string dan
bersifat private.
7. Mendeklarasikan variabel harga bertipe double dan
bersifat private.
8. –
9. Mendeklarasikan metode dekode bertipe void,
bersifat publik, dan berparameter vKode bertipe
string.
10. Memanggil fungsi try.
11. Mendeklarasikan variabel kode dan vKode.
12. Memanggil fungsi if. Jika variabel kode adalah
null, maka melakukan perintah di dalam tanda {}.
13. Memanggil fungsi throw ke kelas
NullPointerException baru yang disediakan Java.
14. Mengakhiri fungsi if.
15. Memanggil fungsi catch ke kelas
NullPointerException dan variabel npe.
16. Mencetak tulisan.
17. Mencetak tulisan.
18. Mengakhiri fungsi catch.
19. Mengakhiri metode setKode.
20. –
21. Mendeklarasikan metode getKode bertipe string,
bersifat publik, dan tidak berparameter.
22. Mengembalikan nilai ke variabel kode.
23. Mengakhiri metode getKode.
24. –
25. Mendeklarasikan metode setNama bertipe void,
bersifat publik, dan berparameter nama bertipe
string.
26. Memanggil fungsi try.
27. Mendeklarasikan variabel nama dan vNama.
28. Memanggil fungsi if. Jika variabel kode adalah
null, maka melakukan perintah di dalam tanda {}.
29. Memanggil fungsi throw ke kelas
NullPointerException baru yang disediakan Java.
30. Mengakhiri fungsi if.
31. Memanggil fungsi catch ke kelas
NullPointerException dan variabel npe.
32. Mencetak tulisan.
33. Mencetak tulisan.
34. Mengakhiri fungsi catch.
35. Mengakhiri metode setNama.
36. –
37. Mendeklarasikan metode getNama bertipe string,
bersifat publik, dan tidak berparameter.
38. Mengembalikan nilai ke variabel nama.
39. Mengakhiri metode getNama.
40. –
41. Mendeklarasikan metode setHarga bertipe void,
bersifat publik, dan berparameter vHarga bertipe
integer.
42. Mendeklarasikan variabel harga dan vHarga.
43. Mengakhiri metode setHarga.
44. –
45. Mendeklarasikan metode getHarga bertipe double,
bersifat publik, dan tidak berparameter.
46. Mengembalikan nilai ke variabel harga.
47. Mengakhiri metode getHarga.
48. Mengakhiri kelas Barang.
49. –
50. Mendeklarasikan kelas Throw1.
51. –
52. Mendeklarasikan metode main.
53. Mendeklarasikan objek Barang.
54. Mendeklarasikan objek setKode.
55. Mendeklarasikan objek setNama.
56. Mendeklarasikan objek setHarga.
57. Mencetak tulisan kode.
58. Mencetak tulisan nama.
59. Mencetak tulisan harga.
60. Mengakhiri metode main.
61. Mengakhiri kelas Throw1.
Program ini mencetak kode, nama, dan harga dari suatu barang dengan
pengecualian data null.
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
GENERIC PROGRAMMING
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 21 OKTOBER 2014
SOAL 1
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mengimpor perintah yang telah disediakan oleh
Java.
4. Mengimpor perintah yang telah disediakan oleh
Java.
5. Mengimpor perintah yang telah disediakan oleh
Java.
6. -
7. Mendeklarasikan kelas.
8. –
9. Mendeklarasikan metode main.
10. Mendeklarasikan objek arrList.
11. Mendeklarasikan pernyataan yang akan menentukan
dijalankannya perintah selanjutnya di dalam tanda
{}.
12. Menggunakan fungsi perulangan penambahan nilai i
terhadap objek arrList.
13.
14. -
15. Mendeklarasikan nilai objek i dengan fungsi
perulangan.
16. -
17. Mencetak tulisan ke layar.
18. Mencetak tulisan ke layar.
19. Mendeklarasikan pernyataan yang akan menentukan
dijalankannya perintah selanjutnya di dalam tanda
{}.
20. Mendeklarasikan variabel a.
21. Mendeklarasikan nilai variabel a.
22. Mencetak tulisan ke layar.
23.
24.
25.
Program ini akan mengeksekusi kelas AfterGeneric dan memanggil metode utama
yang bernama main dan melakukan pembuatan objek arrList pada kelas ArrayList.
Lalu dengan proses perulangan, jika nilai i = 0 dan i < 10, maka nilai i ditambah 1,
sehingga melakukan penambahan data, yaitu:
i = 0 ditambahkan data di dalam arrList = 0
i = 1 ditambahkan data di dalam arrList = 1
i = 2 ditambahkan data di dalam arrList = 2
i = 3 ditambahkan data di dalam arrList = 3
i = 4 ditambahkan data di dalam arrList = 4
i = 5 ditambahkan data di dalam arrList = 5
i = 6 ditambahkan data di dalam arrList = 6
i = 7 ditambahkan data di dalam arrList = 7
i = 8 ditambahkan data di dalam arrList = 8
i = 9 ditambahkan data di dalam arrList = 9
i = 10 kondisi tidak memenuhi (pengulangan berhenti)
Selanjutnya nilai dari objek i tadi dihimpun pada arrList.iterator. Untuk
menampilkan angka genap, maka melakukan proses perulangan selama nilai dari
pengambilan data dari objek i tadi masih ada dan melakukan pemberian nilai
terhadap a dengan nilai i x 2, sehingga menghasilkan:
i = 0 ditambahkan data di dalam arrList = 0 x 2 = 0
i = 1 ditambahkan data di dalam arrList = 1 x 2 = 2
i = 2 ditambahkan data di dalam arrList = 2 x 2 = 4
i = 3 ditambahkan data di dalam arrList = 3 x 2 = 6
i = 4 ditambahkan data di dalam arrList = 4 x 2 = 8
i = 5 ditambahkan data di dalam arrList = 5 x 2 = 10
i = 6 ditambahkan data di dalam arrList = 6 x 2 = 12
i = 7 ditambahkan data di dalam arrList = 7 x 2 = 14
i = 8 ditambahkan data di dalam arrList = 8 x 2 = 16
i = 9 ditambahkan data di dalam arrList = 9 x 2 = 18
i = 10 kondisi tidak memenuhi (pengulangan berhenti)
SOAL 2
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mengimpor utilitas dari Java.
4. Mengimpor utilitas dari Java.
5. –
6. Mendeklarasikan kelas BeforeGeneric1.
7. –
8. Mendeklarasikan metode main.
9. Mendeklarasikan objek arrList dari utilitas
ArrayList.
10. –
11. Menambahkan variabel 10 ke objek arrList.
12. Menambahkan variabel baru Integer bernilai 100 ke
objek arrList.
13. Menambahkan variabel bertipe string ke objek
arrList.
14. –
15. Melakukan casting ke variabel Integer.
16. Melakukan casting kembali ke objek Integer.
17. Melakukan casting kembali ke objek String.
18. –
19. Mencetak isi variabel a ke layar.
20. Mencetak isi variabel b ke layar.
21. Mencetak isi variabel c ke layar.
22. Mengakhiri pendeklarasian metode main.
23. Mengakhiri pendeklarasian kelas BeforeGeneric1.
Program ini akan mengeksekusi kelas BeforeGeneric1 dan memanggil metode
utama yang bernama main. Selanjutnya melakukan pembuatan objek arrList pada
kelas ArrayList dan menambahkan data di dalam array tersebut dengan perintah
add. Data yang dimasukkan secara berurutan, yaitu 10 (int), 100 (integer), dan
“Hello World !” (string). Selanjutnya melakukan pemanggilan/pengambilan data
dalam array dengan perintah get. Secara berurutan, pengambilan data dalam array
adalah
indeks 0 bertipe data int
indeks 1 bertipe data integer
indeks 2 bertipe data string
Masing-masing pengambilan data pada array harus sesuai dengan tipe data di
dalamnya, misalnya ketika add bertipe data string, maka saat get juga dalam
bentuk string. Selanjutnya akan dicetak dari nilai parameter a, b, c, yaitu:
A = 10, b = 100, c = “Hello World !”
SOAL 3
1. Print Screen
2. Analisis
1. Mendeklarasikan paket Generic.
2. –
3. Mengimpor utilitas ArrayList dari Java.
4. Mengimpor utilitas Iterator dari Java.
5. Mengimpor utilitas List dari Java.
6. –
7. Mengawali pendeklarasian kelas BeforeGeneric2.
8. –
9. Mengawali pendeklarasian metode main.
10. Mendeklarasikan objek arrList dari utilitas
ArrayList.
11. Mendeklarasikan pernyataan yang akan menentukan
dijalankannya perintah selanjutnya di dalam tanda
{}.
12. Menambahkan variabel bertipe string ke objek
arrList.
13. Mengakhiri perintah yang dijalankan fungsi for.
14. –
15. Mendeklarasikan objek i dari utilitas Iterator.
16. –
17. Mencetak tulisan ke layar.
18. Mencetak tulisan ke layar.
19. Mendeklarasikan pernyataan yang akan menentukan
dijalankannya perintah selanjutnya di dalam tanda
{}.
20. Mendeklarasikan variabel a.
21. Mendeklarasikan nilai variabel a.
22. Mencetak nilai variabel a ke layar.
23. Mengakhiri fungsi pengulangan while.
24. Mengakhiri pendeklarasian kelas main.
25. Mengakhiri pendeklarasian kelas BeforeGeneric2.
Program ini akan mengeksekusi kelas BeforeGeneric2 dan memanggil metode
utama yang bernama main dan membuat objek arrList pada kelas ArrayList. Lalu
dengan proses perulangan, jika nilai i = 0 dan i < 10, maka nilai i ditambah 1
sehingga melakukan penambahan data yaitu:
i = 0 ditambahkan data di dalam arrList = Hello World
i = 1 ditambahkan data di dalam arrList = Hello World
i = 2 ditambahkan data di dalam arrList = Hello World
i = 3 ditambahkan data di dalam arrList = Hello World
i = 4 ditambahkan data di dalam arrList = Hello World
i = 5 ditambahkan data di dalam arrList = Hello World
i = 6 ditambahkan data di dalam arrList = Hello World
i = 7 ditambahkan data di dalam arrList = Hello World
i = 8 ditambahkan data di dalam arrList = Hello World
i = 9 ditambahkan data di dalam arrList = Hello World
i = 10 kondisi tidak memenuhi (pengulangan berhenti)
Selanjutnya, nilai dari objek i tadi dihimpun pada arrList.iterator. Untuk
menampilkan angka genap, maka melakukan proses perulangan selama nilai dari
pengambilan data dari objek i tadi masih ada. Kemudian melakukan pemberian
nilai terhadap a dengan nilai i x 2. Biasanya ArrayList ini digunakan untuk
menyimpan daftar dengan tipe data yang sama dan diakses dengan melakukan
iterasi (perulangan loop). Tetapi pada kondisi ini terjadi kesalahan karena pada
data awal yang diambil berupa array bertipe string yaitu berupa ‘Hello World’ sedangkan saat pemanggilan/pengambilan datanya dengan tipe data integer akan
mengakibatkan terjadi kesalahan.
SOAL 4
1. Print Screen
2. Analisis
Program ini akan mengeksekusi kelas casting dan memanggil metode utama yang
bernama main. Selanjutnya, pengguna memasukkan nilai jari-jarinya, misalnya 5.
Maka nilai tersebut akan mengisi variabel r menjadi bernilai 5.
Untuk menghitung volume dan luas permukaan dengan tipe data double, maka
melakukan operasi hitung volume, yaitu:
� = . ∗ (�� ℎ. �� ∗ �� ℎ. , ) , � = . ∗ . ∗ ∗ ∗ = . . Sedangkan untuk menghitung luas permukaan, melakukan operasi sebagai berikut: � � �� = (�� ℎ. �� ∗ ∗ �� ℎ. , ), � � �� = . ∗ ∗ ∗ = . . Untuk menghitung volume dan luas permukaan dengan tipe data int pada hasil
yang awalnya bertipe data double, maka dilakukan casting dahulu, yaitu dengan
menambahkan kode int pada awal operasi hitung volume. � = � . ∗ (�� ℎ. �� ∗ �� ℎ. , ) , � = . ∗ . ∗ ∗ ∗ = . = . . Sehingga � � �� = � (�� ℎ. �� ∗ ∗ �� ℎ. , ), � � �� = . ∗ ∗ ∗ = . = . .
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
COLLECTIONS
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 18 NOVEMBER 2014
SOAL 1
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mengimpor perintah yang telah disediakan oleh
Java.
4. Mengimpor perintah yang telah disediakan oleh
Java.
5. -
6. Mendeklarasikan kelas HashMapLho.
7. –
8. Mendeklarasikan metode main.
9. Mendeklarasikan objek gensokyoNickname bertipe
string dari kelas perintah HashMap.
10. Menambahkan data bertipe string dengan perintah
put.
11. Menambahkan data bertipe string dengan perintah
put.
12. Menambahkan data bertipe string dengan perintah
put.
13. Menambahkan data bertipe string dengan perintah
put.
14. Menambahkan data bertipe string dengan perintah
put.
15. Menambahkan data bertipe string dengan perintah
put.
16. Menambahkan data bertipe string dengan perintah
put.
17. -
18. Mencetak isi objek gensokyoNickname.
19. Mencetak isi objek dengan data tertentu.
20. –
21. Menghapus data tertentu dari objek.
22. –
23. Mencetak tulisan ke layar.
24. Mengulang perintah gensokyoNickname.entrySet()
jika nilai dari Map.Entry<String, String> entry.
25. Mendeklarasikan nilai parameter key.
26. Mendeklarasikan nilai parameter value.
27. Mencetak isi dari parameter key dan value.
28. Mengakhiri perintah yang dijalankan for.
29. Mengakhiri metode main.
30. Mengakhiri kelas HashMapLho.
Program ini akan mengeksekusi kelas HashMapLho, memanggil metode utama
yang bernama main, melakukan pembuatan objek gensokyoNickname dari kelas
HashMap, dan menambahkan data dengan perintah put.
Program dapat menampilkan string tertentu menggunakan perintah
gensokyoNickname.get(“data bertipe string”), menghapus data tertentu
menggunakan perintah gensokyoNickname.remove(“data bertipe string”), dan
menampilkan isi dari seluruh parameter key dan value dengan fungsi perulangan
menggunakan perintah gensokyoNickname.entryset().
SOAL 2
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mengimpor perintah yang telah disediakan oleh
Java.
4. Mengimpor perintah yang telah disediakan oleh
Java.
5. –
6. Mendeklarasikan kelas LinkedListLho.
7. –
8. Mendeklarasikan metode main.
9. Mendeklarasikan objek daftarNama1 dari kelas
LinkedList di Java.
10. Mendeklarasikan objek daftarNama2 dari kelas
LinkedList di Java.
11. –
12. Menambahkan data pada objek daftarNama1
menggunakan fungsi add.
13. Menambahkan data pada objek daftarNama1
menggunakan fungsi add.
14. Menambahkan data pada objek daftarNama1
menggunakan fungsi add.
15.
16.
17. –
18. Menambahkan data pada objek daftarNama2
menggunakan fungsi add.
19. Menambahkan data pada objek daftarNama2
menggunakan fungsi add.
20. Menambahkan data pada objek daftarNama2
menggunakan fungsi add.
21. –
22. Mencetak tulisan “daftarNama1”.
23. Mencetak isi objek daftarNama1.
24. Mencetak tulisan “daftarNama2”.
25. Mencetak isi objek daftarNama2.
26. –
27. Mencetak tulisan.
28. Mencetak tulisan “max-min daftarNama1”.
29. Menentukan nilai objek daftarNama1 maksimal dengan
bantuan kelas Collections.
30. Menentukan nilai objek daftarNama1 minimal dengan
bantuan kelas Collections.
31. –
32. Mencetak nilai maksimal.
33. Mencetak nilai minimal.
34. –
35. Menentukan hasil pengacakan dari objek daftarNama1
dengan kelas Collections.
36. Mencetak tulisan.
37. Mencetak tulisan “hasil shuffle daftarNama1”.
38. Mencetak hasil pengacakan dari objek daftarNama1.
39. –
40. Menentukan hasil pengurutan dari objek daftarNama2
dengan kelas Collections.
41. Mencetak tulisan.
42. Mencetak tulisan “hasil sort daftarNama2”.
43. Mencetak hasil pengurutan dari objek daftarNama2.
44. –
45.
46.
47.
48.
49. Menambahkan semua data dari objek daftarNama2 ke
daftarNama1.
50. Mencetak tulisan.
51. Mencetak tulisan “daftar nama semua”.
52. Mencetak data di objek daftarNama1.
53. Mengakhiri metode main.
54. Mengakhiri kelas LinkedListLho.
Program ini akan mengeksekusi kelas LinkedListLho, memanggil metode utama
yang bernama main, membuat objek daftarNama1 dan daftarNama2 dari kelas
LinkedList, dan menambah data bertipe string dengan perintah add.
daftarNama1 berisi Aleph, Beth, dan Gamma. daftarNama2 berisi Reimu, Sanae,
dan Merisa. Dengan menggunakan perintah System.out.println(daftarNama1) dan
System.out.println(daftarNama2), maka akan mencetak data dari masing-masing
objek tersebut berupa nama-nama tadi.
Program dapat menentukan nilai maksimal dan minimal pada objek daftarNama1
dilakukan menggunakan perintah String max atau min =
Collections.maxataumin(daftarNama1).
Pengacakan data pada objek daftarNama1 dapat dilakukan menggunakan perintah
Collections.shuffle(daftarNama1), sedangkan pengurutan pada objek daftarNama2
dilakukan menggunakan perintah Collections.sort(daftarNama2).
Penambahan semua data dari suatu objek ke objek yang lain dilakukan
menggunakan perintah daftarNama1.addAll(daftarNama2), sehingga semua data di
objek daftarNama2 ditambahkan ke objek daftarNama1.
SOAL 3
1. Print Screen
2. Analisis
Program ini akan mengeksekusi kelas CobaStack, memanggil metode utama main,
membuat objek stack dari kelas Stack, mendeklarasikan variabel i = 0, membuat
variabel array arr[] bertipe integer dengan kapasitas 50, dan memberikan 7 menu
pilihan.
Menu 1 digunakan untuk menambahkan data pada stack. Misalnya dimasukkan
angka 2, 1, dan 3 ke dalam stack, maka angka-angka tersebut dimasukkan ke
parameter input, sehingga akan memanggil metode push dengan parameter input
yang berada pada objek stack.
Menu 2 digunakan untuk menghapus data terakhir yang dimasukkan pada stack
menggunakan metode pop yang ada pada objek stack. Jika urutan data yang
dimasukkan adalah 2, 1, dan 3, maka data 3 yang akan dihapus.
Menu 3 digunakan untuk mengurutkan data pada stack secara ascending. Jika
urutan data yang dimasukkan adalah 2, 1, dan 3, maka akan diurutkan menjadi 1, 2,
dan 3.
Menu 4 digunakan untuk menampilkan semua data.
Menu 5 digunakan untuk mengosongkan atau menghapus semua data
menggunakan metode clear pada objek stack dari kelas Stack dengan memberikan
nilai i = 0.
Menu 6 digunakan untuk menghitung jumlah data yang ada pada stack
menggunakan metode size dengan mengembalikan nilai jumlah data.
Menu 7 digunakan untuk keluar dari program menggunakan metode exit.
SOAL 4
1. Print Screen
2. Analisis
Program ini akan mengeksekusi kelas Queue, memanggil metode utama main,
membuat objek queue dari kelas PriorityQueue, mendeklarasikan variabel i = 0,
membuat variabel array arr[] bertipe integer dengan kapasitas 50, dan memberikan
7 menu pilihan.
Menu 1 digunakan untuk menambahkan data pada queue. Misalnya dimasukkan
angka 2, 1, dan 3 ke dalam queue, maka angka-angka tersebut dimasukkan ke
parameter input, sehingga akan memanggil metode add dengan parameter input
yang berada pada objek queue.
Menu 2 digunakan untuk menghapus data terakhir yang dimasukkan pada queue
menggunakan metode remove yang ada pada objek queue. Jika urutan data yang
dimasukkan adalah 2, 1, dan 3, maka data 3 yang akan dihapus.
Menu 3 digunakan untuk mengurutkan data pada queue secara ascending. Jika
urutan data yang dimasukkan adalah 2, 1, dan 3, maka akan diurutkan menjadi 1, 2,
dan 3.
Menu 4 digunakan untuk menampilkan semua data.
Menu 5 digunakan untuk mengosongkan atau menghapus semua data
menggunakan metode clear pada objek queue dari kelas PriorityQueue dengan
memberikan nilai i = 0.
Menu 6 digunakan untuk menghitung jumlah data yang ada pada queue
menggunakan metode size dengan mengembalikan nilai jumlah data.
Menu 7 digunakan untuk keluar dari program menggunakan metode exit.
LAPORAN PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
THREAD
DISUSUN OLEH:
FEMBI REKRISNA GRANDEA PUTRA
M0513019
ASISTEN DOSEN:
1. DIAN SUPRABA (M0512012)
2. DWI PUTRI PERTIWI (M0512015)
3. RIO PAHLEVY RIDLO YUDHA BHAKTI (M0512048)
4. RIZAL KUSUMAJATI NUGROHO (M0512050)
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
SELASA, 25 NOVEMBER 2014
SOAL 1
1. Print Screen
2. Analisis
1. Menyatakan tempat penyimpanan suatu source code
yang sedang ditulis.
2. –
3. Menyatakan suatu public class, yang dapat
dieksekusi oleh semua kelas yang ada pada satu
package yang sama.
4. Menyatakan suatu method yang berada di dalam class
CobaLari, yaitu method main. Method main ini
merupakan method utama untuk menjalankan suatu
program, tanpa menggunakan method main, maka
sebuah program tidak akan menghasilkan output.
Tipe public menyatakan bahwa method ini dapat
diakses oleh oleh semua variable di dalam class
tersebut, dan dapat diakses dari class manapun.
Tipe static, menyatakan bahwa kita dapat mengakses
atau menggunakannya tanpa proses instansiasi
object dari kelas tersebut. Sementara tipe void,
menyatakan bahwa variable tersebut tidak
mengembalikan suatu nilai. Kurung kurawal buka
menandakan awal dari suatu method.
10. Menyatakan merupakan suatu statement yang
berfungsi untuk membuat objek baru dengan nama
objek ‘runrun’. Objek ini merupakan sebuah objek bertipe IRun, di mana IRun ini merupakan sebuah
subclass dari public class CobaLari. Pengaksesan
terhadap class IRun tidak dilakukan secara
langsung, tapi melalui pengaksesan terhadap class
CobaLari terlebih dahulu. Hal ini terjadi karena
CobaLari merupakan superclass dari IRun.
11. Menyatakan sebuah statement untuk mengakses method
start pada objek runrun. Dengan menjalankan
statement ini, diartikan bahwa percobaan untuk
Thread dimulai.
17. Menyatakan suatu looping yang berfungsi untuk
menampilkan hasil dari Main Thread. Output ini
dimunkinkan terjadi karena adanya suatu looping
yang berjalan selama nilai variable i kurang dari
20.
21. Menyatakan suatu private class, yang berarti bahwa
hanya class tertentu saja yang dapat mengakses
class IRun ini.
SOAL 2
1. Print Screen
Figure 3-Source Code MainanThread
2. Analisis
1. Mendeklarasikan paket letak kelas MainanThread.
2. –
3. Mengimpor kelas yang ada pada koleksi Java.
4.
5.
11. Mendeklarasikan sebuah public class, yang dapat
dieksekusi oleh semua kelas yang ada pada satu
package yang sama.
12. Mendeklarasikan method yang berada di dalam class
MainanThread, yaitu method main. Method main ini
merupakan method utama untuk menjalankan suatu
program, tanpa menggunakan method main, maka
sebuah program tidak akan menghasilkan output.
Tipe public menyatakan bahwa method ini dapat
diakses oleh oleh semua variable di dalam class
tersebut, dan dapat diakses dari class manapun.
Tipe static, menyatakan bahwa kita dapat mengakses
atau menggunakannya tanpa proses instansiasi
object dari kelas tersebut. Sementara tipe void,
menyatakan bahwa variable tersebut tidak
mengembalikan suatu nilai. Kurung kurawal buka
menandakan awal dari suatu method.
13. Mendeklarasikan suatu operasi yang berfungsi untuk
menginstansiasi objek dengan tipe objek thread.
Masing-masing dari objek ini memiliki nama
indentifier tersendiri dengan nama ‘thread1’ dan ‘thread2’.
14.
15. Mendeklarasikan operasi yang digunakan untuk
mengakses method start yang ada pada objek thread1
dan thread2. Method ini berjalan dengan fungsi
memulai suatu thread.
Figure 2-Running MainanThread
16.
19. Mendeklarasikan subclass dari Thread di mana class
ini memiliki beberapa method dengan fungsi yang
berbeda.
21. Mendeklarasikan suatu variable bertipe private
Integer variable yang bernama max.
23. Mendeklarasikan suatu public method dengan nama
MyThread. Public method ini merupakan method yang
dapat diakses dari class manapun dengan suatu
parameter String. Method ini berfungsi untuk
mengakses superclassnya dengan menggunakan
parameter name.
24.
25.
27. Mendeklarasikan suatu statement yang ada dalam
method MyThread dengan parameter string name, int
max. Method ini bekerja dengan mengakses
superclassnya dengan menggunakan parameter name,
lalu kemudian menunjuk dirinya sendiri dengan
statement this.max = max.
28.
29.
30.
32. Menyatakan suatu statement dalam method run.
Method run melakukan operasi dengan mengakses
method cetak, namun bila terdapat suatu exception
pada prosesnya, method ini akan langsung
diinterupsi.
39.
40. -
41. Mendeklarasikan method cetak yang berfungsi untuk
mencetak hasil dari thread. Di mana method ini
pertama melakukan suatu looping. Ketika nilai
variable i kurang dari hasil yang telah diproses
oleh method equals melalui obejcts, maka nilai
variable i akan ditambah satu kemudian system akan
mencetak thread yang saat itu berjalan.
SOAL 3
1. Print Screen
2. Analisis
1. Mendeklarasikan paket.
2. –
3. Mengimpor kelas dari perpustakaan Java.
4.
10. Mendeklarasikan suatu public class yang dapat
diakses oleh class manapun.
11. –
12. Mendeklarasikan method yang berada di dalam class
Mainanthread, yaitu method main. Method main ini
merupakan method utama untuk menjalankan suatu
program, tanpa menggunakan method main, maka
sebuah program tidak akan menghasilkan output.
Tipe public menyatakan bahwa method ini dapat
diakses oleh oleh semua variable di dalam class
tersebut, dan dapat diakses dari class manapun.
Tipe static, menyatakan bahwa kita dapat mengakses
atau menggunakannya tanpa proses instansiasi
object dari kelas tersebut. Sementara tipe void,
menyatakan bahwa variable tersebut tidak
mengembalikan suatu nilai. Kurung kurawal buka
menandakan awal dari suatu method.
13. Mendeklarasikan suatu perintah untuk membuat suatu
objek dengan nama thread1, dengan tipe objek
merupakan suatu Thread. Objek thread1 ini
merupakan suatu objek dengan tipe Thread1, di mana
Figure 3-Running File 'JoinanThread'
pengaksesan terhadap class Thread1 dilakukan
terlebih dahulu dengan melalui class JoinanThread.
14. Mendeklarasikan suatu perintah untuk membuat suatu
objek dengan nama thread1, dengan tipe objek
merupakan suatu Thread. Objek thread2 ini
merupakan suatu objek dengan tipe Thread2, di mana
pengaksesan terhadap class Thread2 dilakukan
terlebih dahulu dengan melalui class JoinanThread.
15. Mendeklarasikan suatu statement untuk memanggil
method start pada objek dan memulai untuk
melakukan suatu proses thread.
16.
20. Mendeklarasikan looping yang berfungsi untuk
mencetak kata “main” yang ada dalam tanda kurung sesuai urutan nilai variabel i.
22.
35. Mendeklarasikan suatu inner class dalam public
class JoinanThread di mana inner class ini adalah
class yang mengimplementasikan thread. Hanya ada
satu method yang diimplementasikan oleh class
Thread1 ini, yaitu method void run. Method ini
berfungsi untuk menampilkan hasil run dari
thread1.
43.
45. Mendeklarasikan suatu inner class dalam public
class JoinanThread di mana inner class ini adalah
class yang mengimplementasikan thread. Hanya ada
satu method yang diimplementasikan oleh class
Thread2 ini, yaitu method void run. Method ini
berfungsi untuk menampilkan hasil run dari
thread2.
54.
SOAL 4
1. Print Screen
2. Analisis
1. Mendeklarasikan package.
6. Mengimpor kelas dari koleksi Java.
8. Mendeklarasikan suatu public class yang dapat diakses oleh class manapun.
10. Mendeklarasikan suatu method yang berada di dalam class Mainanthread,
yaitu method main. Method main ini merupakan method utama untuk
menjalankan suatu program, tanpa menggunakan method main, maka
sebuah program tidak akan menghasilkan output. Tipe public menyatakan
bahwa method ini dapat diakses oleh oleh semua variable di dalam class
tersebut, dan dapat diakses dari class manapun. Tipe static, menyatakan
bahwa kita dapat mengakses atau menggunakannya tanpa proses instansiasi
object dari kelas tersebut. Sementara tipe void, menyatakan bahwa variable
tersebut tidak mengembalikan suatu nilai. Kurung kurawal buka
menandakan awal dari suatu method.
11. Meminta user menginput nilai dari jumlah kuda yang akan di cek dalam
code ini. Program akan menjalankan perintah instansiasi objek Scanner
dengan nama input, dan kemudian menampilkan kalimat ‘masukkan jumlah kuda ke layar’. Hasil yang diinputkan oleh user, kemudian disimpan sebagai suatu nilai pada variable kuda.
Figure 4-Running Program PacuanKuda
13.
14. Menginstansiasi suatu objek baru dengan nama objek horde, di mana objek
horse ini merupakan suatu objek array dari class Horse[] dengan panjang
array sama dengan nilai yang diinputkan user dalam variable kuda.
17.
18. Memulai pacuan kuda dalam thread ini.
24.
28. Memulai race.
35.
36. Mendeklarasikan suatu method yang melakukan perhitungan race. Looping
dimulai dengan melihat panjang array horse, dan selama belum mencapai
nilai terpanjang dari array, maka looping akan bernilai true dan langkah
akan terus dieksekusi. Ketika statement untuk memunculkan horse sudah
selesai, maka operasi yang kemudian berlangsung adalah dengan
menampilkan distance. Dan kemudan program akan menampilkan siapa
yang menjadi pemenang dalam race.
57.
60. Mendeklarasikan suatu class Horse yang menginduk pada class Thread.
Pada class ini, dideklarasikan beberapa method private yang hanya bisa
diakses oleh dirinya sendiri, class yang ada pada dirinya dan method dalam
satu class. Method horse dengan parameter int id, merupakan suatu method
yang berfungsi untuk memberikan nama pada kuda.
71.
72. Mendeklarasikan suatu perintah untuk melakukan resetRace ketika nilai
dari raceOver adalah false.
75.
77. Mendeklarasikan bahwa ketika raceOver bernilai true, maka method done
akan mengembalikan nilai berupa raceOver.
79.
80. Mendeklarasikan suatu langkah untuk mencari siapa pemenang dalam race
ini.
83.
85. Mendeklarasikan suatu langkah untuk mencari distance.
87.
89. Menyatakan bahwa method run akan berjalan selama raceOver belum
bernilai true.