PENGURUTAN (SORTING) 1. Overview

dokumen-dokumen yang mirip
Sorting. Pertemuan ke 14.

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

Gambar 13.1 Ilustrasi proses algoritma sorting

SORTING (PENGURUTAN DATA)

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

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

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

BAB I PENDAHULUAN.

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

A. TUJUAN PEMBELAJARAN

STRUKTUR DATA SORTING ARRAY

Modul Praktikum Algoritma dan Struktur Data

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

Pengurutan (Sorting)

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

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

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

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

Modul 8 SORTING (PENGURUTAN)

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

Algoritme dan Pemrograman

BAB 2 SORTING (PENGURUTAN)

Algoritma Bubble Sort dan Quick Sort

ALGORITMA PENGURUTAN & PENCARIAN

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

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

STRUKTUR DATA (3) sorting array. M.Cs

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

SORTING (Pengurutan)

Politeknik Elektronika Negeri Surabaya

A. TUJUAN PEMBELAJARAN

ARRAY. Karakteristik

A. TUJUAN PEMBELAJARAN

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

BAB VI Pengurutan (Sorting)

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

Politeknik Elektronika Negeri Surabaya

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

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

SEARCHING & SORTING. Pendahuluan

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

CCH1A4 / Dasar Algoritma & Pemrogramanan

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

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

Politeknik Elektronika Negeri Surabaya

# TEN Sorting PENDAHULUAN

Algoritme dan Pemrograman

Powered by icomit.wordpress.com

Algoritma dan Struktur Data. Searching dan Sorting

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

Kontrak Perkuliahan & Introduction

MAKALAH STRUKTUR DATA HEAP SORT. Disusun Oleh :

Algoritma dan Struktur Data

PENCARIAN (SEARCHING)

Pengurutan (Sorting) Algoritma Pemrograman

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

BAB VI SORTIR ATAU PENGURUTAN

Politeknik Elektronika Negeri Surabaya

Modul Praktikum 6 Pemograman Berorientasi Objek

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

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

Politeknik Elektronika Negeri Surabaya

7. SORTING DAN SEARCHING

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

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

Prpsedur progaram selectioa sort (Dengan program C++)

Sorting (Bubble Sort)

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

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

SORTING. Brigida Arie Minartiningtyas, M.Kom

Politeknik Elektronika Negeri Surabaya

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

PERTEMUAN 10 METODE DEVIDE AND CONQUER

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

Algoritma Sorting (Selection Insertion)

BAB 1 PENDAHULUAN Latar Belakang

BAB 8 SORTING DAN SEARCHING

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

PERTEMUAN 10 METODE DEVIDE AND CONQUER

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

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

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

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

Materi 4: SORTING (PENGURUTAN) Dosen:

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Bubble Sort dan Shell-Sort. Yuliana Setiowati

Outline STRUKTUR DATA. VII. Sorting

Tes Asisten Praktikum Alpro Lanjut

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

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

METODE DEVIDE AND CONQUER

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

1. Algoritma Searching

Bab Tujuan. 6.2 Insertion Sort

Pengertian Algoritma Pengurutan

POINTER. Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN Overview. Definisi Pointer Operasi Pointer Pointer dan Argumen Fungsi

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

Transkripsi:

PENGURUTAN (SORTING) 1 Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Overview Definisi dan Tujuan Jenis Pengurutan Teknik Pengurutan Selection Sort Bubble Sort Kuliah Minggu ke 13 1

Definisi dan Tujuan Definisi umum: proses pengaturan kembali serangkaian objek dalam urutan tertentu Tujuan: untuk mempercepat pencarian suatu target dalam suatu daftar (list) Membaca data dari keyboard: Jenis Pengurutan Berdasar bentuk pengurutan: Ascending : Pengurutan dilakukan mulai dari nilai terkecil menuju nilai terbesar Descending: Pengurutan dilakukan mulai dari nilai terbesar menuju nilai terkecil Berdasar data yang akan diurutkan: Internal sorting: Pengurutan dilakukan terhadap array External sorting: Pengurutan dilakukan terhadap file sekuensial Kuliah Minggu ke 13 2

Teknik Pengurutan Sederhana: Selection Sort Bubble Sort Insertion Sort Lanjut: Quick Sort Merge Sort SELECTION SORT Ide dasar: Mencari nilai ekstrim (terbesar atau terkecil) dalam array dan menukarkannya dengan elemen terujung. Kuliah Minggu ke 13 3

