Anda di halaman 1dari 51

Dr.

Asep Juarna
Teknik Informatika Universitas Gunadarma
Dr. Asep Juarna
Teknik Informatika Universitas Gunadarma
1. PERT: Program Evaluation and Review Technique
2. CPM: Critical Path Method
3. PERT/CPM: Dua teknik pengelolaan proyek,
digunakan untuk merencanakan, menjadwalkan,
mengeksekusi, memonitor, dan mengontrol
pelaksanaan setiap kegiatan (sub-proyek).
4. PERT/CPM: Membantu menayangkan rangkaian
kegiatan pelaksanaan proyek dan kemajuan
proyek.
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
1. PERT (dikembangkan 1958): Menghitung
waktu penyelesaian (completion time, CT)
terpendek sebuah proyek .
2. CPM (dikembangkan 1957): Menetapkan
lintasan kritis (critical path), yaitu lintasan
penyelesaian proyek yang memberikan
waktu terpendek.
3. PERT/CPM: Implementasi PERT & CPM

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Problem Description, Project Description
Sub-Project ID Time to Immediate
(SP-ID) Description Complete (TC) Predecessors (IP)
A Conduct Interviews 3 None
B Questionnaires 4 A
C Read Reports 4 None
D Analyze Data Flows 8 B, C
E Introduce Prototipes 5 B, C
F Observe Reactions 3 E
G Perform Cost/Benefit 3 D
H Prepare Proposal 2 G
I Present Proposal 2 H
TC, time to complete: durasi penyelesaikan sebuah sub-proyek/kegiatan
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Penjadwalan 9 kegiatan proyek. Garis merah adalah Critical Path
(A,B,D,G,H,I). Waktu penyelesaian (completion time, CT) proyek: 22.
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Penjadwalan 11 kegiatan proyek. Garis merah adalah Critical Path. Waktu
penyelesaian (completion time, CT) proyek: 22.
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
• Project Completion time: 65
• Critical path: A-B-C-D-E

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


• Sebuah proyek terdiri dari beberapa sub-proyek
(kegiatan): A, B, C, D, ... Proyek besar bisa terdiri
dari ribuan sub-proyek.
• Setiap sub-proyek mempunyai waktu penyelesaian
(time to complete, TC) masing-masing.
• Beberapa sub-proyek hanya bisa dimulai setelah
satu atau beberapa sub-proyek lain selesai
dikerjakan
 Perlu penjadwalan proyek!
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Problem Description, Project Description
Sub-Project ID Time to Immediate
(SP-ID) Description Complete (TC) Predecessors (IP)
A Conduct Interviews 3 None
B Questionnaires 4 A
C Read Reports 4 None
D Analyze Data Flows 8 B, C
E Introduce Prototipes 5 B, C
F Observe Reactions 3 E
G Perform Cost/Benefit 3 D
H Prepare Proposal 2 G
I Present Proposal 2 H
TC, time to complete: durasi penyelesaikan sebuah sub-proyek/kegiatan
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Informasi Yang Diinginkan:
• Berapa waktu penyelesaian (completion time, CT) proyek?
• Kapan waktu mulai (start time, ST) setiap sub-proyek dan
waktu penyelesaian (completion time, CT) sampai sub-
proyek tertentu?
• Sub-proyek mana saja yang masuk kategori kritis, yaitu
harus dilaksanakan persis sesuai jadwal untuk memastikan
waktu penyelesaian proyek sesuai rencana?
• Bagaimana keleluasaan waktu (slack time) pelaksanaan
setiap sub-proyek non kritis (keleluasaan ST dan CT setiap
sub-proyek) tanpa menggangu jadwal penyelesaian proyek
yang sudah direncanakan?
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Problem Description, Project Description
Sub-Project ID Time to Immediate
(SP-ID) Description Complete (TC) Predecessors (IP)
A Conduct Interviews 3 None
B Questionnaires 4 A
C Read Reports 4 None
D Analyze Data Flows 8 B, C
E Introduce Prototipes 5 B, C
F Observe Reactions 3 E
G Perform Cost/Benefit 3 D
H Prepare Proposal 2 G
I Present Proposal 2 H
TC, time to complete: durasi penyelesaikan sebuah sub-proyek/kegiatan
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Graf Proyek (Model tanpa simpul start dan finish)
• Sub-proyek A dan C tidak
punya sub-proyek
pendahulu (predecessors)
sehingga dimulai dari
START (project kick-off).
• Sub-proyek B (G, H, I)
hanya bisa dilaksanakan
jika sub-proyek A (D, G, H)
sudah selesai dilaksanakan

