Tinjauan Umum Pengembangan Sistem

No comments
1. Definisi Pengembangan Sistem
Pengembangan sistem (systems development) dapat berarti menyusun suatu sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistemyang telah ada. Sistem yang lama perlu diperbaiki atau diganti disebabkan karena beberapa hal, yaitu sebagai berikut ini:
1.      Adanya permasalahan-permasalahan (problems) yang timbul di sistem yang lama.
2.      Ketidakberesan dalam sistem yang lama menyebabkan sistem yang lama tidak dapat beroperasi sesuai dengan yang diharapkan.
3.     Kecurangan-kecurangan disengaja yang menyebabkan tidak amannya harta kekayaanperusahaan dan kebenaran dari data menjadi kurang terjamin.
4.    Kesalahan-kesalahan yang tidak disengaja yang juga dapat menyebabkan kebenaran dari data kurang terjamin.
5.      Tidak efisiennya operasi.
6.      Tidak ditaatinya kebijaksanaan manajemen yang telah ditetapkan.
7.      Pertumbuhan organisasi.

Sebuah sistem informasi adalah untuk mengatur manusia dan komponen-komponenmesin, dan prosedur-prosedur yang saling berkaitan untuk mendukung kebutuhan informasi atau bisnis pada sebuah organisasi dan para pengguna sistem. Sistem tersebut tidak seperti paket program perangkat lunak aplikasi tetapi harus terlebih dahulu dikostumisasi.

Alasan Pengembangan Sistem :
    - Adanya masalah yang timbul dari sistem yang lama
    - Untuk meraih kesempatan – kesempatan dalam berbagai hal
    - Adanya instuksi dari pimpinan atau adanya peraturan dari pemerintah

2. Siklus Hidup Pengembangan Sistem


System Life Cycle (SLC) adalah proses evolusi yang diikuti oleh pelaksanaan system informasi dasar-dasar atau subsistem. Telah ada pendekatan implementasi tradisional sepanjang era komputer, dan ada perjanjian umum antara ahli-ahli komputer sehubungan dengan tugas-tugas yang dilaksanakan.
Adalah penerapan pendekatan sistem untuk pengembangan sistem atau subsistem informasi berbasis komputer. Sering disebut sebagai pendekatan air terjun (waterfall approach) bagi pengembangan dan penggunaan sistem.

Berbagai metodologi SLC telah dikembangkan untuk memandu proses yang terlibat termasuk model air terjun (asli metode SLC), pengembangan aplikasi cepat (RAD), pengembangan aplikasi bersama (JAD), maka air mancur model dan spiral model.Umumnya, beberapa model digabungkan ke dalam beberapa jenis hibrida metodologi. Dokumentasi sangat penting berapapun jenis model dipilih atau dibuat untuk setiap aplikasi, dan biasanya dilakukan bersamaan dengan proses pembangunan. Beberapa metode kerja lebih spesifik untuk jenis proyek, tetapi dalam analisis terakhir, faktor yang paling penting bagi keberhasilan suatu proyek dapat seberapa dekat rencana tertentu diikuti.
Beberapa SLC terdapat dalam perusahaan yang menggunakan komputer, mungkin ada seratus atau lebih. Pada kenyataannya SLC adalah sarana yang digunakan oleh manajemen untuk melaksanakan rencana strategis. Konsep life cycle menjadikan segala sesuatu yang tumbuh, menjadi dewasa setiap waktu dan akhirnya mati. Pola ini digunakan untuk sistem dasar komputer seperti subsistem pemrosesan data atau SSD.
System Life Cycle terdiri dari lima fase yaitu :
1. Fase Perencanaan
Fase ini dimulai dengan mendefinisikan masalah dan dilanjutkan dengan sistem penunjukan objektif dan paksaan. Di sini sistem analis memimpin studi yang mungkin terjadi dan mengemukakan pelaksanaannya pada manajer.
2. Fase Analisis
Fase ini mempunyai tugas penting yaitu menunjukkan kebutuhan pemakai informasi dan menentukan tingkat penampilan sistem yang diperlukan untuk memuaskan kebutuhan tersebut. Fase ini meliputi penetapan jangkauan proyek, mengenal resiko, mengatur rangkaian tugas, dan menyediakan dasar untuk kontrol. Analisis mengumpulkan persyaratan untuk sistem. Tahap ini meliputi rinci kajian terhadap kebutuhan bisnis organisasi.Pilihan untuk mengubah proses bisnis dapat dianggap. Berfokus pada desain tingkat tinggi seperti desain, program apa yang diperlukan dan bagaimana mereka akan berinteraksi, desain tingkat rendah (bagaimana setiap program akan bekerja), desain interface (antarmuka apa saja yang akan terlihat seperti) dan data desain (data yang akan diperlukan). Selama tahap ini, perangkat lunak dari keseluruhan struktur yang ditetapkan. Analisis dan Desain sangat krusial dalam pembangunan seluruh siklus. Any glitch dalam tahap desain dapat menjadi sangat mahal untuk memecahkan di kemudian tahap pengembangan perangkat lunak. Banyak perawatan dilakukan selama tahap ini. Yang logis sistem produk dikembangkan di tahap ini.
3. Fase Desain
Fase Desain ini meliputi penentuan pemrosesan dan data yang dibutuhkan oleh sistem yang baru, dan pemilihan konfigurasi terbaik dari hardware yang menyediakan desain. Desain system adalah ketentuan mengenal proses dan data yang dibutuhkan oleh sistem yang baru. Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Merancang alir kerja (workflow) dari sistem dalam bentuk diagram alir (flowchart) atau Data Flow Diagram (DFD). Merancang basis data (database) dalam bentuk Entity Relationship Diagram (ERD) bisa juga sekalian membuat basis data secara fisik. Merancang input ouput aplikasi (interface) dan menentukan form-form dari setiap modul yang ada. Merancang arsitektur aplikasi dan jika diperlukan menentukan juga kerangka kerja (framework) aplikasi. Pada tahapan ini atau sebelumnya sudah ditentukan teknologi dan tools yang akan digunakan baik selama tahap pengembangan (development) maupun pada saat implementasi (deployment).
4. Fase Pelaksanaan / Implementasi
Fase ini melibatkan beberapa spesialis informasi tambahan yang mengubah desain dari bentuk kertas menjadi satu dalam hardware, software, dan data. Pelaksanaan adalah penambahan dan penggabungan antara sumber-sumber secara fisik dan konseptual yang menghasilkan pekerjaan sistem. Dalam tahap ini, desain yang sudah diterjemahkan ke dalam kode.Program komputer yang ditulis menggunakan bahasa pemrograman konvensional atau aplikasi generator. Alat pemrograman seperti kompiler, Juru, Debuggers digunakan untuk menghasilkan kode. Berbagai bahasa pemrograman tingkat tinggi seperti C, C ++, Pascal, Java digunakan untuk coding. Sehubungan dengan jenis aplikasi, hak bahasa pemrograman yang dipilih.
5. Fase Pemakaian / Penggunaan
Selama fase penggunaan, audit memimpin pelaksanaannya untuk menjamin bahwa sistem benar-benar dikerjakan, dan pemeliharaannya pun dilakukan sehingga sistem dapat menyediakan kebutuhan yang diinginkan.
Pada fase 1-3 adalah siklus hidup pengembangan system. Tahap 4 adalah tahap penggunaan (implementasi) yang berlangsung hingga tiba waktunya untuk merancang system itu kembali jika diperlukan. Proses merancang kembali akan mengakibatkan berulangnya siklus hidup sistem secara keseluruhan.

