Anda di halaman 1dari 11

Tugas Kelompok ke-1

(Minggu 3 / Sesi 4)

Anggota Kelompok :
2201860771 – Suwarno
2201861944 – Zul Ashfi
220182764 –Yafi ainul karim
2201861660 – Imam Aditya Putra Tama

1. Sebutkan faktor yang mempengaruhi pemilihan model proses pada sebuah proyek
pengembangan perangkat lunak? Jelaskan jawaban anda!
Jawaban :
Untuk menentukan mana model yang terbaik, kita harus tahu apa kelebihan dan
kekurangan model proses yang akan kita pakai. Akan tetapi, model proses biasanya
bukan ditentukan mana yang terbaik atau tidak, tetapi ditentukan oleh karakteristik dari
berbagai macam faktor, misalnya tim pengembang perangkat lunaknya, atau software-
nya sendiri, waktu untuk melakukan pengembangan perangkat lunak, kebijakan-
kebijakan dari perusahaan, dan sebagainya. Dengan menggunakan model proses yang
terbaru pun, ketika diaplikasikan ke dalam perusahaan misalnya, tetapi kalau tim
Software Engineering-nya (SE) tidak siap dengan kondisi yang mengharuskan
menggunakan model proses tersebut, tentunya tidak mungkin bisa dilakukan. Kalaupun
dipaksakan tentu saja hasilnya tidak akan maksimal. Akan tetapi diperusahaan lain, bisa
jadi menerapkan model proses yang sama, tetapi hasilnya bagus, karena tim SE-nya
siap atau scope softwarenya berbeda.

Faktor yang mempengaruhi pemilihan model proses dalam pengembangan PL yaitu :


- Skala proyek pengembangan perangkat lunak, apakah skala proyek itu besarm
sedang atau kecil, skala proyek ini akan mempengaruhi waktu dan biaya yang
dibutuhkan dalam proses pengembangan.
- Pendefinisian kebutuhan user apakah bisa didefinisikan secara utuh, eksplisit dan
benar diawal proyek, maka proses pengembangan perangkat lunak akan berjalan
dengan baik dan sesuai jadwal. Atau sebaliknya.

ISYS6507 – Testing and System Implementation


- Pemahaman dari tim terhadap karekteristik dan alur dari proses model.
- Biaya yang tersedia, karena akan menentukan sumber daya yang akan dipakai, lama
pengembangan dan modul yang akan dikembangkan.
- Karakteristik dari perangkat lunak yang dikembangkan apakah modular atau tidak,
karena beberapa proses model cocok untuk PL yang modular dan beberapa proses
model tidak cocok.
2. Jelaskan hubungan antara model proses, metode pemrograman dan tools yang
digunakan dalam proyek pengembangan perangkat lunak.
Jawaban :
Hubungan antara model proses, metode pemrograman dan tools yang digunakan dalam
RPL adalah
a. Model Proses merupakan procedure atau tahapan dalam mengatur proses
pengembangan perangkat lunak.

b. Metode Pemrograman

Metode software engineering memberikan tehnik-tehnik bagaimana membentuk


software. Terdiri dari serangkaian tugas seperti perencanaan dan estimasi proyek
Software merupakan bagian terbesar dari sistem, sehingga pekerjaan dimulai dengan
cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan sebagian
kebutuhan tersebut ke software. Pandangan terhadap sistem adalah penting, terutama
pada saat software harus berhubungan dengan elemen lain, seperti hardware, software
lain dan database

Analisis kebutuhan sistem dan software


Merupakan suatu proses pengumpulan kebutuhan software untuk mengerti sifat -sifat
program yang dibentuk software engineering, atau analis harus mengerti fungsi
software yang diinginkan, performance dan interfase terhadap elemen lainnya. Hasil
dari analisis ini didokumentasikan dan ditinjau bersama-sama klien.

Desain struktur data

ISYS6507 – Testing and System Implementation


Desain software sesungguhnya adalah proses multi step (proses yang terdiri dari banyak
langkah) yang memfokuskan pada 3 atribut program yang berbeda, yaitu struktur data,
arsitektur software dan rincian prosedur.

Arsitektur program dan prosedur algoritma


Proses desain menterjemahkan kebutuhan kedalam representasi software yang dapat
diukur kualitasnya sebelum coding dimulai. Hasil dari desain ini didokumentasikan dan
menjadi bagian dari konfigurasi software.

Coding
Merupakan proses penterjemahan desain ke dalam bentuk yang dapat dibaca oleh mesin

Testing dan pemeliharaan


Setelah objek program dihasilkan, testing program dimulai. Proses testing difokuskan
pada logika internal software. Jaminan bahwa semua pernyataan atau statements sudah
dites dan lingkungan external menjamin bahwa definisi input akan menghasilkan output
yang diinginkan. Sementara proses pemeliharaaan atau maintenance dilakukan karena
software mengalami error, atau harus diadaptasi untuk menyesuaikan dengan
lingkungan external.

