Gambar 13.1 Ilustrasi proses algoritma sorting

dokumen-dokumen yang mirip
Algoritma dan Struktur Data

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

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Modul 8 SORTING (PENGURUTAN)

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

Modul Praktikum Algoritma dan Struktur Data

STRUKTUR DATA SORTING ARRAY

SORTING (PENGURUTAN DATA)

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

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

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

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

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

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

STRUKTUR DATA (3) sorting array. M.Cs

BAB I PENDAHULUAN.

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

ALGORITMA PENGURUTAN & PENCARIAN

BAB 2 SORTING (PENGURUTAN)

# TEN Sorting PENDAHULUAN

Algoritma dan Struktur Data. Searching dan Sorting

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

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

SORTING (Pengurutan)

A. TUJUAN PEMBELAJARAN

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

Algoritma Bubble Sort dan Quick Sort

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

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

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Pencarian (Searching)

Modul 15 Searching. 1.1 Kompetensi

Algoritma Sorting (Selection Insertion)

METODE DEVIDE AND CONQUER

Sorting Algorithms. Divide and Conquer

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

PENGURUTAN (SORTING) 1. Overview

BAB 8 SORTING DAN SEARCHING

Powered by icomit.wordpress.com

Sorting. Pertemuan ke 14.

Modul Praktikum 6 Pemograman Berorientasi Objek

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

7. SORTING DAN SEARCHING

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

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Pengurutan (Sorting) Algoritma Pemrograman

BAB VI Pengurutan (Sorting)

Materi 4: SORTING (PENGURUTAN) Dosen:

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

Bubble Sort dan Shell-Sort. Yuliana Setiowati

A. TUJUAN PEMBELAJARAN

PERTEMUAN 10 METODE DEVIDE AND CONQUER

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

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

Algoritme dan Pemrograman

Pengurutan (Sorting)

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

Algoritma dan Struktur Data

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

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

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

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

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

Sorting. Selection Sort. Straight insertion Sort. Merge Sort Paradigma Divide-and-Conquer. Quicksort

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

Algoritme dan Pemrograman

Pengertian Algoritma Pengurutan

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

Prpsedur progaram selectioa sort (Dengan program C++)

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Politeknik Elektronika Negeri Surabaya

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

Politeknik Elektronika Negeri Surabaya

Outline STRUKTUR DATA. VII. Sorting

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

Teknik Pengurutan Kartu Remi

SEARCHING & SORTING. Pendahuluan

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

Kompleksitas Algoritma Sorting yang Populer Dipakai

12/26/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Sorting. Data untuk sorting. Contoh. Algoritme #1: BUBBLE SORT.

MODUL IV PENCARIAN DAN PENGURUTAN

SATUAN ACARA PENGAJARAN

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

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

SATUAN ACARA PERKULIAHAN(SAP)

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Bab Tujuan. 6.2 Insertion Sort

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

Sorting Algorithms. Definisi

1. Algoritma Searching

A. TUJUAN PEMBELAJARAN

Transkripsi:

MODUL 13 SORTING 13.1 Kompetensi 1. Mahasiswa mampu menjelaskan mengenai algoritma sorting. 2. Mahasiswa mampu membuat dan mendeklarasikan struktur algoritma sorting. 3. Mahasiswa mampu menerapkan dan mengimplementasikan algoritma sorting. 13.2 Alat Dan Bahan: 1. PC / Laptop 2. IDE bahasa pemrograman C (Dev-Cpp) 13.3 Ulasan Teori: 1. Dasar Sorting Sorting adalah suatu proses (operasi) mengurutkan data dalam suatu urutan yang dikehendaki. Terdapat dua jenis pengurutan, pengurutan data secara naik dikenal dengan istilah ascending dan pengurutan data secara menurun dikenal dengan istilah descending. Ilustrasi proses pengurutan dapat dilihat pada Gambar 13.1 Gambar 13.1 Ilustrasi proses algoritma sorting Dalam proses sorting (dalam modul ini hanya dibahas 4 metode), dikenal beberapa metode yang digunakan, antara lain: 96

