Name
Signature
SOAL
1. (Nilai 15) Diberikan 2 potongan program yang tertulis dalam pseudocode dibawah ini. Lakukan
analisis dan tentukan model Big-O dari kedua program.
a. For I = 0 to N - 2
For J = 0 to N - 2
If (A(J) > A(J + 1)
Temp = A(J)
A(J) = A(J + 1)
A(J + 1) = Temp
End-If
End-For
End-For
b. do {
Input Number
S=Number%2
if(S==0)
output "Even"
else
output "Odd"
end if
}while (Number != 0)
Jawab :
a. Kompleksitas adalah n2
b. Kompleksitas adalah n
2. (Nilai 25) Diberikan sederet bilangan 25, 15, 12, 18, 20, 35, 8; lakukan simulasi menggunakan :
a. Algoritma Quick Sort untuk membuat urutan naik (ascending)
b. Algoritma Binary Search untuk mencari bilangan 25.
Jawab :
a. Quick Sort (nilai 15)
[0]
[1]
[2]
[3]
[4]
[5]
[6]
25
15
12
18
20
35
35
25
15
12
18
20
Keterangan
15
12
18
20
25
35
15
12
18
20
25
35
15
12
18
20
25
35
15
12
q
18
p
20
25
35
12
15
18
20
25
35
12
15
18
q
20
p
25
35
12
15
18
20
25
35
Selesai
[1]
[2]
[3]
[4]
[5]
[6]
Keterangan
12
15
18
20
25
35
Key = 25
midle = (0 + 6)/2=3
midle < key; maka yang dicari di ruas kanan. Maka batas
atas tetap dan batas bawah = midle + 1
midle=(4+6)/1 =5
25
3. (Nilai 20) Seorang pedagang asongan hanya menggunakan tas (knapsack) dengan kapasitas
maksimum 17 kg. Barang dagangan terdiri atas 5 jenis dan tiap jenis harus dibawa semua atau
tidaksama sekali (0-1 binary choice). Tentukan barang-barang yang harus dibawa agar mendapatkan
keuntungan maksimum. Jenis, berat barang dan nilai keuntungan diberikan pada tabel berikut :
Jenis
A
B
C
D
E
Berat (kg)
5
7
8
5
2
Jawab :
Pembuatan tabel dan pengurutan (nilai 10)
Barang
A
B
C
D
E
Berat
5
7
8
5
2
Keuntungan 700
1120 1240 900
600
Rasio
140
160
155
180
300
Urutan berdasarkan keuntungan terbesar (karena ditanya keuntungan maksimum)
Keuntungan
1240
1120
900
700
600
Barang
Berat
Jadi dengan kapasitas knapsack 17 kg, maka barang yang harus dibawa untuk mendapatkan keuntungan
maksimum adalah : (nilai 15)
Jumlah
Jumlah
Barang
Keterangan
berat Keuntungan
C+B
15
2360
C+B+D
20
ditolak
C+B+A
20
ditolak
C+B+E
17
2960
DITERIMA
Atau : C + B + E = 8 + 7 + 2 = 17 dengan keuntungan 1120 + 1240 + 600 = 2960
Jika dihitung secara manual, maka semua solusi yang mungkin adalah : (jika mahasiswa juga sempat
mengerjakan secara manual maka berikan nilai tambahan)
Barang
Berat
Keuntungan
Barang
Berat
{}
Keuntungan
{A,B,C}
20
ditolak
{A}
700
{A,B,D}
17
2720
{B}
1120
{A,B,E}
14
2420
{C}
1240
{A,C,D}
18
ditolak
{D}
900
{A,C,E}
15
2540
{E}
600
{A,D,E}
12
2200
{A, B}
12
1820
{B,C,D}
20
ditolak
{A, C}
13
1940
{B,C,E}
17
2960
{A, D}
10
1600
{B,D,E}
14
2620
{A, E}
1300
{C,D,E}
15
2740
{B, C}
15
2360
{A,B,C,D}
27
ditolak
{B, D}
12
2020
{A,B,C,E}
19
ditolak
{B, E}
1720
{A,B,D,E}
19
ditolak
{C, D}
13
2140
{A,C,D,E}
20
ditolak
{C, E}
10
1840
{B,C,D,E}
22
ditolak
{D, E}
1500
{A,B,C,D,E}
27
ditolak
4. (Nilai 15) Terdapat 7 program yang ingin menggunakan sebuah ruangan multi fungsi pada hari yang
sama, namun waktu pemakaian ruangan dibatasi sehingg program perlu diseleksi. Nilai keuntungan
(profit value) dan waktu pemakaian (dead time) seperti dibawah ini.
(p1, p2, p3, p4, p5, p6, p7)=(55,75,20,30,50,35,25)
Pi
55
75
20
30
50
35
25
Di
Pi
75
55
50
35
30
25
20
Di
Yang dipilih adalah job 2, job 1, job 5 berdasarkan urutan profit dengan profit maksimum:
75+55+50 = 180
5. (Nilai 25) Diberikan grafik tak berarah yang menghubungkan antar simpul (node) seperti
ditampilkan pada gambar di bawah ini. Dengan Algoritma Prim, buat pohon lintasan minimum
(Minimum Spanning Tree).
Jawab :
B
Simpul dipromosikan
5
7
12
Simpul dieksplorasi
10
G
10
15
10
8
E
4
12
12
4
Step 1 : dieksplorasi H
10
I
A
5
12
7
8
G
10
6
15
10
8
4
12
12
4
Step 2 : dieksplorasi F = 4
10
5
12
7
8
G
10
15
10
8
4
12
12
4
Step 3 : dieksplorasi G = 6
10
11
5
12
7
10
G
10
15
10
8
4
12
12
4
Step 4 : dieksplorasi A = 6+5 =11
10
11
B
19
5
12
7
10
G
10
15
10
8
4
12
12
4
Step 5 : eksplorasi B = 11+8 =19
10
11
B
19
5
12
7
10
G
26
10
D
15
10
8
4
12
12
4
Step 6 : eksplorasi D = 19 + 7 = 26
10
11
B
19
5
12
7
10
G
26
10
34
15
10
8
12
4
12
4
Step 7 : eksplorasi C = 26 + 8 =34
10
19
11
5
12
7
10
G
10
26
34
15
10
8
E
42
12
4
12
4
Step 8 : membuka B = 11+8 = 19
10
19
11
5
12
7
10
G
10
26
15
10
34
C
8
E
42
12
4
12
10
46
I
Step 9 : eksplorasi I = 42 + 4 = 46
19
11
5
6
G
26
34
C
8
E
42
4
46
Selesai