1. Jelaskan bagaimana transformasi dari requirements menjadi sebuah rancangan perangkat lunak pada sebuah siklus
pengembangan perangkat lunak!
2. Jelaskan mengapa penjaminan perangkat lunak harus dilakukan! Bagaimana hubungannya dengan siklus
pengembangan perangkat lunak?
3. Jelaskan perbedaan antara pengujian, pengawasan mutu, dan penjaminan perangkat lunak!
4. Berikut adalah kode program :
I. Fungsi untuk mengubah menjadi Title Case
1. Function TCase(s As String) As String
2. Dim x, ss, b As String
3.
4. For i = 1 To Len(s)
5. x = Mid(s, i, 1)
6. If x = " " Then
7. b = UCase(Mid(s, i + 1, 1))
8. ss = ss + x + b
9. i = i + 1
10. Else
11. ss = ss + x
12. End If
13. Next i
14. TCase = UCase(Left(ss, 1)) + Right(ss, Len(ss) - 1)
15. End Function
II. Fungsi untuk mengubah angka menjadi huruf dalam bahasa indonesia
1. function Terbilang2Digit(digitstr : string): string;
2. var
3. strval, strval2, code: integer;
4. begin
5. if length(digitstr) = 1 then
6. begin
7. val(digitstr, strval, code);
8. result := arrTerbilang[strval]
9. end
10. else
11. begin
12. if digitstr[1] = '0' then
13. begin
14. val(digitstr[2], strval, code);
15. result := arrTerbilang[strval];
16. end
17. else if digitstr[1] = '1' then
18. begin
19. val(digitstr[2], strval, code);
20. if digitstr[2] = '0' then
21. result := arrTerbilang[11] + arrTerbilang[12]
22. else if digitstr[2] = '1' then
23. result := arrTerbilang[11] + arrTerbilang[13]
24. else
25. result := arrTerbilang[strval] + ' ' + arrTerbilang[13]
26. end
27. else
28. begin
1 dari 7
29. val(digitstr[1], strval, code);
30. val(digitstr[2], strval2, code);
31. if digitstr[2] = '0' then
32. result := arrTerbilang[strval] + ' ' + arrTerbilang[12]
33. else
34. result := arrTerbilang[strval] + ' ' + arrTerbilang[12] + ' '
+ arrTerbilang[strval2];
35. end;
36. end;
37. end;
“Seseorang yang luar biasa itu selalu sederhana dalam ucapannya, tapi selalu hebat dalam
perbuatannya”
2 dari 7
Nama : Edmar Bangkir N
NPM : 19111061
2. Jelaskan mengapa penjaminan perangkat lunak harus dilakukan! Bagaimana hubungannya dengan siklus
pengembangan perangkat lunak?
Penjaminan dilakukan untuk mengantisipasi kesalahan pada langkah demi langkah dalam proses perangkat
lunak. Penjaminan dilakukan di awal sebelum pengujian perangkat lunak dilakukan untuk menjamin setiap
kesalahan dalam pengujian
3. Jelaskan perbedaan antara pengujian, pengawasan mutu, dan penjaminan perangkat lunak
Pengujian perangkat lunak merupakan suatu proses investigasi yang dilakukan untuk mendapatkan
informasi mengenai kualitas dari suatu produk atau layanan yang sedang diuji, atau lebih spesifiknya
software testing adalah proses mengeksekusi suatu program untuk menemukan bug (kesalahan atau cacat).
pengawasan mutu adalah untuk memastikan bahwa perangkat lunak yang dibangun sesuai dengan
keperluan yang sudah didokumentasikan , pengawasan mutu dilakukan di akhir pengujian
Jaminan kualitas perangkat lunak adalah aktivitas pelindung yang diaplikasikan pada seluruh
proses perangkat lunak. untuknya. Prosedur untuk menjamin kesesuaian dengan standar
pengembangan perangkat lunak . dilakukan di awal pengujian untuk menjamin dan mengantisipasi
kesalahan pengujian
3 dari 7
f. Buatlah Graph matrix (Connection Matrice)!
2 R2 10
3
4 11
5
R1 7
R3
6 8 9
Cyclomatic Complexity ( V(G) ) berdasarkan Edge dan Node
12 edges – 11 nodes + 2 = 3
Independent Path
1-2-3-4-5-6-8-9-1-10-11
1-2-3-7-8-9-1-10-11
Graph Matrix
1 1
1 2 3 4 5 6 7 8 9 0 1
1 1 1
2 1
3 1 1
4 1
5 1
6 1
7 1
8 1
9 1
1
0 1
1
1 1
4 dari 7
II. Fungsi untuk mengubah angka menjadi huruf dalam bahasa indonesia
1. function Terbilang2Digit(digitstr : string): string;
2. var
3. strval, strval2, code: integer;
4. begin
5. if length(digitstr) = 1 then (1)
6. Begin
7. val(digitstr, strval, code); (2)
8. result := arrTerbilang[strval] (3)
9. End (4)
10. Else
11. begin
12. if digitstr[1] = '0' then (5)
13. begin
14. val(digitstr[2], strval, code); (6)
15. result := arrTerbilang[strval]; (7)
16. End (8)
17. else if digitstr[1] = '1' then (9)
18. begin
19. val(digitstr[2], strval, code); (10)
20. if digitstr[2] = '0' then (11)
21. result := arrTerbilang[11] + arrTerbilang[12] (12)
22. else if digitstr[2] = '1' then (13)
23. result := arrTerbilang[11] + arrTerbilang[13] (14)
24. Else
25. result := arrTerbilang[strval] + ' ' + arrTerbilang[13] (15)
26. End (16)
27. Else
28. begin
29. val(digitstr[1], strval, code); (17)
30. val(digitstr[2], strval2, code); (18)
31. if digitstr[2] = '0' then (19)
32. result := arrTerbilang[strval] + ' ' + arrTerbilang[12] (20)
33. Else
34. result := arrTerbilang[strval] + ' ' + arrTerbilang[12] + ' ' (21)
+ arrTerbilang[strval2]; (22)
35. end;
36. end;
37. end; (23)
5 dari 7
Region
Independent Path
1-2-3-23
1-5-6-7-23
1-5-9-10-11-12-23
1-5-9-10-11-13-14-23
1-5-9-10-11-15-23
1-5-17-18-19-20-23
1-5-17-18-21-22-23
Graph Matriks
1 1 1 1 1 1 1 1 1 1 2 2 2 2
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
1 1 1
2 1
3 1
4
5 1 1 1
6 1
7 1
8
9 1
1
0 1
1
1 1 1 1
1
2 1
1
3 1
1
4 1
1
5 1
1
6
1
7 1
1
8
1
9 1 1
2
0 1
2
1 1
2
2 1
2
3
6 dari 7
7 dari 7