Dalam pembangunan sistem informasi diperlukan upaya pemetaan dan tahapan-tahapan tertentu agar sistem informasi yang dibangun dapat diimplementasikan sesuai kebutuhan organisasi/perusahaan. Suatu sistem informasi digunakan untuk mengatur hubungan anatar manusia dan komponene mesin serta prosedur-prosedur yang harus dilakukan serta berkaitan satu dengan yang lainya untuk mendukung kebutuhan informasi atau mekanisme bisnis pada sebuah organisasi.
Agar sistem informasi yang dibangun sesuai dengan kebutuhan organisasi maka diperlukan upaya proses pengembangan sistem (system develoment life cycle [SDLC] ) yang harus dilakukan oleh organisasi. SDLC merupakan proses formal yang harus dilakukan organisasi yang akan membangun sebuah sistem infrmasi yang berbasi komputer. Termasuk dalam hal ini adalah, size of organisation, jobs description, relevant experiece, education system yang terintegrasikan dalam proses informasi, sumber daya, peralatan dan teknis operasional.
Secara umum, pengembangan sistem informasi melalui tahap-tahap sebagai berikut
1. Survei Sistem (preliminary)
Survei sistem merupakan hal yang harus dilakuka bagi organisasi yang ingin membuat sistem informasi. Pada tahap ini, organisasi dan konsultan mendefinisikan tentang sistem yang akan dibuat. Upaya yang dilakukan dalam tahap ini adalah mengidentifikasi permasalahan, peluang, arahan melalui investigasi awal dalam melihat kebutuhan organisasi. Mendefinisikan lingkup kerja dimasing-masing bidang/divisi yang terdapat di organisasi. Penyususnan proposal meliputi gambaran umum pelaksanaan proyek, jadwal pelaksanaan, rincian biaya, aplikasi yang dikembangkan, analisis keuntungan, metodologi. Dalam penyusunan proposal ini dipertimbangkan kelayakan operasional (sistem, sumber daya, metode traiing, layanan purna jual/pemeliharaan, efesiensi dan efektifitas), kelayakan teknis (hardware, software, jadawal pelaksanaan proyek, fisiable, sistem keamanan data) dan kelayakan ekonomis (biaya pembuatan, implementasi dan keuntungan/benefit). Preliminary ini merupakan tahap awal saja, belum melakukan identifikasi secara mendalam.
2. Analisis Sistem
Analsis sistem merupakan sebuah teknik pemecahan masalah yang mendekomposisi sebuah sistem menjadi komponen-komponen penyusunannya dalam rangka mempelajari lebih jauh bagaimana komponen sistem tersebut bekerja dan berinteraksi dengan komponen lainya untuk tujuan tertentu. Tahap analisis sitem sudah lebih mendalam dalam mengidentifikasi komponen dan interaksi yang terjadi. Dalam analisis sistem juga dibangun desain sistem yang akan dikembangkan sesuai kebutuhan organisasi. Desain sistem yang merupakan kelanjutan dari teknik pemecahan masalah yang merangkai kembali komponen-komponen sistem menjadi satu kesatuan sistem yang utuh dengan harapan akan membentuk perbaikan sistem. Hal ini dipahami sebagai proses memahami sistem yang ada dengan menganalisis komponen terbentuknya. Dalam tahap ini, pembentukan sistem informasi dapat melakukan identifikasi terhadap aspek analisis sistem meliputi analisis jabatan dan uraian tugas (business users), proses bisnis (business process), aturan/ketentuan sistem (business rules), masalah dan solusi (business problem and solution), business tools, dan rencana perusahaan (business plans). Dalam proses ini, biasanya melakukan analisis pendekatan sistem yang include dengan metodologi pengembangan sistem seperti menggunakan pendekatan Structured Analysis Design, Information Engineering, Object-Oriented Analysis, Accelerated Analysis, Requirements Discovery, Business Process Reengineering, FAST, dll.
Berikut penjelasan aspek yang dianalisis dalam analisis sistem :
- Analisis Jabatan (Business users)
- Proses bisnis (business process)
- Ketentuan/aturan yang ada (business rules)
- Masalah dan mencari solusinya (business problems & solutions)
- Business tools
- Rencana perusahaan (business plans)
3. Desain Sistem
Apabila analisis sistem lebih berbicara ‘what?’, sedangkan desain sistem lebih banyak berbicara tentang ‘how?’. Desain sistem lebih fokus pada bagaimana sistem itu dibentuk untuk memenuhi kebutuhan pada fase analisis sistem. Manfaat desain sistem memberikan rancang bangun (blueprint) yang lengkap sebagai penuntun (guideline) bagi programer dalam mengembangkan aplikasi. Setidaknya dalam sistem informasi terkomputerisasi terdiri atas harware (input, proses, output & network), software (sistem operasi, utilitas dan aplikasi), data (struktur data, keamanan, integritas data), prosedur (dokumentasi, sistem, buku petunjuk, operasional dan teknis) serta manusia (pengguna sistem informasi). Dalam desain sistem, beberapa kegiatan yang dilakukan adalah: permodelan sistem, desain basis data, desain aplikasi, desain perangkat keras/jaringan dan desain jabatan (user).
4. Pembuatan Sistem
Setelah proses perancangan yang cukup pancang, tahap berikutnya adalah membuat sistem informasi. Pembuatan sistem ini meliputi kegiatan pembuatan aplikasi berdasarkan rancangan yang telah dibuat, disertai dengan pembuatan buku penggunaan aplikasi agar mudah saat melakukan training dan implementasi sistem. Pada tahap ini diperlukan proses ujicoba aplikasi meliputi : uji performa, program logic (sintaks), implementasi business rules, faktor manusia, business process/procedure, efesiensi input dan output.
5. Implementasi Sistem
Sebelum melakukan implementasi sistem, diperlukan persiapan yang memadai dalam hal perangkat keras, perangkat lunak, ruangan dan fasilitas pendukung lainya. Dalam implementasi sistem hal yang penting untuk diperhatikan adalah :
- Konversi
- Pelatihan
- Testing penerimaan
6. Pemeliharaan Sistem
Setelah terbentuk sistem dan diimplementasikan, diperlukan proses pemeliharaan. Pada tahap pemeliharaan ini mencangkup seluruh proses yang diperlukan untuk menjamin kelangsungan, kelancaran dan penyempurnaan sistem yang telah dioperasikan. Tahap ini meliputi kegiatan pemantauan dan kontrol pengoperasian, antisipasi gangguan kecil (bug), melakukan penyempurnaan yang mungkin terlewatkan, dan antisipasi faktor-faktor eksternal (virus, kehilangan/kerusakan data, cheating, dll).
Prototyping
Prototyping merupakan salah satu model yang digunakan dalam mengembangkan sistem informasi. Prototyping merupakan model yang paling banyak digunakan dalam mengembangkan sistem informasi. Model prototyping ini efektif bagi pengembangan sistem informasi bagi end user (pengguna) dan IS specialis. Karena model prototyping memungkinkan anatara pengembang (IS Specialis) dan enduser (pengguna) melakukan interaksi selama proses pembuatan sistem. Proses interaksi yang intensif antara pengguna dan pengembang dalam pembuatan sistem informasi dengan model ini, karena pengguna hanya memberitahukan keinginan secara umum dari sistem informasi yang dikembangkanya sedangkan pengembang yang akan menerjemahkan keinginan pengguna dengan memperhatikan efesiensi algoritma, kemampuan sistem operasi, serta interface yang menguhubungkan mesin dan manusia. Untuk mengatasi ketidaksesuaian antara pengguna dan pengembang dibutuhkan kerjasama yang baik diantara keduanya sehingga pengembang akan mengetahui benar apa yang benar-benar diinginkan pengguna tanpa mengesampingkan segi teknis dan pengguna akan mengetahui proses-proses dalam menyelesaikan sistem informasi yang diinginkan. Kunci keberhasilan dalam menerapkan model prototyping ini adalah sejak awal telah mendefinisikan aturan main anatara pengguna dan pengembang bahwa protoype yang dibangun sesuai dengan kebutuhan. Prototype yang tidak sesuai akan dihilangkan dan perangkat lunak aktual yang direkayasa dengan kualitas dan implemantasi yang telah ditentukan.
Tahapan prototyping agar sistem yang dibangun sesuai dengan kebutuhan adalah : pengumpulan kebutuhan, membangun prototyping, evaluasi prototyping, pengkodean sistem, menguji sistem, evaluasi sistem dan menggunakan sistem. Keunggulan model prototyping ini adanya interaksi antara pengguna dan pengembang sejak proses prototyping, sehingga penyesuain-penyesuain dapat dilakukan sedini mungkin. Selain itu, prototyping dapat bekerja dengan baik pada penerapan yange memiliki resiko tinggi dengan masalah-masalah yang tidak terstruktur, sering terjadi perubahan dari waktu ke waktu dan konsisi-kondisi yang tidak menentu. Interaksi yang intensif, artinya sistem harus menyediakan ruang dialog antara user dan komputer (help). Memerlukan penyelesaian yang cepat dan tanggap serta untuk perilaku users yang sulit ditebak. Selin itu, prototyping cocok diimplementasikan pada sistem yang inovatif, dimana penyelesaian masalah membutuhkan penggunaan hardware yang mutakhir serta perkiraan tahap penggunaan yang relatif pendek. Prototyping memiliki keunggulan dan kelmahan, berikut keunggulan dan kelemahan model prototyping :
Keunggulan Prototyping :
- Penentuan kebutuhan lebih mudah diwujudkan
- Mempersingkat waktu pengembangan SI
- Adanya komunikasi yang baik antara pengembang dan pelanggan
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
- Pelanggan berperan aktif dalam pengembangan sistem
- Lebih menghemat waktu dalam pengembangan sistem
- Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
Kelemahan Prototyping :
- Proses analisis dan perancangan terlalu singkat
- Mengesampingkan alternatif pemecahan masalah
- Bisanya kurang fleksible dalam mengahadapi perubahan
- Prototype yang dihasilkan tidak selamanya mudah dirubah
- Prototype terlalu cepat selesai, hasil kurang maksimal
Computer-Aided Software Engineering (CASE) Tools
Secara umum seorang software engineer
maupun engineer dari disiplin ilmu yang lain dalam
membangun/mengembangkan suatu produk, memiliki karakteristik sebagai
berikut:
- Mengetahui manfaat tools yang dapat membantu dalam membangun/mengembangkan suatu produk.
- Mampu mengorganisasikan tools yang memungkinkan untuk bekerja cepat dan efisien.
Memiliki pengetahuan teknik
membangun/mengembangkan produk serta handal dalam menggunakan tools
untuk membantu pekerjaannya. Dalam software engineering telah dikenal
banyak tools (computer-base system) yang dikenal dengan Computer-Aided
Software Engineering (CASE). CASE merupakan suatu teknik yang digunakan
untuk membantu satu atau beberapa fase dalam life-cycle software,
termasuk fase analisis, desain, implementasi dan maintenance dari
software tersebut.
Manfaat CASE tools untuk software engineer dijabarkan sebagai berikut:
- CASE tools memperbesar kemungkinan otomatisasi pada setiap fase life-cycle software.
- CASE tools sangat membantu dalam meningkatkan kualitas design model suatu software sebelum software itu dibangun/dikembangkan, baik itu untuk software yang dibangun dalam simple maupun complex environment.
Ada banyak tools yang mendukung
pembangunan/pengembangan suatu software. Agar tidak membingungkan, CASE
tools dibagi menjadi beberapa kategori:
- Information engineering-supporting products. Ada beberapa proses dari life-cycle, yang dihasilkan dari rencana strategis dari perusahaan dan yang menyediakan suatu repository untuk membuat dan memelihara enterprise models, data models dan process models.
- Structured diagramming-supporting products. Produk ini sangat mendukung dalam memodelkan data flow, control flow dan entity flow.
- Structured development aids-providing products. Merupakan produk yang cocok digunakan oleh sistem analis, karena didukung oleh suatu proses terstruktur sehingga penganalisaan lebih cepat dan akurat.
- Application-code-generating products. Produk ini mampu menghasilkan application-code untuk tujuan tertentu yang telah ditetapkan oleh designer.
CASE tools diklasifikasikan sebagai berikut:
- Upper CASE. CASE tools yang didesain untuk mendukung perencanaan,
identifikasi, dan seleksi proyek (permulaan dari perencanaan proyek),
tepatnya pada fase analisis dan desain dari suatu system development
life cycle (SDLC).
Tools yang termasuk kelas ini adalah jenis Diagramming tools, Form and report generators, dan Analysis tools.
Contoh CASE tools: Cradle, PRO-IV Workbench, ProKit*WORKBENCH.
- Lower CASE. CASE tools yang didesain untuk mendukung tahap
implementasi dan maintenance dari SDLC. Tools yang termasuk kelas ini
adalah jenis Code generators.
Contoh CASE tools: Level/l-User Sensitive CASE, PRO-IV application Development. - Cross life-cycle CASE/Integrated CASE (I-CASE). CASE tools yang dirancang untuk mendukung aktifikas-aktifitas yang terjadi pada beberapa fase dari SDLC. Mengkombinasikan Upper dan Lower CASE menjadi satu. Tools yang termasuk kelas ini adalah jenis Project management tools. Contoh CASE tools: Rational Rose, Poseidon, ArgoUML, Catalyze, in-Step, Juggler, PRINCE.
Mengapa harus menggunakan CASE?Hal yang
melatarbelakangi munculnya CASE tools adalah: karena selama ini para
software engineer hanya melakukan pembuatan perangkat lunak untuk
mengoptimalkan pekerjaan orang lain. Sedangkan software engineer itu
sendiri dalam aktifitasnya belum sepenuhnya terotomatisasi. Sehingga
muncullah CASE tools untuk membantu para software engineer tersebut.