Anda di halaman 1dari 10

Farhan Al Farisi

152021045
IF-AA
UTS Rekayasa Perangkat Lunak
1. Jelaskan secara terperinci setiap tahapan yang ada pada SDLC Waterfall
SDLC Waterfall adalah model pengembangan perangkat lunak yang menekankan fase-fase
yang berurutan dan sistematis, dimulai dari spesifikasi kebutuhan konsumen dan berkembang
melalui proses perencanaan (planning), pemodelan (modelling), pembangunan (construction),
dan penyebaran (deployment), yang berujung pada dukungan terus menerus untuk sebuah
perangkat lunak yang utuh. Model ini dapat digunakan pada saat kebutuhan untuk sebuah
masalah telah dipahami dengan baik, dan pekerjaan dapat mengalir secara linear dari proses
komunikasi hingga penyebaran (deployment). Situasi ini ditemui saat adaptasi atau
perpanjangan dari sistem yang ada sudah terdefinisi dengan baik. Adapun model ini juga
dapat digunakan pada situasi di mana dibutuhkan usaha yang terbatas untuk pengembangan
perangkat lunak, tetapi kebutuhan perangkat lunak sudah terdefinisi dengan baik dan
cenderung stabil.

Tahapan SDLC Waterfall


1. Sustem Requirement

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.

2. Analisis

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.

3. Desain Sistem

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. Terdapat 3 Peracangan dalam Desain diantaranya, perancangan system,
perancangan database, dan perancangan UI.
• Desain sistem
Desain sistem merupakan persiapan dari desain terinci dan mengidentifikasikan
komponen-komponen sistem informasi yang akan didesain secara rinci. Desain
terinci dimaksudkan untuk pemrograman komputer dan ahli teknik lainnya yang akan
mengimplementasikan sistem.
• Perancangan Database
Perancangan database merupakan proses membuat desain yang akan mendukung
operasional dan tujuan perusahaan. Pemanfaatan basis data pada bidang perpustakaan
memungkinkan untuk dapat menyimpan data atau melakukan perubahan dan
menampilkan kembali data tersebut dengan cepat dan mudah. Dengan output :
• ERD (Entity Relationship Diagram)
• TRD (Table Relationship Diagram)
• Design Table
• DDS (Data Dictionary System)
• Normalisasi (kalau belum cukup)
• Perancangan UI
Desain User Interface (UI) adalah proses yang digunakan desainer untuk
membuat tampilan dalam perangkat lunak atau perangkat terkomputerisasi, dengan
fokus pada tampilan atau gaya. Tujuan dari desainer UI adalah untuk membuat desain
antarmuka yang membuat pengguna mudah untuk digunakan dan menyenangkan.
4. Pengkodean Program

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.

5. Uji Coba Program

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.

6. Implementasi Sistem

Tahapan metode waterfall yang berikutnya adalah implementasi kode program


dengan menggunakan berbagai tools dan bahasa pemrograman sesuai dengan kebutuhan tim
dan perusahaan. Jadi, pada tahap implementasi ini lebih berfokus pada hal teknis, dimana
hasil dari desain perangkat lunak akan diterjemahkan ke dalam bahasa pemrograman melalui
tim programmer atau developer.

Di dalam tahap pengembangan, biasanya dibagi lagi menjadi 3 tim yang memiliki tugas yang
berbeda. Pertama ada front end (untuk client side), backend (untuk server side), dan full stack
(gabungan antara front end dan backend). Selain itu, pada tahap ini juga dilakukan
pemeriksaan lebih dalam terkait dengan modul yang sudah dibuat, apakah berjalan dengan
semestinya atau tidak.

7. Pemeliharaan Sistem

Tahapan metode waterfall yang terakhir adalah pengoperasian dan perbaikan dari aplikasi.
Setelah dilakukan pengujian sistem, maka akan masuk pada tahap produk dan pemakaian
perangkat lunak oleh pengguna (user). Untuk proses pemeliharaan, memungkinkan
pengembang untuk melakukan perbaikan terhadap kesalahan yang ditemukan pada aplikasi
setelah digunakan oleh user.
Jadi, pada intinya model waterfall ini dalam proses pemakaiannya mengikuti prinsip dari air
terjun. Dimana setiap pekerjaan akan dilakukan secara berurutan mulai dari atas hingga ke
bawah. Hal tersebut yang merupakan karakteristik dari SDLC ini.

