Pemrograman Berorientasi...

17
Pemrograman berorientasi objek – [email protected] Page 1 Pemrograman Berorientasi Objek Class, Object, Method Pada Java Dalam pemrograman tradisional atau prosedural, seluruh data dan kode digabung menjadi satu bagian dalam satu program. Untuk membuat program-program sederhana, penggunaan jenis pemrograman procedural tidak menjadi masalah. Namun masalah akan muncul ketika program yang dibuat berkembang lebih besar dan kompleks. Hal inilah yang menjadi awal dibuatnya model pemrograman berorientasi objek. Pada pemrograman berorientasi objek, komponen-komponen penyusun program secara konseptual akan dipecah menjadi bagian-bagian tersendiri yang disebut dengan objek. Dalam pemrograman berorientasi objek, setiap objek akan memiliki data berupa variable maupun konstanta, dan memiliki method berupa fungsi. Sehingga objek dapat didefinisikan sebagai suatu entitas yang memiliki data dan method. Kelebihan Pemrograman Berorientasi Objek Objek-objeknya dapat digunakan ulang (reuseable) untuk program-program lain Programnya lebih terstruktur dan lebih mudah untuk dikembangkan Bersifat natural karena perilaku dan sifat-sifat objek didalam program akan disesuaikan dengan objek-objek nyata yang ada di alam sekitar kita. Kelas (Class) dan Objek (Object) Hewan adalah suatu objek yang memiliki data-data berupa nama jenis hewan, jenis kelamin hewan, berat badan, jenis makanan dan yang lainnya. Sedangkan untuk

Transcript of Pemrograman Berorientasi...

Pemrograman berorientasi objek – [email protected] Page 1

Pemrograman Berorientasi Objek

Class, Object, Method Pada Java

Dalam pemrograman tradisional atau prosedural, seluruh data dan kode digabung

menjadi satu bagian dalam satu program. Untuk membuat program-program sederhana,

penggunaan jenis pemrograman procedural tidak menjadi masalah. Namun masalah akan

muncul ketika program yang dibuat berkembang lebih besar dan kompleks. Hal inilah yang

menjadi awal dibuatnya model pemrograman berorientasi objek.

Pada pemrograman berorientasi objek, komponen-komponen penyusun program

secara konseptual akan dipecah menjadi bagian-bagian tersendiri yang disebut dengan

objek.

Dalam pemrograman berorientasi objek, setiap objek akan memiliki data berupa

variable maupun konstanta, dan memiliki method berupa fungsi. Sehingga objek dapat

didefinisikan sebagai suatu entitas yang memiliki data dan method.

Kelebihan Pemrograman Berorientasi Objek

Objek-objeknya dapat digunakan ulang (reuseable) untuk program-program lain

Programnya lebih terstruktur dan lebih mudah untuk dikembangkan

Bersifat natural karena perilaku dan sifat-sifat objek didalam program akan disesuaikan

dengan objek-objek nyata yang ada di alam sekitar kita.

Kelas (Class) dan Objek (Object)

Hewan adalah suatu objek yang memiliki data-data berupa nama jenis hewan, jenis

kelamin hewan, berat badan, jenis makanan dan yang lainnya. Sedangkan untuk

Pemrograman berorientasi objek – [email protected] Page 2

methodnya, hewan memiliki cara berkembangbiak, cara mencari makanan, cara bertahan

hidup dan sebagainya. Contoh lainnya adalah manusia sebagai objek dengan data-data

berupa nama, jenis kelamin, tinggi badan, berat badan, usia dan yang lainnya. Untuk

methodnya manusia memiliki cara bicara, cara berjalan, cara tertawa dan yang lainnya.

Objek dalam pemrograman berorientasi objek diabstraksikan menjadi sebuah kelas.

Kelas dapat didefinisikan sebagai blueprint atau kerangka yang mendefinisikan variable-

variabel dan method umum dari sebuah objek tertentu. Karena kelas bersifat abstrak,

ketika membuat sebuah kelas baru maka kita telah mendefinisikan tipe data baru. Sekali

didefinisikan, tipe data baru tersebut dapat digunakan untuk membuat suatu objek dari

tipe tersebut. Dengan kata lain, kelas merupakan pola (template) untuk pembuatan objek,

dan objek adalah wujud nyata (instance) dari sebuah kelas. Sebagai contoh, sebuah kelas

