SlideShare a Scribd company logo
1 of 26
Download to read offline
Pengantar Strategi Algoritma
RINALDI MUNIR
Lab Ilmu dan Rekayasa Komputasi
Kelompok Keahlian Informatika
Institut Teknologi Bandung
INSTITUT TEKNOLOGI BANDUNG
PROGRAM STUDI TEKNIK INFORMATIKA
Sekolah Teknik Elrektro dan Informatika
Bahan Kuliah IF2211 Strategi Algoritma
Kampus ITB yang indah…
Foto oleh Eko Purwono (AR ITB)
Inilah STEI-ITB…
LabTek V, di sini Informatika ITB berada
Foto oleh Budi Rahardjo (EL ITB)
Salah satu mata kuliahnya….
IF2211 Strategi Algoritma
Apakah Strategi Algoritma itu?
Strategi algoritma (algorithm strategies) adalah:
• pendekatan umum
• untuk memecahkan persoalan secara algoritmis
• yang dapat diterapkan pada bermacam-macam persoalan
• dari berbagai bidang komputasi [Levitin, 2003]
• Nama lain: algorithm design technique
7
Persoalan (Problem)
• Persoalan: pertanyaan atau tugas yang kita cari
jawabannya.
• Contoh-contoh persoalan:
1. [Persoalan pengurutan] Diberikan senarai (list) S yang
terdiri dari n buah integer. Bagaimana mengurutkan n
buah integer tersebut sehingga terurut secara menaik?
Jawaban: barisan nilai di dalam senarai yang terurut
menaik.
8
2. [Persoalan pencarian] Tentukan apakah suatu
bilangan x terdapat di dalam sebuah senarai S yang
berisi n buah bilangan bulat!
Jawaban: “ya” jika x ditemukan di dalam senarai,
atau “tidak” jika x tidak terdapat di dalam senarai.
9
• Instansiasi persoalan: parameter nilai yang
diasosiasikan di dalam persoalan.
• Jawaban terhadap instansiasi persoalan disebut
solusi
• Contoh: Selesaikan persoalan pengurutan untuk
S = [15, 4, 8, 11, 2, 10, 19] n = 7
Solusi: S = [2, 4, 8, 10, 11, 15, 19].
10
Beberapa Contoh Persoalan Klasik
1. Travelling Salesperson Problem (TSP)
Persoalan: Diberikan n buah kota serta diketahui jarak
antara setiap kota satu sama lain. Temukan perjalanan
(tour) terpendek yang dimulai dari sebuah kota dan
melalui setiap kota lainnya hanya sekali dan kembali lagi
ke kota asal keberangkatan.
11
2. Integer Knapsack Problem
Persoalan: Diberikan n buah
objek dan sebuah knapsack
(karung, tas, buntilan, dsb)
dengan kapasitas bobot K.
Setiap objek memiliki properti
bobot (weigth) wi dan
keuntungan (profit) pi.
Bagaimana memilih objek-objek
yang dimasukkan ke dalam
knapsack sedemikian sehingga
tidak melebihi kapasitas
knapsack namun memebrikan
keuntungan maksimal?
3. Persoalan penugasan (assignment problem)
Misalkan terdapat n orang dan n buah pekerjaan (job).
Setiap orang akan di-assign dengan sebuah pekerjaan.
Penugasan orang ke-i dengan pekerjaan ke-j
membutuhkan biaya sebesar c(i, j). Bagaimana
melakukan penugasan sehingga total biaya penugasan
adalah seminimal mungkin?
Contoh instansiasi persoalan:
d
c
b
a
JobJobJobJob
C
Orang
Orang
Orang
Orang
4967
4185
7346
8729
4321
















