pertemuan ke 3

11
LAPORAN PEMROGRAMAN BERORIENTASI OBYEK PERTEMUAN KE-3 Di Susun Oleh : Nama : Mohamad Hanafi Nim : 095410134 Jurusan : Teknik Informatika/Strata-1 LABORATORIUM TERPADU Sekolah Tinggi Manajemen Informatika dan Komputer AKAKOM

Upload: mohamad-hanafi-mohan

Post on 02-Aug-2015

331 views

Category:

Documents


0 download

TRANSCRIPT

LAPORAN PEMROGRAMAN BERORIENTASI OBYEK

PERTEMUAN KE-3

Di Susun Oleh :

Nama : Mohamad Hanafi

Nim : 095410134

Jurusan : Teknik Informatika/Strata-1

LABORATORIUM TERPADU

Sekolah Tinggi Manajemen Informatika dan Komputer

AKAKOM

Yogyakarta

2011

PERTEMUAN KE-3PEWARISAN

A. LISTINGTerlampir

B. PEMBAHASAN LISTING

Ayam

makananekosistem

jenis()maks_hidup()bentuk_paruh()

Burung

makananekosistem

jenis()maks_hidup()bentuk_paruh()

Unggas

namajenkelwarnabentuk

jumlah_telur()populasi()bentuk_kaki()

Itik

makananekosistem

jenis()maks_hidup()bentuk_paruh()

Kelas Unggas digunakan untuk superclass yaitu kelas yang mewariskan dimana didalamnya ada atribut nama, jenis kelamin, warna, dan bentuk untuk operasinya yaitu dimana dalam unggas mempunyai telur sehingga aku operasikan dengan jumlah telur pada unggas contohnya burung dan ayam, burung mempunyai telur paling banyak 4 butir sedangkan ayam mempunyai telur paling banyak 20 butir dan populasi disini menerangkan tentang hidup pada alam darat atau laut dan sedangkan bentuk kaki yaitu diartikan unggas yang hidup di air bentuknya pipih sedangkan unggas yang hidup didarat bentuk kakinya runcing (kecil dan panjang).Untuk kelas ayam, burung dan Itik itu dinamakan kelas induk atau subkelas diartikan kelas yang diwariskan pada unggas seperti contoh diatas untuk atribut yaitu : makanan dan ekosistem untuk makanan disini diartikan dengan termasuk golongan karnivora(pemakan daging), herbivora(pemakan tumbuh-tumbuhan) dan omnivora(pemakan segalanya)

Untuk kelas unggas :