Sub-proyek D dan E hanya bisa dimulai Sub-proyek F dan I tidak mempunya sub-
jika sub-proyek B dan C sudah selesai proyek penerus (succesor)
dilaksanakan
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Graf Proyek (Model dengan simpul start dan finish)
• Sub-proyek A dan C tidak punya subproyek pendahulu
(predecessors) sehingga dimulai dari START (project kick-off).
• Sub-proyek B (G, H, I) hanya bisa dilaksanakan jika sub-
proyek A (D, G, H) sudah selesai dilaksanakan

Sub-proyek F dan I tidak mempunya


Sub-proyek D dan E sub-proyek penerus (succesor)
hanya bisa dimulai
jika sub-proyek B
dan C sudah selesai
dilaksanakan
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Construction of Schedule
Sub-Project ID Time to Immediate
Scheduling Criticality
(SP-ID) Complete (TC) Predecessors (IP)
A 3 None 0-3 kritis
B 4 A 3-7 kritis
C 4 None 0 - x (x  7) non kritis
D 8 B, C 7 - 15 kritis
E 5 B, C 7 - y (y  12) non kritis
F 3 E z - 22 (z  19) non kritis
G 3 D 15 - 18 kritis
H 2 G 18 - 20 kritis
I 2 H 20 - 22 kritis

TC, time to complete: durasi penyelesaikan sebuah sub-proyek/kegiatan


Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
PERT & CPM Proyek
• PERT: Durasi proyek 22 satuan waktu.
• CPM: Garis merah = critical path (A, B, D, G, H, I)
• Sub proyek C, E, F = Non kritis, punya keleluasaan
waktu (slack time)

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Algoritma Completion Time, CT, of Project
1. Untuk setiap sub-proyek tanpa sub-proyek pendahulu: Tetapkan waktu
mulai (start time, ST) = 0. Tetapkan waktu penyelesaian sampai sub-proyek
tersebut (time completion, CT) = waktu penyelesaian sub-proyek tersebut
(time to complete, TC) CT = TC
2. Untuk setiap sub-proyek dengan sub-project pendahulu: Tetapkan awal
waktu pelaksanaan (start time, ST) = CT terakhir di antara semua CT sub-
proyek pendahulu. Tetapkan akhir waktu pelaksanaan (time completion,
CT) = waktu awal pelaksanaan (start time, ST) + durasi penyelesaian sub-
proyek tersebut (time to complete, TC) CT = ST + TC
2. Waktu penyelesaian (time completion, CT) terakhir adalah waktu
penyelesaian proyek (CT of project).
Hasilnya: Lihat tabel berikut.

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


SP- Start Time (ST) = Completion Time
IP TC Keterangan
ID Latest(CT of IPs) (CT) = ST + TC
A None 3 0 3 Tanpa pendahulu
B A 4 3 7 Satu pendahulu, A
C None 4 0 4 {0 - x (x  7)} Tanpa pendahulu
D B, C 8 7 15 Dua pendahulu, B & C
E B, C 5 7 12 {7 - y (y  12)} Dua pendahulu, B & C
F E 3 12 15 {z - 22 (z  19)} Satu pendahulu, E
G D 3 15 18 Satu pendahulu, D
H G 2 18 20 Satu pendahulu, G
I H 2 20 22 (CT of project) Satu pendahulu, H
• ST, start time: awal waktu pelaksanaan sebuah sub-proyek
• CT, completion time: akhir waktu pelaksanaan sebuah sub-proyek
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Algoritma Penentuan Critical Path
1. Mulai dari sub-proyek dengan waktu penyelesaian
(time completion, CT) terakhir; tandai sub-proyek
tersebut sebagai kritis (critical).
2. Pilih sub-proyek pendahulu (predecessor) dari sub-
proyek dengan waktu penyelesaian (time completion,
CT) terakhir; tandai sub-proyek pendahulu tersebut
sebagai kritis (critical).
3. Lanjutkan langkah 2 hingga tiba di sub-proyek pertama.
Hasilnya: Lihat tabel.
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Start Time (ST) = Completion Time
SP-ID IP TC Critically
Latest(CT of IPs) (CT) = ST + TC
A None 3 0 3 kritis
B A 4 3 7 kritis
C None 4 0 4 {0 - x (x  7)} non-kritis
D B, C 8 7 15 kritis
E B, C 5 7 12 {7 - y (y  12)} non kritis
F E 3 12 15 {z - 22 (z  19)} non kritis
G D 3 15 18 kritis
H G 2 18 20 kritis
I H 2 20 22 (CT of project) kritis
• ST, start time: awal waktu pelaksanaan sebuah sub-proyek
• CT, completion time: akhir waktu pelaksanaan sebuah sub-proyek
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
PERT & CPM Proyek

