Rabu, 09 November 2011

Perbedaan Antara Pendekatan Terstruktur dengan Pendekatan Objek Dalam Perancangan Sistem Informasi

Pendahuluan

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:
  1. 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.
  2. Perancangan data: kita merancang struktur data yang dibutuhkan, serta merancang skema basis data dengan mengacu pada model analisis yang sesuai (ERD).
  3. Perancangan antarmuka: kita merancang antarmuka P/L dengan pengguna, antarmuka dengan sistem lain, dan antarmuka antar-modul.
  4. 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:
  1. Merancang berdasar modul
  2. Bekerja dengan pendekatan top-down
  3. Dilakukan secara iterasi
  4. 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: