job 11 sebenarnya

20
LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN JOBSHEET 11 PEMOGRAMAN BERORIENTASI OBYEK Disusun Oleh : MUHAMMAD ARIS HILMI 3.33.16.0.17/ TK-1A PROGRAM STUDI TEKNIK TELEKOMUNIKASI POLITEKNIK NEGERI SEMARANG TAHUN 2016/2017

Upload: polytechnic-state-semarang

Post on 24-Jan-2018

135 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Job 11 sebenarnya

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN

JOBSHEET 11

PEMOGRAMAN BERORIENTASI OBYEK

Disusun Oleh :

MUHAMMAD ARIS HILMI

3.33.16.0.17/ TK-1A

PROGRAM STUDI TEKNIK TELEKOMUNIKASI

POLITEKNIK NEGERI SEMARANG

TAHUN 2016/2017

Page 2: Job 11 sebenarnya

JOBSHEET 11

PEMOGRAMAN BERORIENTASI OBYEK

11.1 Tujuan Instruksional Khusus

Pada akhir kegiatan belajar, mahasiswa dapat :

1. menjelaskan OOP dan beberapa konsepnya

2. perbedaan antara class dan object

3. pebedaan antara instance variables/method dan class (static) variable/method

4. menjelaskan method apa dan bagaimana memanggil method parameter

5. mengidentifikasi beberapa jangkauan dari sebuah variable

6. memilih tipe data primitive dan object

7. membandingkan objects dan menjabarkan class dari objects.

11.2 Teori Pendahuluan

OOP berputar pada konsep dari object sebagai dasar element dari program anda. Ketika kita

membandingkan dengan dunia nyata, kita dapat menemukan beberapa objek disekitar kita,

seperti mobil, singa, manusia dan seterusnya. Object ini dikarakterisasi oleh sifat / attributnya

dan tingkah lakunya. Contohnya, objek sebuah mobil mempunyai sifat tipe transmisi, warna dan

manufaktur. Mempunyai kelakuan berbelok, mengerem dan berakselerasi. Dengan cara yang

sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa seperti pada

tabel 4.1 berikut ini :

Tabel 11.1 Obyek, properties dan behavior

Object Properties Behavior

Car Tipe transmisi Pabrikan

Warna

Membelok Mengerem

Menambah kecepatan

Lion Berat Warna

Lapar Buas

Mengaum Tidur

Berburu

Dengan deskripsi ini, objek pada dunia nyata dapat secara mudah dimodelisasi sebagai objek

software menggunakan sifat sebagai data dan tingkah laku sebagai method.

Page 3: Job 11 sebenarnya

Pada dunia software, sebuah objek adalah sebuah komponen software yang stukturnya mirip

dengan objek pada dunia nyata. Setiap objek dibuat dari satu set data (sifat) dimana variable

menjabarkan esensial karakter dari objek, dan juga terdiri dari satu set dari methode (tingkah

laku) yang menjabarkan bagaimana tingkah laku dari objek. Jadi objek adalah sebuah berkas

software dari variable dan method yg berhubungan. Variable dan methods dalam objek Java

scara formal diketahui sebagai instance variable dan instance methods untuk membedakannya

dari variable klas dan method klas, dimana akan dibahas kemudian.

Class adalah sturktur dasa dari OOP. Dia terdiri dari dua tipe dari anggota dimana disebut

dengan field (attribut/properti) dan method. Field mespesifikasi tipe data yang didefinisikan oleh

class, sementara methode spesifikasi dari operasi. Sebuah objek adalah sebuah instance pada

class. Untuk dapat membedakan antara class dan object, dapat dilihat dari sebuah class mobil

dimana dapat digunakan untuk medefinisikan beberapa object mobil. Pada tabel dibawah, mobil

A dan mobil B adalah objek dari kelas mobil. Kelas memiliki field plat nomer, warna,

manufaktur, dan kecepatan yang diisi dengan nilai korespondendi pada objek mobil A dan mobil

B. mobil juga dapat berakselerasi, berbelok dan mengerem.

