Anda di halaman 1dari 26

Berikut adalah soal soal dan jawaban saya saat praktikum PBO modul 1.

Tugas Pendahuluan Buatlah program menggunakan class dan objek dengan nama motor.java, jika program di jalankan hasilnya seperti di bawah ini : Object motor 1! : "erk : #amaha Pemilik : Pak $armawan Object motor %! : "erk : &onda Pemilik : Pak 'asiruddin Jawaban: Berikut ini adalah source codenya: class sepeda(

public )tring nama,merk,pemilik*

public sepeda +)tring nama,( this.nama-nama* .

public void set'ama+,( )ystem.out.println+/Object :/0nama,* .

public )tring get"erk+)tring merk,( this.merk-merk* return merk* .

public void set"erk+,( )ystem.out.println+/"erk :/0merk,* .

public )tring getPemilik+)tring pemilik,( this.pemilik-pemilik* return merk* .

public void setPemilik+,( )ystem.out.println+/Pemilik :/0pemilik,* .

class motor( public static void main+)tring 12 args,( sepeda motor1-new sepeda+/motor 1/,* motor1.set'ama+,* motor1.get"erk+/#amaha/,* motor1.set"erk+,* motor1.getPemilik+/Pak $armawan/,* motor1.setPemilik+,*

sepeda motor%-new sepeda+/motor %/,* motor%.set'ama+,* motor%.get"erk+/&onda/,* motor%.set"erk+,* motor%.getPemilik+/Pak 'asiruddin/,* motor%.setPemilik+,* . .

Running Program :

Implementasi Buatlah kelas mahasiswa dengan atribut/variablel = nama dan npm dan mempunyai metodh: tampilkanNama, tampilkanNpm, belajar, olahRaga, makan, minum. Buatlah 3 objek untuk menginstantiasi kelas mahasiswa dengan atribut nama dan npm nda sendiri dan ! teman nda dan mengimplementasikan beberapa metodh yang telah nda de"inisikan dalam kelas mahasiswa
Jawaban : source class mahasiswa.java public class mahasiswa(

)tring nama*

public mahasiswa+)tring nama,( )ystem.out.println+/Objek /0nama0/ dari kelas mahasiswa sudah dibuat3/,* this.nama - nama* . public )tring tampil'ama+)tring nama,( return nama - /'ama : /0nama* . public )tring tampil'4"+)tring nim,(

return nim - /'4" : /0nim* . public void belajar+)tring belajar,( )ystem.out.println+nama0/ suka belajar /0belajar,* . public void olahraga+)tring olahraga,( )ystem.out.println+nama0/ suka olahraga /0olahraga,* . public void makan+)tring makan,( )ystem.out.println+nama0/ suka makan /0makan,* . . Source class mhs.java class mhs(

public static void main+)tring12 args,(

55membuat objek baru bernama andi dari kelas mahasiswa mahasiswa andi - new mahasiswa+/andi/,* )ystem.out.println+andi.tampil'ama+/6ndi )holihin/,,* )ystem.out.println+andi.tampil'4"+/787911177711/,,* andi.belajar+/:ava/,* andi.olahraga+/Badminton/,* andi.makan+/)ate 6yam/,* )ystem.out.println+,*

55membuat objek baru bernama ;utsi dari kelas mahasiswa mahasiswa ;utsi - new mahasiswa+/;utsi/,*

)ystem.out.println+;utsi.tampil'ama+/<utsiyah/,,* )ystem.out.println+;utsi.tampil'4"+/78791117777=/,,* ;utsi.belajar+/>isual Basic/,* ;utsi.olahraga+/?ennis/,* ;utsi.makan+/'asi @oreng/,* )ystem.out.println+,*

55membuat objek baru bernama astri dari kelas mahasiswa mahasiswa astrie - new mahasiswa+/astrie/,* )ystem.out.println+astrie.tampil'ama+/6strie 'ova 4/,,* )ystem.out.println+astrie.tampil'4"+/78791117779=/,,* astrie.belajar+/P&P A "y)<B/,* astrie.olahraga+/?ennis/,* astrie.makan+/'asi @oreng/,* )ystem.out.println+,* . .

Running Program