c. Peralatan atau tools


Peralatan pengembangan software memberikan dukungan atau semiautomasi untuk
metode, contohnya:
- CASE (Case Aided Software Engineering), yaitu suatu software yang
menggabungkan software, hardware, dan database software engineering untuk
menghasilkan suatu lingkungan software engineering.
- Database Software Engineering, adalah sebuah struktur data yang berisi informasi
penting tentang analisis, desain, kode dan testing.
- Analogi dengan CASE pada hardware adalah : CAD, CAM, CAE.
Referensi
http://adiswandana.blog.ugm.ac.id/2011/02/21/metode-software-engineering-
spiralwaterfallprototyping/

ISYS6507 – Testing and System Implementation


3. Jelaskan perbedaan model proses extreme programming (XP) dengan scrum!
Jawaban :
Berikut perbedaannya
XP Scrum

Diformulasikan oleh Praktisi IT yang Diformulasikan oleh dua praktisi IT yang


telah berpengalaman dalam telah berpengalaman dalam
pengembangan software selama lebih pengembangan software selama lebih
dari 35 tahun – Kent Beck dari 35 tahun – Ken Schwabber dan Jeff
Sutherland

Lebih banyak menitik beratakan pada Lebih banyak menitik beratkan pada
proses engineering manajemen proses dan peningkatan
secara organisasi

Referensi : https://sites.google.com/site/idscrum/scrum-vs/scrum-vs-xp

4. Jelaskan persamaan model proses extreme programming (XP) dengan scrum!


Jawaban :
Persamaannya adalah sama-sama menggunkan proses Agile sehingga ada beberapa
bagian yang saling overlapping.

Referensi : https://sites.google.com/site/idscrum/scrum-vs/scrum-vs-xp

5. Jelaskan dan berikan template laporan untuk pengujian black-box test, white box test
dan user acceptance test!
Black Box Testing adalah Pengujian yang dilakukan hanya mengamati hasil eksekusi
melalui data uji dan memeriksa fungsional dari perangkat lunak. Jadi dianalogikan
seperti kita melihat suatu koatak hitam, kit hanya bisa melihat penampilan luarnya saja,
tanpa tau ada apa dibalik bungkus hitam nya.

Berikut ini adalah contoh testing untuk Web Aplikasi Perpustakaan :

Template Black Box Testing :

1. Login

ISYS6507 – Testing and System Implementation


Fitur Skenario Pengujian Hasil

Admin Mencoba untuk Sistem tidak berjalan


memasukkan username sempurna (Tidak Valid).
dan password yang tidak Namun aplikasi tetap
terdaftar dalam database, berjalan tidak ada
juga mencoba untuk peringatan sehingga tidak
menguji jika username dan akan mengetahui error
password didaftarkan apa.
diluar rule (Karakter 8,
Mengandung Huruf besar
dan kecil)

Pustakawan Mencoba untuk Sistem tidak berjalan


memasukkan username sempurna (Tidak Valid).
dan password yang tidak Namun aplikasi tetap
terdaftar dalam database, berjalan tidak ada
juga mencoba untuk peringatan sehingga tidak
menguji jika username dan akan mengetahui error
password didaftarkan apa.
diluar rule (Karakter 8,
Mengandung Huruf besar
dan kecil)

Atau

No Use Case/Proses Berhasil/Gagal Diuji Oleh Tanggal Test

1 Nama Uji : Login Berhasil Suwarno 22/09/2019

Deskripsi Pengujian : Berhasil Yafi 22/09/2019


Verifikasi hak akses hanya
dapat diakses jika pengguna
terdaftar dalam database

Kasus Uji :

ISYS6507 – Testing and System Implementation


Username

Password

Hasil yang diharapkan :

1. Jika Berhasil maka akan


menampilkan halaman
utama aplikasi

2. Jika gagal akan


menampilakan pesan error

2. White Box Testing


adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan,
menggunakan struktur kontrol dari desain program secara procedural untuk
membagi pengujian ke dalam beberapa kasus pengujian.

Login.php

A0 <?php
A1 include("koneksi.php");
A2 $nama=$_POST['nama'];
A3 $pass=$_POST['pass'];
A4 $hak=$_POST['hak'];
A5 $mysql=mysql_query("SELECT nama,pass,hak From user where nama='$nama' and
pass='$pass' and hak='$hak'") or die(mysql_error());
A6 if($b=mysql_fetch_array($mysql)){
A7 session_start();
A8 $_SESSION['nama'] = $_POST['nama'];
A9 $_SESSION["pass"]=$_POST["pass"];
A10 if($b[2]=='Admin'){
A11 header ("location:woiurewurowUser890.php");
A12 exit();
A13 }
A14 if($b[2]=='Pustakawan'){
A15 header ("location:adm.php");
A16 exit();
A17 }
A18 }
A19 }
A20 header ("location:wp-r.php");

ISYS6507 – Testing and System Implementation


