E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

dokumen-dokumen yang mirip
E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

BAB II VARIABEL DAN TIPE DATA

2 TIPE DATA DAN VARIABEL

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Badiyanto, S.Kom., M.Kom. PBO java

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

DASAR PEMOGRAMAN JAVA

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Elemen Dasar Dalam Bahasa Java

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

BAHASA PEMROGRAMAN JAVA

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

8 - Overriding dan Overloading

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

PEMAHAMAN DASAR DASAR JAVA

Pengenalan JavaScript

Inheritance (Pewarisan) Pengertian dasar inheritance

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Inheritance dan Kata Kunci static

Pemrograman Berorientasi Objek. Beni Suranto, S.T.

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Pemrograman Berbasis Objek (Polimorfisme)

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

SILABUS MATA KULIAH PEMROGRAMAN JAVA

SUMBER BELAJAR PENUNJANG PLPG

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

Bab 8. Dasar-Dasar OOP

Pemrograman Berorientasi. Inheritance

IKG2I4 / Software Project I

Bahasa Pemrograman 2.

Konsep Pemrograman Berbasis Obyek

Overriding Overloading Polymorphism

Pemrograman Berorientasi Objek

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Pertemuan 11 Object Oriented Program

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Pemrograman Berorientasi. Class dan Obyek 2

Dasar Pemrograman Java

Membuat dan Menggunakan Class

Jobsheet 09. Overloading and Overriding Method

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

PEMROGRAMAN BERORIENTASI OBJEK

STRUKTUR DENGAN ARRAY DAN FUNCTION

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT

KONSEP OOP: PEWARISAN / INHERITANCE

Object Oriented Programming 1

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

UNIVERSITAS GUNADARMA

PRAKTIKUM I Class dan Obyek

Modul Bahasa Pemrograman 1

Bahasa Pemrograman 2.

Pemrograman Berorientasi Obyek. Ramos Somya

KONSEP Pemrograman Berorientasi Objek KARMILASARI

INTERAKSI ANTAR OBJECT

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

KONSEP OBJEK ORIENTASI PROGRAM

Dasar Pemograman Java

JAVA BASIC PROGRAMMING Joobshet

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package

Dasar-Dasar OOP di Java

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

KONSEP OOP: PEWARISAN / INHERITANCE

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Class & Object 2. Imam Fahrur Rozi

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

Polymorphism. Oleh : Agus Priyanto, M.Kom

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

BAB 1 KONSEP DASAR JAVA

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

BEKERJA DENGAN JAVA CLASS LIBRARY

PEMROGRAMAN BERORIENTASI OBJEK

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

(INHERITANCE) Nurochman

IT210 Pemrograman Visual. Ramos Somya

Praktikum 3 Konsep Class, Attribute dan Method

Pemrograman Berorientasi. Polimorfisme dan Binding

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Konsep Pemrograman Berorientasi Obyek

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

OBJECT ORIENTED PROGRAMMING. Day 2 : Dasar Pemrograman Java

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Modul II Object Oriented Programming

BAB IV HASIL PENELITIAN DAN PENERAPAN

Konsep Dasar Pemrograman Berorientasi Objek

Transkripsi:

E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013

Daftar Isi Daftar Isi... i Daftar Gambar... v Daftar Tabel... vi Bab 1 Pendahuluan... 1 1.1... 1 1.2... 1 Bab 2 Pengenalan Java... 2 2.1 Pengenalan... 2 2.2 Teknologi Java... 2 2.3 Struktur Program... 2 2.4 Tipe Data, Variable, Operator... 2 2.4.1 Variabel... 2 Bab 3 Percabangan dan Perulangan... 4 3.1 If, If-Else... 4 3.1.1 Contoh 1... 4 3.1.2 Contoh 2... 4 3.2 Switch Case... 4 3.3 For, While, Do-While... 5 3.3.1 For... 6 3.3.2 While... 6 3.3.3 Do-While... 6 Bab 4 Larik (Array)... 7 4.1 Tipe data Array... 7 4.1.1 Deklarasi Variable Array... 7 i

