1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT.

Slides:



Advertisements
Presentasi serupa
DASAR-DASAR ALGORITMA
Advertisements

- PERTEMUAN 7 – SUB PROGRAM
7. PENJUMLAHAN DUA BUAH MATRIKS
Hour 12: APPLIED RECURSION
STRUKTUR DATA.
PENGURUTAN (SORTING).
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
LOGIKA DAN ALGORITMA - PERTEMUAN 8 - REKURSI.
SORT (pengurutan) M. Ajir Muzakki, S.Si.
PENCARIAN (SEARCHING)
Flowchart dan Pseudocode
Notasi Algoritma.
Instruksi Runtutan Instruksi Pemilihan dan Instruksi Perulangan dalam Pascal Minggu XII.
Algoritma dan Pemrograman
Algoritma dan Struktur Data
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
- PERTEMUAN 9 - LARIK/ARRAY SATU DIMENSI (1D)
Algoritma Divide and Conquer
Divide and Conquer Analisa Algoritma.
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.
Algoritma (Struktur, Tipe Data, Input/Output)
Kasus Buat algoritma untuk menghitung total pembayaran dari proses pembelian.
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 1) 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 ( )
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
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.
Algoritma dan Pemrograman Sorting
Struktur data Oleh: Tim Struktur Data IF ARRAY STATIS.
Algoritma dan Pemrograman Searching
PENGURUTAN (SORTING).
Array 1.
STRUKTUR DATA Array Statis.
Algoritma dan Pemrograman Subrutin
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Modul 6 : Analisis Algoritma dan Struktur Data
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma dan Pemrograman Sorting
Algoritma dan Pemrograman Subrutin (Function)
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
SEARCHING (PENCARIAN)
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
Algoritma dan Pemrograman Subrutin
Array dan Matriks.
STRUKTUR DATA Array Statis.
Algoritma dan Pemrograman Sorting
Algoritma dan Pemrograman Searching
Algoritma Brute Force.
Algoritma Divide and Conquer
Algoritma Divide and Conquer
Algoritma Divide and Conquer
SORTING (PENGURUTAN).
Pencarian (searching)
Algoritma Divide and Conquer
Pengulangan FOR - DO Temu 9.
While – Do (Lanjutan) Temu 11.
Transcript presentasi:

1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT

Merge sort merupakan algoritma pengurutan dalam ilmu komputer yang dirancang untuk memenuhi kebutuhan pengurutan atas suatu rangkaian data yang tidak memungkinkan untuk ditampung dalam memori komputer karena jumlahnya yang terlalu besar. Algoritma ini ditemukan oleh John von Neumann pada tahun ilmu komputerilmu komputer 2

Prinsip utama yang diimplementasikan pada algoritma merge-sort seringkali disebut sebagai pecah-belah dan taklukkan (bahasa Inggris: divide and conquer). Cara kerja algoritma merge sort adalah membagi larik data yang diberikan menjadi dua bagian yang lebih kecil. Kedua larik yang baru tersebut kemudian akan diurutkan secara terpisah. Setelah kedua buah list tersusun, maka akan dibentuk larik baru sebagai hasil penggabungan dari dua buah larik sebelumnya. bahasa Inggrislarikbahasa Inggrislarik 3

4 VISUALISASI MERGE SORT

5 procedure MergeSort(input/output A : TabelInt, input i, j : integer) { Mengurutkan tabel A[i..j] dengan algoritma Merge Sort Masukan: Tabel A dengan n elemen Keluaran: Tabel A yang terurut }Deklarasi: k : integer Algoritma: if i 1) k ← (i+j) div 2 k ← (i+j) div 2 MergeSort(A, i, k) MergeSort(A, i, k) MergeSort(A, k+1, j) MergeSort(A, k+1, j) Merge(A, i, k, j) Merge(A, i, k, j)endif ALGORITMA MERGE SORT

6 procedure Merge(input/outputA : TabelInt, input kiri,tengah,kanan : integer) { Menggabung tabel A[kiri..tengah] dan tabel A[tengah+1..kanan] menjadi tabel A[kiri..kanan] yang terurut menaik. Masukan: A[kiri..tengah] dan tabel A[tengah+1..kanan] yang sudah terurut menaik. Keluaran: A[kiri..kanan] yang terurut menaik. } Deklarasi B : TabelInt i, kidal1, kidal2 : integer Algoritma: kidal1 ← kiri { A[kiri.. tengah] } kidal2 ← tengah + 1 { A[tengah+1.. kanan] } i ← kiri while (kidal1 ≤ tengah) and (kidal2 ≤ kanan) do if A kidal1 < A kidal2 then B i ← A kidal1 kidal1 ← kidal1 + 1 else B i ← A kidal2 kidal2 ← kidal2 + 1 endif i ← i + 1 endwhile { kidal1 > tengah or kidal2 > kanan }

7 { salin sisa A bagian kiri ke B, jika ada } while (kidal1 ≤ tengah) do B i ← A kidal1 kidal1 ← kidal1 + 1 i ← i + 1 endwhile { kidal1 > tengah } { salin sisa A bagian kanan ke B, jika ada } while (kidal2 ≤ kanan) do B i ← A kidal2 kidal2 ← kidal2 + 1 i ← i + 1 endwhile { kidal2 > kanan } { salin kembali elemen-elemen tabel B ke A } for i ← kiri to kanan do A i ← B i endfor { diperoleh tabel A yang terurut membesar }

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+4) div 2 = 2 2 k=1

merge B  COPY 217

merge 217 B  COPY

merge 217 B  COPY

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+4) div 2 = k=1

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+4) div 2 = MERGE B 

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+4) div 2 = B  COPY

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+4) div 2 = B  COPY

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+4) div 2 = B  COPY

k=(i+j) div 2 k=(1+7) div 2 = MERGE B 

k=(i+j) div 2 k=(1+7) div 2 = MERGE 2 B 

k=(i+j) div 2 k=(1+7) div 2 = MERGE 26 B 

k=(i+j) div 2 k=(1+7) div 2 = MERGE B  COPY

k=(i+j) div 2 k=(1+7) div 2 = MERGE B  COPY

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+3) div 2 = 2 49 k=1

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+3) div 2 = 2 49 MERGE B  49 COPY

k=(i+j) div 2 k=(1+7) div 2 = k=(i+j) div 2 k=(1+3) div 2 = 2 11 MERGE B  4

k=(i+j) div 2 k=(1+7) div 2 = B  COPY

MERGE B  2

B  24

B  246

B  2469

B 

COPY 1714 B 

COPY 1714 B 

JADI SETELAH DIURUTKAN HASILNYA ADALAH