Tugas Akhir Buat program dengan nama telev##$.java dengan spesi"ikasi sebagai berikut : %lass : &elevisi #bje't : &elevisiku ttribute ( )erek ( &ipe ( *kuran ( &ombol volume ( &ombol %hannel )ethod ( )enyalak ( )emindahkan %hannel ( )embesarkan volume ( )ematikan &elevisi Jawaban : Source class tv.java.
public class tv(

)tring merk,tipe,ukuran,tombolCvolume,tombolCchannel*

public tv+)tring televisi,( )ystem.out.println+/Objek /0televisi0/ dari kelas tv sudah dibuatDn/,* .

public void menyalakanCtv+)tring power,( )ystem.out.println+/?elevisi sudah : /0power,* .

public void gantiCchannel+,( )ystem.out.println+/Ehannel )udah diubah/,* . public void membesarkanCvolume+)tring suara,( )ystem.out.println+/>olume sudah di/0suara0/kan/,* .

. Source televOOP.java class televOOP(

public static void main+)tring12 args,(

tv televisiku - new tv+/televisiku/,*

televisiku.merk - /)amsung/* )ystem.out.println+/"erk ?elevisi : /0televisiku.merk,*

televisiku.tipe - /BE$ ?>/* )ystem.out.println+/?ipe ?elevisi : /0televisiku.tipe,*

televisiku.ukuran - /=% inchi/* )ystem.out.println+/Fkuran ?elevisi : /0televisiku.ukuran,*

televisiku.menyalakanCtv+/O'/,* televisiku.gantiCchannel+,* televisiku.membesarkanCvolume+/besar/,* televisiku.membesarkanCvolume+/kecil/,* televisiku.menyalakanCtv+/OGG/,* . .

Running Program

Mo ul ! : "nkapsulasi
Implementasi $erhatikan kelas manusia dibawah ini+
5H $isimpan dalam Iile andi.java H5

class andi ( public static void main+)tring arg12, ( manusia andi- new manusia+/6ndi/,* )ystem.out.println+/'ama- /0 andi.tampilkan'ama+,,* andi.makan+,* . .

5H $isimpan dalam Iile manusia.java H5 class manusia ( public )tring nama*

private manusia+)tring n, ( this.nama - n* .

public manusia+)tring n,( this.nama - n* .

public )tring tampilkan'ama+,

( return nama* . public void makan+, ( )ystem.out.println+/'yam... nyam... nyam.../,* . public void kerja+, ( )ystem.out.println+/Jerja... kerjaaa.../,* . private void bunuh$iri+, ( )ystem.out.println+/$or .. bruk.../,* . .

Running $rogram :

Tugas Akhir
class tingkat6kses( int a* public int b*

private int c*

public void setE+int c,( this.c - c* .

public int getE+,( return c* .

class coba(

public static void main+)tring12 args,(

tingkat6kses obj - new tingkat6kses+,*

obj.a - 17* obj.b - %7* obj.setE+K7,*

)ystem.out.println+/"odul Pengkapsulan/,* )ystem.out.println+/------------------/,* )ystem.out.println+/'ilai 6 : /0obj.a,* )ystem.out.println+/'ilai B : /0obj.b,* )ystem.out.println+/'ilai E : /0obj.getE+,,* )ystem.out.println+/------------------/,*

. .

,asil Running :

Tugas Tambahan -. )engapa jika hak akses publi' pada konstruktor manusia di ganti dengan $R./ &0, program akan 0RR#R111 !. 2alam teori, dapatkah kita memberikan hak akses pada konstruktor1 3. Bagaimana solusi agar program dapat berjalan1 3awaban : -. 4arena konstruktor manusia mempunyai hak akses private sehingga tidak bisa diakses oleh kelas lain. !. 5a, kita dapat kita memberikan hak akses pada konstruktor. 3. 2engan 'ara membuat konstruktor baru bernama manusia tapi dengan parameter yang berbeda.

6our'e'ode program :
5H $isimpan dalam Iile andi.java! H5 class andi( public static void main+)tring arg12,( manusia andi - new manusia+/6ndi/,/@anteng/,*

)ystem.out.println+/'ama - /0 andi.tampilkan'ama+,,* )ystem.out.println+/Orangnya - /0 andi.tampilkan)iIat+,,*

andi.makan+,* andi.kerja+,* . .

class manusia ( public )tring nama,siIat*

public manusia+)tring nama, )tring siIat,( this.nama - nama* this.siIat - siIat* .

private manusia+)tring n, ( this.nama - n* . public )tring tampilkan'ama+,( return nama* .

public )tring tampilkan)iIat+,( return siIat* .

public void makan+,( )ystem.out.println+/'yam... nyam... nyam.../,* .

public void kerja+,( )ystem.out.println+/Jerja... kerjaaa.../,* . private void bunuh$iri+,( )ystem.out.println+/$or .. bruk.../,* . .

Running $rogram :

Mo ul # : Inheritance
Implementasi Pada bagian kegiatan praktikum ini, kita akan belajar membuat class yang dikelompokkan dalam package kemudian menggunakan package ini dari class lain. source Lumah.java class Lumah ( private )tring a - /Lumah mewah/*

public void inIo+, ( )ystem.out.println +/ /,*

)ystem.out.println +/Lumah . . source rumahindah.java class rumahindah eMtends Lumah ( private )tring b - /tombol alarm/*

- /0a,*

public rumahindah+)tring coba,( )ystem.out.println+/4ni adalah /0coba,*

public void inIo+, ( )ystem.out.println +/ /,* super.inIo+,* )ystem.out.println +/ rumahindah - /0b,* . . )ource tiperumah.java public class tiperumah ( public static void main +)tring12 args, ( rumahindah E - new rumahindah+/Lumah saya/,* E.inIo+,* .

Running $rogram :

Tugas Akhir Buatlah program java untuk menurunkan ! buah kelas turunan dari kelas induk yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling lingkaran + 6our'e 'ode program
5H$isimpan dalam Iile Bingkaran.javaH5 5HJode Program untuk kelas BingkaranH5

class Bingkaran ( protected int r- 177* void inIo+,( )ystem.out.println+:ari jari :! 0 r,* . .

5H$isimpan dalam Iile Buas.javaH5 5HJode Program untuk kelas BuasH5 class Buas eMtends Bingkaran ( private int r*

public double hasil+, ( r-super.r* return K.19HrHr* . .

5H$isimpan dalam Iile Jeliling.javaH5 5HJode Program untuk kelas JelilingH5 class Jeliling eMtends Bingkaran ( private int r* public double hasil+, ( r-super.r* return K.19H%Hr* . .

5H$isimpan dalam Iile hasilBingkaran.javaH5 5HJode Program untuk kelas hasilBingkaranH5

public class hasilBingkaran( public static void main + )tring12args , ( Bingkaran lingkaran- new Bingkaran+,*

Buas luas - new Buas+,* Jeliling kll-new Jeliling+,* lingkaran.inIo+,* )ystem.out.println+Buas Bingkaran :!0 luas.hasil+,,* )ystem.out.println+Jeliling Bingkaran :!0 kll.hasil+,,* . .

Mo ul $ P%& : Polimor'isme
Implementasi Pada gambar 1 kita membuat tiga object class dengan nama )tudent, subclass student@rad dan class )tudent4nIo. Elass )tudent mempunyai method Nrite yang digunakan untuk melewatkan argumen untuk kemudian ditampilkan dengan menggunakan method $isplay. source code class Student.java class )tudent ( public void Nrite+int 4$, int @rad, )tring Gname, )tring Bname, ( mC4$ - 4$* mC@raduation - @rad* mCGirst - Gname* mCBast - Bname* . public void $isplay+,( )ystem.out.println+ /)tudent: / 0 mC4$ 0 / / 0 mCGirst 0 / / 0mCBast 0 / @raduated: / 0 mC@raduation,* . private int mC4$, mC@raduation* private )tring mCGirst* private )tring mCBast* . )ubclass )tudent dengan nama )tudent@rad berisi sintaks untuk menampilkan inIo kelulusan. PolimorIisme terjadi antara kedua class )tudent@rad dan )tudent dimana pada

kedua class mempunyai dua dua method yang sama tetapi mempunyai bentuk yang berbeda sesuai dengan object yang digunakan untuk memanggilnya, yaitu Nrite+, dan $isplay+,* Source code StudentGrad class )tudent@rad eMtends )tudent ( public void Nrite+int 4$, int @rad, )tring Gname, )tring Bname, int yr@rad, )tring un)ch, )tring major, ( super.Nrite+4$, @rad, Gname, Bname,* mCFndergrad)chool - un)ch* mC"ajor - major* mC@rad - @rad* #ear@raduated - yr@rad* . public void $isplay+,( super.$isplay+,* )ystem.out.println+/ @raduated: / 0 mC@rad 0 / / 0mCFndergrad)chool 0 / / 0 mC"ajor 0 / / 0 #ear@raduated,* . private 4nteger #ear@raduated,mC@rad* private )tring mCFndergrad)chool* private )tring mC"ajor* . Elass lain yaitu )tudent4nIo yang digunakan untuk memasukan agumen ke kedua method pada masing masing class )tudent dan )tudent@rad. Source code StudentInfo.java class )tudent4nIo ( public static void main +)tring args12, ( )tudent@rad my)tudent - new )tudent@rad+,* my)tudent.Nrite+17, 1,/Bob/,/)mith/, %777,/Eolumbia Fniversity/,/E)/,* my)tudent.$isplay+,* .

Running Program :

Tugas Akhir
class hewan (

private )tring tipe*

public hewan+)tring tipe,(

this.tipe - tipe*

public )tring to)tring+,(

return 4ni adalah 0tipe*

public void bersuara+,(

"embuat kelas 6njing, 6yam dan Jucing yang merupakan kelas turunan dari kelas hewan

5H$isimpan dalam Iile 6njing.javaH5

5HJode Program untuk kelas 6njingH5

class 6njing eMtends hewan(

private )tring nama*

private )tring jenis*

public 6njing+)tring nama, )tring jenis,(

super+6njing!,*

this.nama-nama*

this.jenis-jenis*

public void bersuara+,(

)ystem.out.println+@uk.. @uk.. @uk.. ,*

public )tring to)tring+,(

return super.to)tring+,0!Dn4ni adalah 0jenis0! bernama 0nama*

5H$isimpan dalam Iile 6yam.javaH5

5HJode Program untuk kelas 6yamH5

class 6yam eMtends hewan(

private )tring nama*

private )tring jenis*

public 6yam+)tring nama, )tring jenis,(

super+6yam!,*

this.nama-nama*

this.jenis-jenis*

public void bersuara+,(

)ystem.out.println+Jukuruyuk.. Petok.. Petok..!,*

public )tring to)tring+,(

return super.to)tring+,0!Dn4ni adalah 0jenis0! bernama 0nama*

5H$isimpan dalam Iile Jucing.javaH5

5HJode Program untuk kelas JucingH5

class Jucing eMtends hewan(

private )tring nama*

private )tring jenis*

public Jucing+)tring nama,(

super+Jucing!,*

this.nama-nama*

public Jucing+)tring nama, )tring jenis,(

super+Jucing!,*

this.nama-nama*

this.jenis-jenis*

public void bersuara+,(

)ystem.out.println+"eong.. "eong.. "eong.. ,*

public )tring to)tring+,(

return super.to)tring+,0!Dn4ni adalah 0jenis0! bernama 0nama*

"embuat kelas polimorIisme yang merupakan program utama dan sekaligus mengimplementasikan penggunaan metode polimorIisme

5H$isimpan dalam Iile polimorIisme.javaH5

5HJode Program untuk kelas polimorIismeH5

import java.util.Landom*

class polimorIisme(

public static void main+)tring args12,(

hewan12 hewannya - (

new 6njing+Broni!, &erder!,,

new Jucing+Jiti!, Persia!,,

new 6yam+?oki!, Buras!,

.*

hewan pilih&ewan*

Landom pilih - new Landom+,*

Ior +int i - 7* iO= * i00,(

pilih&ewan - hewannya1pilih.neMt4nt+hewannya.length,2*

)ystem.out.println+DnPilihan 6nda:Dn! 0 pilih&ewan,*

pilih&ewan.bersuara+,*

Running Program