Sistem Requirements

Gambar 1 Tahapan SDLC Waterfall


2. A. SDLC Spiral
SDLC Spiral merupakan penggabungan dari model prototyping dan model waterfall.
Model prototyping yang fokus pada penyajian atau presentasi kepada user dengan format
input dan output kemudian perangkat lunak akan dievaluasi. Model waterfall yang fokus
kepada proses pengembangan perangkat lunak yang sistematis atau berurutan. Model spiral
menekankan pada Analisa resiko setiap tahapannya.
Fungsi model spiral adalah untuk melakukan perubahan, penambahan dan pengembangan
perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan
keinginan dan kebutuhan penggunanya.
Tahapan dalam Spiral Model
Dalam penerapan Model Spiral, terdapat lima tahapan untuk merealisasikan penggunaannya,
yaitu sebagai berikut:
1. Tahap Liason
Tahap ini berhubungan dengan komunikasi antara pihak-pihak yang terlibat dalam
pengembangan softaware (seperti: system analyst) dengan pelanggan (user). Tujuannya
adalah memperbaiki dan mengembangan software sesuai kebutuhan dan keinginan hingga
memuaskan pelanggan.
Yang bertanggung jawab : Sistem Analis dan Projek Manager.
Deliverables : Struktur organisasi, Proses bisnis (system flow),
Matriks otorisasi, Value Chain (Porter Model).
2. Tahap planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan
jadwal, identifikasi lingkungan kerja, sumber-sumber informasi untuk melakukan iterasi
(Teknik perulangan). Hasil dari tahapan ini adalah dokumen spesifikasi kebutuhan sistem dan
bisnis.
Yang bertanggung jawab : Sistem Analis dan Projek Manager.
Deliverables : Estimasi biaya, batas waktu, informasi untuk iterasi, DFD.

3. Tahap analisis risiko


Tahap analisis reisiki berfungsi untuk mengidentifikasi resiko yang berpotensi akan
terjadi dan menghasilkan solusi alternatif secara teknis dan manajemen saat strategi mitigasi
(upaya untuk mengurangi resiko bencana) direncanakan dan diselesaikan.
Yang bertanggung jawab : Sistem Analis
Deliverables : Alternatif sistem
4. Tahapan rekayasa (engineering)
Pada tahap rekayasa, beberapa kegiatan ini yang akan dilakukan, yaitu:

• Menguji, coding dan mengembangkan software


• Menginstal software
• Membuat prototype
• Mendesain dokumen
• Meringkas suatu pengujian software
• Membuat laporan atas kekurangan dari software agar segera diperbaiki
Yang bertanggung jawab : UI Desainer, Programmer, Data Analis
Deliverables : ERD, TRD, Design Table, DDS, Normalisasi,
Prototype web
5. Tahap evaluasi
Pada tahap evaluasi, system analyst membutuhkan masukan dan tanggapan dari para
user dalam mengevaluasi perangkat/produk yang diuji dan memastikan bahwa produk
dibutuhkan sesuai ketentuan yang telah dibicarakan diawal dengan user. System analyst
memastikan pelanggan puas dengan produk yang akan dihasilkan untuk menjawab persoalan
bisnis mereka. Selain itu, system analyst harus tetap memantau resiko yang akan terjadi
seperti faktor-faktor yang dapat menyebabkan cost overrun (pembengkakan biaya).
Yang bertanggung jawab : Project Manager, Sistem Analis, UI Desainer
Programmer, Tester, Data Analis

Gambar 2 Tahapan SDLC Spiral


