SlideShare a Scribd company logo
1 of 24
Download to read offline
PENGENALAN ANALISIS ALGORITMA
Contoh Masalah
• Masalah atau persoalan: pertanyaan atau tugas yang
kita cari jawabannya
Contoh :
[Masalah pengurutan] Diberikan senarai (list) S yang
[Masalah pengurutan] Diberikan senarai (list) S yang
terdiri dari n buah data bilangan bulat. Bagaimana
mengurutkan n buah data tersebut sehingga terurut
secara menaik?
Jawaban dari masalah ini: barisan nilai di dalam senarai
yang terurut menaik.
Contoh Masalah
[Masalah pencarian] Tentukan apakah suatu
bilangan x terdapat di dalam sebuah senarai S
yang berisi n buah bilangan bulat!
Jawaban dari masalah ini: “ya” jika x
ditemukan di dalam senarai, atau “tidak” jika x
tidak terdapat di dalam senarai.
• Instansiasi masalah: parameter nilai yang
diasosiasikan pada masalah
• Jawaban terhadap instansiasi masalah disebut
solusi
solusi
Contoh: Selesaikan masalah pengurutan untuk
S = [15, 4, 8, 11, 2, 10, 19] n = 7
Solusi: S = [2, 4, 8, 10, 11, 15, 19].
Algoritma
• Untuk masalah dengan instansiasi yang besar, solusinya menjadi
lebih sulit.
• Perlu sebuah prosedur umum yang berisi langkah penyelesaian
masalah
• Definisi
• Definisi
– Algoritma adalah deretan langkah-langkah komputasi yang
mentransformasikan data masukan menjadi keluaran[COR92].
– Algoritma adalah deretan instruksi yang jelas untuk memecahkan
masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu
masukan dalam jumlah waktu yang terbatas. [LEV03].
Algoritma adalah urutan langkah-langkah untuk memecahkan suatu
masalah
Notasi
• Notasi apapun dapat digunakan untuk
menuliskan algoritma asalkan mudah dibaca
dan dipahami.
• Algoritma dapat ditulis dengan notasi:
• Algoritma dapat ditulis dengan notasi:
1. Bagan alir (flow chart)
2. Kalimat-kalimat deskriptif
3. Pseudo-code (gabungan antara bahasa alami
dengan bahasa pemrograman)
Algorithm Design Process
Penjelasan Design Process
• Input : contoh : menentukan jangkauan masalah
• Kemampuan peralatan komputasi
• Perkiraan :
– Masalah tidak dapat diselesaikan dengan tepat
– Masalah tidak dapat diselesaikan dengan tepat
misalnya akar pangkat dua
– Algoritma memiliki solusi secara tepat akan ditolak
jika memerlukan waktu yang relatif lama
– Algortima perkiraan adalah bagian dari algoritma
eksak yang lebih memuaskan
Penjelasan Design Process
• Algoritma + struktur data = program
• Pendekatan umum untuk memecahkan masalah
secara algoritmik.
– Menentukan algoritma :
– Menggunakan bahasa alami
– Menggunakan flowchart
– Menggunakan pseudocode
– Menggunakan source code program
– Menggunakan desain hardware
– Bentuk lain yang lebih cocok.
Penjelasan Design Process
• Correctness : membuktikan bahwa algoritma
menghasilkan hasil yang diinginkan untuk
setiap input yang sesuai dalam waktu tertentu
– Biasanya menggunakan induksi matematis
– Biasanya menggunakan induksi matematis
– Dapat kita gunakan tracing sederhana
– incorrectness
– Approx algotitma  Error  limit
Penjelasan Design Process
• Kualitas algoritma :
– Correctness
– Efficiency :
• Efisiensi waktu
• Efisiensi ruang
• Efisiensi ruang
• Simplicity
• Generality : masalah dan rentang inputan
• Pemrograman Algoritma :
– Resiko : transisis yang tidak benar atau tidak efisien
– Pembuktian kebenaran program
– Practical : testing dan debugging
Algorithm Design Techniques
pendekatan umum untuk memecahkan
masalah secara algoritmis yang dapat
diterapkan pada beraneka ragam masalah
guna mencapai tujuan
guna mencapai tujuan
Klasifikasi strategi algo
1. Strategi solusi langsung (direct solution
strategies)
- Algoritma Brute Force
- Algoritma Greedy
- 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.
4. Strategi solusi bawah-atas (bottom-up
4. Strategi solusi bawah-atas (bottom-up
solution strategies)
- Dynamic Programming.
Problem Types
• Sorting
• Searching
• String processing
• Graph problem
• Graph problem
• Combinatorial problem
• Geometric Problem
• Numerical Problem
Tipe Problem : Sorting
• Problem : menyususn ulang hal-hal yang
terdapat pada daftar dengan urutan naik.
• Jika ada records , kita perlu sebuah key
• Terdapat beberapa lusin algoritma sorting
• Terdapat beberapa lusin algoritma sorting
• Dua properti algortima sorting :
– Stabil : Mempertahankan urutan relatif
sembarang dua elemen input yang sama
– Di tempat : tidak memerlukan memori ekstra
kecuali , mungkin beberapa unti memori
Tipe Problem :Searching
• Masalah : menemukan suatu nilai dari
sekumpulan nilai yang ada.
• Jangkauan algoritma searching :
Pencarian sekuensial hingga binary (sangat efisien,
namun terbatas) dan algoritma didasarkan pada
namun terbatas) dan algoritma didasarkan pada
representasi kumpulan nilai tersebut sehingga
memungkinkan pencarian yang lebih baik.
• Tantangan :
Kumpulam data yang sangat besar
Update : add, edit, delete
Tipe Problem : Pemrosesan String
• String = urutan karakter alphabet
• Minat Khusus : text strings, binary strings dan
lain-lain
• Problem yang khusus : pencocokan string
• Problem yang khusus : pencocokan string
Pencarian suatu kata dalam text
Tipe Problem : Graph Problem
• Algoritma graph dasar : graph traversal,
shortest-path, sorting topologik pada graph
dengan ujung berarah
• Beberapa masalah sangat sulit diselesaikan
• Beberapa masalah sangat sulit diselesaikan
dengan cara komputasi hanya beberapa
contoh yang dapat diselesaikan dalam waktu
yang dapat diterima. Contoh :
TSP (Traveling Salesman Problem)
GCP(Graph Coloring Problem)  Pewarnaan
Graph
Tipe Problem : Combinatorial
Problem
• Masalah : Menemukan suatu objek kombinatorik
seperti permutasi, kombinasi atau subset yang
memenuhi batasan tertentu dan memiliki
properti yang diinginkan.
• Problem yang paling sulit :
• Problem yang paling sulit :
Sejumlah objek kombinatorik tertentu tumbuh
dengan cepat seiring peningkatan ukuran masalah.
Tidak diketahui algoritma eksak untuk menyelesaikan
masalah tersebut.
• Salah satu contohnya TSP dan GCP.
Tipe Problem : Geometric Problem
• Berkaitan dengan objek geometrik : titik, garis.
poligon dan lain-lain
• Yunani Kuno : membangun geometrik sederhana
contohnya segitiga, lingkaran dan lain-lain
Masa kini : aplikasi komputer grafik, robot
• Masa kini : aplikasi komputer grafik, robot
• Masalah klasik :
 Problem closest pair : diberikan titik pada suatu
