Defenisi. Ascending (Naik) Descending (turun)

dokumen-dokumen yang mirip
SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Pengurutan (Sorting) Algoritma Pemrograman

BAB V SORTING (PENGURUTAN) INTERNAL

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

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

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

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

MODUL IV PENCARIAN DAN PENGURUTAN

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

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

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

ALGORITMA PENGURUTAN & PENCARIAN

Materi 4: SORTING (PENGURUTAN) Dosen:

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

SORTING (PENGURUTAN DATA)

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

SORTING. Brigida Arie Minartiningtyas, M.Kom

STRUKTUR DATA SORTING ARRAY

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Pengurutan (Sorting)

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Algoritma dan Pemrograman 2 PENGURUTAN

BAB VI Pengurutan (Sorting)

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

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

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

Kompleksitas Algoritma (1)

Algoritma dan Pemrograman 2 PENGURUTAN

Modul 8 SORTING (PENGURUTAN)

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

BAB VI SEARCHING (PENCARIAN)

Gambar 13.1 Ilustrasi proses algoritma sorting

Sorting. Pertemuan ke 14.

Kompleksitas Algoritma

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

Kompleksitas Algoritma

Powered by icomit.wordpress.com

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

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

Algoritma dan Struktur Data

Bubble Sort (Pengurutan Gelembung / Pemberatan)

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

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

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

STRUKTUR DATA (3) sorting array. M.Cs

Modul Praktikum Algoritma dan Struktur Data

BAB 8 SORTING DAN SEARCHING

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

7. SORTING DAN SEARCHING

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

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

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

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

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

A. TUJUAN PEMBELAJARAN

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

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Array (Tabel) bagian 2

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

PERTEMUAN 10 METODE DEVIDE AND CONQUER

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

PENGURUTAN (SORTING) 1. Overview

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

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

Algoritma dan Struktur Data. Searching dan Sorting

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

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

BAB 2 SORTING (PENGURUTAN)

BAB VI SORTIR ATAU PENGURUTAN

Algoritma Bubble Sort dan Quick Sort

# TEN Sorting PENDAHULUAN

Algoritma Brute Force

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Algoritma Searching Tenia wahyuningrum, S.Kom. MT dan Sisilia Thya Safitri, MT

SORTING (Pengurutan)

Pencarian. 1. Memahami konsep pencarian 2. Mengenal beberapa algoritma pencarian 3. Menerapkan algoritma pencarian dalam program

Kompleksitas Algoritma Sorting yang Populer Dipakai

Sorting Algorithms. Buble Sort

SEARCHING & SORTING. Pendahuluan

CCH1A4 / Dasar Algoritma & Pemrogramanan

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

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

Searching [pencarian] Algoritma Pemrograman

BAB I PENDAHULUAN.

Operasi File. Chapter 13

Algoritma Sorting (Selection Insertion)

STRATEGI DIVIDE AND CONQUER

CCH1A4 / Dasar Algoritma & Pemrogramanan

Pengertian Algoritma Pengurutan

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

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

Kompleksitas Algoritma

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

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

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Transkripsi:

SORTING BAB IV

Defenisi Proses pengurutan data yang sebelumnya disusun secara acak sehingga tersusun secara teratur menurut suatu aturan tertentu. Pada umumnya pengurutan ada 2 jenis Ascending (Naik) Descending (turun)

Contoh : Data acak : 5 6 8 1 3 25 10 Terurut Ascending: 1 3 5 6 8 10 25 Terurut Descending: 25 10 8 6 5 3 1

Metode Ada beberapa metode pengurutan yaitu ; 1. Buble sort (Pengurutan Gelembung) 2. Selection Sort 3. Insertion Sort 4. Shell Sort

Prinsip Metode Buble dan selection menggunakan prinsip pertukaran elemen dalam proses pengurutan sehingga keduanya dinamakan dengan pertukaran (exchane sort) Metode Insertion dan Shell menggunakan prinsip geser dan sisip elemen dan proses pengurutan Ke-4 metode menggunakan operasi perbandingan elemen larik untuk menemukan urutan yang tepat.

Buble sort (Pengurutan Gelembung) Dilakukan dengan prinsip gelebung air Jika terurut menaik maka elemen yang terkecil dipindahkan keujung kiri melalui proses pertukaran Proses ini dilakukan sebanyak N-1, N adalah ukuran larik L[N] 1 I, I+1 N Sudah terurut Belum terurut

Algoritma Pengurutan Gelembung (Terurut Menaik) Untuk setiap pass I = 1,2,,N-1 Lakukan : Mulai dari elemen K = N, N-1,., I+1 Lakukan : 1.1 Bandingkan L[K] dengan L[K-1] 1.2 Pertukarkan L[K] dengan L[K-1] Jika L[K] < L[K-1]

