Labels

Friday, November 23, 2012

VII. PENGEMBANGAN SISTEM : SUATU SURVEI



VII. 1. Siklus Hidup Pengembangan Sistem

Sistem Informasi adalah suatu sinergi antara data, mesin pengolah data (yang biasanya meliputi komputer, program aplikasi dan jaringan) dan manusia untuk menghasilkan informasi. Jadi sistem informasi bukan hanya aplikasi perangkat lunak. Sistem Informasi ada pada hampir setiap perusahaan atau instansi untuk mendukung kegiatan bisnis mereka sehari-hari. Biasanya porsi pengerjaan pengembangan sistem informasi diserahkan kepada orang-orang yang bekerja di bidang Teknologi Informasi.

Dalam membangun suatu sistem informasi (dalam hal ini lebih mengacu kepada pengertian aplikasi perangkat lunak) digunakan metode Siklus Hidup Pengembangan Sistem (System Development Life Cycle atau SDLC). SDLC terdiri dari sejumlah tahapan yang dilaksanakan secara berurutan. Secara umum tahapan dari SDLC adalah sebagai berikut:

Pengumpulan data (data gathering)
Jika sudah ada sistem yang berjalan sebelumnya maka perlu dilakukan pengumpulan data dan informasi yang dihasilkan dari sistem yang ada. Pengumpulan laporan (report), cetakan (print-out), dsb baik yang sudah ada maupun yang diharapkan untuk ada pada sistem yang baru. Interview dan questionnaire terhadap orang-orang yang terlibat dalam sistem juga mungkin perlu dilakukan. Apabila sistem yang akan dikembangkan benar-benar baru (belum ada sistem informasi sebelumnya) maka pada tahapan ini pengembang bisa lebih menekankan kepada studi kelayakan dan definisi sistem.

Analisa Sistem
Jika tahapan pengumpulan data dilakukan dengan melibatkan klien atau pengguna sistem informasi, maka mulai dari tahapan analisa lebih banyak dilakukan oleh pihak pengembang sendiri. Analisa terhadap sistem yang sedang berjalan dan sistem yang akan dikembangkan. Mendefinisikan objek-objek yang terlibat dalam sistem dan batasan sistem.
Perancangan Sistem (design)
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).
Penulisan kode program (Coding)
Programming (desktop application) atau Scripting (web-based application) hanyalah salah satu tahapan dari siklus hidup pengembangan sistem. Tahapan ini dilakukan oleh satu atau lebih programmer. Jika tahapan analisa dan perancangan sistem telah dilakukan dengan baik, maka porsi tahapan coding tidaklah besar.
Testing
Biasanya tahapan ini dilakukan oleh Quality Assurance dari pihak pengembang untuk memastikan bahwa software yang dibangun telah berjalan sesuai dengan yang diharapkan. Salah satu metodenya bisa dengan menginput sejumlah data pada sistem baru dan membandingkan hasilnya dengan sistem lama. Apabila diperlukan maka tahapan ini bisa dibagi menjadi dua yaitu testing oleh pihak pengembang (alpha testing) dan testing oleh pihak pengguna (beta testing).

Instalasi
Pada pengembangan aplikasi Client-Server, umumnya terdapat server untuk development, testing dan production. Server development berada di tempat pengembang dan dipergunakan selama pengembangan dan bisa juga setelahnya untuk perbaikan aplikasi secara terus menerus (continuous improvements). Server testing berada di tempat pengembang dan bisa juga di tempat pengguna apabila diperlukan beta testing. Setelah aplikasi dirasa siap untuk dipergunakan maka digunakanlah server production yang berada di tempat pengguna. Pada prakteknya di tempat pengembang juga bisa terdapat server production yaitu server yang memiliki spesifikasi hardware dan software yang sama dengan server di tempat pengguna. Hal ini dimaksudkan agar apabila ditemukan error atau bug pada aplikasi di tempat pengguna maka pengembang dapat mudah mencari penyebabnya pada server production mereka.

Pelatihan
Pihak pengembang memberikan training bagi para pengguna program aplikasi sistem informasi ini. Apabila sebelumnya tidak dilakukan beta testing maka pada tahapan ini juga bisa dilangsungkan User Acceptance Test.