=
14
4. Persoalan N-Ratu (The
N-Queens Problem)
Persoalan: Diberikan sebuah
papan catur yang berukuran
N × N dan N buah bidak ratu.
Bagaimana menempatkan N
buah ratu (Q) itu pada
petak-petak papan catur
sedemikian sehingga tidak
ada dua ratu atau lebih yang
terletak pada satu baris yang
sama, atau pada satu kolom
yang sama, atau pada satu
diagonal yang sama ?
15
5. Mencari Pasangan Titik Terdekat (Closest Pair)
Persoalan: Diberikan n buah titik, tentukan dua buah
titik yang terdekat satu sama lain.
16
6. Permainan 15-Puzzle
Persoalan: Diberikan sebuah 15-puzzle yang memuat 15
buah ubin (tile) yang diberi nomor 1 sampai 15, dan satu
buah slot kosong yang digunakan untuk menggerakkan ubin
ke atas, ke bawah, ke kiri, dan ke kanan. Misalkan diberikan
keadaan awal dan keadaaan akhir susunan ubin. Kita ingin
menransformasikan susunan awal menjadi susunan akhir.
(a) Susunan awal (b) Susunan akhir
17
7. Menemukan jalan keluar
dari labirin (Maze
Problem)
Persoalan: Diberikan sebuah
labirin dengan satu atau lebih
pintu masuk dan satu atau
lebih pintu keluar. Temukan
jalan yang harus dilalui
sehingga seseorang dapat
keluar dengan selamat dari
labirin tersebut (tidak tersesat
di dalamnya).
18
8. Pewarnaan Graf (Graph Colouring)
Persoalan: Diberikan sebuah graf G dengan n buah simpul
dan disediakan m buah warna. Warnailah seluruh simpul
graf G sedemikian sehingga tidak ada dua buah simpul
bertetangga yang mempunyai warna sama (Perhatikan juga
bahwa tidak seluruh warna harus dipakai)
9. Lintasan terpendek (shortest path)
Persoalan: Diketahui n buah kota dan diberikan jarak antara
dua buah kota yang bertetangga. Tentukan lintasan
terpendek dari sebuah kota asal ke sebuah kota tujuan.
20
Algoritma
• Untuk persoalan dengan instansiasi yang besar,
solusinya menjadi lebih sulit ditentukan.
• Perlu sebuah prosedur umum yang berisi langkah-
langkah penyelesaian persoalan algoritma
• Algoritma: urutan langkah-langkah untuk
memecahkan suatu persoalan, dengan memproses
masukan menjadi keluaran.
21
Analisis Algoritma
• Tujuan analis: mengukur kinerja (performance)
algoritma dari segi kemangkusannya (efficient)
• Alat ukur kemangkusan algoritma:
1. Kompleksitas waktu, T(n)
2. Kompleksitas ruang, S(n)
• n = ukuran masukan yang diproses oleh algoritma
22
• T(n) : jumlah tahap komputasi yang dilakukan
untuk menjalankan sebuah algoritma sebagai
fungsi dari ukuran masukan n.
• S(n): ruang memori yang dibutuhkan algoritma
sebagai fungsi dari ukuran masukan n .
• Tiga notasi kebutuhan waktu asimptotik:
1. O(g(n)): batas lebih atas kebutuhan waktu algoritma
2. Ω(g(n)): batas lebih bawah kebutuhan waktu algoritma
3. Θ(g(n)) : jika dan hanya jika O(g(n)) = Ω(g(n))
Strategi Algoritma
1. Algoritma Brute-Force
2. Algoritma Greedy
3. Algoritma Divide and Conquer
4. Algoritma Decrease and Conquer
5. Algoritma Bactracking
6. Algoritma Branch and Bound
7. Dynamic programming
24
Mengapa Perlu Mempelajari
Strategi Algoritma?
• Ada dua alasan (Levitin, 2003):
1. Memberikan panduan (guidance) untuk
merancang algoritma bagi persoalan baru.
2. Dapat mengklasifikasikan algoritma berdasarkan
gagasan perancangan yang mendasarinya.
25
Klasifikasi Strategi Algoritma:
1. Strategi solusi langsung (direct solution
strategies)
- Algoritma Brute Force
- Algoritma Greedy
2. Strategi berbasis pencarian pada ruang status
(state-space base strategies)
- Algoritma Backtracking
- Algoritma Branch and Bound
26
3. Strategi solusi atas-bawah (top-down solution
strategies)
- Algoritma Divide and Conquer.
- Algoritma Decrease and Conquer
4. Strategi solusi bawah-atas (bottom-up solution
strategies)
- Dynamic Programming.
• Catatan: klasifikasi ini tidak kaku, bisa berbeda bergantung
pendekatan ayng digunakan.

