PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

dokumen-dokumen yang mirip
Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Pengurutan (Sorting) Algoritma Pemrograman

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Algoritma dan Pemrograman 2 PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN

BAB V SORTING (PENGURUTAN) INTERNAL

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

Powered by icomit.wordpress.com

Materi 4: SORTING (PENGURUTAN) Dosen:

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil

SORTING (PENGURUTAN DATA)

ALGORITMA PENGURUTAN & PENCARIAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

Algoritma Brute Force

Pengurutan (Sorting)

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

Algoritma Brute Force

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Teknik Pengurutan Kartu Remi

SORTING. Brigida Arie Minartiningtyas, M.Kom

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Algoritma dan Struktur Data

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

Array (Tabel) bagian 2

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

BAB VI SEARCHING (PENCARIAN)

Searching [pencarian] Algoritma Pemrograman

Kompleksitas Algoritma Sorting yang Populer Dipakai

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Kompleksitas Algoritma (1)

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

Modul 8 SORTING (PENGURUTAN)

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Kompleksitas Algoritma

Gambar 13.1 Ilustrasi proses algoritma sorting

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Politeknik Elektronika Negeri Surabaya

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

BAB VI SORTIR ATAU PENGURUTAN

Politeknik Elektronika Negeri Surabaya

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

Kompleksitas Algoritma

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

Sorting (Bubble Sort)

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Pemrograman Array/Tabel[3] Oleh: Eddy Prasetyo N

STRUKTUR DATA SORTING ARRAY

Algoritma dan Pemrograman 2 PENGURUTAN

BAB 8 SORTING DAN SEARCHING

Politeknik Elektronika Negeri Surabaya

BAB I PENDAHULUAN.

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

7. SORTING DAN SEARCHING

Sorting. Pertemuan ke 14.

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Soal dan Jawaban Materi Graf, Pohon, dan Kompleksitas Algoritma

Pengertian Algoritma Pengurutan

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Algoritma Bubble Sort dan Quick Sort

BAB VI Pengurutan (Sorting)

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

Decrease and Conquer

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

A. TUJUAN PEMBELAJARAN

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

Operasi File. Chapter 13

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1];

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

BAB 2 LANDASAN TEORI

Sorting Algorithms. Buble Sort

Algoritma Divide and Conquer (Bagian 2)

Politeknik Elektronika Negeri Surabaya

Algoritma Divide and Conquer. (Bagian 2)

PENGURUTAN (SORTING) 1. Overview

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

Transkripsi:

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

INTRODUCTION Pengurutan merupakan proses mengatur sekumpulan obyek menurut aturan atau susunan tertentu. Urutan obyek tersebut dapat menaik (ascending) atau menurun (descending). Untuk larik L dengan N buah data: Ascending : L[1] L[2] L[3] L[N] Descending : L[1] L[2] L[3] L[N] Data yang diurut dapat berupa data bertipe dasar atau tipe rekaman. Rearranged by Galih H 2

INTRODUCTION [ ] Contoh data terurut: i. 2, 34, 56, 67, 120, 400 (data integer terurut menaik) ii. 56.4, 20.007,., -2.5, -12.119 (data riil terurut menurun) iii. Andi, Budi, Dewi, Eka, Vera, Zaki (data string terurut menaik) iv. <6001, Rudi, A>, <6002, Ray, B>, <6003, Nia, D>, <6004, Mia, C>, <6005, Deni, B> (data mahasiswa urut menaik berdasar field NIM) Rearranged by Galih H 3

PENGURUTAN GELEMBUNG (BUBBLE SORT) Terinspirasi oleh gelembung sabun yang berada di atas permukaan air. Karena berat jenis gelembung sabun lebih ringan dari berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip: Apabila menginginkan larik terurut menaik, maka elemen larik yang berharga paling kecil diapungkan, artinya dingkat ke atas (atau ke ujung kiri larik) melalui proses pertukaran. Rearranged by Galih H 4

BUBBLE SORT [ ] Proses pengapungan ini dilakukan sebanyak N-1 langkah (pass) dengan N adalah ukuran larik. Pada akhir setiap langkah ke I, larik [1..N] akan terdiri atas dua bagian yaitu bagian yang sudah terurut L[1..I] dan bagian yang belum terurut L[I+1..N] (Gambar berikut). 1 I I+1 N sudah terurut belum terurut Setelah langkah terakhir, diperoleh larik L[1..N] yang terurut menaik. Rearranged by Galih H 5

