Minggu, 20 November 2011

Tugas Ilmu Sosial Dasar (4)


Nama               :     Dana Kristiawan
NPM               :     11111703
Kelas               :     1KA27
Uraian             :     Tugas 4 Ilmu Sosial Dasar


PERBEDAAN PEMROGRAMAN BERORIENTASI OBJEK DENGAN 
PEMROGRAMAN TERSTRUKTUR

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.
Mana yang lebih baik
tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.
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. http://darkdevil4bloodyvenus.wordpress.com/2009/05/04/tugas-pti-oop-vs-pemrograman-terstruktur/
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. http://diakbar.wordpress.com/2010/09/23/perbedaan-object-oriented-programming-dan-structural-programming/
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 tersetruktur 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).


Perbedaan
Struktural
Objek oriented
Pengertian
Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program
pemrograman berbasis obyek (OOP) berdasarkan pada konsep object dan interaksinya. Program diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah
Isi
Terdiri dari urutan-urutan
Terdiri dari modul-modul
Model data
Kurang fleksibel
fleksibel
Pembelajaran
mudah dipahami
Lebih mudah dipahami
Tujuan
a. Untuk meningkatkan kualitas, kehandalan dan produktifitas program
b. Untuk memudahkan pemahaman terhadap isi program
c. Untuk menyederhanakan program
d. Untuk maintenance (pemeliharaan) program
a. Meningkatkan produktifitas pemrogram dengan meningkatkan perluasan dan penggunaan kembali perangkat lunak
b. Untuk lebih memudahkan memahami isi program karena terdiri dari modul-modul terpisah
c. Program menjadi lebih sederhana
d. memudahkan untuk maintenence
Sifat
a. Focus bagaimana cara computer menangani masalah.


b. Kurang aman



c. code hanya digunakan sekali saja untuk program tersebut


d. jika ada perubahan dalam program maka harus di cek dari awal karena adanya variable local dan variable global
e. sulit mencari kesalahan
a. focus pada masalah yang ditangani dengan menggunakan computer
b. aman karena setiap data terencapsulasi dari kelas-kelasnya
c. kode bisa digunakan kembali (reuseable) karena disimpan sebagai objek
d. jika program berubah maka hanya mengubah modul-modul yang berhbungan saja


e. relative lebih mudah mencari kesalahan
Contoh
c, pascal, basic
java, C++


Tidak ada komentar:

Posting Komentar