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

dokumen-dokumen yang mirip
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

A. TUJUAN PEMBELAJARAN

Politeknik Elektronika Negeri Surabaya

A. TUJUAN PEMBELAJARAN

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

Sorting. Pertemuan ke 14.

Modul Praktikum 6 Pemograman Berorientasi Objek

Gambar 13.1 Ilustrasi proses algoritma sorting

A. TUJUAN PEMBELAJARAN

Modul Praktikum Algoritma dan Struktur Data

Metode Insertion Sort di Java Console

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

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

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Modul 8 SORTING (PENGURUTAN)

Politeknik Elektronika Negeri Surabaya

Bubble Sort dan Selection Sort di Java Console

Algoritma dan Struktur Data

Tes Asisten Praktikum Alpro Lanjut

PENGURUTAN (SORTING) 1. Overview

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

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

Algoritma Sorting (Selection Insertion)

Metode Binnary Searching di Java Console

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

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

Bab Tujuan. 6.2 Insertion Sort

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

Gambar 1. Single Linked List

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU

SORTING (PENGURUTAN DATA)

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

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

# TEN Sorting PENDAHULUAN

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Gambar 1. Single Linked List

BAB 2 SORTING (PENGURUTAN)

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

STRUKTUR DATA SORTING ARRAY

BAB VI Pengurutan (Sorting)

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Array Multidimensi. Pemrograman Dasar. Java

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

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Gambar 1. Single Linked List

Array. Pengantar. int a, b, c, d, e;

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

STRUKTUR DATA (3) sorting array. M.Cs

Outline STRUKTUR DATA. VII. Sorting

Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort

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

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

Belajar Rekursif di Java

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

Struktur Kontrol Pemrograman Java : PERCABANGAN

Powered by icomit.wordpress.com

ALGORITMA PENGURUTAN & PENCARIAN

A. TUJUAN PEMBELAJARAN

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

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

Operasi File. Chapter 13

SORTING (Pengurutan)

Insertion Sort Dengan Algoritma Divide And Conquer

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

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

Pertemuan 4 Halaman 1/1. Class Inheritance

BAB 8 SORTING DAN SEARCHING

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

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

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

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

7. SORTING DAN SEARCHING

SORTING. Brigida Arie Minartiningtyas, M.Kom

Percabangan & Perulangan

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

PEWARISAN D E W I S A R T I K A, M. K O M

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Permainan Remi Sederhana

ARRAY. 7 th week Estu Sinduningrum ST,MT

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

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

Modul 3: Kendali program dan teknik. penyimpanan data

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

PEMBAHASAN UJIAN TENGAH SEMESTER PEMROGRAMAN BERBASIS OBYEK Dosen : Tim Dosen PBO

Algoritma dan Pemrograman

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

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

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

Perulangan / Looping

Transkripsi:

PRAKTIKUM 9-10 ALGORITMA PENGURUTAN (INSERTION DAN SELECTION) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan insertion sort dan selection sort. 2. Mampu mengimplementasikan algoritma pengurutan insertion sort dan selection sort secara ascending dan descending. B. DASAR TEORI 1. Algoritma Insertion Sort Salah satu algoritma sorting yang paling sederhana adalah insertion sort. Algoritma insertion sort pada dasarnya memilah data yang akan urutkan menjadi 2 bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tak ada lagi elemen tersisa pada bagian array yang belum diurutka. Metode insection sort merupakan metode yang mengurutkan bilangan-bilangan yang telah terbaca, dan berikutnya secara berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang telah terurut. Kita mengambil pada bilangan yang paling kiri. Bilangan tersebut dikatakan urut terhadap dirinya sendiri karena bilangan yang di bandingkan baru 1. Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1) Cek bilangan ke 2 (10) apakah lebih kecil dari bilangan yang ke 1(3).Apabila lebih kecil maka ditukar. Tapi kali ini bilangan ke 1 lebih kecil dari bilangan ke 2 maka tidak ditukar. 86

Gambar 2. Langkah-langkah pengurutan metode Insertion Sort (2) Pada kotak warna abu2 sudah dalam keadaan terurut. Kemudian membandingkan lagi pada bilangan selanjutnya yaitu bilangan ke 3 (4). Bandingkan dengan bilangan yang ada di sebelah kirinya. Pada kasus ini bilangan ke 2 bergeser dan digantikan bilangan ke 3. Gambar 3. Langkah-langkah pengurutan metode Insertion Sort (3) Lakukan langkah seperti di atas pada bilangan selanjutnya. 4 bilangan pertama sudah dalam keadaan terurut relatif. Ulangi proses tersebut sampai bilangan terakhir disisipkan. Gambar 4. Langkah-langkah pengurutan metode Insertion Sort (4) 87

