REKAYASA PERANGKAT LUNAK (3). pdf

TUGAS MANDIRI 5
REKAYASA PERANGKAT LUNAK

OLEH :
HANNDY DANNOVAN
7411030855 / TEKNIK INFORMATIKA – B
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
SURABAYA

1.

WaterFall Model Life Cycle Software

Model siklus hidup (life cycle model) adalah model utama dan dasar dari banyak model. Salah satu
model yang cukup dikenal dalam dunia rekayasa perangkat lunak adalah The Waterfall Model.
Disebut waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air
terjun yang bertingkat. Model ini adalah model klasik yang bersifat sistematis, berurutan dalam
membangun software.
Keterkaitan dan pengaruh antar tahap ini ada karena output sebuah tahap dalam Waterfall Model
merupakan input bagi tahap berikutnya, dengan demikian ketidaksempurnaan hasil pelaksanaan

tahap sebelumnya adalah awal ketidaksempurnaan tahap berikutnya. Memperhatikan karakteristik
ini, sangat penting bagi tim pengembang dan perusahaan untuk secara bersama-sama melakukan
analisa kebutuhan dan desain sistem sesempurna mungkin sebelum masuk ke dalam tahap penulisan
kode program. Berikut adalah penjelasan detail dari masing-masing tahap dalam Waterfall model.
1. Analisa kebutuhan. Analisa kebutuhan merupakan tahap pertama yang menjadi dasar
proses pembuatan Tailor-made software selanjutnya. Kelancaran proses pembuatan software
secara keseluruhan dan kelengkapan fitur software yang dihasilkan sangat tergantung pada
hasil analisa kebutuhan ini. Untuk memperoleh informasi tentang proses bisnis dan
kebutuhan perusahaan, umumnya tim pengembang melakukan wawancara, diskusi dan
survey. Dalam proses wawancara, diskusi dan survey diperlukan komunikasi yang intensif
dan terbuka antara tim pengembang dan tim counter-partner dari perusahaan. Selain itu,
peran aktif dari manajemen sebagai pihak yang memahami seluk beluk perusahaan secara
komprehensif juga diperlukan agar diperoleh informasi proses bisnis dan daftar kebutuhan
perusahaan yang lengkap. Beberapa perusahaan membantu memperlancar penyelesaian
tahap ini dengan terlebih dahulu menyusun scope of work software yang akan dibuat sebagai
acuan kerja tim pengembang. Hasil analisa kebutuhan yang tidak lengkap berpotensi
menyebabkan beberapa permasalahan yang tidak diharapkan, antara lain : waktu pembuatan
software menjadi lebih lama, proses dalam software tidak sesuai dengan proses bisnis dan
software tidak dapat memenuhi semua kebutuhan perusahaan. Untuk meminimalkan risiko
ini, disarankan perusahaan melakukan konfirmasi pemahaman tim pengembang tentang

proses bisnis dan kebutuhan perusahaan dengan cara meminta resume hasil analisa
kebutuhan dan menyempurnakannya bersama tim pengembang jika diperlukan.
2. Desain sistem. Desain sistem merupakan tahap penyusunan proses, data, aliran proses dan
hubungan antar data yang paling optimal untuk menjalankan proses bisnis dan memenuhi
kebutuhan perusahaan sesuai dengan hasil analisa kebutuhan. Dokumentasi yang dihasilkan
dari tahap desain sistem ini antara lain : System Flow, Data Flow Diagram (DFD) dan Entity
Relationship Diagram (ERD). System Flow merupakan bagan aliran dokumen dari satu
bagian perusahaan ke bagian lain baik secara manual maupun melalui Sistem
Informasi. Data Flow Diagram adalah diagram yang menunjukan aliran data di antara
pengguna, proses dan database yang terkait dengan software. Entity Relationship Diagram
merupakan diagram yang menunjukan bagaimana data dan informasi software akan di
simpan di dalam database beserta dengan hubungan antar data. Seperti halnya tahap analisa
kebutuhan, pada saat desain sistem selesai dibuat sebaiknya desain yang sudah dibuat
pengembang didiskusikan dan disempurnakan oleh tim pengembang bersama dengan tim
counter-partner dan manajemen perusahaan.
3. Penulisan kode program. Penulisan kode program merupakan tahap penerjemahan desain
sistem yang telah dibuat ke dalam bentuk perintah-perintah yang dimengerti komputer
dengan mempergunakan bahasa pemrograman, middleware dan database tertentu di atas
platform yang menjadi standar perusahaan. Bahasa pemrograman yang saat ini populer


