SlideShare a Scribd company logo
Pengantar Strategi
Algoritma
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
Persoalan (Problem)
• Persoalan: pertanyaan atau tugas yang kita cari
jawabannya.
• Aspek-aspek algoritma
1. Valid = harus benar (memberikan output yang
diinginkan)
2. Efektif=algoritma harus akurat dan tepat guna
3. Efesien= algoritma harus hemat, cepat dan harus
terhitung
4. Logis dan struktur
• 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.
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.
• 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].
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.
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:
11
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 ?
5. Mencari Pasangan Titik Terdekat (Closest Pair)
Persoalan: Diberikan n buah titik, tentukan dua buah
titik yang terdekat satu sama lain.
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
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).
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.
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.
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
• 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
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.
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
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 yang digunakan.

More Related Content

Similar to 1. Pengantar Strategi Algoritma.pptx

Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
evarahma70
 
Metode Numerik Hybrid, pertemuan pertama
Metode Numerik Hybrid, pertemuan pertamaMetode Numerik Hybrid, pertemuan pertama
Metode Numerik Hybrid, pertemuan pertama
WaksalahraboUwak
 
B ab 01 metode numerik secara umum
B ab  01 metode numerik secara umumB ab  01 metode numerik secara umum
B ab 01 metode numerik secara umum
alamsyah88
 
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
IndraWahyu33
 
Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problemEghan Jaya
 
Instalasi Dev-C++
Instalasi Dev-C++Instalasi Dev-C++
Instalasi Dev-C++
staffpengajar
 
Buat persentasi
Buat persentasiBuat persentasi
Buat persentasi
ryan_wicaksonop
 
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
ArunachalamSelva
 
Konsep Array_sns
Konsep Array_snsKonsep Array_sns
Konsep Array_sns
staffpengajar
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
KuliahKita
 
sns alpro-I_ithb
sns alpro-I_ithbsns alpro-I_ithb
sns alpro-I_ithb
staffpengajar
 
Materisoalmatematika
MaterisoalmatematikaMaterisoalmatematika
Materisoalmatematikabenipurnama
 
Cepat mahir dengan matlab
Cepat mahir dengan matlabCepat mahir dengan matlab
Cepat mahir dengan matlab
Nur Hy
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdf
ArvinThamsir1
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
givaro igfar
 
Algoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan KeputusanAlgoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan Keputusan
NoerisEkaBudiarti
 
Algoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).pptAlgoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).ppt
sayfa3
 
Muhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulus
Muhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulusMuhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulus
Muhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulus
MuhamadRafiulFajar
 

Similar to 1. Pengantar Strategi Algoritma.pptx (20)

Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
Terjemahan bahasa indonesia (foundation of algorithm by richard neapolitan)
 
Metode Numerik Hybrid, pertemuan pertama
Metode Numerik Hybrid, pertemuan pertamaMetode Numerik Hybrid, pertemuan pertama
Metode Numerik Hybrid, pertemuan pertama
 
B ab 01 metode numerik secara umum
B ab  01 metode numerik secara umumB ab  01 metode numerik secara umum
B ab 01 metode numerik secara umum
 
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
 
Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problem
 
Instalasi Dev-C++
Instalasi Dev-C++Instalasi Dev-C++
Instalasi Dev-C++
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Buat persentasi
Buat persentasiBuat persentasi
Buat persentasi
 
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
 
Konsep Array_sns
Konsep Array_snsKonsep Array_sns
Konsep Array_sns
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
 
sns alpro-I_ithb
sns alpro-I_ithbsns alpro-I_ithb
sns alpro-I_ithb
 
Materisoalmatematika
MaterisoalmatematikaMaterisoalmatematika
Materisoalmatematika
 
Cepat mahir dengan matlab
Cepat mahir dengan matlabCepat mahir dengan matlab
Cepat mahir dengan matlab
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdf
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Algoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan KeputusanAlgoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan Keputusan
 
Algoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).pptAlgoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).ppt
 
Algoritma greedy
Algoritma greedyAlgoritma greedy
Algoritma greedy
 
Muhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulus
Muhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulusMuhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulus
Muhamad rafi'ul fajar 201011402127 pertemuan ke 16 & 17 kalkulus
 

Recently uploaded

Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
AssyifaFarahDiba1
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
Ekhwan2
 
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.pptBAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
Ggproject
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
Pemdes Wonoyoso
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
acehirfan
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
Pemdes Wonoyoso
 
KTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdfKTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdf
khalisahumairahh
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
renprogarksd3
 
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptxKanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
ssuser283069
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
subbidtekinfo813
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
BanjarMasin4
 
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptxTugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
fauzandika
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
AjrunAzhiima
 

Recently uploaded (13)

Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
 
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.pptBAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
BAB 5 SIKLUS INVESTASI DAN PENDANAAN.ppt
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
 
KTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdfKTSP Raudhatul Athfal Kementerian Agama.pdf
KTSP Raudhatul Athfal Kementerian Agama.pdf
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
 
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptxKanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
Kanvas BAGJA prakarsa perubahan.visi guru penggerakpptx
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
 
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptxTugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
Tugas Sequence Diagram Rekayasa Perangkat Lunak.pptx
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
 

1. Pengantar Strategi Algoritma.pptx

  • 2. 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
  • 3. Persoalan (Problem) • Persoalan: pertanyaan atau tugas yang kita cari jawabannya. • Aspek-aspek algoritma 1. Valid = harus benar (memberikan output yang diinginkan) 2. Efektif=algoritma harus akurat dan tepat guna 3. Efesien= algoritma harus hemat, cepat dan harus terhitung 4. Logis dan struktur
  • 4. • 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.
  • 5. 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.
  • 6. • 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].
  • 7. 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.
  • 8. 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?
  • 9. 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?
  • 11. 11 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 ?
  • 12. 5. Mencari Pasangan Titik Terdekat (Closest Pair) Persoalan: Diberikan n buah titik, tentukan dua buah titik yang terdekat satu sama lain.
  • 13. 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
  • 14. 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).
  • 15. 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)
  • 16. 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.
  • 17. 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.
  • 18. 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
  • 19. • 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))
  • 20. 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
  • 21. 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.
  • 22. 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
  • 23. 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 yang digunakan.