FAKULTAS TEKNOLOGI INFORMASI DAN KOMUNIKASI
SISTEM INFORMASI
Materi Tentang Rekayasa Perangkat Lunak
1. Model Waterfall
Model Waterfall merupakan salah satu model untuk perencanaan dari
sebuah Perangkat Lunak. Model Waterfall adalah salah satu model klasik yang
bersifat sistematis. Mengapa disebut sistematis ? Karena model ini dikerjakan
secara berurutan. Penggunaan model ini dalam penerapan di kehidupan sehari-hari
sangatlah memakan waktu dan sangat sedikit dipakai membuat software. Namun
model ini cocok untuk bisnis kecil.
contoh model waretfall
|
Kelebihan Model Waterfall :
1.Merupakan model pengembangan paling handal dan paling lama
digunakan.
2.Cocok untuk sistem software yang bersifat generik.
3.Pengerjaan projek sistem akan terjadwal dengan baik dan mudah
dikontrol.
Kekurangan Model Waterfall :
1.Persyaratan sistem harus digambarkan dengan jelas.
2.Rincian proses harus benar-benar jelas dan tidak boleh berubah
ubah
3.Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada
suatu tahapan pengembangan
Contoh Studi Kasus :
Perkembangan ilmu pengetahuan dan
teknologi saat ini, telah mempengaruhi aktivitas perpustakaan dalam pengolahan
informasi. Perpustakaan dapat diibaratkan sebagai satu kesatuan. Dalam artian,
sebuah perpustakaan merupakan satu kesatuan sistem yang saling mempengaruhi
satu sama lain untuk mencapai tujuan tertentu. Tetapi dengan pertumbuhan sebuah
perpustakaan, ada kalanya suatu sistem pada sebuah perpustakaan menjadi tidak
efektif dan efisien dalam menangani permasalahan yang muncul. Seperti misalnya,
kebutuhan pengolahan data yang semakin meningkat, aturan pengolahan data yang
semakin bervariasi, aturan dari dalam atau luar perpustakaan, dapat digunakan
sebagai indikator adanya permasalahan. Untuk mengatasi permasalahan tersebut,
diperlukan suatu sistem yang dapat mendukung operasi yang bersifat manajerial
dan kegiatan strategi dari suatu perpustakaan demi tercapainya tujuan, sebuah
sistem yang dinamakan sistem informasi.
2. Model Spiral
Model spiral (spiral model) adalah model
pengembangan software dimana proses digambarkan sebagai spiral. Setiap loop
akan mewakili satu fase dari proses pembuatan/perancangan software. Loop paling
dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi
dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya,
seperti gambar berikut:
contoh model spiral
|
Kelebihan Model Spiral :
1.Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan
dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi
acuan untuk client dalam mencari kekurangan kebutuhan.
2.Lebih cocok untuk pengembangan sistem dan perangkat lunak skala
besar.
3.Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup
perangkat lunak komputer.
4.Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi
terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja
selama proses.
5.Menggunakan prototipe sebagai mekanisme pengurangan resiko dan
pada setiap keadaan di dalam evolusi produk.
6.Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik
dan memasukkannya ke dalam kerangka kerja iteratif.
7.Membutuhkan pertimbangan langsung terhadap resiko teknis
sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kekurangan Model Spiral :
1.Banyak konsumen (Client) tidak percaya bahwa pendekatan secara
evolusioner dapat dikontrol oleh kedua pihak.
2.Model spiral mempunyai resiko yang harus dipertimbangkan ulang
oleh konsumen dan developer.
3.Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus
mengandalkannya supaya sukses.
4.Belum terbukti apakah metode ini cukup efisien karena usianya
yang relatif baru.
5.Memerlukan penaksiran resiko yang masuk akal dan akan menjadi
masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
6.Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian
yang absolute.
Contoh Studi Kasus :
Sidik jari (bahasa Inggris:
fingerprint) adalah hasil reproduksi tapak jari baik yang sengaja diambil,
dicapkan dengan tinta, maupun bekas yang ditinggalkan pada benda karena pernah
tersentuh kulit telapak tangan atau kaki. Kulit telapak adalah kulit pada
bagian telapak tangan mulai dari pangkal pergelangan sampai kesemua ujung jari,
dan kulit bagian dari telapak kaki mulai dari tumit sampai ke ujung jari yang
mana pada daerah tersebut terdapat garis halus menonjol yang keluar satu sama
lain yang dipisahkan oleh celah atau alur yang membentuk struktur tertentu.
Identifikasi sidik jari, dikenal dengan daktiloskopi adalah ilmu yang
mempelajari sidik jari untuk keperluan pengenalan kembali identitas orang
dengan cara mengamati garis yang terdapat pada guratan garis jari tangan dan
telapak kaki. Daktiloskopi berasal dari bahasa Yunani yaitu dact ylos yang
berarti jari jemari atau garis jari, dan scopein yang artinya mengamati atau
meneliti. Kemudian dari pengertian itu timbul istilah dalam bahasa Inggris,
dactyloscopy yang kita kenal menjadi ilmu sidik jari. Fleksibilitas dari
gelombang pada kulit berarti tidak ada dua sidik jari atau telapak tangan yang
sama persis pada setiap detailnya. Pengenalan sidik jari melibatkan seorang
pakar, atau sebuah sistem pakar komputer, yang menentukan apakah dua sidik jari
berasal dari jari.
Identifikasi berdasarkan sidik jari
adalah daerah aktif penelitian di biometrik menerapkan berbagai umum dan teknik
kode domain-spesifik optimasi untuk secara efisien melaksanakan tahap
pendaftaran, yang mengambil sebagai masukan serangkaian gambar sidik jari dan
menghasilkan diadaptasi packet pohon dan template wavelet domain yang terkait.
Itu kode untuk identifikasi sebenarnya kemudian dihasilkan automati-Cally dari
deskripsi matematika. Algoritma identifikasi sidik jari kembali quires
perhitungan matematika yang berat, sehinggasatu al-gorithm bisa memiliki
runtimes berbeda tergantung pada Implementasi algoritma. Algoritma ini terdiri
dari 2 tahap, tahap pelatihan dan tahap verifikasi. Namun penting untuk
memiliki efisien pelaksanaan tahap pelatihan untuk memungkinkan pengembang
algoritma untuk dengan cepat menjalankan dan menguji uji beda kasus. Tahap
verifikasi dilakukan secara on-line sehingga itu perlu secepat mungkin.
Kualitas sidik jari sistemidentifikasi tidak hanya tergantung pada keakuratan.
3. Model Incremental
Dalam model Incremental ini proses
pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya
akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai
menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan
dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak
akan dilakukan perancangan arsitektur software sebagai kerangka dalam
pengerjaan perbagian.
contoh model incremental
|
Kelebihan Model Incremental :
1.Resiko yang rendah pada pengembangan sistem.
2.Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga
kemudahan pemakaian sistem yang paling di utamakan.
3.Tahap awal adalan dasar dari pembuatan tahap berikutnya
(dikerjakan secara terurut).
4.Cocok digunakan bila pembuat software tidak banyak/kekurangan
pembuat
5.Mampu mengakomodasi perubahan kebutuhan customer.
6.Mengurangi trauma karena perubahan sistem. Klien dibiasakan
perlahan-lahan menggunakan produknya bagian per bagian.
7.Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan Model Incremental :
1.Hanya akan berhasil jika tidak ada staffing untuk penerapan
secara menyeluruh.
2.Penambahan staf dilakukan jika hasil incremental akan
dikembangkan lebih lanjut.
3.Hanya cocok untuk proyek dengan skala kecil.
4.kemungkinan tiap bagian tidak dapat diintegrasikan.
Contoh Studi Kasus:
Dalam sebuah software, adanya sebuah
Graphical User Interface akan jauh lebih memudahkan pengguna software untuk
berinteraksi dengan software, dikarenakan tampilan GUI akan jauh lebih
meminimalkan kesalahan penggunaan dari user daripada pada aplikasi yang berbasis
console. Selain itu, aplikasi yang menggunakan GUI akan jauh lebih menarik dan
user-friendly daripada aplikasi yang berbasis console
Aplikasi yang akan dibuat adalah
aplikasi yang akan dijalankan pada perangkat mobile (handphone), karena memang
aplikasi mobile banking lebih ditujukan untuk mengimbangi mobilitas seseorang
dengan tetap dapat melaksanakan aktifitas perbankan. aplikasi disini bukanlah
aplikasi besar yang berlevel enterprise, sehingga baris kodennya juga tidak
terlalu banyak.
Software yang nantinya dikembangkan
haruslah memenuhi beberapa kriteria diantaranya : aplikasinya tidak membutuhkan
resource yang besar, dapat berjalan di perangkat mobile, kecepatan proses
transaksi haruslah cepat, aplikasi nantinya bisa dikembangkan lebih lanjut untuk
mengimbangi kebutuhan pengguna software.
4. Model Evolusi
Model evolusi adalah sebuah model yang
berulang-ulang. Model ini memiliki karakteristik yang memungkinkan para
programmer mengembangkan perangkat lunaknya menjadi semakin lengkap di tiap versinya.
Model ini diterapkan karena persyaratan (requierement) sering berubah
sehingga hasil akhir dari sebuah produk tidak akan realistis, dimana edisi
komplit dari produk tersebut mustahil dikeluarkan dikarenakan deadline
market yang begitu ketat. Oleh karena itu lebih baik mengeluarkan
versi limited untuk memperkenalkannya terlebih dahulu dan programmer dapat
membuat model dari sebuah design untuk mengakomodasikan produk, yang secara
bertahap akan diselesaikan dari waktu ke waktu.
contoh model evolusi
|
Kelebihan Model Evolusi :
1.kemampuan memimpin dan mengatur sesuatu dengan pengembangan
diri.
2.Menciptakan suasana yang sadar akan kualitas suatu produk.
3.Fungsi inti dari quality control dalam
perusahaan besar pada tingkat lokakarya.
4.Meningkatkan kebersamaan untuk mencapai suatu hasil dan semangat
kerja karyawan.
5.Meningkatkan kualitas dengan biaya efektif.
6.Membebaskan manajemen.
7.pekerja Shop Floor adalah lokasi terbaik untuk
mengidentifikasi masalah.
Kekurangan Model Evolusi :
1.Intensitas pekerjaan meningkat karena masalah akan lebih banyak
dari pada yang diperkirakan.
2.Manajemen perlu berkomitmen untuk sistem yang berkualitas, jika
sebuah solusi dari sebuah masalah tidak dapat diterapkan maka itu bisa membuat
frustasi para pekerja.
3.Dapat memiliki efek negatif pada hubungan industrial.
4.Dapat fokus pada masalah duniawi.
Contoh studi kasus:
Proyek SITINA dimulai
dengan kebutuhan terhadap suatu sistem EDM utilitas yang harus melalukan
pemantauan dengan mudah, benar-benar otomatis,pada pembangkit listrik tenaga
air . Tujuan utama adalah untuk mengembangkan aplikasi dengan biaya rendah yang
memungkinkan dewan direksi untuk memonitor pembangkit listrik tersebut dan
mengambil data statistik pada produksi mereka.
Hal ini tidak dalam melingkupi penjelasan rinci tentang SITINA . Namun, seperti yang dapat kita lihat dari akhir arsitektur umum pada Gambar 1, kita berhadapan dengan sistem yang kompleks dengan SCADA/EMS2 yang terbentuk dari penggunaan banyak teknologi dari beberapa produk-produk perangkat lunak yang berbeda.
5. Model Prototype
Hal ini tidak dalam melingkupi penjelasan rinci tentang SITINA . Namun, seperti yang dapat kita lihat dari akhir arsitektur umum pada Gambar 1, kita berhadapan dengan sistem yang kompleks dengan SCADA/EMS2 yang terbentuk dari penggunaan banyak teknologi dari beberapa produk-produk perangkat lunak yang berbeda.
5. Model Prototype
Prototype merupakan salah satu metode pengembangan perangat lunak
yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan
dapat saling berinteraksi selama proses pembuatan sistem. Prototyping, dimulai
dengan pengumpulan kebutuhan, mendefinisikan objektif keseluruhan dari software,
mengidentifikasikan segala kebutuhan, kemudian dilakukan “perangcangan kilat”
yang difokuskan pada penyajian aspek yang diperlukan.
|
contoh model prototyping
Kelebihan :
1.Prototype melibatkan user dalam analisa dan desain.
2.Punya kemampuan menangkap requirement secara konkret daripada
secara abstrak.
3.Untuk digunakan secara standalone.
4.Digunakan untuk memperluas SDLC.
5.Mempersingkat waktu pengembangan Sistem Informasi
Kekurangan :
1.Proses analisis dan perancangan terlalu singkat.
2.Mengesampingkan alternatif pemecahan masalah.
3.Bisanya kurang fleksible dalam mengahdapi perubahan.
4.Prototype yang dihasilkan tidak selamanya mudah dirubah
Contoh Studi Kasus :
Dalam pelaksanaannya, system akademik
yang berjalan di Sekolah Menengah Pertama Negeri 20 Bandung dirasa belum
optimal, hal ini dikarenakan sistem yang digunakan masih bersifat manual.
Dengan permasalahan tersebutmaka muncul berbagai permasalahan terutama pada
proses pendaftaran,registrasi, pembagian kelas, pembagian wali kelas, proses
penilaian serta informasimengenai perkembangan siswa kepada orang tua. Untuk
itu, diperlukan suatu sistem informasi yang mampu mendukung pengambilan
keputusan dalammemperoleh informasi kegiatan akademik. Pembuatan Sistem
Informasi Akademik Sekolah Menengah Pertama Negeri 20 Bandung menggunakan
pendekatan terstruktur, sedangkan metode pengembangan menggunakan prototype
dengan teknik pengumpulan data observasidan wawancara, sedangkan alat yang
digunakan dalam merancang sistem berupa Flow Map, Diagram Konteks, DFD dan
pengembangan aplikasi berbasis desktop.Sistem yang dibangun disajikan secara
client server sehingga dapat diaksesbeberapa komputer. Sistem yang dibangun
diharapkan dapat mengatasi sebagianbesar permasalahan yang ada seperti melakukan
validasi kerangkapan dataregistrasi dan nilai siswa, pembagian kelas dan
penilaian.
6. Model V / V-Model.
Bisa dikatakan model ini merupakan
perluasan dari model waterfall. Disebut sebagai perluasan karena tahap-tahapnya
mirip dengan yang terdapat dalam model waterfall. Jika dalam model waterfall
proses dijalankan secara linear, maka dalam model V proses dilakukan bercabang.
Dalam model V ini digambarkan hubungan antara tahap pengembangan software
dengan tahap pengujiannya.
Kelebihan v model :
1.V Model sangat fleksibel. V Model mendukung project tailoring
dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat
mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu
dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan
method dan tool yang dianggap sudah obsolete.
2.V Model dikembangkan dan di-maintain oleh publik. Userdari V
Model berpartisipasi dalam change control boardyang memproses semua change
request terhadap V Model.
Kekurangan v model :
1.V Model adalah model yang project oriented sehingga hanya bisa
digunakan sekali dalam suatu proyek.
2.V Model terlalu fleksibel dalam arti ada beberapa activitydalam
V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan
jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.
7. Model Rapid Application Development (RAD)
Rapid Aplication
Development (RAD) adalah sebuah model proses perkembanganperangkat lunak
sekuensial linier yang menekankan siklus perkembangan yang sangat pendek
(kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat
dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
Kelebihan Model RAD :
1.Lebih efektif dari
Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang
memenuhi kebutuhan langsung dari pelanggan.
2.Cocok untuk proyek
yang memerlukan waktu yang singkat.
3.Model RAD mengikuti
tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan
untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu
membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan
efisien.
Kekurangan Model RAD :
1.Model RAD menuntut
pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang
diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat
diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
2.Tidak semua aplikasi
sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur,
pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
3.RAD tidak cocok digunakan untuk sistem yang
mempunyai resiko teknik yang tinggi.
4.Membutuhkan Tenaga
kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
5.Jika ada perubahan di
tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan
pelanggan.
Contoh studi kasus:
RAD sangat tepat diterapkan untuk sistem yang telah jelas dan lengkap kebutuhannya, di mana
terdapat komponen-komponen yang dapat dipakai kembali dalam proyek yang
berskala kecil dengan waktu pengembangan perangkat lunak yang singkat.
|