Selasa,
03 April 2012
Pemrograman
Berbasis Objek dan Pemrograman Terstruktur
Kali ini kita akan membahas mengenai pemrograman berbasis objek dan pemrograman terstruktur. Penjelasan dibawah ini mungkin dapat membantu anda untuk memahami apa itu pemrograman berbasis objek dan pemrograman terstruktur dan dapat membedakan dari keduanya.
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 :
link rekan kerja : http://dewiyulianingsih.blogspot.com/
Tidak ada komentar:
Posting Komentar