Anda di halaman 1dari 16

1.

FLOWCART
1. Pengertian flowchart
Flowchart atau bagan alur adalah diagram yang menampilkan langkah-langkah dan keputusan untuk melakukan
sebuah proses dari suatu program. Setiap langkah digambarkan dalam bentuk diagram dan dihubungkan dengan
garis atau arah panah.
2. Simbol flowchar

2. SDLC (System Development Life Cycle)


1. Pengertian SDLC (System Development Life Cycle)
rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem
serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. SDLC juga
merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-
tahap: rencana(planning), analisis (analysis), desain (design), implementasi (implementation), uji
coba (testing) dan pengelolaan (maintenance).
2. Tahapan SLDC
SDLC dalam penerapan alur, peran dan tahapannya yaitu sebagai berikut :
1. Planning
Pemilik proyek atau Product Owner membawa permintaan kebutuhan (perubahan) software yang
disebut System Request ke Project Manager. Lalu, Project Manager bersama System Analyst
kemudian membuat analisis kelayakan (Feasibility Analysis) dari System Request tersebut.
Setelah dianggap layak, Project Manager melakukan perencanaan alokasi sumber daya, perencanaan
kapasitas, penjadwalan proyek, estimasi biaya, dan penetapan.
2. Analysis dan Design
Setelah proses perencanaan selesai, System Analyst melakukan Analysis dan Design yang
menghasilkan System Specification (SRS, BRD, FSD, dll)
Pada tahap ini, System Analyst dibantu Business Analyst untuk memahami proses bisnis dari
software yang akan dibangun.

3. Implementation
System Specification yang telah dibuat kemudian diserahkan oleh System Analyst ke Programmer
untuk dilakukan Konstruksi (Coding)
Hasil konstruksi berupa kode program lalu diserahkan ke Software Tester (QA Engineer) untuk
dilakukan pengujian (Unit, Integration, System, User Acceptance Testing (UAT))
Setelah dianggap telah memenuhi requirement, software kemudian diserahkan kepada User/Product
owner untuk diinstalasi dan manajemen perubahan
Software = Kode Program + Dokumentasi (Pengembangan dan Penggunaan)
4. Maintenance
Pada tahap maintenance, siklus kembali ke tahap 1 apabila ada permintaan perubahan pada
software (Update Software)

3. Metode SDLC
1. Waterfall
Metode SDLC yang pertama adalah
waterfall. Metode waterfall adalah metode
kerja yang menekankan fase-fase yang
berurutan dan sistematis. Disebut waterfall
karena proses mengalir satu arah “ke
bawah” seperti air terjun. Metode waterfall
ini harus dilakukan secara berurutan sesuai
dengan tahap yang ada.
Berikut adalah tahap-tahap pengembangan
dalam metode waterfall.
 Requirement gathering and analysis
Mengumpulkan kebutuhan secara lengkap untuk dianalisis dan mendefinisikan kebutuhan apa saja yang
harus dicapai oleh program. Informasi dapat diperoleh melalui wawancara, diskusi, atau survey.
 Design
Melakukan perancangan desain perangkat lunak sebagai perkiraan sebelum dibuatnya kode. Desain
sistem dapat dibuat menggunakan Flowchart, Mind Map,  atau Entity Relationship Diagram (ERD).
 Implementasi
Implementasi ini adalah tahap dimana seluruh desain yang sebelumnya sudah dibuat diubah menjadi
kode-kode program. Kode yang dihasilkan masih berbentuk modul-modul yang harus digabungkan di
tahap selanjutnya.
 Integration & testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat sebelumnya dan melakukan
pengujian untuk mengetahui apakah perangkat lunak yang dibuat telah sesuai dengan desain dan
fungsinya atau tidak.
 Verification
Di tahap ini, pengguna atau klien yang langsung melakukan pengujian pada sistem, apakah sistem telah
sesuai dengan tang disetujui atau belum sesuai.

 Operation & maintenance


Tahap ini merupakan tahap terakhir dari model waterfall. Sistem yang sudah selesai dijalankan serta
dilakukan pemeliharaan. Pemeliharaan berupa memperbaiki kesalahan yang tidak ditemukan pada
langkah sebelumnya.
Setiap metode yang digunakan pasti memiliki kelebihan serta kekurangannya tersendiri.
Berikut adalah kelebihan dari metode waterfall:

