Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT."— Transcript presentasi:

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

2 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 1945. ilmu komputerilmu komputer 2

3 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 4 VISUALISASI MERGE SORT

5 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 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 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 }

8 8 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217 k=(i+j) div 2 k=(1+4) div 2 = 2 2 k=1

9 9 2 1196414 217614 217 2 merge B  COPY 217

10 10 2171196414 217614 217 217 merge 217 B  COPY

11 11 2171196414 217614 217 2 merge 217 B  COPY

12 12 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217 k=(i+j) div 2 k=(1+4) div 2 = 2 614 6 k=1

13 13 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217 k=(i+j) div 2 k=(1+4) div 2 = 2 614 6 MERGE B 

14 14 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217 k=(i+j) div 2 k=(1+4) div 2 = 2 614 66 B  COPY

15 15 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217 k=(i+j) div 2 k=(1+4) div 2 = 2 1466 B  COPY

16 16 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217 k=(i+j) div 2 k=(1+4) div 2 = 2 146 66 B  COPY

17 17 2 1196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217146 MERGE B 

18 18 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217146 MERGE 2 B 

19 19 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217146 MERGE 26 B 

20 20 2171196414 217614 k=(i+j) div 2 k=(1+7) div 2 = 4 217146 MERGE 261714 B  COPY

21 21 2171196414 261714 k=(i+j) div 2 k=(1+7) div 2 = 4 217146 MERGE 261714 B  COPY

22 22 2171196414 261714 k=(i+j) div 2 k=(1+7) div 2 = 4 1194 94 k=(i+j) div 2 k=(1+3) div 2 = 2 49 k=1

23 23 2171196414 261714 k=(i+j) div 2 k=(1+7) div 2 = 4 1194 94 k=(i+j) div 2 k=(1+3) div 2 = 2 49 MERGE B  49 COPY

24 24 2171196414 261714 k=(i+j) div 2 k=(1+7) div 2 = 4 1194 94 k=(i+j) div 2 k=(1+3) div 2 = 2 11 MERGE B  4

25 25 2171196414 261714 k=(i+j) div 2 k=(1+7) div 2 = 4 1194 94 49 B  COPY

26 26 2171196414 2617141194 MERGE B  2

27 27 2171196414 2617141194 B  24

28 28 2171196414 2617141194 B  246

29 29 2171196414 2617141194 B  2469

30 30 2171196414 2617141194 B  246911

31 31 2171196414 2617141194 COPY 1714 B  246911

32 32 2617141194 COPY 1714 B  246911 1714246911

33 33 1714246911 JADI SETELAH DIURUTKAN HASILNYA ADALAH


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

Presentasi serupa


Iklan oleh Google