More Related Content

What's hot

Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)Edho Pratama
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
Pengambilan keputusan dalam kondisi pasti
Pengambilan keputusan dalam kondisi pastiPengambilan keputusan dalam kondisi pasti
Pengambilan keputusan dalam kondisi pastiindra wahyudi
 
program konversi biner ke desimal dengan bahasa c
program konversi biner ke desimal dengan bahasa cprogram konversi biner ke desimal dengan bahasa c
program konversi biner ke desimal dengan bahasa ckir yy
 
Konsep pointer Univ. BALE
Konsep pointer Univ. BALEKonsep pointer Univ. BALE
Konsep pointer Univ. BALEstaffpengajar
 
program pencarian data dengan bahasa C
program pencarian data dengan bahasa Cprogram pencarian data dengan bahasa C
program pencarian data dengan bahasa Ckir yy
 
Modul xiii dan xiv algo
Modul xiii dan xiv algoModul xiii dan xiv algo
Modul xiii dan xiv algoSTMIK AKAKOM
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15doudomblogspot
 
BAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATABAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATAIez Risma Nursida
 
Pengenalan Teknologi Informasi 7 - Pencarian
Pengenalan Teknologi Informasi   7 - PencarianPengenalan Teknologi Informasi   7 - Pencarian
Pengenalan Teknologi Informasi 7 - PencarianKuliahKita
 
Presentasi Matlab
Presentasi MatlabPresentasi Matlab
Presentasi Matlabarifgator
 
Runtutan ( sequence )
Runtutan ( sequence )Runtutan ( sequence )
Runtutan ( sequence )ariesmaesya
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPrasetyo Adi
 

What's hot (20)

Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)Algoritma divide and conquer (lanjutan)
Algoritma divide and conquer (lanjutan)
 
Tugas rk differensial
Tugas rk differensialTugas rk differensial
Tugas rk differensial
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Pengambilan keputusan dalam kondisi pasti
Pengambilan keputusan dalam kondisi pastiPengambilan keputusan dalam kondisi pasti
Pengambilan keputusan dalam kondisi pasti
 
Ifc modul 2 (array)
Ifc   modul 2 (array)Ifc   modul 2 (array)
Ifc modul 2 (array)
 
Pertemuan V
Pertemuan VPertemuan V
Pertemuan V
 
program konversi biner ke desimal dengan bahasa c
program konversi biner ke desimal dengan bahasa cprogram konversi biner ke desimal dengan bahasa c
program konversi biner ke desimal dengan bahasa c
 
Konsep pointer Univ. BALE
Konsep pointer Univ. BALEKonsep pointer Univ. BALE
Konsep pointer Univ. BALE
 
program pencarian data dengan bahasa C
program pencarian data dengan bahasa Cprogram pencarian data dengan bahasa C
program pencarian data dengan bahasa C
 
Modul xiii dan xiv algo
Modul xiii dan xiv algoModul xiii dan xiv algo
Modul xiii dan xiv algo
 
Algoritma rsa
Algoritma rsaAlgoritma rsa
Algoritma rsa
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
BAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATABAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATA
 
Modul Algoritma
Modul AlgoritmaModul Algoritma
Modul Algoritma
 
sns alpro-I_ithb
sns alpro-I_ithbsns alpro-I_ithb
sns alpro-I_ithb
 
Pengenalan Teknologi Informasi 7 - Pencarian
Pengenalan Teknologi Informasi   7 - PencarianPengenalan Teknologi Informasi   7 - Pencarian
Pengenalan Teknologi Informasi 7 - Pencarian
 
