Referensi soal:

Materi 1: Program Dinamis


Daftar Item:

NWeightProfit
1215
2312
328
4210
Kapasitas Knapsack W = 6

Item 1 - Weight = 2, Profit = 15

yf0(y)15 + f0(y-2)f1(y)(x1, x2, x3, x4)
000(0,0,0,0)
100(0,0,0,0)
201515(1,0,0,0)
301515(1,0,0,0)
401515(1,0,0,0)
501515(1,0,0,0)
601515(1,0,0,0)
Item 2 - Weight = 3, Profit = 12
yf1(y)15 + f0(y-3)f2(y)(x1, x2, x3, x4)
000(0,0,0,0)
100(0,0,0,0)
21515(1,0,0,0)
3151215(1,0,0,0)
4151215(1,0,0,0)
51512 + 1527(1,1,0,0)
61512 + 1527(1,1,0,0)
dst…

Materi 2: Algoritma Backtracking

a. gambarkan graf dari peta di atas

b. Gunakan algoritma backtracking, m=4

---
config:
  theme: redux
---
flowchart TB
    A(("1")) -- "x1 = 1" --> B(("2"))
    B -- "x2 = 1" --> C(("3"))
    B -- "x2 = 2" --> D(("4"))
    C --> n1["B"]
    D -- "x3 = 1" --> n2(("5"))
    n2 --> n3["B"]
    D -- "x3 = 2" --> n4(("6"))
    n4 -- "x4 = 1" --> n5(("7"))
    n4 -- "x4 = 2" --> n6(("8"))
    n4 -- "x4 = 3" --> n7(("9"))
    n5 --> n8["B"]
    n6 --> n9["B"]
    n7 -- "x5 = 1" --> n10(("10"))
    n7 -- "x5 = 2" --> n11(("11"))
    n10 --> n12["B"]
    n11 --> n13["B"]
    n7 -- "x5 = 3" --> n14(("12"))
    n14 -- "x6 = 1" --> n15(("13"))
    n15 --> n16["B"]
    n14 -- "x6 = 2" --> n17(("14"))
    n17 --> n18["B"]
    n14 -- "x6 = 3" --> n19(("15"))
    n19 --> n20["B"]
    n14 -- "x6 = 4" --> n21(("16"))
    n21 -- "x7 = 1" --> n22(("17"))

    n1@{ shape: text}
    n3@{ shape: text}
    n8@{ shape: text}
    n9@{ shape: text}
    n12@{ shape: text}
    n13@{ shape: text}
    n16@{ shape: text}
    n18@{ shape: text}
    n20@{ shape: text}

Materi 3: Branch & Bounds

98-810
1014-1004
8159-8071
121110-10210
0-100Total R
37
00
04
061
200
Dengan demikian, mulai
ABCD
A00
B04
C061
D200
dari A, cari terkecil, ditemukan ke B atau D terkecil, lakukan reduksi sub-matrix A-B
ABCDABCD
A$\infty$$\infty$$\infty$$\infty$A$\infty$$\infty$$\infty$$\infty$
B0$\infty$4-0B0$\infty$4
C0$\infty$1-0C0$\infty$1
D2$\infty$0-0D2$\infty$0
Total-0-0-0-1
R =
38ABCD
A$\infty$$\infty$$\infty$$\infty$
B0$\infty$4
C0$\infty$0
D2$\infty$0
dari A, coba ke D
ABCD
A$\infty$$\infty$$\infty$$\infty$
B04$\infty$
C06$\infty$
D200$\infty$
Tidak ada reduksi baris dan kolom, sehingga R = 37, artinya ke D lebih baik daripada B

dari A-D, cari terkecil, ditemukan B dan C terkecil, langsung aja ke C

ABCD
A$\infty$
B0$\infty$
C06$\infty$
D$\infty$$\infty$$\infty$$\infty$
Tidak ada reduksi baris dan kolom, sehingga R = 37, artinya ke C lebih baik daripada ke B

dari A-D-C, cari terkecil, tinggal B doang

ABCD
A$\infty$
B0$\infty$
C0$\infty$$\infty$$\infty$
D$\infty$
Tidak ada reduksi baris dan kolom, sehingga R = 37
Jalur selesai A-D-C-B, sekarang balik ke A lagi
ABCD
A$\infty$
B$\infty$$\infty$$\infty$$\infty$
C$\infty$
D$\infty$
ok, pokoknya R = 37, dah gitu aja

Materi 4: String Matching


Fungsi Lo (Last Occurence)???
P = abaca
T = cabadaecdabacadca

Gunakan algoritma Boyer Moore