4.1.2 Membuat Array... 7 4.1.3 Penggambaran Array... 7 4.2 Implementasi Array... 8 4.2.1 Contoh 1... 8 4.2.2 Contoh 2... 9 Bab 5 Komponen Dasar PBO... 10 5.1 Object (Arif, 2011)... 10 5.1.1 Menciptakan Objek... 10 5.1.2 Memeriksa Tipe Objek... 10 5.1.3 Menghapus Objek... 11 5.2 Class... 11 5.3 Instance... 11 5.4 Message... 11 5.5 Konstruktor... 11 Bab 6 Konstruktor, Enkapsulasi & Hidding Information... 12 6.1 Konstruktor... 12 6.2 Contoh Penggunaan Konstruktor... 12 6.3 Enkapsulasi & Information Hidding... 13 6.3.1 Pengertian... 13 6.3.2 Modifier... 13 Bab 7 Inheritance... 16 7.1 Pengertian Inheritance... 16 7.2 Contoh Inheritance... 17 7.2.1 Contoh 1... 17 7.2.2 Contoh 2... 17 7.2.3 Contoh 3 (Oracle, 2013)... 19 7.2.4 Contoh 4 (Oracle, 2013)... 22 ii

7.3 Multilevel Inherintance... 23 Bab 8 Konstruktor Overriding & Overloading... 24 8.1 Overriding (Overriding Dalam Java (OOP), 2012)... 24 8.1.1 Pengertian Overriding... 24 8.1.2 Aturan Overriding... 24 8.1.3 Contoh Overriding 1... 24 8.1.4 Contoh Overriding 2... 25 8.2 Overloading... 25 8.2.1 Pengertian Overloading (Overloading Dalam Java (OOP), 2012)... 25 8.2.2 Daftar Parameter Pada Overloading... 26 8.2.3 Contoh Overloading... 26 8.2.4 Contoh 1... 26 8.2.5 Contoh 2... 27 Bab 9 Polimorfisme... 28 9.1 Pengertian... 28 9.2 Kasus Polimorfisme... 28 9.3 Contoh Polimorfisme... 28 Bab 10 Abstrak Kelas... 32 10.1 Pengertian... 32 10.2 Aturan Abstrak Kelas... 32 10.3 Contoh Kasus Abstrak Kelas... 33 10.4 Contoh... 33 Bab 11 Interface... 35 11.1 Pengertian... 35 11.2 Contoh... 35 11.3 Contoh Lain... 36 11.4 Perbedaan Abstrak dan Interface... 37 iii

Bab 12 Eksepsi/Exception... 39 Bab 13 Package... 40 Bab 14 Pengenalan Pemrograman Grafis... 41 Bab 15 References... 42 iv

Daftar Gambar Gambar 2-1Variabel Sebagai Tempat Menyimpan Data... 2 Gambar 7-1 Inheritance... 16 Gambar 7-5 Output Inherintance... 19 v

Daftar Tabel Tabel 2-1 Kata Kunci Tidak Dapat Dijadikan Nama Variable... 3 vi

Bab 1 Pendahuluan 1.1 Dalam Pengembangan 1.2 1

Bab 2 Pengenalan Java 2.1 Pengenalan 2.2 Teknologi Java 2.3 Struktur Program 2.4 Tipe Data, Variable, Operator 2.4.1 Variabel Variabel adalah satu entitas penyimpanan data yang paling elementer. Dalam pemrograman, variabel memegang peran yang sangat penting, karena suatu program sangat tergantung pada adanya data. Tanpa data, operasi-operasi pada program tidak dapat dijalankan. Sebagai contoh, jika diinginkan suatu operasi penjumlahan tetapi tidak terdapat 2 buah data yang akan dijumlahkan, maka operasi penjumlahan tidak dapat dilakukan. Variabel sendiri tidak serta-merta dapat diartikan sebagai data itu sendiri. Variabel, dalam terminologi pemrograman, lebih mengacu kepada alokasi memori yang dapat diisikan data. Karena mengacu kepada alokasi memori, maka data yang dapat diisikan pada variabel, normalnya, dapat berubah. Hubungan antara variabel dan data diilustrasikan pada gambar dibawah. Agar data dapat dipergunakan dalam operasi-operasi pada program, maka perlu didefinisikan alokasi memori yang dibutuhkan untuk menyimpan data tersebut. Pendefinisian alokasi memori tersebut dinamakan deklarasi. (Anonim) Gambar 2-1Variabel Sebagai Tempat Menyimpan Data Penamaan variabel pada dasarnya dibebaskan kepada programmer. Nama yang diberikan kepada variabel disebut identifier. Penamaan identifier variabel pada pemrograman Java mempunyai beberapa aturan, sebagai berikut : 2

