R ESPONSI UAS DAA MIT SKI IT Telkom. Q UICKSORT ( D IVIDE AND C ONQUER ) Cara2nya,, Pilih Anggota secara random (misal ambil yang ketengah) sebutlah anggota.

Slides:



Advertisements
Presentasi serupa
Sorting (Pengurutan).
Advertisements

Algoritma dan Struktur Data
PENGURUTAN (SORTING).
Pengurutan cepat (quick sort)
QUICK SORT Kelompok 9.
Algoritma Divide and Conquer
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
Pengantar Algoritma.
SORT (pengurutan) M. Ajir Muzakki, S.Si.
PENCARIAN (SEARCHING)
Modul-8 : Algoritma dan Struktur Data
Notasi Algoritma.
Quick Sort dan Merge Sort
Sistem Persamaan Linear
Algoritma dan Struktur Data
Sorting 2007/2008 – Ganjil – Minggu 5.
1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT.
1 Pertemuan 9 DIVIDE And CONQUER Matakuliah: T0034/Perancangan & Analisis Algoritma Tahun: 2005 Versi: R1/0.
Pertemuan 10 DIVIDE And CONQUER Lanjutan ….
Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 9 DIVIDE AND CONQUER (1)
Algoritma Divide and Conquer (Bagian 2) Wahyul Wahidah Maulida, ST.,M.Eng.
12-CRS-0106 REVISED 8 FEB 2013 CSG523/ Desain dan Analisis Algoritma Divide and Conquer Intelligence, Computing, Multimedia (ICM)
Algoritma Brute Force Oleh: Muhammad Musta’in ( )
Insertion Sort Dilakukan dengan cara membandingkan data ke-i (di mana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya.
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Prodi S1-Sistem Komputer, F Teknik Elektro
Algoritma dan Pemrograman Subrutin
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma Pencarian (searching)
KUG1A3 Algoritma& Pemrograman
CSG3F3/ Desain dan Analisis Algoritma
LANJUTAN DARI SHORTING
Algoritma dan Pemrograman Searching
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
Bubble Sort Metode pengurutan gelembung diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan.
MATERI PERKULIAHAN ANALISIS ALGORITMA
KUG1A3 Algoritma& Pemrograman
Struktur Data Prio Handoko, S. Kom., M.T.I.
Algoritma Divide and Conquer
Algoritma dan Pemrograman Searching
MATERI PERKULIAHAN ANALISIS ALGORITMA
PENGURUTAN (SORTING) Pengurutan adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat dilakukan secara.
PENGURUTAN (SORTING).
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pengurutan (Sorting).
Algoritma dan Struktur Data
Pengurutan cepat (quick sort)
Analisis Algoritma dan Struktur Data
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Modul 6 : Analisis Algoritma dan Struktur Data
Sorting Shell sort, Merge sort, Quick sort
MATERI PERKULIAHAN ANALISIS ALGORITMA
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
SEARCHING (PENCARIAN)
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Algoritma dan Pemrograman Searching
Algoritma Brute Force.
Sorting (Pengurutan).
Algoritma Divide and Conquer
Algoritma Rekursif Alpro-2.
Algoritma Divide and Conquer
Algoritma Divide and Conquer
SORTING (PENGURUTAN).
Pencarian (searching)
Sorting Dasar Pemrograman
Pengulangan Repeat – Until (lanjutan)
While – Do (Lanjutan) Temu 11.
Sorting (Pengurutan).
Transcript presentasi:

R ESPONSI UAS DAA MIT SKI IT Telkom

Q UICKSORT ( D IVIDE AND C ONQUER ) Cara2nya,, Pilih Anggota secara random (misal ambil yang ketengah) sebutlah anggota itu namanya pembatas Buat Semua Yang disebelah kiri pembatas lebih kecil dari pembatas dan buat yang sebelah kanan pembatas itu lebih besar dari pembatas ( Conquer ) Pecah dari paling kiri sampai pembatas lakukan langkah pertama lagi (Divide ) Pecah dari paling kanan sampai pembatas lakukan langkah pertama lagi (Divide)

procedure QuickSort(input/output A : TabelInt, input i,j: integer) Deklarasi k : integer Algoritma: if i 1 } Partisi(A, i, j, k) { Dipartisi pada indeks k } QuickSort(A, i, k) { Urut A[i..k] dengan Quick Sort } QuickSort(A, k+1, j) { Urut A[k+1..j] dengan Quick Sort } endif

procedure Partisi(input/output A : TabelInt, input i, j : integer, output q : integer) Deklarasi pivot, temp : integer Algoritma: pivot  A[(i + j) div 2] { pivot = elemen tengah} p  i q  j repeat while A[p] < pivot do p  p + 1 endwhile { A[p] >= pivot} while A[q] > pivot do q  q – 1 endwhile { A[q] <= pivot} if p  q then {pertukarkan A[p] dengan A[q] } temp  A[p] A[p]  A[q] A[q]  temp {tentukan awal pemindaian berikutnya } p  p + 1 q  q - 1 endif until p > q

C ONTOH K ASUS UAS T AUN LALU (W EIRD S ORT ) Buat Algoritma Sort Agar Kumpulan Bilangan 1,3,-5,-7,-2,0,-8,9,7,8 terurut menjadi -2,-5,-7,-8,0,1,3,7,8,9 Gunakan Algoritma Sort Dengan kompleksitas terendah menurut anda,, Tuliskan langkah2 sortirnya saja tidak usah tulis dalam syntaks algoritma

Modifikasi Quick Sort ….. 1,3,-5,-7,-2,0,-8,9,7,8 -8,3,-5,-7.-2,0,1,9,7,8 -8,0,-5,-7,-2,3,1,9,7,8 -8,-2,-5,-7,0,3,1,9,7,8 Quick Sort Biasa Sebagian Quic ksor t men uru n Quic ksor t men aik

K NIGHT T OUR ( B ACKTRACK ) Bantu Knight Yang Naik Kuda Menyebrang Sertakan strategi algoritmanya

C ARA M ENGERJAKAN

F IBONACCI (D YNAMIC P ROGRAMMING ) Ada algoritma fibonacci seperti ini Input(keberapa) F[0]<-0; F[1]<-1; i traversal 2.. keberapa F[i]<-f[i-1]+f[i-2] Berapa Kompleksitasnya ?? Adakah Algoritma Lain Yang Lebih Efisien ?? Kalau ada jelaskan …

C ARA M ENGERJAKAN Kompleksitas o(n) = n, Ada, dengan iterasi sederhana … Pertama <-0 Kedua<-1 Ketiga <-0 Input(keberapa) i traversal 1..keberapa Ketiga <- kedua+pertama Pertama<-kedua Kedua<-ketiga

K OMPLEKSITASNYA ??? Bagusan DP jika ….. Bagusan Iterasi Biasa Jika ….

G REEDY M ASALAH U ANG Buat Algoritma Dengan Menerapkan Greedy dimana, Banyaknya Pecahan Maca Uangnya diinputkan sendiri usernya, Pecahan2 Yang Tersedia disediakan user sendiri, dan uang yang mau ditukarkan juga ditentukan user

Cara Input X mata Uang i iterasi 1..x Read(uang[i]) Sortir Uang dari Yang Paling Besar Ke Paling Kecil Pilih Algoritma Sortir Anda Sendiri Untuk Tabel uang[i]; Lakukan Greedy dari uang terbesar ke yang terkecil