Sistem Informasi System Development Life Cycle (SDLC)

Teks penuh

(1)

Sistem Informasi

System Development Life Cycle (SDLC)

Pendekatan sistem umum yang dikembangkan adalah pendekatan berbasis Siklus Kehidupan Pengembangan Sistem (Systems Development Life Cycle) yang dimulai dari tahapan analisis, desain, implementasi dan evaluasi. Dalam kaitannya dengan strategi sistem, tahapan dalam pendekatan sistem memberikan model perencanaan terhadap kebiajakan mendasar dalam hal membangun suatu komponen sistem. SDLC adalah proses pembuatan dan pengubahan sistem serta model dan metodologi. Berbagai metodologi SDLC telah dikembangkan untuk memandu proses yang terlibat termasuk model air terjun (metode SDLC asli), pengembangan aplikasi cepat (RAD), pembangunan bersama aplikasi (JAD), model air mancur dan model spiral. Sebagian besar, beberapa model digabungkan menjadi semacam metodologi hibrida. Dokumentasi sangat penting terlepas dari jenis model yang dipilih atau diciptakan untuk setiap aplikasi, dan biasanya dilakukan secara paralel dengan proses pembangunan. Beberapa metode bekerja lebih baik untuk tipe tertentu proyek, tetapi dalam analisis terakhir, faktor yang paling penting bagi keberhasilan proyek mungkin seberapa dekat rencana tertentu diikuti.

System Development Life Cycle disingkat dengan SDLC. SDLC merupakan siklus pengembangan sistem. Pengembangan sistem teknik (engineering system development ). SDLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang secara garis besar terbagi dalam empat kegiatan utama, yaitu initiation, analysis, design dan implementation.

Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan ( purpose ) dan hasil kegiatannya (deliverable). SDLC didefinisikan oleh Departemen Kehakiman AS sebagai sebuah proses pengembangan software yang digunakan oleh analyst system, untuk mengembangkan sebuah sistem informasi. SDLC mencakup kebutuhan ( requirement ), validasi, pelatihan, kepemilikan ( user ownership ) sebuah sistem informasi yang diperoleh melalui investigasi, analisis, desain, implementasi, dan perawatan software. Software yang dikembangkan berdasarkan SDLC akan menghasilkan sistem dengan kualitas yang tinggi, memenuhi harapan penggunanya, tepat dalam waktu dan biaya, bekerja dengan efektif dan efsien dalam infrastruktur teknologi informasi yang ada atau yang direncanakan, serta murah dalam perawatan dan pengembanganlebih lanjut. Sejarah Perkembangan SDLC

Sejarah perkembangan System Development Life Cycle (SDLC)

Diawali pada pertengahan tahun 60-an dimana terjadi kegagalan yang sangat besar dalam penerapan aplikasi EDP ( Electronic Data Processing) untuk sistem-sistem besar, sebagian besar disebabkan tidak adanya pengembangan sistem. Sesudah terjadinya kegagalan tersebut pada akhir tahun 60-an dan awal 70-an, kesadaran akan pentingnya metodologi pengembangan sistem mulai tumbuh.

Sejak itulah berbagai proposal metodologi mulai dibuat dan penerapan mulai terlihat. Para desainer dari hampir semua bidang metodologi pengembangan sistem informasi mempunyai pandangan yang sama, yaitu: mereka telah mengetahui bahwa proses pengembangan sistem informasi, baik yang berdasarkan komputer atau tidak, menyerupai dengan proses pengembangan sistem engineering.

(2)

Hubungan dengan konstruksi dan operasi berbagai jenis gedung, mesin, peralatan kimia yang merupakan contoh perkembangan sistem informasi engineering, kita dapat meringkas tahap-tahap proses secara umum perkembangan tersebut adalah perencanaan (planning), analisis (analysis),desain (design), pelaksanaan (implementation) dan perawatan (maintenance).