• PERT: Durasi proyek 22 satuan waktu.


• CPM: Garis merah = critical path (A, B, D, G,
H, I)

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Algoritma Penentuan Keleluasan Waktu (Slack Time)
1. Pilih SPNC = Sub-Proyek Non Kritis dengan CT terakhir (latest)
dan belum dievaluasi. Jika sub-proyek tersebut tidak punya
penerus (successor) maka pilih CT terakhir di antara semua sub-
proyek sebagai CTL (L, latest). Jika sub-proyek tersebut punya
penerus maka pilih ST terakhir (latest) di antara semua sub-
proyek penerusnya sebagai STL (L, latest). CTL (atau STL) ini
adalah CTS (S, slack) sub-proyek SPNC sehingga CT(SPNC) =
CT(s) = (CT, CTS). ST(s) = (CT-TC, CTS-TC).
2. Ulangi langkah 1 hingga semua sub-proyek non-kritis
dievaluasi.
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
SP-
IP TC ST CT Critically Succ. CTL STL ST(s) CTS CT(s)
ID
A None 3 0 3 kritis
B A 4 3 7 kritis
C None 4 0 4 non-kritis D,E - 7 (0,3) 7 (4,7)
D B, C 8 7 15 kritis
E B, C 5 7 12 non kritis F - 12 (7,7) 12 (12,12)
F E 3 12 15 non kritis - 22 - (12,19) 22 (15,22)
G D 3 15 18 kritis
H G 2 18 20 kritis
I H 2 20 22 kritis

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Keleluasan Waktu (Slack Time)
• F adalah SPNC. F tidak punya penerus sehingga CTL = CT(terakhir) =
CT(I) = 22, CT(s) = (CT(F), CTL) = (15, 22), ST(s) = (CT(F)-TC(F), CTL-
TC(F)) = (15-3, 22-3) = (12,19).
• E adalah SPNC. E punya penerus F sehingga CTL = ST(F) = 12, CT(s) =
(CT(E), CTL) = (12, 12), ST(s) = (CT(E)-TC(E), CTL-TC(E)) = (12-5, 12-5) =
(7,7).
• C adalah SPNC. E punya penerus D dan E sehingga STL = ST(terakhir) =
ST(D) = ST(D) = 7, CT(s) = (CT(C), CTL) = (4, 7), ST(s) = (CT(C)-TC(C),
CTL-TC(C)) = (4-4, 7-4) = (0,3).

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


