Setelah bingung dan pusing akirnya nemu juga nih, dari eyang google, apa itu bahasa berorientasi objek????
Model Data Berorientasi Objek’ atau object-oriented programming (OOP)
merupakan paradigma pemrograman yang berorientasikan kepada objek.
Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas
atau objek-objek. Bandingkan dengan logika pemrograman terstruktur.
Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke
objek lainnya.
Model Data berorientasi objek dikatakan dapat memberi fleksibilitas
yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik
piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim
bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan
sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Pemrograman ini mempunyai fungsi-fungsi obyek yang mudah dipahami dan
memiliki antar muka yang jelas dan layak antar obyek. Pendekatan yang
digunakan adalah top-down design dimana masalah dipahami pertama kali
dalam bentuk paling abstrak, baru kemudian mendefinisikan sub rutin yang
berkaitan dengan implementasi yang lebih konkrit.
Pemrograman Berorientasi Objek (OOP) adalah metode pemrograman yang
meniru cara kita memperlakukan sesuatu(benda). Ada tiga karakteristik
bahasa Pemrograman Berorientasi Objek, yaitu :
1. Pengkapsulan (Encapsulation)
Mengkombinasikan suatu struktur dengan fungsi yang memanipulasinya untuk
membentuk tipe data baru yaitu kelas (class). Selain itu pengkapsulan
juga memastikan pengguna sebuah objek tidak dapat mengganti keadaan
dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam
objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap
objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat
berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan
tergantung kepada representasi dalam objek tersebut.
Analoginya adalah seperti ini, bayangkan jika anda seorang arsitek,
sebelum membangun rumah tentunya akan merancang dulu di kertas, jumlah
dan letak pintu, jendela, dan semuanya, itulah class. Kemudian dari
gambar rumah tersebut kita dapat membangun banyak rumah sesuai rancangan
yang sudah dibuat. Masing-masing rumah jadi tersebut adalah yang
disebut dengan objek/instance.
2. Pewarisan (Inheritance)
Mendefinisikan suatu kelas dan kemudian menggunakannya untuk membangun
hirarki kelas turunan, yang mana masing-masing turunan mewarisi semua
akses kode maupun data kelas dasarnya.
Objek didefinisikan dan diciptakan dengan jenis khusus dari objek
yang sudah ada objek-objek ini dapat membagi (dan memperluas) perilaku
mereka tanpa harus mengimplementasi ulang perilaku tersebut (bahasa
berbasis-objek tidak selalu memiliki inheritas.)
Suatu kelas dapat diciptakan berdasarkan kelas lain. Kelas baru ini
mempunyai sifat-sifat yang sama dengan kelas pembentuknya, ditambah
sifat-sifat khusus lainnya. Dengan pewarisan kita dapat menciptakan
kelas baru yang mempunyai sifat sama dengan kelas lain tanpa harus
menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting
dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar
pertama penggunaan kode ulang (code reuse).
Yang perlu menjadi catatan di sini adalah bahwa data dan fungsi yang
dapat diwariskan hanya yang bersifat public dan protected. Untuk data
dan fungsi private tetap tidak dapat diwariskan. Hal ini disebabkan
sifat protected yang hanya dapat diakses dari dalam kelas saja. Sifat
pewarisan ini menyebabkan kelas-kelas dalam pemrograman berorientasi
objek membentuk hirarki kelas mulai dari kelas dasar, kelas turunan
pertama, kelas turunan kedua dan seterusnya. Sebagai gambaran misalnya
ada hirarki kelas unggas.
Sebagai kelas dasar adalah Unggas. Salah satu sifat Unggas adalah
bertelur dan bersayap. Kelas turunan pertama adalah Ayam, Burung dan
Bebek. Tiga kelas turunan ini mewarisi sifat kelas dasar Unggas yaitu
bertelur dan bersayap. Selain mewarisi sifat kelas dasar, masing-masing
kelas turunan mempunyai sifat khusus, Ayam berkokok, Burung terbang dan
Bebek berenang. Kelas Ayam punya kelas turunan yaitu Ayam Kampung dan
Ayam Hutan. Dua kelas ini mewarisi sifat kelas Ayam yang berkokok.
Tetapi dua kelas ini juga punya sifat yang berbeda, yaitu: Ayam Kampung
berkokok panjang halus sedangkan Ayam hutan berkokok pendek dan kasar.
3. Polimorphisme (Polymorphism)
Memberikan satu aksi untuk satu nama yang dipakai bersama pada satu
hirarki kelas, yang mana masing-masing kelas hirarki menerapkan cara
yang sesuai dengan dirinya. 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.
Pemrograman orientasi-objek menekankan konsep berikut:
1. Class
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk
suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit
yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk
pada berbagai macam perilaku/turunan dari anjing.
Sebuah class adalah dasar dari modularitas dan struktur dalam
pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya
dapat dikenali oleh seorang non-programmer sekalipun terkait dengan
domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class
sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode
tersebut digunakan jika tidak menggunakan OOP).
Dengan modularitas, struktur dari sebuah program akan terkait dengan
aspek-aspek dalam masalah yang akan diselesaikan melalui program
tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke
sebuah program ataupun sebaliknya.
2. Objek
Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah
program komputer; objek merupakan dasar dari modularitas dan struktur
dalam sebuah program komputer berorientasi objek.
3. Abstraksi
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.
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah
kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut
(terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan
masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen
yang memiliki manager, sekretaris, petugas administrasi data dan
lainnya. Misal manager tersebut ingin memperoleh data dari bagian
administrasi maka manager tersebut tidak harus mengambilnya langsung
tetapi dapat menyuruh petugas bagi administrasi untuk mengambilnya. Pada
kasus tersebut seorang manager tidak harus mengetahui bagaimana cara
mengambil data tersebut tetapi manager bisa mendapatkan data tersebut
melalui objek petugas administrasi. Jadi untuk menyelesaikan suatu
masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek
memiliki job descriptionnya sendiri.
KONSTRUKTOR DAN DESTRUKTOR
Konstruktor adalah fungsi khusus anggota kelas yang otomatis dijalankan
pada saat penciptaan objek (mendeklarasikan instance). Konstruktor
ditandai dengan namanya, yaitu sama dengan nama kelas. Konstruktor tidak
mempunyai tipe hasil, bahkan juga bukan bertipe void. Biasanya
konstruktor dipakai untuk inisialisasi anggota data dan melakukan
operasi lain seperti membuka file dan melakukan alokasi memori secara
dinamis. Meskipun konstruktor tidak harus ada di dalam kelas, tetapi
jika diperlukan konstruktor dapat lebih dari satu.
Tiga jenis konstruktor:
1. Konstruktor default : tidak dapat meneriman argumen, anggota data diberi nilai awal tertentu
2. Konstruktor penyalinan dengan parameter : anggota data diberi nilai awal berasal dari parameter.
3. Konstruktor penyalinan objek lain : parameter berupa objek lain, anggota data diberi nilai awal dari objek lain.
Destruktor adalah pasangan konstruktor. Pada saat program menciptakan
objek secara otomatis konstruktor akan dijalankan, yang biasanya
dimaksudkan untuk memberi nilai awal variabel private. Fungsi destruktor
(penghancur atau pelenyap) secara otomatis akan dijalankan pada saat
berakhirnya kehidupan objek. Fungsi destruktor adalah untuk
mende-alokasikan memori dinamis yang diciptakan konstruktor.
Gimana??? udah jelas??? sekarang kita lanjut belajar perulangan yukk,, klik disini
0 Comment "Bahasa Java Bag 5"
Post a Comment