Algoritma: for(i=0; i<=n-2;i++){ /* N=Banyak data dlm daftar */ for(j=i;j<=n-1;j++){ /* Tentukan index dari data terkecil antara A[j] s/d A[N-1], dan simpan di variabel k. Kemudian tukar A[i] dengan A[k]. */ Baca Data Data Pertama Tukarkan Data Terkecil Algoritma: for(i=0; i<=n-2;i++){ /* N=Banyak data dlm daftar */ for(j=i;j<=n-1;j++){ /* Tentukan index dari data terkecil antara A[j] s/d A[N-1], dan simpan di variabel k. Kemudian tukar A[i] dengan A[k]. */ Baca Data Data Pertama Tukarkan Data Terkecil Kuliah Minggu ke 13 4

Algoritma: for(i=0; i<=n-2;i++){ /* N=Banyak data dlm daftar */ for(j=i;j<=n-1;j++){ /* Tentukan index dari data terkecil antara A[j] s/d A[N-1], dan simpan di variabel k. Kemudian tukar A[i] dengan A[k]. */ Baca Data Data Pertama Tukarkan Data Terkecil Algoritma: for(i=0; i<=n-2;i++){ /* N=Banyak data dlm daftar */ for(j=i;j<=n-1;j++){ /* Tentukan index dari data terkecil antara A[j] s/d A[N-1], dan simpan di variabel k. Kemudian tukar A[i] dengan A[k]. */ Baca Data Data Pertama Tukarkan Data Terkecil Kuliah Minggu ke 13 5

Algoritma: for(i=0; i<=n-2;i++){ /* N=Banyak data dlm daftar */ for(j=i;j<=n-1;j++){ /* Tentukan index dari data terkecil antara A[j] s/d A[N-1], dan simpan di variabel k. Kemudian tukar A[i] dengan A[k]. */ Data Terakhir Berhenti /* Fungsi-fungsi pada Selection Sort */ #include <stdio.h> void Cari_Min(int *Arr, int mulai, int akhir,int *k) { unsigned int i; int min; min = Arr[mulai]; for (i=mulai; i<=akhir;i++){ if (Arr[i] < min){ min = Arr[i]; *k = i; void Tukar(int *x, int *y) { int z ; z = *x; *x = *y; *y = z; Kuliah Minggu ke 13 6

void Selection(int *Arr, int n) { int i,k; for(i=0;i<=n-2;i++){ Cari_Min(Arr,i,n-1,&k); Tukar(&Arr[i],&Arr[k]); /* Program Utama */ void main() { int DataArr[] = {,,,,; int i; for(i=0; i<5; i++) printf( %d,dataarr[i]); printf( \n ); Selection(DataArr,5); for(i=0; i<5; i++) printf( %d,dataarr[i]); printf( \n ); BUBBLE (EXCHANGE) SORT Ide dasar: Mengapungkan elemen yang nilainya kecil dengan pertukaran, sehingga array akan terurut membesar (ascending). Kuliah Minggu ke 13 7

Algoritma (Dengan Ilustrasi) Pola Pergerakan Elemen Pada Putaran Pertama Pola Pergerakan Elemen Pada Putaran Kedua Pola Pergerakan Elemen Pada Putaran Ketiga Putaran Keempat Terakhir Kuliah Minggu ke 13 8

Fungsi Bubble Sort void Bubble(int *DataArr, int n) { int i,j; for (i=1; i<n; i++) for (j=n-1; j>=i; j--) if (DataArr[j-1] > DataArr[j]) Tukar(&DataArr[j-1],&DataArr[j]); Bila data telah terurut, procedure diatas berlaku bodoh, yaitu tetap melakukan pembandingan. Perbaikan secara sederhana, yaitu menambah : flag yang memberitahu, bila pada suatu putaran data telah terurut. Fungsi Bubble Sort void Bubble_Flag(int *Arr, int n) { int i,j; int urut; /* Flag */ urut = 0; i = 1; while ((i < n) && (!urut)) { urut = 1; for (j=n-1; j>=i; j--) { if (Arr[j-1] > Arr[j]){ Tukar (&Arr[j-1], &Arr[j]); urut = 0; i = i + 1; Kuliah Minggu ke 13 9

Latihan 1. Modifikasi prosedur pengurutan dengan pemilihan (selection) untuk mengurutkan data sehingga terurut mengecil (descending). 2. Modifikasi prosedur pengurutan dengan teknik bubble untuk mengurutkan data sehingga terurut mengecil (descending). 3. Buat main program untuk memanggil fungsi Bubble_Flag diatas. Kuliah Minggu ke 13 10