bidang, dan temukan pasangan terdekatnya
 Convex hull : temukan poligon cembung terkecil
yang melibatkan smeua titik yang telah ditentukan
Tipe Problem : Numeric Problem
• Berkaitan dengan objek matematis yang memiliki sifat
kontinyu: memecahkan persamaan dan sistem persamaan,
menghitung integral tak hingga dan lain-lain
• Mayoritas permasalahan diatas dapat dipecahkan dengan
perkiraan.
Komputer hanya akan merepresentasi angka real dengan kira-
Komputer hanya akan merepresentasi angka real dengan kira-
kira.
Akumulasi kesalahan round-off
• Perubahan fokus komputasi industri : analisis numerik
(pada industri dan ilmu pengetahuan) menuju aplikasi
bisnis (penyimpanan informasi, transportasi melalui
jaringan dang presentasi kepada pengguna)
Analisis Algoritma
• Sebuah algoritma tidak hanya harus benar, tetapi
juga harus mangkus (efficient)
• Ukuran kemangkusan algoritma: waktu dan ruang
memori (space).
memori (space).
• Algoritma yang mangkus: algoritma yang
meminimumkan kebutuhan waktu dan ruang
Alat ukur efesiensi algoritma
• Alat ukur kemangkusan algoritma:
1. Kompleksitas waktu, T(n)
2. Kompleksitas ruang, S(n)
• n = ukuran masukan yang diproses oleh algoritma
n = ukuran masukan yang diproses oleh algoritma
• T(n) : jumlah operasi 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