1. public class Unggas {2. protected String nama;3. protected String jk;4. protected String warna;5. protected String bentuk;6. public Unggas(){7. nama = "unknow";8. jk = "unknow";9. warna = "unknow";

10. bentuk = "unknow";11. }12. public Unggas(String nama, String jk, String warna, String bentuk){13. this.nama = nama;14. this.jk = jk;15. this.warna = warna;16. this.bentuk = bentuk;17. }18. public String getNama(){19. return nama;20. }21. public String getJk(){22. return jk;23. }24. public void setNama(String nama){25. this.nama = nama;26. }27. public void setJk(String jk){28. this.jk = jk;29. }30. /**@param args the command line arguments31. */32. public static void main(String[] args) {33. // TODO code application logic here34. }35. }

Inheritance(pewarisan) adalah proses pewarisan data dan method dari suatu kelas kepada kelas yang lain public mengijinkan kelas dan sub kelas dari package manapun untuk mengaksesnya. Private membatasi akses hanya untuk kelas itu sendiri dan objek yang diinstans darinya. Protected akses hanya diberikan kepada kelas itu sendiri dan sub kelas yang diturunkan darinya.Baris 1 :Mendeklarsikan bahwa kelas Unggas adalah kelas abstrak yang akan menjadi basis begi pembentukan kelas-kelas lainnya.Baris 2-5 :Mendeklarasikan variable nama,jk,warna dan bentuk yang bersifat protected(hanya digunakan sebagai variable internal dalam kelas Unggas dan bisa diakses oleh kelas-kelas lainnya). Kelas lain dapat mengakses variable ini hanya dengan memanggil extends diikuti dengan nama kelasnyaBaris 6-10 :Memberi dafault pada program apabila user tidak memasukkan inputan pada program maka isi kosong ini akan keluar pada program ketika dijalankanBaris 12-16 :Memberi tipe data pada program akhir dimana program akan membaca mana tipe data dan mana yang masukan dari user dalam arti bisa dimasukkan dikelas obyek untuk memberi masukan pada program.Baris 18-28 :Yaitu memberi nilai pada program artinya set yaitu memberi nilai pada program sedangkan get yaitu mendapatkan atau menangkap inputan dari user maupun dari programnya.

Kelas ayam :

public class Ayam extends Unggas{private String makanan;private String ekosistem;public Ayam(){ makanan = ""; ekosistem = "";}//program diatas menjelaskan pada induk dari unggas yang diturunkan pada ayam untuk penurunan dari program diatas ialah dengan memberi extends yang artinnya untuk mengaplikasikan konsep pewarisan (inheritance).

public Ayam(String makanan, String ekosistem){ this.makanan = makanan; this.ekosistem = ekosistem;}//untuk memberi tipe datanya saja hampir sama penjelasan dengan program diatas untuk memberi pada obyek yang ada di program utama. public static void main(String hanafi[]){ Ayam it = new Ayam("jagung","darat"); System.out.println("makanan = "+it.makanan); System.out.println("ekosistem = "+it.ekosistem);}}//pada program utama ini yaitu memberi masukan pada program dan kelas utama ditulis kembali diterskan denganobyeknya untuk kelas Ayam yang ada di obyek kenapa dari setiap nama dari tipe data tersebut dikasih tanda petik dua dikarenakan tipedatanya adalah String kalau Integer,double,float itu tanpa kasih tanda petik solnya numerik beda dengan huruf.

Hasilnya :

Untuk Kelas burung dan kelas itik sama saja penjelasannya Cuma beda inputan dari program dan tipe datanya :Hasilnya ialah :Kelas burung

Kelas itik

C. TUGASPraktikum :

class Binatang { public void info(){ System.out.println(" Info tentang Hewan : "); }}class Herbivora extends Binatang { public void info(){ System.out.println("Info pada herbivora: Memakan makanan berupa tumbuh-tumbuhan"); }}class Kelinci extends Binatang{ public void info(){ System.out.println("Info pada kelinci: Memakan makanan berupa wortel"); }}public class Polimorphisme { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Herbivora herbivora; Kelinci kelinciku; Binatang hewan = new Binatang(); herbivora = new Herbivora(); kelinciku = new Kelinci(); hewan.info(); hewan = herbivora;

hewan.info(); hewan = kelinciku; hewan.info(); }}

Hasil outputnya :

Latihan :

package emosional;

/** * * @author MOHAMAD HANAFY */class EkspresiWajah { public String respons(){ return ("Lihatlah reaksi wajah saya\n"); }}class Gembira extends EkspresiWajah{ public String respons(){ return ("Ha ha..hi..hi...saya sedang gembira\n"); }}class Sedih extends EkspresiWajah{ public String respons(){ return ("Hik..hik..hik..teganya dia berbuat itu..\n"); }}public class Emosional {

/** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here EkspresiWajah obj = new EkspresiWajah(); Gembira objG = new Gembira(); Sedih objS = new Sedih(); EkspresiWajah [] ekspresi = new EkspresiWajah[4]; ekspresi[0] = obj; ekspresi[1] = objG;

ekspresi[2] = objS; System.out.println("Ekspresi[0]: "+ekspresi[0].respons()); System.out.println("Ekspresi[1]: "+ekspresi[1].respons()); System.out.println("Ekspresi[2]: "+ekspresi[2].respons()); }}

Hasilnya :

Konsep program yang saya buat secara leksikal, polymorphism bermakna sesuatu yang memiliki banyak. Dalam pemrograman, istilah polymorfi dapat diartikan sebagai modul yang memiliki nama yang sama, namun memilki behavior(tingkah laku yang berbeda) sehingga listing code implementasinnya bebeda.Untuk public String respons() itu adalah mengisikan huruf yang mempunyai tipe data String dan pada EkspresiWajah [] ekspresi = new EkspresiWajah[3]; digunakan untuk membuat variabel yang dimana nantinya dipanggil pada waktu program dijalankan bisa diartikan juga mempermudah seorang programmer untukmendeklarasikan programnya.Tugas :

class Hewan {private String jenis;private int kaki;Hewan (){}

Hewan (String jenis, int kaki){ this.jenis = jenis; this.kaki = kaki;}

public void bersuara() { System.out.print("suara hewan "+jenis+" berkaki "+kaki);}

}class Anjing extends Hewan {

Anjing() {super();

}

public void bersuara() { System.out.println("guk guk guk....");

}}

class Kucing extends Hewan {Kucing(String jenis, int kaki) {

super(jenis, kaki);}

public void bersuara() { super.bersuara();System.out.println(" miaowwwwng....");

}}class Polymorfhisme { public static void main(String args[]) {

Anjing doggy = new Anjing(); Kucing tom = new Kucing("Kucing", 4);

doggy.bersuara(); tom.bersuara();

}}

Hasil outputnya :

D. PEMBAHASAN TUGASclass Hewan {private String jenis;private int kaki;Hewan (){}digunakan untuk memberi tipe data pada atibut kelas hewan untuk private yaitu membatasi akses hanya untuk kelas itu sendiri dan obyek yang diinstan darinya.

Hewan (String jenis, int kaki){ this.jenis = jenis; this.kaki = kaki;}Memberikan tipe data untuk diakses di program utama guna pada this yaitu mengembalikan nilai pada program inputan diikuti dengan namaatribut pada Hewan dan tipe data dari atribut kelas hewan.

public void bersuara() { System.out.print("suara hewan "+jenis+" berkaki "+kaki);}Menampilkan hasil keluaran yang diambil pada tipe data jenis dimana jenis tersebut digunakan untuk masukan inputan dari user dalam program utama.

}class Anjing extends Hewan {Anjing() {

super();}

Kelas anjing tersebut yaitu subkelas yang diwariskan pada kelas hewan bentuk super() akan memanggil default konstruktor dari kelas supernya yaitu kelas Hewan.

public void bersuara() {System.out.println("guk guk guk....");

}}

class Kucing extends Hewan {Kucing(String jenis, int kaki) {

super(jenis, kaki);}Kelas kucing merupakan pewarisan dari kelas hewan dimana kucing tersebut mempunyai atribut jenis kaki dan super yang diikuti dengan parameter yaitu memanggil konstruktor kelas super yang sesuai dengan parameter tersebut.

public void bersuara() {super.bersuara();System.out.println(" miaowwwwng....");

}}

public class Polymorfhisme {digunakan menyimpan pada waktu program akan dijalankan

public static void main(String args[]) { Anjing doggy = new Anjing(); Kucing tom = new Kucing("Kucing", 4); doggy.bersuara(); tom.bersuara(); }}Program utama ini memanggil parameter-parameter yang telah dibuat sebelumnya pada dogy.bersuara dimana doggy sebuah pada Anjing dan bersuara yaitu memanggil pada public void bersuara untuk ditampilkan pada output program sedangkan tom sama saja dengan doggy.