Presentasi Matlab
Presentasi MatlabPresentasi Matlab
Presentasi Matlab
 
Runtutan ( sequence )
Runtutan ( sequence )Runtutan ( sequence )
Runtutan ( sequence )
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
 

Similar to Pengantar strategi algoritma (2015)

1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptxwikirezi
 
Algoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.pptAlgoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.pptELDONIMOSUL1
 
Pengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdfPengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdfbjorklis
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahanformatik
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahanformatik
 
Decrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptxDecrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptxArunachalamSelva
 
Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsxIndraWahyu33
 
Pengantar matematika-diskrit
Pengantar matematika-diskritPengantar matematika-diskrit
Pengantar matematika-diskrittafrikan
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand outgivaro igfar
 
Solusi quiz 2_AlPro-I
Solusi quiz 2_AlPro-ISolusi quiz 2_AlPro-I
Solusi quiz 2_AlPro-Istaffpengajar
 
Software Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses BelajarSoftware Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses BelajarPrandita Sega
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basicrahmi wahyuni
 
Matematika Diskrit 4.pdf
Matematika Diskrit 4.pdfMatematika Diskrit 4.pdf
Matematika Diskrit 4.pdfGunkSatria1
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit KuliahKita
 
Nota ulangkaji mte3114 topik 1
Nota ulangkaji mte3114   topik 1Nota ulangkaji mte3114   topik 1
Nota ulangkaji mte3114 topik 1LeeChing Tan
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1ysvcyber
 

Similar to Pengantar strategi algoritma (2015) (20)

1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx
 
Algoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.pptAlgoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.ppt
 
Pengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdfPengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdf
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahan
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahan
 
Basic Counting
Basic CountingBasic Counting
Basic Counting
 
Decrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptxDecrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptx
 
Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsx
 
Pengantar matematika-diskrit
Pengantar matematika-diskritPengantar matematika-diskrit
Pengantar matematika-diskrit
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Solusi quiz 2_AlPro-I
Solusi quiz 2_AlPro-ISolusi quiz 2_AlPro-I
Solusi quiz 2_AlPro-I
 
Software Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses BelajarSoftware Matematika Sebagai Penunjang Proses Belajar
Software Matematika Sebagai Penunjang Proses Belajar
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basic
 
Matematika Diskrit 4.pdf
Matematika Diskrit 4.pdfMatematika Diskrit 4.pdf
Matematika Diskrit 4.pdf
 
Array lanjutan
Array lanjutanArray lanjutan
Array lanjutan
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
 
Nota ulangkaji mte3114 topik 1
Nota ulangkaji mte3114   topik 1Nota ulangkaji mte3114   topik 1
Nota ulangkaji mte3114 topik 1
 
2 pengenalan matlab
2 pengenalan matlab2 pengenalan matlab
2 pengenalan matlab
 
Algo 1 2
Algo 1 2Algo 1 2
Algo 1 2
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1
 

Recently uploaded

Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxDwiYuniarti14
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfkustiyantidew94
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)3HerisaSintia
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxErikaPuspita10
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau tripletMelianaJayasaputra
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 

Recently uploaded (20)

Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptxKesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
Kesebangunan Segitiga matematika kelas 7 kurikulum merdeka.pptx
 
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdfHARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
HARMONI DALAM EKOSISTEM KELAS V SEKOLAH DASAR.pdf
 
Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)Karakteristik Negara Mesir (Geografi Regional Dunia)
Karakteristik Negara Mesir (Geografi Regional Dunia)
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet04-Gemelli.- kehamilan ganda- duo atau triplet
04-Gemelli.- kehamilan ganda- duo atau triplet
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 