digunakan antara lain : Microsoft Visual Basic .Net untuk pembuatan software dalam
kategori Desktop Application, PHP untuk pembuatan software dalam kategori Web
Application dan Java untuk pembuatan software yang dapat berjalan di atas beberapa
platform sistem operasi / multiplatform. Database yang saat ini banyak dipergunakan antara
lain : ORACLE dan Microsoft SQL Server 2005 untuk kebutuhan penyimpanan data dalam
jumlah besar, fitur keamanan data yang handal dan penggunaan oleh banyak pengguna,
MySQL dan PosgreSQL untuk kebutuhan penyimpanan data di sistem operasi Linux dan
Microsoft Access untuk penyimpanan data dalam jumlah yang tidak terlalu besar untuk
memenuhi kebutuhan personal. Berbeda dengan 2 tahap sebelumnya, pada tahap penulisan
kode program ini keterlibatan perusahaan tidaklah terlalu besar.
4. Pengujian program. Pengujian software dilakukan untuk memastikan bahwa software yang
dibuat telah sesuai dengan desainnya dan semua fungsi dapat dipergunakan dengan baik
tanpa ada kesalahan. Pengujian software biasanya dilakukan dalam 2 atau 3 tahap yang
saling independen, yaitu : pengujian oleh internal tim pengembang, pengujian oleh divisi
Quality Assurance dan pengujian oleh pengguna di perusahaan. Dalam tahap ini, perusahaan
harus memastikan bahwa kerangka / skenario pengujian software dibuat dengan lengkap
meliputi semua proses, kebutuhan dan pengendalian yang ada di dalam dokumen analisa
kebutuhan dan desain sistem.
5. Penerapan program. Penerapan program merupakan tahap dimana tim pengembang
menerapkan / meng-install software yang telah selesai dibuat dan diuji ke dalam lingkungan

Teknologi Informasi perusahaan dan memberikan pelatihan kepada pengguna di
perusahaan. Pada saat melaksanakan pelatihan perusahaan harus yakin bahwa semua
karyawan benar-benar menguasai Sistem Informasi yang dibuat sesuai dengan tugas,
kewenangan dan tanggung-jawabnya. Untuk mendukung penguasaan ini pada waktu
operasional harian setelah pelatihan, perusahaan sebaiknya memastikan pengembang telah
memberikan buku User Manual dari Sistem Informasi yang dibuat.
Berdasarkan kesepakatan yang dibuat sebelumnya, pada tahap ini perusahaan juga dapat meminta
tim pengembang untuk menjelaskan secara detail kode program kepada staff Teknologi Informasi di
perusahaan agar jika diperlukan pengembangan lebih lanjut di waktu yang akan datang dapat
dilakukan sendiri oleh perusahaan. Hal ini biasanya dilakukan perusahaan-perusahaan besar yang
memfokuskan staff divisi Teknologi Informasinya hanya untuk pemeliharaan sistem saja
Dengan memperhatikan keuntungan, konsekuensi dan mengikuti tahapan-tahapan yang ada di
dalam metode Waterfall tersebut di atas dengan baik maka peluang perusahaan untuk mendapatkan
Sistem Informasi yang berkualitas menjadi semakin besar. Semakin berkualitas Sistem Informasi
yang diperoleh perusahaan berarti semakin besar pula daya saing dan peluang perusahaan untuk
memenangkan kompetisi. Hal ini tidak lain karena pemrosesan informasi, pengendalian proses
bisnis dan pengambilan keputusan dapat dilakukan dengan cepat dan akurat.
Memperhatikan hal tersebut, maka sudah sewajarnya di era yang sangat kompetitif ini perusahaan
mendukung kegiatan operasional dan pengembangan bisnisnya dengan mempergunakan Sistem
Informasi yang dibuat sesuai dengan proses bisnis dan kebutuhan perusahaan masing-masing.


2.