manusia memiliki instance berupa nama-nama atau wujud dari manusia, seperti Udin,

Kabayan, Iteung dan yang lainnya.

Modifier

Merupakan sifat yang dimiliki oleh setiap atribut, method maupun kelas dalam java.

Modifier akses adalah modifier yang selalu digunakan. Modifier akses terdiri dari private,

default, protected, public. Selain itu ada pula modifier final, static, abstract, synchronized,

native, dan storage (transient, volatile).

Deklarasi Kelas

Dalam pemrograman java, kelas didefinisikan dengan kata kunci class. Untuk menyimpan

file, simpan dengan nama yang sama seperti nama kelas yang digunakan dalam file

tersebut. Kemudian didalam java ada aturan tersendiri untuk pemberian nama class, yaitu

harus diawali dengan huruf besar untuk membedakan antara class dan objek.

Berikut adalah bentuk umum dari pendeklarasian class pada java :

[modifier] class nama_class {

[deklarasi_atribut]

[deklarasi_konstruktor]

[deklarasi_metode]

}

Deklarasi Atribut

Atribut merupakan karateristik yang dimiliki oleh objek. Deklarasi atribut dibutuhkan

kelas untuk membentuk objek dan diletakkan didalam class body atau diluar method.

Berikut adalah pendeklarasian atribut pada java :

- Atribut tanpa inisialisasi :

- Atribut dengan inisialisasi :

Contoh pendeklarasian atribut :

[modifier] tipedata nama_atribut ;

[modifier] tipedata nama_atribut = nilai;

private String nama;

String warna = “hijau”;

Pemrograman berorientasi objek – [email protected] Page 3

[modifier] tipe_nilaiKembali nama_method (parameter input) {

Method body;

}

void nama_method (parameter input) {

Method body;

}

public int LuasPersegi() {

int luas = sisi * sisi;

return luas;

}

}

public int LuasPersegi(int sisi) {

return sisi * sisi;

}

Deklarasi Method

Merupakan tingkah laku yang dimiliki oleh objek. Method digunakan untuk

memodularisasi program pemisah satu tugas menjadi satu unit tersendiri. Didalam java

terdapat dua buah method, yaitu :

a. Fungsi. Merupakan method yang memiliki nilai balik jika method tersebut dipanggil.

Cara pembuatan sebuah fungsi adalah dengan cara menentukan nilai baliknya,

kemudian nama methodnya.

b. Prosedur. Merupakan method yang tidak mengembalikan nilai. Cara pembuatan

prosedur sama dengan fungsi, namun bedanya adalah pada prosedur menggunakan

kata kunci void.

Berikut adalah pendeklarasian method pada java :

- Method fungsi tanpa parameter :

- Method fungsi menggunakan parameter :

- Method prosedur tanpa parameter :

- Method prosedur menggunakan parameter :

Contoh pendeklarasian method :

- Method fungsi tanpa parameter :

- Method fungsi menggunakan parameter :

[modifier] tipe_nilaiKembali nama_method () {

Method body;

}

void nama_method () {

Method body;

}

Pemrograman berorientasi objek – [email protected] Page 4

void LuasPersegi() {

System.out.println(“Luas Persegi = ” + (sisi *

sisi));

}

void LuasPersegi(int s) {

sisi = s;

}

get namaInstanceVariabel

public class Persegi{

private int sisi;

public int getSisi(){

return sisi;

}

}

set namaInstanceVariabel

public class Persegi{

private int sisi;

public void setSisi(int temp){

sisi = temp;

}

}

- Method prosedur tanpa parameter :

- Method prosedur menggunakan parameter :

Accessor Method

Accessor method digunakan untuk membaca nilai variable pada class, baik berupa instance

maupun static.

Berikut penulisan accessor method :

Contoh pendeklarasian accessor method :

Mutator Method

Mutator method digunakan untuk memberi atau mengubah variable dalam class oleh

object lain.

Berikut penulisan mutator method :

Contoh pendeklarasian mutator method :

Pemrograman berorientasi objek – [email protected] Page 5

nama_class nama_object;

nama_object = new nama_constructor();

Kotak k = new Kotak();

Kotak k;

k = new Kotak();

Object

Object adalah instance atau representasi nyata dari sebuah kelas. Sebuah kelas bisa

memiliki banyak object, setiap object mempunyai sifat yang sama persisi seperti yang

didefinisikan dalam kelas tersebut. Untuk pemberian nama sebuah object diawali dengan

huruf kecil.

Berikut adalah pendeklarasian object pada java :

Contoh pendeklarasian object :

Kata kunci this

Java menyediakan kata kunci this yang merupakan referensi ke object yang sedang aktif.

This digunakan didalam method untuk mewakili nama kelas bersangkutan.

Berikut adalah pendeklarasian kata kunci this :

Contoh kode java yang tidak menggunakan kata kunci this :

Contoh kode java yang menggunakan kata kunci this :

Class PersegiPanjang{

double panjang, lebar;

PersegiPanjang(double p, double l){

this.panjang = p;

this.lebar = l;

}

}

nama_class nama_object = new nama_constructor();

Class PersegiPanjang{

double panjang, lebar;

PersegiPanjang(double p, double l){

panjang = p;

lebar = l;

}

}

this.namaInstanceVariabel

Pemrograman berorientasi objek – [email protected] Page 6

Java tidak mengizinkan pendeklarasian variable dengan nama yang sama didalam satu blok

tertentu. Disisi lain, java memperbolehkan untuk mendeklarasikan nama parameter yang

sama dengan nama data yang terdapat didalam kelas. Namun nama variable local secara

otomatis akan menimpa nama data yang terdapat didalam kelas yang bersangkutan. Untuk

menghindari penimpaan variable tersebut, maka digunakanlah kata kunci this. Akan tetapi

programmer akan menghindari penggunaan kata kunci this karena lebih membingungkan,

sehingga untuk kesamaan nama parameter dan data didalam kelas juga akan dihindari.

Pemrograman berorientasi objek – [email protected] Page 7

Overloading Method, Constructor Dan Access Modifier

Overloading Method

Dalam satu class dapat mendefinisikan lebih dari satu method dengan nama yang sama

tetapi parameter yang dideklarasikan harus berbeda baik itu jumlahnya ataupun tipe

parameternya.

Jenis-jenis method overloading:

1. Jumlah parameter beda, tipe beda

2. Jumlah parameter sama, tipe beda

3. Jumlah parameter beda, tipe sama

Syarat-syarat overloading:

1. Dalam sebuah kelas diperbolehkan lebih dari satu method dengan nama yang sama

dengn catatan method dapat dibedakan berdasarkan banyaknya parameter atau tipe

data parameter.

2. Overloading tidak bisa dilakukan dengan membedakan nilai kembaliannya.

3. Overloading juga bisa dilakukan pada sub kelasnya.

Contoh method yang mengalami overloading:

Method yang di Overload :

myMethod(String s, int i, float f)

Method yang mengOverload (LEGAL)

myMethod()

Jumlah arugument berbeda

myMethod(int i)

Jumlah arugument berbeda

myMethod(String s1, String s2, String s3)

Jumlah arugument berbeda,

tapi urut-urutan tipe data

berbeda

myMethod(String s, float f, int i)

Jumlah arugument berbeda,

tapi urut-urutan tipe data

berbeda

Method yang mengoverload (ILEGAL)

myMethod(String s, int i, float f)

Jumlah argument sama, urut-

urutan tipe data sama.

myMethod(String x, int y, float z)

Jumlah argument sama, urut-

urutan tipe data sama.

Yang haru diperhatikan dari

contoh ini adalah, nama

variabel yang berbada tidak

lantas menyebabkan argument

list menjadi berbeda.

Pemrograman berorientasi objek – [email protected] Page 8

Overloading method terjadi pada objek yang sama. Ketika overloading method dipanggil,

Java mencari kesamaan antara argumen yang digunakan untuk memanggil method dan

parameter dari method. tetapi, kesamaan ini tidak mutlak karena pada Java ada

otomatisasi konversi tipe yang berbeda.

Contoh overloading method secara keseluruhan pada program java :

class OverloadMetode

{

//konversi tujuan bertipe integer

void test(int a)

{

System.out.println("Hasil konversi byte ke integer :"+a);

}

}

class OverloadKonversi

{

public static void main(String args[])

{

OverloadMetode ob = new OverloadMetode();

//variabel asal yang akan dikonversi bertipe byte

byte i=88;

ob.test(i);//memanggil test(integer)

}

}

Konversi otomatis pada java seperti program diatas, hanya dapat dilakukan jika kedua

aturan ini dipenuhi:

1. Kedua tipe data (data asal dan tujuan) memiliki kompatibilitas(compatible).