1. Memiliki proses yang terurut, sehingga pengerjaan dapat terjadwal dengan baik dan mudah.

2. Cocok untuk sistem dengan kompleksitas rendah (predictable).

3. Setiap proses yang dilakukan tidak dapat saling tumpah tindih.


Berikut adalah kekurangan dari metode waterfall:

1. Waktu pengerjaan relatif lebih lama, karena harus menunggu tahap sebelumnya selesai.

2. Biaya yang dibutuhkan lebih mahal karena waktu pengembangan yang dibutuhkan lebih lama.

3. Model waterfall ini kurang cocok untuk pengembangan proyek yang memiliki kompleksitas tinggi.

2. Prototype

Metode SDLC selanjutnya adalah prototype. Metode prototype adalah metode yang memungkinkan pengguna
atau user memiliki gambaran awal tentang perangkat lunak yang akan dikembangkan, serta pengguna dapat
melakukan pengujian di awal sebelum perangkat lunak dirilis.
Metode ini bertujuan untuk mengembangkan model menjadi perangkat lunak yang final. Artinya sistem akan
dikembangkan lebih cepat dan biaya yang dikeluarkan lebih rendah. Metode prototype ini memiliki tahap-tahap
yang harus dilakukan dalam pengembangan perangkat lunak.
Berikut adalah tahap-tahap pengembangan perangkat lunak menggunakan metode prototype.
 Analisa kebutuhan
Pada tahap ini pengembang melakukan identifikasi perangkat lunak dan semua kebutuhan sistem yang
akan dibuat.
 Membuat prototype
Membuat rancangan sementara yang berfokus pada alur program kepada pengguna.
 Evaluasi prototype
Evaluasi dilakukan untuk mengetahui apakah model prototype sudah sesuai dengan harapan.
 Mengkodekan system
Jika prototype disetujui maka akan diterjemahkan ke dalam bahasa pemrograman yang sesuai.
 Pengujian system
Setelah perangkat lunak sudah siap, perangkat lunak harus melewati pengujian. Pengujian ini biasanya
dilakukan dengan White Box Testing, Black Box Testing, dan lain-lain.
 Evaluasi system
Pengguna melakukan evaluasi apakah perangkat lunak sudah sesuai dengan apa yang diharapkan atau
tidak. Jika ya, lakukan tahap selanjutnya. Jika tidak, ulangi tahap mengkodekan sistem dan pengujian
sistem.

 Menggunakan system

Perangkat lunak yang telah diuji dan disetujui siap untuk digunakan.

Sebagai suatu metode yang sering digunakan, metode prototype pasti memiliki kelebihan dan
kekurangan. 
Berikut adalah kelebihan dari metode prototype:

1. Mempersingkat waktu pengembangan perangkat lunak

2. Penerapan fitur menjadi lebih mudah, karena pengembang mengetahui apa yang diharapkan

Berikut adalah kekurangan dari metode prototype:

1. Proses yang dilakukan untuk analisis dan perancangan terlalu singkat

2. Kurang fleksibel jika terjadi perubahan

3. Agile
Metode SDLC ketiga adalah agile. Metode agile adalah metode yang
fleksibel di mana pengembangan dilakukan dalam jangka pendek.
Namun diperlukan adaptasi yang cepat dari developer terhadap
perubahan dalam bentuk apa pun.
Tujuan Agile
Berikut merupakan tujuan dari agile, antara lain:
 High – value & working app system
Menghasilkan produk dengan kualitas yang baik, dan memiliki
nilai jual yang tinggi.
 Iterative, incremental, evolutionary
Pengembangan dapat dilakukan secara iteratif, berulang-ulang, dan dapat mengalami perubahan jika
diperlukan.
 Cost control & value – driven development
Pengembangan perangkat lunak dapat sesuai dengan kebutuhan pengguna dan tim dapat dengan cepat
merespon kebutuhan, sehingga waktu dan biaya pembuatan dari perangkat lunak dapat dikendalikan.
 High – quality production
Kualitas dari perangkat lunak tetap terjaga, meskipun waktu dan biaya lebih sedikit.
 Flexible & risk management
Meminimalisir terjadinya kesalahan pada program ataupun produk sebelum dilakukannya proses deploy
aplikasi.
 Collaboration
Kolaborasi ini dilakukan oleh setiap tim pengembang untuk mendiskusikan feedback yang diberikan
oleh klien.

 Self – organizing, self – managing teams