a. Identifier variabel harus dimulai dengan alfabet huruf besar, huruf kecil, tanda dollar ( $ ) atau underscore (_). Setelah karakter pertama, dapat diikuti dengan angka. b. Identifier variabel tidak boleh mengandung punctuation,spasi, atau dashes ( - ) c. Kata kunci pada teknologi Java, seperti pada tabel dibawah, tidak dapat dijadikan nama identifier variabel. Kata-kata Kunci pada Teknologi Java yang Tidak Dapat Dijadikan Nama Variabel (Anonim) Tabel 2-1 Kata Kunci Tidak Dapat Dijadikan Nama Variable abstract assert boolean break byte case catch char class const continue default do double else extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws transient true try void volatile while Contoh nama variabel yang diizinkan : a. @2var b. _status c. Tanggal d. jumlahbarang e. nama_kecil f. final_test g. int_float 3

Bab 3 Percabangan dan Perulangan 3.1 If, If-Else Berikut merupakan contoh penggunaan If-Else di java. 3.1.1 Contoh 1 3.1.2 Contoh 2 3.2 Switch Case Berikut contoh penggunaan Switch Case di Java 4

3.3 For, While, Do-While Berikut merupakan penggunaan for, while, do-while di java. Hasil outpu dari looping dibawah seperti berikut Untuk penerapan menggunakan for, while, dan do-while silakan lihat looping dibawah 5

3.3.1 For 3.3.2 While 3.3.3 Do-While 6

Bab 4 Larik (Array) 4.1 Tipe data Array 4.1.1 Deklarasi Variable Array Berikut merupakan contoh mendeklarasikan variabel array dengan nama variabel mylist1 dan mylist2 4.1.2 Membuat Array Berikut merupakan lanjutan dari deklarai array diatas. Pada method coba terdapat perintah untuk membuat array. Variabel mylist1 dengar tipe data double dan ukuran array 10. Variabel mylist2 dengan tipe data double dan ukuran array 20. 4.1.3 Penggambaran Array Misal kita punya variabel array dengan nama mylist yang berukuran 10, maka dapat kita gambarkan sebagai berikut. double[] mylist = new double[10]; 7

4.2 Implementasi Array 4.2.1 Contoh 1 1. Class Array dengan isi sebagai berikut 2. Setelah kita jalankan, hasilnya seperti berikut 8

4.2.2 Contoh 2 1. Class Array dengan Foreach Loop 2. Output program diatas 9

Bab 5 Komponen Dasar PBO 5.1 Object (Arif, 2011) Object adalah instance dari class. 5.1.1 Menciptakan Objek Objek diciptakan menggunakan operator new. dari sisi kelas, langkah ini merupakan instantiasi kelas. selanjutnya objek yang berhasil diciptakan tersebut akan diletakkan di memori heap. ContohKelas ck= new ContohKelas(); atau bisa juga menggunakan perintah di bawah ini: getdata(new ContohKelas()); 5.1.2 Memeriksa Tipe Objek Anda bisa memanfaatkan fungsionalitas operator instanceof untuk mengetahui tipe suatu objek pada saat runtime. Operator ini akan mengembalikan nilai true apabila tipe objek sesuai, sebaliknya mengembalikan nilai false. ContohKelas ck=new ContohKelas(); System.out.println(ck instanceof ContohKelas); //output: true. Perlu diperhatikan, instanceof akan selalu mengembalikan nilai false jika variabel objek diinisialisasi dengan nilai null. ini karena nilai null tidak mencerminkan objek apapun. ContohKelas ck2=null; System.out.println(ck2 instanceof ContohKelas); //output: false Operator instanceof hanya dapat digunakan pada tipe reference dan objek. Penggunaan operator ini pada tipe primitif akan mengakibatkan kesalahan saat kompilasi. 10

5.1.3 Menghapus Objek Java menggunakan teknik yang dikenal sebagai garbage collection untuk menghapus objekobjek yang sudah tidak diperlukan. Dengan demikian, kita tidak perlu khawatir akan terjadinya kebocoran memori. Kita juga dapat memanggil garbage collector secara eksplisit menggunakan method static gc. 5.2 Class Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant. 5.3 Instance 5.4 Message 5.5 Konstruktor 11

