OOP VS SSA
Metodologi yang umumnya digunakan dalam pembangunan sistem berbasis komputer dalam dunia bisnis dan industri saat ini adalah metode analisis dan design 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.
Disamping itu, akhir-akhir ini bahasa pemrograman object-oriented (OO) mliai poplier dan banyak digunakan pada organisasi bisnis maupun institusi pendidikan. Seiring dengan trend sebuah metodologi dibangun untuk membantu programmer dalam mengunakan bahasa pemrograman berorientasi obyek. Metodologi ini dikenal dengan object-oriented analysis and design (OOAD).
Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman tersrtuktur. 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.
A. PEMROGRAMAN BERORIENTASI OBJEK
Tiga karakteristik utama bahasa pemrograman berorientasi objek adalah sebagai berikut
1. Pengkapsulan (encapsulation)
Pengkapsulan adalah pengkombinasian antara data dan prosedur ataupun fungsi yang memanipulasinya ke dalam sebuah wadah yang disebut objek.
2. Pewarisan ( Inheritance )
Pewarisan adalah kemampuan suatu objek untuk menurunkan karakteristik yang dimilikinya ( data maupun prosedur / fungsi ) kepada objek yang lain. Dengan cara seperti ini pemrogram dengan mudah dapat mengembangkan suatu objek baru yang menggunakan sifat – sifat objek lain.
3. Polimorfisme
Polimorfisme adalah suatu sifat yang memungkinkan nama yang sama dapat menyatakan tindakan yang berbeda.
B. Pemrograman Terstruktur
Pemrograman terstruktur adalah cara pemrosesan data yang terstuktur. Terstruktur dalam: analisa, cara dan penulisan program. Prinsip pemrograman terstruktur :
a. Gunakan rancangan pendekatan dari atas ke bawah (top down design)
b. Bagi program ke dalam modul-modul logika yang sejenis,
c. Gunakan sub-program untuk proses-proses sejenis yang sering digunakan
d. Gunakan pengkodean terstruktur: IF ... THEN, DO ... WHILE dan lain-lainnya
e. Hindarkan penggunaan perintah GO TO bila tidak diperlukan
f. Gunakan nama-nama bermakna (mnemonic names)
g. Buat dokumentasi yang akurat dan berarti.
Tahapan rancangan atas ke bawah dalam pemrograman:
1. Tentukan keluaran (output) yang diminta, masukan (input) yang diperlukan danproses-proses utama yang diperlukan untuk transformasi data.
2. Membagi proses utama ke dalam modul-modul fungsional.
3. Buat algoritma masing-masing modul, dari modul utama ke sub-sub modul.
Setiap modul dalam proses rancangan atas ke bawah biasanya dibatasi dalam isi maupun batasan-batasan berikut:
1. Setiap modul hanya mempunyai satu masukan dan keluaran
2. Setiap modul hanya mewakili satu fungsi program.
Rancangan (design) terstruktur:
1. Membagi program menjadi sub-program
2. Menekankan fungsionalitas.
3. Cocok untuk sistem yang banyak mempunyai fungsi independen.
Gaya penulisan program terstruktur menggunakan indentasi sehingga jelas struktur dan kontrol program.Memudahkan pembacaan, pemahaman, penelusuran kesalahan dan pembuatan koreksi.
Berikut adalah Kelebihan dan Kekurangan Kedua Metode Tersebut :
1. METODE TERSTRUKTUR
a. 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.
b. 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 memen uhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).
2. METODE BERORIENTASI OBYEK
a. 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 pecahanpecahan 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.
b. 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).
Refrensi :
http://wisnuarimurti.wordpress.com/2009/05/04/pemrograman-terstruktur/
http://setyawan-wibisono.com/106/modul-1-konsep-pemrograman
http://myblogar.blogspot.com/2011/02/perbedaan-pemrograman-terstruktur.html
http://dienz1305.blogspot.com