SlideShare a Scribd company logo
ALGORITMA SORTING
Nama anggota kelompok :
-Ivan Alpazri
-Rabbiul Rahmat
-Sanye Hidayat
-Yoshi Nurmansyah
ALGORITMA SORTING
Merge Sort
Merge sort berarti mengurutkan dengan cara menggabungkan.
Algoritma merge sort sendiri sebenarnya tidak hanya
menggabungkan. Algoritma ini terlebih dahulu melakukan
pemecahan berulang-ulang, baru kemudian diikuti dengan
penggabungan yang disertai pengurutan.
• Tahap Pemecahan
atau disebut tahapan divide, yaitu menyederhanakan persoalan ke
dalam bentuk yang lebih kecil. Pada tahap pemecahan ini merge
sort melakukan pemecahan rangkaian nilai (list) menjadi dua
bagian (dipecah di tengah) terus menerus hingga hanya tersisa
satu elemen pada tiap pecahan.
• Tahap Penggabungan
atau disebut juga tahapan conquer, dimana seluruh potongan yang dihasilkan
dari proses pemecahan kemudian di gabungkan lagi secara bertingkat, iya disini juga
terjadi pengurutan bilangan, karena disaat digabungkan masing-masing element dari
dua potong yang akan digabungkan, dibandingkan terlebih dahulu kemudian di
letakkan sesuai urutan nilainya.
Berikut ini adalah animasi tahapan Merge sort :
Kelebihan dan kekurangan merge sort :
kelebihan :
• lebih cepat untuk daftar yang lebih besar karena tidak seperti penyisipan dan
bubble sort itu tidak melalui seluruh daftar waktu seveal.
• memiliki waktu running yang konsisten, melakukan bit yang berbeda dengan
waktu yang sama dalam tahap.
Kekurangan :
• Lebih lambat komparatif dengan algoritma pengurutan lain untuk tugas yang lebih
kecil
• melalui seluruh proses bahkan diurutkan (seperti penyisipan dan pengurutan
gelembung
• menggunakan lebih banyak ruang memori untuk menyimpan sub elemen dari
daftar pemisah awal.
Heap Sort
Contoh penggunaan heap tree dalam priority queue dapat kita lihat pada algoritma
pengurutan heap sort. Algoritma pengurutan ini mengurutkan isi suatu array masukan
dengan memandang array yang dimasukkan sebagai suatu Complete Binary Tree (CBT).
Dengan metoda a maka Complete Binary Tree (CBT) ini dapat dikonversi menjadi suatu
heap tree. Setelah Complete Binary Tree (CBT) berubah menjadi suatu priority queue, maka
dengan mengambil data root satu demi satu dan disertai dengan metoda d, key-key dari data
root yang kita ambil secara berturutan itu akan terurut dengan output hasil pengurutan akan
dituliskan dalam array hasil dari arah kanan ke kiri.
kunci utama dalam heap sort adalah: node atas selalu mengandung elemen lebih besar dari
kedua node dibawahnya. Apabila elemen berikutnya ternyata lebih besar dari elemen root,
maka harus di swap dan lakukan: proses heapify lagi. Root dari suatu Heap Sort mengandung
elemen terbesar dari semua elemen dalam Heap.
Proses Heap Sort dapat dijelaskan sebagai berikut:
1. Representasikan Heap dengan n elemen dalam sebuah array A[n]
2. Elemen root tempatkan pada A[1]
3. Elemen A[2i] adalah node kiri dibawah A[i]
4. Elemen A[2i+1] adalah node kanan dibawah A[i]
5. Ambil nilai root (terbesar) A[1..n-1] dan pertukarkan dengan elemen terakhir dalam
array, A[n]
6. Bentuk Heap dari (n-1) elemen, dari A[1] hingga A[n-1]
7. Ulangi langkah 5 dimana indeks terakhir berkurang setiap langkah.
Contoh lain :
Kelebihan dan kekurangan Heap Sort :
Kerugian dari penggunaan Heap adalah menyimpan data di Heap lebih lambat daripada
yang dibutuhkan saat menggunakan tumpukan . Namun, keuntungan utama menggunakan
Heap adalah fleksibilitasnya. Itu karena memori dalam struktur ini dapat dialokasikan dan
dihapus dalam urutan tertentu. lambat dalam Heap dapat dikompensasi jika algoritma
dirancang dan diimplementasikan dengan baik .
Quick Sort
Algoritma ini mengambil salah satu elemen secara acak (biasanya dari tengah) yang disebut
dengan pivot lalu menyimpan semua elemen yang lebih kecil di sebelah kiri pivot dan
semua elemen yang lebih besar di sebelah kanan pivot. Hal ini dilakukan secara rekursif
terhadap elemen di sebelah kiri dan kanannya sampai semua elemen sudah terurut.
Cara kerja nya :
• Pilih satu elemen secara acak sebagai pivot
• Pindahka semua elemen yang lebih kecil ke sebelah kiri pivot dan semua elemen yang
lebih besar ke sebelah kanan pivot. Elemen yang nilainya sama bisa disimpan di salah
satunya.
• Lakukan sort secara rekursif terhadap sub-array sebelah kiri dan kanan pivot
Tips Pemilihan Pivot.
• Pivot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel. Cara ini hanya bagus
jika elemen tabel tersusun secara acak, tetapi tidak bagus jika elemen tabel semula sudah
terurut. Misalnya, jika elemen tabel semula menurun, maka semua elemen tabel akan
terkumpul di upatabel kanan.
• Pivot dipilih secara acak dari salah satu elemen tabel. Cara ini baik, tetapi mahal, sebab
memerlukan biaya (cost) untuk pembangkitan prosedur acak. Lagi pula, itu tidak mengurangi
kompleksitas waktu algoritma.
• Pivot adalah elemen median tabel. Cara ini paling bagus, karena hasil partisi menghasilkan
dua bagian tabel yang berukuran seimbang (masing masing ≈ n/2 elemen). Cara ini
memberikan kompleksitas waktu yang minimum. Masalahnya, mencari median dari elemen
tabel yang belum terurut adalah persoalan tersendiri. Algoritma Quick Sort terdiri dari dua
prosedur, yaitu prosedur PARTISI dan prosedur QUICKSORT.
Contoh cara kejra quick sort :
Algoritma_Sorting Pengolahan CItra Digit
Algoritma_Sorting Pengolahan CItra Digit
Algoritma_Sorting Pengolahan CItra Digit
Keunggulan Quick sort:
• Secara umum memiliki kompleksitas O(n log n).
• Algoritmanya sederhana dan mudah diterapkan pada berbagai bahasa pemrograman dan arsitektur mesin secara
efisien.
• Dalam prakteknya adalah yang tercepat dari berbagai algoritma pengurutan dengan perbandingan, seperti mergesort
dan heapsort.
• Melakukan proses langsung pada input (in-place) dengan sedikit tambahan memori.
• Bekerja dengan baik pada berbagai jenis input data (seperti angka dan karakter).
Kekurangan Quick short
• Sedikit kesalahan dalam penulisan program membuatnya bekerja tidak beraturan (hasilnya tidak benar atau tidak
pernah selesai).
• Memiliki ketergantungan terhadap data yang dimasukkan, yang dalam kasus terburuk memiliki kompleksitas O(n2).
• Secara umum bersifat tidak stable, yaitu mengubah urutan input dalam hasil akhirnya (dalam hal inputnya bernilai
sama).
• Pada penerapan secara rekursif (memanggil dirinya sendiri) bila terjadi kasus terburuk dapat menghabiskan stack
dan memacetkan program.
• Pada bahasa pemrograman, quicksort ada dalam pustaka stdlib.h untuk bahasa C, dan class TList dan TStringList
dalam Delphi (Object Pascal) maupun FreePascal.
Algoritma_Sorting Pengolahan CItra Digit

More Related Content

DOC
tugas algoritma
PPTX
Algoritma sorting
PPTX
Sd pertemuan 3 & 4 (edited)
PPTX
Sd pertemuan 3 & 4 (edited)
PPT
Bab 2 sorting array (1)
PDF
Pertemuan 11 Sorting
DOC
Revitalia purba
PDF
Analisis Algoritma Pada Masalah Sorting
tugas algoritma
Algoritma sorting
Sd pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
Bab 2 sorting array (1)
Pertemuan 11 Sorting
Revitalia purba
Analisis Algoritma Pada Masalah Sorting

Similar to Algoritma_Sorting Pengolahan CItra Digit (20)

DOCX
Struktur data dan algoritma
PPT
Bab 2 sorting array
PDF
Buku struktur data Sorting
PPTX
Materi Sorting informatika kelas X .pptx
DOC
Msw a4 format
PDF
Pertemuan 10 Tehnik Sorting
PPTX
Hendrik Kurniawan 241321013 Tugas-02_Rev.pptx
PPT
Pemrograman dasar-sorting dasar-dasar sorting
PPTX
Informatika (BK).pptx
PDF
Pertemuan 10 Tehnik Sorting
PPTX
Materi Bahasa Pemrograman C SORTING/ARRAY.pptx
PDF
Jeni Intro2 Bab06 Algoritma Sorting
PPTX
belajar algoritma
PDF
BERPIKIR KOMPUTASIONAL KELAS XII SEMESTER 1
DOCX
Siti rohmatul khoiriah
PPTX
Merger & Quick Sort
DOC
Tugas Algoritma M. Aziz Fikri | Zeyst Dokumen
PPTX
Merge sort
PDF
desain dan analisis algoritma - Sorting.pdf
PPTX
SD pert 6 sorting.pptx
Struktur data dan algoritma
Bab 2 sorting array
Buku struktur data Sorting
Materi Sorting informatika kelas X .pptx
Msw a4 format
Pertemuan 10 Tehnik Sorting
Hendrik Kurniawan 241321013 Tugas-02_Rev.pptx
Pemrograman dasar-sorting dasar-dasar sorting
Informatika (BK).pptx
Pertemuan 10 Tehnik Sorting
Materi Bahasa Pemrograman C SORTING/ARRAY.pptx
Jeni Intro2 Bab06 Algoritma Sorting
belajar algoritma
BERPIKIR KOMPUTASIONAL KELAS XII SEMESTER 1
Siti rohmatul khoiriah
Merger & Quick Sort
Tugas Algoritma M. Aziz Fikri | Zeyst Dokumen
Merge sort
desain dan analisis algoritma - Sorting.pdf
SD pert 6 sorting.pptx
Ad

Recently uploaded (20)

PPTX
Analisis Kecepatan Kendaraan Pada Ruas Jalan Perkotaan Tanjung Selor.pptx
PPTX
Ppt sidang model POE berbatuan simulasi PHET
PPTX
PPT bab 2 Kedudukan dan Fungsi Pancasila.pptx
PPTX
OK PENGARUH MARKETING MIX TERHADAP RECOMMENDATION INTENTION DAN REPURCHASE IN...
PPTX
PPT SEMINAR pengaruh metode drill menggunakan bola gantung
PPTX
BAHAN TAYANG GATI_Modul GATI KalTeng 2025.pptx
PPTX
Proposal Riset_BRImo Conversatinal Banking.pptx
PDF
LK - SIMULASI SIKLUS INKUIRI KOLABORATIF.pdf
PPTX
contoh ppt kuliah kerja praktek iqbal.pptx
PPTX
upn “veteran” Jawa TIMUR tentang analisis data.pptx
PPTX
BAHAN TAYANG GENTING - KalTeng - 29 Juli 2025.pptx
PPTX
kuliah kerja praktek muhhamd iqball.pptx
PPTX
Presentasi Kemenkes Marriot Kesehatan Tradisonal (1).pptx
PPTX
Bahan TM Petabekasi 2024YUUYUYUYUYU.pptx
PPTX
pelayanan antenacal care terpadu 95.pptx
PPTX
Presentasi_Pembelajaran_Mendalam_15_Slide.pptx
PDF
Llama Implementations from Scratch - Avalon AI.pdf
PPTX
PPT Kelas 10. Teks Hasil Observasi (Minggu 1).pptx
PPTX
sistem kendali prosebbbbkkkhffssgjjs.pptx
PPTX
Paper sirosis hepatis dr siti taqwa.jdusp
Analisis Kecepatan Kendaraan Pada Ruas Jalan Perkotaan Tanjung Selor.pptx
Ppt sidang model POE berbatuan simulasi PHET
PPT bab 2 Kedudukan dan Fungsi Pancasila.pptx
OK PENGARUH MARKETING MIX TERHADAP RECOMMENDATION INTENTION DAN REPURCHASE IN...
PPT SEMINAR pengaruh metode drill menggunakan bola gantung
BAHAN TAYANG GATI_Modul GATI KalTeng 2025.pptx
Proposal Riset_BRImo Conversatinal Banking.pptx
LK - SIMULASI SIKLUS INKUIRI KOLABORATIF.pdf
contoh ppt kuliah kerja praktek iqbal.pptx
upn “veteran” Jawa TIMUR tentang analisis data.pptx
BAHAN TAYANG GENTING - KalTeng - 29 Juli 2025.pptx
kuliah kerja praktek muhhamd iqball.pptx
Presentasi Kemenkes Marriot Kesehatan Tradisonal (1).pptx
Bahan TM Petabekasi 2024YUUYUYUYUYU.pptx
pelayanan antenacal care terpadu 95.pptx
Presentasi_Pembelajaran_Mendalam_15_Slide.pptx
Llama Implementations from Scratch - Avalon AI.pdf
PPT Kelas 10. Teks Hasil Observasi (Minggu 1).pptx
sistem kendali prosebbbbkkkhffssgjjs.pptx
Paper sirosis hepatis dr siti taqwa.jdusp
Ad

Algoritma_Sorting Pengolahan CItra Digit

  • 1. ALGORITMA SORTING Nama anggota kelompok : -Ivan Alpazri -Rabbiul Rahmat -Sanye Hidayat -Yoshi Nurmansyah
  • 3. Merge Sort Merge sort berarti mengurutkan dengan cara menggabungkan. Algoritma merge sort sendiri sebenarnya tidak hanya menggabungkan. Algoritma ini terlebih dahulu melakukan pemecahan berulang-ulang, baru kemudian diikuti dengan penggabungan yang disertai pengurutan. • Tahap Pemecahan atau disebut tahapan divide, yaitu menyederhanakan persoalan ke dalam bentuk yang lebih kecil. Pada tahap pemecahan ini merge sort melakukan pemecahan rangkaian nilai (list) menjadi dua bagian (dipecah di tengah) terus menerus hingga hanya tersisa satu elemen pada tiap pecahan.
  • 4. • Tahap Penggabungan atau disebut juga tahapan conquer, dimana seluruh potongan yang dihasilkan dari proses pemecahan kemudian di gabungkan lagi secara bertingkat, iya disini juga terjadi pengurutan bilangan, karena disaat digabungkan masing-masing element dari dua potong yang akan digabungkan, dibandingkan terlebih dahulu kemudian di letakkan sesuai urutan nilainya. Berikut ini adalah animasi tahapan Merge sort :
  • 5. Kelebihan dan kekurangan merge sort : kelebihan : • lebih cepat untuk daftar yang lebih besar karena tidak seperti penyisipan dan bubble sort itu tidak melalui seluruh daftar waktu seveal. • memiliki waktu running yang konsisten, melakukan bit yang berbeda dengan waktu yang sama dalam tahap. Kekurangan : • Lebih lambat komparatif dengan algoritma pengurutan lain untuk tugas yang lebih kecil • melalui seluruh proses bahkan diurutkan (seperti penyisipan dan pengurutan gelembung • menggunakan lebih banyak ruang memori untuk menyimpan sub elemen dari daftar pemisah awal.
  • 6. Heap Sort Contoh penggunaan heap tree dalam priority queue dapat kita lihat pada algoritma pengurutan heap sort. Algoritma pengurutan ini mengurutkan isi suatu array masukan dengan memandang array yang dimasukkan sebagai suatu Complete Binary Tree (CBT). Dengan metoda a maka Complete Binary Tree (CBT) ini dapat dikonversi menjadi suatu heap tree. Setelah Complete Binary Tree (CBT) berubah menjadi suatu priority queue, maka dengan mengambil data root satu demi satu dan disertai dengan metoda d, key-key dari data root yang kita ambil secara berturutan itu akan terurut dengan output hasil pengurutan akan dituliskan dalam array hasil dari arah kanan ke kiri.
  • 7. kunci utama dalam heap sort adalah: node atas selalu mengandung elemen lebih besar dari kedua node dibawahnya. Apabila elemen berikutnya ternyata lebih besar dari elemen root, maka harus di swap dan lakukan: proses heapify lagi. Root dari suatu Heap Sort mengandung elemen terbesar dari semua elemen dalam Heap.
  • 8. Proses Heap Sort dapat dijelaskan sebagai berikut: 1. Representasikan Heap dengan n elemen dalam sebuah array A[n] 2. Elemen root tempatkan pada A[1] 3. Elemen A[2i] adalah node kiri dibawah A[i] 4. Elemen A[2i+1] adalah node kanan dibawah A[i] 5. Ambil nilai root (terbesar) A[1..n-1] dan pertukarkan dengan elemen terakhir dalam array, A[n] 6. Bentuk Heap dari (n-1) elemen, dari A[1] hingga A[n-1] 7. Ulangi langkah 5 dimana indeks terakhir berkurang setiap langkah.
  • 10. Kelebihan dan kekurangan Heap Sort : Kerugian dari penggunaan Heap adalah menyimpan data di Heap lebih lambat daripada yang dibutuhkan saat menggunakan tumpukan . Namun, keuntungan utama menggunakan Heap adalah fleksibilitasnya. Itu karena memori dalam struktur ini dapat dialokasikan dan dihapus dalam urutan tertentu. lambat dalam Heap dapat dikompensasi jika algoritma dirancang dan diimplementasikan dengan baik .
  • 11. Quick Sort Algoritma ini mengambil salah satu elemen secara acak (biasanya dari tengah) yang disebut dengan pivot lalu menyimpan semua elemen yang lebih kecil di sebelah kiri pivot dan semua elemen yang lebih besar di sebelah kanan pivot. Hal ini dilakukan secara rekursif terhadap elemen di sebelah kiri dan kanannya sampai semua elemen sudah terurut. Cara kerja nya : • Pilih satu elemen secara acak sebagai pivot • Pindahka semua elemen yang lebih kecil ke sebelah kiri pivot dan semua elemen yang lebih besar ke sebelah kanan pivot. Elemen yang nilainya sama bisa disimpan di salah satunya. • Lakukan sort secara rekursif terhadap sub-array sebelah kiri dan kanan pivot
  • 12. Tips Pemilihan Pivot. • Pivot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel. Cara ini hanya bagus jika elemen tabel tersusun secara acak, tetapi tidak bagus jika elemen tabel semula sudah terurut. Misalnya, jika elemen tabel semula menurun, maka semua elemen tabel akan terkumpul di upatabel kanan. • Pivot dipilih secara acak dari salah satu elemen tabel. Cara ini baik, tetapi mahal, sebab memerlukan biaya (cost) untuk pembangkitan prosedur acak. Lagi pula, itu tidak mengurangi kompleksitas waktu algoritma. • Pivot adalah elemen median tabel. Cara ini paling bagus, karena hasil partisi menghasilkan dua bagian tabel yang berukuran seimbang (masing masing ≈ n/2 elemen). Cara ini memberikan kompleksitas waktu yang minimum. Masalahnya, mencari median dari elemen tabel yang belum terurut adalah persoalan tersendiri. Algoritma Quick Sort terdiri dari dua prosedur, yaitu prosedur PARTISI dan prosedur QUICKSORT.
  • 13. Contoh cara kejra quick sort :
  • 17. Keunggulan Quick sort: • Secara umum memiliki kompleksitas O(n log n). • Algoritmanya sederhana dan mudah diterapkan pada berbagai bahasa pemrograman dan arsitektur mesin secara efisien. • Dalam prakteknya adalah yang tercepat dari berbagai algoritma pengurutan dengan perbandingan, seperti mergesort dan heapsort. • Melakukan proses langsung pada input (in-place) dengan sedikit tambahan memori. • Bekerja dengan baik pada berbagai jenis input data (seperti angka dan karakter). Kekurangan Quick short • Sedikit kesalahan dalam penulisan program membuatnya bekerja tidak beraturan (hasilnya tidak benar atau tidak pernah selesai). • Memiliki ketergantungan terhadap data yang dimasukkan, yang dalam kasus terburuk memiliki kompleksitas O(n2). • Secara umum bersifat tidak stable, yaitu mengubah urutan input dalam hasil akhirnya (dalam hal inputnya bernilai sama). • Pada penerapan secara rekursif (memanggil dirinya sendiri) bila terjadi kasus terburuk dapat menghabiskan stack dan memacetkan program. • Pada bahasa pemrograman, quicksort ada dalam pustaka stdlib.h untuk bahasa C, dan class TList dan TStringList dalam Delphi (Object Pascal) maupun FreePascal.