Dalam tahap perencanaan, kita mengumpulkan informasi tentang permasalahan serta persyaratannya. Kemudian kita menentukan kriteria dan pembatasan pemecahan, serta memberikan alternatif jalan keluarnya. Dalam tahap analisis, kita menguji alternatif pemecahan berdasarkan kriteria dan batasan-batasan. Analisis merupakan pusat dari semua proses perkembangan. Tahap berikutnya yaitu desain, dapat dikatakan sebagai hasil dari sistem baru. Tahap desain juga dapat dikatakan sebagai pemecahan yang optimum atas sejumlah kebutuhan penting dari suatu set pada keadaan khusus atau sebagai kegiatan kreativitas yang meliputi pembuatan barang baru dan berguna yang belum pernah ada sebelumnya. Sistem yang tersusun dibentuk dan dioperasikan. Perawatan dilakukan pada tiap sistem operasional.

Istilah daur/siklus hidup (life cycle) pada suatu sistem digunakan untuk menjelaskan tahap-tahap perkembangan sistem, serta langkah-langkah dalam proses perkembangannya. Untuk mengetahui proses sistem informasi dan proses sistem engineering, kita harus membandingkan daur/siklus hidup keduasistem tersebut. Dengan mengetahui daur/siklus hidup sistem informasi tahun1960 sampai dengan tahun 1983, kita akan mengetahui perbedaannya. Daur hidup sistem informasi sangat dekat dengan daur hidup yang terjadi dalam sistem engineering ; perencanaan, analisis, desain, pelaksanaan, dan perawatan. Proses perkembangan sistem informasi merupakan proses engineering.

Meskipun selama hampir dua puluh tahun putaran sistem informasi, yang kurang lebih berisi langkah-langkah yang sama, namun pemberian nama dan dukungan pada langkah-langkah tersebut belum cukup untuk mengembangkan sistem informasi yang baik. Kekurangan tersebut adalah bahwa pada tiap perkembangan sistem engineering terdapat beberapa peralatan dan metodologi yang digunakan secara paralel dengan daur/siklus hidup sistem tersebut. Kegagalan dalam menentukan tuntutan dan peran serta pemakai dalam perkembangan sistem juga penyebab lain dari kegagalan sistem informasi, demikian juga masalah sulitnya memperoleh komputer dari produsen, staf yang tidak memenuhi syarat, batas waktu yang tidak realistis dan manajemen yang tidak memadai.

Kesalahan interpretasi mengenai tahap-tahap perkembangan sistem di atas adalah linier. Seolah olah semua fase dan tahap terlihat berderet secara berurutan. Tetapi sebenarnya tidak demikian. Semua tahap pada proses perkembangan sistem tersebut mempunyai sifat dasar yang iteratif yaitu pekerjaan pada suatu tahap sering harus diulang-ulang, dan apa pun yang dikerjakan pada suatu tahap mungkin perlu dikoreksi secara keseluruhan. Meskipun terdapat beberapa variasi diantara masing-masing tahap, metode sistem klasik ternyata tidak cukup untuk menghasilkan sistem informasi yang baik, kemudian sebagai tambahan pada penamaan tahap-tahap dari suatu daur/siklus hidup sistem, kita harus mempunyai beberapa peralatan dan teknik baku untuk mengembangkan sistem tersebut.

Arti istilah System Development Life Cycle dianggap berkaitan erat dengan pengertian berikut.

Disingkat dengan SDLC. SDLC merupakan siklus pengembangan sistem. Pengembangan sistem teknik (engineering system development).

(3)

Arti istilah System dianggap berkaitan erat dengan pengertian berikut. Suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Esensinya sistem terdiri dari:

1. komponen-komponen dalam sistem tersebut, mencakup:  perangkat keras/hardware,

 perangkat lunak/software,  prosedur-prosedur/procedure,  perangkat manusia/brainware, dan  informasi/information itu sendiri;

2. serta fungsi-fungsi teknologi di dalamnya yaitu:  input,

 proses/process,  output,

 penyimpanan/storage dan  komunikasi/communication.

Arti istilah System development dianggap berkaitan erat dengan pengertian berikut :

