. .

METODOLOGI PENGEMBANGAN SISTEM

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Sabtu, Oktober 22, 2016 No comments

Pengertian Metodologi Pengembangan Sistem
Metodologi pengembangan sistem adalah suatu proses pengembangan sistem yang formal dan presisi yang mendefinisikan serangkaian aktivitas, metode, best practices dan tools yang terautomasi bagi para pengembang dan manager proyek dalam rangka mengembangkan dan merawat sebagai keseluruhan system informasi atau software.
A. Alasan perlunya Metodologi Pengembangan Sistem adalah:
  1. Menjamin adanya konsistensi proses.
  2. Dapat diterapkan dalam berbagai jenis proyek.
  3. Mengurangi resiko kesalahan dan pengambilan jalan pintas.
  4. Menuntut adanya dokumentasi yang konsisten yang bermanfaat bagi personal baru dalam tim proyek.
B. Macam-Macam Metodologi Pengembangan System
1. Metode System Development Life Cycle (SLDC)
Metode ini adalah metode pengembangan sistem informasi yang pertama kali digunakan makanya disebut dengan metode tradisional. Metode ini prototype adalah tahap-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi.
1.a. Tahap-tahap SLDC yaitu:
  • Melakukan survey dan menilai kelayakan proyek pengembangan sistem informasi.
  • Mempelajari dan menganalisis sistem informasi yang sedang berjalan.
  • Menentukan permintaan pemakai sistem informasi.
  • Memilih solusi atau pemecahan masalah yang paling baik.
  • Menentukan perangkat keras dan perangkat lunak computer.
  • Merancang sistem informasi baru.
  • Mengkomunikasikan dan mengimplementasikan sistem informasi baru.
  • Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru.
1.b. Kelebihan dan Kekurangan
Kelebihan
  • Mudah diaplikasikan.
  • Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
Kekurangan
  • Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena model ini bisa melakukan itersi tidak langsung.
  • Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk megakomodasi ketidakpastian pada saat awal proyek.
  • Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyek dilalui. Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus mengulang dari awal.
  • Pengembang sering malakukan penundaan yang tidak perlu karena anggota tim proyek harus menunggu tim lain untuk melengkapi tugas karena memiliki ketergantungan hal ini menyebabkan penggunaan waktu tidak efesien.
2. Model Waterfall
Sering juga disebut model Sequential Linier. Metode pengembangan sistem yang paling tua dan paling sederhana. Cocok untuk pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-ubah. Model ini menyediakan pendekatan alur hidup perangkat lunak secara sequential atau terurut dimulai dari analisa, desain, pengkodean, pengujian dan tahap pendukung.
2.a. Tahap-Tahap Metode Waterfall:
Analisis Kebutuhan Perangkat Lunak
  • Desain
  • Pembuatan Kode Program
  • Pengujian
  • Pendukung atau Pemeliharaan
2.b. Kelebihan dan Kekurangan Metode Waterfall
Kelebihan
  • Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
  • Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu.
Kekurangan
  • Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
  • Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan.
  • Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan.
3. Model Prototyping
Prototyping adalah 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.
3.a. Tahapan-tahapan Model Prototyping
Pengumpulan Kebutuhan
  • Membangun Prototyping
  • Menggunakan Sistem
  • Mengkodekan Sistem
  • Menguji Sistem
  • Evaluasi Sistem
  • Evaluasi Prototyping
3.b. Kelebihan dan Kekurangan
Kelebihan
  • Prototype melibatkan user dalam analisa dan desain.
  • Punya kemampuan menangkap requirement secara konkret.
  • Digunakan untuk memperluas SDLC.
Kekurangan
  • Proses analisis dan perancangan terlalu singkat.
  • Mengesampingkan alternatif pemecahan masalah.
  • Biasanya kurang fleksible dalam mengahadapi perubahan.
  • Protitype yang dihasilkan tidak selamanya mudah dirubah dan cepat selesai.
