• Tidak ada hasil yang ditemukan

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP."

Copied!
17
0
0

Teks penuh

(1)

PERTEMUAN 5

OOP

Objektif :

y Praktikan mengetahui konsep OOP.

(2)

KONSEP OOP

Dalam pemrograman berorientasi objek, fokus utama a dalah pada objek. Metodologi pengembangan sistem berorientasi objek mempunyai ti ga karakteristik utama, yaitu : y Enkapsulasi(Pembungkusan)

y Inheritansi y Polimorfisme

2 Pemrograman Berbasis Objek - 2011

(3)

ENKAPSULASI

y Enkapsulasi adalah pelindung program dan data yang sedang diolah.

y Enkapsulasi mendefinisikan perilaku dan melindungi program dan data agar tidak diakses secara sembarangan oleh program lain. Dalam Java, dasar enkapsulasi adalah class.

Tipe akses class atau method :

1. Public : dapat diakses oleh sembarang class.

2. Private : hanya dapat diakses dari dalam objek class itu sendiri (tidak dapat diakses oleh class lain). 3. Protected : hanya dapat diakses dari dalam objek class tersebut dan objek kelas turunannya.

Contoh :

class Encapsulation {

private int secret; //field tersembunyi public boolean setSecret(int secret) { if (secret < 1 || secret > 100) { return false; } this.secret = secret; return true; } public getSecret() { return secret; } }

(4)

INHERITANCE

Pewarisan adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data atau atribut dan metode dari induknya langsung. Objek-objek yang berada di sekitar kita adalah objek-objek yang saling terhubung secara hirarkis. Misalnya :

Lingkaran dan Bujur Sangkar adalah turunan dari bentuk 2D dan Bentuk 2D adalah turunan dari Objek Gambar Lingkaran dan Bujur Sangkar mewarisi(inherit) sifat – sifat dari bentuk 2D, juga mewarisi sifat – sifat dari objek gambar Lingkaran dan Bujur Sangkar dapat dikatakan subclass dari bentuk 2D. Bentuk 3D adalah superclass dari Bola dan Piramida, dan seterusnya.

4 Pemrograman Berbasis Objek - 2011

(5)

Contoh Inheritance :

class Box {

double width; double height; double depth; Box() { }

Box(double w, double h, double d)

{ width = w; height = h; depth = d; } void getVolume()

{ System.out.println("Volume is : " + width * height * depth); } }

public class MatchBox extends Box {

double weight; MatchBox() { }

MatchBox(double w, double h, double d, double m) { super(w, h, d); <font size=-1> weight = m; } public static void main(String args[])

{ MatchBox mb1 = new MatchBox(10, 10, 10, 10); mb1.getVolume();

System.out.println("width of MatchBox 1 is " + mb1.width); System.out.println("height of MatchBox 1 is " + mb1.height); System.out.println("depth of MatchBox 1 is " + mb1.depth); System.out.println("weight of MatchBox 1 is " + mb1.weight); }

(6)

Output : Volume is : 1000.0 width of MatchBox 1 is 10.0 height of MatchBox 1 is 10.0 depth of MatchBox 1 is 10.0 weight of MatchBox 1 is 10.0 6 Pemrograman Berbasis Objek - 2011

(7)

JENIS RELASI

y Asosiasi

Hubungan / relasi antar dua object secara umum y Agregasi

Agregasi merupakan hubungan antara satu object dengan object lainnya dimana object satu dengan object lainnya sebenarnya terpisah namun disatukan, sehingga tidak terjadi kebergantungan (Object lain bisa ada walau object penampungnya tidak ada).

y Komposisi

Serupa dengan agregasi hanya saja, terdapat ketergantungan dari salah satuobject.

Penerapan Relasi pada Java :

1. Extennds (is-a)

Class Engineer extend Person() { ... } 2. Composition (has-a) Class Engineer() {

private Person person; }

(8)

POLYMORPHISME

y Arti harfiah dari polimorfisme adalah objek yang memiliki banyak bentuk.

y Deklarasi method sama tetapi implementasi atau definisinya berbeda (Method atau perilaku yang sama tapi implementasinya atau caranya yang berbeda-beda inilah yang disebut dengan Polimorfisme).

Polymorphisme terdiri dari tiga jenis : 1. Overloading

2. Overridding

3. Dynamic Method Binding

8 Pemrograman Berbasis Objek - 2011

(9)

OVERLOADING

Kemampuan sebuah method untuk memiliki parameter yang berbeda. Contoh :

public abstract class Animal // class is abstract {

private String name;

public Animal(String nm) // constructor method { name=nm; }

public String getName() // regular method { return (name); }

public abstract void speak(); // abstract method - note no {} }

(10)

OVERRIDDING

Kemampuan subClass untuk melakukan implementasi tersendiri dari sebuah method yang sudah didefini sikan di superClass.

Contoh :

public abstract class Animal // class is abstract {

private String name;

public Animal(String nm) // constructor method { name=nm; }

public String getName() // regular method { return (name); }

public abstract void speak(); // abstract method - note no {} }

10 Pemrograman Berbasis Objek - 2011

(11)

DINAMIC METHOD BINDING

Kemampuan superClass untuk menentukan method yang akan dijalankan pada subClass yangberbeda. Contoh :

public class AnimalReference {

public static void main(String args[]) Animal ref // set up var for an Animal

Cow aCow = new Cow("Bossy"); // makes specific objects Dog aDog = new Dog("Rover");

Snake aSnake = new Snake("Ernie");

// now reference each as an Animal ref = aCow; ref.speak();

ref = aDog; ref.speak(); ref = aSnake; ref.speak(); }

(12)

Latihan Program

Berikut ini adalah contoh program sederhana enkapsulasi. Ikutilah langkah-langkah berikut : Step 1 :

Buka dan ketikan program pada teks editor notepad++ Anda.

y Simpan nama file pertama sama seperti nama classnya, yaitu : Vehicle.java Misal disimpan pada direktori D Æ folder “praktikan” Æ Vehicle.java

y Ketikkan program berikut pada teks editor Anda. *Deklarasikan class

……… {

*Deklarasikan variabel load dan maxLoad bertipe double bersifat public ………

public Vehicle(double maxLoad) {

maxLoad = maxLoad + load; }

public double getLoad() {

return load; }

public double getMaxLoad() {

return maxLoad; }

}

12 Pemrograman Berbasis Objek - 2011

(13)

y Ketikan file kedua dan simpan pada tempat yang sama dengan file pertama. Simpan file kedua dengan nama TestVehicle.java Berikut isi program file kedua.

*Deklarasikan class

……… {

public static void main(String[] args) {

System.out.println("Creating a vehicle with a 10,000kg maximum load."); Vehicle vehicle = new Vehicle(10000.0);

System.out.println("Add box #1 (500kg)"); vehicle.load = vehicle.load + 500.0; System.out.println("Add box #2 (250kg)"); vehicle.load = vehicle.load + 250.0; System.out.println("Add box #3 (5000kg)"); vehicle.load = vehicle.load + 5000.0; System.out.println("Add box #4 (4000kg)"); vehicle.load = vehicle.load + 4000.0; System.out.println("Add box #4 (300kg)"); vehicle.load = vehicle.load + 300.0; *Cetak Hasil

………("Vehicle load is = " +vehicle.getLoad() + "kg"); }

(14)

Step 2 :

Ikuti langkah berikut untuk meng-compile program yang telah Anda buat. y Buka command prompt Anda.

y Masuk ke direktori dan folder tempat program tersebut disimpan. Misal program disimpan pada direktori D Æ folder “praktikan” Perintah masuk/pindah ke direktori D, ketik Î D:

Perintah masuk ke folder “praktikan”, ketik Î cd<spasi>praktikan

y Setelah masuk ke direktori dan folder yang dituju, untuk meng-compile program Anda ketikkan perintah :

javac<spasi> TestVehicle.java Contoh :

javac TestVehicle.java Step 3 :

Untuk menjalankan program yang telah Anda buat, ketikkan perintah : java<spasi>NamaFile

Contoh :

java TestVehicle

14 Pemrograman Berbasis Objek - 2011

(15)
(16)

Koreksi Latihan Program

y Simpan nama file pertama sama seperti nama classnya, yaitu : Vehicle.java

public class Vehicle {

public double load, maxLoad; public Vehicle(double maxLoad) {

maxLoad = maxLoad + load; }

public double getLoad() {

return load; }

public double getMaxLoad() {

return maxLoad; }

}

(17)

y Ketikan file kedua dan simpan pada tempat yang sama dengan file pertama. Simpan file kedua dengan nama TestVehicle.java Berikut isi program file kedua.

public class TestVehicle {

public static void main(String[] args) {

System.out.println("Creating a vehicle with a 10,000kg maximum load."); Vehicle vehicle = new Vehicle(10000.0);

System.out.println("Add box #1 (500kg)"); vehicle.load = vehicle.load + 500.0; System.out.println("Add box #2 (250kg)"); vehicle.load = vehicle.load + 250.0; System.out.println("Add box #3 (5000kg)"); vehicle.load = vehicle.load + 5000.0; System.out.println("Add box #4 (4000kg)"); vehicle.load = vehicle.load + 4000.0; System.out.println("Add box #4 (300kg)"); vehicle.load = vehicle.load + 300.0;

System.out.println("Vehicle load is = " +vehicle.getLoad() + "kg"); }

Referensi

Dokumen terkait

Waluyo (2003: 17) menambahkan, tema adalah gagasan pokok (subjek- matter) yang dikemukakan oleh penyair melalui puisinya. Tema merupakan inti pokok dari sebuah

Dari hasil pengamatan di lapangan ditemukan permasalahan pengembangan koperasi, antara lain: 1) lemahnya kualitas sumberdaya manusia khususnya kualitas manajemen; 2) koperasi

Digital Global Maxinema ini, sebagai individu akademis yang melakukan kegiatan kerja praktik, peserta kegiatan kerja praktik mendapatkan tugas untuk membuat

ABSTRAK' Penelitian ini bertujuan untuk mengetahui pengaruh Lokasi, Harga dan Label Halal Terhadap Keputusan Pembelian Produk Wardah Malang. Jenis penelitian ini adalah

Dari hasil penelitian ini juga diperoleh kesimpulan bahwa telah terjadi perubahan konsep aron dalam bidang pertanian pada masyarakat Karo.. Dulunya aron yang bekerja

 Potong roti sesuai soal yang ada lalu gambarlah dan beri arsiran pada gambar kalian sesuai dengan jawaban hasil dari diskusi kelompok pada kolom

Public Relation adalah suatu fungsi manajemen yang menilai sikap publik, menunjukan kebijaksaan dan prosedur dari individu atau organisasi atas dasar

Sebaliknya kekristenan telah memandang Islam sebagai agama sesat, satu sama lain saling memisahkan diri untuk sebagian besar waktu, sehingga timbul kecurigaan,