Pemrograman Lanjut - E

advertisement
Pemrograman Lanjut
Jurusan S1 Teknik Informatika
9/17/2012
Ratno
Object Oriented Programming
Object
Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang stukturnya
mirip dengan obyek pada dunia nyata. Disekeliling kita ada banyak contoh dari objek, seperti meja,
pena, kursi, televisi dan masih banyak lagi. Yang dimiliki oleh objek antar lain
◦ state
Pada implementasinya berupa field dari kelas
◦ behaviour
Implementasinya menjadi method dari kelas
Class
Kelas adalah keluarga dari Objek. Apabila beberapa objek memiliki struktur yang sama, perilaku dan arti
secara umum, maka bisa dikelompokkan menjadi sebuah kelas. Yang kemudian dapat digunakan untuk
menciptakan sebuah objek yang memiliki keseragaman. Setiap kelas memberikan skema yang umum
untuk satu atau lebih objek, dimana kelas dapat menjadi template dari satu atau banyak objek.
package entity;
import java.util.Date;
Pemrograman Lanjut | 9/17/2012
public class Anggota {
private int id;
private String nama;
private String tmpLahir;
private Date tglLahir;
public Anggota(){
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getTmpLahir() {
return tmpLahir;
}
public void setTmpLahir(String tmpLahir) {
this.tmpLahir = tmpLahir;
}
public Date getTglLahir() {
return tglLahir;
}
public void setTglLahir(Date tglLahir) {
this.tglLahir = tglLahir;
}
}
1
Deklarasi paket
Import kelas Date
Nama kelas
Attribut atau Field
Constructor
Variabel
Ada beberapa jenis variabel, yaitu
 Variable yang terletak di dalam kelas, disebut field, attribute
 Variabel yang terletak didalam method atau blok kode, disebut local variable
 Variabel dalam deklarasi method, disebut sebagai parameter
Secara umum field terdiri dari 3 komponen, yaitu
 Tanpa atau dengan modifier
 Tipe data dari field
 Nama dari field
Salah satu setter
dan getter
Contructor
Adalah sebuah method atau fungsi yang diekseskusi ketika sebuah kelas diinisialisasi, secara default
sebuah Java Class memiliki 1 buah konstruktor tanpa parameter, konstruktor ini bisa ditulis, bisa tidak
ditulis. Setiap kelas dalam java bisa memiliki lebih dari 1 konstruktor dengan parameter yang berbeda –
beda.
Nama dari sebuah konstruktor harus sama dengan nama dari kelas dan tidak memiliki nilai kembalian.
Apabila sebuah kelas memiliki 1 buah konstruktor dengan 1 buah parameter atau lebih, maka kelas
tersebut menjadi tidak memiliki lagi konstruktor default.
Method
Method / operasi adalah apa yang bisa dilakukan oleh suatu objek, method bisa berupa setter getter
atau method yang berfungsi selain sebagai setter dan getter.
Secara umum method terdiri dari 7 komponen
 Modifier
 Return type
 Method name
 Parameter
 Exception
 Method body
Access Modifier
Access Modifier atau akses modifier menjelaskan bagaimana kelas lain menggunakan field atau
memanggil method. Sebuah kelas mungkin dideklarasikan dengan modifier public, sehingga kelas ini
dapat dipanggil dari kelas yang lain. Jika kelas tidak memiliki modifier (default), maka hanya dapat
dipanggil oleh kelas yang berada dalam satu paket.
Di level dibawah kelas ada constructor, attribute dan method. Dapat diberikan juga modifier public atau
default. Dibagian ini (constructor, attribute dan methodmember) ada dua tambahan modifier yaitu
private dan protected. Private modifier menunjukkan bahwa member hanya dapat diakses dari dalam
kelasnya sendiri. Protected modifier menunjukkan bahwa member dapat di akses dari kelasnya sendiri,
kelas dalam satu paket dan oleh subclassnya.
Access Levels
Modifier Class Package Subclass
public
Y
Y
Y
protected Y
Y
Y
Y
N
no modifier Y
private
Y
N
N
World
Y
N
N
N
Enkapsulasi
Ini adalah salah satu fitur penting di OOP. Enkapsulation atau enkapsulasi adalah suatu cara untuk
menyembunyikan detail dari suatu proses atau cara untuk memberikan akses tidak langsung ke data.
Dengan enkapsulasi, data yang ada dalam sistem lebih aman dan konsisten. Enkapsulasi juga akan
membuat detail proses yang rumit tersembunyi sehingga para pengguna suatu Class atau obyek akan
menemukan suatu kemudahan dimana. Kemudahan itu didapat karena mereka tidak perlu menyetahui
detail suatu proses untuk dapat melakukan suatu proses, cukup dengan nama Method yang dibutuhkan.
Latihan
Latihan Kelas
Pemrograman Lanjut | 9/17/2012
1. Buatlah sebuah kelas dengan nama Sepeda
2
2. Simpan dengan nama file Sepeda.java
3. Buatlah sebuah kelas lagi dengan nama Utama, simpan dengan nama Utama.java
4. Tambahkan method main pada kelas Utama, method main adalah method yang dijadikan starting
point pada aplikasi yang berbasiskan java
5. Buatlah objek sepedaKu dari kelas sepeda di method main yang terletak di kelas Utama, kemudian
inisialisasi dengan memanggil konstruktor sepeda
6. Buka command prompt kemudian arahkan ke direktory dimana project anda ada
7. Jalankan perintah javac Sepeda.java untuk mengkompile kelas Sepeda, jika berhasil maka akan
tertambah 1 buah file Sepeda.class
Pemrograman Lanjut | 9/17/2012
8. Lakukan perintah yang sama untuk kelas Utama.java, pastikan menghasilkan 2 file baru yaitu
Sepeda.class dan Utama.class
3
9. Jalankan kelas Utama dengan perintah java Utama
Latihan field
1. Tambahkan 1 buah variabel bernama warna dengan tipe data String dan modifier private
Field diatas digunakan untuk menampung warna sepeda, tipenya string dan modifiernya private
sehingga hanya dapat diakses dari kelas Sepeda.
2. Tambahkan 1 buah setter dan getter di kelas Sepeda untuk field warna
3. Panggil method setWarna di kelas Utama method main, beri warna Ijo
4. Sebutkan warna sepeda dengan method println dari objek out paket system, dengan cara
memanggil method getWarna dari objek sepedaKu
Pemrograman Lanjut | 9/17/2012
5. Kompile kelas Sepeda.java dan Utama.java kemudian jalankan kelas Utama, maka hasilnya seperti
berikut
4
Latihan Constructor
1. Tambahkan 1 buah konstruktor di kelas sepeda, konstruktor ini memiliki 1 buah parameter, yaitu
warna
2. Silahkan anda compile kelas sepeda kemudian jalankan lagi kelas Utama, pasti error !!!!
3. Errornya muncul adalah java.lang.NoSuchMethodError, coba anda cek di kelas Utama, pada saat
pemanggilan construktor Sepeda, kode programnya seperti berikut
Pemrograman Lanjut | 9/17/2012
4. Yang dilingkari diatas tampak bahwa new Sepeda adalah pemanggilan konstruktor kelas Sepeda, dan
tadi kita sudah menambahkan konstruktor di kelas sepeda
5
5. Maka kita harus merubah pemanggilan konstruktor dikelas Utama agar seperti berikut
Pemrograman Lanjut | 9/17/2012
Coba anda kompile lagi kelas Utama dan jalankan kelas utama maka tidak menghasilkan error dan
hasilnya adalah seperti berikut
6
Download