4. Model RAD (Rapid Application Development)
RAD adalah penggabungan beberapa metode atau teknik terstruktur. RAD menggunakan metode prototyping dan teknik terstruktur lainnya untuk menentukan kebutuhan user dan perancangan sistem informasiselain itu RAD menekankan siklus perkembangan dalam waktu yang singkat (60 sampai 90 hari) dengan pendekatan konstruksi berbasis komponen.
4.a. Tahapan-tahapan Model RAD
  • Bussiness Modelling
  • Testing and Turnover
  • Aplication Generation
  • Process Modelling
  • Data Modelling
4.b. Kelebihan dan Kekurangan
Kelebihan
  • RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object).
  • Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien.
Kekurangan
  • Tidak cocok untuk proyek skala besar
  • Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
  • Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
  • Resiko teknis yang tinggi juga kurang cocok untuk model ini
5. Model Spiral
Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek sistematis model sequensial linier. Model iteratif ditandai dengan tingkah laku yang memungkinkan pengembang mengembangkan versi perangkat lunak yang lebih lengkap secara bertahap.
5.a. Tahapan-tahapan Model Spiral
  • Komunikasi Pelanggan
  • Perencanaan
  • Analisis Resiko
  • Perekayasaan
  • Konstruksi dan Peluncuran
  • Evaluasi Pelanggan
5.b. Kelebihan dan Kekurangan
Kelebihan
  • Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
  • Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
  • Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
  • Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
  • Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iterative.
  • Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kekurangan
  • Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
  • Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  • Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute
6. Object Oriented Technology
Object Oriented Technology merupakan cara pengembangan perangkat lunak berdasarkan abstraksi objek-objek yang ada di dunia nyata. Dasar pembuatan adalah Objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. Filosofi Object Oriented sangat luar biasa sepanjang siklus pengenbangan perangkat lunak (perencanaan, analisis, perancangan dan implementasi) sehingga dapat diterapkan pada perancangan sistem secara umum: menyangkut perangkat lunak, perangkat keras dan system secara keseluruhan.
6.a. Tahapan-Tahapan Object Oriented Technology
Pada Object Oriented Technology ada beberapa metode yang digunakan dalam pengembangan sistem. Salah satu yang terkenal adalah OMT (Object Modelling Technique). Aktivitas-aktivitas yang dilakukan dalam OMT ini adalah:
  • Model Objek
  • Model Dinamis
  • Model Fungsional
6.b. Kelebihan dan Kekurangan Object Oriented Technology
Kelebihan 
  • Uniformity, OMT memungkinkan merancangn user interface secara terintegrasi bersama dengan perancangan perangkat lunak sekaligus dengan perancangan basis data.
  • Understandability, Kode-kode yang dihasilkan dapat diorganisasi ke dalam kelas-kels yang berhubungan dengan masalah sesungguhnya sehingga lebih mudah dipahami.
  • Stability, Kode program yang dihasilkan relatif stabil sebab mendekati permasalahn sesungguhnya dilapangan.
  • Reusability, Dimungkinkan penggunaan kembali kode-kode sehingga akan mempercepat waktu pengembangan perangkat lunak.
Kelemahan 
  • Metode berorientasi objek merupakan konsep yang relatif baru sehingga belum ada standar yang diterima semua pihak dalam menentukan tool apa yang digunakan sebagai dasar analisi serat perancangan perangkat lunak.
7. Metode End-user Development
Disini pengembangan dilakukan langsung oleh end-user. Keterlibatan langsung end-user sangat menguntungkan, karena memahami benar bagaimana sistem bekerja. Artinya tahap analisis sistem dapat dilakukan lebih cepat. Kelemahan adalah pada pengendalian mutu dan kecenderungan tumbuhnya “private”sistem informasi. Integrasi dengan sistem yang lain menjadi sulit.
7.a. Tahapan-tahapan EUD
  • Tahap inisasi (initiation), yaitu tahap dimana organisasi(perusahaan) mulai pertama kali mngenal teknologi informasi.
  • Tahap ketularan (contagion)
  • Tahap kendali (control)
  • Tahap matang (mature)