More Related Content

Similar to Pengenalan Analisis Algoritma.pdf

Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand outgivaro igfar
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdfdedisusanto41
 
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptxfile_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptxMUHAMMADRISKYFEBRIAN1
 
Defri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.pptDefri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.pptSafatUmboro
 
Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarDudy Ali
 
Met num1 pendahuluan-new
Met num1 pendahuluan-newMet num1 pendahuluan-new
Met num1 pendahuluan-newAlen Pepa
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerohohervin
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritmaRohwiyanto Oi
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAdam Mukharil Bachtiar
 
pengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliahpengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliahDikyAnggoro2
 
pengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliahpengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliahDikyAnggoro2
 
Uraian CPL 1 2015.pdf
Uraian CPL 1 2015.pdfUraian CPL 1 2015.pdf
Uraian CPL 1 2015.pdfharpitojasri
 

Similar to Pengenalan Analisis Algoritma.pdf (20)

Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdf
 
Metode numerik-stmik-aub
Metode numerik-stmik-aubMetode numerik-stmik-aub
Metode numerik-stmik-aub
 
sns alpro-I_ithb
sns alpro-I_ithbsns alpro-I_ithb
sns alpro-I_ithb
 
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptxfile_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
file_2013-07-14_19_00_07_Defri_Kurniawan,_M.Kom__Problem_Solving.pptx
 
Defri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.pptDefri_Kurniawan,_M.Kom__Problem_Solving.ppt
Defri_Kurniawan,_M.Kom__Problem_Solving.ppt
 
Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
 
Silabus 1 pc m indah
Silabus 1 pc m indahSilabus 1 pc m indah
Silabus 1 pc m indah
 
Met num1 pendahuluan-new
Met num1 pendahuluan-newMet num1 pendahuluan-new
Met num1 pendahuluan-new
 
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Berkas
Berkas Berkas
Berkas
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritma
 
3-1 Algoritma.pptx
3-1 Algoritma.pptx3-1 Algoritma.pptx
3-1 Algoritma.pptx
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
 
Algo dn pemrogaman
Algo dn pemrogamanAlgo dn pemrogaman
Algo dn pemrogaman
 
pengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliahpengenalan algoritma komputasi untuk kuliah
pengenalan algoritma komputasi untuk kuliah
 
pengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliahpengenalan algoritma komputasi sains untuk kuliah
pengenalan algoritma komputasi sains untuk kuliah
 
Uraian CPL 1 2015.pdf
Uraian CPL 1 2015.pdfUraian CPL 1 2015.pdf
Uraian CPL 1 2015.pdf
 
14 CPL BKSTI.pdf
14 CPL BKSTI.pdf14 CPL BKSTI.pdf
14 CPL BKSTI.pdf
 

Recently uploaded

Materi Kelas 8 - Unsur, Senyawa dan Campuran.pptx
Materi Kelas 8 - Unsur, Senyawa dan Campuran.pptxMateri Kelas 8 - Unsur, Senyawa dan Campuran.pptx
Materi Kelas 8 - Unsur, Senyawa dan Campuran.pptxRizkya19
 
Petunjuk Teknis Penggunaan Aplikasi OSNK 2024
Petunjuk Teknis Penggunaan Aplikasi OSNK 2024Petunjuk Teknis Penggunaan Aplikasi OSNK 2024
Petunjuk Teknis Penggunaan Aplikasi OSNK 2024SDNTANAHTINGGI09
 
Pengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptx
Pengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptxPengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptx
Pengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptxsd1patukangan
 
3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.ppt
3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.ppt3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.ppt
3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.pptsulistyaningsih20
 
Ruang Lingkup Lembaga Keuangan Bank dan Non Bank
Ruang Lingkup Lembaga Keuangan Bank dan Non BankRuang Lingkup Lembaga Keuangan Bank dan Non Bank
Ruang Lingkup Lembaga Keuangan Bank dan Non BankYunitaReykasari
 
Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...
Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...
Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...TitinSolikhah2
 
FORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptx
FORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptxFORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptx
FORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptxantonkustanto
 
2. soal ujian sekolah dasar bahasa indonesia.docx
2. soal ujian sekolah dasar bahasa indonesia.docx2. soal ujian sekolah dasar bahasa indonesia.docx
2. soal ujian sekolah dasar bahasa indonesia.docxNiWayanEkaLansuna1
 