Untuk mendapatkan larik yang terurut menaik, algoritma pengurutan gelembung dapat ditulis secara global sebagai berikut: Untuk setiap pass ke I=1,2,...,N-1, lakukan: Mulai dari elemen K=N,N-1,,I+1, lakukan: 1. Bandingkan L[K] dengan L[K-1] 2. Pertukarkan L[K] dengan L[K-1] jika L[K] < L[K-1] Rearranged by Galih H 6

Pass 1: Mulai dari elemen K = N, N-1,, 2, bandingkan L[K] dengan L[K-1]. Jika L[K] < L[K-1], pertukarkan L[K] dengan L[K-1]. Pada akhir langkah 1, elemen L[1] berisi harga minimum pertama. Pass 2: Mulai dari elemen K = N, N-1,,3, bandingkan L[K] dengan L[K-1]. Jika L[K] < L[K-1], pertukarkan L[K] dengan L[K-1]. Pada akhir langkah 2, elemen L[2] berisi harga minimum kedua dan larik L[1..2] terurut, sedangkan L[3..N] belum terurut. Pass 3: Mulai dari elemen K = N, N-1,,4, bandingkan L[K] dengan L[K-1]. Jika L[K] < L[K-1], pertukarkan L[K] dengan L[K-1]. Pada akhir langkah 3, elemen L[3] berisi harga minimum ketiga dan larik L[1..3] terurut, sedangkan L[4..N] belum terurut. Rearranged by Galih H 7

Pass N-1: Mulai dari elemen K = N, bandingkan L[K] dengan L[K-1]. Jika L[K] < L[K-1], pertukarkan L[K] dengan L[K-1]. Pada akhir langkah N-1, elemen L[N-1] berisi nilai minimum ke-(n-1) dan larik L[1..N-1] terurut menaik (elemen yang tersisa adalah L[N], tidak perlu diurut karena hanya satu-satunya). Rearranged by Galih H

Terdapat larik L dengan N=6 buah elemen di bawah ini yang belum terurut. Larik ini akan diurut menaik. 1 2 3 4 5 6 Pass 1: K = N = 6 K = 5 K = 4 K = 3 K = 2 Rearranged by Galih H 9

Hasil akhir langkah 1: 1 2 3 4 5 6 Pass 2: (berdasarkan hasil akhir langkah 1) K = N = 6 K = 5 K = 4 K = 3 Rearranged by Galih H

Hasil akhir langkah 2: 1 2 3 4 5 6 Pass 3: (berdasarkan hasil akhir langkah 2) K = N = 6 K = 5 K = 4 Rearranged by Galih H 11

Hasil akhir langkah 3: 1 2 3 4 5 6 Pass 4: (berdasarkan hasil akhir langkah 3) K = N = 6 K = 5 Hasil akhir langkah 4: 1 2 3 4 5 6 Rearranged by Galih H 12

Pass 5: (berdasarkan hasil akhir langkah 4) K = N = 6 Hasil akhir langkah 5: 1 2 3 4 5 6 Selesai. Larik L sudah terurut menaik! Rearranged by Galih H 13

Prosedur Bubble Sort untuk pengurutan ascending Procedure UrutGelembung1 (input/output L: Larik, input N: integer) KAMUS I : integer K : integer temp : integer ALGORITMA for I 1 to N-1 do for K N downto I+1 do if L[K] < L[K-1] then { pertukarkan L[K] dengan L[k-1] } temp L[K] L[K] L[K-1] L[K-1] temp endif endfor endfor Rearranged by Galih H 14

Prosedur Bubble Sort untuk pengurutan descending Procedure UrutGelembung2 (input/output L: Larik, input N: integer) KAMUS I : integer K : integer temp : integer ALGORITMA for I 1 to N-1 do for K N downto I+1 do if L[K] > L[K-1] then { pertukarkan L[K] dengan L[k-1] } temp L[K] L[K] L[K-1] L[K-1] temp endif endfor endfor Rearranged by Galih H 15