Bab 6 Konstruktor, Enkapsulasi & Hidding Information 6.1 Konstruktor Konstruktor adalah sebuah method yang digunakan untuk memberika nilai awal pada saat object diciptakan yang dipanggil secara otomatis ketika new digunakan untuk membuat instan class. (Goresacreative_Ima, 2012) Sifat konstruktor: - Nama konstruktor sama dengan nama class - Tidak memiliki nilai balik dan tidak boleh ada kata kunci void 6.2 Contoh Penggunaan Konstruktor 1. Buat Class Bank, isinya seperti berikut 2. Pada main class nya kita isi seperti ini 12

6.3 Enkapsulasi & Information Hidding 6.3.1 Pengertian Enkapsulasi adalah suatu cara untuk menyembunyikan informasi dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni (Sasongko, 2008): 1. Information hidding Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah 'public'. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol 'private' ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding 2. Interface to access data Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut. 6.3.2 Modifier Dalam bahasa pemograman terdapat 4 modifier. Modifier ini berguna untuk melakukan enkapsulisasi (membungkus data) pada objek. Dengan menggunakan modifier, kita dapat menentukkan siapa saja yang dapat menggunakan atau mengakses objek tersebut. Modifier ini digunakan untuk hak akses user pada class, method, atau variabel. Modifier tersebut antara lain : 1. Default Modifier default menspesifikasikan kelas-kelas sepaket yang mengakses. Tidak ada keyword khusus untuk mendeklarasikan default modifier, bila tidak ada modifier pada deklarasi class, method atau variabel berarti modifier yang digunakan adalah default modifier. Contoh: 13

2. Public Pada modifier public ini bersifat umum, yaitu class, method, atau variable dapat dipanggil oleh semua kelas. Baik dari satu paket yang sama atau berlainan paket. Public juga akan memperbolehkan akses terhadap semua kelas yang diinstan dari kelas tersebut. Contoh: 3. Private. Modifier private ini menunjukkan bahwa suatu class, method atau variabel hanya dapat diakses dari dalam kelas tersebut. modifier ini biasanya digunakan untuk kelas, method, atau variabel yang memang ingin disimpan atau tidak dapat digunakan oleh kelas yang lain (tidak berguna untuk kelas yang lain). Contoh: 4. Protected. Modifier protected ini digunakan kalau suatu class, method atau variabel ingin digunakan hanya oleh kelas-kelas yang satu paket dengan kelas tersebut atau sub kelas dari kelas tersebut baik yang satu paket atau lain paket. Contoh: 14

15

Bab 7 Inheritance 7.1 Pengertian Inheritance Inheritance (penurunan sifat / pewarisan), ini merupakan ciri khas dari OOP yang tidak terdapat pada pemrograman prosedural gaya lama. Dalam hal ini, inheritance bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan) (Rudy, 2012) 1. Obyek turunan dapat digunakan membetuk obyek turunan lagi dan seterusnya. 2. Setiap perubahan pada obyek induk, juga akan mengubah obyek turunannya. 3. Susunan obyek induk dengan obyek turunannya disebut dengan hirarki obyek. Keuntungan Inheritance: Saat anda ingin membuat class baru, dan ternyata pada class lain telah ada code yang ingin anda gunakan, maka anda tinggal meng-extend class lain tersebut. Gambar 7-1 Inheritance 16

7.2 Contoh Inheritance 7.2.1 Contoh 1 1. Buat Class Parent, isi class seperti ini 2. Buat class dengan nama Child, isi class seperti ini Perhatikan tulisan extends, ini menandakan bahwa Child merupakan turunan dari Parent, sehingga Class Child juga memiliki method void induk() yang berada pada class Parent. 3. Di dalam class Main kita buat objek dari class Child Objek c memanggil method void turunan() dari class Child dan memanggil method void induk() yang merupakan method warisan dari class Parent. 7.2.2 Contoh 2 1. Buat class dengan nama Inheritance1, dan kita isi class tersebut seperti ini 17

2. Buat class lagi dengan nama Inherintace2, dan kita isi class tersebu seperti ini 3. Lalu di class mainnya kita buat objek dari class Inherintace2, isi mainnya seperti ini 18