KESIMPULAN
SP-ID IP TC Start Time, ST(s) Completion Time, CT(s) Critically
A None 3 0 3 kritis
B A 4 3 7 kritis
C None 4 (0, 3) (4, 7) non-kritis
D B, C 8 7 15 kritis
E B, C 5 7 12 non kritis
F E 3 (12, 19) (15, 22) non kritis
G D 3 15 18 kritis
H G 2 18 20 kritis
I H 2 20 22 kritis
• ST, start time: awal waktu pelaksanaan sebuah sub-proyek
• CT, completion time: akhir waktu pelaksanaan sebuah sub-proyek
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Problem Description, Project Description
Sub-Project Immediate Time to
ID (SP-ID) Predecessors (IP) Complete (TC)
a none 8
b none 10
c a,b 8
d a 9
e b 5
f c,d 3 Lihat Tabel dan Graf:
g d 2 Sub-proyect a dan b tidak punya
sub-proyek pendahulu. Sub-project
h f,g 4
i dan h tidak punya sub-proyek
i e,f 3 penerus.
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Raw Schedule (belum mempertimbangkan slack time)
Sub-Project Immediate Time to Start Completion
Keterangan
ID (SP-ID) Predecessors (IP) Complete (TC) Time (ST) Time (CT)
a none 8 0 8 tanpa IP, ST=0
b none 10 0 10 tanpa IP, ST=0
c a,b 8 10 18 ST=MaxCT(a,b)
d a 9 8 17 ST=CT(a)
e b 5 10 15 ST=CT(b)
f c,d 3 18 21 ST=MaxCT(c,d)
g d 2 17 19 ST=CT(d)
h f,g 4 21 25 ST=MaxCT(f,g)
i e,f 3 21 24 ST=MaxCT(ef)
Merah: critical path. Non critical path: punya keleluasaan waktu pelaksanaan (slack time)
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
PERT & CPM Proyek
Ada keleluasaan (slack) waktu
pelaksanaan sub-proyek:
• a (ST = 0, 8 ≤ CT ≤ 10) krn
(a,b) = IP(c) dan CT(b) = 10
• d (8 ≤ ST ≤ 10, CT ≤ 18) krn
d = IP(f) dan ST(f) = 18
• g (17 ≤ ST ≤ 19, CT ≤ 21) krn
(f,g) = IP(h) dan CT(f) = 21
• e (10 ≤ ST ≤ 19, CT ≤ 22) krn
ST(i) ≤ 22
• i (CT ≤ 25) krn CT(h) = 25
• PERT: Durasi proyek 25 satuan waktu.
• CPM: Garis merah = critical path (b, c, f, h)
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Construction of Schedule
Sub-Project Time to Immediate
Scheduling Criticality
ID (SP-ID) Complete (TC) Predecessors (IP)
a 8 none 0 - x (8  x  10) non-kritis
b 10 none 0 - 10 kritis
c 8 a,b 10 - 18 kritis
d 9 a x - y (16  y  18) non kritis
e 5 b z - 22 (z  17) non kritis
f 3 c,d 18 - 21 kritis
g 2 d t - 25 (t  23) non kritis
h 4 f,g 21 - 25 kritis
i 3 e,f s - 25 (s  20) non kritis

TC, time to complete: durasi penyelesaikan sebuah sub-proyek/kegiatan


Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Keleluasan Waktu (Slack Time)
• i adalah SPNC. i tidak punya penerus sehingga CTL = CT(terakhir) = CT(h) = 25,
CT(s) = (CT(i), CTL) = (24, 25), ST(s) = (CT(i)-TC(i), CTL-TC(i)) = (24-3, 25-3) =
(21,22).
• g adalah SPNC. g punya penerus h sehingga CTL = ST(h) = 21, CT(s) = (CT(g),
CTL) = (19, 21), ST(s) = (CT(g)-TC(g), CTL-TC(g)) = (19-2, 21-2) = (17,19).
• e adalah SPNC. e punya penerus i sehingga CTL = ST(i) = 21, CT(s) = (CT(e),
CTL) = (15, 19), ST(s) = (CT(e)-TC(e), CTL-TC(e)) = (15-5, 21-5) = (10,14).
• d adalah SPNC. d punya penerus f dan g sehingga CTL = ST(terakhir) = ST(f) =
18, CT(s) = (CT(d), CTL) = (17, 18), ST(s) = (CT(d)-TC(d), CTL-TC(d)) = (17-9, 18-
9) = (8,9).
• a adalah SPNC. a punya penerus c dan d sehingga CTL = ST(terakhir) = ST(d) =
9, CT(s) = (CT(a), CTL) = (8, 9), ST(s) = (CT(a)-TC(a), CTL-TC(a)) = (8-8, 8-9) =
(0,1).
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
KESIMPULAN
SP-ID IP TC Start Time, ST(s) Completion Time, CT(s) Critically
a none 8 (0,1) (8,8) non-kritis
b none 10 0 10 kritis
c a,b 8 10 18 kritis
d a 9 (8,9) (17,18) non kritis
e b 5 (10,14) (15,19) non kritis
f c,d 3 18 21 kritis
g d 2 (17,19) (19,21) non kritis
h f,g 4 21 25 kritis
i e,f 3 (21,22) (24,25) non kritis
• ST, start time: awal waktu pelaksanaan sebuah sub-proyek
• CT, completion time: akhir waktu pelaksanaan sebuah sub-proyek
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Dr. Asep Juarna
Teknik Informatika Universitas Gunadarma
• Perusahaan pengantar barang mempunyai N
pekerja dan N kota tujuan pengantaran barang.
• Setiap pekerja bisa melakukan semua pengantaran
barang tapi dengan waktu berbeda.
• Tugaskan pekerja mana mengantar barang ke
mana agar perusahaan mendapatkan keuntungan
maksimal
 Masalah Penugasan (Assignment Problem)
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Tabel Waktu pengantaran barang
Pekerjaan
Karyawan I II II IV V
Alif 10 12 10 8 15
Bady 14 10 9 15 13
Dzaky 9 8 7 8 12
Faras 13 15 8 16 11
Ghazy 10 13 14 11 17
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Jika dimisalkan xi adalah pekerja ke-i dan yj adalah
pekerjaan ke-j ....
x1 : Alif y1 : Pekerjaan I
x2 : Bady y2 : Pekerjaan II
x3 : Dzaky y3 : Pekerjaan III
x4 : Faras y4 : Pekerjaan IV
x5 : Ghazy y5 : Pekerjaan V

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