Fase pada model pengembangan evolusioner
Pengembangan evolusioner berdasarkan pada ide untuk mengembangkan implementasi awal,
memperlihatkan kepada user untuk dikomentari, dan memperbaikinya versi demi versi sampai
sistem yang memenuhi persyaratan diperoleh. Tidak ada kegiatan spesifikasi, pengembangan,
dan validasi yang terpisah. Akan tetapi kegiatan-kegiatan tersebut dilakukan pada saat yang
bersamaan dengan umpan balik yang cepat untuk masing-masing kegiatan.
Ada dua jenis pengembangan evolusioner:
a. Pengembangan eksploratori. Tujuan proses ini adalah bekerja dengan pelanggan untuk
menyelidiki persyaratan mereka dan mengirimkan sistem akhir. Pengembangan dimulai
dengan bagian-bagian sistem yang dipahami. Sistem berubah dengan adanya tambahan fiturfitur baru sesuai usulan pelanggan.
b. Prototipe yang dapat dibuang (throw away). Tujuan pengembangan evolusioner adalah
memahami persyaratan pelanggan dan dengan demikian mengembangkan definisi
persyaratan yang lebih baik untuk sistem. Prototipe berkonsentrasi pada eksperimen, dengan
persyaratan pelanggan yang tidak dipahami dengan baik.
Pendekatan evolusioner sering kali lebih efektif dari pendekatan air terjun dalam menghasilkan
sistem yang memenuhi kebutuhan langsung pelanggan.
Keuntungan:

- Spesifikasi dapat dikembangkan secara inkremental. Sementara user mendapat pemahaman
lebih baik dari masalah mereka, sistem perangkat lunak dapat merefleksikannya.
Masalah:
- Proses tidak bisa dilihat. Manajer memerlukan hasil regular untuk mengukur kemajuan. Jika
sistem dikembangkan dengan cepat, tidaklah efektif dari segi biaya jika dihasilkan dokumen
yang merefleksikan setiap versi
- Sistem seringkali memiliki struktur yang buruk. Perubahan yang terus-menerus cenderung
merusak struktur perangkat lunak. Pernyesuaian perubahan perangkat lunak menjadi kian
sulit dan mahal.
- Mungkin diperlukan alat bantu dan teknik khusus. Memungkinkan pengembangan yang
cepat, tetapi mungkin tidak kompatibel dengan alat bantu atau teknik lain dan relatif hanya
sedikit orang yang memiliki keahlian memakainya.
Untuk aplikasi yang digunakan yaitu apikasi dengan spesifikasi :
-

Sistem interaktif berukuran kecil atau tingkat medium

-

Bagian dari sistem besar (misalnya user interface)


-

Sistem dengan daur hidup pendek

Untuk sistem kecil atau menengah dengan waktu hidup yang pendek, pendekatan evolusioner
merupakan pendekatan yang paling baik. Akan tetapi untuk sistem yang besar dan memiliki
waktu hidup lama, masalah-masalah dalam pengembangan evolusioner bisa menimbulkan
masalah. Untuk sistem-sistem ini, direkomendasikan proses campuran, yang memakai fitur-fitur
terbaik dari model waterfall dan pengembangan evolusioner.

3.

Rekayasa persyaratan.

Merupakan proses melibatkan semua kegiatan yang dibutuhkan untuk membuat dan memelihara
dokumen persyaratan sistem.

Gambar : Proses Persyaratan Rekayasa


Tipe – tipe persyaratan antara lain sebagai berikut :
-

Persyaratan User
Laporan dalam bahasa natural plus diagram layanan yang tersedia dan batasan
operasional. Ditulis oleh konsumen.

-

Persyaratan Sistem
Dokumen terstruktur yang berisi deskripsi detail dari fungsi sistem, layanan dan batasan
operasional. Mendefinisikan apa yang harus dilaksanakan sehingga dapat menjadi bagian
dari kontrak antara konsumen dan developer.

Soal 4 - 7
Sebuah bengkel sepeda motor memberikan pelayanan pelanggan untuk melakukan servis,
termasuk pembelian spare part yang diperlukan. Sebelumnya bengkel tersebut melakukan
kegiatan tersebut dengan mencatat dalam buku kerja. Untuk memperbaiki pelayanan, maka
dikembangkan perangkat lunak untuk menangani servis, pembelian spare part dan pembayaran.
Kegiatan tersebut dilakukan oleh seorang karyawan administrasi dan memberikan laporan