4. Setelah kita run, hasil outputnya kayak gini Gambar 7-2 Output Inherintance 7.2.3 Contoh 3 (Oracle, 2013) 1. Buat Class Bicycle, dan kita isi seperti ini 19

2. Buat Class MountainBike, dan kita isi seperti ini 20

MountainBike mewarisi semua atribut dan method dari Bicycle dan menambahkan method seatheight. MountainBike memiliki konstruktor dengan 4 parameter. 3. Pada Class Main, isi seperti ini 4. Output dari program diatas, seperti ini 21

7.2.4 Contoh 4 (Oracle, 2013) 1. Buat class Animal, lalu kita isi seperti ini 2. Buat class Cat, dengan isi seperti ini 3. Pada Class Main, kita isi seperti ini 22

7.3 Multilevel Inherintance Pada contoh sebelumnya, kita udah punya class Inherintac1 dan Inherintace2, tambahkan satu lagi class Inherintace3 untuk mencoba multiple Inherintace 1. Buat class Inherintance3, kita biarkan isi class ini kosong seperti ini 2. Lalu di class Main sebelumnya kita ganti kayak gini 23

Bab 8 Konstruktor Overriding & Overloading 8.1 Overriding (Overriding Dalam Java (OOP), 2012) 8.1.1 Pengertian Overriding Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Dilakukan dengan cara mendeklarasikan kembali method milik parent class di subclass. Tujuan : subclass memiliki tingkah laku yang lebih spesifik. Deklarasi method pada subclass harus sama dengan yang terdapat di super class. Kesamaan pada : a. Nama b. Return type c. Daftar parameter (jumlah, tipe, dan urutan) d. Method pada parent class disebut overriden method e. Method pada subclass disebut overriding method 8.1.2 Aturan Overriding a. Mode akses overriding method harus sama atau lebih luas dari pada overriden method. b. Subclass hanya boleh meng-override method superclass satu kali saja, tidak boleh ada lebih dari satu method pada kelas yang sama, sama persis c. Overriding method tidak boleh throw checked exceptions yang tidak dideklarasikan oleh overridden method. 8.1.3 Contoh Overriding 1 1. Class Animal memiliki method SetVoice() 2. Class Dog yang merupakan turunan dari Class Animal, dan class ini memiliki method SetVoice() sama seperti superclassnya (class Animal). Ini disebut overriding 24

8.1.4 Contoh Overriding 2 1. Class Nama dengan method Sapa 2. Class Siapa dengan method Sapa dan method Main 8.2 Overloading 8.2.1 Pengertian Overloading (Overloading Dalam Java (OOP), 2012) Menuliskan kembali method dengan nama yang sama pada suatu class. Ciri-ciri overloading : a. Nama method harus sama b. Daftar parameter harus berbeda 25

c. Return type boleh sama, juga boleh berbeda Tujuan : memudahkan penggunaan/pemanggilan method dengan fungsionalitas yang mirip. 8.2.2 Daftar Parameter Pada Overloading Perbedaan daftar parameter bukan hanya terjadi pada perbedaan banyaknya parameter, tetapi juga urutan dari parameter tersebut. Misalnya saja dua buah parameter berikut ini : - public void member(int x, String n) - public void member(string n, int x) Dua parameter tersebut juga dianggap berbeda daftar parameternya. 8.2.3 Contoh Overloading 8.2.4 Contoh 1 26

8.2.5 Contoh 2 27

