Tuesday, October 23, 2018

Sunday, October 7, 2018

OOP (Object Oriented Programming) dan OOAD (Object Oriented Analysis And Design)

Konsep awal programming (Basic) dengan kekuatan GOTO statement, Hal ini merupakan Non Procedural Language.Procedural   Language   /   Bahasa   pemograman   terstruktur menghilangkan kelemahan GOTO. Konsep non procedural language Contoh : Pascal, COBOL, FORTRAN, BASIC dll Object Oriented Programming, mengarah pada konsep object. Akhir tahun 1960 diperkenalkan pertama kali dengan bahasa SIMULA. Tahun 1970 dikembangkan Smaltalk. Bahasa pemrograman lainnya : Clipper 5.2 Java, Prolog dll

Visual Object Oriented Programming, tahun 1991 diperkenalkan pertama kali dengan bahasa Visual Basic oleh Microsoft,

Pengembangan berorientasi objek merupakan cara berpikir baru tentang perangkat lunak berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu survei, analis, desain, implementasi dan pemeliharaan sistem. Hal yang lebih penting dalam pengembangan berorientasi objek adalah konsep mengidentifikasi dan mengorganisasi domain aplikasi dari pada penggunaan bahasa pemrograman, berorientasi objek atau tidak.

Berorientasi objek dalam proses konseptual terpisah dengan bahasa pemrograman sampai tahap terakhir. Pengembangan berorientasi objek secara mendasar merupakan cara berpikir baru dan bukan suatu teknik pemrograman. Dapat melayani sebagai media spesifikasi, analisa, dokumentasi dan interface seperti halnya pemrograman.

Bahkan sebagai alat pemrograman, dapat memiliki berbagai sasaran, termasuk bahasa pemrograman dan basis data sebaik dengan bahasa pemrograman berorientasi obyek

Fokus utama metodologi ini pada objek, dapat digambarkan sebagai benda, orang, tempat dan sebagainya yang memiliki atribut dan metode.

Diperkenalkan tahun 1980 menggunakan perangkat kerja dan teknik-teknik yang dibutuhkan dalam pengembangan sistem, yaitu dynamic dan static object oriented model, state transition diagram dan case scenario.

Sumber : http://sistemoriented.blogspot.com

OOAD

Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaitu analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode analisis yang memeriksa requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. Sedangkan OOD adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
OOA (Object Oriented Analysis)
OOA mempelajari permasalahan dengan menspesifikasikannya atau mengobservasi permasalahn tersebut dengan menggunakan metode berorientasi objek. Biasanya analisa sistem dimulai dengan adanya dokumen permintaan (requirement) yang diperoleh dari semua pihak yang berkepentingan. (Misal: klien,developer, pakar, dan lain-lain).
Dokumen permintaan memiliki 2 fungsi yaitu : memformulasikan kebutuhan klien dan membuat suatu daftar tugas. Analisis berorientasi obyek (OOA) melihat pada domain masalah, dengan tujuan untuk memproduksi sebuah model konseptual informasi yang ada di daerah yang sedang dianalisis. Model analisis tidak mempertimbangkan kendala-kendala pelaksanaan apapun yang mungkin ada, seperti konkurensi, distribusi, ketekunan, atau bagaimana sistem harus dibangun. Kendala pelaksanaan ditangani selama desain berorientasi objek (OOD).

Sumber-sumber untuk analisis dapat berupa persyaratan tertulis, dokumen visi yang formal, wawancara dengan stakeholder atau pihak yang berkepentingan lainnya. Sebuah sistem dapat dibagi menjadi beberapa domain, yang mewakili bisnis yang berbeda, teknologi, atau bidang yang diminati, masing-masing dianalisis secara terpisah.
Hasil analisis berorientasi objek adalah deskripsi dari sistem secara fungsional yang diperlukan untuk melakukan dalam bentuk sebuah model konseptual.Hal Itu biasanya akan disajikan sebagai seperangkat kasus, satu atau lebih UML diagram kelas, dan sejumlah diagram interaksi. Tujuan dari analisis berorientasi objek adalah untuk mengembangkan model yang menggambarkan perangkat lunak komputer karena bekerja untuk memenuhi seperangkat persyaratan yang ditentukan pelanggan.
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software. Unified Model Language (UML) adalah bahasa universal untuk :
  • memvisualisasikan grafis model yang tepat.
  • menetapkan model yang tepat, lengkap, dan tidak ambigu untuk mengampil semua keputusan penting dalam analisis, desain dan implementasi.
  • membangun model yang dapat dihubungkan langsung dengan bahasa pemrograman.
  • mendokumentasikan semua informasi yang dikumpulkan oleh tim sehingga memungkinkan untuk berbagi informasi.
OOD (Object Oriented Design)
OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi objek memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan setiap non-fungsional – teknologi atau lingkungan – kendala, seperti transaksi throughput, response time, run – waktu platform, lingkungan pengembangan, atau bahasa pemrograman.
A. Karakteristik dari Objek
1. Objek
  • Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
  • Objek dapat kongkrit, seperti halnya arsip dalam sistem, atau konseptual seperti kebijakan penjadwalan dalam multiprocessing pada sistem operasi.
  • Dua objek dapat berbeda walaupun bila semua nilai atributnya identik.
2. Kelas Objek
Kelas merupakan gambaran sekumpulan Objek yang terbagi dalam atribut, operasi, metode, hubungan, dan makna yang sama.
  • Suatu kegiatan mengumpulkan data (atribut) dan perilaku (operasi) yang mempunyai struktur data sama ke dalam satu grup.
  • Kelas Objek merupakan wadah bagi Objek. Dapat digunakan untuk menciptakan Objek.
  • Objek mewakili fakta/keterangan dari sebuah kelas.
Istilah-istilah Objek
  • Atribut : Data item yang menegaskan Objek.
  • Operasi : Fungsi di dalam kelas yang dikombinasikan ke bentuk tingkah laku kelas.
  • Metode : Pelaksanaan prosedur (badan dari kode yang mengeksekusi respon terhadap permintaan objek lain di dalam sistem).
B. Karakteritik Metodologi Berorientasi Objek
Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama :
1. Encapsulation (Pengkapsulan)
  • Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
  • Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
  • Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.
2. Inheritance (Pewarisan)
  • Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung.
  • Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
  • Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
  • Suatu kelas dapat ditentukan secara umum, kemudian ditentukan spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah dengan sifat unik yang dimilikinya.
  • Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek lainnya.
  • Inheritance menggambarkan generalisasi sebuah kelas.
3. Polymorphism (Polimorfisme)
  • Polimorfisme yaitu konsep yang menyatakan bahwa seuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
  • Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.
  • Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
  • Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan Objek.

Sumber : https://peterdraw.wordpress.com