Politeknik Elektronika Negeri Surabaya

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

A. TUJUAN PEMBELAJARAN

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

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

PRATIKUM METODE KOMPUTASI MATEMATIKA TERAPAN

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

A. TUJUAN PEMBELAJARAN

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

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

Sorting (Bubble Sort)

A. TUJUAN PEMBELAJARAN

Bubble Sort dan Selection Sort di Java Console

PENGURUTAN (SORTING) 1. Overview

Sorting. Pertemuan ke 14.

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

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Powered by icomit.wordpress.com

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

Algoritma Bubble Sort dan Quick Sort

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

BAB VI Pengurutan (Sorting)

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

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

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

Gambar 1. Single Linked List

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

BAB 8 SORTING DAN SEARCHING

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

7. SORTING DAN SEARCHING

Modul Praktikum Algoritma dan Struktur Data

Outline STRUKTUR DATA. VII. Sorting

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

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

Materi 4: SORTING (PENGURUTAN) Dosen:

Modul 8 SORTING (PENGURUTAN)

Pengurutan (Sorting) Algoritma Pemrograman

BAB 2 SORTING (PENGURUTAN)

Gambar 13.1 Ilustrasi proses algoritma sorting

Gambar 1. Single Linked List

Gambar 1. Single Linked List

STRUKTUR DATA (3) sorting array. M.Cs

Algoritma dan Struktur Data

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI

STRUKTUR DATA SORTING ARRAY

Sorting Algorithms. Buble Sort

Metode Insertion Sort di Java Console

Metode Binnary Searching di Java Console

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

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

BAB VI SORTIR ATAU PENGURUTAN

Modul Praktikum 6 Pemograman Berorientasi Objek

CCH1A4 / Dasar Algoritma & Pemrogramanan

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

# TEN Sorting PENDAHULUAN

Agar lebih mudah mengerti, cobalah untuk melakukan hal-hal berikut ini: 1. Bacalah terlebih dahulu ide dasar dari masing-masing algoritma.

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

SORTING (PENGURUTAN DATA)

B.1 Mengurutkan Objek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

Permainan Remi Sederhana

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

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

MODUL IV PENCARIAN DAN PENGURUTAN

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

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

ALGORITMA PENGURUTAN & PENCARIAN

A. TUJUAN PEMBELAJARAN

MEMBUAT OBJECT COMPARABLE DAN COMPARATOR

Membuat Object Comparable

Praktikum KPLBO Final Object Concept I

A. TUJUAN PEMBELAJARAN 1. Memahami konsep Class LinkedList di Collection 2. Memahami penggunaan method-method pada Class LinkedList.

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

Kompleksitas Algoritma Sorting yang Populer Dipakai

Sorting Algorithms. Definisi

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA GENERIC DAN IMPLEMENTASI COMPARETO()

Bab 8 Array. x=a[9]; Untuk memasukkan data ke dalam array, sintak yang digunakan adalah : a[nomor_elemen] = data;

BAB V SORTING (PENGURUTAN) INTERNAL

C. TUGAS PENDAHULUAN Buatlah resume 1 halaman mengenai Priority Queue dan berikan penjelasannya.!

Teknik Menukarkan 2 Variable tanpa pihak Ketiga

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

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

Algoritma dan Struktur Data. Searching dan Sorting

Array Multidimensi. Pemrograman Dasar. Java

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

BAB XI ARRAY (LARIK)

B.1 Mengurutkan Objek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

Algoritma dan Pemrograman 2 PENGURUTAN

B.1 Mengurutkan Obyek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

BAB I PENDAHULUAN.

Pengurutan (Sorting)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Transkripsi:

PRAKTIKUM 11-12 ALGORITMA PENGURUTAN (BUBBLE DAN SHELL) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan bubble sort dan shell sort. 2. Mampu mengimplementasikan algoritma pengurutan bubble sort dan shell sort secara ascending dan descending. B. DASAR TEORI 1. Algoritma Bubble Sort Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masingmasing kunci akan dengan lambat menggelembung ke posisinya yang tepat. Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung. Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya. Berikut ini adalah gambaran dari algoritma bubble sort. Misalkan kita mempunyai sebuah array dengan. Elemen-elemen 4 2 5 3 9. Proses yang akan terjadi apabila digunakan algoritma bubble sort adalah sebagai berikut. 93

