Konsep dan Prinsip Berorientasi Objek
Perangkat Lunak : Merupakan program-program komputer dan dokumentasi yang berkaitan, Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum Produk perangkat lunak tersebut:
* Generik – dibuat untuk dijual ke suatu kumpulan pengguna yang berbeda.
* Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasinya.
Rekayasa Perangkat Lunak :
adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak. mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia
Paradigma Berorientasi Objek
* Paradigma OO meliputi suatu pandangan yang lengkap mengenai Rekayasa Perangkat Lunak.
* Rekayasa Perangkat Lunak dengan metoda klasik:
1. Analisis
2. Desain
3. Pemrograman
4. Pengujian
5. Teknologi yang sesuai
Paradigma Rekayasa Perangkat Lunak OO
Model proses evolusioner yang di rangkai dengan suatu pendekatan yang mendorong pemasangan komponen.
Proses OO bergerak melewati spiral evolusioner yang berangkat dengan komunikasi pelanggan. Analisis risiko dan perencanaan membangun fondasi bagi rencana proyek OO. Rekayasa Perangkat Lunak OO menekankan penggunaan ulang sehingga di lihat di dala pustaka ( dari kelas OO yang ada ) sebelum di bangun.
Bagaimana jika suatu kelas tidak ditemukan pada pustaka?
Perekayasa perangkat lunak melakukan :
* Mengaplikasikan analisis berorientasi objek (OOA)
* Berorientasi objek design (OOD)
* Pemrograman berorientasi objek (OOP)
* Pengujian berorientasi objek (OOT)
Konsep – Konsep Berorientasi Objek
1. Objek mengenkapsulasi data
2. Operasi (aksi yang diaplikasikan untuk merubah atribut)
3. Objek lain (objek komposit dapat ditentukan)
Enkapsulasi berarti semua informasi dikemas di bawah satu nama dan dapat digunakan lagi sebagai satu spesifikasi atau komponen program
Definisi berorientasi objek menurut Coad dan Tourdon :
Berorentasi objek = objek + klasifikasi + pewarisan +komunikasi
Kelas & Objek
Kelas adalah konsep OO yang mengenkapsulasi data dan abtraksi prosedural yang diperlukan untuk menggambarkan isi serta tingkah laku berbagai entitas dunia nyata.
Kelas dapat didefinisikan juga sebagai suatu deskripsi tergeneralisir (template,pola,cetak biru).
Objek yang ada pada suatu kelas mewarisi atribut dan operasi nya yang dapat diperoleh untuk memanipulasi atribut tersebut.
Superkelas adalah sekumpulan kelas.
Subkelas adalah kejadian dari suatu kelas
Atribut
Entitas kehidupan nyata sering digambarkan dengan kata – kata yang mengindikasikan keadaan yang stabil . Sebagian besar objek fisik memiliki keadaan seperti potongan, berat, warna dan tipe material.Manusia memiliki keadaan, termasuk data kelahiran, orang tua, nama dan warna mata.
Teknologi Object Oriented
Merupakan paradigma baru dalam rekayasa software yang didasarkan obyek dan kelas
Teknik object oriented memandang software bagian per bagian dan menggambarkannya dalam satu obyek
Teknologi obyek menganalogikan sistem aplikasi seperti kehidupan nyata yang didominasi obyek
contoh :
1. Manusia adalah obyek yang memiliki atribut (nama, pekerjaan, rumah, dll.)
2. Manusia dapat berjalan, bicara, makan, minum, dll.
* Obyek dapat beraksi dan bereaksi
Prinsip Dasar dari Pemograman berorientasi obyek
* Abstraksi : memfokuskan pada karakteristikobyek
* Enkapsulasi : menyembunyikan banyak hal yang terdapat dalam obyek yang tidak perlu diketahui obyek lain
* Modularitas : membagi sistem yang rumit menjadi bagian-bagian yang lebih kecil
* Hirarki : berhubungan dengan abstraksi dan modularitas yaitu pembagian berdasarkan urutan dan pengelompokan tertentu
* Bagi Software Engineer, Teknik Pemodelan Object Oriented berpengaruh dalam bahasa pemrograman, metodologi rekayasa,manajemen proyek, hardware, dsb
* Analisis dan perancangan berorientasi obyek adalah suatu metode analisis yang memeriksa requirements (syarat-syarat/keperluan yang harus dipenuhi suatu sistem) dari sudut pandang kelas-kelas dan obyek-obyek dalam lingkup permasalahan
Konsep dasar Object Oriented Analysis and Design
* Obyek adalah benda secara fisik atau konseptual yang memiliki keadaan (state) dan perilaku (behavior)
* Kelas (Class) adalah definisi umum (pola, template atau cetak biru) untuk himpunan obyek sejenis
* Kotak hitam dan Interface : sebuah obyek digambarkan sebagai kotak hitam untuk mengakses obyek melalui interface.Kotak hitam berisi Kode (himpunan instruksi dengan bahasa yang dipahami komputer) dan Data
* Association dan Aggregation:
1. Association adalah hubungan antar obyek yang saling membutuhkan.
2. Aggregation adalah menggambarkan seluruh bagian dari obyek
Perbedaan antara Metode Struktural dan OOAD
Terletak pada bagaimana data dan fungsi disimpan
Metode Struktural : data dan fungsi disimpan terpisah. Biasanya semua data ditempatkan sebelum fungsi ditulis.
Metode OOAD : data dan fungsi yang berhubungan dalam suatu obyek disimpan bersama-sama dalam satu kesatuan.
Pemrograman berorientasi obyek
Adalah kelanjutan dari proses analisa dan desain berorientasi obyek yang kemudian diimplementasikan dengan bahasa pemrograman berorientasi obyek.
misal : C++, Java, Visual Basic, dsb
Kebutuhan dan Spesifikasi Perangkat Lunak
LINGKUP PEMBAHASAN
* Pengumpulan Kebutuhan Perangkat Lunak
- Mengumpulkan Data mengenai analisa sistem dan masalah nya
* Teknik Pemodelan Analisa Kebutuhan
- Dengan pendekatan berorientasi obyek menggunakan UML( Unified Modelling Language )
* Kebutuhan Fungsional & Non Fungsional
* Pembuatan Prototipe & teknik spesifikasi formal
- Perancangan sistem dengan pendekatan UML sbg alat bantu perangkat lunak
Sistem yang baik adalah yang selalu menyesuaikan dengan perubahan lingkungan yang terjadi disekitarnya atau sistem tersebut harus dinamis menuju keadaan yang lebih baik.
Tahapan Pengembangan Sistem Informas
1. Tahap Perencanaan :
menyangkut studi kebutuhan user, studi kelayakan baik secara teknis maupun teknologi serta penjadwalan pengembangan suatu proyek sistem informasi
2.
Tahap Analisis :
yaitu tahap dimana kita berusaha mengenali segenap permasalahan yang muncul pada pengguna, mengenali komponen-komponen sistem, obyek-obyek, hubungan antar obyek dan sebagainya.
3.
Tahap Perancangan :
yaitu tahap dimana kita mencoba mencari solusi permasalahan yang didapat dari tahap analisa.
4.
Tahap Implementasi :
tahap dimulainya pemilihan perangkat keras, penyusunan perangkat lunak aplikasi, melihat apakah sistem yang dibuat sudah sesuai dengan kebutuhan user atau belum.
5.
Tahap Pemeliharaan :
mulai melakukan pengoperasian sistem dan jika diperlukan dapat melakukan perbaikan-perbaikan kecil.
Unified Modeling Language (UML)
Suatu bahasa yang dapat membuat model untuk semua jenis aplikasi perangkat lunak yang dapat berjalan pada perangkat keras. UML menyediakan beberapa notasi dan arti fact standar sebagai alat komunikasi bagi pelaku dalam proses analisa dan desain
UML memiliki Diagram Grafis
* Use Case Diagram
* Class Diagram
* Behavior Diagram :
- state chart diagram
- activity diagram
- interaction diagram : * sequence diagram
* collaboration diagram
* Implementation Diagram
- Component Diagram
- Deployment Diagram
Cakupan UML
* UML menggabungkan konsep Booch, OMT, dan OOSE
* UML menekankan pada apa yang dapat dikerjakan dengan metode-metode tsb
* UML berfokus pada bahasa Pemodelan Standar, bahkan pada Proses Standar