Bab 9 Polimorfisme 9.1 Pengertian a. Polimorfisme merupakan suatu konsep yang menyatakan bahwa sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda. b. Pada OOP, (tindakan direalisasikan dengan method). c. Polimorfisme berarti kelas mempunyai lebih dari satu method yang sama namun memiliki perbedaan pada jumlah dan jenis parameter pada masing-masing method. 9.2 Kasus Polimorfisme 1. Ukuran Bidang Datar Misalnya kita mempunyai class persegi dan lingkaran, dimana class-class tersebut merupakan turunan dari class bangun 2D. Jika kita ingin memperbesar ukuran dari persegi kita harus memperbesar sisinya, sedangkan pada lingkaran kita harus memperbesar jarijarinya. Inilah yang dimaksud dari konsepnya sama-sama ingin memperbesar ukuran namun cara/perilaku yang digunakan berbeda. 2. Harga Kopi Sebuah warung kopi memiliki 3 buah kopi yaitu A, B, C. Dan warung menjual kopinya dengan harga Rp 1000,- / kopi. Namun, untuk kopi jenis tertentu seperti kopi C, akan mendapat 1 buah kopi gratis jika beli 2 (beli 2 gratis 1). Jika ada pembeli a. Beli kopi A sebanyak 1 maka harganya 1000 dan dapat 1 kopi b. Beli kopi A sebanyak 2 maka harganya 2000 dan dapat 2 kopi c. Beli kopi A sebanyak 3 maka harganya 3000 dan dapat 3 kopi d. Beli kopi C sebanyak 1 maka harganya 1000 dan dapat 1 kopi e. Beli kopi C sebanyak 2 maka harganya 2000 dan dapat 3 kopi f. Beli kopi C sebanyak 3 maka harganya 2000 dan dapat 3 kopi Inilah yang dimaksud dari konsepnya sama-sama ingin beli kopi namun cara/perilaku yang digunakan berbeda. Penjelasan lebih deteail di kelas.. 9.3 Contoh Polimorfisme Sebelum masuk kecontoh pahami ini 28

Objek a, v, dan o dapat dibuat dari Objek d. Objek d dibuat dari Class Deer. Masuk ke contoh, Penyanyi memiliki beberapa kategori, misal Penyanyi Pop, Penyanyi Dangdut, dan Penyanyi Jazz. Seorang Penyanyi dapat memilih ingin menjadi Penyanyi Pop, Penyanyi Dangdut, atau Penyanyi Jazz 1. Buat class Penyanyi, dengan isi berikut 2. Lalu buat class PenyanyiDangdut yang diturunkan dari class Penyanyi 3. Buat class PenyanyiJazz yang diturunkan dari class Penyanyi 4. Buat class PenyanyiPop yang diturunkan dari class Penyanyi 29

5. Buat Mainnya Diatas merupakan main, dan dibawahnya adalah hasil outputnya. Atau mainnya juga dapat dibuat seperti berikut 30

31

Bab 10 Abstrak Kelas 10.1 Pengertian Abstrak kelas adalah kelas yang belum jelas spesifikasinya. Kelas abstrak digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas implementasinya. (alka, 2012) Dapat dilihat jenis kelas diatas, kelas paling atas adalah kelas Bangun datar lalu turunan dari kelas bangun datar adalah kelas persegi, segitiga, persegi panjang. Dapat diketahui kelas bangun datar adalah kelas Abstraknya. Dan sebuah kelas jika ada 1 saja method yang abstrak, maka dia akan menjadi kelas abstrak 10.2 Aturan Abstrak Kelas 1. Kelas abstrak tidak dapat di instant class atau dibuat objek 2. Jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak. 3. Sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak. 4. Jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang (overriding) di kelas konkretnya dan diberi detail dari methodnya 5. Jika method abstrak diturunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak. 32

10.3 Contoh Kasus Abstrak Kelas Misal Motor memiliki atribut bahanbakar, isisilinder, dll dan method hitungkecepatan(), hitungbahanbakar(), dll. Motor memiliki turunan Honda, Yamaha, Suzuki, dll Kita ingin setiap Motor memiliki kejelasan mengenai atribut bahanbakar, isisilinder, dan method hitungkecepatan(), hitungbahanbakar(), maka Honda, Yamaha, Suzuki diturunkan dari Motor dan Motor dijadikan Kelas Abstrak.... (Penjelasan di kelas) 10.4 Contoh 1. Buat kelas abstrak dengan nama Abstrak 2. Buat kelas Persegi yang diturunkan dari kelas Abstrak 33

Keterangan: Method hitungluas() harus ditulis ulang karena pada kelas Abstrak, method hitungluas() adalah method yang abstrak. Sedangkan method hitungkeliling() tidak perlu ditulis ulang karena pada kelas Abstrak, method hitungkeliling() bukan method yang abstrak. 3. Buat kelas Abstrak2 yang diturunkan dari kelas Abstrak Keterangan: Kelas Abstrak2 tidak menulis ulang method hitungluas() karena kelas Abstrak2 merupakan kelas abstract. Namun jika kelas Abstrak2 bukan kelas abstract maka method yang abstrak pada kelas Abstrak harus ditulis ulang (override) 34