2. Algoritma Selection Sort Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1. Cek seluruh array dan cari array yang mempunyai nilai terkecil index 8 (1). Setelah ketemu tukar dengan array yang berada di pojok kiri (3). Gambar 5. Langkah-langkah pengurutan metode Selection Sort (1) Setelah di tukar bagian yang berwarna abu-abu merupakan index yang telah terurutkan. Gambar 6. Langkah-langkah pengurutan metode Selection Sort (2) Kemudian cari bilangan terkecil selanjutnya (selain di kotak abu-abu) yaitu bilangan 2 dan tukar dengan sebelah array yang telah terurutkan. Gambar 7. Langkah-langkah pengurutan metode Selection Sort (3) Dua array sudah terurutkan. Kemudian ulangi langkah di atas dan lakukan langkah yang sama yaitu pilih terkecil dan tukar dengan sebelah array yang sudah terurutkan. 88

Gambar 7. Langkah-langkah pengurutan metode Selection Sort (4) C. TUGAS PENDAHULUAN Jawablah pertanyaan berikut ini : 1. Tuliskan algoritma pengurutan insertion sort secara ascending. 2. Tuliskan algoritma pengurutan selection sort secara ascending. D. PERCOBAAN Percobaan 1 : Insertion sort secara ascending public class Insertion { 89

public static <T extends Comparable<? super T>> void insertionsort(t[] arr){ for (int i=arr.length-1 ; i>=0 ; i--) { for (int j = i+1, k = i; j <arr.length ; j++){ if (arr[j].compareto(arr[k]) > 0) { break; else { T temp = arr[k]; arr[k] = arr[j]; arr[j] = temp; k = j; public static <T> void tampil(t data[]) { for (T objek : data) { System.out.print(objek + " "); System.out.println(""); public static void main(string[] args) { Integer data[] = new Integer[10]; for(int a=0 ; a<data.length ; a++) { data[a]= (int)(math.random()*20+1); long awal = System.currentTimeMillis(); insertionsort(data); long sisawaktu = System.currentTimeMillis() - awal; tampil(data); System.out.println("Waktu " + sisawaktu); Percobaan 2 : Selection sort secara ascending public class Selection { public static <T extends Comparable<? super T>> void selectionsort(t[] arr) { T temp; for(int i=arr.length-1 ; i>=0 ; i--){ int max = i; for(int j=i-1 ; j>=0 ; j--){ if(arr[j].compareto(arr[max]) > 0) max = j; temp = arr[i]; arr[i] = arr[max]; arr[max] = temp; 90

public static <T> void tampil(t data[]) { for (T objek : data) { System.out.print(objek + " "); System.out.println(""); public static void main(string[] args) { Integer data[] = new Integer[10]; for(int a=0 ; a<data.length ; a++){ data[a]= (int)(math.random()*13+1); long awal = System.currentTimeMillis(); selectionsort(data); long sisawaktu = System.currentTimeMillis() - awal; tampil(data); System.out.println("Waktu " + sisawaktu); E. LATIHAN 1. Dari percobaan 1 tambahkan method untuk melakukan pengurutan insertion sort secara descending. 2. Dari percobaan 2 tambahkan method untuk melakukan pengurutan selection sort secara descending. 3. Buatlah program untuk melakukan pengurutan insertion sort terurut dari kanan ke kiri secara ascending dan descending. 4. Buatlah program untuk melakukan pengurutan selection sort terurut dari kanan ke kiri secara ascending dan descending. 5. 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 91

public int compareto(mahasiswa o) { @Override public String tostring() { Lakukan pengujian fungsi insertionsort() lagi, sebelumnya tambahkan pada fungsi main() seperti di bawah ini! public class Latihan { public static <T extends Comparable<? super T>> void insertionsort(t[] arr){ public static <T> void tampil(t data[]) {. public static void main(string[] args) { Mahasiswa arr8[] = {new Mahasiswa("02", "Budi"), new Mahasiswa("01", "Andi"), new Mahasiswa("04", "Udin"), new Mahasiswa("03", "Candra"); long awal = System.currentTimeMillis(); insertionsort (arr8); tampil(arr8); long sisawaktu = System.currentTimeMillis() - awal; System.out.println("Waktu " + sisawaktu); 6. Pada soal 5 lakukan untuk algoritma selection sort. F. LAPORAN RESMI Kerjakan hasil percobaan(d) dan latihan(e) di atas dan tambahkan analisa. 92