Pengembang diberikan akses untuk memanajemen sendiri urusan software development. Seorang
manajer hanya bertugas sebagai penghubung antara pengembang dengan klien sehingga dapat
mengurangi terjadinya miss communication.
Metode agile ini memiliki kelebihan dan kekurangan tersendiri.
Berikut adalah kelebihan dari metode agile:

1. Perubahan dapat dengan cepat ditangani.

2. Proses pengembangan perangkat lunak membutuhkan waktu yang relatif cepat dan tidak memerlukan
sumber daya yang besar.

3. Klien dapat memberikan feedback kepada pengembang dalam proses pembuatan program.


Berikut adalah kekurangan dari metode agile:

1. Metode ini kurang sesuai dengan tim yang besar (lebih dari 20 orang).

2. Tim harus selalu siap, karena perubahan dapat terjadi kapan saja.

3. Metode ini kurang cocok untuk tim yang berkomitmen untuk menyelesaikan proyek bersama-sama.

4. Fountain
Metode SDLC yang terakhir adalah fountain. Metode fountain adalah perbaikan
dari metode waterfall, di mana jenis tahapan masih sama. Namun beberapa jenis
tahapan boleh didahulukan atau dilewati, tetapi ada tahapan yang tidak bisa
dilewati, contohnya seperti kamu memerlukan design sebelum melakukan
implementasi, jika hal tersebut dilewati maka akan ada tumpang tindih.
Berikut adalah tahap-tahap pengembangan perangkat lunak menggunakan
metode fountain.
 User requirement specification
Mencari tahu apa saja yang dibutuhkan oleh pengguna dalam perangkat
lunak yang sedang dikembangkan.
 Software requirement specification
Penyesuaian perangkat lunak dari sisi pengguna.
 System design
Pembuatan desain sistem yang akan dibuat sebelum diimplementasikan.
 Program design
Pembuatan desain yang lebih sempurna dan hampir mendekati hasil akhir dari perangkat lunak.
 Implementation
Di tahap ini dilakukan implementasi sesuai dengan desain yang sudah dibuat di tahap sebelumnya.

 Program testing: unit


Dalam tahap ini dilakukan uji coba terhadap unit-unit yang dibutuhkan dalam perangkat lunak yang
dikembangkan.

 Program testing: system

Di tahap ini dilakukan uji coba terhadap sistem dari perangkat lunak seutuhnya sebelum perangkat lunak
digunakan.
 Program use
Dalam tahap ini dilakukan pengajaran kepada pengguna untuk menggunakan perangkat lunak yang telah
dibuat.

 Software maintenance

Biasanya dalam tahap ini dilakukan perawatan terhadap perangkat lunak yang sudah dibuat, perawatan
dapat berupa update sistem atau perbaikan kesalahan atau bugs yang ada.

Karena metode fountain ini adalah perbaikan dari metode waterfall, maka metode ini memiliki
kelebihan dan kekurangan yang mirip dengan metode waterfall. 
Berikut adalah kelebihan dari metode fountain:

1. Memiliki proses yang terurut, sehingga pengerjaan dapat terjadwal dengan baik dan mudah.

2. Cocok untuk sistem dengan kompleksitas rendah (predictable).

3. Dapat melewati atau mendahulukan beberapa tahapan .

4. Setiap proses yang dilakukan tidak dapat saling tumpah tindih.


Berikut adalah kekurangan dari metode waterfall:

1. Waktu pengerjaan relatif lebih lama, karena harus menunggu tahap sebelumnya selesai.

2. Biaya yang dibutuhkan lebih mahal karena waktu pengembangan yang dibutuhkan lebih lama.

3. Model fountain ini kurang cocok untuk pengembangan proyek yang memiliki kompleksitas tinggi.
Jadi, sekarang kamu sudah tahu kan apa saja metode SDLC yang digunakan dalam pengembangan perangkat
lunak? Dalam penggunaannya setiap tim pasti menerapkan metode yang berbeda-beda untuk mengembangkan
suatu perangkat lunak karena setiap metode memiliki kelebihan dan kekurangannya masing-masing.
Semoga dengan mengetahui kelebihan dan kekurangan dari masing-masing metode kamu dan tim kamu dapat
menggunakan metode yang sesuai untuk mengembangkan suatu program.
5. Interative Model SDLC
Dalam Iterative model SDLC, proses iterative dimulai dengan implementasi sederhana dari komponen
kecil dari software sampai dengan meningkatkan versi dari sebuah software dengan update-updateanya
sehingga software siap digunakan ke user.di setiap Iterative nya, perubahan baik design maupun fungsi
ditambahkan. Ide dasar di balik metode ini adalah untuk mengembangkan sistem melalui siklus berulang
(iterative) dan dalam porsi kecil di setiap updatetanya.

