Rabu, 13 Juni 2012

Analisa dan perancangan berbasis objek, Perbedaan berbasis objek dengan terstruktur


PreTest OO

ANALISA PERANCANGAN SISTEM BERORIENTASI OBYEK (OOAD)
-Berorientasi Objek (Object Oriented) merupakan paradigma baru dalam rekayasa perangkat lunak yang memandang sistem sebagai sekumpulan objek-objek yang saling berinteraksi.
-Metoda Berorientasi-Objek memberikan sekumpulan teknik untuk menganalisis, mendekomposisi dan memodularisasi arsitektur sistem perangkat lunak.
-Sistem Berorientasi Objek
-Sistem sendiri didefinisikan sebagai kumpulan dari beberapa elemen (modul) yang saling berhubungan (berinteraksi) untuk mencapai suatu tujuan/output (output disesuaikan dengan kebutuhan pengguna).
-Sedangkan sistem yang berorientasi objek diurai kedalam sejumlah/sekumpulan obyek(konsep, abstrak, benda) dalam dunia nyata yang saling berkomunikasi dan melaksanakan sejumlah pelayanan secara desentralisasi.
Setiap obyek membungkus (encapsulate) sejumlah prosedur dan data yang berinteraksi dengan obyek lainnya melalui suatu pesan (message).

KONSEP BERORIENTASI OBJEK
1.Objek
2.Kelas
3.Atribut
4.Metoda
5.Abstraksi
6.Enkapsulasi, Instance,
Inherintance, Polimorfisme
Biasanya berupa benda atau sesuatu kejadian
Benda konkrit : pesawat, lampu, buku, …
Konsepsi : terbang, terang, kuliah, …
Abstraksi : perusahaan, bisnis, sekolah, …

ATRIBUT:
Adalah nilai internal atau data terkait pada suatu objek yang menunjukan:
-Ciri-ciri atau sifat-sifat dari obyek
-Penggambaran keadaan (state) obyek
Nama objek: Mobil
Atribut
Merek : Toyota
Silinder : 2000 cc
Warna : Merah
Status : Baru/Jalan
Tahun : 2004
METHODS (OPERATIONS, BEHAVIOR)
-Behavior mendifinisikan bagaimana suatu objek bertindak dan bereaksi, dan berhubungan dengan fungsi diterapkan pada suatu atribut.
-Behavior objek disebut metoda atau operasi pelayanan (service).

PostTest OO
Object Oriented Programing atau yang biasa dikenal dengan OOP adalah suatu pemrograman yang mengarah pada objek. Object oriented juga disebut sebagai paradigma pemrograman.
Procedural Programming atau biasa disebut dengan pemrograman terstruktur adalah pemrograman yang disusun berdasarkan urutan tertentu.

Perbedaan mendasar antara OOP dan pemrograman terstruktur adalah:
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. Sedangkan untuk pemrograman terstruktur,  menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur

Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula  halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.

Persamaan kedua pemrogaman
adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.

Kapan sama2 baik
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.

Pemrograman berorientasikan objek dikatakan lebih baik apabila 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 berorientasi objek (Inggris: object-oriented programming disingkat 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, Sedangkan untuk Structural Programming adalah kebalikan dari object oriented programming yaitu sebuah cara pemrosesan data yang terstruktur dalam analisa, cara dan penulisan pemrograman. Dikarenakan harus terstruktur sehingga dalam pembuatannya antara satu line pemrograman dengan yang lainnya berhubungan. Konsep utama dari Pemrograman Berbasis Objek terletak pada kondisi kode/line pemrogramanannya dimana merupakan sebuah kesatuan modular.

Untuk program yang simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan pemrograman berorientasi objek.

Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya, sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular.

Untuk programming terstruktur bersifat task-centric dan berorientasi objek bersifat data-centric. Terdapat juga perbedaan secara spesifik antara objek oriented dengan non-oop, yaitu pada kelas dan objek. Pada Pemrograman  Terstruktur tidak terdapat kelas dan objek.
Sifat-sifat dari pemrograman terstruktur dapat diuraikan sebagai berikut :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dbuthkan relatif rendah
Berbeda dengan OOP. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
– Encapsulation (pembungkusan) Encapsulation adalah mekanisme pemrograman yang membungkus kode dan data yang dimanipulasi dan menjaganya supaya terhindar dari interferensi dan penggunaan yang tidak perlu. Salah satu caranya dengan membentuk objek.
– Inheritance (pewarisan) Inheritance memungkinkan programer meletakkan member yang sama dalam satu class dan class-class lain dapat mewarisi member tersebut. Class yang mengandung member yang sama dari beberapa class lain dinamakan superclass atau parent class. Class yang mewarisi dinamakan subclass atau child class. Inheritance menghasilkan class hierarchy.
– Polymorphism (polimorfisme –perbedaan bentuk) Polymorphisme artinya mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic, bila objek-objek itu mempunyai antar muka yang identik namun mempunyai perilaku-perilaku yang berbeda

Bisa dikatakan pada pemrograman berorientasi objek, dapat dilakukan sebuah programming terhadap code yang lebih baik daripada pemrograman terstruktur, itu juga untuk kaliber atau skala rumit atau besar, sedangkan untuk coding yang skala kecil lebih mudah menggunakan pemrograman terstruktur dikarenakan lebih singkat dan mudah tanpa banyak perubahan yang penting.

Perbedaan software OOP dangan software terstruktur
Perbedaan software OOP dangan software terstruktur adalah


Software yang dibuat secara OOP makan Software tersebut besifat Reusable yaitu
• Prinsip pemrograman OO:
• Membuat kode yang ditulis sebisa mungkin dapat dipergunakan lagi (reusable)
• Supaya dapat dipakai dalam banyak aplikasi dan situasi –supaya tidak perlu lagi mengimplementasi ulang, walaupun hanya ada perbedaan sedikit saja dari yang sudah dikerjakan sebelumnya

Reusability
• Kunci reusability adalah mendaftar (dalam library atau database) obyek di mana di antaranya mungkin ada yang sesuai dengan user requirements
• Proses pencarian semacam ini membutuhkan cara yang kuat dan efisien Sifat dari software OOP
Obyek
• Enkapsulasi: menyembunyikan implementasi dengan hanya menyediakan interface
• Enkapsulasi melindungi bagian implementasi dari tindakan yang tidak diinginkan dan akses yang tidak disengaja
• Dalam SI: atribut (data dan stru-dat) dan operasi dienkapsulasi dalam m’buat obyek dengan perilaku tertentu

Sehingga membuatnya Aman dari Virus kerena terenkapsulasi dari kelas-kelasnya. Sedangkan terstruktur tidak jika ingin ada perubahan maka hal ini harus lah di ubah dari awal karena ada yang namanya variable global dan variable local. Itu juga dapat menimbulkan kesulitan dalam mencari eror(kesalahan).
Jadi kesimpulan nya adalah lebih unggul pemrograman berorientasi objek menurut saya karena jika ada virus di saat pemrograman berorientasi objek maka dapat aman karena terenkapsulasi dari kelas-kelasnya selain itu juga pemrograman berorientasi objek dapat membuat suatu projek yang besar sehingga dia menyediakan fitur-fitur lebih lengkap dan banyak.

Tidak ada komentar:

Posting Komentar