Tabel 11.2 Sebuah Class dengan 2 buah Obyek

Class Mobil Obyek Mobil A Obyek Mobil B

Nomor Mobil H 1234 BC H 5678 AG

Warna Biru Hijau

Pabrikan Honda Toyota

Kecepatan 90 Km/jam 100 Km/jam

Method :

- Menambah Kecepatan

- Berbelok

- Mengerem

Method :

- Menambah Kecepatan

- Berbelok

- Mengerem

Method :

- Menambah Kecepatan

- Berbelok

- Mengerem

Ketika diinisialisi, tiap objek mendapat satu set baru dari state variable. Bagaimanapun,

implementasi dari method dibagi diantara objek pada kelas yang sama. Kelas menyediakan

keuntungan dari reusability. Software programmers dapat digunakan dari sebuah kelas lagi dan

lagi untuk membuat beberapa objek.

Page 4: Job 11 sebenarnya

11.2.1 Instansiasi class

Untuk membuat sebuah objek atau sebuah instance pada sebuah kelas dapat menggunakan

operator baru. Sebagai contoh, jika anda ingin membuat instance dari kelas string :

String str2 = new String(“Hello world!”);

11.2.2 Attribut

Dalam pendeklarasian atribut mempunyai format sbb :

<modifier> <type> <name> [= <default_value>];

Contohnya,

public class StudentRecord

{

private String name;

private String address;

private int age;

private double mathGrade;

private double englishGrade;

private double scienceGrade;

private double average;

}

11.2.3 Method

Pada contoh yang telah kita diskusikan sebelumnya, kita hanya memiliki satu method, dan itu

adalah main() method. Didalam Java, kita dapat mendefinisikan beberapa method yang akan kita

panggil dari method yang berbeda.

Sebuah method adalah bagian terpisah dari kode yang akan dipanggil oleh program utama dan

beberapa method lainnya untuk menunjukkan beberapa fungsi spesifik.

Berikut adalah karakteristik dari method :

1. dapat mengembalikan satu atau tidak ada nilai

2. dia mungkin dapat diterima sebagai beberapa parameter yang dibutuhkan atau tidak ada

arameter sama sekali. Parameter juga disebut sebagai fungsi argument

3. setelah method telah selesai dieksekusi, dia akan kembali pada method yang

memanggilnya.

11.2.4 Constructor

Page 5: Job 11 sebenarnya

Constructor adalah method dimana seluruh inisialisasi object ditempatkan. Berikut ini adalah

property dari Constructor :

1. Constructor memiliki nama yang sama dengan class

2. Sebuah Constructor mirip dengan method pada umumnya, namun hanya informasi –

informasi berikut yang dapat ditempatkan pada header sebuah constructor, scope atau

identifikasi pengaksesan (misal: public), nama dari konstuktor dan parameter.

3. Constructor tidak memiliki return value

4. Constructor tidak dapat dipanggil secara langsung, namun harus dipanggil dengan

menggunakan operator new pada pembentukan sebuah class.

11.3 Peralatan dan Bahan

1. Komputer dengan konfigurasi minimal

a. Prosesor P-II atau yang lebih tinggi

b. RAM minimal 32 MB

c. Free space hardisk minimal 200 MB

d. Windows 98)

2. Software J2SE dan JCreator

11.4 Langkah Kerja

1. Buat program dibawah ini dengan nama Lingkaran.,java

public class Lingkaran

{

private double radius;

//Konstruktor1

public Lingkaran()

{

radius = 1.0;

}

//Konstruktor2

public Lingkaran(double d)

{

this();

setRadius(d);

}

public void setRadius(double r)

Page 6: Job 11 sebenarnya

{

if (r>0)

radius = r;

}

public double getRadius()

{

return radius;

}

public double luas()

{

return 3.14*radius*radius;

}

public double keliling()

{

return 2*3.14*radius ;

}

}

2. Buatlah program untuk membuat obyek TestLingkaran1 dalam foleder yang sama dengan

class Lingkaran berikut ini :

public class TestLingkaran1