Spesifikasi Iterative Model

Seperti model SDLC lainya, Iterative model memiliki spesifikasi khusus di dalan industri software.
Model ini paling sering digunakan dalam kondisi seperti:
1) Requirement sistem dan design harus jelas dan mudah di pahami.
2) Persyaratan Utama harus didefinisikan, namun nantinya akan ada request baru untuk penambahan
fungsi pada saat sistem sedang berjalan.
3) Teknologi yang sedang digunakan dalam pengembangan software bisa diganti apabila ada
teknologi baru yang lebih bagus.
4) Ada beberapa fitur berisiko tinggi dan tujuan yang mungkin berubah di masa depan.

Kelebihan dari Iterative Model SDLC :


a. Beberapa fungsi dapat di kembangkan dengan cepat di awal pembuatan versi baru.
b. hasil yang di peroleh secara berkala
c. Kemajuan sebuah sistem dapat di ukur
d. Development software mudah di rencanakan
e. Biaya yang dikeluarkan kecil apabila ingin merubah requirement
f. Testing dan debugging selama proses iterasi lebih mudah.
g. Analisis resiko yang lebih baik
h. Mendukung perubahan requirement
i. Waktu operasional yang lebih singkat
j. Cocok untuk project besar

Kekurangan dari Iterative Model SDLC :


a. Membutuhkan resource yang cukup banyak
b. Meski biaya perubahan rendah, tetapi sangat tidak cocok untuk mengubah persayaratan
c. Memerlukan Perhatian manajemen
d. Permasalahan sistem arsitektur dan desain mungkin akan timbul, karena tidak semua
e. persyaratan di tentukan di awal pengambangan sistem.
f. tidak cocok untuk project kecil
g. Kompleksitas manajemen
h. Membutuhkan tenaga ahli untuk analisis resiko yang timbul

6. Spiral Model SDLC

Model Spiral SDLC adalah sebuat metode


pengabungan antara Iterative Model dengan Waterfall Model.
dengan penekanan yang tinggi pada analisis resiko yang akan
di hadapi. Spiral model bertujuan untuk meningkatkan tingkat keberhasilan pada saat pengembangan suatu
sistem.

Spiral model memiliki 4 fase utama yaitu :

1. Identification
Pada fase ini bertujuan untuk mengumpulkan kebutuhan bisnis di dasar spiral, Dalam spiral berikutnya
disebut sebagai produk deawsa. Identifikasi persyaratan sistem, persyaratan subsistem, persyaratan unit
dilakukan pada fase ini. Fase ini juga mencakup komunikasi antar sistem analis dengan klien.
2. Design
Pada fase ini dimulai dengan desain konseptual di dasar spiral dan melibatkan desain arsitektur, desain
logis dari modul, desain produk fisik dan desain akhir dalam spiral berikutnya.
3. Construct or Build
Pada fase ini  mengacu produksi produk perangkat lunak yang sebenarnya di setiap spiral.
4. Evaluation and Risk Analysis
Pada fase ini  mengidentifikasi, memperkirakan dan memantau kelayakan teknis dan risiko manajemen,
seperti jadwal selip dan biaya lebih. Setelah pengujian sistem, akhir dari iterasi klien akan mengevaluasi
produk yang sudah dibangun dan akan memberikan feedback.
Berdasarkan evaluasi pelanggan, proses pengembangan perangkat lunak memasuki tahap iterative
kemudian mengikuti pendekatan linier untuk menyelesaikan hasil feedback klien Proses iterasi
sepanjang spiral berlanjut sepanjang development life cycle.
Berikut adalah spesifikasi dari Spiral Model:
a. Penting saat ada kendala anggaran dan evaluasi resiko
b. Untuk project beresiko menengah – tinggi
c. Pelanggan tidak yakin kebutuhan mereka yang biasanya terjadi.
d. Perubahan signifikan diharapkan dalam produk selama siklus pengembangan system
e. Persyaratan yang kompleks dan perlu evaluasi untuk mendapatkan kejelasan