... maka akan diperoleh graf bipartit berikut:

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Diberikan sebuah graf G(V, E); M(V, E1)  G(V, E)
adalah sebuah matching di mana tidak ada 2 ruas
di E1 yang mempunyai simpul yang sama. (E1  E)

Matching algorithm =
Masalah penugasan
(Assignment Problem)

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


• Graf G(V, E) adalah graf bipartite jika ada partisi
V = X  Y dengan X  Y =  dan E  X  Y
• M  G sebuah matching   e  M hanya ada
satu ruas M mempunyai setiap endpoint v  V.

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Tujuan: Menyelesaikan Masalah Penugasan.
Input: Tabel Keterampilan Pekerjaan  Karyawan (X  Y)
Pekerjaan
Karyawan I II III IV V
Alif 10 12 10 8 15
Bady 14 10 9 15 13
Dzaky 9 8 7 8 12
Faras 13 15 8 16 11
Ghazy 10 13 14 11 17

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Langkah 1: Tentukan elemen terbesar setiap baris.
Tuliskan angkanya di kanan tabel:
Pekerjaan
Karyawan I II III IV V Maks
Alif 10 12 10 8 15 15
Bady 14 10 9 15 13 15
Dzaky 9 8 7 8 12 12
Faras 13 15 8 16 11 16
Ghazy 10 13 14 11 17 17

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Langkah 2: Bagi elemen setiap baris dengan bilangan
terbesarnya. Tuliskan angka terbesarnya di bawah tabel.
Pekerjaan
Karyawan I II III IV V Maks
Alif 0,67 0,8 0,67 0,53 1 15
Bady 0,93 0,67 0,6 1 0,87 15
Dzaky 0,75 0,67 0,58 0,67 1 12
Faras 0,8 0,94 0,5 1 0,69 16
Ghazy 0,59 0,76 0,82 0,65 1 17
Maks 0,93 0,94 0,82 1 1
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Langkah 3: Bagi elemen setiap kolom dengan bilangan
terbesarnya.
Pekerjaan
Karyawan I II III IV V
Alif 0,72 0,85 0,82 0,53 1
Bady 1 0,71 0,73 1 0,87
Dzaky 0,81 0,71 0,71 0,67 1
Faras 0,87 1 0,61 1 0,69
Ghazy 0,63 0,81 1 0,65 1

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Langkah 4: Periksa apakah sudah ada angka 1 di
masing-masing baris di kolom berbeda. Jawab: BELUM.
Pekerjaan
Karyawan I II II IV V
Alif 0,72 0,85 0,82 0,53 1
Bady 1 0,71 0,73 1 0,87
Dzaky 0,81 0,71 0,71 0,67 1
Faras 0,87 1 0,61 1 0,69
Ghazy 0,63 0,81 1 0,65 1

Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma


Langkah 5: Tarik garis vertikal dan horizontal melewati
angka 1. Jumlah garis harus minimal. Pilih elemen
terbesar yang tidak dilalui garis.
Pekerjaan
Karyawan I II II IV V
Alif 0,72 0,85 0,82 0,53 1
Bady 1 0,71 0,73 1 0,87
Dzaky 0,81 0,71 0,71 0,67 1
Faras 0,87 1 0,61 1 0,69
Ghazy 0,63 0,81 1 0,65 1
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Langkah 6: Bagi semua elemen di kolom tersebut
dengan bilangan itu. Kembali ke Langkah 4.
Pekerjaan
Karyawan I II II IV V
Alif 0,72 1 0,82 0,53 1
Bady 1 0,84 0,73 1 0,87
Dzaky 0,81 0,84 0,71 0,67 1
Faras 0,87 1,18 0,61 1 0,69
Ghazy 0,63 0,95 1 0,65 1
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Penugasan:
Alif (II), Bady (I), Dzaki (V), Faras (IV), Ghazy (III)
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma
Dr. Asep Juarna, Teknik Informatika Universitas Gunadarma

Anda mungkin juga menyukai