Pengantar Teknologi Informasi

SISTEM BERORIENTASI OBJEK

Definisi PBO
 Pendekatan Berorientasi Objek (Object Oriented Approach)
Merupakan pendekatan suatu metodologi atau cara pola pikir yang diterapkan menyeluruh tentang bagaimana memandang sesuatu baik sudut pandang pengguna, pengembang atau pengelola informasi
 Tujuan dari metodologi berorientasi objek adalah :
Sebagai salah satu alternatif pendekatan permasalahan untuk mencari pemecahan
Keunggulan PBO
 Menuntun penggunaan ulang (reuse) komponen-komponen program sebelumnya, yang menjadikan proses pengembangan software dapat dilakukan lebih cepat dan berkualitas tinggi
 Mempermudah dalam pemeliharaan karena memiliki struktur yang runtut dan stabil (inherent)
 Subsistem-subsistem yang dapat dipakai ulang
Konsep PBO
 Objek
 Kelas
 Atribut
 Operasi
 Antarmuka (Polimorfisme)
 Komponen
 Paket
 Subsistem
 Keterhubungan
 Realisasi
 Agregasi
 Komposisi
 Enkapsulasi
 Inheritas
Objek
 Merepresentasikan sebuah entitas, baik secara fisik, konsep maupun software
 Objek adalah :
Sebuah konsep, abstraksi atau sesuatu yang diberi batasan jelas dan dimaksudkan untuk sebuah aplikasi yang mempunyai keadaan, perilaku dan identitas.
 Keadaan dari objek adalah :
Satu dari kondidi yang memungkinkan dimana objek dapat muncul dapat secara normal berubah berdasarkan waktu
 Perilaku menentukan bagaimana sebuah objek beraksi dan bereaksi terhadap permintaan dari objek lainnya
Kelas
 Kelas adalah :
Definisi abstrak sari sebuah objek, dimana dijelaskan bahwa struktur dan perilaku dari tiap objek tergabung dalam suatu kelas
 Dari kelas dapat disediakan fasilitas untuk membuat suatu objek dan beberapa objek yang dikelompokkan ke dalam satu kelas
 Instansiasi dari kelas adalah :
Sebuah objek yang diciptakan dari sebuah kelas
 Kelas à deskripsi statik
 Objek à instansiasi dinamis dari kelas
 Contoh :
Kelas : Kuliah
Atribut : lokasi, hari yang ditawarkan, waktu SKS, waktu mulai dan berakhir
Perilaku (operasi) : menambah siswa, mengurangi siswa, mendapatkan jadwal kursus, penentuan kelas yang penuh
Atribut
 Atribut adalah :
Nama-nama properti dari sebuah kelas yang menjelaskan batasan nilainya dari properti yang dimiliki oleh sebuah kelas tersebut
 Atribut dari suatu kelas merepresentasikan properti-properti yang dimiliki oleh kelas tersebut
 Atribut mempunyai tipe yang menjelaskan tipe instansiasinya
 Keadaan (state) dari sebuah objek dijelaskan dengan nilai dari atribut-atribut yang dimilikinya (selain keberadaan hubungan dengan objek lainnya)
 Dalam sebuah kelas atribut dinyatakan keberadaan dan batasan nilainya saja
 Sebuah objek atributnya sudah dinyatakan nilai dan dijelaskan kedudukan / keadaan dari objek itu
Operasi
 Operasi adalah :
Implementasi dari layanan yang dapat diminta dari sebuah objek dari sebuah kelas yang menentukan tingkah lakunya
 Operasi berupa :
1. Perintah
Perintah dapat mengubah keadaan dari sebuah objek
1. Permintaan
Sebuah permintaan tidak boleh mengubah kedudukan dari objek tersebut
 Keluaran dari sebuah operasi tergantung dari nilai keadaan terakhir dari sebuah objek
Komponen
 Komponen tidak tergantung pada apapun dan merupakan bagian yang dapat diganti-ganti dari sebuah sistem
Antarmuka
 Antarmuka adalah :
Sebuah bagian yang menutupi bagian-bagian detail di dalamnya
 Antarmuka merupakan penerapan dari polymorfisme (polimorpisma)
 Polymorfisme adalah :
Kemampuan untuk menyembunyikan banyak detail implementasi yang berbeda-beda
Paket
 Paket adalah :
Mekanisme yang bertujuan umum untuk mengorganisasikan elemen-elemen ke dalam sebuah grup
 Paket tediri dari kelas-kelas yang dibutuhkan oleh beberapa subsistem tetapi diperlakukan sebagai unit tingkah laku
 Paket tidak perlu membutuhkan representasi pada pengimplementasiannya
Subsistem
 Subsistem adalah :
Pengelompokkan elemen-elemen dari beberapa elemen yang mempunyai tingkah laku yang berbeda-beda yang ditawarkan sehingga dapat digunakan untuk merepresentasikan komponen pada rancangan desain
 Sebuah subsistem mempunyai satu atau lebih antarmuka, yang menjelaskan tingkah laku mana yang akan ditampilkan
Keterhubungan
 Keterhubungan menyediakan cara-cara berkomunikasi antar objek
 Cara keterhubungan :
1. Asosiasi
Menampilkan keterhubungan struktural antar objek dari kelas yang berbeda, informasi yang harus dipersiapkan untuk jangka waktu tertentu dan keterhubungan dependensi prosedural yang mudah
2. Asosiasi agregasi
3. Asosiasi komposisi
4. Dependensi
Menggunakan keterhubungan yang menampilkan keterhubungan antara pengguna dengan penyedia dimana perubahan spesifikasi pada sisi penyedia akan mempengaruhi pengguna
5. Genaralisasi
Keterhubungan membuat khusus ataupun umum dimana elemen-elemen dari elemen yang lebih khusus (subtipe atau child) dapat mengganti elemen dari elemen yang lebih umum
6. Realisasi
Keterhubungan antara 2 klasifikasi, sebagai penghubung dan menyetujui untuk membawa
7. Komposisi
Bentuk keterhubungan agregaasi yang lebih kuat kepemilikannya dan mempunyai jangka waktu yang timbul sesuai kebutuhan
Enkapsulasi
 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 (antarmuka) yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya.
 Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut
Inheritas
 Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)
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.