3. Metodologi Pengembangan Sistem
Model-model yang digunakan pada Software Development Life Cycle (SDLC) yaitu:
•        MODEL WATERFALL
Merupakan model pengembangan system yang paling mudah dan paling sering digunakan. Model pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.
Tahap-tahap yang dilakukan pada model Waterfall ini digambarkan pada gambar berikut ini :

 
Kelebihan dan Kelemahan Waterfall
Kelebihan Model Waterfall :
1.      Merupakan model pengembangan paling handal dan paling lama digunakan.
2.      Cocok untuk system software berskala besar.
3.      Cocok untuk system software yang bersifat generic.
4.      Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan Model Waterfall :
1.      Persyaratan system harus digambarkan dengan jelas.
2.      Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
3.      Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan.
•        MODEL ITERASI
Merupakan model pengembangan system yang bersifat dinamis dalam artian setiap tahapan proses pengembangan system dapat diulang jika terdapat kekurangan atau kesalahan. Setiap tahapan pengembangan system dapat dikerjakan berupa ringkasan dan tidak lengkap, namun pada akhir pengembangan akan didapatkan system yang lengkap pada pengembangan system.
Model Iterasi digambarkan sebagai berikut :

 
Kelebihan dan Kelemahan Model Iterasi
Kelebihan Model Iterasi :
1.      Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah dilaksanakan.
2.      Dapat disesuaikan agar system bisa dipakai selama hidup software computer.
3.      Cocok untuk pengembangan sistem dan perangkat lunak skala besar.
4.      Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tahapan karena system terus bekerja selama proses.
Kekurangan Model Iterasi :
1.      Hanya berlaku untuk Short-Lifetime system.
2.      Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan.
3.      Memerlukan alat ukur kemajuan secara regular.
4.      Perubahan yang sering terjadi dapat merubah struktur system.
5.      Memerlukan tenaga ahli dengan kemampuan tinggi.
Terdapat dua jenis Model Iterasi, yaitu :
1.      Model Incremental, merupakan model pengembangan system yang dipecah sehingga model pengembangannya secara increment/bertahap. Kebutuhan pengguna diprioritaskan dan prioritas tertinggi dimasukkan dalam awal increment.
Tahapan Incremental Model :
•        Requirement
•        Specification
•        Architecture

DesignTahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan.

Model ini menerapkan sistem kerja yang paralel. Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat spesifikasi untuk modul pertama. Setelah spesifikasi pertama selesai, tim desain menindak lanjuti. Tim spesifikasi sebelumnya juga langsung membuat spesifikasi untuk model kedua, dan seterusnya.

Kelebihan dan Kekurangan Model Incremental
Kelebihan Model Incremental :
1.      Penambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan divalidasi dandapat menurunkan biaya yang dikeluarkan untuk memperbaiki system.
2.      Nilai penggunaan dapat ditentukan pada setiap increament sehingga fungsionalitas sistemdisediakan lebih awal
3.      Increment awal berupa prototype untuk membantu memahami kebutuhan pada incrementberikutnya.
4.      Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem.
5.      Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji

Kekurangan Model Incremental

1.      Tiap bagian tidak dapat diintegrasikan
2.      Setiap tambahan yang dibangun harus dimasukkan kedalam struktur yang ada tanpamenurunkan kualitas dari yang telah dibangun system tersebut sampai saat ini.
3.      Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut

Model Incremental digambarkan sebagai berikut :

2.            Model Spiral, merupakan model pengembangan system yang digambarkan berupa spiral. Model spiral ini tidak merepresentasikan rangkaian tahapan dengan penelusuran balik (back-tracking), tidak ada fase-fase tahapan yang tetap seperti spesifikasi atau perancangan. Setiap untaian pada pada spiral menunjukkan fase software process. Model ini merupakan perbaikan dari model waterfall dan prototype. Mengabungkan keuntungan model air terjun dan prototype dan memasukkan analissis resiko
Beberapa hal yang dilakukan dalam Model Spiral :
1.      Mendefinisikan kebutuhan dengan sedetail mungkin
2.      Pembuatan desain untuk sistem yang baru
3.      Pembuatan prototipe dari pembuatan desain, pembuatan prototipe selanjutnya berdasarkan evaluasi prototipe sebelumnya
4.      Proses prototipe dilakukan berulang-ulang sampai customer puas
5.      Sistem dibuat berdasarkan prototipe yang memuaskan customer
6.      Sistem di tes dan dievaluasi