Bab 11 Interface 11.1 Pengertian Interface adalah merupakan sesuatu yang berbeda dari class, yang hanya berisi deklarasi method tanpa memiliki implementasi dan semua property yang dimilikinya bersifat final. Interface mirip dengan class abstrak, tetapi interface tidak terikat dengan class hierarki. Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa tubuh. Interface perlu digunakan dalam kerja team, karena programer yang lain tidak perlu tahu bagaimana detail code ditulis. (Sigit, 2012) 11.2 Contoh Dari materi mengenai abstrak, dapat kita buat lagi menggunakan konsep interface 1. Buat interface dengan nama Interface Interface diatas merupakan perubahan dari class Abstrak berikut (sebelumnya sudah ada) Bandingkan interface dan class Abstrak! 2. Buat Class Persegei yang merupakan implements dari Interface 35

11.3 Contoh Lain 1. Buat interface OpsiSenjata 2. Buat class Senjata yang merupakan implemenst dari interface OpsiSenjata 36

3. Main Class nya 11.4 Perbedaan Abstrak dan Interface Abstract Class Bisa berisi abstract dan non-abstract method Kita harus menuliskan sendiri modifiernya. Interface Hanya boleh berisi abstract method. Kita tidak perlu susah2 menulis public abstract di depan nama method. Karena secara implisit, modifier untuk method di interface adalah public dan abstract. Bisa mendeklarasikan constant dan Hanya bisa mendeklarasikan constant. 37

instance variable. Secara implisit variable yang dideklarasikan di interface bersifat public, static dan final. Method boleh bersifat static. Method boleh bersifat final. Suatu abstact class hanya bisa mengextend satu abstract class lainnya. Method tidak boleh bersifat static. Method tidak boleh bersifat final. Suatu interface bisa meng-extend atau lebih interface lainnya. satu Suatu abstract class hanya bisa mengextend satu abstract class dan mengimplement beberapa interface. Suatu interface hanya bisa meng-extend interface lainnya. Dan tidak bisa mengimplement class atau interface lainnya. Tabel 11-1 Perbedaan Abstract dan Interface 38

Bab 12 Eksepsi/Exception 39

Bab 13 Package 40

Bab 14 Pengenalan Pemrograman Grafis 41

Bab 15 References alka. (2012, 03 28). Belajar Java. Diambil kembali dari Abstract class di java, apa itu dan untuk apa?: http://alqaa.wordpress.com/2012/03/28/abstract-class-di-java-apa-itudan-untuk-apa/ Anonim. (t.thn.). PEMROGRAMAN DAN SIKLUS HIDUP. Arif, F. I. (2011, 04 13). Ilmu IT. Diambil kembali dari Objek Pada Java: http://ipenk24fajrin.blogspot.com/2011/04/objek-pada-java.html Goresacreative_Ima. (2012, 11 12). Pengertian Konstruktor Pada Java. Diambil kembali dari Roinah_Smart: http://roinahsmart.wordpress.com/2012/11/12/konstruktor/ Oracle. (2013, 3 27). Inheritance. Diambil kembali dari The Java Tutorial: http://docs.oracle.com Overloading Dalam Java (OOP). (2012, 07 11). Diambil kembali dari Pemrograman Design Tutorial: http://putrazzendrato.blogspot.com/2012/07/overloading-dalam-javaoop.html Overriding Dalam Java (OOP). (2012, 07 9). Diambil kembali dari Pemrograman Design Tutorial: http://putrazzendrato.blogspot.com/2012/07/overriding-dalam-java-oop.html Rudy. (2012, 04 19). Pengertian Inheritance dan Polymorphism. Diambil kembali dari EbookRudy: http://ebookrudy.wordpress.com/2012/04/19/pengertian-inheritance-danpolymorphism-beserta-contoh-program/ Sasongko, A. (2008, 10 15). littlebro's note. Diambil kembali dari Java Enkapsulasi: http://littlebro-note.blogspot.com/2008/10/java-enkapsulasi.html Sigit. (2012, 11 05). Interface dalam java Pemrograman Berbasis Objek. Diambil kembali dari Finding Useful Things: http://aswishnu.blog.amikom.ac.id/2012/11/05/interfacedalam-java-pemrograman-berbasis-objek/ 42

43