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).
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