SDLC V-Model
• V-Model Proses Verification
Fase – fase yang masuk dalam proses ini adalah sebagai berikut.
1. Requirement Analysis
Seperti halnya pada Model Firewall, ini adalah fase pertama dalam siklus di
mana semua informasi kebutuhan pengembangan informasi digali dari customer. Di
dalam fase ini melibatkan proses komunikasi yang intensif dengan customer untuk
memahami kebutuhan sistem dengan tepat. Ini adalah fase yang sangat penting dan
perlu dikelola dengan baik, karena sebagian besar customer tidak yakin tentang apa
yang sebenarnya mereka butuhkan. Perencanaan Acceptance Test Design dilakukan
pada tahap ini karena requirement dapat digunakan sebagai input untuk pengujian
accepatence.
Yang bertanggung jawab : Sistem Analis dan Projek Manager.
Deliverables : Struktur organisasi, Matriks otorisasi
Value Chain (Porter Model).
2. System Design
Setelah Anda memiliki requirement produk yang jelas dan terperinci,
sekarang saatnya untuk merancang sistem dengan lengkap. Desain sistem yang
lengkap akan memiliki perincian perangkat keras dan pengaturan komunikasi yang
lengkap untuk sistem yang sedang dikembangkan. Rencana system test
dikembangkan berdasarkan desain sistem.
Yang bertanggung jawab : Sistem Analis
Deliverables : DFD
3. Architectural Design
Spesifikasi arsitektur dipahami dan dirancang dalam fase ini. Biasanya, lebih
dari satu pendekatan teknis diusulkan dan keputusan akhir diambil berdasarkan
kelayakan teknis dan finansial. Desain sistem dipecah menjadi lebih kecil untuk
menjadi modul yang memiliki fungsi yang berbeda – beda.
Transfer data dan komunikasi antara modul secara internal dan secara
eksternal (dengan sistem lain) dipahami dengan jelas dan didefinisikan dalam fase ini.
Berdasarkan informasi tersebut, integration test dapat dirancang dan
didokumentasikan selama tahap ini.
Yang bertanggung jawab : Sistem Analis dan Projek Manager.
Deliverables : Proses bisnis (system flow),
4. Module Design
Dalam fase ini, desain internal terperinci untuk semua modul sistem
dispesifikasikan. Penting bahwa desain harus kompatibel dengan modul lain dalam
arsitektur sistem dan sistem eksternal lainnya. Unit Test merupakan bagian penting
dari setiap proses pengembangan dan membantu menghilangkan kesalahan dan
kesalahan pada tahap yang sangat awal. Unit test ini dapat dirancang pada fase ini
berdasarkan pada desain modul internal.
Yang bertanggung jawab : UI Desainer, Data Analis
Deliverables : ERD, TRD, Design Table, DDS, Normalisasi.

• V-Model Proses Coding


Proses coding untuk membuat modul sistem yang telah dirancang pada tahap
desain dilakukan pada fase coding. Bahasa pemrograman yang paling cocok
diputuskan berdasarkan kebutuhan sistem dan arsitektur.
Proses coding dilakukan berdasarkan pedoman dan standar coding. Baris
kode yang ditulis melewati banyak code review dan dioptimalkan untuk kinerja
terbaik sebelum final build.
Yang bertanggung jawab : Programmer.
Deliverables : Prototype Web.

• V-Model > Proses Validation


Pada proses validation terdapat beberapa fase yang antara lain sebagai
berikut.
1. Unit Testing
Unit Test yang dirancang dalam fase module design dijalankan pada kode
yang sudah ditulis selama fase validasi ini. Unit testing adalah pengujian pada tingkat
kode dan membantu menghilangkan bug pada tahap awal, meskipun semua bug tidak
dapat diungkap oleh unit testing.
Yang bertanggung jawab : Developer.
Deliverables : Perbaikan Bug.
2. Integration Testing
Integration Testing dikaitkan dengan fase architectural design. Integration
Testing dilakukan untuk menguji koeksistensi dan komunikasi modul secara internal
dalam sistem.
Yang bertanggung jawab : Developer.
3. System Testing
System testing secara langsung terkait dengan fase system design. System
testing memeriksa seluruh fungsionalitas sistem dan komunikasi sistem yang sedang
dikembangkan dengan sistem eksternal. Sebagian besar masalah kompatibilitas
perangkat lunak dan perangkat keras dapat diungkap selama pelaksanaan system
testing ini.
Yang bertanggung jawab : Sistem Analis.
4. Acceptance Testing
Acceptance testing dikaitkan dengan fase requirement analysis dan
melibatkan pengujian produk di lingkungan pengguna. Acceptance testing
mengungkap masalah kompatibilitas dengan sistem lain yang tersedia di lingkungan
pengguna. Selain mengungkap masalah kompatibilitas dengan sistem lain, pada fase
ini juga mampu mengungkap masalah non-fungsional seperti load dan performance
kinerja sistem di lingkungan pengguna yang sebenarnya.
Yang bertanggung jawab : Developer (mengawasi user).

Anda mungkin juga menyukai