TUGAS SOFTSKIL
NAMA : BERNAT RICARDO
NPM : 31111473
KELAS : 2DB12
MATERI :
SDLC (System Development Life
Cycle)
UNIVERSITAS GUNADARMA
KATA PENGANTAR
Puji
dan syukur kami panjatkan kepada Tuhan Yang Maha Esa atas selesainya tulisan
yang saya buat. Tulisan ini saya buat agar dapat mengerti tentang sistem informasi
(dalam hal ini lebih mengacu kepada pengertian aplikasi perangkat lunak)
digunakan metode Siklus Hidup dan Pengembangan Sistem (System Development Life
Cycle atau SDLC). SDLC terdiri dari sejumlah tahapan yang dilaksanakan secara
berurutan. Secara umum tahapan dari SDLC adalah Perencanaan, analisis,
rancangan, penerapan dan penggunaan.
Saya
sadar bahwa tulisan yang saya buat ini jauh dari sempurna dan perlu perbaikan.
Untuk itu diperlukan adanya kritik dan saran yang positif demi kesempurnan
tulisan ini. Dengan adanya kritik dan saran akan lebih memacu saya agar dapat
menghasilkan suatu karya tulis yang lebih baik lagi. Di samping itu tak lupa
saya ucapkan terima kasih kepada Dosen mata kuliah yang telah memberikan
pengarahan kepada saya. Semoga tulisan ini bermanfaat bagi kita semua.
DAFTAR ISI
Kata
Pengantar..........................................................................................
Daftar
Isi....................................................................................................
Pendahuluan.............................................................................................
Pengertian
Siklus Hidup System ...........................................................
Metode
Prototyping.................................................................................
Metode
Waterfall Model.........................................................................
Metode
Spiral Model...............................................................................
Kesimpulan..............................................................................................
Daftar
Pustaka........................................................................................
A. PENDAHULUAN
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 dan Pengembangan Sistem (System Development Life Cycle atau SDLC). SDLC terdiri dari sejumlah tahapan yang dilaksanakan secara berurutan. Secara umum tahapan dari SDLC adalah Perencanaan, analisis, rancangan, penerapan dan penggunaan. 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. Apabila perlu dilakukan revisi dan pengulangan tahapan siklus hidup pengembangan sistem.
B. Rumusan Masalah
a. Bagaimana definisi dari siklus hidup system
b. Tahap-tahap apa saja yang dilalui oleh suatu system dalam aplikasinya pada suatu perusahaan
Dalam membangun suatu sistem informasi (dalam hal ini lebih mengacu kepada pengertian aplikasi perangkat lunak) digunakan metode Siklus Hidup dan Pengembangan Sistem (System Development Life Cycle atau SDLC). SDLC terdiri dari sejumlah tahapan yang dilaksanakan secara berurutan. Secara umum tahapan dari SDLC adalah Perencanaan, analisis, rancangan, penerapan dan penggunaan. 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. Apabila perlu dilakukan revisi dan pengulangan tahapan siklus hidup pengembangan sistem.
B. Rumusan Masalah
a. Bagaimana definisi dari siklus hidup system
b. Tahap-tahap apa saja yang dilalui oleh suatu system dalam aplikasinya pada suatu perusahaan
B. PEMBAHASAN
SIKLUS HIDUP SISTEM
Dasar Perencanaan Sistem Informasi Berbasis Komputer
Implementasi sistem
informasi berbasis komputer merupakan aktivitas yang berskala luas yang
melibatkan orang dan fasilitas yang banyak, uang dan peralatan dalam jumlah
yang besar, dan waktu yang panjang.
Perencanaan Sistem
Informasi Berbasis Komputer juga mempunyai manfaat, yaitu:
§ Memberikan dasar pengontrolan.
§ Mendefinisikan lingkup proyek;
§ Mengatur urutan tugas;
§ Mengetahui bidang masalah yang potensial;
PENGERTIAN SIKLUS HIDUP SISTEM
Metodologi adalah
suatu cara yang disarankan untuk melakukan suatu hal. Pendekatan sistem adalah
metodologi dasar untuk memecahkan masalah.
SIKLUS HIDUP SISTEM (System Life Cycle-SLC)
System Life Cycle
(SLC) adalah proses evolusi yang diikuti oleh pelaksanaan system informasi
dasar-dasar atau subsistem. Telah ada pendekatan implementasi tradisional
sepanjang era komputer, dan ada perjanjian umum antara ahli-ahli komputer
sehubungan dengan tugas-tugas yang dilaksanakan.
Adalah penerapan pendekatan sistem untuk pengembangan sistem
atau subsistem informasi berbasis komputer. Sering disebut sebagai pendekatan
air terjun (waterfall approach) bagi pengembangan dan penggunaan sistem.
Berbagai metodologi
SLC telah dikembangkan untuk memandu proses yang terlibat termasuk model air
terjun (asli metode SLC), pengembangan aplikasi cepat (RAD), pengembangan
aplikasi bersama (JAD), maka air mancur model dan spiral model.Umumnya,
beberapa model digabungkan ke dalam beberapa jenis hibrida metodologi.
Dokumentasi sangat penting berapapun jenis model dipilih atau dibuat untuk
setiap aplikasi, dan biasanya dilakukan bersamaan dengan proses pembangunan.
Beberapa metode kerja lebih spesifik untuk jenis proyek, tetapi dalam analisis
terakhir, faktor yang paling penting bagi keberhasilan suatu proyek dapat
seberapa dekat rencana tertentu diikuti.
Beberapa SLC terdapat
dalam perusahaan yang menggunakan komputer, mungkin ada seratus atau lebih.
Pada kenyataannya SLC adalah sarana yang digunakan oleh manajemen untuk
melaksanakan rencana strategis. Konsep life cycle menjadikan segala sesuatu
yang tumbuh, menjadi dewasa setiap waktu dan akhirnya mati. Pola ini digunakan
untuk sistem dasar komputer seperti subsistem pemrosesan data atau SSD.
System Life Cycle
terdiri dari lima fase yaitu :
1. Fase Perencanaan
Fase ini dimulai
dengan mendefinisikan masalah dan dilanjutkan dengan sistem penunjukan objektif
dan paksaan. Di sini sistem analis memimpin studi yang mungkin terjadi dan
mengemukakan pelaksanaannya pada manajer.
2. Fase Analisis
Fase ini mempunyai tugas penting yaitu menunjukkan kebutuhan
pemakai informasi dan menentukan tingkat penampilan sistem yang diperlukan
untuk memuaskan kebutuhan tersebut. Fase ini meliputi penetapan jangkauan
proyek, mengenal resiko, mengatur rangkaian tugas, dan menyediakan dasar untuk
kontrol. Analisis mengumpulkan persyaratan untuk sistem. Tahap ini meliputi
rinci kajian terhadap kebutuhan bisnis organisasi.Pilihan untuk mengubah proses
bisnis dapat dianggap. Berfokus pada desain tingkat tinggi seperti desain,
program apa yang diperlukan dan bagaimana mereka akan berinteraksi, desain
tingkat rendah (bagaimana setiap program akan bekerja), desain interface
(antarmuka apa saja yang akan terlihat seperti) dan data desain (data yang akan
diperlukan). Selama tahap ini, perangkat lunak dari keseluruhan struktur yang
ditetapkan. Analisis dan Desain sangat krusial dalam pembangunan seluruh
siklus. Any glitch dalam tahap desain dapat menjadi sangat
mahal untuk memecahkan di kemudian tahap pengembangan perangkat lunak. Banyak
perawatan dilakukan selama tahap ini. Yang logis sistem produk dikembangkan di
tahap ini.
3. Fase Desain
Fase Desain ini
meliputi penentuan pemrosesan dan data yang dibutuhkan oleh sistem yang baru,
dan pemilihan konfigurasi terbaik dari hardware yang menyediakan desain. Desain
system adalah ketentuan mengenal proses dan data yang dibutuhkan oleh sistem
yang baru. Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan
perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Proses ini
berfokus pada : struktur data, arsitektur perangkat lunak, representasi
interface, dan detail (algoritma) prosedural. 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).
4.
Fase Pelaksanaan / Implementasi
Fase ini melibatkan
beberapa spesialis informasi tambahan yang mengubah desain dari bentuk kertas
menjadi satu dalam hardware, software, dan data. Pelaksanaan adalah penambahan
dan penggabungan antara sumber-sumber secara fisik dan konseptual yang
menghasilkan pekerjaan sistem. Dalam tahap ini, desain yang sudah diterjemahkan
ke dalam kode.Program komputer yang ditulis menggunakan bahasa pemrograman
konvensional atau aplikasi generator. Alat pemrograman seperti kompiler, Juru,
Debuggers digunakan untuk menghasilkan kode. Berbagai bahasa pemrograman
tingkat tinggi seperti C, C ++, Pascal, Java digunakan untuk coding. Sehubungan
dengan jenis aplikasi, hak bahasa pemrograman yang dipilih.
5. Fase Pemakaian / Penggunaan
Selama fase
penggunaan, audit memimpin pelaksanaannya untuk menjamin bahwa sistem
benar-benar dikerjakan, dan pemeliharaannya pun dilakukan sehingga sistem dapat
menyediakan kebutuhan yang diinginkan.
Pada fase 1-3 adalah
siklus hidup pengembangan system. Tahap 4 adalah tahap penggunaan
(implementasi) yang berlangsung hingga tiba waktunya untuk merancang system itu
kembali jika diperlukan. Proses merancang kembali akan mengakibatkan
berulangnya siklus hidup sistem secara keseluruhan.
METODE PROTOTYPING
Prototipe memberikan
ide bagi pembuat maupun pemakai potensial tentang cara sistem akan berfungsi
dalam bentuk lengkapnya. Proses menghasilkan prototipe disebut dengan
Prototyping.
Jenis-Jenis Prototipe
sistem operasional®Prototipe jenis I
Prototipe jenis II sbg ceak biru bagi sistem operasional®
Jenis-Jenis Prototipe
sistem operasional®Prototipe jenis I
Prototipe jenis II sbg ceak biru bagi sistem operasional®
PENGEMBANGAN PROTOTIPE JENIS I
1. Mengidentifikasikan kebutuhan pemakai
2. Mengembangkan prototipe
3. Menentukan apakah prototipe dapat diterima
4. Menggunakan prototipe
1. Mengidentifikasikan kebutuhan pemakai
2. Mengembangkan prototipe
3. Menentukan apakah prototipe dapat diterima
4. Menggunakan prototipe
MENGEMBANGKAN
PROTOTIPE JENIS II
4. Mengkodekan sistem operasional
5. Menguji sistem operasional
6. Menentukan jika sistem operasional dapat diterima
7. Menggunakan sistem operasional
4. Mengkodekan sistem operasional
5. Menguji sistem operasional
6. Menentukan jika sistem operasional dapat diterima
7. Menggunakan sistem operasional
Daya Tarik Prototyping
• Komunikasi ant. Analis sistem dan pemakai baik
• Analis dpt bekerja lebih baik
• Pamakai berperan aktif
• Spesialis informasi dan pemakai efisien dlm waktu
• Penerapan menjadi mudah
• Komunikasi ant. Analis sistem dan pemakai baik
• Analis dpt bekerja lebih baik
• Pamakai berperan aktif
• Spesialis informasi dan pemakai efisien dlm waktu
• Penerapan menjadi mudah
Potensi Kegagalan
Prototyping
• Tergesa-gesa dlm mendefinisikan mslh, evaluasi alternatif dokumentasi
• Mengharapkan sesuatu yg tdk realistis dr sistem operasional
• Prototipe jenis I tdk seefisiensi sistem yg dikodekan dlm bhs program
• Hubungan komp-manusia tdk mencerminkan tek.perancangan yg baik
• Tergesa-gesa dlm mendefinisikan mslh, evaluasi alternatif dokumentasi
• Mengharapkan sesuatu yg tdk realistis dr sistem operasional
• Prototipe jenis I tdk seefisiensi sistem yg dikodekan dlm bhs program
• Hubungan komp-manusia tdk mencerminkan tek.perancangan yg baik
Penerapan yg Berprospek Baik untuk Prototyping
• Risiko tinggi
• Interaksi pemakai penting
• Jumlah pemakai banyak
• Penyelesaian yg cepat diperlukan
• Perkiraan tahap penggunaan sistem yg pendek
• Sistem yg inovatif
• Perilaku pemakai yg sukar ditebak
• Risiko tinggi
• Interaksi pemakai penting
• Jumlah pemakai banyak
• Penyelesaian yg cepat diperlukan
• Perkiraan tahap penggunaan sistem yg pendek
• Sistem yg inovatif
• Perilaku pemakai yg sukar ditebak
Keuntungan yang diperoleh dengan metode ini:
- Terjadi komunikasi aktif antara analist , programer, user dan manajer RS
- User ikut terlibat secara aktif dan partisipatif dalam menentukan model sistem yang digunakan, dengan kata lain “Sistem dengan perspektif pemakai”.
- Dengan metode ini meningkatkan kepuasan user karena harapan dan keinginan dapat terimplementasi dengan baik, sementara biaya pengembangan sistem menjadi lebih hemat.
- Terjadi komunikasi aktif antara analist , programer, user dan manajer RS
- User ikut terlibat secara aktif dan partisipatif dalam menentukan model sistem yang digunakan, dengan kata lain “Sistem dengan perspektif pemakai”.
- Dengan metode ini meningkatkan kepuasan user karena harapan dan keinginan dapat terimplementasi dengan baik, sementara biaya pengembangan sistem menjadi lebih hemat.
Kerugian yang dapat terjadi
- Kurangnya dokumentasi sehingga bila terjadi kesalahan cukup sulit untuk memperbaikinya.
- User dalam perjalanan pembangunan sistem mengembangkan ide-ide dan gagasannya sehingga kadang menjadi sangat luas dan sulit untuk diimplementasikan.
- Kurangnya dokumentasi sehingga bila terjadi kesalahan cukup sulit untuk memperbaikinya.
- User dalam perjalanan pembangunan sistem mengembangkan ide-ide dan gagasannya sehingga kadang menjadi sangat luas dan sulit untuk diimplementasikan.
METODE WATERFALL MODEL
Nama model ini sebenarnya adalah “Linear Sequential Model”.
Model ini sering disebut dengan “classic life cycle” atau model 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. Secara umum
tahapan pada model waterfall dapat dilihat pada gambar berikut :
Gambar di atas adalah tahapan umum dari model proses ini. Akan
tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara
garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut
adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut
Pressman:
· 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 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.
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.
Meskipun demikian, karena model ini melakukan
pendekatan secara urut / sequential, maka ketika suatu tahap terhambat, tahap
selanjutnya tidak dapat dikerjakan dengan baik dan itu menjadi salah satu
kekurangan dari model ini. Selain itu, ada beberapa kekurangan pengaplikasian
model ini, antara lain adalah sebagai berikut:
· 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.
· 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.
· 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.
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.
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.
Keuntungan dan Kerugian model Waterfall
·
Kelebihan
waterfall :
v Developer
dituntut bekerja secara disiplin
v Simple dan
mudah diimplementasikan
v Dokumen
lengkap
v Selalu dalam
kontrol SQA
v Maintenance
mudah, karena dokumen lengkap
·
Kekurangan
Waterfall :
v Konsumen
kesulitan membaca dokumen, komunikasi menjadi sulit
v Alur linier,
proses lambat
v Konsumen tidak
dapat melihat hasil hingga akhir tahapan
v Personil tidak
bekerja optimal, karena ada waktu tunggu sebuah tahapan selesai
v Model ini
hanya pas jika requirement nya dapat dipahami dengan baik dan perubahan yang
terjadi sangat terbatas selama proses desain berlangsung.
METODE SPIRAL MODEL
Proses model yang lain,
yang cukup populer adalah Spiral Model. Model ini juga cukup baru ditemukan,
yaitu pada sekitar tahun 1988 oleh Barry Boehm pada artikel A Spiral Model of Software
Development and Enhancement. Spiral model adalah salah satu bentuk evolusi
yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping
dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model
waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap
prototyping adalah suatu model dimana software dibuat prototype (incomplete
model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user /
customer untuk mendapatkan feedback-nya.
Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses
SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan
memperbaiki kekurangan dari prototype tadi.
Model ini juga
mengkombinasikan top-down design dengan bottom-up design, dimana top-down
design menetapkan sistem global terlebih dahulu, baru diteruskan dengan detail
sistemnya, sedangkan bottom-up design berlaku sebaliknya. Top-down design
biasanya diaplikasikan pada model waterfall dengan sequential-nya, sedangkan
bottom-up design biasanya diaplikasikan pada model prototyping dengan feedback
yang diperoleh. Dari 2 kombinasi tersebut, yaitu kombinasi antara desain dan
prototyping, serta top-down dan bottom-up, yang juga diaplikasikan pada model
waterfall dan prototype, maka spiral model ini dapat dikatakan sebagai model
proses hasil kombinasi dari kedua model tersebut. Oleh karena itu, model ini
biasanya dipakai untuk pembuatan software dengan skala besar dan kompleks.
Spiral model dibagi
menjadi beberapa framework aktivitas, yang disebut dengan task regions.
Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut
adalah aktivitas-aktivitas yang dilakukan dalam spiral model:
· Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang
efektif antara developer dengan user / customer terutama mengenai kebutuhan
dari customer.
· Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan
sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan
untuk pengembangan software.
· Analysis risk. Aktivitas analisis resiko ini dijalankan untuk
menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah
yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi,
tetapi hanya dilakukan pada spiral model.
· Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih
representasi dari aplikasi secara teknikal.
· Construction & Release. Aktivitas yang dibutuhkan untuk develop software,
testing, instalasi dan penyediaan user / costumer support seperti training
penggunaan software serta dokumentasi seperti buku manual penggunaan software.
· Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari
user / customer berdasarkan evaluasi mereka selama representasi software pada
tahap engineering maupun pada implementasi selama instalasi software pada tahap
construction and release.
Berikut adalah gambar
dari spiral model secara umum :
Satu lingkaran dari
bentuk spiral pada spiral model dibagi menjadi beberapa daerah yang disebut
dengan region. Region tersebut dibagi sesuai dengan jumlah aktivitas yang
dilakukan dalam spiral model. Tentunya lingkup tugas untuk project yang kecil
dan besar berbeda. Untuk project yang besar, setiap region berisi sejumlah
tugas-tugas yang tentunya lebih banyak dan kompleks daripada untuk project yang
kecil. SE berjalan dari inti spiral berjalan mengitari sirkuit per sirkuit.
Sebagai contoh untuk sirkuit pertama dilakukan untuk pembangunan dari
spesifikasi dari software dengan mencari kebutuhan dari customer. Untuk sirkuit
pertama harus menjalani semua aktivitas yang didefinisikan. Setelah 1 sirkuit
terlewati lanjut ke tugas selanjutnya misalnya membangun prototype. Tugas ini
juga harus mengitari 1 sirkuit dan begitu terus selanjutnya sampai project
selesai.
Tidak seperti model-model
konvesional dimana setelah SE selesai, maka model tersebut juga dianggap
selesai. Akan tetapi hal ini tidak berlaku untuk spiral model, dimana model ini
dapat digunakan kembali sepanjang umur dari software tersebut. Pada umumnya,
spiral model digunakan untuk beberapa project seperti Concept Development
Project (proyek pengembangan konsep), New Product Development Project (proyek
pengembangan produk baru), Product Enhancement Project (proyek peningkatan
produk), dan Product Maintenance Project (proyek pemeliharaan proyek). Keempat
project tersebut berjalan berurutan mengitari sirkuit dari spiral. Sebagai
contoh setelah suatu konsep dikembangkan dengan melalui aktivitas2 dari spiral
model, maka dilanjutkan dengan proyek selanjutnya yaitu pengembangan produk baru,
peningkatan produk, sampai pemeliharaan proyek. Semuanya melalui sirkuit2 dari
spiral model.
Mengapa spiral
model begitu populer? Pendekatan
dengan model ini sangat baik digunakan untuk pengembangan sistem software
dengan skala besar. Karena progres perkembangan dari SE dapat dipantau oleh
kedua belah pihak baik developer maupun user / customer, sehingga mereka dapat
mengerti dengan baik mengenai software ini begitu juga dengan resiko yang
mungkin didapat pada setiap aktivitas yang dilakukan. Selain dari kombinasi 2
buah model yaitu waterfall dan prototyping, kelebihan dari software ini ada
pada analisis resiko yang dilakukan, sehingga resiko tersebut dapat direduksi
sebelum menjadi suatu masalah besar yang dapat menghambat SE. Model ini
membutuhkan konsiderasi langsung terhadap resiko teknis, sehingga diharapkan
dapat mengurangi terjadinya resiko yang lebih besar. Sebenarnya dengan
menggunakan prototype juga bisa menghindari terjadinya resiko yang muncul,
tetapi kelebihan dari model ini yaitu dilakukannya proses prototyping untuk
setiap tahap dari evolusi produk secara kontinu. Model ini melakukan tahap2
yang sudah sangat baik didefinisikan pada model waterfall dan ditambah dengan
iterasi yang menyebabkan model ini lebih realistis untuk merefleksikan dunia
nyata. Hal-hal itulah yang menjadi kelebihan menggunakan spiral model.
Meskipun banyak
kelebihan tetapi tentu masih ada kekurangannya. Kekurangannya ada pada masalah
pemikiran user / customer dimana mereka pada umumnya tidak
a. Kelebihan model
Spiral :
1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
computer.
2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap
resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .
4. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap
keadaan di dalam evolusi produk.
5. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya
ke dalam kerangka kerja iteratif .
6. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi
resiko sebelum menjadi permaslahan yang serius.
b. Kelemahan model Spiral :
1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang
serius jika resiko mayor tidak ditemukan dan diatur.
3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut
1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
computer.
2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap
resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .
4. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap
keadaan di dalam evolusi produk.
5. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya
ke dalam kerangka kerja iteratif .
6. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi
resiko sebelum menjadi permaslahan yang serius.
b. Kelemahan model Spiral :
1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang
serius jika resiko mayor tidak ditemukan dan diatur.
3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut
C. KESIMPULAN
Bahwa siklus hidup system tidaklah luput dari perencanaan yang
matang karena tanpa perencanaan tersebut maka suatu system tidaklah dapat
berjalan sesuai rencana.
D. DAFTAR PUSTAKA
http://yustus09.blogspot.com/2011/06/siklus-hidup-system.html