A. Object
Adalah sesuatu yang bersifat nyata, kesatuan entitas (benda) yang berwujud nyata atau hanya suatu system atau konsep yang memiliki sifat karakteristik dan fungsi
Contoh : uang ,rumah mobil dll
B. Class
Adalah pemodelan yang bersifat abstrak dari suatu objek yang mendeskripsikan data (sifat) dan fungsi yang dimiliki objek tersebut
Contoh : resep kue, gambar rumah, cetakan uang dll
C. Instance
Adalah pembentukan objek dari suatu benda yang disebut instansiasi
Contoh: Pensil merupakan instan dari class AlatTulis yang mempunyai data (sifat karakteristik) berbentuk batang, mudah digerakkan
D. Data=variabel=property=attribute
Adalah sifat karakteristik yang dimiliki suatu objek
Contoh : Dari class HewanDaratBerkakiEmpat dapat diinstans objek-objek kucing, kuda, singa dll. Data dari class ini adalah jumlaj kaki, bulu, jenis makanan dll.
E. Method=prosedur/fungsi=behaviour
Adalah prosedur atau fungsi yang dimiliki oleh sebuah objek. Method ini mengolah atau mengubah data atau variabel yang ada dalan objek sesuai dengan operasi yang telah ditentukan. Ada 3 jenis pengolahan
Mengembalikan nilai akhir
Mengembalikan nilai sementara untuk diberikan ke method yang lain
Tidak mengembalikan nilai
Kerangka OOP
A. Komentar
Ada 3 cara penulisan komentar
// sebanyak satu baris
/* lebih dari satu baris */
//* lebih dari satu baris
B. Package(paket) dan Import
Package akan memberitahu kompiler ke library tertentu ketika suatu file class akan dikompile. Import akam memberitahu kompiler untuk mengimport suatu komponen yang terletak dalam suatu library
C. Class
Sintaks :
(modifier) Class NamaKelas (keyword tambahan)
{
Class Body
}
Modifier berfungsi untuk menerangkan sifat suatu unsure (class/data/method). Beberapa modifier yang digunakan adalah abstract, final, multiple, static, public, private, protected.
Class Body
Meliputi :
Class Body yaitu bagian program yang merupakan isi dari class yang mendefinisikan obkel, sifat, method sebagai blueprint untuk menciptakan objek tersebut, yang ditulis dalm { }. Dibutuhkan juga konstruktor untuk mendeklarasikan class body dengan memberi nilai default
Blok digunakan untuk menghimpun bagian tertentu program
Data/Variabel
Adalah bagian memori untuk menyimpan data. Setiap variabel harus memiliki tipe data yang unik.
Contoh
Mendeklarasikan variabel dengan tipe tertentu
Typedata namaVariabel
Int radius;
Menetapkan suatu nilai
Radius = 3;
Menggabungkan deklarasi dan menetapkan
Int radius = 2;
Method
Dapat diilustrasikan sebagai kotak hitam yang berfungsi menerima data masukan, memproses sesuai operasi yang ditentukan, mengembalikan data hasil kepada bagian yang memanggil. Dilihat dari nilai yang dikembalikan, method memiliki 2 kemungkinan yaitu mengembalkan suatu nilai atau tidak. Bila mengembalikan suatu nilai maka nilai kembaliannya harus dituliskan sesuai tipe datanya, sedangkan bila tidak mengembalikan nilai diberi atribut void
Main Method
Java interpreter mencari dulu main method
Sintaks
Public static void main( String args[])
{
Body dari Main Method
}
MEMBUAT OBJECT DARI CLASS
Dibutuhkan operator new untuk membuat objek suatu kelas
Sintaks
NamaKelas VariabelReferensiObjek= new NamaKelas();
A. Mendeklarasikan variable referensi objek
NamaKelas Objek referensi
Lingkaran LingkaranSatu
B. Menciptakan objek dari kelas dengan operator new
new NamaKelas();
new Lingkaran();
C. Menugaskan variable pada objek yang dibuat
LingkaranSatu = new Lingkaran();
MENGAKSES DATA DAN METHOD DARI SUATU CLASS
NamaKelas.namaVariabel;
NamaKelas.namaMethod
INHERITANCE
Inheritance (pewarisan atau penurunan) adalah membuat class yang merupakan exstension dari class lain. Karena itu penurunan class dalam java dilakukan dengan keyword extends. Java tidak membolehkan multiple inheritance ( sebuah class dapat diturunkan dari lebih class yangb tidak berada dalam satu garis hirarki) , sehingga sebuah class hanya boleh menurunkan 1 class saja. Agar dapat menggunakan multiple inheritance digunakan keyword implements yang dipakai menurunkan sifat dari satu atau lebih interface
Tujuan inheritance
A.Bersifat reusable
Bayangkan bila membuat class dari basis yang sama ( data dan method yang sama), namun pada masing-masing akan ditambahkan data dan method yang khusus. Tanpa inheritance harus menyalin semua data dan method dari suatu class. Tapi jika duplikasi dari class standar API, tidak mudah karena class tersebut terbungkus dalam unit J2SDK sehingga tidak dapat melihat listing source codenya
B.Mudah dalam manage class yang mempunyai data dan method yang sama
Contoh
class Mamalia
{
Boolean menyusui = true;
}
class Carnivora extends Mamalia
{
String makanan =”daging”;
}
Class Anjing extends Carnivora
{
Int kaki =4;
}
Class Contoh
{
Public static void main(String[]arguments)
{
Anjing herder = new Anjing();
System.out.println(herder.menyusui);
System.out.println(herder.makanan);
System.out.println(herder.kaki);
}
}
Diatas sebuah class menurunkan sifat dari class lainnya dengan memakai extends sehingga
- Class Anjing menurunkan sifat dari class Carnivora
- Class Carnivora menurunkan sifat dari class Mamalia
Objek herder merupakan instance dari class Anjing, karena punya class Anjing, maka objek herder mempunyai sifat dari class Anjing, class Carnivora, class Mamalia
SUPERCLASS DAN SUBCLASS
- Class Mamalia adalah superclass dari class Carnivora
- Class Mamalia adalah superclass dari class Anjing
- Class Carnivora adalah superclass dari class Anjing
- Class Carnivora adalah subclass dari class Mamalia
- Class Anjing adalah subclas dari class Mamalia
- Class Anjing adalah subclass dari class Carnivora
Keyword super digunakan untuk mengakses anggota dari superclass
ENCAPSULATION (ENKAPSULASI)
Yaitu cara membungkus data dan method yang menyusun class dan menyembunyikan dari luar. Sehingga program tersebut tidak dapat diketahui orang lain, mereka hanya dapat menggunakan komponen tersebut.
Keuntungan enkapsulasi
- Bersifat Independen
Bersifat independen dari modul lainnya sehingga dapat digunakan pada bagian manapun dari program. Dan tidak akan terikat pada bagian tertentu dari program
- Bersifat transparan
Jika dilakukan modifikasi pada suatu modul, maka perubahan akan dirasakan pada program yang menggunakan program tersebut
- Menghindari efek diluar perencanaan
Keempat field dan metode tersebut dibungkus bersama-sama didalam sebuah class. Dalam contoh diatas, field (data) suara dan kaki tidak perlu diketahui oleh pihak diluar class. Karena itu untuk mengaksesnya, dapat memakai metode bunyi() dan JumlahKaki(). Sehingga pihak diluar class hanya perlu mengetahui bahwa ada class bernama kuda. Objek class tersebut akan berbunyi “hik” ( metode bunyi()) dan mempunyai 4 kaki (metode jumlahKaki()).
POLYMORPHISM
Yaitu mempunyai banyak bentuk.
Class Carnivora
{
Void public bunyi() {
System.out.println(“????”)
}
}
Class Anjing extends Carnivora{
String suara=”guggug”;
Int kaki = 4;
Void public bunyi()
{
System.out.println(suara);
}
Int public jumlahKaki()
{
Return kaki;
}
}
Dalam hal ini class Carnivora dan Anjing mempunyai metode bunyi(). Metode bunyi() dalam class Anjing menumpuki (override) metode bunyi() dalam class carnivore. Dengan kata lain class menurunkan sifat bunyi() dari class Carnivora. Tetapi implementasi dari sifat bunyi() tersebut berbeda.
Class Carnivora juga menurunkan sifat kepada class-class yang lain seperti kucing dan beruang. Sifat bunyi() dari masing-masing class tersebut pasti berbeda
INTERFACE
Adalah sekumpulan metode abstrak yang tidak memiliki implementasi
Ketika sebuah class memakai metode abstrak, mengimplementasikan interface tersebut dengan memakai keyword implements. Interface harus dideklarasikan .public. Dalam Interface adalah aturan-aturan untuk class yang akan mengimplementasikan interface tersebut. Interface untuk mendeklarasikan koleksi method dan konstanta
Contoh
//-------------Kontrol.java---------------------
public interface Kontrol {
void On();
void off();
//---------------------------TesKontrol.java-----------------
public class TesKontrol
{
Public static void main(String args[])
{
Kontrol radio = new Radio();
Kontrol televisi = new Televisi();
Kontrol komputer = new Komputer();
radio.On();
televisi.On();
komputer.On();
radio.Off();
televisi.Off();
komputer.Off();
}
}
Class Radio implements Kontrol{
Public void On()
{
System.out.println(“radio hidup”);
}
Public void Off()
{
System.out.println(“radio mati”);
}
}
0 komentar:
Posting Komentar