Kelebihan dari Spiral Model


1. Perubahan kebutuhan dapat diakomodir.
2. Persyaratan dapat diketahui lebih akurat.
3. Pengguna dapat melihat sistem awal.
4. Pembangunan dapat dibagi menjadi bagian-bagian yang lebih kecil dan bagian-bagian yang berisiko
dapat dikembangkan sebelumnya yang membantu dalam manajemen risiko yang lebih baik

Kekurangan dari Spiral Model :


1. Manajemen lebih kompleks.
2. Akhir proyek mungkin tidak diketahui di awal.
3. Tidak cocok untuk proyek-proyek berisiko kecil atau rendah dan bisa menjadi mahal untuk  proyek-
proyek kecil.
4. Proses yang kompleks
5. Spiral mungkin berlangsung tanpa batas.
7. V Model SDLC

The V-Model merupakan perluasan dari waterfall model  dan


didasarkan pada asosiasi dari fase pengujian untuk setiap tahap
pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase
tunggal dalam siklus pengembangan, ada tahap pengujian
terkait langsung. Ini adalah model yang sangat disiplin dan
tahap berikutnya dimulai setelah selesainya tahap sebelumnya.
Ilustrasi berikut menggambarkan berbagai tahap dalam V-
Model SDLC.

Kelebihan dari V-Model SDLC :


1. Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
2. Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
3. Sederhana dan mudah dimengerti dan digunakan.
4. Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.
Kekurangan dari V-Model SDLC
1. Berisiko tinggi dan ketidakpastian.
2. Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
3. Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
4. Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
5. Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.

8. SDLC Big Bang Model

Pengertian dari SDLC Big Bang Model adalah


Dimana kita tidak mengikuti proses tertentu. Perkembangan
hanya dimulai dengan uang dan usaha yang dibutuhkan
sebagai masukan, dan hasilnya adalah perangkat lunak yang
dikembangkan yang mungkin atau mungkin tidak sesuai
dengan kebutuhan pelanggan. Model Big Bang ini tidak
mengikuti dan hanya ada sedikit perencanaan yang
diperlukan. Bahkan pelanggan pun tidak yakin dengan apa
yang sebenarnya dia inginkan dan persyaratannya
diimplementasikan dengan cepat tanpa banyak
analisis.biasanya model ini di implementasi untuk proyek kecil dimana tim developernya sangat sedikit.

Spesifikasi Big Bang Model SDLC :


1Model Big Bang terdiri dari memfokuskan semua sumber daya yang mungkin dalam pengembangan perangkat
lunak dan pembuatan code / coding, dengan perencanaan yang sangat sedikit atau tidak sama sekali.
Requirement yang dibutuhkan terkadang datang pada saat pembuatan code. Setiap perubahan yang diperlukan
mungkin atau mungkin tidak perlu mengubah perangkat lunak yang lengkap. Big Bang Model ini sangat ideal
untuk proyek kecil dengan satu atau dua pengembang yang bekerja sama dan juga berguna untuk pembelajaran
atau project-project yang sangat kecil
Keuntungan Big Bang Model antara lain:
1. Model yang sangat sederhana
2. Sedikit atau tidak ada perencanaan yang dibutuhkan
3. Mudah dikelola
4. Sangat sedikit sumber daya yang dibutuhkan
5. Memberikan fleksibilitas kepada pengembang
6. Bagus untuk developer yang ingin belajar atau developer pendatang baru.

Kekurangan Big Bang Model antara lain:


1. Beresiko tinggi dan kepastian dari requirement yang tidak jelas
2. Tidak cocok untuk project skala besar dan berorientasi objek
3. Model yang buruk untuk proyek yang panjang dan sedang berlangsung.
4. Bisa berubah menjadi sangat mahal jika persyaratan disalahpahami

9. Rational Unified Process (RUP Model) SDLC

Rational Unified Process (RUP) Menurut IBM adalah kerangka


proses yang menyediakan simulasi sistem pada industri untuk
sistem, software, implementasi, dan manajemen proyek yang
efektif. RUP adalah salah satu dari sekian banyak proses yang
terdapat di dalam Rational Process Library, yang memberikan
simulasi terbaik untuk pengembangan atau kebutuhan proyek.
RUP mempunyai beberapa tahapan, yaitu :
a.Inception
b.Elaboration
c.Construction
d.Transition

