Jumat, 30 April 2010

Konsep OOP

Pemrograman berorientasi objek diciptakan untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada dalam kehidupan nyata. Dalam paradigma ini, sesuai dengan model kehidupan nyata, segala bagian (entiti) dari suatu permasalahan adalah objek. Objek-objek ini kemudian juga dapat berupa gabungan dari beberapa objek yang lebih kecil....
Sebagai contoh, tengoklah sebuah mobil. Mobil adalah sebuah objek dalam kehidupan nyata. Namun mobil sendiri terbentuk dari beberapa objek yang lebih kecil seperti roda ban, mesin, jok, dll. Mobil sebagai objek yang merupakan gabungan dari objek yang lebih kecil dibentuk dengan membentuk hubungan antara objek-objek penyusunnya. Begitu juga dengan sebuah program. Objek besar dapat dibentuk dengan menggabungkan beberapa objek-objek dalam bahasa pemrograman. Objek-objek tersebut berkomunikasi dengan saling mengirim pesan kepada objek lain.

Konsep-konsep pemrograman berorientasi objek dalam Java secara umum sama dengan yang digunakan oleh bahasa-bahasa lain. Jadi kebanyakan konsep yang kita bahas juga terdapat dalam bahasa selain Java. Namun, terkadang terdapat perbedaan-perbedaan kecil antara penerapan konsep-konsep tersebut dalam masing-masing bahasa. Perbedaan-perbedaan ini juga akan dijelaskan seiring penjelasan masing-masing konsep.



Merupakan template untukmembuat obyek. Definisi class: merupakan prototipe / blue prints yang mendefinisikan variabel – variabel dan method – method secara umum.
Obyek merupakan hasil instansiasi dari suatu kelas.
Proses pembentukan obyek dari suatu class disebut dengan instantiation.
Obyek disebut juga instances.


class Buku {
String pengarang;
String judul;
void Isi(String isi1,String isi2) {
judul = isi1;
pengarang = isi2;
}
void CetakKeLayar() {
if(judul==null && pengarang==null) return;
System.out.println("Judul : " + judul + ", pengarang : " + pengarang);
}
}
class Karangan {
public static void main(String[] args) {
Buku a,b,c,d;
a = b = c = d = new Buku();
a.Isi("Pemrograman Java","Asep Herman Suyanto");
a.CetakKeLayar();
b.Isi(null,null);
b.CetakKeLayar();
c.Isi(null,"Johan Prasetyo Hendriyanto");
c.CetakKeLayar();
d.Isi("Pemrograman Web",null);
d.CetakKeLayar();
}
}




Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu :
- Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state.
- Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.

Contoh sederhananya adalah : objek sepeda
- Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna.
- Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda.

Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur


Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.


Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta
menyediakan interface untuk mengakses variable tersebut.Variabel dan method yang dipunyai suatu obyek, bisa ditentukan hak aksesnya.
Contoh: jam tangan
- Penting sekali untuk mengetahui waktu.
- Cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.
Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.


Merupakan pewarisan atribut dan method dari sebuah class ke class
Lain yang masih sejenis.
- Class yang mewarisi -->superclass
- Class yang diwarisi --> subclass
Subclass bisa berlaku sebagai superclass bagi class lainya --> multilevel inheritance.
Contoh : terdapat class sepeda dan sepeda
gunung.
- Sepeda --> superclass
- Sepeda gunung --> subclass
Sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda.

Prinsip : Persamaan-persamaan yang dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.

Keuntungan pewarisan :
- Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass --> memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.
- Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan tingkah laku dan state secara umum.



Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.




Dalam java terdapat beberapa tipe akses yang diberikan :

1.Private
Izin akses private pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk melindungi atribut-atributnya agar tidak dapat diakses oleh kelas lain. Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangakan kelas lainnya tidak dapat mengakses atribut ini secara langsung.

2.Public
Izin akses public sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya.

3.Protected
Izin akses protected sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain yang merupakan kelas turunannya (inheritance). Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya.



Array atau dalam beberapa literatur disebut sebagai larik, adalah suatu tipe variabel yang berisi kumpulan data dengan setiap elemen datanya bertipe sama. Setiap komponen atau elemen array dapat diakses dan dibedakan melalui indeks yang spesifik dimana jumlahnya sebanyak ukuran array tersebut dikurangi satu (karena perhitungan indeks dimulai dari nol).

Fungsi Array

Sebagai langkah efisiensi penggunan memori komputer, sebab data elemen array dialokasikan pada suatu deretan sel memori tertentu. Hal ini jauh lebih efisien dibandingkan dengan jika kita mendefinisikan masing – masing data pada suatu variabel tersendiri yang pastinya akan banyak menyita memori.
Agar memudahkan programmer dalam menyusun aplikasi yang berhubungan dengan banyak data terutama dalam masalah pencarian dan pengurutan data secara cepat.




Selain pembuatan array di atas, Anda juga dapat melakukan manipulasi pada array. Manipulasi tersebut antara lain meliputi manambahkan array, menggabungkan array, menghapus array, serta mengurutkan array.

1.Menambahkan Array
Untuk menambahkan array digunakan function array_push(). Fungsi ini akan mengembalikan keseluruhan nomor elemen pada array.

2.Menggabungkan Array
Untuk menggabungkan array digunakan function array_merge(). Fungsi ini dapat menggabungkan dua atau beberapa array sekaligus. Penggabungan array ini dapat dilakukan pada variabel array dengan tipe element serta indeks yang berbeda.

3.Menghapus Array
Untuk menghapus array digunakan function array_shift(). Fungsi ini menghapus elemen pertama dari array.

4.Mengurutkan Array
Untuk mengurutkan array digunakan sort(), yang akan mengurutkan array berdasarkan alphabet bila berupa string dan dari kecil ke besar bila berupa nomor. Jadi fungsi ini berguna bila anda memiliki elemen array yang acak.


Sumber :

http://www.find-pdf.com/cari-pengertian+class+java.html

http://asep-hs.web.ugm.ac.id/Artikel/MODUL%20PEMROGRAMAN%20JAVA/MODUL%20FINAL/BAB%20IV%20KONSEP%20PEMROGRAMAN%20BERORIENTASI%20OBJEK.pdf

http://asep-hs.web.ugm.ac.id/Artikel/MODUL%20PEMROGRAMAN%20JAVA/MODUL%20FINAL/BAB%20IV%20KONSEP%20PEMROGRAMAN%20BERORIENTASI%20OBJEK.pdf

http://www.kompiku.com/2008/09/manipulasi-array.html
Selengkapnya...

Senin, 19 April 2010

uml class diagram

Selengkapnya...