Sebelum
kita mengulas apa itu perbedaan pemrograman terstruktur dengan
pemrograman berorientasi objek. Terlebih dahulu kita mengetahui masing –
masing dari arti pemrograman terstruktur dan pemrograman berorientasi
objek itu sendiri.......
OOP (Object-Oriented Programming)
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.
Bahasa pemrograman yang mendukung OOP antara lain:
- Visual Foxpro
- Java
- C++
- Pascal (bahasa pemrograman)
- Visual Basic.NET
- SIMULA
- Smalltalk
- Ruby
- Python
- PHP
- C#
- Delphi
- Eiffel
- Perl
- Adobe Flash AS 3.0
Pemrograman Terstruktur
Pemrograman
Terstruktur adalah suatu proses untuk mengimplementasikan urutan
langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Selain
pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas
pemrograman dengan memperhatikan urutan langkah-langkah perintah secara
sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana
dan mudah dipahami.
Prinsip
dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada
suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh
mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya,
kecuali pada langkah – langkah untuk proses berulang (Loop).
Bahasa pemrograman yang mendukung pemrograman terstruktur:
- Cobol Turbo Prolog
- C
- Pascal
- Delphi
- Borland Delphi
Dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat seperti :
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 dibutuhkan relatif rendah
Perbedaannya ........
Dari
pengertian pemrograman terstruktur dan pemrograman berorientasi objek
itu sendiri kita dapat menyimpulkan, apa perbedaan dari pemrograman
terstruktur dan pemrograman berorientasi objek itu.
Pemrograman
berorientasi objek (Object-Oriented Programming atau 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 pemrograman terstruktur adalah kebalikan dari
pemrograman berorientasi objek 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.
Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi
Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada
Pemrograman Terstruktur tidak terdapat kelas dan objek.
berdasarkan
penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur
unggul dalam melakukan pemrograman sederhana karena lebih efisien dan
lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah
untuk dipahami oleh orang – orang selain pembuat program itu sendiri
(contohnya ketika dlakukan tracing program ).
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
- maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
- pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
- dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.
Jadi,
sangat jelas sekali bahwa pemrograman berorientasi objek sangat cocok
sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks
karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah
disebutkan diatas.
Permodelan
yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut
pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari
pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat
diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu
dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara.
Perbedaan mendasar antara OOP dan pemrograman terstruktur adalah:
Sistem pemrograman berorientasi objek, bentuk pemodelan programnya diorientasikan dalam bentuk objek – objek, sedangkan Sistem pemrograman terstruktur pemodelan programnya diuraikan dan diorganisasikan secara lebih detail.
Konsep
dasar pemrograman berorientasi objek dikelompokkan kedalam kelas,
objek, abstraksi, enkapulasi dan Polimorfisme melalui pengiriman pesan,
sedangkan konsep dasar pemrograman terstruktur harus mengandung teknik
pemecahan masalah yang tepat dan benar, memiliki algoritma pemecahan
masalah yang sederhana, standar dan efektif, penulisan program memiliki
struktur logika yang benar dan mudah dipahami, program hanya memiliki 3
struktur dasar, yaitu : Struktur berurutan, struktur seleksi, dan
struktur pengulangan, Menghindari penggunaan pernyataan GOTO, Memiliki
dokumentasi yang baik.
UML
adalah contoh salah satu bahasa pemrograman yang berkonsepkan OOP,
sedangkan DFD dan ERD adalah contoh bahasa pemrograman yang berkonsepkan
pemrograman secara terstruktur.
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.
Kelebihan dan Kekurangan Pemograman Berorientasi Objek dengan Pemograman Terstruktur
Berikut adalah Kelebihan dan Kekurangan Kedua Metode Tersebut :
METODE TERSTRUKTUR
Perancangan Terstruktur (Structured Analisys and Design / SSAD)
Metode
ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari
pemrograman terstruktur. Metode pengembangan dengan metode terstruktur
ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata.
Perancangan ini bertujuan untuk membuat model SOLUSI terhadap PROBLEM
yang sudah dimodelkan secara lengkap pada tahap analisis terstruktur.
Kelebihan
· Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
· SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
· Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
· SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
· SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
· SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
· SSAD relatif simpel dan mudah dimengerti.
Kekurangan
· SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
· Sedikit sekali manajemen langsung terkait dengan SSAD
· Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
·
Interaksi antara analisis atau pengguna tidak komprehensif, karena
sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap
perubahan (kebutuhan-kebutuhan baru).
·
Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang
digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit
bagi pengguna untuk melakukan evaluasi.
· Pada SAAD sliit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
· SSAD tidak selalu memenuhi kebutuhan pengguna.
·
SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman
berorientasi obyek, karena metode ini memang didesain untuk mendukung
bahasa pemrograman terstruktur, tidak berorientasi pada obyek
(Jadalowen, 2002).
METODE BERORIENTASI OBYEK
Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)
Metode
OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak
pada perspektif fungsional seperti pada pemrograman terstruktur.
Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan
metode pengembangan software dengan metode tradisional. Sebagai metode
baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan,
hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan
berorientasi obyek pada aplikasi bisnis
Kelebihan
· Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
·
Dibandingkan dengan SSAD, waktu pengembangan, level organisasi,
ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi
dibandingkan dengan metode OOAD (Sommerville, 2000).
·
Tidak ada pemisahan antara fase desain dan analisis, sehingga
meningkatkan komunikasi antara user dan developer dari awal hingga akhir
pembangunan sistem.
·
Analis dan programmer tidak dibatasi dengan batasan implementasi
sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan
berbagai lingkungan eksekusi.
·
Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan
baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal
ini memudahkan dalam mehami desain (Sommerville, 2000).
·
Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi
terhadap kebernaran software yang membantu untuk mengurangi resiko pada
pembangunan sistem yang kompleks (Booch, 2007).
·
Encapsliation data dan method, memungkinkan penggunaan kembali pada
proyek lain, hal ini akan memperingan proses desain, pemrograman dan
reduksi harga.
· OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
·
Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah
menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara
terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini
memungkinkan pembangunan software dengan cepat, sehingga dapat segera
masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel
dan mudah dalam memelihara.
Kekurangan
· Pada awal desain OOAD, sistem mungkin akan sangat simple.
· Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
· Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
· Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
·
Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan
anlisisis terhadap fungsional siste, sementara metode OOAD tidak
berbasis pada fungsional sistem.
·
OOAD merupakan jenis manajemen proyek yang tergolong baru, yang
berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya
adalah, team developer butuh waktu yang lebih lama untuk berpindah ke
OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama (
Hantos, 2005).
·
Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse.
Reuse merupakan salah satu keuntungan utama yang menjadi alasan
digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap
reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar
(Hantos, 2005).
Demikianlah
penjelasan kami tentang perbedaan antara terstruktur dengan pemrograman
berorientasi objek. Semoga bisa membantu kalian untuk belajar. Terima
kasih ........
Sumber :
Posting Lebih Baru
Posting Lama
Beranda
Source : http://ayufitriyanti.blogspot.com/2012/04/mengetahui-perbedaan-pemrograman.html
Source : http://ayufitriyanti.blogspot.com/2012/04/mengetahui-perbedaan-pemrograman.html