7.b. Kelebihan dan Kekurangan
Kelebihan
  • Dapat menghindari permasalahan kemacetan di departemen sistem informasi.
  • Kebutuhan pemakai sistem dapat lebih terpenuhi karena dapat dikembangkan sendiri oleh pemakai.
  • Menambah atau meningkatkan partisifasi aktif pemakai dalam proses pengembangan sistemnya sehingga akan ada kepuasan sendiri dari pemakai sistem.
  • Dapat menambah kualitas pemahaman pemakai terhadap aplikasi yang dikembangkan serta teknollogi yang digunakan dalam sistem.
Kekurangan
  • Karena pemakai sistem harus mengembangkan aplikasinya sendiri, maka dalam hal ini pemakai sekaligus pengembang sistem dituntut untuk memiliki pemahaman mengenai teknologi informasi (computer literacy) serta pemahaman tentang pengembangan sistem infomasi.
  • End user computing memiliki resiko dapat menggangu bahkan merusak system informasi di luar yang dikembangkan oleh pemakai sistem.
  • End user computing pasti akan berhadapan dengan maslah kemampuan teknis pemakai sekaligus pengembang sistem.
Alat dan Teknik dalam Pengembangan Sistem 
A. Alat-alat Pengembangan Sistem
Alat-alat pengembangan sistem yang penulis gunakan adalah sebagai berikut : 
  • Bagan Alir Dokumen (Mapping Chart) merupakan bagan alir yang menunjukkan arus dari laporan dan formulir atau dokumen 
  • Diagram Arus Data (Data Flow Diagram) digunakan pada metodologi structured, analisa dan desain. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan lebih lanjut, DFD merupakan dokumentasi dari sistem yang baik. 
  • Kamus Data File (Data Dictionary) merupakan katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi.
  • Relational Database merupakan hubungan dari file-file database yang digunakan dalam sistem yang dirancang. Penggambaran database relationship dilakukan pada proses normalisasi.
  • Context Diagram merupakan diagram yang dapat menggambarkan hubungan keterkaitan antara sistem dengan pihak-pihak diluar lingkungan sistem dan posisi sistem dalam lingkungan tersebut. Pihak-pihak tersebut merupakan pihak-pihak yang membutuhkan informasi dan data bagi system. Hubungan keterkaitannya digambarkan sebagai aliran informasi dan data yang masuk kedalam sistem dan keluar sistem.
  • Diagram Alir Informasi Diagram Alir Informasi adalah suatu diagram yang menggambarkan informasi yang mengalir dari suatu bagian ke bagian yang lainnya.
Jadwal Implementasi Suatu jadwal yang menerangkan proses implementasi yang sudah direncanakan beserta perhitungan dari berbagai aktifitas
B. Teknik Pengembangan Sistem
Teknik pengembangan sistem yang dimaksudkan dalam pengembangan sistem adalah teknik untuk mengumpulkan data dan menemukan fakta-fakta dalam kegiatan mempelajari sistem yang ada sihingga data-data yang diperoleh dapat diproses untuk dapat mengembangkan sistem. Adapun teknik-teknik yang digunakan adalah sebagai berikut : 
Teknik Wawacara
  • Wawancara memungkinkan analis sistem mengumpulkan data secara langsung dengan pihak yang diwawancarai serta dapat langsung mengajukan pertanyaan-pertanyaan yang dirasa perlu dalam mengumpulkan data yang dibutuhkan. 
Teknik Observasi
  • Observasi adalah pengamatan langsung pada kegiatan yang sedang dilakukan
