PENGENALAN OBJECT ORIENTED PROGRAMMING / PEMROGRAMAN BERORIENTASI OBJECT
PENGENALAN OBJECT ORIENTED PROGRAMMING / PEMROGRAMAN BERORIENTASI OBJECT
Pembahasan OOP cukup
luas, tetapi dengan konsep dasar ini, anda dapat digolongkan sebagai
programmer berorientasi Object. Adapun yang akan dibahas dalam bab ini
adalah antara lain :
Karakteristik OOP
Dari
karakteristik OOP ini, kita dapat menggolongkan program atau perangkat
lunak tergolong bahasa pemrograman berorientasi Object atau tidak.
Karakteristik OOP antara lain : Encapsulation, Polymorphisme, Inheritance.
Selain
dari karakteristik tersebut diatas, ada beberapa pengertian Penting
OOP, antara lain : Object, Kelas, Metode, Konstraktor, Karakterisik,
Variabel, Data.
Dalam pembahasan pngertian tersebut yang akan dibahas adalah mengenai :
Data
Data
adalah istilah lain dari variabel OOP. Dalam pemrograman Java bisa juga
disebut field, data member atau instance variabel. Data member
dideklarasikan pada kelas.
Variable
Variable
adalah bagian dari program yang digunakan untuk menyimpan data. Sebagai
tempat menyimpan data, variable harus dideklarasikan, yaitu diberi tipe
data, nama variable, dan dapat juga diberi nilai awal (inisiasi).
Object/Objek
Object
adalah benda, baik yang berwujud nyata seperti yang dijumpai dalam
kehidupan anda, maupun tidak nyata, seperti halnya yang berupa sistem
atau konsep.
Class/Kelas
Class
adalah wadah yang berisi abstraksi (permodelan) dari suatu
Object(benda), yang mendeskripsikan data(sifat karakteristik) dan fungsi
yang dimiliki oleh Object tersebut. Class disebut juga pemodelan dari
Object yang berisi informasi (aturan) tentang sifat karakteristik (data)
dan tingkah laku (method) yang dimiliki oleh Object tersebut.
Konstruktor
Konstruktor
adalah method khusus yang memiliki nama sama dengan nama class.
Konstruktor memiliki dua karakteristik sebagai berikut,
· Konstruktor tidak mengembalikan nilai
· Konstruktor mempunyai nama sama dengan nama class
Jika
konstruktor tidak didefinisikan, Java memberikan konstruktor dengan
nama constactor_default. Konstruktor default tidak melakukan apa –
apa,namun variable yang dtidak diinisiasikan dianggap sebagai berikut,
· Variable numeric diset ke 0
· String diset ke null
· Variable Boolean diset ke false
Method
Method
/ Prosedur / Fungsi / Behaviour merupakan istilah yang sama. Method
adalah prosedur/fungsi yang dimiliki oleh sebuah Object. Karena pada
dasarnya merupakan prosedur/fungsi, maka method ini akan mengolah atau
mengubah data/variable yang ada di dalam Object sesuai dengan operasi
yang dilakukan. Dari proses tersebut akan terjadi 3 kemungkinan :
1. Mengembalikan suatu nilai akhir.
2. Mengembalikan nilai yang bersifat sementara untuk kemudian diteruskan ke method lain.
3. Tidak mengembalikan nilai sama sekali.
Bentuk Umum Method
[modifier1] tipeNilaiKembalian namaMethod (parameter input) {
Method body;
}
Jenis Method: Setter dan Getter
Contoh :
Setter
adalah method untuk memberikan atau merubah nilai suatu variable class
yang tidak bertipe public yang hanya bisa dirubah melalui method class
tersebut.
public void menabung(double setoran){
saldo += setoran;
}
Getter
adalah method untuk memberikan atau merubah nilai suatu variable class
yang tidak bertipe public yang hanya bisa diambil melalui method class
tersebut.
public double saldo(){
return saldo;
}
Parameter
- Sepeda akan berguna apabila ada object lain yang berinterasi dengan sepeda tersebut
- Object software berinteraksi dan berkomunikasi dengan object lain dengan cara mengirimkan message atau pesan
- Pesan adalah suatu method, dan informasi dalam pesan dikenal dengan nama parameter
- You àobject pengirim
- YourBicycle àobject penerima
- changeGears àpesan berupa method yang dijalankan
- lowerGear àparameter yang dibutuhkan method (pesan) untuk dijalankan
Kata Kunci this
Digunakan pada pembuatan class dan digunakan untuk menyatakan object sekarang. Penggunaan this lebih kepada flexibilitas dalam refactoring,konsistensi dan keakuratan.
Dalam
pemrograman berorientasi Object, focus utama adalah pada Object.
Sebelum membuat program lebih dahulu memahami masalah dengan memandang
sistem sebagai kumpulan Object. Persyaratan membuat program berorientasi
Object dengan Java dapat disimpulkan sebagai berikut,
· Mendefinisikan
class dengan pewarisannya. Hal ini dilakukan dengan membuat diagram
class yang memperlihatkan class serta struktur hirarkinya dalam sistem.
· Menentukan atribut dan method dengan memperlihatkan bahwa class turunan mewarisi atribut dan method dari class induknya.
· Menentukan
message uang ada dari satu class ke class lainnya. Diagram class yang
dilengkapi dengan atribut, method, dan serta hubungan message tersebut.
· Membuat program dengan jaba berdasarkan diagram Object tersebut.
Perbedaan Class dan Object
- Class: konsep dan deskripsi dari sesuatu
• Class mendeklarasikan method yang dapat digunakan (dipanggil) oleh object
- Object: instance dari class, bentuk (contoh) nyata dari class
• Object memiliki sifat independen dan dapat digunakan untuk memanggil method
- Contoh Class dan Object:
• Class: mobil
• Object: mobilnya pak Joko, mobilku, mobil berwarna merah
- Class seperti cetakan kue, dimana kue yg dihasilkan dari cetakan kue itu adalah object
- Warna kue bisa bermacam-macam meskipun berasal dari cetakan yang sama (object memiliki sifat independen)
Pilar – pilar dalam OOP (Object Oriented Programming)
Perwarisan (Inheritance)
Pewarisan
merupakan salah satu karakteristik dari OOP. Mendefinisikan class
berdasarkan class yang ada disebut penurunan. Class baru atau class
turunan berhubungan langsung dengan class diatasnya. Class asal disebut
superclass.Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy.Penting untuk Reusability. Menggunakan key word EXTENDS
Contoh
kasus dibawah ini adalah telepon merupakan alat yang menjadi inspirasi
dibuatnya HP. Dengan beberapa fungsi tambahan. Disini fungsi tambahannya
hanya melakukan sms. Anda dapat mengembangkan dengan fungsi infrared,
Bluetooth, kamera, 3G dan lain- lain.
Contoh Programnya:
class telepon{ // super class
void berbicara(){
System.out.println(“Tekan nomor tujuan, panggil”);
System.out.println(“Berbicara dengan lawan bicara”);
System.out.println(“Setelah selesai, tutup”);
}
}
class HP extends telepon{ //subclass dengan pewarisan superclass dari telepon
void SMS(){
System.out.println(“Ketik pesan yang hendak dikirimkan”);
System.out.println(“Kirim ke nomor yang dituju”);
System.out.println(“Tunggu balasan”);
}
public static void main(String[] args){
HP handphone = new HP();
System.out.println(“Fungsi dasar telepon”);
handphone.berbicara();
System.out.println(“Fungsi baru pada telepon tanpa kabel”);
handphone.SMS();
}
}
Pembungkusan (Encapsulation)
Dalam
pemrograman Java yang berorientasi murni Object ini, program hanya
dipusatkan pada aspek internal tidak melihat aspek ekternal
masing-masing Object, sehingga pembuatan program tidak perlu memikirkan
terlalu susah, bagaimana program berjalan. Hal ini yang disebut dengan Encapsulation atau data dan perilaku menjadi dalam satu program.
Contoh
program memakai konsep encapsultation ini adalah program hak akses.
Masing-masing data member memakai hak akses baik private, public maupun
protected.
Karena
itu dibutuhkan yang disebut dengan package atau paket. Paket adalah
bagian implicit standar Java untuk mengelompokan class dengan interface
menjadi suatu unit, yaitu koleksi dari class dengan nama tertentu.
Tujuan mengelompokkan class dalam paket adalah memudahkan dalam
menambahkan class ke dalam program. Dengan bergitu penerapan hak akses
terhadap suatu variable dan Object.
Enkapsulasi data dapat dilakukan dengan cara:
1. mendeklarasikan instance variable sebagai private
2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut
Banyak bentuk (Polymorphism)
Polymorphism
berarti mempunyai banyak bentuk. Dua Object atau lebih mempunyai hal
yang serupa tetapi mempunyai perilaku yang berbeda. Superclass dapat
mempunyai method yang juga dimiliki oleh class turunannya. Method pada
superclass dapat merupakan method virtual digunakan program yang
memanggil suatu fungsi dari suatu class,mungkin memanggil fungsi pada
class lain.Kemampuan untuk memperlakukan object yang memiliki perilaku (bentuk) yang berbeda.
Implementasi konsep polymorphism:
1. Overloading: Kemampuan untuk menggunakan nama yang sama untuk beberapa method yang berbeda parameter (tipe dan atau jumlah).
2. Overriding:
Kemampuan subclass untuk menimpa method dari superclass, yaitu dengan
cara menggunakan nama dan parameter yang sama pada method.
Contoh
kasus dibawah ini. Kita akan menggunakan suatu method yang mempunyai
beberapa bentuk masukan parameter, dimana masukan parameter tersebut
tidak sama, sehingga bisa menentukan method mana yang akan dipanggil.
class HPMulti{
public void HP(long no_telp){
System.out.println(“Anda sedang menghubungi no. telp : “+ no_telp);
}
public void HP(long no_telp,String teks){
System.out.println(“Anda mengirim pesan ke no. telp : ” + no_telp);
System.out.println(“Pesan anda berisi : ” + teks);
}
public void HP(int a,int b){
System.out.println(“Hasil operasi penjumlahan 2 bilangan tersebut adalah “+(a+b));
}
}
class HPBerfungsi{
public static void main(String[] args){
HPMulti fungsi = new HPMulti();
System.out.println(“menggunakan fungsi panggilan”);
fungsi.HP(7716953);
System.out.println(“menggunakan fungsi SMS”);
fungsi.HP(9613932,”Assalamualaikum Wr.Wb”);
System.out.println(“menggunakan fungsi kalkulator”);
fungsi.HP(20,30);
}
}
Abstraction
Cara
kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu
sebagai suatu kumpulan subsistem (object) yang saling berinteraksi.Sebagai contoh,Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem pengereman.Alat meng-abstraksikan sesuatu adalah class. Object bersifat modularity. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain.
PENGORGANISASIAN CLASS
Packages
Package adalah koleksi dari beberapa class dan interface yang berhubungan, dan menyediakan proteksi akses dan pengelolaan namespace. 1 package adalah 1 folder di file system.Package berguna untuk mengorganisir file dalam suatu project atau library. Nama package menggunakan lowercase. Nama package mengikuti nama domain (perusahaan) dengan susunan terbalik. Menggunakan keyword: package name;
Interface
Interface
digunakan apabila kita ingin menentukan apa yang harus dilakukan oleh
suatu class tapi tidak menentukan bagaimana cara untuk melakukannya. Interface sebenarnya sama dengan class, tapi hanya memiliki deklarasi method tanpa implementasi.
Kompresi dengan JAR
JAR atau Java Archive adalah metode kompresi standard dari file-file yang berisi program Java. JAR menampung file .class dan file lain yang dibutuhkan supaya program bisa berjalan dengan baik. Kompresi dapat dilakukan setelah semua class dikompilasi.
Penggunaan JAR
Perintah Membuat file JAR:
jar –cvf namafile.jar file1.class file2.class
Perintah Melihat isi dalam file JAR:
jar –tvf namafile.jar
Perintah Mengekstraksi isi file JAR:
jar –xvf namafile.jar
Keterangan Pilihan:
• c = create (membuat file JAR)
• v = verbose (menampilkan informasi pada layar)
• f = filename (daftar nama file yang akan dikompresi)
JAR Manifest
JAR Manifest dibuat secara otomatis dan diletakkan di dalam folder META-INF pada file kompresi yang kita buat. JAR Manifest digunakan untuk mendeskripsikan file-file yang terdalam dalam file JAR.
Java API Library and Documentation
API: Application Programming Interface. API documentation: daftar class dan method di java library
Play Casino - DrmCD
BalasHapusFree Slots from DrmCD. 거제 출장샵 The Best Online 거제 출장안마 Casinos & Slot Games 문경 출장샵 from DrmCD 영주 출장마사지 This includes online slots, 창원 출장마사지 video slots, video poker,