Kelebihan dan Kekurangan Model Spiral :
Kelebihan Model Spiral :
1.      Dapat digunakan untuk sistem yang besar
2.      Sangat cocok sebagai mekanisme mengurangi resiko
Kelemahan Model Spiral :
1.      Terlalu banyak memikirkan resiko yang akan terjadi
2.      Masih jarang digunakan
3.      Metode ini lambat dan mahal karena setiap tahapan yang dilalui harus menikutsertakan pemesan

Model Spiral ini digambarkan sebagai berikut :

•        MODEL RAPID APPLICATION DEVELOPMENT (RAD)
Merupakan model pengembangan system yang melakukan beberapa penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan pengguna system. metodologi ini biasanya mensyaratkan beberapa teknik dan alat-alat khusus agar proses bisa cepat, misalnya melakukan sesi Joint Application Development(JAD), penggunaan alat-alat Computer Aided Software Engineering (CASE Tools), kode generator dan lain-lain.
Model RAD ini digambarkan sebagai berikut :

•        MODEL PROTOTYPING
Merupakan model pengembangan system yang proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis. Prototype juga bisa dibangun melalui beberapa tool pengembangan untuk menyederhanakan proses. Prototyping merupakan bentuk dari Rapid Application Development (RAD). Dalam metode ini, pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan system.
Tahapan-tahapan Prototyping
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:
1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)
3. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.
4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai
5. Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain.
6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

Kelebihan dan Kelemahan Prototyping
Kelebihan Prototyping adalah:
1.            Adanya komunikasi yang baik antara pengembang dan pelanggan
2.            Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3.            Pelanggan berperan aktif dalam pengembangan sistem
4.            Lebih menghemat waktu dalam pengembangan sistem
5.            Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
Kelemahan Prototyping adalah :
1.            Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu lama.
2.            Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem .
3.            Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik

Prototyping bekerja dengan baik pada penerapan-penerapan yang berciri sebagai berikut:
1.            Resiko tinggi Yaitu untuk masalah - masalah yang tidak terstruktur dengan baik, ada perubahan yang besar dari waktu ke waktu, dan adanya persyaratan data yang tidak menentu.
2.            Interaksi pemakai penting. Sistem harus menyediakan dialog on-line antara pelanggan dan komputer.
3.            Perlunya penyelesaian yang cepat
4.            Perilaku pemakai yang sulit ditebak
5.            Sitem yang inovatif. Sistem tersebut membutuhkan cara penyelesaian masalah dan penggunaan perangkat keras yang mutakhir
6.      Perkiraan tahap penggunaan sistem yang pendek
Model Prototyping digambarkan sebagai berikut :

 