{

public static void main(String[] args)

{

Lingkaran abc = new Lingkaran();

System.out.println("Hasil dari object Lingkaran ABC");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+abc.getRadius());

System.out.println("Luas Lingkaran : "+abc.luas());

System.out.println("Keliling Lingkaran : "+abc.keliling());

}

}

3. Buatlah program untuk membuat obyek TestLingkaran2 yang dapat memanggil class

Lingkaran berikut ini :

public class TestLingkaran2

{

public static void main(String[] args)

{

Lingkaran xyz = new Lingkaran();

xyz.setRadius((int)(1+Math.random()*100));

System.out.println("Hasil dari object Lingkaran XYZ");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+xyz.getRadius());

System.out.println("Luas Lingkaran : "+xyz.luas());

System.out.println("Keliling Lingkaran : "+xyz.keliling());

System.out.println();

Page 7: Job 11 sebenarnya

}

}

4. Buatlah program untuk membuat obyek TestLingkaran3 yang dapat memanggil class

Lingkaran berikut ini :

public class TestLingkaran3

{

public static void main(String[] args)

{

Lingkaran abc = new Lingkaran();

Lingkaran xyz = new Lingkaran(3);

Lingkaran jkl = new Lingkaran(5);

System.out.println("Hasil dari object Lingkaran ABC");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+abc.getRadius());

System.out.println("Luas Lingkaran : "+abc.luas());

System.out.println("Keliling Lingkaran : "+abc.keliling());

System.out.println();

System.out.println("Hasil dari object Lingkaran XYZ");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+xyz.getRadius());

System.out.println("Luas Lingkaran : "+xyz.luas());

System.out.println("Keliling Lingkaran : "+xyz.keliling());

System.out.println();

System.out.println("Hasil dari object Lingkaran JKL");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+jkl.getRadius());

System.out.println("Luas Lingkaran : "+jkl.luas());

System.out.println("Keliling Lingkaran : "+jkl.keliling());

System.out.println();

}

}

5. Buatlah program dengan nama Silinder.java yang satu folder dengan Lingkaran. Class

Silinder merupakan anak dari class lingkaran.

public class Silinder extends Lingkaran

{

private double tinggi;

public Silinder()

{

super();

tinggi = 1.0;

}

public Silinder(double t)

{

this();

Page 8: Job 11 sebenarnya

setTinggi(t);

}

public Silinder(double r, double t)

{

super(r);

setTinggi(t);

}

public void setTinggi(double t)

{

if (t>0)

tinggi = t;

}

public double getTinggi()

{

return Tinggi;

}

public double luas()

{

double luas1=2*super.luas();

double luas2= tinggi*super.keliling();

return luas1 + luas2;

}

public double volume()

{

return tinggi*super.luas();

}

}

Implementasi class Silender

public class TestSilinder

{

public static void main(String[] args)

{

Silinder abc = new Silinder();

Silinder xyz = new Silinder(5);

Silinder jkl = new Silinder(3,7);

System.out.println("Hasil dari object Silinder ABC");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+abc.getRadius());

System.out.println("Tinggi Silinder : "+abc.getTinggi());

System.out.println("Luas Lingkaran : "+abc.luas());

System.out.println("Volume Silinder : "+abc.volume());

System.out.println();

System.out.println("Hasil dari object Silinder XYZ");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+xyz.getRadius());

System.out.println("Tinggi Silinder : "+xyz.getTinggi());

Page 9: Job 11 sebenarnya

System.out.println("Luas Lingkaran : "+xyz.luas());

System.out.println("Volume Silinder : "+xyz.volume());

System.out.println();

System.out.println("Hasil dari object Silinder JLK");

System.out.println("-------------------------------");

System.out.println("Radius Lingkaran : "+jlk.getRadius());

System.out.println("Tinggi Silinder : "+jlk.getTinggi());

System.out.println("Luas Lingkaran : "+jlk.luas());

System.out.println("Volume Silinder : "+jlk.volume());

System.out.println();

}

}

11.5 Lembar Kerja

No Nama File Hasil Keluaran

1 Prog Lingkaran

2 TestLingkaran1

3 TestLingkaran2

Page 10: Job 11 sebenarnya

4 TestLingkaran3

5 Silinder.java

11.6 Pertanyaan dan Tugas

1. Dengan kata-kata Anda sendiri, definisikan istilah- istilah berikut ini :

a. Class b. Object c. Instantiate

d. Instance Variable e. Instance Method

f. Class Variables atau static member variables g. Constructor

2. Lengkapilah class StudentRecord dan StudentRecordExample berikut ini agar dapat digunakan untuk menampilkan 5 buah obyek.

public class StudentRecord

Page 11: Job 11 sebenarnya

{

private String name;

private String address;

private int age;

private double mathGrade;

private double englishGrade;

private double scienceGrade;

private double average;

private static int studentCount;

/**

* Menghasilkan nama dari Siswa

*/

public String getName(){

return name;

}

/**

* Mengubah nama siswa

*/

public void setName( String temp ){

name = temp;

}

// area penulisan kode lain

/**

* Menghitung rata – rata nilai Matematik, Bahasa Inggris, * * Ilmu

Pasti

*/

public double getAverage(){

double result = 0;

result = ( mathGrade+englishGrade+scienceGrade )/3;

return result;

}

/**

* Menghasilkan jumlah instance StudentRecord

*/

public static int getStudentCount(){

return studentCount;

}

}

Class Student Record Example :

public class StudentRecordExample

{

public static void main( String[] args )

{

//membuat 3 object StudentRecord

StudentRecord annaRecord = new StudentRecord();

StudentRecord beahRecord = new StudentRecord();

StudentRecord crisRecord = new StudentRecord();

//Memberi nama siswa

annaRecord.setName("Anna");

beahRecord.setName("Beah");

crisRecord.setName("Cris");

//Menampilkan nama siswa “Anna”

System.out.println( annaRecord.getName() );

//Menampilkan jumlah siswa

System.out.println("Count="+StudentRecord.getStudentCount()

);

Page 12: Job 11 sebenarnya

} }

3. Buatlah sebuah class yang memuat data-data pada buku alamat. Tabel berikut

mendefinisikan informasi yang dimiliki oleh buku alamat.

Nama : Nama Lengkap perseorangan

Alamat : Alamat Lengkap

Nomor Telepon : Nomor telepon personal

Alamat E-Mail : Alamat E-Mail personal

Buat implementasi dari method sebagai berikut :

1. Menyediakan accessor dan mutator method terhadap seluruh atribut

2. Constructor

JAWAB

1. Dengan kata-kata Anda sendiri, definisikan istilah-istilah berikut ini :

h. Class = pemodelan dari objek yang menejelaskan data (sifat karakteristik data) dan

fungsi yang dimiliki suatu objek.

i. Object = sebuah eniti yang memiliki keadaan,behavior,dan indentitas yang tugasnya

dirumuskan dalam satu lingkup masalah dengan baik.

j. Instantiate =Proses pembuatan obyek spesifik yang merupakan anggota atau instan

dari kelas.

k. Instance Variable /(tidak statis) = Variable yang memiliki nilai yang berbeda di setiap instance variable., dan atribut untuk setiap objek dari class yang sama

Page 13: Job 11 sebenarnya

l. Instance Method= methode hanya bisa dibaca setelah class tersebut diturunkan ke object,. Dan juga berfungsi sebagai memanipulasi state objek lewat pesan yang

diterima oleh objek lain.

m. Class Variables atau static member variables Constructor = sifatnya variable ini

bersifat keseluruhan/global dan variable ini bagian dari integral dari suatu kelas,dan tidak ada satu objek pun yang menyatakan kepemilikan atas variable ini.

2. Lengkapilah class StudentRecord dan StudentRecordExample berikut ini agar dapat

digunakan untuk menampilkan 5 buah obyek

Melngkapi dan hasilnya (StudentRecordExample) :

Flow chart lengkapnya :

Page 14: Job 11 sebenarnya

Out putnya :

Page 15: Job 11 sebenarnya

Melengkapi dan hasil StudentRecordExample (5 buah obyek dan 3 contoh):

Flow chartnya :

Page 16: Job 11 sebenarnya

Output-nya :

Page 17: Job 11 sebenarnya

4. Buatlah sebuah class yang memuat data-data pada buku alamat. Tabel berikut

mendefinisikan informasi yang dimiliki oleh buku alamat.

Nama : Nama Lengkap perseorangan

Alamat : Alamat Lengkap

Nomor Telepon : Nomor telepon personal

Alamat E-Mail : Alamat E-Mail personal

Buat implementasi dari method sebagai berikut :

1. Menyediakan accessor dan mutator method terhadap seluruh atribut

2. Constructor

Memuat data-data pada buku alamat berikut :

Bagian Recorder data

public class bukualamat

{

// inisialisasi atribut

private String Nama;

private int Umur;

private double Gaji;

private double Nilai;

private String Alamat;

private String Email;

private static int pegawaiCount;

//Konstruktor Record

public bukualamat( String n, int a, double h, double p, String k , String v)

{

Page 18: Job 11 sebenarnya

setNama(n);

setUmur(a);

setGaji(h);

setNilai(p);

setAlamat(k);

setEmail(v);

pegawaiCount++;

}

// set get Name

public void setNama( String n)

{ Nama = n;}

public String getNama()

{ return Nama;}

// set get Umur

public void setUmur( int a)

{ Umur = a;}

public int getUmur()

{ return Umur;}

// set get Nilai

public void setGaji( double h)

{ Gaji = h;}

public double getGaji()

{ return Gaji;}

// set get Nilai

public void setNilai( double p)

{ Nilai = p;}

public double getNilai()

{ return Nilai;}

public void setAlamat( String k)

{ Alamat = k;}

Page 19: Job 11 sebenarnya

public String getAlamat()

{ return Alamat;}

// set get Nilai

public void setEmail( String v)

{ Email = v;}

public String getEmail()

{ return Email;}

//konstruktor Count

public static int pegawaiCount()

{ return pegawaiCount;}

}

Bagian keluaran ytampilan recorder

public class bukualamat1

{

public static void main(String[] args)

{

bukualamat tukiyem = new bukualamat("TUKIYEM",12,123123,23, "jalan negara 1",

"[email protected]");

bukualamat pardi = new bukualamat("PARDI",23,12312,32, "jalan qwerty 12 ","

[email protected]");

bukualamat tukinah = new bukualamat("TUKINAH",32,13232,43,"jalan wkwkland

13","[email protected]");

System.out.println();

System.out.println(" == Data Pegawai ==");

System.out.println("\n");

System.out.println(" Update 03/04/17");

System.out.println(" ========================================");

System.out.println(" | Nama Pegawai | Umur | Gaji | Nilai | Alamat | Email |");

Page 20: Job 11 sebenarnya

System.out.println(" ========================================");

System.out.println(" | "+tukiyem.getNama()+" | "+tukiyem.getUmur()+" |

"+tukiyem.getGaji()+" | "+tukiyem.getNilai()+" | "+tukiyem.getAlamat()+" |

"+tukiyem.getEmail()+" | " );

System.out.println(" ----------------------------------------");

System.out.println(" | "+pardi.getNama()+" | "+pardi.getUmur()+" |

"+pardi.getGaji()+" | "+pardi.getNilai()+" | "+pardi.getAlamat()+" |

"+pardi.getEmail()+" | " );

System.out.println(" ----------------------------------------");

System.out.println(" | "+tukinah.getNama()+" | "+tukinah.getUmur()+" |

"+tukinah.getGaji()+" | " +tukinah.getNilai()+" | " +tukinah.getAlamat()+" | "

+tukinah.getEmail()+" | " );

System.out.println(" ========================================");

System.out.println();

System.out.println( " Jumlah pegawai saat ini = " +bukualamat.pegawaiCount()+ "

orang" );

System.out.println();

}

}