2. Tipe tujuan mempunyai range lebih besar daripada tipe asal.

Selain itu Java juga mengerjakan konversi secara otomatis ketika menyimpan konstanta

integer literal menjadi variable bertipe byte, short, atau long.

Deklarasi Constructor

Constructor adalah method khusus yang didefinisikan didalam kelas dan akan dipanggil

secara otomatis setiap kali terjadi instansiasi objek. Jika dalam suatu kelas kontruktor tidak

didefinisikan, maka secara otomatis Java akan membuat sebuah constructor, yaitu null

constructor. Constructor tersebut dinamakan sebagai default constructor.

Namun jika kita mendefiniskan sebuah constructor baru untuk kelas yang dibuat,

maka default constructor sudah tidak berfugsi atau tidak digunakan lagi.

Ciri-ciri default constructor:

3. Dibuat secara otomatis saat class dikompilasi.

4. Dibuat secara otomatis jika class yang dikompilasi tidak mempunyai constructor

sama sekali.

5. Tidak memiliki parameter formal.

Contoh default constructor :

public StudentRecord()

Pemrograman berorientasi objek – [email protected] Page 9

{

//area penulisan kode

}

Sifat-sifat constructor:

1. Nama constructor sama dengan nama class

2. Tidak memiliki tipe data termasuk void

3. Tidak memiliki return value.

4. Dieksekusi ketika terjadi instansiasi.

5. Dapat mempunyai akses modifier, biasanya public namun dapat berupa private

6. Tidak dapat dipanggil secara langsung, namun harus dipanggil dengan

menggunakan operator new pada pembentukan sebuah class.

Berikut cara pendeklarasian constructor :

- Pendeklarasian tanpa menggunakan parameter

[modifier] nama_class ()

{

//statement

}

- Pendeklarasian menggunakan parameter

[modifier] nama_class (parameter)

{

//statement

}

Overloading Constructor

Constructor dapat melakukan overloading. overloading constructor terjadi pada objek yang

berbeda-beda, nilai argument berbeda, sehingga method bisa lebih dari satu.

Berikut contoh overloading pada constructor:

class Kotak {

double panjang;

double lebar;

double tinggi;

// Mendefinisikan constructor dengan satu parameter

Kotak(double sisi) {

panjang = lebar = tinggi = sisi;

}

// Mendefinisikan constructor dengan tiga parameter

Kotak(double p, double l, double t) {

panjang = p;

lebar = l;

tinggi = t;

}

double hitungVolume() {

return (panjang * lebar * tinggi);

}

Pemrograman berorientasi objek – [email protected] Page 10

}

class Over {

public static void main(String[] args) {

Kotak k1, k2;

k1 = new Kotak(10);

k2 = new Kotak(4, 3, 2);

//Menampilkan volume dari masing-masing objek Kotak

System.out.println("Volume k1 = " + k1.hitungVolume());

System.out.println("Volume k2 = " + k2.hitungVolume());

}

}

Pada kode program diatas didefinisikan ada dua buah constructor dengan nama Kotak.

Constructor pertama memiliki satu buah parameter dimana parameter sisi sama dengan

nilai panjang, lebar dan tinggi. Constructor kedua memiliki tiga buah parameter dengan

nilai panjang, lebar dan tinggi yang berbeda.

Access Modifier

Berikut adalah jenis-jenis access modifier :

No

. Access Modifier Pada class dan Interface Pada Method & Variable

1. Default Dapat diakses oleh yang

sepaket.

Diwarisi oleh subkelas dipaket

yang sama, dapat diakses oleh

method-method yang sepaket.

2. Public Dapat diakses dimanapun Diwarisi oleh subkelasnya,

dapat diakses dimanapun.

3. Protected Tidak bisa diterapkan

Diwarisi oleh subkelasnya,

dapat diakses oleh method-

method yang sepaket.

4. private Tidak bisa diterapkan

Tidak dapat diakses

dimanapun kecuali oleh

method-method yang ada

dalam kelas itu sendiri.

Inheritance, Polimorfisme, Interface

Pemrograman berorientasi objek – [email protected] Page 11

Inheritance

Inheritance dapat menciptakan kelas umum yang mendefinisikan sifat/watak umum. Kelas

ini kemudian dapat diwarisi oleh kelas-kelas lain, yang merupakan kelas-kelas yang lebih

spesifik, dengan menambahkan hal-hal unik. Dalam terminologi java, sebuah kelas yang

diwarisi dikenal dengan superkelas. Kelas yang mewarisi dikenal dengan subkelas. Oleh

karena itu, subkelas merupakan versi terspesialisasi dari superkelas. Subkelas mewarisi

semua variabel dan metode instans yang didefinisikan oleh superkelas. Pada konsep

Inheritance ada beberapa istilah yang perlu diketahui, yaitu :

Sub class, digunakan untuk menunjukkan class anak atau turunan secara hirarkis dari

super class

Super class, digunakan untuk menunjukkan class induk secara hirarkis dari sub class

(class anak)

Extends, digunakan untuk menunjukkan, bahwa suatu class merupakan turunan dari

class lain. Misal A extends B, berarti class A adalah turunan dari class B. A merupakan

subclass, sedangkan B merupakan superclass.

Super, digunakan untuk memanggil konstruktor dari super class atau memanggil

variable yang mengacu pada super class. Misal super(x,y,z), berarti atribut x,y,z diambil

dari atribut pada class induk

Cara Inheritance Kelas

Pendeklarasian kelas turunan :

Class KelasTurunan extends KelasDasar{

TubuhKelas

}

Pemanggilan Constructor Super Kelas

Superkelas tidak mengandung konstruktor. Untuk itu digunakan kata kunci super.

Super (nama, nim)

Pemanggilan konstruktor kelas dasar harus memenuhi persyaratan berikut :

Pemanggilan dengan super seperti di atas hanya bisa dilakukan pada konstruktor.

Pemanggilan konstruktor superkelas harus berkedudukan sebagai pernyataan

pertama dalam konstruktor.

Overriding

Overriding adalah suatu cara untuk mendefinisikan ulang method yang ada pada class

induk apabila class anak menginginkan adanya informasi yang lain. Overriding dilakukan

dengan cara menulis ulang method yang ada pada class induk dengan syarat bahwa nama

dan parameter fungsi tersebut harus sama (tidak boleh diubah). Meskipun fungsi telah

ditulis ulang oleh class anak, fungsi yang asli pada class induk masih dapat dipanggil di

class anak dengan menggunakan class super.

Overloading

Overloading fungsi adalah penulisan beberapa fungsi (dua atau lebih) yang memiliki nama

yang sama. Pada bahasan overloading dikenal istilah signature. Signature sebuah fungsi

adalah parameter lengkap dengan tipe datanya yang terdapat dalam fungsi tersebut.Misal

terdapat fungsi:

public int jumlahMahasiswa (int laki2, int perempuan, String kelas);

Pemrograman berorientasi objek – [email protected] Page 12

maka signature dari fungsi tersebut adalah (int, int, String). Suatu fungsi dikatakan

dioverloadmanakala terdapat beberapa fungsi dengan nama yang sama namun memiliki

signature yang berbeda-beda, sebagai contoh

Contoh Kasus Inheritance

Menunjukkan hirarki kelas dosen., memiliki turunan berupa kelas rektor, kelas dekan dan

kelas kalab. class induk (class dosen) memiliki atribut nama, nik dan jurusan. Method yang

dimiliki oleh class dosen adalah view(). Class turunan dari class dosen ada tiga class. Pada

class rektor, terdapat tambahan atribut berupa th_mulai dan jabatan_ke, serta method

viewRektor(). Pada class dekan terdapat tambahan atribut fakultas, dan method

viewDekan(). Pada class kalab terdapat tambahan atribut laboratorium, dan method

viewKalab().

public void infoMahasiswa (int laki2, int perempuan,Stringkelas) {

... }

public void infoMahasiswa (int mhsLama, int mhsBaru, int mhsCuti, int angkatan)

{ ...

}

}}

}}

Rektor

}

public

Pemrograman berorientasi objek – [email protected] Page 13

Kalab

private