4. Pendekatan dalam Pengembangan Sistem
A. Dipandang dari metodologi yang digunakan :
a. Pendekatan Klasik (Clasical approach )
Disebut juga pengembangan tradisional / konvensional adalah pengembangan sistem dengan mengikuti tahapan pada system life cycle. Pendekatan ini menekankan bahwa pengembangan sistem akan berhasil bila mengikuti tahapan pada system life cycle. Tetapi pada kenyataannya pendekatan klasik tidak cukup digunakan untuk mengembangkan suatu sistem informasi yang sukses dan akan timbul beberapa permasalahan diantaranya adalah :
1. Pengembangan perangkat lunak menjadi sulit.
2. Biaya perawatan atau pemeliharaan sistem menjadi lebih mahal
3. Kemungkinan kesalahan sistem besar
4. Keberhasilan sistem kurang terjamin
5. Masalah dalam penerapan sistem
b. Pendekatan Terstruktur (structured approach )
Pendekatan ini dimulai pada awal tahun 1970, dan dilengkapi dengan alat-alat (tools) dan teknik-teknik (techniques) yg dibutuhkan dalam pengembangan sistem.
B. Dipandang dari sasaran yang dicapai :
a) Pendekatan Sepotong (piecerneal approach )
Pendekatan yg menekankan pada suatu kegiatan / aplikasi tertentu.
b) Pendekatan Sistem (systems approach )
Pendekatan yg menekankan pada sistem informasi sebagai satu kesatuan terintegrasi
C. Dipandang dari cara menentukan kebutuhan dari Sistem :
a. Pendekatan Bawah Naik (Bottom Up Approach )
Pendekatan dari level bawah organisasi, yaitu level operasional dimana transaksi dilakukan. Pendekatan ini dimulai dari perumusan kebutuhan untuk menangani transaksi dan naik ke level atas dengan merumuskan kebutuhan informasi berdasarkan transaksi tsb. (merupakan ciri-ciri dari pendekatan klasik disebut juga data analysis) .
b. Pendekatan Atas Turun
Dimulai dari level atas yaitu level perencanaan strategi. Pendekatan ini dimulai dengan mendefinisikan sarasan dan kebijaksanaan organisasi , kemudian dilakukan analisis kebutuhan informasi , lalu proses turun ke pemrosesan transaksi (merupakan ciri-ciri dari pendekatan terstruktur disebut juga decision analysis )
D. Dipandang dari cara mengembangkannya :
a. Pendekatan Sistem menyeluruh
Pendekatan yg mengembangkan sistem serentak secara menyeluruh.
(merupakan ciri -ciri pendekatan klasik )
b. Pendekatan Moduler
Pendekatan yg berusaha memecah sistem yg rumit menjadi beberapa bagian / modul yg sederhana (merupakan ciri -ciri pendekatan terstruktur )
E. Dipandang dari teknologi yg digunakan :
a. Pendekatan Lompatan jauh (great loop approach )
Pendekatan yg menerapkan perubahan menyeluruh secara serentak penggunaan teknologi canggih. Perubahan ini banyak mengandung resiko, juga memerlukan investasi yg besar.
b. Pendekatan Berkembang (evolutionary approach )
Pendekatan yg menerapkan perubahan canggih hanya untuk aplikasi yg memerlukan saja, dan akan terus berkembang.


5. Alat dan Teknik dalam Pengembangan Sistem
Dapat berupa :
1. Grafik
HIPO, DFD, SADT, W/O, JSD
2. Bagan
a. Bagan untuk menggambarkan aktivitas
b. Bagan untuk menggambarkan tata letak
c. Bagan untuk menggambarkan hubungan personil
Teknik yang digunakan untuk pengembangan sistem antara lain :
• Teknik Manajemen Proyek : CPM, PERT
• Teknik Menemukan Fkata : Wawancara, Observasi, Kuesioner, Sampling
• Teknik Analisis Biaya
• Teknik Menjalankan Rapat
• Teknik Inspeksi
Penyebab kegagalan pengembangan sistem :
• Kurangnya penyesuaian pengembangan sistem
• Kelalaian menetapkan kebutuhan pemakai dan melibatkan pemakai
• Kurang sempurnanya evaluasi kualitas dan analisis biaya
• Adanya kerusakan dan kesalahan rancangan
• Penggunaan teknologi komputer dan perangkat lunak yg tidak direncanakan dan pemasangan teknologi tidak sesuai
• Pengembangan sistem yang tidak dapat dipelihara
• Implementasi yang direncanakan dilaksanakan kurang baik
Mengatasinya digunakan :
• SDLC
• Prototipe
• Perangkat Pemodelan
• Teknik Manajemen Proyek
• CASE
• JAD
• Keterlibatan pemakai

No comments :

Post a Comment