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

dokumen-dokumen yang mirip
BAB 2 SORTING (PENGURUTAN)

# TEN Sorting PENDAHULUAN

SORTING (Pengurutan)

Modul Praktikum Algoritma dan Struktur Data

Sorting. Pertemuan ke 14.

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

BAB VI Pengurutan (Sorting)

Modul 8 SORTING (PENGURUTAN)

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Gambar 13.1 Ilustrasi proses algoritma sorting

1. Algoritma Searching

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

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

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

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

STRUKTUR DATA (3) sorting array. M.Cs

Materi 4: SORTING (PENGURUTAN) Dosen:

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

STRUKTUR DATA SORTING ARRAY

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

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 Struktur Data. Algoritma Pengurutan (Sorting)

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

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

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

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

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

Algoritma dan Struktur Data

Powered by icomit.wordpress.com

Pengurutan (Sorting) Algoritma Pemrograman

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

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

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

Prpsedur progaram selectioa sort (Dengan program C++)

SORTING (PENGURUTAN DATA)

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

Sorting (Bubble Sort)

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

Algoritma Sorting (Selection Insertion)

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

BAB VI SORTIR ATAU PENGURUTAN

Politeknik Elektronika Negeri Surabaya

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

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

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

Pengurutan (Sorting)

Politeknik Elektronika Negeri Surabaya

Algoritma dan Struktur Data. Searching dan Sorting

Bubble Sort dan Shell-Sort. Yuliana Setiowati

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

Politeknik Elektronika Negeri Surabaya

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Politeknik Elektronika Negeri Surabaya

PERTEMUAN 10 METODE DEVIDE AND CONQUER

A. TUJUAN PEMBELAJARAN

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

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

Algoritma Bubble Sort dan Quick Sort

ALGORITMA PENGURUTAN & PENCARIAN

MODUL IV PENCARIAN DAN PENGURUTAN

Kompleksitas Algoritma Sorting yang Populer Dipakai

Algoritma dan Pemrograman 2 PENGURUTAN

PERTEMUAN 10 METODE DEVIDE AND CONQUER

BAB V SORTING (PENGURUTAN) INTERNAL

BAB 1 PENDAHULUAN Latar Belakang

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

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

Politeknik Elektronika Negeri Surabaya

Sorting Algorithms. Definisi

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

Pengertian Algoritma Pengurutan

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

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

Bubble Sort dan Selection Sort di Java Console

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

BAB 8 SORTING DAN SEARCHING

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

A. TUJUAN PEMBELAJARAN

Metode Insertion Sort di Java Console

BAB I PENDAHULUAN.

Politeknik Elektronika Negeri Surabaya

7. SORTING DAN SEARCHING

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

Sorting Algorithms. Divide and Conquer

METODE DEVIDE AND CONQUER

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Teknik Pengurutan Kartu Remi

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

Politeknik Elektronika Negeri Surabaya

Modul Praktikum 6 Pemograman Berorientasi Objek

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Outline STRUKTUR DATA. VII. Sorting

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Algoritma dan Pemrograman 2 PENGURUTAN

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

Algoritme dan Pemrograman

Algoritme dan Pemrograman

PENGURUTAN BILANGAN METODE STRAIGHT SELECTION

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

Transkripsi:

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

void tukar(int a, int b) { int t; t = data[b]; data[b] = data[a]; data[a] = t; void selection_sort() { int pos,i,j; for(i=1;i<=n-1;i++) { pos = i; for(j = i+1;j<=n;j++) { if(data[j] < data[pos]) pos = j; if(pos!= i) tukar(pos,i);

Pengurutan (sorting) Merupakan proses untuk menyusun kembali kumpulan entri-entri yang telah dimasukkan dengan suatu aturan tertentu. Memudahkan pengelolaan data, misalnya pencarian data. Secara umum ada 2 (dua) macam pengurutan : 1) Pengurutan secara menaik (ascenden) Misal : Array A dengan elemen N A[1] A[2] A[3] A[N] 2) Pengurutan secara menurun (descenden) Misal : Array A dengan elemen N A[1] A[2] A[3] A[N]

Pengurutan (sorting) Keuntungannya : 1. Data mudah dicari (misalnya dalam buku telepon atau kamus bahasa), mudah untuk dibetulkan, dihapus, disisipi atau digabungkan. 2. Dalam keadaan terurutkan, kita mudah melakukan pengecekan apakah ada data yang hilang. 3. Mempercepat proses pencarian data yang harus dilakukan berulang kali.

Metode Sorting Metode sorting yang sering digunakan: Selection Sort Bubble Sort Insertion Sort Quick Sort Shell Sort Merge Sort dst...

Selection Sort Adalah memilih elemen maksimum/minimum dari Larik Menempatkan elemen maksimum/ minimum tersebut pada awal/akhir larik (elemen ujung) Elemen terujung tersebut diisolasi dan tidak disertakan pada proses selanjutnya. Proses yg sama diulang untuk elemen larik yg tersisa Memilih elemen maksimum/minimum berikutnya dan mempertukarkannya dengan elemen terujung larik sisa.

Langkah-langkah berikut: Selection Sort 1) Mulai dari indeks 0, mencari nilai terkecil pada seluruh array. 2) Tukar nilai terkecil yang ditemukan dengan nilai pada indeks 0. 3) Ulangi langkah 1 & 2 mulai dari indeks berikutnya. menemukan elemen terkecil dalam array, dan meletakkannya di posisi pertama. Kemudian menemukan elemen terkecil berikutnya, dan meletakkannya di posisi kedua. Proses ini akan diulang sampai kita kehabisan elemen.

Selection Sort {30, 50, 20, 10, 40 Pertama, kita menemukan elemen terkecil yaitu 10, mulai dari indeks 0: {30, 50, 20, 10, 40 Kemudian swap 10 dengan elemen pada indeks 0 yaitu 30: {10, 50, 20, 30, 40 Sekarang elemen pertama telah diurutkan, jadi kita bisa mengabaikannya. Selanjutnya, kita dapat mulai menemukan elemen terkecil terkecil berikutnya, mulai dari indeks 1:

Step by step -1 Contoh diberikan sederetan array nilai, yaitu : 7 5 3 13 11 1. Mendeklarasikan array yang berisi bilangan seperti contoh di atas. int deretangka[5];

Step by step -2 Contoh diberikan sederetan array nilai, yaitu : 7 5 3 13 11 2. Mendeklarasikan bilangan counter sebagai counter perulangan. int deretangka[5]; int i,j;

Step by step -3 7 5 3 13 11 3. Mendeklarasikan perulangan yang memproses pertukaran nilai elemen dan pencarian nilai minimum.

LATIHAN 70 65 88 54 90 60 Urutkanlah nilai-nilai diatas berdasarkan ascending dan descending

void tukar(int a, int b) { int t; t = data[b]; data[b] = data[a]; data[a] = t; void selection_sort() { int pos,i,j; for(i=1;i<=n-1;i++) { pos = i; for(j = i+1;j<=n;j++) { if(data[j] < data[pos]) pos = j; if(pos!= i) tukar(pos,i);

Bubblesort Terinspirasi dari gelembung sabun (berat jenis gelembung lebih ringan dari berat jenis air) Dalam array yg terurut menaik, maka elemen larik yang paling kecil diapungkan dengan cara diletakan keujung kiri larik melalui proses pertukaran.

Bubblesort Ide dasar dari metode ini adalah : 1. Membawa data terkecil dari data ke-1 s/d ke-n menjadi data[1]. 2. Membawa data terkecil dari data ke-2 s/d ke-n menjadi data[2]. 3. 4. Membawa data terkecil dari data ke-(n-1) s/d ke-n menjadi data[n-1].

Step by step -1 Contoh diberikan sederetan array nilai, yaitu : 23 45 12 24 56 1. Mendeklarasikan array yang berisi bilangan seperti contoh di atas. int deretangka[5];

Step by step -2 Contoh diberikan sederetan array nilai, yaitu : 23 45 12 24 56 2. Mendeklarasikan bilangan counter sebagai counter perulangan, dan variabel temp untuk menyimpan nilai sementara, dan variabel penanda apakah masih terjadi pertukaran atau tidak. int deretangka[5]; int i,j,temp;

Step by step -3 23 45 12 24 56 3. Mendeklarasikan perulangan yang memproses pertukaran nilai elemen dan pencarian nilai minimum. 1 untuk i=0 to n kerjakan langkah 2 2 untuk j=0 to n-1 kerjakan langkah 3 3 cek apakah a[j] > a[j+1] maka tukar 4 selesai

LATIHAN 70 65 88 54 90 60 Urutkanlah nilai-nilai diatas berdasarkan ascending dan descending

void tukar(int a, int b) { int t; t = data[b]; data[b] = data[a]; data[a] = t; void bubble_sort() { for(int i=1;i<=n;i++) { for(int j=n; j>=i; j--) { if(data[j] < data[j-1]) tukar(j,j-1);

Insertion Sort Adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yg tepat dilakukan dengan menyisir larik (array). Selama penyisiran dilakukan pergeseran elemen larik. Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Analoginya sesuai dengan permainan kartu.

Insertion Sort 1. Baca vektor yang akan diurutkan 2. Kerjakan langkah 2-5 untuk I =2 sampai N 3. Tentukan T=A[I](elemen yang akan disisipkan) A[0]=T(data sentinen ) dan J=I-1 4. Tentukan, selama T < A[J] dan j>0 kerjakan A[J+1]=A[J] dan J=J-1 End looping no.4; 5. Tentukan a[j+1)=t {untuk menempatkan elemen di posisi yang semestinya

void tukar(int a, int b) { int t; t = data[b]; data[b] = data[a]; data[a] = t; void insertion_sort() { int temp,i,j; for(i=1;i<=n;i++) { temp = data[i]; j = i -1; while(data[j]>temp && j>=0) { data[j+1] = data[j]; j--; data[j+1] = temp;

TUGAS Buatlah program yang menyimpan nama-nama mahasiswa beserta nilai ujian praktikumnya. Kemudian urutkan nama-nama mahasiswa tersebut berdasarkan nilai ujian dari yang terendah ke yang tertinggi. gunakan selection sort dan bubble sort.