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 .......................................................................................................................... iv Daftar Tabel ............................................................................................................................... v 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
i
Deklarasi Variable Array ..................................................................................... 7
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 ........................................................................................................................ 10
5.2
Class .......................................................................................................................... 10
5.3
Instance...................................................................................................................... 10
5.4
Message ..................................................................................................................... 10
5.5
Konstruktor................................................................................................................ 10
Bab 6
Konstruktor, Enkapsulasi & Hidding Information ................................................... 11
6.1
Konstruktor................................................................................................................ 11
6.2
Contoh Penggunaan Konstruktor .............................................................................. 11
6.3
Enkapsulasi & Information Hidding ......................................................................... 12
6.3.1
Pengertian .......................................................................................................... 12
6.3.2
Modifier ............................................................................................................. 12
Bab 7
Inheritance ................................................................................................................. 15
7.1
Pengertian Inheritance ............................................................................................... 15
7.2
Contoh Inheritance .................................................................................................... 16
7.2.1
Contoh 1 ............................................................................................................. 16
7.2.2
Contoh 2 ............................................................................................................. 16
7.2.3
Contoh 3 (Oracle, 2013) .................................................................................... 18
7.2.4
Contoh 4 (Oracle, 2013) .................................................................................... 21
7.3
Multilevel Inherintance ............................................................................................. 22
Bab 8
Konstruktor Overriding & Overloading .................................................................... 24
8.1
Overriding (Overriding Dalam Java (OOP), 2012) ................................................... 24
ii
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
Abstrak Kelas ............................................................................................................ 28
Bab 10
Polimorpisme ......................................................................................................... 29
10.1
Pengertian .............................................................................................................. 29
10.2
Teknis polimorfisme .............................................................................................. 29
10.3
Contoh Polimorfisme ............................................................................................. 29
Bab 11
Interface ................................................................................................................. 32
Bab 12
Eksepsi/Exception ................................................................................................. 33
Bab 13
Package .................................................................................................................. 34
Bab 14
Pengenalan Pemrograman Grafis .......................................................................... 35
Bab 15
References ............................................................................................................. 36
iii
Daftar Gambar Gambar 2-1Variabel Sebagai Tempat Menyimpan Data ........................................................... 2 Gambar 7-1 Inheritance ........................................................................................................... 15 Gambar 7-2class Inherintance1................................................................................................ 17 Gambar 7-3 Class Inherintace2 ................................................................................................ 17 Gambar 7-4 Class Main ........................................................................................................... 18 Gambar 7-5 Output Inherintance ............................................................................................. 18 Gambar 7-6 Class Bicycle ....................................................................................................... 19 Gambar 7-7 Class MountainBike............................................................................................. 20 Gambar 7-8 Class Main ........................................................................................................... 20 Gambar 7-9 Output .................................................................................................................. 21 Gambar 7-10 Class Animal ...................................................................................................... 21 Gambar 7-11 Class Cat ............................................................................................................ 21 Gambar 7-12 Class Main ......................................................................................................... 22 Gambar 7-13 Output ................................................................ Error! Bookmark not defined. Gambar 7-14 Class Inheritance3 .............................................................................................. 22 Gambar 7-15 Class Main ......................................................................................................... 23
iv
Daftar Tabel Tabel 2-1 Kata Kunci Tidak Dapat Dijadikan Nama Variable .................................................. 3
v
Bab 1
1.1 _____ Dalam Pengembangan
1.2 ______
1
Pendahuluan
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 disebutt 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 IV.3, 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
Contoh nama variabel yang diizinkan : a. @2var b. _status c. Tanggal d. jumlahBarang e. nama_kecil f.
final_test
g. int_float
3
private protected public return short static strictfp super switch synchronized this
throw throws transient true try void volatile while
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 5.1 Object 5.2 Class 5.3 Instance 5.4 Message 5.5 Konstruktor
10
Komponen Dasar PBO
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
Gambar 6-1 Class Bank
2. Pada main class nya kita isi seperti ini
Gambar 6-2 Class Main
11
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:
12
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:
13
14
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
15
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
16
Gambar 7-2class Inherintance1
2. Buat class lagi dengan nama Inherintace2, dan kita isi class tersebu seperti ini
Gambar 7-3 Class Inherintace2
17
3. Lalu di class mainnya kita buat objek dari class Inherintace2, isi mainnya seperti ini
Gambar 7-4 Class Main
4. Setelah kita run, hasil outputnya kayak gini
Gambar 7-5 Output Inherintance
7.2.3 Contoh 3 (Oracle, 2013) 1. Buat Class Bicycle, dan kita isi seperti ini
18
Gambar 7-6 Class Bicycle
2. Buat Class MountainBike, dan kita isi seperti ini
19
Gambar 7-7 Class MountainBike
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
Gambar 7-8 Class Main
4. Output dari program diatas, seperti ini
20
Gambar 7-9 Output
7.2.4 Contoh 4 (Oracle, 2013) 1. Buat class Animal, lalu kita isi seperti ini
Gambar 7-10 Class Animal
2. Buat class Cat, dengan isi seperti ini
Gambar 7-11 Class Cat
3. Pada Class Main, kita isi seperti ini
21
Gambar 7-12 Class Main
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
Gambar 7-13 Class Inheritance3
2. Lalu di class Main sebelumnya kita ganti kayak gini
22
Gambar 7-14 Class Main
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
28
Abstrak Kelas
Bab 10
Polimorpisme
10.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
10.2 Teknis polimorfisme Polimorfisme mensyaratkan adanya pewarisan dengan ketentuan sbb: a. Method yang dipanggil harus melalui basis class b. Method yang dipanggil harus menjadi method pada basis class c. Method access atribute (modifier) pada sub class tidak boleh lebih terbatas dari basis class
Polimorfisme mengizinkan kelas induk mendefinisikan sebuah method general untuk semua kelas turunannya, dan selanjutnya kelas turunan dapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing masing
10.3 Contoh Polimorfisme 1. Buat class Kendaraan, dengan isi berikut
29
2. Lalu buat class Motor dengan isi berikut
3. Pada class main, isi source seperti berikut
30
31
Bab 11
32
Interface
Bab 12
33
Eksepsi/Exception
Bab 13
34
Package
Bab 14
35
Pengenalan Pemrograman Grafis
Bab 15
References
Anonim. (t.thn.). PEMROGRAMAN DAN SIKLUS HIDUP. Oracle.
(2013,
3
27).
Inheritance.
Diambil
kembali
dari
The
Java
Tutorial:
http://docs.oracle.com 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/
36