Pemeliharaan
Maintenance bertujuan untuk memastikan bahwa sistem yang digunakan oleh pihak pengguna benar-benar telah stabil dan terbebas dari error dan bug. Pemeliharaan ini biasanya berkaitan dengan masa garansi yang diberikan oleh pihak pengembang sesuai dengan perjanjian dengan pihak pengguna. Lamanya waktu pemeliharaan sangat bervariasi. Namun pada umumnya sistem informasi yang kompleks membutuhkan masa pemeliharaan dari enam bulan hingga seumur hidup program aplikasi.

Secara teori inilah siklus hidup pengembangan sistem. Namun pada prakteknya hal ini tidaklah selalu mulus untuk dilaksanakan. Banyak faktor yang mempengaruhi keberhasilan pengembangan sistem informasi. Terutama adalah pada faktor manusia yang terlibat. Dari pihak pengembang, kurangnya keahlian dan pengalaman bisa menyebabkan kesalahan dalam satu tahapan sehingga menyebabkan siklus ini harus diulangi dari tahapan yang salah. Bisa terjadi bahwa siklus ini dilakukan sampai berulang-ulang.

Dari pihak pengguna, idealnya perlu bersama-sama dengan pihak pengembang untuk memahami sistem informasi mulai dari awal siklus hidup pengembangan sistem. Namun yang sering terjadi pihak pengguna menyerahkan semuanya kepada pihak pengembang sehingga pada saat implementasi (testing atau training) pihak pengguna tidak menyetujui (menolak) sebagian atau seluruh rancangan dari sistem yang telah selesai dibangun oleh pihak pengembang.

Apabila perlu dilakukan revisi dan pengulangan tahapan siklus hidup pengembangan sistem tentu saja akan menambah beban biaya, tenaga dan waktu dari kedua belah pihak. Hal-hal seperti inilah yang menyebabkan banyak proyek pengembangan sistem informasi gagal atau berhenti di tengah jalan.
VII.2. Standar-Standar Dokumentasi
Tinjauan atas dokumentasi pengembangan sistem
Format khusus dari dokumentasi pengembangan sistem biasanya disebutkan dalam standar-standar dokumentasi pengembangan sistem organisasi.
1.    Studi kelayakan: analisis yang dilakukan untuk menentukan apakah proyek layak dipertimbangkan atau tidak. Tujuannya untuk menjawab seluruh pertanyaan kelayakan teknis, ekonomis dan operasional.
2.    Diagram arus logis
3.    Kamus-kamus data: mendokumentasikan muatan khusus basis data
4.    Perancangan konseptual: dasar perancangan sistem yang rinci.
5.    Laporan perancangan sistem: translasi dari laporan perancangan konseptual ke dalam kinerja sistem yang rinci dan spesifikasi fungsional yang diperlukan untuk memulai perancangan sistem secara fisik
6.    Bagan alir dan tabel keputusan
7.    Deskripsi program
8.    Prosedur-prosedur operasi, manual berjalan. Manual berjalan adalah kumpulan dokumen yang terorganisasi yang berkaitan dengan prosedur-prosedur operasi mencakup aplikasi-aplikasi tertentu
9.    Deskripsi berkas; prosedur-prosedur memasukkan data
10.  Rencana pengubahan
11.  Skedul operasi dan perwatan
12.  Rencana audit
13.  Komentar pemakai

VII.3. Teknologi dan praktik pengembangan sistem
Pengendalian Produktivitas Analis/Pemrogram
Pemrograman terstruktur adalah konsep yang berkaitan dengan gaya pemrograman umum, dan dalam sebagian besar format abstraknya, merupakan jenis dari logika simbolis, yang berkaitan dengan ketepatan dan perancangan program. Structured programming meliputi pengembangan standar rancangan program yang menspesifikasikan bagaimana cara para pemrograman dan bagaimana program-program dirancang secara memadai.