10. Prototype Model SDLC

Prototyping menjadi sangat populer sebagai model


pengembangan software, karena Memungkinkan untuk memahami
kebutuhan pelanggan pada tahap awal pengembangan. Ini membantu
mendapatkan feedback yang berharga dari pelanggan dan membantu
developer memahami apa sebenarnya yang diharapkan dari produk
yang sedang dikembangkan.Prototyping digunakan untuk
memungkinkan client/user mengevaluasi sistem yang di rancang di
awal oleh developer dan mencobanya sebelum di implementasikan.
Hal ini dapat membantu memahami persyaratan pembangunan sistem yang spesifik oleh user dan mungkin
belum implementasikan oleh developer selama perancangan produk.

Kelebihan Prototype :
1. Meningkatnya keterlibatan pengguna dalam produk bahkan sebelum diimplementasi Karena model
sistem yang di bangun di share ke user, maka user mendapatkan pemahaman    yang lebih baik tentang
sistem yang sedang dikembangkan.
2. Mengurangi waktu dan biaya karena cacat dapat dideteksi jauh lebih awal.
3. Feedback user yang cepat di awal dapat memberikan solusi yang lebih baik
4. Fungsi yang tidak ada dapat diidentifikasi dengan mudah dan cepat
5. Fungsi yang membingungkan dapat di hilangkan

Kekurangan Prototype :

1. Risiko analisis kebutuhan yang tidak mencukupi karena terlalu banyak ketergantungan pada  Prototipe
2. Pengguna mungkin bingung dalam prototipe dan sistem sebenarnya.
3. Upaya yang diinvestasikan dalam membangun prototip mungkin terlalu banyak jika tidak  dipantau
tepat.
4. Pengembang dapat mencoba untuk menggunakan kembali prototipe yang ada untuk membangun sistem
yang sebenarnya, Bahkan bila hal itu tidak layak secara teknis.

11. RAD (Rapid Application Development) Model SDLC

RAD (Rapid Application Development) Adalah


metodologi pengembangan perangkat lunak (SDLC) yang
menggunakan pengabungan antara Prototype
Model dengan Iterative Model. Prototipe adalah model kerja
yang secara fungsional setara dengan komponen produk.
Dalam model RAD (Rapid Application Development), modul fungsional dikembangkan secara paralel sebagai
prototip dan terintegrasi untuk membuat produk yang lengkap untuk pengiriman produk yang lebih cepat.
Dikarenakan tidak ada rincian planning yang detail, maka memudahkan untuk melakukan perubahan pada saat
development berjalan.

Kelebihan RAD (Rapid Application Development) :

1. Mudah mengakomodasi peruabahan sistem


2. Progress development bisa di ukur
3. Waktu iterasi bisa di perpendek menggunakan RAD Tools
4. Mengurangi waktu development
5. Mudah dalam menentukan dasar sistem
6. Mempermudah feedback customer
7. Cocok untuk proyek yang membutuhkan waktu pengembangan yang lebih pendek.
8. Cocok untuk sistem yang berbasis komponen dan terukur.

Kekurangan RAD (Rapid Application Development) :\

1. Ketergantungan pada anggota bisnis tim untuk mengidentifikasi persyaratan bisnis


2. Hanya sistem yang bisa di modularized yang bisa dibangun menggunakan RAD
3. Membutuhkan developer / designer yang berpengalaman
4. Ketergantungan pada keterampilan model
5. Kompleksitas manajemen
6. Tidak dapat diterapkan pada proyek yang kecil / murah

12. Unified Process (UP) Model SDLC

Unified Process (UP) adalah metodologi


pengembangan sistem berbasis objek. Metode ini sudah
menjadi salah satu metode yang banyak digunakan dalam
pengembangan sistem berorientasi objek. UP memperkenalkan pendekatan baru untuk siklus hidup
pengembangan sistem yang menggabungkan perulangan (iterations) dan tahapan (phases) yang disebut dengan
siklus hidup UP (UP life cycle). UP mendefinisikan empat tahapan siklus hidup
yaitu inception, elaboration, construction, dan transition.

TEKNIK PENGUJIAN PERANGKAT LUNAK

A. Pengujian White Box Testing