A21 exit(); ?>

ISYS6507 – Testing and System Implementation


Basis Path :

R1 A6

A7

A8
R2

A9

A10

A11
R3

A12

A13

A14

A15

R4
A16

A17

A18

A19

A20

A21

ISYS6507 – Testing and System Implementation


Complexity Cyclometic :
1. V (G)  Region = V (4)
2. V (G)  E – N + 2 = 23 – 21 + 2 = 4
3. V (G)  P + 1 = 3 + 1 = 4

Independent Path :
1. A0-A5 – A6 – A17 – A18 – A19 – A20 – A21
2. A0-A5 – A6 – A7 – A8 – A9 – A10 – A13 – A14 – A17 – A18 – A19 – A20 – A21
3. A0-A5 – A6 – A7 – A8 – A9 – A10 – A11 – A12 – A13 – A14 – A17 – A19
– A19 – A20 – A21
4. A0-A5 – A6 – A7 – A8 – A9 – A10 – A11 – A12 – A13 – A14 – A15 – A16
– A17 – A18 – A19 – A20 – A21

Test Case :
I.
1. A(6) = FALSE
2. A(10) = FALSE
3. A(14) = FALSE
II.
1. A(6) = TRUE
2. A(10) = FALSE
3. A(14) = FALSE
III.
1. A(6) = TRUE
2. A(10) = TRUE
3. A(14) = FALSE
IV.
1. A(6) = TRUE
2. A(10) = TRUE
3. A(14) = FALSE

3. User Acceptance Test

UAT (User Acceptance Test) adalah suatu proses pengujian yang dilakukan oleh
pengguna dengan hasil output sebuah dokumen hasil uji yang dapat dijadikan bukti bahwa
software sudah diterima dan sudah memenuhi kebutuhan yang diminta. UAT tidak jauh beda
dengan kusioner pada tahap awal pembuatan aplikasi.

ISYS6507 – Testing and System Implementation


Nilai
No Pertanyaan A B C D E
1 Apakah tampilan aplikasi menarik?
2 Apakah menu - menu sesuai dengan kebutuhan?
3 Apakah Aplikasi mudah dinavigasikan?

Jawaban Keterangan Bobot


A Sangat Setuju 5
B Setuju 4
C Netral 3
D Cukup 2
E Tidak Jelas 1

Referensi : http://adhipakumpulantugas.blogspot.com/2017/02/pengujian-perangkat-
lunak-dengan-metode.html

https://endangcahyapermana.wordpress.com/2017/03/14/pengujian-uat-user-acceptance-
test/
6. Sebutkan dan jelaskan tools untuk stress test, security test!
Jawab:
Stress testing adalah salah satu jenis pengujian sistem (system testing). Pengujian ini
bertujuan untuk melihat apakah perangkat lunak secara keseluruhan mampu menangani
kebutuhan sumberdaya yang tidak normal (mencakup kuantitas, frekuensi, maupun
volume).Tool-tool yang digunakan untuk stress test antara lain:
 WAPT
 Webstress test tool (Microsoft)
 Apache Jmeter
 WSOP

Security Testing adalah teknik pengujian untuk menentukan jika sistem informasi
melindungi data dan mempertahankan fungsi sebagaimana dimaksud.Dengan
melakukan pengujian keamanan, Security Testing tidak menjamin bahwa sistem aman
tetapi penting untuk menyertakan keamanan pengujian sebagai bagian dari proses
pengujian. 6 prinsip-prinsip dasar pada Security Testing sebagai berikut:

 Kerahasiaan
 Integritas
 Otentikasi

ISYS6507 – Testing and System Implementation


 Otorisasi
 Ketersediaan
 Bebas-penyangkalan

Tool-tool yang digunakan untuk Security Testing antara lain:

 SQLMap
 W3af
 Wapiti
 Wfuzz
 Zed Attack Proxy (ZAP)

Referensihttps://hackr.io/blog/top-10-open-source-security-testing-tools-for-web-
applications

7. Bagaimana kriteria tester yang anda inginkan dalam team anda!


Jawab:
Jawab:
 Kemampuan berkomunikasi yang baik, seorang tester akan menjelaskan hal
teknis kepada tim product dan tim development dimana mereka tidak
memahami hal tersebut.
 Teamwork yang baik, dengan kerjasama yang baik antar tim seperti bekerja
sesuai jadwal sehingga tidak mengganggu alur rekan kerja yang lain dan
tentunya akan menghasilkan produk yang memuaskan.
 Memiliki ketelitian dan insting yang baik, seorang tester harus mempunyai sifat
teliti karena agar apabila ada detail detail yang salah dapat di perbaiki.
 Tidak malas mencari kesalahan atau bug,jadi selalu mencoba coba berbagai
kemungkinan yang dapat terjadi.

8. Bagaimana pola pelaporan ke manager yang akan anda lakukan dalam proyek testing
sebuah sistem!

---oOo---

ISYS6507 – Testing and System Implementation