Computer aidded software engineering (CASE)
CASE merupakan proses yang menggunakan teknologi perangkat lunak komputer yang menunjang bidang rekayasa otomatis untuk mengembangkan dan memelihara perangkat lunak. CASE ditujukan untuk meningkatkan produktivitas, memperbaiki kualitas perangkat lunak melalui perbaikan standar dan analisis dan mengurangi biaya pengembangan. CASE terdiri atas beragam peralatan:
1.    Repositori (pusat CASE)
2.    Peralatan pendiagraman
3.    Pemverifikasi syntax
4.    d. Prototyping
5.    Pembuatan kode
6.    Manajemen proyek
Secara konseptual terdapat beberapa masalah dalam pendekatan prototyping
1.    Sistem yang tidak selesai tidak dapat diterima sebagai sesuatu yang selesai
2.    Kesulitan mengelola dan mengendalikan proses yang menimbulkan banyak perubahan
Rekayasa Ulang
Adalah proses pengutipan segmen-segmen kode yang digunakan ulang dari perangkat lunak yang ada, kemudian merestrukturisasi kode ini untuk meningkatkan efisiensi dan kegunaan ulangnya.
Pengendalian Perubahan Progam
Pengendalian perubahan program memperhatikan pemeliharaan program aplikasi. Tujuan pengendalian itu adalah untuk mencegah penggelapan yang potensial dan perubahan yang tidak terotorisasi sebelum progam-program diuji dan disetujui.
Pemisahan Tugas
Dokumentasi perubahan program harus diakumulasikan dalam perubahan program, yang menyediakan akumulasi perbuahan untuk setiap program aplikasi terpisah.
Administrasi Basis Data (DBA)
Fungsi administrasi basis data (DBA) merupakan hal penting dalam perancangan dan pengendalian seluruh elemen manajemen data dan sistem basis data. Fungsi DBA seperti pendefinisan data dan keamanan data, sc tradisionaldilaksanakan secara terpisah, barangkali juga oleh orang yang berbeda, untuk setiap program aplikasi terpisah dan berkas-berkas yang berkaitan.

VII.4. Perencanaan Dan Pengorganisasian Proyek
Seleksi Proyek
Jika sumber daya organisasi terbatas, sumberdaya pengembangan proyek harus dialokasikan ke proyek-proyek yang bersangkutan yang dapat menghasilkan manfaat terbesar bagi organisasi. Seleksi proyek biasanya merupakan tanggungjawab dewan pengarah(steering committee) atau unit organisasi lain untuk menjamin adanya partisipasi pemakai dalam proses seleksi.

Tim Proyek
Pimpinan proyek memiliki tanggungjawab langung kepada dewan pengarah dalam hal perkembangan dan penyelesaian proyek. Dewan pengarah atau unit organisasi serupa digunakan sebagai jaminan adanya keterlibatan pemakai dalam pekerjaan di departemen sistem informasi.
Perincian Proyek Ke Dalam Tahap-Tahap Dan Tugas-Tugas
Untuk merencanakan dan mengendalikan proyek secara efektif, aktivitas-aktivitas yang dibutuhkan dirincikan atau dipilah-pilah menjadi daftar tugas dan tahap-tahap yang lengkap. Tujuan perincina proyek adalah membantu penugasan dan pengendalian tenaga kerja dan sumberdaya proyek lainnnya.
Estimasi Waktu
Mengestimasikan wakt penyelesaian tugas secara akurat untuk proyek sistem merupakan hal yang sulit karena adanya ketidakpastian-ketidakpastian yang inheren dalam pengembangan sistem.
Pengukuran kerja mencakup empat dasar:
1.    Identifikasikan tugas-tugas yang akan diestimasikan
2.    Untuk setiap tugas, estimasikan total ukuran atau volume tugas dalam suatu pola tertentu
3.    Konversikan estimasi ukuran atau volume ke dalam estimasi waktu dengan mengalikan estimasi ukuran atau volume dengan tarif pemrosesan standar atau yang diestimasikan
4.    Sesuaikan tarif pemrosesan yang diestimasikan untuk mempertimbangkan masalah-masalah seperti waktu menganggur, kompleksitas tugas, atau pembaruan tugas-tugas

No comments:

Post a Comment

Masukan Komentar Anda..