Menyusun suatu sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiku sistem yang sudah ada. Pengertian dari System Development Life Cycle (SDLC) merupakan langkah-langkah dan metodologi yang harus dilakukan dalam mengembangkan Software/Perangkat Lunak.

Suatu Software Project dilakukan atas permintaan User. Awal mulai suatu project biasanya adalah dilakukan pertemuan antara Tim User dan Konsultan. Disinilah dibahas tentang cakupan project yang akan didevelop dan juga dilakukan penunjukan PIC (Person In Charge) baik dari sisi User maupun Konsultan. Dari tim user biasanya telah membuat BRD (Business Requirement Document) yang disampaikan kepada tim Development. Hasil dari pertemuan ini bisa disebut Project Kick Off.

Fase-fase di dalam SDLC terdiri dari : 1. Project Planning

2. System Analyst, Requirement Definition 3. System Design

4. Implementation

5. Integration and Testing

6. Acceptance, Installation, Deployment 7. Maintenance.

Berikut saya akan mencoba menjelaskan satu persatu dari step-step di atas. 1. Project Planning

(4)

Pada Tahap ini seorang Project Manager menentukan jadwal keseluruhan kegiatan project antara lain kapan project itu mulai dikerjakan,Berapa lama waktu yang dibutuhkan untuk menyelesaikan tiap-tiap fase dan target apa saja yang harus dicapai di tiap-tiap fase. Jadwal Project ini harus sesuai dengan hasil pertemuan sebelumnya saat penandatanganan kontrak . Selain itu pada tahap ini juga ditentukannya pihak-pihak yang terlibat dalam pembangunan software. Biasanya jadwal project berupa Gantt Chart dan ada beberapa perusahaan yang menugaskan pekerjaan ini kepada Business Analyst. Dilakukan oleh software developer dengan mempelajari konsep sistem yang diinginkan oleh pihak manajemen, apakah sistem baru tersebut realistis dalam masalah pembiayaan, waktu, serta perbedaan dengan sistem yang ada sekarang. Biasanya, dalam tahap ini diputuskan untuk meng-update sistem yang ada, atau menggantinya dengan yang baru.

2. System Analyst ,Requirement Definition

Pada Tahap ini dilakukan Meeting yg dihadiri antara lain oleh User,Project Manager,Business analyst,System Analyst,dan pihak-pihak lain yang terlibat dalam project. Disinilah seorang business analyst menggali sedalam-dalamnya informasi kebutuhan user,menganalisa kebutuhan user dan menyiapkan minutes of meeting. Sedangkan System Analyst menjawab pertanyaan-pertanyaan atau melakukan konfirmasi apakah dia sanggup dari segi teknis untuk mengabulkan requirement user. Hasil dari pertemuan ini adalah dibuatnya FSD (Functional Specification Document), biasanya yang membuat adalah Business Analyst. FSD ini merupakan rujukan bagi para programmer untuk mendevelop aplikasi sehingga isi dokumen ini harus dibuat sejelas mungkin sesuai dengan kesepakatan hasil meeting tentang requirement user karena jika ada bagian yang salah atau tidak sesuai bisa berakibat fatal seperti mundurnya jadwal penyelesaian project. Secara realitas kejadian ini sering dialami. User terkadang melakukan perubahan requirement di tengah-tengah jalannya project development sehingga tim development harus melakukan perubahan. Disini peran business analyst harus bisa mengendalikan situasi supaya project harus tetap berjalan sesuai dengan rencana tanpa ada satu pihak yang terhambat.

3. System Design

Tahap ini merupakan tahap dibuatnya Flow Process,Activity Diagram,Database dan screen layout aplikasi. Pada langkah ini dilakukan pembuatan blueprint sistem. Di dalamnya termasuk penyesuaian dengan arsitektur telekomunikasi, hardware, dan software untuk pengembangan lebih lanjut, serta membuat model sistem menciptakan model graphical user interface (GUI), database, dan lainlain.

4. Implementation

Inilah tahap yang disebut real coding. Para programmer mulai terjun untuk melakukan coding program berdasarkan document FSD dan Design yang telah dibuat pada fase System Design. Quote dari saya untuk fase ini :