Pengujian ke white box testing adalah menguji yang didasarkan kepada pengecekan ke dalam detail
rancangan, penggunaan yang dilakukan struktur kontrol dari suatu desain pemrograman untuk dapat
membagi pengujian ke beberapa kasus pengujian. Dan didapat bahwa white box testing menggunakan
petunjuk untuk menghasilkan program yang diharapkan dan efisien.

Jenis-Jenis White Box Testing.


1. Basis Path
Metode identifikasi yang berdasarkan pada jalur, struktur atau koneksi yang ada dari suatu sistem umumnya
disebut sebagai tes cabang karena cabang kode atau fungsi logika diidentifikasi dan diuji, atau bahkan tes
kontrol aliran.
Ada 2 bentuk Basis Path, yaitu:
 Zero Path: Jalur tautan yang tidak perlu atau tautan yang ada pada suatu sistem.
 One Path: Jalur penting atau proses koneksi dalam suatu sistem.
2. Cyclomatic Complexity
adalah perangkat lunak pengukuran yang memungkinkan pengukuran kuantitatif dari kompleksitas logika
program. Dalam konteks prosedur uji jalur dasar ini, nilai kompleksitas siklomatik yang dihitung menentukan
jumlah jalur independen dalam daftar program dasar dan menentukan jumlah tes minimum yang harus
dilakukan untuk memastikan bahwa semua instruksi telah dilakukan setidaknya satu kali.
Jalur independen adalah jalur dalam program yang menampilkan 1 set instruksi baru untuk proses atau kondisi
baru.
3. Graph Matrix
Ini adalah matriks sama sisi persegi panjang dimana jumlah baris dan kolom sama dengan jumlah node dan
identifikasi baris dan kolom sesuai dengan identifikasi node dan isi data adalah adanya koneksi
antara node (tepi).
Beberapa properti yang dapat ditambahkan sebagai bobot untuk koneksi antar node dalam matriks grafik, yaitu
sebagai berikut:
 Jalur yang mungkin (tepi) dilintasi / dieksekusi.
 Waktu pemrosesan yang diharapkan pada rute selama proses transfer.
 Memori yang dibutuhkan selama proses transfer dieksekusi di jalan.
 Sumber daya yang diperlukan selama proses transfer dieksekusi di jalur.

Kelebihan dan Kekurangan White Box Testing


Berikut ini terdapat beberapa kelebihan dan kekurangan white box testing, terdiri atas:
Kelebihan White Box Testing
 Kesalahan Logika
Menggunakan syntax ‘if’ dan syntax pengulangan. Dan langkah selanjutnya metode white box testing ini akan
mencari dan mendeteksi segala kondisi yang dipercaya tidak sesuai dan mencari kapan suatu proses perulangan
di akhir.
 Ketidaksesuaian Asumsi
Menampilkan dan memonitor beberapa asumsi yang diyakini tidak sesuai dengan keinginan atau yang akan
diwujudkan, untuk selanjutnya akan dianalisa kembali dan kemudian diperbaiki.
 Kesalahan Pengetikan
Mendeteksi dan mencari bahasa-bahasa pemrograman yang dianggap bersifat case sensitif.
 Diperlukan pengetahuan tentang internal perangkat lunak yang sedang diuji bermanfaat untuk pengujian
menyeluruh
 Membantu mengoptimalkan kode

Kekurangan White Box Testing

 Membutuhkan pengetahuan tingkat tinggi dari perangkat lunak internal yang sedang diuji
 Sangat mahal untuk dilakukan karena membutuhkan tester yang terampil untuk melakukan pengujian
 Pada perangkat lunak yang jenisnya besar, metode white box testing ini dianggap boros karena
melibatkan banyak sumberdaya untuk melakukannya.
 Tidak menghiraukan tampilan UI aplikasinya.
 Membutuhkan akses kode

B. Black-box Testing
Pada Black Box Testing ini dilakukan pengujian yang didasarkan pada detail aplikasi seperti tampilan aplikasi,
fungsi-fungsi yang ada pada aplikasi, dan kesesuaian alur fungsi dengan bisnis proses yang diinginkan oleh
customer. Black-box testing ini lebih menguji ke tampilan luar (Interface) dari suatu aplikasi agar mudah
digunakan oleh pengguna. Pengujian ini tidak melihat dan menguji source code program. Black-box
testing bekerja dengan mengabaikan struktur kontrol sehingga perhatiannya hanya terfokus pada
informasi domain.

