Pertemuan Ke 2

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

Transcript of Pertemuan Ke 2

Page 1: Pertemuan Ke 2

LAPORAN PEMROGRAMAN BERORIENTASI OBYEK

PERTEMUAN KE-2

Di Susun Oleh :

Nama : Mohamad Hanafi

Nim : 095410134

Jurusan : Teknik Informatika/Strata-1

LABORATORIUM TERPADU

Sekolah Tinggi Manajemen Informatika dan Komputer

AKAKOM

Yogyakarta

2011

Page 2: Pertemuan Ke 2

A. LISTINGTerlampir

B. PEMBAHASAN LISTING

METHODApa yang dimaksud dengan Method yaitu : perilaku dari kode program yang terdapat dalam class.Dalam pembauatan listing tersebut yaitu membuat sebuah sistem dimana dari salah satu obyaknya dilengkapi dengan method beserta obyeknya maupun konstruktornya.Dalam hal ini saya membuat sistem AKADEMIK dimana dalam sistem tersebut ada Mahasiswa,Dosen dan karyawan dan yang saya lengkapi dari dsalah satu dari 3 tersebut yaitu karyawan :Kelas Mahasiswa:

import java.util.Scanner;public class Mahasiswa { private String nama; private String jurusan; private int nomhs; public Mahasiswa(){ nama = ""; jurusan = ""; nomhs = 0; } public Mahasiswa(String nama, String jurusan, int nomhs){ this.nama = nama; this.jurusan = jurusan; this.nomhs = nomhs; } public void tampil(){ System.out.println("nama : "+nama); System.out.println("jurusan : "+jurusan); System.out.println("nomhs : "+nomhs); }

Dari kelas mahasiswa tersebut kita berikan tipe data pada masing-masing atribut, untuk public Mahasiswa tanpa menggunakan tipe data dalam kurung digunakan untuk medefault program ketika program tidak diisi oleh user untuk public Mahasiswa yang menggunakan tipe data digunakan membandingkan dengan nama yang ada di metode main supaya dalam program tersebut tidak ambigu mana nama yang masukan dari keyboard dan nama untuk tipe data. Sedangkan public void yaitu untuk menampilkan output program yang telah dimasukkan dari keyboard.

public static void main(String[] args) { // TODO code application logic here Scanner masuk = new Scanner(System.in); String nama, jurusan; int nomhs;

Page 3: Pertemuan Ke 2

System.out.print("masukkan nama = "); nama = masuk.nextLine(); System.out.print("Masukkan jurusan = "); jurusan = masuk.nextLine(); System.out.print("Masukkan no mahasiswa = "); nomhs = masuk.nextInt(); Mahasiswa m1 = new Mahasiswa(nama,jurusan,nomhs); m1.tampil(); }}

Dalam program utama disini kita deklarasikan dulu kelas Scanner sebelum kita mendeklarasikan alangkah baiknya kita buat sebelum nama kelas yaitu import java.util.Scanner; krena dalam kelas Scanner tersebut berfungsi untuk menerima masukan dari keyboard. Untuk Mahasiswa disini digunakan untuk memanggil nama kelas dari program terus diikuti dengan nama masukan dari keyboard.

Kelas Dosen:

public class Dosen { private String nama; private String alamat; private String jenjang; public Dosen(){ nama = ""; alamat = ""; jenjang = ""; } public Dosen(String nama, String alamat, String jenjang){ this.nama = nama; this.alamat = alamat; this.jenjang = jenjang; } public void tampil(){ System.out.println("Daftar nama Dosen AKAKOM"); System.out.println("nama Dosen : "+nama); System.out.println("Alamat : "+alamat); System.out.println("Jenjang : "+jenjang); } public static void main(String args[]){ Dosen m1 = new Dosen("indra yatini","Sumatra","S2"); m1.tampil(); Dosen m2 = new Dosen("Cuk subiantoro","yogyakarta","S2"); m2.tampil(); }}

Pada pembahasan sampai dengan void tampil disini hampir sama boleh juga dikatan sama soalnya yang membedakan ialah tipe daata dari program. Untuk program utama yaitu kita ketikan langsung dari programnya tidak diketik pada jalannya program alias masukan

Page 4: Pertemuan Ke 2