public void viewkalab() {

super (namaX,nikX,jurX);

int

Pemrograman berorientasi objek – [email protected] Page 14

Polimorfisme

Polimorfisme adalah kemampuan mengungkap suatu hal yang berbeda melalui satu cara

yang sama. Apabila mempunyai objek yang bertipe superkelas, variable objek ini bisa diisi

dengan objek superkelas ataupun objek subkelas tanpa perlu melakukan perubahan tipe.

Pada polimorfisme kondisi yang harus terpenuhi supaya fungsi dapat dijalankan yaitu:

1. Semua kelas diturunkan dari suatu kelas yang sama

2. Method yang dipanggil harus melalui variabel dari super class.

3. Method yang dipanggil juga harus merupakan method yang ada pada super class.

4. Signature method harus sama baik yang ada pada super class maupun di subclass.

5. Method access attribute pada subclass tidak boleh lebih terbatas daripada yang ada

pada super class.

Pemrograman berorientasi objek – [email protected] Page 15

Polimorfisme untuk alat-alat transportasi

Pada program utama dilakukan pemanggilan terhadap ketiga class tersebut, masing-

masing dengan parameter yang bersesuaian

Interface

Interface adalah class yang hanya mengandung deklarasi method tanpa memiliki

implementasi dan semua property yang dimilikinya bersifat final. Interface mirip dengan

class abstrak, tetapi interface tidak terikat dengan class hierarki.

Berikut ini adalah aturan yang harus kita ingat tentang pendeklarasian interface:

1. Modifier yang digunakan hanya public atau tidak sama sekali. Jika tidak

menggunakan modifier maka interface tersebut hanya dapat diakses dalam package

yang sama.

Pemrograman berorientasi objek – [email protected] Page 16

2. Semua variabel yang dideklarasikan dalam interface secara otomatis adalah static

final. Karena itu waktu pendeklarasian harus diberikan nilai.

3. Semua method adalah abstrak. Bedanya dengan class abstrak adalah kita tidak perlu

menuliskan keyword abstract pada saat mendeklarasikan method dalam interface.

4. Kita dapat mengimplementasikan lebih dari satu interface (multiple inheritance)

dengan memisahkan nama dari setiap interface dengan tanda koma.

5. Dapat terjadi saat kita mengimplementasikan lebih dari satu interface ternyata

interface – interface tersebut memiliki method yang sama. Dalam hal ini method

yang akan diimplementasi adalah method yang berada pada posisi pertama.

6. Semua method yang diimplemetasikan harus public.

7. Jika kita tidak mengimplementasikan semua method yang ada pada interface, maka

class tersebut harus dideklarasikan sebagai abstract class.

Untuk lebih jelasnya kita akan mengambil contoh pada dunia nyata. Misalnya pembuat

remote control dan pembuat TV. Seorang pembuat remote control tentunya tidak perlu

tahu merk TV dan siapa yang membuat TV tersebut untuk dikontrol menggunakan remote

control tersebut. Yang perlu diketahui adalah Interface apa yang digunakan oleh TV

tersebut agar dapat dikontrol. Demikian pulu si pembuat TV tidak perlu tahu bagaimana

remote control tersebut dibuat. Pembuat TV hanya perlu tahu interface apa yang akan

digunakan agar Tvnya dapat dikontrol oleh remote control tersebut. Perhatikan

implementasinya dalam kode berikut ini.

public class TVSamsung implements Control{ String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"}; public void pindahChannel(int channel) { System.out.println("Pindah channel pada TV Samsung ke "+ this.channel[channel]); } public void perbesarVolume(int intensitas) { System.out.println("Perbesar volume pada TV Samsung sebanyak "+ intensitas); } public void perkecilVolume(int intensitas) { System.out.println("Perkecil volume pada TV Samsung sebanyak "+ intensitas); } } public class RemoteControl { public void kirimPerintahKeTv(int aksi,Control tv,int tombol){ switch(aksi){ case 1: tv.pindahChannel(tombol); break; case 2: tv.perbesarVolume(tombol); break; case 3: tv.perkecilVolume(tombol); break; } } } public class TestRemoteControl { public static void main(String[] args){ TVPolitron tvp = new TVPolitron(); TVSamsung tvs = new TVSamsung(); RemoteControl rc = new RemoteControl(); rc.kirimPerintahKeTv(1,tvp,1); } }

Pemrograman berorientasi objek – [email protected] Page 17

public interface Control { public void pindahChannel(int channel); public void perbesarVolume(int intensitas); public void perkecilVolume(int intensitas); } public class TVPolitron implements Control{ String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"}; public void pindahChannel(int channel) { System.out.println("Pindah channel pada TV Politron ke "+ this.channel[channel]); } public void perbesarVolume(int intensitas) { System.out.println("Perbesar volume pada TV Politron sebanyak "+ intensitas); } public void perkecilVolume(int intensitas) { System.out.println("Perkecil volume pada TV Politron sebanyak "+ intensitas); } }