Selasa, 29 April 2014

Perbedaan Pengembang Sisten dengan Pendekatan Sistem


1. Pengertian Pengembangan Sistem.
Pengembangan Sistem adalah menyusun suatu sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki kekurangan/kelemahan sistem yang ada.

Mengapa perlu mengembangkan Sistem?
-  Adanya permasalahan.
a. Adanya ketidakberesan.
b. Pertumbuhan Organisasi.
- Untuk meraih kesempatan-kesempatan.
- Adanya instruksi (pimpinan/pemerintahan).

Harapan dari Sistem yang telah dikembangkan (Sistem baru) :
- Performance.
- Information.
- Economy.
- Control.
- Efficiency.
- Services.

Prinsip pengembangan Sistem :
- Sistem untuk manajemen.
- Investasi modal yang besar.
- Memerlukan orang yang terdidik.
- Tahapan kerja dan tugas-tugas yang harus dilakukan.
- Proses pengembangan tidak harus urut.
- Jangan takut membatalkan proyek.

2. Perbedaan Pengembangan Sistem dengan Pendekatan Terstruktur dan Object Oriented.
Pada dasarnya saat ini pengembangan sistem dapat kita kategorikan dalam 2 pendekatan pengembangan, yaitu Pengembangan secara terstruktur dan Pengembangan secara object oriented.


2.1 Pengembangan Sistem dengan Pendekatan Terstruktur

Pendekatan ini telah dimulai dari awal 1970-an disebut dengan pendekatan terstruktur(structured approach). Pendekatan terstruktur dilengkapi dengan alat-alat (tools) dan teknik-teknik yang dibutuhkan dalam pengembangan sistem sehingga didapatkan hasil akhir berupa sistem yang strukturnya didefinisikan dengan baik dan jelas. 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. Tujuan pendekatan terstruktur adalah agar pada akhir pengembangan perangkat lunak dapat memenuhi kebutuhan user, dilakukan tepat waktu, tidak melampaui anggaran biaya, mudah dipergunakan, mudah dipahami dan mudah dirawat.

Konsep pengembangan sistem terstruktur bukan merupakan konsep yang baru. Teknik perakitan di pabrik-pabrik dan perancangan sirkuit untuk alat-alat elektronik adalah dua contoh baru konsep ini yang banyak digunakan di industri-industri. Konsep ini memang relatif masih baru digunakan dalam mengembangkan sistem informasi untuk dihasilkan produk sistem yang memuaskan pemakainya. Dalam hubungannya dengan pengembangan sistem informasi dan software aplikasi sitem informasi, pemrogaram 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 teknik yang dipelihara (diubah). Analisis Terstruktur Modern merupakan teknik yang berorientasi kepada proses yang paling populer dan banyak digunakan dewasa ini. Pemodelan data merupakan suatu teknik yang berorientasi kepada data dengan menunjukkan sistem hanya datanya saja terlepas dari bagaimana data tersebut akan diproses atau digunakan untuk menghasilkan informasi. Melalui pendekatan terstruktur, permasalahan-permasalahan yang kompleks dalam organisasi dapat dipecahkan dan hasil dari sistem akan mudah untuk dipelihara, fleksibel, lebih memuaskan. Salah satu tools dan teknik dalam pengembangan sistem terstruktur adalah menggunakan DFD (Data Flow Diagram = Diagram Arus Data, DAD).

Ciri utama yang mendukung Pendekatan Terstruktur :
- Memanfaatkan alat-alat pemodelan
Menggunakan model untuk menjelaskan berbagai sistem, sub sistem untuk ditelaah dan dievaluasi oleh pelanggan dan pengembang (sebagai alat komunikasi, eksperimentasi atau prediksi).
- Merancang berdasar modul
Modularisasi adalah proses yang membagi suatu sistem menjadi beberapa modul yang dapat beroperasi secara independent.
- Bekerja dengan pendekatan Top Down
Dimulai dari level atas (secara global) kemudian diuraikan sampai ke tingkat modul (rinci).
- Dilakukan secara iterasi
Dengan iterasi akan didapat hasil yang lebih baik, terlalu banyak iterasi juga akan menurunkan hasilnya dan menunjukkan bahwa tahap sebelumnya tidak dilakukan dengan baik.
- Kegiatan dilakukan secara paralel
Pengembangan subsistem-subsistem dapat dilakukan secara paralel, sehingga akan memperpendek waktu pengembangan sistem.

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.

2.2 Pengembangan Sistem dengan Pendekatan Berorientasi Objek
Pendekatan berorientasi objek 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. Pendekatan berorientasi objek adalah cara memandang persoalan dengan menggunakan model – model yang diorganisasikan seputar konsep objek yang mengkombinasikan struktur data dan perilaku suatu entitas. Pada pendekatan ini, organisasi perangkat lunak adalah sebagai kumpulan objek diskrit yang saling bekerja sama, berkomunikasi, dan berinteraksi menuju sasaran tertentu.

Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dari abstraksi objek sampai dengan kelas. hubungan antar kelas sampai abstraksi sistem. Saat mengabstraksikan dan memodelkan objek, data dan proses-proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan. Dari penjelasan metode pendekatan system diatas, dalam penyusunan serta analisa laporan mengenai website BBPPK ini diambil metode pendekatan sistem secara terstruktur, dalam metode ini digunakan tools-tools yang dapat membantu dalam proses perancangan diantaranya DFD (Data Flow Diagram) dan juga DK (Diagram Konteks).

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.

Kelebihan :
- Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan system.
- Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD.
- 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.
- Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks.
- Encapsulation 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.
- 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.

2.3 Perbedaan Pengembangan Sistem dengan Pendekatan Terstruktur dan Object Oriented
Pendekatan Terstruktur dikenal dengan (Structured Analisys and Design / SSAD), sedangkan Pendekatan Berorientasi Objek dikenal dengan (Object-oriented Analysis and Design / OOAD).
Pendekatan Terstruktur menggunakan Pendekatan Fungsional, sedangkan Pendekatan Berorientasi Objek menggunakan Pendekatan Berbasis Objek Oriented.
Pendekatan Terstruktur mendekomposisi permasalahan dilakukan berdasarkan fungsi atau proses secarahirarki, mulai dan konteks sampai proses-proses yang paling kecil, sedangkan Pendekatan Berorientasi mendekomposisi permasalahan dilakukan berdasarkan objek-objek yang ada dalam sistem.
Pendekatan Terstruktur menggunakan SSAD lebih sulit digunakan dalam pembangunan sistem, sedangkan Pendekatan Berorientasi Objek menggunakan OOAD lebih mudah digunakan dalam pembangunan sistem.
Pendekatan Terstruktur tidak fokus pada coding, sedangkan Pendekatan Berorientasi Objek OOAD lebih fokus pada coding.
Pendekatan Terstruktur menekankan SSAD pada kinerja team, sedangkan Pendekatan Berorientasi Objek tidak menekankan, OOAD pada kinerja team.

3. Penutup
Dalam pengembangan sistem tersebut, perlu di perhatikan beberapa hal yang menyangkut, bagaimana dan apa yang dibutuhkan terlebih dahulu dalam mendesain sistem, yaitu bagaimana kita dapat mendefinisikan event, Usecase, dan event table terlebih dahulu sebelum memulai pengembangan sistem yang akan kita pilih, lalu bagaimana kita menentukan things sebagai dasar dari pengembangan sistem, baru kemudian memilih pendekatan pengembangan sistem mana yang akan kita gunakan. Adapun secara logika alur pengembangan sistem di gambarkan sebagai berikut :



0 komentar: