Pemrograman Berbasis Objek dan Pemrograman Terstruktur
Apa sih itu Pemrograman Berbasis Objek sama
Pemrograman Testruktur ? Ada bedanya
gasih antara kedua pemrograman itu ? yuk ah yuk langsung aja deh cek dibawah
ini :D
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:
1.
Visual Foxpro
2.
Java
3.
C++
4.
Pascal (bahasa
pemrograman)
5.
Visual Basic.NET
6.
SIMULA
7.
Smalltalk
8.
Ruby
9.
Python
10.
PHP
11.
C#
12.
Delphi
13.
Eiffel
14.
Perl
15.
Adobe Flash AS 3.0
Konsep
dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek
menekankan konsep berikut:
Kelas => kumpulan
atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan
tertentu.
Objek =>
membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program
komputer; objek merupakan
dasar dari modularitas dan struktur dalam
sebuah program komputer berorientasi objek.
Abstraksi =>
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya,
yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani
sebagai model dari "pelaku" abstrak yang dapat melakukan kerja,
laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam
sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan.
Enkapsulasi =>
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari
sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut
yang diberi izin untuk mengakses keadaannya.
Polimorfisme
=> melalui pengiriman pesan. Tidak bergantung kepada pemanggilan
subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang
berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di
mana pesa tersebut dikirim.
Pemrograman
berorientasi objek memliki beberapa keuntungan seperti :
1. Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2. Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
3. 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.
1. Maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2. Pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
3. 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.
Pemrograman Terstruktur
Pemrograman Terstruktur adalah suatu proses untuk
mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam
bentuk program. 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:
1.
Cobol Turbo Prolog
2.
C
3.
Pascal
4.
Delphi
5.
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
Kelebihan dan Kekurangan antara
Pemrograman Berbasis Objek dan Pemrograman Terstruktur
Berikut adalah Kelebihan dan Kekurangan Kedua Metode
Tersebut
Perancangan
Terstruktur (Structured Analisys and Design / SSAD). Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD).
METODE BERORIENTASI OBYEK
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).
METODE 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).
UML adalah contoh salah satu bahasa pemrograman yang
berkonsepkan OOP, sedangkan DFD dan ERD adalah contoh bahasa pemrograman yang
berkonsepkan pemrograman secara terstruktur.
Refrensi :
Tidak ada komentar:
Posting Komentar