Pengantar strategi algoritma (2015)

  • 1. Pengantar Strategi Algoritma RINALDI MUNIR Lab Ilmu dan Rekayasa Komputasi Kelompok Keahlian Informatika Institut Teknologi Bandung INSTITUT TEKNOLOGI BANDUNG PROGRAM STUDI TEKNIK INFORMATIKA Sekolah Teknik Elrektro dan Informatika Bahan Kuliah IF2211 Strategi Algoritma
  • 2. Kampus ITB yang indah… Foto oleh Eko Purwono (AR ITB)
  • 4. LabTek V, di sini Informatika ITB berada Foto oleh Budi Rahardjo (EL ITB)
  • 5. Salah satu mata kuliahnya…. IF2211 Strategi Algoritma
  • 6. Apakah Strategi Algoritma itu? Strategi algoritma (algorithm strategies) adalah: • pendekatan umum • untuk memecahkan persoalan secara algoritmis • yang dapat diterapkan pada bermacam-macam persoalan • dari berbagai bidang komputasi [Levitin, 2003] • Nama lain: algorithm design technique
  • 7. 7 Persoalan (Problem) • Persoalan: pertanyaan atau tugas yang kita cari jawabannya. • Contoh-contoh persoalan: 1. [Persoalan pengurutan] Diberikan senarai (list) S yang terdiri dari n buah integer. Bagaimana mengurutkan n buah integer tersebut sehingga terurut secara menaik? Jawaban: barisan nilai di dalam senarai yang terurut menaik.
  • 8. 8 2. [Persoalan pencarian] Tentukan apakah suatu bilangan x terdapat di dalam sebuah senarai S yang berisi n buah bilangan bulat! Jawaban: “ya” jika x ditemukan di dalam senarai, atau “tidak” jika x tidak terdapat di dalam senarai.
  • 9. 9 • Instansiasi persoalan: parameter nilai yang diasosiasikan di dalam persoalan. • Jawaban terhadap instansiasi persoalan disebut solusi • Contoh: Selesaikan persoalan pengurutan untuk S = [15, 4, 8, 11, 2, 10, 19] n = 7 Solusi: S = [2, 4, 8, 10, 11, 15, 19].
  • 10. 10 Beberapa Contoh Persoalan Klasik 1. Travelling Salesperson Problem (TSP) Persoalan: Diberikan n buah kota serta diketahui jarak antara setiap kota satu sama lain. Temukan perjalanan (tour) terpendek yang dimulai dari sebuah kota dan melalui setiap kota lainnya hanya sekali dan kembali lagi ke kota asal keberangkatan.
  • 11. 11 2. Integer Knapsack Problem Persoalan: Diberikan n buah objek dan sebuah knapsack (karung, tas, buntilan, dsb) dengan kapasitas bobot K. Setiap objek memiliki properti bobot (weigth) wi dan keuntungan (profit) pi. Bagaimana memilih objek-objek yang dimasukkan ke dalam knapsack sedemikian sehingga tidak melebihi kapasitas knapsack namun memebrikan keuntungan maksimal?
  • 12. 3. Persoalan penugasan (assignment problem) Misalkan terdapat n orang dan n buah pekerjaan (job). Setiap orang akan di-assign dengan sebuah pekerjaan. Penugasan orang ke-i dengan pekerjaan ke-j membutuhkan biaya sebesar c(i, j). Bagaimana melakukan penugasan sehingga total biaya penugasan adalah seminimal mungkin?
  • 14. 14 4. Persoalan N-Ratu (The N-Queens Problem) Persoalan: Diberikan sebuah papan catur yang berukuran N × N dan N buah bidak ratu. Bagaimana menempatkan N buah ratu (Q) itu pada petak-petak papan catur sedemikian sehingga tidak ada dua ratu atau lebih yang terletak pada satu baris yang sama, atau pada satu kolom yang sama, atau pada satu diagonal yang sama ?
  • 15. 15 5. Mencari Pasangan Titik Terdekat (Closest Pair) Persoalan: Diberikan n buah titik, tentukan dua buah titik yang terdekat satu sama lain.
  • 16. 16 6. Permainan 15-Puzzle Persoalan: Diberikan sebuah 15-puzzle yang memuat 15 buah ubin (tile) yang diberi nomor 1 sampai 15, dan satu buah slot kosong yang digunakan untuk menggerakkan ubin ke atas, ke bawah, ke kiri, dan ke kanan. Misalkan diberikan keadaan awal dan keadaaan akhir susunan ubin. Kita ingin menransformasikan susunan awal menjadi susunan akhir. (a) Susunan awal (b) Susunan akhir
  • 17. 17 7. Menemukan jalan keluar dari labirin (Maze Problem) Persoalan: Diberikan sebuah labirin dengan satu atau lebih pintu masuk dan satu atau lebih pintu keluar. Temukan jalan yang harus dilalui sehingga seseorang dapat keluar dengan selamat dari labirin tersebut (tidak tersesat di dalamnya).
  • 18. 18 8. Pewarnaan Graf (Graph Colouring) Persoalan: Diberikan sebuah graf G dengan n buah simpul dan disediakan m buah warna. Warnailah seluruh simpul graf G sedemikian sehingga tidak ada dua buah simpul bertetangga yang mempunyai warna sama (Perhatikan juga bahwa tidak seluruh warna harus dipakai)
  • 19. 9. Lintasan terpendek (shortest path) Persoalan: Diketahui n buah kota dan diberikan jarak antara dua buah kota yang bertetangga. Tentukan lintasan terpendek dari sebuah kota asal ke sebuah kota tujuan.
  • 20. 20 Algoritma • Untuk persoalan dengan instansiasi yang besar, solusinya menjadi lebih sulit ditentukan. • Perlu sebuah prosedur umum yang berisi langkah- langkah penyelesaian persoalan algoritma • Algoritma: urutan langkah-langkah untuk memecahkan suatu persoalan, dengan memproses masukan menjadi keluaran.
  • 21. 21 Analisis Algoritma • Tujuan analis: mengukur kinerja (performance) algoritma dari segi kemangkusannya (efficient) • Alat ukur kemangkusan algoritma: 1. Kompleksitas waktu, T(n) 2. Kompleksitas ruang, S(n) • n = ukuran masukan yang diproses oleh algoritma
  • 22. 22 • T(n) : jumlah tahap komputasi yang dilakukan untuk menjalankan sebuah algoritma sebagai fungsi dari ukuran masukan n. • S(n): ruang memori yang dibutuhkan algoritma sebagai fungsi dari ukuran masukan n . • Tiga notasi kebutuhan waktu asimptotik: 1. O(g(n)): batas lebih atas kebutuhan waktu algoritma 2. Ω(g(n)): batas lebih bawah kebutuhan waktu algoritma 3. Θ(g(n)) : jika dan hanya jika O(g(n)) = Ω(g(n))
  • 23. Strategi Algoritma 1. Algoritma Brute-Force 2. Algoritma Greedy 3. Algoritma Divide and Conquer 4. Algoritma Decrease and Conquer 5. Algoritma Bactracking 6. Algoritma Branch and Bound 7. Dynamic programming
  • 24. 24 Mengapa Perlu Mempelajari Strategi Algoritma? • Ada dua alasan (Levitin, 2003): 1. Memberikan panduan (guidance) untuk merancang algoritma bagi persoalan baru. 2. Dapat mengklasifikasikan algoritma berdasarkan gagasan perancangan yang mendasarinya.
  • 25. 25 Klasifikasi Strategi Algoritma: 1. Strategi solusi langsung (direct solution strategies) - Algoritma Brute Force - Algoritma Greedy 2. Strategi berbasis pencarian pada ruang status (state-space base strategies) - Algoritma Backtracking - Algoritma Branch and Bound
  • 26. 26 3. Strategi solusi atas-bawah (top-down solution strategies) - Algoritma Divide and Conquer. - Algoritma Decrease and Conquer 4. Strategi solusi bawah-atas (bottom-up solution strategies) - Dynamic Programming. • Catatan: klasifikasi ini tidak kaku, bisa berbeda bergantung pendekatan ayng digunakan.