Dokumen tersebut membahas pengembangan sistem informasi, meliputi pengertian pengembangan sistem, tim pengembangan sistem, indikator diperlukannya pengembangan sistem, prinsip pengembangan sistem, siklus hidup pengembangan sistem, metodologi pengembangan sistem, alat-alat teknik pengembangan, dan penyebab kegagalan pengembangan sistem. Secara garis besar dibahas pula system development life cycle (SDLC) sebagai proses peng
1. PENGEMBANGAN SISTEM INFORMASI
A. Pengembangan Sistem
Pengembangan sistem adalah penyusunan suatu sistem yang baru untuk menggantikan sistem
yang lama secara keseluruhan atau memperbaiki sistem yang telah ada.
1. Tim Pengembangan Sistem
Pengembangan sistem tentunya harus didukung oleh personel-personel yang kompeten
dibidangnya. Suatu Tim biasanya terdiri dari:
1. Manajer Analis Sistem
2. Ketua Analis Sistem
3. Analis Sistem Senior
4. Analis Sistem Junior
5. Pemrogram Aplikasi Senior
2. Indikator Diperlukannya Pengembangan Sistem
Sistem diperlukan untuk dikembagkan. Beberapa alasan atau indikator diperlukannya
pengembangan dari bebuah sistem antara lain sebagai berikut:
1. Keluhan pelanggan
2. Pengiriman barang yang sering tertunda
3. Pembayaran gaji yang terlambat
4. Laporan yang tidak tepat waktu
5. Isi laporan yang sering salah
6. Tanggung jawab yang tidak jelas
2. 7. Waktu kerja yang berlebihan
8. Ketidakberesan kas
9. Produktivitas tenaga kerja yang rendah
10. Banyaknya pekerja yang menganggur
3. Prinsip Pengembangan Sistem
Dalam pengembangannya, sebuah sistem memuliki prinsip-prinsip yang berlaku. Beberapa
diantaranya antara lain sebagai berikut:
1. Sistem yang dikembangkan adalah untuk manajemen
2. Sistem yang dikembangkan adalah investasi modal yang besar
3. Sistem yang dikembangkan memerlukan orang yang terdidik
4. Tahapan kerja dan tugas-tugas yang baru dilakukan dalam proses pengembangan sistem
5. Proses pengembangan sistem tidak harus urut
6. Jangan takut membatalkan proyek
7. Dokumentasi harus ada untuk pedoman dalam pengembangan sistem
4. Siklus Hidup Pengembangan Sistem
Siklus hidup pengembangan sistem merupakan aktivitas yang dilaksanakan oleh profesional dan
pemakai sistem informasi untuk mengembangkan dan mengimplementasikan sistem informasi.
Siklus hidup pengembangan sistem terbagi atas 7 fase yaitu:
1. Perencanaan sistem
2. Analis sistem
3. Perencanaan sistem secara umum
4. Evaluasi dan seleksi sistem
5. Perancangan sistem secara detail
6. Pengembangan perangkat lunak dan Implementasi sistem
3. 7. Pemeliharaan/Perawatan sistem
5. Metodologi Pengembangan Sistem
Metodologi adalah kesatuan metode-metode, prosedur-prosedur, konsep-konsep
pekerjaan,aturan-aturan,postulat-postulat yang digunakan oleh suatu ilmu pengetahuan, seni atau
disipin lainnya. Berikut adalah berbagai macam metodologi yang digunakan dalam
pengembangan sistem, yaitu:
A. Berdasarkan Metodologi Yang Digunakan
Berdasarkan metodologi yang digunakan ada 2 macam metode pendekatan
pengembangan sistem yaitu:
1. Pendekatan Klasik
Disebut juga dengan pendekatan tradisional atau pendekatan konvensional.
Metodologi pendekatan klasik mengembangkan sistem dengan mengikuti tahapan-
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
4. 2. Pendekatan Terstruktur
Pendekatan ini dilengkapi dengan alat-alat dan teknik-teknik yang dibutuhkan
dalam pengembanagan sistem, sehingga hasil akhir dari sistem yang dikembangkan
akan didapatkan sistem yang strukturnya didefinisikan dengan baik dan jelas.
B. Berdasarkan Cara Menentukan Kebutuhan
Berdasarkan cara menentukan kebutuhan dari sistem ada 2 macam metode pendekatan
pengembangan sistem yaitu :
1. Pendekatan Dari Bawah Ke Atas (Buttom-Up Approach)
Pendekatan ini dimulai dari perumusan kebutuhan-kebutuhan untuk menangani
transaksi dan naik ke level atas dengan merumuskan kebutuhan informasi
berdasarkan transaksi tersebut.
2. Pendekatan dari Atas ke Bawah (Top-down Approach)
Dimulai dengan mendefinisikan sasaran dan kebijaksanaan organisasi. selanjutnya
dilakukan analisis kebutuhan informasi, kemudian proses turun ke pemrosesan
transaksi, yaitu penentuan output, input, basis data, prosedur-prosedur operasi dan
kontrol.
C. Berdasarkan Sasaran Yang Ingin Capai
Berdasarkan sasaran yang ingin dicapai ada 2 macam metode pendekatan
pengembangan sistem yaitu :
5. 1. Pendekatan Sepotong (Piecemeal Approach)
Pengembangan yang menekankan pada suatu kegiatan/alikasi tertentu tanpa
memperhatikan posisinya di sistem informasi atau tidak memperhatikan sasaran
organisasi secara global (memperhatikan sasaran dari kegiatan atau alikasi itu saja).
2. Pendekatan Sistem (System Approach)
Memperhatikan sistem informasi sebagai satu kesatuan terintegrasi untuk masing-
masing kegiatan/aplikasinya dan menekankan sasaran organisasi secara global.
D. Berdasarkan Cara Pengembanganya
Berdasarkan cara pengembangannya ada 2 macam metode pendekatan pengembangan
sistem yaitu :
1. Pendekatan Sistem Menyeluruh (Total_System Approach)
Pendekatan pengembangan sistem serentak secara menyeluruh, sehingga menjadi
sulit untuk dikembangkan (ciri klasik).
2. Pendekatan Moduler (Modular Approach)
Pendekatan dengan memecah sistem komplek menjadi modul yang sederhana,
sehingga sistem lebih mudah dipahami dan dikembangkan, tepat waktu, mudah
dipelihara(ciri terstruktur).
E. Berdasarkan Teknologi Yang Digunakan
Berdasarkan teknoogi yang digunakan ada 2 macam metode pendekatan pengembangan
sistem yaitu :
6. 1. Lompatan Jauh (Great Loop Approach)
Pendekatan yang menerapkan perubahan menyeluruh secara serentak menggunakan
teknologi canggih, sehingga mengandung resiko tinggi, terlalu mahal, sulit
dikembangkan karena terlalu komplek.
2. Pendekatan Berkembang (Evolutionary Approach)
Pendekatan yang menerapkan teknologi canggih hanya untuk aplikasi-aplikasi yang
memerlukan saja dan terus dikembangkan untuk perioade berikutnya mengikuti
kebutuhan dan teknologi yang ada.
6. Alat-Alat Teknnik Pengembangan
Sebuah sistem perlu untuk dikembangkan. Lalu bagaimana cara kita mengembangkan sistem?
Dalam pengembangannya, sistem ditunjang dengan berbagai alat dan teknik untuk
mengembangkannya, antara lain sebagai berikut:
1. HIPO diagram
2. Data flow diagram
3. Structured chart
4. SADT diagram
5. Warnier/Orr diagram
6. Jackson’s diagram
7. 7. Penyebab Kegagalan Pengembangan Sistem
Pengembangan sistem terkadang mengalami berbagai kendala dan bahkan kegagalan.
Pengembangan sistem tidak mesti melalui jalan yang mulus. Beberapa alasan mengapa
pengembangan sistem mengalami kegagalan antara lain sebagai berikut:
1. Kurangnya penyesuaian pengembangan sistem
2. Kelalaian menetapkan kebutuhan pemakai dan melibatkan pemakai
3. Kurangnya sempurnanya evaluasi kualitas dan analisis biaya
4. Adanya kerusakan dan kesalahan rancangan
5. Penggunaan teknologi komputer dan perangkat lunak yang tidak direncanakan dan
pemasangan teknologi tidak sesuai
6. Pengembangan sistem ang tidak dapat dipelihara
7. Implementasi yang direncanakan dilaksanakan kurang baik.
B. Systems Development Life Cycle
1. Pengertian SDLC
Systems Development Life Cycle (SDLC) merupakan siklus hidup pengembangan system.
Dalam rekayasa system dan rekayasa perangkat lunak, SDLC berupa suatu proses pembuatan dan
pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-
sistem tersebut. Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis
metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu
kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses
pengembangan perangkat lunak.
8. SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer
dalam membangun sistem informasi. Langkah yang digunakan meliputi :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
Pengembangan SDLC adalah proses yang digunakan oleh analis system untuk mengembangkan
sistem informasi, termasuk persyaratan, validasi, pelatihan, dan pengguna (stakeholder)
kepemilikan. Setiap SDLC harus menghasilkan sistem berkualitas tinggi yang memenuhi atau
melampaui harapan pelanggan, mencapai penyelesaian dalam waktu dan perkiraan biaya, bekerja
secara efektif dan efisien di saat ini dan direncanakanTeknologi Informasi infrastruktur, dan
murah untuk mempertahankan dan biaya efektif.
2. Langkah-Langkah SDLC
Didalam SDLC terdapat siklus yang berguna untuk membangun sistem dibagi menjadi beberapa
langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda.
Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain
mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah
9. 1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang
dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan
dengan proyek sistem
3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain
pemrograman yang diperlukan untuk pengembangan sistem informasi
4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis
program yang diperlukan
5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat
6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang
telah dibuat
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam.
Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user,
terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa
langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu
diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian
di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim
untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk
menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang
baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem
10. Untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang
secara garis besar terbagi dalam fase fase utama dalam SDLC, yaitu :
Perencanaan : Mengapa Mengembangkan Sistem?
Analisis : Siapa, apa, kapan dan dimana sistem diterapkan?
Perancangan : Bagaimana kerja sistem?
Implementasi : Bagaimana Sistem Dipasang/diinstall?
1. Perencanaan :
Mengidentifikasikan Nilai Bisnis
Analisis Kelayakan
Membuat Rencana Kerja
Mengatur Staff
Mengontrol dan Mengarahkan Projek
2. Analisis :
Analisis masalah
Mencari informasi yang terkait dengan sistem
Menentukan model proses
Menentukan model data
3. Perancangan :
Perancangan Proses secara Fisik
Perancangan Arsitektur Sistem
Perancangan Interface
Perancangan Basis Data dan Berkas
Perancangan Program
11. 4. Implementasi :
Construction
Instalation
Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil kegiatannya
(deliverable).
3. System Development Methodology
System Development Methodology adalah suatu rangkaian langkah untuk mengimplementasikan
SLDC itu sendiri. Dalam dunia rekayasa perangkat lunak terdapat empat buah metodologi dalam
menerapkan SLDC, yakni :
Waterfall Development Methodology
Parallel Development Methodology
Rapid Application Development
Agile Development: Extreme Programming
Keempat metodologi tersebut tidak ada yang paling bagus. Semua mempunyai kelebihan dan
kekurangan. Tergantung suatu kelompok pengembang perangkat lunak menggunakan metode apa
yang paling cocok dengan kondisi lingkungan pengembangan perangkat lunak tersebut.
A. Waterfall Development Methodology
Waterfall Development Methodology merupakan suatu cara pengembangan software
yang fase – fasenya berurutan. Sebuah fase tidak bisa dikerjakan sebelum fase
sebelumnya telah selesai dikerjakan. Nama model ini sebenarnya adalah “Linear
Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model
12. waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970
sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai
didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis
dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding,
testing / verification, dan maintenance.
Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu
selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus
menunggu selesainya tahap sebelumnya yaitu tahap requirement. Tahapan dalam model
waterfall ini adalah sebagai berikut.
System / Information Engineering and Modeling
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang
akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat
software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware,
database, dsb. Tahap ini sering disebut dengan Project Definition.
Software Requirements Analysis
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk
mengetahui sifat dari program yang akan dibuat, maka para software engineer harus
mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan,
user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan
software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
Design
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi
representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain
13. harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap
sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus
didokumentasikan sebagai konfigurasi dari software.
Coding
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain
tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin,
yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan
implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh
programmer.
Testing / Verification
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua
fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan
hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan
sebelumnya.
Maintenance
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah
pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.
Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan
sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software
tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal
perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
14. Mengapa model ini sangat populer??? Selain karena pengaplikasian menggunakan
model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat
didefinisikan secara utuh, eksplisit, dan benar di awal project, maka SE dapat berjalan
dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat
didefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan
sistem di awal project lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu
yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap
selanjutnya.
Menurut saya, tahapan-tahapan model ini sudah cukup baik dalam artian minimal untuk
melakukan SE, maka harus ada tahapan-tahapan ini. Tahapan-tahapan ini jugalah yang
digunakan oleh model-model yang lain pada umumnya. Ada filosofi yang mengatakan
sesuatu yang sukses diciptakan pertama kali, maka akan terus dipakai di dalam
pengembangannya. Hal ini juga berlaku pada waterfall model ini. Mungkin dapat
dikatakan bahwa inilah standar untuk melakukan SE.
Akan tetapi, yang mungkin menjadi banyak pertimbangan mengenai penggunaan dari
model ini adalah metode sequential-nya. Mungkin untuk awal-awal software diciptakan,
hal ini tidak menjadi masalah, karena dengan berjalan secara berurutan, maka model ini
menjadi mudah dilakukan. Sesuatu yang mudah biasanya hasilnya bagus. Oleh karena
itu model ini sangat populer. Akan tetapi, seiring perkembangan software, model ini
tentu tidak bisa mengikutinya.
Yang menjadi kelemahan adalah pada pengerjaan secara berurutan tadi, seperti yang
sudah saya utarakan sebelumnya. Kelemahan-kelemahan yang lain juga sudah saya
utarakan di atas, atau bahkan masih ada yang lainnya.
15. Dari sini, nantinya akan dikembangkan model-model yang lain, bahkan ada tahap
evolusioner dari suatu model proses untuk mengatasi kelemahan-kelemahan tadi.
Meskipun secara tahapan masih menggunakan standar tahapan waterfall model.
Kesimpulannya adalah ketika suatu project skalanya sedang mengarah kecil bisa
menggunakan model ini. Akan tetapi kalau sudah project besar, tampaknya kesulitan
jika menggunakan model ini.
Kelebihan dari Waterfall Development Methodology adalah:
1. Proses pengidentifikasian sistem memerlukan waktu yang lama sebelum fase
programming dimulai.
2. Meminimalisasi pengubahan sistem pada saat proses pengembangan perangkat
lunak
Kekurangan dari Waterfall Development Methodology adalah:
1. Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan
selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan
dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar
problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu
pengerjaan SE.
2. Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil
dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya
bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap
sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.
16. 3. Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-
masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber
dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses ini
dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu
pengerjaan untuk tahapan berikutnya.
4. Fase perencanaan / design harus dilakukan pada paper yang khusus sebelum fase
programming dimulai
5. Terjadi selisih waktu yang cukup lama antara pengajuan sistem dan pembaharuan
sistem
B. Parallel Development Methodology
Parallel Development Methodology merupakan suatu cara pada SDLC yang melakukan
fase design dan implementation secara paralel.
Kelebihan dari Parallel Development Methodology adalah :
1. Meminimalisasi waktu penjadwalan
2. Meminimalisasi kesempatan untuk dikerjakan ulang
Kekurangan dari Parallel Development Methodology adalah :
1. Masih menggunakan dokument di kertas
2. Menggabungkan subproyek memerlukan suatu keahlian yang khusus. Biasanya
banyak terjadi kegagalan pada saat proses penggabungannya
C. Rapid Application Development
17. Rapid Application Development merupakan suatu cara penerapan SDLC dengan
membuat suatu software prototype terlebih dahulu dan kemudian dipresentasikan ke
costumer. Jika costumer menyetujuinya, maka software akan dikembangkan lebih lanjut.
Kelebihan Rapid Application Development adalah :
1. Pengguna dapat memperoleh / menggunakan sistem lebih awal
2. Pengguna dapat merencanakan beberapa tambahan untuk versi setelahnya
Kekurangan Rapid Application Development adalah :
1. Pengguna bekerja dengan sistem yang sebenarnya belum selesai secara keseluruhan
D. Agile Development: Extreme Programming
Agile Development: Extreme Programming merupakan suatu pengerjaan perangkat
lunak secara cepat. Metode ini sangat cocok untuk proyek perangkat lunak yang
membutuhkan waktu lebih instan dalam pengembangannya.
Kelebihan dari Agile Development: Extreme Programming adalah :
1. Hasil bisa didapat dalam waktu yang sangat cepat
2. Bekerja lebih baik dalam projek dengan tidak ada perubahan yang tak tentu
Kekurangan dari Agile Development: Extreme Programming adalah :
1. Membutuhkan kedisiplinan tinggi
2. Tepat hanya jika dilakukan di projek kecil
3. Membutuhkan lebih banyak inputan dari pengguna
Untuk menentukan metode mana yang lebih cocok diterapkan dalam pengembangan proyek
perangkat lunak, maka harus memperhatikan hal berikut :
18. Clear user requirements
Familiarity with technology
Complexity of system
Reliability of system
Time schedule
Schedule visibility