Anda di halaman 1dari 4

Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek

SEPTEMBER 02, 2013 LAB-RPL NO COMMENTS


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

Pascal

Delphi

Borland Delphi
Sifat-sifat pemrograman terstruktur

Memuat teknik pemecahan masalah yang logis dan sistematis

Memuat algoritma yang efisien, efektif dan sederhana

Program disusun dengan logika yang mudah dipahami

Tidak menggunakan perintah GOTO

Biaya pengujian program relatif rendah

Memiliki dokumentasi yang baik

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

Keuntungan pemrograman berorientasi objek

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 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 lebih 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


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


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

Anda mungkin juga menyukai