MATERI IPA KELAS 9 SMP: BIOTEKNOLOGI ppt
MATERI IPA KELAS 9 SMP: BIOTEKNOLOGI pptMATERI IPA KELAS 9 SMP: BIOTEKNOLOGI ppt
MATERI IPA KELAS 9 SMP: BIOTEKNOLOGI pptAnggitBetaniaNugraha
 
Biokimia Gizi 13: Metabolisme Mineral 2024.pptx
Biokimia Gizi 13: Metabolisme Mineral 2024.pptxBiokimia Gizi 13: Metabolisme Mineral 2024.pptx
Biokimia Gizi 13: Metabolisme Mineral 2024.pptxEmmyKardianasari
 
Biokimia Gizi 12: Metabolisme Vitamin 2024.pptx
Biokimia Gizi 12: Metabolisme Vitamin 2024.pptxBiokimia Gizi 12: Metabolisme Vitamin 2024.pptx
Biokimia Gizi 12: Metabolisme Vitamin 2024.pptxEmmyKardianasari
 
materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021
materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021
materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021AdeImot
 
Analisis varinasi (anova) dua arah dengan interaksi
Analisis varinasi (anova) dua arah dengan interaksiAnalisis varinasi (anova) dua arah dengan interaksi
Analisis varinasi (anova) dua arah dengan interaksiMemenAzmi1
 

Recently uploaded (13)

Materi Kelas 8 - Unsur, Senyawa dan Campuran.pptx
Materi Kelas 8 - Unsur, Senyawa dan Campuran.pptxMateri Kelas 8 - Unsur, Senyawa dan Campuran.pptx
Materi Kelas 8 - Unsur, Senyawa dan Campuran.pptx
 
Petunjuk Teknis Penggunaan Aplikasi OSNK 2024
Petunjuk Teknis Penggunaan Aplikasi OSNK 2024Petunjuk Teknis Penggunaan Aplikasi OSNK 2024
Petunjuk Teknis Penggunaan Aplikasi OSNK 2024
 
Pengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptx
Pengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptxPengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptx
Pengembangan Modul Ajar (Asesmen-Berdiferensiasi dan Kolaboratif).pptx
 
3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.ppt
3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.ppt3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.ppt
3. Sejarah masuknya islam ke Nusantara dan KERAJAAN ISLAM DEMAK.ppt
 
Ruang Lingkup Lembaga Keuangan Bank dan Non Bank
Ruang Lingkup Lembaga Keuangan Bank dan Non BankRuang Lingkup Lembaga Keuangan Bank dan Non Bank
Ruang Lingkup Lembaga Keuangan Bank dan Non Bank
 
Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...
Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...
Lampiran 4 _ Lembar Kerja Rencana Pengembangan Kompetensi DIri_Titin Solikhah...
 
FORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptx
FORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptxFORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptx
FORMULASI SEDIAAN PADAT DAN BAHAN ALAM.pptx
 
2. soal ujian sekolah dasar bahasa indonesia.docx
2. soal ujian sekolah dasar bahasa indonesia.docx2. soal ujian sekolah dasar bahasa indonesia.docx
2. soal ujian sekolah dasar bahasa indonesia.docx
 
MATERI IPA KELAS 9 SMP: BIOTEKNOLOGI ppt
MATERI IPA KELAS 9 SMP: BIOTEKNOLOGI pptMATERI IPA KELAS 9 SMP: BIOTEKNOLOGI ppt
MATERI IPA KELAS 9 SMP: BIOTEKNOLOGI ppt
 
Biokimia Gizi 13: Metabolisme Mineral 2024.pptx
Biokimia Gizi 13: Metabolisme Mineral 2024.pptxBiokimia Gizi 13: Metabolisme Mineral 2024.pptx
Biokimia Gizi 13: Metabolisme Mineral 2024.pptx
 
Biokimia Gizi 12: Metabolisme Vitamin 2024.pptx
Biokimia Gizi 12: Metabolisme Vitamin 2024.pptxBiokimia Gizi 12: Metabolisme Vitamin 2024.pptx
Biokimia Gizi 12: Metabolisme Vitamin 2024.pptx
 
materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021
materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021
materi perkuliahan PERTANIAN BERKELANJUTAN S1 2021
 