Teknik-teknik Black-box Testing:
 Equivalence Partitioning
Cara kerja teknik ini adalah dengan melakukan partition atau pembagian menjadi beberapa partisi dari
input data.
 Boundary Value Analysis
Teknik ini lebih fokus kepada boundary, adakah error dari luar atau sisi dalam software, minimum,
maupun maksimum nilai dari error yang didapat.
 Fuzzing
Fuzz merupakan teknik untuk mencari bug atau gangguan dari software dengan menggunakan injeksi
data yang terbilang cacat ataupun sesi semi-otomatis.
 Cause-Effect Graph
Ini adalah teknik testing dimana menggunakan graphic sebagai acuannya. Dimana dalam grafik ini
menggambarkan relasi antara efek dan penyebab dari error tersebut.
 Orthogonal Array Testing
Dapat digunakan jika input domain yang relatif terbilang kecil ukurannya, tetapi cukup berat untuk
digunakan dalam skala besar.
 All Pair Testing
Dalam teknik ini, semua pasangan dari test case di desain sedemikian rupa agar dapat dieksekusi semua
kemungkinan kombinasi diskrit dari seluruh pasangan berdasar input parameternya. Tujuannya testing ini
adalah memiliki pasangan test case yang mencakup semua pasangan tersebut.
 State Transition Testin
 ini berguna untuk melakukan pengetesan terhadap kondisi dari mesin dan navigasi dari UI dalam bentuk
grafik.

Keuntungan dari Black-box Testing :


 Penguji tidak perlu memiliki pengetahuan tentang bahasa pemrograman tertentu
 Pengujian yang dilakukan berdasarkan sudut pandang user agar dapat mengungkapkan konsistensi atau
ambiguitas dalam spesifikasi.
 Programmer dan tester memiliki ketergantungan satu sama lain
 Efisien untuk segmen kode besar
 Akses kode tidak diperlukan
 Pemisahan antara perspektif pengguna dan pengembang

Kekurangan Black-box Testing :
 Uji kasus sulit di desain tanpa spesifikasi yang jelas
 Kemungkinan memiliki pengulangan tes yang sudah dilakukan oleh programmer
 Beberapa bagian back end tidak diuji sama sekali.
 Cakupan terbatas karena hanya sebagian kecil dari skenario pengujian yang dilakukan
 Pengujian tidak efisien karena keberuntungan tester dari pengetahuan tentang perangkat lunak internal

C. Grey Box Testing

Teknik pengujian

Empat teknik yang umum digunakan dalam uji grey box adalah:

1. Matrix testing : Teknik ini mendefinisikan seluruh variabel yang ada dalam program.

2. Regression testing : dilakukan untuk mengecek perubahan dari versi sebelumnya. Dengan teknik ini,
kita bisa mengetahui apakah terjadi masalah pada versi yang baru.

3. Orthogonal array testing : merupakan teknik pengujian software menggunakan orthogonal arrays untuk


menciptakan test case

4. Pattern testing : teknik uji grey box yang dilakukan untuk melihat kecacatan sistem yang pernah terjadi.
Teknik ini penting untuk mengetahui mengapa hal itu terjadi.

Kelebihan dan Kekurangan Grey Box Testing

Kelebihan

Grey box testing adalah kombinasi black box testing dan white box testing sehingga dapat dikatakan lebih
sempurna dibanding kedua lainnya. Dengan pengujian grey box, kita bisa mendapatkan keunggulan dari
pengujian metode black box dan white box. Selain itu, karena adanya pengetahuan tentang mekanisme internal
sistem oleh penguji, perancangan skenario desain tes bisa dilakukan lebih bagus. Dalam pengujian metode
ini, source code atau kode sumber tidak diperlukan. Dengan begitu, kode tersebut bisa terlindung dari
perubahan yang disruptif. Karena keunggulan-keunggulan ini juga, grey box testing bisa langsung menunjukkan
perbaikan dari sebuah masalah. Yang paling utama, pengujian grey box tidak membutuhkan skill
programming tingkat tinggi untuk dilakukan.

Kekurangan

Karena penguji tidak memiliki akses ke source code, identifikasi kekurangan yang sangat penting bisa menjadi
sulit dan terlewatkan. Kekurangan lainnya adalah metode grey box kurang cocok untuk sistem yang
terdistribusi.

Anda mungkin juga menyukai