Algoritma Deklarasi : int I,K,Temp; Deskripsi : for (I 1, I < N, I++) for (K=N, K>i+1,K++) if L[K] < L[K-1] //Tukar L[K] dengan L[K-1] Temp L[K] L[K] L[K-1] L[K-1] Temp } } };

Proses pertukaran Temp L[K], L[K] L[K-1], L[K-1] Temp Procedure tukar (int a,b) Deklarasi : int temp; Deskripsi : temp a a b b temp

Deklarasi : int I,K,Temp; Deskripsi : for (I 1, I < N, I++) for (K=N, K>2,K++) if L[K] < L[K-1] //Tukar L[K] dengan L[K-1] tukar (L[K], L[K-1]) } } };

Metode Pengurutan Pilih (Selection Sort) Metode ini memiliki konsep memilih data yang maksimum/minimum dari suatu kumpulan data larik L, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan

Metode Pengurutan Pilih (Selection Sort) Data maksimum/minimum yang diperoleh, diasingkan ke tempat lain, dan tidak diikutsertakan pada proses pencarian data maksimum/minimum berikutnya

Perhatikan ilustrasi berikut Misalkan ada sekumpulan data acak berjumlah n elemen yang disimpan di dalam larik L, akan diurut menaik, maka langkah-langkah yang harus dilakukan adalah:

Menentukan jumlah iterasi, yaitu pass = n 1. Untuk setiap pass ke-i = 1,2,...,pass, lakukan: Cari elemen terbesar (maks) dari elemen ke-i sampai ke-n. Pertukarkan maks dengan elemen ke-i. Kurangin n satu (n = n 1).

Rincian tiap-tiap pas adalah sebagai berikut: pass 1 Cari elemen maksimum di dalam L[0...(n-1)]. Pertukarakan elemen maksimum dengan elemen L[n-1]. pass 2 Cari elemen maksimum di dalam L[0...(n-2)]. Pertukarakan elemen maksimum dengan elemen L[n-2]. pass 3 Cari elemen maksimum di dalam L[0...(n-3)]. Pertukarakan elemen maksimum dengan elemen L[n-3].... pass 4 Cari elemen maksimum di dalam L[0...1]. Pertukarakan elemen maksimum dengan elemen L[1]. (Contoh Halaman 43 )

Algoritma Deklarasi : int I,J, Imaks, Maks,Temp; Deskripsi : for (I N, I >1, I--) // jumlah pas = n-1 Imaks 1 Maks L[1] }; Temp L[I] L[I] Maks L[Imaks] Temp } for (J 2, J<I+1,J++) if (L[J] > maks) Imaks J Maks L[J] } }

Latihan Buat contoh pengurutan seleksi minimum

Metode Pengurutan Sisip (Insertion Sort) Metode ini dilakukan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan melakukan pencarian beruntun di dalam larik.

Metode Pengurutan Sisip (Insertion Sort) Untuk setiap pass ke-i = 1,2,...,n-1 lakukan: X = L[i] Sisipkan x pada tempat yang sesuai anatara L[0]...L[i].

Rincian tiap-tiap pass adalah sebagai berikut: Dianggap pass 0 : L[0] dianggap sudah pada tempatnya. pass 1 x = L[1] harus dicari tempatnya yang tepat pada L[0..1] dengan cara menggeser elemen L[0..0] ke kanan bila L[0..0] lebih besar daripada L[1]. Misalkan posisi yang tepat adalah k, sisipkan L[1] pada L[k]. pass 2 x = L[2] harus dicari tempatnya yang tepat pada L[0..2] dengan cara menggeser elemen L[0..1] ke kanan bila L[0..1] lebih besar daripada L[2]. Misalkan posisi yang tepat adalah k, sisipkan L[2] pada L[k]... pass n-1 x = L[n-1] harus dicari tempatnya yang tepat pada L[0..(n-1)] dengan cara menggeser elemen L[0..(n-2)] ke kanan bila L[0..(n-2)] lebih besar daripada L[n-1]. Misalkan posisi yang tepat adalah k, sisipkan L[n-1] pada L[k].

Deklarasi int I,J,y; bolean ketemu; Deskripsi for(i=1;i<n;i++) /* sisipkan L[i] ke dalam bagian yang sudah terurut */ x = L[i]; /*cari posisi yang tepat untuk x di dalam L[0..i- 1] sambil menggeser */ j=i-1; ketemu = false; while ((j>=0)&&(!ketemu)) if(x < L[j]) L[j+1] = L[j]; j--; } else ketemu = true; } } /* j < 1 or ketemu */ L[j+1] = x; } }