Analisis varinasi (anova) dua arah dengan interaksi
Analisis varinasi (anova) dua arah dengan interaksiAnalisis varinasi (anova) dua arah dengan interaksi
Analisis varinasi (anova) dua arah dengan interaksi
 

Pengenalan Analisis Algoritma.pdf

  • 2. Contoh Masalah • Masalah atau persoalan: pertanyaan atau tugas yang kita cari jawabannya Contoh : [Masalah pengurutan] Diberikan senarai (list) S yang [Masalah pengurutan] Diberikan senarai (list) S yang terdiri dari n buah data bilangan bulat. Bagaimana mengurutkan n buah data tersebut sehingga terurut secara menaik? Jawaban dari masalah ini: barisan nilai di dalam senarai yang terurut menaik.
  • 3. Contoh Masalah [Masalah pencarian] Tentukan apakah suatu bilangan x terdapat di dalam sebuah senarai S yang berisi n buah bilangan bulat! Jawaban dari masalah ini: “ya” jika x ditemukan di dalam senarai, atau “tidak” jika x tidak terdapat di dalam senarai.
  • 4. • Instansiasi masalah: parameter nilai yang diasosiasikan pada masalah • Jawaban terhadap instansiasi masalah disebut solusi solusi Contoh: Selesaikan masalah pengurutan untuk S = [15, 4, 8, 11, 2, 10, 19] n = 7 Solusi: S = [2, 4, 8, 10, 11, 15, 19].
  • 5. Algoritma • Untuk masalah dengan instansiasi yang besar, solusinya menjadi lebih sulit. • Perlu sebuah prosedur umum yang berisi langkah penyelesaian masalah • Definisi • Definisi – Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data masukan menjadi keluaran[COR92]. – Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas. [LEV03]. Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah
  • 6. Notasi • Notasi apapun dapat digunakan untuk menuliskan algoritma asalkan mudah dibaca dan dipahami. • Algoritma dapat ditulis dengan notasi: • Algoritma dapat ditulis dengan notasi: 1. Bagan alir (flow chart) 2. Kalimat-kalimat deskriptif 3. Pseudo-code (gabungan antara bahasa alami dengan bahasa pemrograman)
  • 8. Penjelasan Design Process • Input : contoh : menentukan jangkauan masalah • Kemampuan peralatan komputasi • Perkiraan : – Masalah tidak dapat diselesaikan dengan tepat – Masalah tidak dapat diselesaikan dengan tepat misalnya akar pangkat dua – Algoritma memiliki solusi secara tepat akan ditolak jika memerlukan waktu yang relatif lama – Algortima perkiraan adalah bagian dari algoritma eksak yang lebih memuaskan
  • 9. Penjelasan Design Process • Algoritma + struktur data = program • Pendekatan umum untuk memecahkan masalah secara algoritmik. – Menentukan algoritma : – Menggunakan bahasa alami – Menggunakan flowchart – Menggunakan pseudocode – Menggunakan source code program – Menggunakan desain hardware – Bentuk lain yang lebih cocok.
  • 10. Penjelasan Design Process • Correctness : membuktikan bahwa algoritma menghasilkan hasil yang diinginkan untuk setiap input yang sesuai dalam waktu tertentu – Biasanya menggunakan induksi matematis – Biasanya menggunakan induksi matematis – Dapat kita gunakan tracing sederhana – incorrectness – Approx algotitma Error limit
  • 11. Penjelasan Design Process • Kualitas algoritma : – Correctness – Efficiency : • Efisiensi waktu • Efisiensi ruang • Efisiensi ruang • Simplicity • Generality : masalah dan rentang inputan • Pemrograman Algoritma : – Resiko : transisis yang tidak benar atau tidak efisien – Pembuktian kebenaran program – Practical : testing dan debugging
  • 12. Algorithm Design Techniques pendekatan umum untuk memecahkan masalah secara algoritmis yang dapat diterapkan pada beraneka ragam masalah guna mencapai tujuan guna mencapai tujuan
  • 13. Klasifikasi strategi algo 1. Strategi solusi langsung (direct solution strategies) - Algoritma Brute Force - Algoritma Greedy - Algoritma Greedy 2. Strategi berbasis pencarian pada ruang status (state-space base strategies) - Algoritma backtracking - Algoritma Branch and Bound
  • 14. 3. Strategi solusi atas-bawah (top-down solution strategies) - Algoritma Divide and Conquer. 4. Strategi solusi bawah-atas (bottom-up 4. Strategi solusi bawah-atas (bottom-up solution strategies) - Dynamic Programming.
  • 15. Problem Types • Sorting • Searching • String processing • Graph problem • Graph problem • Combinatorial problem • Geometric Problem • Numerical Problem
  • 16. Tipe Problem : Sorting • Problem : menyususn ulang hal-hal yang terdapat pada daftar dengan urutan naik. • Jika ada records , kita perlu sebuah key • Terdapat beberapa lusin algoritma sorting • Terdapat beberapa lusin algoritma sorting • Dua properti algortima sorting : – Stabil : Mempertahankan urutan relatif sembarang dua elemen input yang sama – Di tempat : tidak memerlukan memori ekstra kecuali , mungkin beberapa unti memori
  • 17. Tipe Problem :Searching • Masalah : menemukan suatu nilai dari sekumpulan nilai yang ada. • Jangkauan algoritma searching : Pencarian sekuensial hingga binary (sangat efisien, namun terbatas) dan algoritma didasarkan pada namun terbatas) dan algoritma didasarkan pada representasi kumpulan nilai tersebut sehingga memungkinkan pencarian yang lebih baik. • Tantangan : Kumpulam data yang sangat besar Update : add, edit, delete
  • 18. Tipe Problem : Pemrosesan String • String = urutan karakter alphabet • Minat Khusus : text strings, binary strings dan lain-lain • Problem yang khusus : pencocokan string • Problem yang khusus : pencocokan string Pencarian suatu kata dalam text
  • 19. Tipe Problem : Graph Problem • Algoritma graph dasar : graph traversal, shortest-path, sorting topologik pada graph dengan ujung berarah • Beberapa masalah sangat sulit diselesaikan • Beberapa masalah sangat sulit diselesaikan dengan cara komputasi hanya beberapa contoh yang dapat diselesaikan dalam waktu yang dapat diterima. Contoh : TSP (Traveling Salesman Problem) GCP(Graph Coloring Problem) Pewarnaan Graph
  • 20. Tipe Problem : Combinatorial Problem • Masalah : Menemukan suatu objek kombinatorik seperti permutasi, kombinasi atau subset yang memenuhi batasan tertentu dan memiliki properti yang diinginkan. • Problem yang paling sulit : • Problem yang paling sulit : Sejumlah objek kombinatorik tertentu tumbuh dengan cepat seiring peningkatan ukuran masalah. Tidak diketahui algoritma eksak untuk menyelesaikan masalah tersebut. • Salah satu contohnya TSP dan GCP.
  • 21. Tipe Problem : Geometric Problem • Berkaitan dengan objek geometrik : titik, garis. poligon dan lain-lain • Yunani Kuno : membangun geometrik sederhana contohnya segitiga, lingkaran dan lain-lain Masa kini : aplikasi komputer grafik, robot • Masa kini : aplikasi komputer grafik, robot • Masalah klasik : Problem closest pair : diberikan titik pada suatu bidang, dan temukan pasangan terdekatnya Convex hull : temukan poligon cembung terkecil yang melibatkan smeua titik yang telah ditentukan
  • 22. Tipe Problem : Numeric Problem • Berkaitan dengan objek matematis yang memiliki sifat kontinyu: memecahkan persamaan dan sistem persamaan, menghitung integral tak hingga dan lain-lain • Mayoritas permasalahan diatas dapat dipecahkan dengan perkiraan. Komputer hanya akan merepresentasi angka real dengan kira- Komputer hanya akan merepresentasi angka real dengan kira- kira. Akumulasi kesalahan round-off • Perubahan fokus komputasi industri : analisis numerik (pada industri dan ilmu pengetahuan) menuju aplikasi bisnis (penyimpanan informasi, transportasi melalui jaringan dang presentasi kepada pengguna)
  • 23. Analisis Algoritma • Sebuah algoritma tidak hanya harus benar, tetapi juga harus mangkus (efficient) • Ukuran kemangkusan algoritma: waktu dan ruang memori (space). memori (space). • Algoritma yang mangkus: algoritma yang meminimumkan kebutuhan waktu dan ruang
  • 24. Alat ukur efesiensi algoritma • Alat ukur kemangkusan algoritma: 1. Kompleksitas waktu, T(n) 2. Kompleksitas ruang, S(n) • n = ukuran masukan yang diproses oleh algoritma n = ukuran masukan yang diproses oleh algoritma • T(n) : jumlah operasi 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