Analisis dan Pemograman Sistem
Penerapan anaalisis sistem untuk pengembangan sistem informasi biasanya memerlukan jangka waktu yang lebih lama bila dibandingkan dengan pemecahan masalah pada umumnya. Dengan sendirinya hal ini tidak benar untuk semua kejadian. Lagipula, pengembanga sistem informasi dari satu sudut pandangan dapat disebut suatu pemecahan terhadap suatu maslah; artinya, kebutuhan untuk mengetahui dan menyelesaikan permasalahan yang dihadapi.
Program sistem adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, atau dengan kata lain program sistem adalah software pada lapisan pertama yang disimpan pada memori komputer dan merupakan program pertama yang dijalankan pada saat komputer dinyalakan (setelah BIOS). Program sistem sering juga disebut sistem operasi.
Pengetahuan dan Keahlian Yang Diperlukan Analis Sistem 
  1. Pemahaman terhadap teknik pengolahan data, teknologi komputer dan pemrograman komputer, yaitu teknologi informatika (hardware dan software), teknologi komunikasi data, bahasa-bahasa komputer, system operasi, utilities dan paket-paket perangkat luank lainnya.
  2. Pemahaman terhadap bisnis secara umum, Pengetahuan tentang bisnis meliputi akuntansi keuangan, akuntansi biaya, akuntansi manajemen, sistem pengendalian manajemen, pemasaran, produksi, manajemen personalia, keuangan, tingkah laku organisasi, kebijaksanaan perusahaan dan aspek-aspek lainnya.
  3. Keahlian dalam pemecahan masalah, Analisis sistem harus mempunyai kemampuan untuk meletakkan permasalahan-permasalahan komplek yang dihadapi oleh bisnis, memecah-mecah masalah tersebut kedalam bagian-bagiannya, menganalisisnya kemudian harus dapat merangkainya kembali menjadi suatu sistem yang dapat mengatasi permasalahan terebut.
  4. Keahlian dalam komunikasi antarpersonel, Analisis harus memepunyai kemampuan untuk mengadakan komunikasi baik secara lisan maupun secara tertulis. Keahlian ini diperlukan di dalam wawancara, presentasi, rapat dan pembuatan laporan-laporan.
  5. Memahami metodologi pengembangan system informasi.
Team Pengembangan Sistem 
Team pengembangan sistem secara umum dapat terdiri dari personil-personil sebagai berikut:
1. Manejer analisis system (manager of system analysis)
Disebut juga sebagai koordinator proyek dan mempunyai tugas dan tanggung jawab sebagai berikut:
  • Sebagai ketua / koordinator team pengembangan sistem 
  • Mengarahkan, mengontrol dan mengatur anggota team pengembangan sistem yang lainnya.
  • Membuat jadual pelaksanaan proyek pengembangan sistem yang akan dilakukan.
  • Bertanggung jawab dalam mendefinisikan masalah, studi kelayakan, desain sistem dan penerapannya.
  • Memberikan rekomendasi-rekomendasi perbaikan sistem. 
  • Mewakili team untuk berhubungan dengan pemakai sistem dalam hal perundingan-perundingan dan pemberian nasihat kepada manajemen dan pemakai system.
  • Membuat laporan-laporan kemajuan proyek.
  • Mengkaji ulang dan memeriksa kembali hasil kerja dari team.
2. Ketua analis system (lead system analyst)
Biasanya menjabat sebagai wakil dari manajer analis sistem. Tugasnya adalah membantu tugas dari manajer analist sistem dan mewakilinya bila manajer analist sistem berhalangan.
3. Analist sistem senior (senior system analyst)
Yang merupakan analist sistem yang sudah berpengalaman.
4. Analist system (System analist).
Yangmerupakan analist sistem yang cukup berpengalaman dan dapat bekerja sendiri tanpa bimbingan dari analist sistem senior.
5. Analist system junior (junior system analist).
Merupakan analist sistem yang belum berpengalaman dan masih membutuhkan bimbingan dari analist sistem yang lebih senior. Analist syistem junior ini juga sering disebut dengan analist syistem yang masih dilatih.
6. Pemrogram aplikasi senior (senior applications programmer).
Merupakan program komputer yang sudah berpengalaman dengan tugas merancang spesifikasi dari program aplikasi dan mengkoordinasi kerja dari pemrogram yang lainnya.
7. Pemrogram aplikasi (applicarions programmer).
Merupakan pemrogram komputer yang cukup berpengalaman dan dapat melakukan tugasnya tanpa harus bimbingan secara langsung lagi.
8. Pemrogram aplikasi junior (junior applications programmer).
Merupakan pemrogram komputer yang belum berpengalaman dan masih dibawah bimbingan dari pemrogram yang lebih senior.

0 komentar:

Posting Komentar