Pass pertama (4 2 5 3 9) menjadi (2 4 5 3 9) (2 4 5 3 9) menjadi (2 4 5 3 9) (2 4 5 3 9) menjadi (2 4 3 5 9) (2 4 3 5 9) menjadi (2 4 3 5 9) Pass kedua (2 4 3 5 9) menjadi (2 4 3 5 9) (2 4 3 5 9) menjadi (2 3 4 5 9) Pass ketiga Dapat dilihat pada proses di atas, sebenarnya pada pass kedua, langkah kedua, array telah terurut. Namun algoritma tetap dilanjutkan hingga pass kedua berakhir. Pass ketiga dilakukan karena definisi terurut dalam algoritma bubble sort adalah tidak ada satupun penukaran pada suatu pass, sehingga pass ketiga dibutuhkan untuk memverifikasi keurutan array tersebut. 2. Algoritma Shell Sort Metode shell sort dikembangkan oleh Donald L. Shell pada tahun 1959. Dalam metode ini jarak antara dua elemen yang dibandingkan dan ditukarkan tertentu. Secara singkat metode ini dijelaskan sebagai berikut. Pada langkah pertama, kita ambil elemen pertama dan kita bandingkan dan kita bandingkan dengan elemen pada jarak tertentu dari elemen pertama tersebut. Kemudain elemen kedua kita bandingkan dengan elemen lain dengan jarak yang sama seperti jarak yang sama seperti diatas. Demikian seterusnya sampai seluruh elemen dibandingkan. Pada langkah kedua proses diulang dengan langkah 94

yang lebih kecil, pada langkah ketiga jarak tersebut diperkecil lagi seluruh proses dihentikan jika jarak sudah sama dengan satu. Contoh dari proses pengurutan dengan menggunakan metode Shell Sort dijelaskan pada tabel 1. Tabel 1. Proses pengurutan menggunkan metode Shell Sort C. TUGAS PENDAHULUAN Jawablah pertanyaan berikut ini : 1. Tuliskan algoritma pengurutan bubble sort secara ascending. 2. Tuliskan algoritma pengurutan shell sort secara ascending. D. PERCOBAAN Percobaan 1 : Bubble sort secara ascending. public class Bubble { bubblesort(t[]arr){ int i, j; T temp; for(i=0 ; i<arr.length-1; i++){ for(j=0 ; j<arr.length-i-1; j++){ if(arr[j].compareto(arr[j+1])>0){ temp = arr[j+1]; arr[j+1] = arr[j]; arr[j]= temp; 95

for (T objek : data) { System.out.print(objek + " "); System.out.println(""); Integer data[] = new Integer[10]; for(int a=0 ; a<data.length ; a++){ data[a]= (int)(math.random()*13+1); bubblesort(data); tampil(data); Percobaan 2 : Bubble sort secara ascending dengan flag. public class BubbleFlag { bubblesortflag(t[]arr){ int i=0, j; Boolean did_swap=true; T temp; while(i<arr.length-1 && did_swap){ for(j=0 ; j<arr.length-i-1; j++){ did_swap=false; if(arr[j].compareto(arr[j+1])>0){ temp = arr[j+1]; arr[j+1] = arr[j]; arr[j]= temp; did_swap=true; i++; for (T objek : data) { System.out.print(objek + " "); System.out.println(""); 96

Integer data[] = new Integer[10]; for(int a=0 ; a<data.length ; a++){ data[a]= (int)(math.random()*13+1); bubblesortflag(data); tampil(data); Percobaan 3 : Shell sort secara ascending. public class Shell { shellsort(t[]arr){ int i, jarak; Boolean did_swap=true; T temp; jarak=arr.length; while(jarak>1){ jarak=jarak/2; did_swap=true; while(did_swap){ did_swap=false; i=0; while(i<(arr.length-jarak)){ if(arr[i].compareto(arr[i+jarak])>0){ temp=arr[i]; arr[i]=arr[i+jarak]; arr[i+jarak]=temp; did_swap=true; i++; for (T objek : data) { System.out.print(objek + " "); System.out.println(""); Integer data[] = new Integer[10]; for(int a=0 ; a<data.length ; a++){ data[a]= (int)(math.random()*13+1); 97

shellsort(data); tampil(data); E. LATIHAN 1. Dari percobaan 1 tambahkan method untuk melakukan pengurutan bubble sort secara descending. 2. Dari percobaan 2 tambahkan method untuk melakukan pengurutan bubble sort dengan flag secara descending. 3. Dari percobaan 3 tambahkan method untuk melakukan pengurutan shell sort secara descending. 4. Buatlah class Mahasiswa dengan variable nrp dan nama yang memiliki tipe String! Class Mahasiswa mengimplementasikan interface Comparable, selanjutnya implementasikan fungsi abstract compareto(), untuk membandingkan dua objek mahasiswa berdasarkan nrp. public class Mahasiswa implements Comparable <Mahasiswa> { private String nrp ; private String nama ; @Override public int compareto(mahasiswa o) { @Override public String tostring() { Lakukan pengujian fungsi bubblesort() lagi, sebelumnya tambahkan pada fungsi main() seperti di bawah ini! public class Latihan { bubblesort(t[] arr){ 98

. Mahasiswa arr8[] = {new Mahasiswa("02", "Budi"), new Mahasiswa("01", "Andi"), new Mahasiswa("04", "Udin"), new Mahasiswa("03", "Candra"); bubblesort (arr8); tampil(arr8); 5. Pada soal 4 lakukan untuk algoritma shell sort. F. LAPORAN RESMI Kerjakan hasil percobaan(d) dan latihan(e) di atas dan tambahkan analisa. 99