kepada pemilik. Sistem mempunyai spesifikasi:



Mencatat kegiatan pendaftaran pelanggan baru.



Menyimpan data layanan bengkel pada pelanggan berupa jenis servis dan pembelian
spare part



Penyimpan pembayaran dan mencetak kuitansi.



Laporan yang diharapkan dari sistem berupa laporan jenis servis per bulan, spare part
terjual per bulan dan laporan keuangan per-hari atau per-bulan.


4.

kebutuhan fungsional dan non fungsional dari sistem



Persyaratan Fungsional



Analisis kebutuhan fungsional adalah analisis terhadap kebutuhan secara fungsional
baik dalam aliran data ataupun informasi. Analisis kebutuhan fungsional digambarkan
dalam analisis terstruktur.



Diagram konteks




Data Flow Diagram



Spesifikasi Proses



Kamus Data



Skema Relasi



Struktur Tabel



Persyaratan Non Fungsional

Analisis kebutuhan sistem non fungsional adalah suatu analisis untuk mengetahui elemen
elemen apa saja yang berhubungan dengan sistem yang sedang berjalan. Analisis kebutuhan non
fungsional ini terdiri dari analisis perangkat lunak, analisis perangkat keras, analisis user,
analisis jaringan dan analisis pengkodean.

5.

Dokumen studi kelayakan
a.

Laporan Yang Diharapkan



Laporan Persediaan Suku Cadang



Laporan User



Laporan Pemasok



Laporan Pelanggan



Laporan Pembelian



Laporan Retur Pembelian



Laporan Penjualan



Laporan Servis Per Hari



Laporan Servis Per Bulan



Laporan Penjualan Suku Cadang Per Bulan



Laporan Keuangan Harian



Laporan Keuangan Bulanan

b.

Data Yang Sudah Ada


Data Karyawan



Data Harga Suku Cadang



Data Penjualan



Data Servis Pelanggan

c.

Data Yang Belum Tersedia


Data Pelanggan



Data Suku Cadang



Data Persediaan Suku Cadang



Data Servis Sepeda Motor



Data Pembelian Suku Cadang



Data Jenis Kendaraan



Data Kendaraan



Data Detail Servis

d.

Aturan Transaksi

Setiap pelanggan yang datang untuk servis maupun membeli spare parts akan didata oleh pegawai
bengkel dan data tersebut akan otomatis tersimpan dalam database.


Pelanggan yang datang akan di kelompokkan berdasarkan jenis pelayanannya yaitu servis
motor, membeli spare parts dan Service + pembelian / penggantian sparepart.



Yang dapat melakukan transaksi hanyalah seorang pegawai yang telah memiliki hak akses
untuk mengoperasikan sistem.



Ketika pelayanan telah dilakukan maka karyawan bengkel akan membuatkan tagihan untuk
pelanggan berdasarkan pengeluaran dan juga apa saja yang telah diterima oleh pelanggan
kemudian tagihan tersebut akan dicetak berupa form kwitansi yang nantinya akan diberikan
kepada pelanggan.



Setiap transaksi yang dilakukan akan secara otomatis tersimpan pada database dan database
tersebut akan memberikan laporan berdasarkan keinginan user sistem tersebut.



Setiap hari sistem akan memberikan laporan yang nantinya akan diberika oleh admin.

6.

Spesifikasi sistem dengan menggunakan diagram context

7.

Spesifikasi data dan spesifikasi aplikasi

a.

Form Pelanggan

: Untuk melakukan pendataan pelanggan baru dan pengolahan data
pelanggan lainnya.

b.

Form Pegawai

: Untuk melakukan inisialisasi bagi pegawai yang akan melakukan
pengoprasian system di hari tersebut.

c.

Form Transaksi

: Untuk malakukan transaksi pelanggan dan memberikan laporan
hasil transaksi seperti struk tagihan kepada pelanggan.

d.

Form Sparepart

: Untuk pendataan keluar-masuk nya serta jumlah stock spare part
yang tersedia