Tambahkanlah comment dari tiap fucntion code yang anda buat untuk mengantisipasi dan juga memudahkan jika program anda dilanjutkan oleh programmer lain.

(5)

Pada Process ini seluruh modul diintegrasikan secara lengkap untuk diuji-coba. Pihak yang terlibah dalam process uji coba kali ini masih internal development jadi belum melibatkan user. PIC nya adalah Business Analyst. Jika masih terdapat beberapa error,inilah tugas programmer untuk melakukan bug fixing.

6. Acceptance,Installation,Deployment

Tahap ini disebut juga UAC (User Acceptance Test). Tahap ini hampir sama dengan SIT yaitu uji coba sistem namun untuk UAT sudah melibatkan user maka dibuatlah jadwal yg disepakati oleh user untuk melakukan UAT. Skenario test nya yang membuat adalah Business Analyst.

Seluruh Divisi yang terlibat dari Pihak User hadir dalam sesi ini. Biasanya tahap ini merupakan tahap yang paling sibuk karna semua pihak saling berinteraksi dalam pengujian aplikasi. Seperti yang sudah saya sampaikan di atas, di tahap inilah terkadang user menyampaikan new request yang menurut mereka belum ada di FSD. Hmmm nambah pekerjaan lagi deh.

Setelah UAT selesai dilakukanlah training kepada semua user yang terlibat dan juga dibuatlah user guide aplikasi. Lalu process selanjutnya adalah installasi aplikasi dan deployment ke Server Production. Inilah yang sering disebut Go Live.

Ada beberapa aplikasi yang dibuat untuk menggantikan aplikasi yang lama namun ada pula aplikasi yg dibuat memang baru pertama kali dibuat. Jika aplikasi ini menggantikan aplikasi yang lama maka diperlukan lah proses migrasi data dari aplikasi lama ke yang baru. Perlu dipikirkan waktu yang tepat untuk melakukan cut off dan juga pemberitahuan kepada user yang menggunakan aplikasi.

Untuk prosess Deployment biasanya dibuatkan panduan berupa deployment document yang antara lain berisi bagaimana installasi sampai dengan rollback plan. Jika aplikasi yg baru ini ternyata gagal saat di deploy maka akan dikembalikan lagi ke aplikasi awal.

7. Maintenance

Tahap ini seorang business analyst terlibat dalam menganalisa aplikasi selama berjalan di production. Apakah masih timbul problem ataukah tidak. Biasanya pihak user dan vendor melakukan kontrak maintenance dan support untuk menjamin aplikasi tersebut berjalan dan stabil .

System Development Life Cycle (SDLC) adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. System Development Lyfe Cycle (SDLC) merupakan keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC yaitu :

1. Waterfall Kelebihan :

- Merupakan model pengembangan paling handal dan paling lama digunakan. - Cocok untuk system software berskala besar.

(6)

- Cocok untuk system software yang bersifat generic.

- Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol. Kekurangan :

- Persyaratan system harus digambarkan dengan jelas.

- Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.

- Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan 2. Iterasi

Kelebihan :

- Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah dilaksanakan.

- Dapat disesuaikan agar system bisa dipakai selama hidup software computer. - Cocok untuk pengembangan sistem dan perangkat lunak skala besar.

- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tahapan karena system terus bekerja selama proses.

Kekurangan :

- Hanya berlaku untuk Short-Lifetime system.

- Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan. - Memerlukan alat ukur kemajuan secara regular.

- Perubahan yang sering terjadi dapat merubah struktur system. - Memerlukan tenaga ahli dengan kemampuan tinggi.

3. Rapid Application Development / RAD 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. 4. Model prototyping

Kelebihan :

- Prototype melibatkan user dalam analisa dan desain.

- Punya kemampuan menangkap requirement secara konkret daripada secara abstrak. - Untuk digunakan secara standalone.

- Digunakan untuk memperluas SDLC.

- Mempersingkat waktu pengembangan Sistem Informasi Kekurangan :