keyboard perlu diingat yaitu nama obyek yang pertama kita buat dengan nama obyek yang yang kedua atau seterusnya harus tidak boleh sama karena nama dalam program java sangat sensitive.

Kelas Kayawan :

import java.util.Scanner;public class Karyawan { private String nama; private String alamat; private int gaji; //konstruktor public Karyawan(){ this.nama = ""; this.alamat = ""; this.gaji = 0; } //method asesor public int getGaji(){ return gaji; } public String getNama(){ return nama; } //method mutator public void setNama(String temp){ nama = temp; } private void setGaji(int temp) { gaji = temp; } private Karyawan(String nama, String alamat, int gaji) { this.nama = nama; this.alamat = alamat; this.gaji = gaji; } public void info(){ System.out.println("Nama = "+this.nama); System.out.println("Alamat = "+this.alamat); System.out.println("Gaji = "+this.gaji); }

Pada public int getGaji yaitu mendapat atau menangkap nilai yang telah dimasukkan setelah itu dikirim pada program utama. Pada public String setNama yiatu membari nilai pada program untuk ditampilkan ketika program dijalankan begitu juga hal yang sama pada arti setGaji dan getNama. Untuk private digunakan pada program terakhir yaitu program utama untuk membedakan nama variable dan nama tipedata.

//method statik

Page 5: Pertemuan Ke 2

public static void main(String hanafi[]){ Scanner masuk = new Scanner(System.in); String nama, alamat; int gaji; System.out.print("Masukkan Nama = "); nama = masuk.nextLine(); System.out.print("Masukkan alamat = "); alamat = masuk.nextLine(); System.out.print("Masukkan Gaji = "); gaji = masuk.nextInt(); Karyawan m1 = new Karyawan(nama,alamat,gaji); m1.info(); Karyawan m2 = new Karyawan(); m2.setNama("Hanafi"); m2.setGaji(5000000); System.out.println("Nama ke=2 : "+m2.getNama()); System.out.println("Gaji ke=2 : "+m2.getGaji()); }}

Mengapa dalam obyek m1 pada kelas Karyawan diberikan nama variabel kerena pemanggilan method ada parameter maupun tanpa parameter yaitu berfungsi memanggil pada hasil dari void info untuk memberi variabel yang telah dimasukkan dan ditampilkan ketika program dijalankan dan disinilah private yang ada diatas dijalankan untuk membuat sebuah obyek baru hati-hati nama harus berbeda apabila setNama dan getGaji diletakkan setelah System.out.println maka program tidak akan mengetahui meskipun program telah diisikan karena apa karena set yaitu bertugas untuk memberi nalai.

C. TUGASPraktikum(Modul 4) :

Praktikum 1 dan 3:

public class Person { protected String nama; protected String alamat;

/** * @param args the command line arguments */ public Person(){ System.out.println("Insede person:Constructor"); nama = ""; alamat = ""; } public Person(String nama, String alamat){ this.nama = nama; this.alamat = alamat; }

Page 6: Pertemuan Ke 2

public String getNama(){ return nama; } public String getAlamat(){ return alamat; } public void setNama(String nama){ this.nama = nama; } public void setAlamat(String almt){ this.alamat = almt; } public void info(){ System.out.println("Nama = "+nama); System.out.println("Alamat = "+alamat); } public static void main(String[] args) { // TODO code application logic here Person P1 = new Person("Agus","Janti"); P1.info(); }}

Hasil output :

Pratikum 2 dan pelengkapannya:

public class Mahasiswa {private int nim;private String nama;private String jurusan;private String alamat;public Mahasiswa(){ this.nim = 0; this.nama = ""; this.jurusan = ""; this.alamat = ""; }public Mahasiswa(int nim, String nama, String jurusan, String alamat){ this.nim = nim; this.nama = nama; this.jurusan = jurusan; this.alamat = alamat;

Page 7: Pertemuan Ke 2

}public void info(){ System.out.println("Nim = "+nim); System.out.println("Nama = "+nama); System.out.println("Jurusan = "+jurusan); System.out.println("Alamat = "+alamat);}public static void main(String[] args){ Mahasiswa mhs = new Mahasiswa(); System.out.println("Nim = "+mhs.nim); System.out.println("Nama = "+mhs.nama); System.out.println("Jurusan = "+mhs.jurusan); System.out.println("Alamat = "+mhs.alamat); Mahasiswa mhs1 = new Mahasiswa(1,"lulu","S1","Janti"); System.out.println("Nim = "+mhs1.nim); System.out.println("Nama = "+mhs1.nama); System.out.println("Jurusan = "+mhs1.jurusan); System.out.println("Alamat = "+mhs1.alamat); }}

Hasil outputnya :

Praktik 4 :

class A{ A(){ System.out.println("Konstruktor class A dieksekusi...."); }}class B{ B(){ System.out.println("Konstruktor class B dieksekusi...."); }}class C{ C(){ System.out.println("Konstruktor class C dieksekusi...."); }}public class Pewarisan { public static void main(String hanafi[]){ C subOb = new C();

Page 8: Pertemuan Ke 2

}}

Hasil outputnya:

Latihan :1. yang terajadi pada kelas person dan kelas mahasiswa program akan berjalan tanpa dengan

kendala error untuk kelas person tersebut yaitu sebelum diganti dengan private program tersebut akan error dikarenakan program ambigu mana tipe data yang akan dieksekusi pada waktu program berjalan dan untuk kelas mahasiswa pada atributnya akan bertambah soalnya di di extendskan pada Person artinya diturunkan otomatis apa yang tidak ada pada atribut kelas mahasiswa akan ada atribut yang dipunyai person.

2. Carannya pada class mahasiswa ditambahkan saja extends dan diikuti dengan nama kelasnya.

3.

public class Pegawai {private int nip;private String nama;private String alamat;private String departemen;private int gaji;public Pegawai(){ nip = 0; nama = ""; alamat = ""; departemen = ""; gaji = 0;}public Pegawai(int nip, String nama, String alamat, String departemen, int gaji){ this.nip = nip; this.nama = nama; this.alamat = alamat; this.departemen = departemen; this.gaji = gaji;}public int getNip(){ return nip;}public String getNama(){ return nama;}

Page 9: Pertemuan Ke 2

public String getAlamat(){ return alamat;}public String getDepartemen(){ return departemen;}public int getGaji(){ return gaji;}public void setNip(int nip){ this.nip = nip;}public void setNama(String nama){ this.nama = nama;}public void setAlamat(String alamat){ this.alamat = alamat;}public void setDepartemen(String departemen){ this.departemen = departemen;}public void setGaji(int gaji){ this.gaji = gaji;}public void info(){ System.out.println("Nip = "+nip); System.out.println("Nama = "+nama); System.out.println("Alamat = "+alamat); System.out.println("Departemen = "+departemen); System.out.println("Gaji = "+gaji);}

public static void main(String args[]){ Pegawai pg = new Pegawai(123,"haryanto","ngawi","Maju jaya",2000000); pg.info(); Pegawai pg1 = new Pegawai(124,"hanafi","ngawi","Maju Lancar",3000000); pg1.info(); Pegawai pg2 = new Pegawai(125,"nisa","yogyakarta","Maju dua",120000); pg2.info();}}

Hasil outputnya :

Page 10: Pertemuan Ke 2

Tugas :1.

binatang

namaumur maksimumjenis hewanekosistem

berkembang biak()jenis makanan()beranak atau bertelur()

unggas

namajenis unggasumur maksimumekosistem

berkembang biak()adaptasi dengan lingkungan()telur yang dikeluarkan minimum()

mamalia

namaumur maksimumekosistem

berkembang biak()mempunyai jumlah anak minimum()

2.Untuk kelas binatang :

public class Binatang {private String nama;private int umurmak;private String jh;private String ekosistem; /** * @param args the command line arguments */public Binatang(){ this.nama = ""; this.umurmak = 0; this.jh = ""; this.ekosistem = "";}public Binatang(String nama, int umurmak, String jenishewan, String ekosistem){

Page 11: Pertemuan Ke 2

this.nama = nama; this.umurmak = umurmak; this.jh = jenishewan; this.ekosistem = ekosistem;}public void info(){ System.out.println("Nama = "+nama); System.out.println("umur maksimum = "+umurmak); System.out.println("Jenis Hewan = "+jh); System.out.println("Ekosistem = "+ekosistem);} public static void main(String[] args) { // TODO code application logic here Binatang bn1 = new Binatang("wedus",5,"herbifora","darat"); bn1.info(); System.out.println("=========================="); Binatang bn2 = new Binatang("Bajul",12,"karnifora","dua alam"); bn2.info(); }}

Hasil outputnya :

Kelas Unggas :

public class Unggas {private String nama;private String ju;private int umurmak;private String ekosistem;public Unggas(){ this.nama = ""; this.ju = ""; this.umurmak = 0; this.ekosistem = "";}public Unggas(String nama, String ju, int umurmak, String ekosistem){ this.nama = nama; this.ju = ju; this.umurmak = umurmak; this.ekosistem = ekosistem;

Page 12: Pertemuan Ke 2

}public void info(){ System.out.println("Nama = "+nama); System.out.println("Jenis unggas = "+ju); System.out.println("Umur maksimal = "+umurmak); System.out.println("Ekosistem = "+ekosistem);}public static void main(String hanafi[]){ Unggas ng1 = new Unggas("Ayam","herbivora",3,"Darat"); ng1.info(); System.out.println("==============================="); Unggas ng2 = new Unggas("Burung","karnifora",2,"Darat"); ng2.info();}}

Hasil outputnya :

Kelas Mamalia :

public class Mamalia {private String nama;private int umurmak;private String ekosistem;public Mamalia(){ this.nama = ""; this.umurmak = 0; this.ekosistem = "";}public Mamalia(String nama, int umurmak, String ekosistem){ this.nama = nama; this.umurmak = umurmak; this.ekosistem = ekosistem;}public void info(){ System.out.println("Nama = "+nama); System.out.println("umur maksimal = "+umurmak); System.out.println("ekosistem = "+ekosistem);}public static void main(String hanafi[]){ Mamalia m1 = new Mamalia("Monyet",16,"Darat"); m1.info();

Page 13: Pertemuan Ke 2

System.out.println("============================="); Mamalia m2 = new Mamalia("Panda",24,"Darat"); m2.info();}}

Hasil outputnya :

3. Kelas final dan method finalDalam Java, juga memungkinkan untuk mendeklarasikan class-class yang tidak lama

menjadi subclass. Class ini dinamakan class final. Untuk mendeklarasikan class untuk

menjadi final kita hanya menambahkan kata kunci final dalam deklarasi class.

Ini memungkinkan dalam Java membuat method yang tidak dapat di-override.

Method inidapat kita panggil method final. Untuk mendeklarasikan method untuk

menjadi final, kita tambahkan kata kunci final ke dalam deklarasi method.

D. PEMBAHASAN TUGAS

Untuk kelas binatang :

public class Binatang {private String nama;private int umurmak;private String jh;private String ekosistem; /** * @param args the command line arguments *///Program diatas adalah untuk memberi tipe data pada atribut dimana tipe data tersebut untuk mengekseskusi atribut-atribut yang ada pada clas binatang

public Binatang(){ this.nama = ""; this.umurmak = 0; this.jh = ""; this.ekosistem = "";}//konstruktor yang ada diatas yaitu memberi nilai default pada program dimana user tidak memberi nilai atau masukan dari program maka program akan mendefault kosong

Page 14: Pertemuan Ke 2

public Binatang(String nama, int umurmak, String jenishewan, String ekosistem){ this.nama = nama; this.umurmak = umurmak; this.jh = jenishewan; this.ekosistem = ekosistem;}//Disinilah program akan membedakan masukan dari program dan kelas utama

public void info(){ System.out.println("Nama = "+nama); System.out.println("umur maksimum = "+umurmak); System.out.println("Jenis Hewan = "+jh); System.out.println("Ekosistem = "+ekosistem);}//untuk memberi hasil dari program dimana program tersebut dipanggil di program utama untuk menampilkan outputnya

public static void main(String[] args) { // TODO code application logic here Binatang bn1 = new Binatang("wedus",5,"herbifora","darat"); bn1.info(); System.out.println("=========================="); Binatang bn2 = new Binatang("Bajul",12,"karnifora","dua alam"); bn2.info(); }}// pada program utama kita membuat obyek dimana obyek tersebut untuk memberi isian sesuai dengan tipe data yang ada di class Binatang.

Untuk kelas Unggas dan kelas mamalia intinya sama Cuma beda atribut dan tipedatanya berarti pembahasan kedua tersebut sama dengan pada kelas bimatang saja.