1. Bubble Sort 2. Selection Sort 3. Insertion Sort 4. Merge Sort 2. Bubble Sort Bubble Sort adalah salah satu metode sorting yang paling mudah diimplementasikan. Tetapi dengan metode ini, proses sorting kurang efektif jika dibandingkan dengan metode lain. Metode ini dilakukan dengan cara membandingkan data mulai dari data pertama dengan data-data setelahnya. Setiap kali pembandingan akan diikuti dengan proses penukaran (swap) jika nilai yang dibandingkan sesuai dengan model pengurutan (ascending atau descending). Proses pembandingan serta penukaran akan diulang untuk data kedua (dibandingkan dengan data ketiga hingga sampai data terakhir. Begitu juga yang terjadi dengan data ketiga dibandingkan dengan data berikutnya. Proses ini akan berakhir sampai tidak ada data yang dibandingkan lagi. Ilustrasi proses pengurutan dengan metode Bubble Sort, diilustrasikan pada Gambar 13.2 sampai Gambar 13.5. Gambar 13.2 Ilustrasi bubble sort tahap 1 97

Gambar 13.3 Ilustrasi bubble sort tahap 2 Gambar 13.4 Ilustrasi bubble sort tahap 3 Gambar 13.5 Ilustrasi bubble sort tahap 4 3. Selection Sort Pengurutan dengan metode Selection Sort mengkombinasikan antara proses sorting dan searching. Metode ini memperbaiki pengurutan dengan metode Bubble Sort dengan cara mengurangi jumlah proses penukaran. Metode ini akan 98

mencari nilai terkecil dari deretan data terlebih dahulu untuk kemudian dilakukan proses penukaran (swap). Proses ini akan dilakukan sampai data terakhir. Ilustrasi proses pengurutan dapat dilihat pada Gambar 13.6. 4. Insertion Sort Gambar 13.6 Ilustrasi Selection Sort Gambar 13.7 Ilustrasi Insertion Sort Metode Insertion Sort dilakukan dengan cara menyisipkan (insert) suatu data pada posisi yang seharusnya. Langkah-langkah dalam proses ini, dijabarkan sebagai berikut: 1. Ambil satu data ke-i, simpan nilai ke dalam temp (i dimulai dari 2). 2. Bandingkan nilai dari data temp dengan data yang ada di sebelah kiri satu per-satu. 3. Cek apakah data temp lebih kecil dari data di sebelah kiri. 99

4. Jika langkah nomor 3 bernilai benar, lakukan pergeseran data satu per-satu kemudian pada posisi yang tepat sisipkan data temp. 5. Ulangi langkah 1 sampai dengan 4, sehingga nilai i sama dengan data terakhir. 5. Merge Sort Gambar 13.8 Ilustrasi Merge Sort Pengurutan dengan metode ini sering juga disebut dengan metode Divide and Conquer. Metode ini terdiri dari 3 tahapan. Divide membagi permasalahan atau koleksi data ke dalam bagian-bagian yang lebih kecil. Conquer mengurutkan dari bagian yang paling kecil. Dan tahapan yang terakhir yaitu Combine, mengkombinasikan atau menggabungkan solusi dari bagian yang paling kecil sehingga menjadi solusi utama. Ilustrasi proses pengurutan yang terjadi dijabarkan pada Gambar 13.8. 100

13.4 Langkah Praktikum: Tulislah kode program bahasa C di bawah ini Jalankan program, amati apa yang terjadi! Apa fungsi dari blok percabangan di dalam nested loop? 13.5 Tugas / Laporan 1. Sempurnakan program pada praktikum sebelumnya, sehingga bisa melakukan sorting secara ascending atau descending berdasarkan pilihan user! 2. Buatlah program yang dapat melakukan pencarian pada array berikut ini menggunakan Binary Search: { 2, 5, 90, 12, 50, 5, 7, 10, 100, 20, 30, 91, 27 Petunjuk: #include <stdio.h> #define SIZE 10 int main() { int data[size] = { 35, 24, 32, 8, 1, 10, 78, 5, 52, 9 ; int swap; for (int i = 0; i < SIZE - 1; i++) { for (int j = 0; j < SIZE - i - 1; j++) { if (data[j] > data[j + 1]) { swap = data[j]; data[j] = data[j + 1]; data[j + 1] = swap; for (int i = 0; i < SIZE; i++) { printf("%d\t", data[i]); return 0; a. Urutkan terlebih dahulu data di atas menggunakan Bubble Sort b. Setelah itu lakukan pencarian data yang sudah terurut tersebut menggunakan Binary Search. 101