- Proses analisis dan perancangan terlalu singkat. - Mengesampingkan alternatif pemecahan masalah. - Bisanya kurang fleksible dalam mengahdapi perubahan. - Protitype yang dihasilkan tidak selamanya mudah dirubah

(7)

- Protype terlalu cepat selesai

Dalam perkembangannya SDLC dilengkapi oleh berbagai teknik pengembangan sistem, yaitu: 1) Prototyping

Prototyping adalah proses pembuatan model sederhana untuk software final yang

mengijinkan pengguna memiliki gambaran dasar tentang program serta melakukan pengujian awal.

Jenis-jenis teknik prototyping adalah: a. Trowaway Prototyping

b. Evolutionary Prototyping. c . Incremental Prototyping.

 Keuntungan menggunakan teknik prototyping: a. Mengurangi waktu dan biaya.

b. Meningkatkan keterlibatan pengguna.

c. Mengurangi kesalahpahaman dan kesalahan interpretasi dengan pegguna  Kelemahan menggunakan teknik prototyping:

a. Analisis kurang.

b. Biaya untuk membuat prototyping cukup tinggi 2) Waterfall

 Keuntungan menggunakan teknik waterfall a Proses menjadi teratur

b Estimasi proses menjadi lebih baik c Jadwal menjadi lebih menentu

 Kelemahan menggunakan teknik waterfall:

a Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses

b Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen bisa memberikan kebutuhan secara lengkap diawal

3) Spiral

Teknik spiral mencoba menggabungkan model prototyping dan waterfall. Biasa digunakan untuk proyek besar yang mahal dan rumit. Digunakan oleh militer Amerika untuk

mengembangkan program Future Combat Systems.  Keuntungan menggunakan teknik spiral:

a. Pengguna dan developer bisa memahami dengan baik software yang dibangun karena progress dapat diamati dengan baik.

b. Estimasi menjadi lebih realistik seiring berjalannya proyek karena masalah ditemukan sesegera mungkin.

c. Lebih mampu menangani perubahan yang sering terjadi pada software development. d. Software engineers bisa bekerja lebih cepat pada proyek.

 Kelemahan menggunakan teknik spiral: a. Membutuhkan waktu yang lama. b. Membutuhkan dana yang besar.

c. Membutuhkan planning jangka panjang yang baik agar program bisa selesai dengan baik

4) V Model

(8)

verifikasi dan validasi dan merupakan model standar yang banyak dipakai di negara-negara Eropa seperti standar untuk proyek pertahanan dan administrasi federal di Jerman.

 Keuntungan menggunakan teknik V model a. Merupakan model pengembangan terstruktur.

b. Setiap fase dapat diimplementasikan dengan dokumentasi yang detail dari fase sebelumnya.

c. Aktivitas pengujian dapat dimulai di awal proyek, sehingga mengurangi waktu proyek.  Kelemahan menggunakan teknik V model adalah dokumentasi harus cukup detail agar

fase selanjutnya dapat berjalan dengan baik. 5) Formal Method

Teknik formal method adalah teknik yang mengandalkan perhitungan matematika dalam setiap prosesnya.Hanya digunakan pada sistem yang sangat memperhatikan keamanan atau keselamatan dari pengguna.Contoh penggunaan teknik ini adalah aerospace engineering.  Keuntungan menggunakan teknik formal method adalah meminimalkan resiko dengan

adanya perhitungan komputasi.  Kelemahannya adalah

a. Biaya Tinggi. b. Kompleks

c. Tidak Umum untuk Proyek Software pada umumnya 6) Extreme Programming

Merupakan bagian dari metode agile software development.  Keuntungan menggunakan teknik extreme programming.

a. Menjalin Komunikasi yang Baik dengan Klien.

b. Meningkatkan Komunikasi dan Sifat Saling Menghargai antar Developer.  Kelemahan menggunakan teknik extreme programming:

a. Developer harus selalu siap dengan perubahan karena perubahan selalu diterima. b. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga)

Figur

Memperbarui...

Referensi

Memperbarui...

Related subjects :