Perancangan
merupakan tahapan fundamental bagi siapa pun yang akan membangun atau
mengembangkan suatu sistem informasi. Perancangan dilakukan sebelum
mengimplementasikan logika ke dalam baris-baris program. Setidaknya
terdapat tiga pendekatan yang dapat digunakan dalam perancangan
sistem informasi yaitu, pendekatan klasik, pendekatan terstruktur dan
pendekatan objek. Pendekatan klasik (Classical Approach)
adalah pendekatan untuk mengembangkan sistem dengan berpedoman pada
system life cycle. Kemudian
apakah yang dimaksud dengan pendekatan terstruktur dan pendekatan
objek? Tentang keduanya akan dibahas di bawah ini.
Pendekatan
Terstruktur
Pendekatan
terstruktur mengenalkan penggunaan alat-alat dan teknik-teknik untuk
mengembangkan sistem yang terstruktur di samping tetap mengikuti ide
dari system life cycle. Tujuan pendekatan terstruktur adalah
agar pada akhir pengembangan perangkat lunak dapat memenuhi kebutuhan
pengguna, dilakukan tepat waktu, tidak melampaui anggaran biaya,
mudah dipergunakan, mudah dipahami dan mudah dirawat. Teknik
terstruktur, merupakan pendekatan formal untuk memecahkan
masalah-masalah dalam aktivitas bisnis menjadi bagian-bagian kecil
yang dapat diatur dan berhubungan untuk kemudian dapat disatukan
kembali menjadi satu kesatuan yang dapat dipergunakan untuk
memecahkan masalah.
Dalam
kaitannya dengan pengembangan sistem informasi, pemrograman
terstruktur adalah proses yang berorientasi kepada teknik yang
digunakan untuk merancang dan menulis program secara jelas dan
konsisten. Desain terstruktur merupakan salah satu proses yang
berorientasi teknik yang digunakan untuk memilah-milah program besar
ke dalam hirarki modul-modul yang menghasilkan program komputer yang
lebih kecil agar mudah untuk diimplementasikan dan dipelihara
(diubah).
Ada
empat kegiatan perancangan yang harus dilakukan, yaitu:
- Perancangan arsitektural: kita merancang struktur modul P/L dengam mengacu pada model analisis yang sesuai (DFD). Langkahnya adalah: mengidentifikasi jenis aliran (transform flow atau transaction flow), menemukan batas-batas aliran (incoming flow dan outgoing flow), kemudian memetakannya menjadi striktur hirarki modul. Selanjutnya, kita alokasikan fungsi-fungsi yang harus ada pada modul-modul yang tepat.
- Perancangan data: kita merancang struktur data yang dibutuhkan, serta merancang skema basis data dengan mengacu pada model analisis yang sesuai (ERD).
- Perancangan antarmuka: kita merancang antarmuka P/L dengan pengguna, antarmuka dengan sistem lain, dan antarmuka antar-modul.
- Perancangan prosedural: kita merancang detil dari setiap fungsi pada modul. Notasi yang digunakan bisa berupa flow chart, algoritma, dan lain-lain.
Ciri-ciri
teknik terstruktur adalah sebagai berikut:
- Merancang berdasar modul
- Bekerja dengan pendekatan top-down
- Dilakukan secara iterasi
- Kegiatan dilakukan secara pararel
Kelebihan:
- Mengurangi kerumitan masalah (reduction of complexity)
- Konsep mengarah pada sistem yang ideal (focus on ideal)
- Standardisasi (standardization)
- Orientasi ke masa datang (future orientation)
- Mengurangi
ketergantungan pada disainer (less reliance on artistry)
Kekurangan:
- SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
- Sedikit sekali manajemen langsung terkait dengan SSAD.
- Prinsip dasar SSAD merupakan pengembangan non-iterasi (waterfall)
- 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
sulit bagi pengguna untuk melakukan evaluasi.
Beberapa
tools yang digunakan pada pendekatan pengembangan sistem secara
terstruktur seperti:
- Data Flow Diagram (DFD)
- Kamus Data
- Entity Relationship Diagram (ERD)
- State Transition Diagram (STD)
- Structured Chart
- Diagram SADT (Structured Analysis and Design Techniques)
- Diagram Warnier/Orr
- Diagram Jakson’s
Pendekatan
Objek
Pendekatan
objek merupakan cara baru dalam memikirkan suatu masalah dengan
menggunakan model yang dibuat menurut konsep sekitar dunia nyata.
Dasar pembuatan adalah objek, yang merupakan kombinasi antara
struktur data dan perilaku dalam satu entitas. Pengertian
“berorientasi objek” berarti bahwa kita mengorganisasi perangkat
lunak sebagai kumpulan objek tertentu yang memiliki struktur data dan
perilakunya.
Pendekatan
objek memiliki beberapa karakteristik atau sifat yaitu:
1.
Abstraksi, yaitu prinsip untuk merepresentasikan dunia nyata yang
kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan
aspek-aspek lain yang tidak sesuai dengan permasalahan.
2.
Enkapsulasi, yaitu pembungkusan atribut data dan layanan
(operasi-operasi) yang dipunyai objek.
3.
Pewarisan (Inheritance), yaitu mekanisme yang memungkinkan satu objek
mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian
dan dirinya.
4.
Reusability, yaitu pemanfaatan kembali objek yang sudah didefinisikan
untuk suatu permasalahan pada permasalahan lainnya yang melibatkan
objek tersebut.
5.
Generalisasi dan Spesialisasi, yaitu menunjukkan hubungan antara
kelas dan objek yang umum dengan kelas dan objek yang khusus.
6.
Komunikasi Antar Objek, yaitu dilakukan lewat pesan yang dikirim dari
satu objek ke objek lainnya.
7.
Polymorphism, yaitu kemampuan suatu objek untuk digunakan di banyak
tujuan yang berbeda dengan nama yang sama, sehingga menghemat baris
program.
Kelebihan:
- Dekomposisi objek, memungkinkan seorang analis untuk memecah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang diatur 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.
- OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
- Encapsulation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
- Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
- Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
- Relasi objek dengan entitas umumnya dapat dipetakan dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
Kekurangan:
- 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).
- 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).
- Sering kali pemrogramam berorientasi objek digunakan untuk melakukan analisis terhadap fungsional sistem, sementara metode OOAD tidak berbasis pada fungsional sistem.
- Pada awal desain OOAD, sistem mungkin akan sangat simple.
- Pada OOAD lebih fokus pada koding dibandingkan dengan SSAD.
- Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
- Pada OOAD
tidak mudah untuk mendefinisikan class dan objek yang
dibutuhkan sistem.
Beberapa tools yang digunakan pada pendekatan sistem berorientasi objek seperti :
- Rational Unified Process (RUP) (Rational Software – IBM 2003)
- Fusion (Coleman 1994)
- STS development Method 3 (ADM3) (Firesmith 1993)
- Berard’s object-oriented design (Berard 1991)
- Booch’s object-oriented design (Booch 1983, 1991)
- Coad and Yourdon’s object – oriented analysis (Coad & Yourdon 1989)
- Coad and Yourdon’s object-oriented analysis (OOA) (Coad & Yourdon 1991)
- Jacobson’s Objectory (Jacobson & Linstrom 1992)
- Rumbaugh’s object modelling technique (OMT) (Rumbaugh et al. 1991)
- Object-oriented system analysis (OOA) (Shlaer & Mellor 1988)
Kesimpulan
Secara
konsep, pendekatan terstruktur dan pendekatan objek (berorientasi
objek) memiliki perbedaan yang cukup dalam. Jika dalam pendekatan
terstruktur kita menggunakan kata tanya “bagaimana” untuk
memproses sebuah data, maka dalam pendekatan objek kita menggunakan
kata tanya “apa”. Meskipun pendekatan objek (berorientasi objek)
lebih modern dibandingkan dengan pendekatan terstruktur, ternyata
tetap memiliki kekurangan. Jadi, dari kekurangan dan kelebihan yang
dimiliki masing-masing pendekatan, langkah selanjutnya dalam
perancangan sistem informasi adalah kebijaksanaan sistem analis untuk
memilih metode/pendekatan yang paling cocok untuk diterapkan.
Referensi: