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

dokumen-dokumen yang mirip
Algoritma Bubble Sort dan Quick Sort

Sorting Algorithms. Buble Sort

Algoritma Sorting (Selection Insertion)

SORTING (PENGURUTAN DATA)

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

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

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

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

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

BAB VI SORTIR ATAU PENGURUTAN

ALGORITMA PENGURUTAN & PENCARIAN

Sorting Algorithms. Definisi

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Bubble Sort dan Shell-Sort. Yuliana Setiowati

Analisis Algoritma Bubble Sort

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

STRATEGI DIVIDE AND CONQUER

PENGURUTAN (SORTING) 1. Overview

Pengurutan (Sorting) Algoritma Pemrograman

SORTING. Brigida Arie Minartiningtyas, M.Kom

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

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

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

CCH1A4 / Dasar Algoritma & Pemrogramanan

STRUKTUR DATA SORTING ARRAY

Gambar 13.1 Ilustrasi proses algoritma sorting

Sorting (Bubble Sort)

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

Analisis Kecepatan Sorting Dengan Notasi Big O

PERTEMUAN 10 METODE DEVIDE AND CONQUER

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

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

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

SEARCHING & SORTING. Pendahuluan

Sorting. Pertemuan ke 14.

Outline STRUKTUR DATA. VII. Sorting

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

BAB V SORTING (PENGURUTAN) INTERNAL

PERTEMUAN 10 METODE DEVIDE AND CONQUER

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

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

Modul 8 SORTING (PENGURUTAN)

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

MODUL IV PENCARIAN DAN PENGURUTAN

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

Materi 4: SORTING (PENGURUTAN) Dosen:

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

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

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

BAB 2 LANDASAN TEORI

Kompleksitas Algoritma (1)

Algoritma Divide and Conquer (Bagian 2)

STRUKTUR DATA (3) sorting array. M.Cs

Kompleksitas Algoritma

BAB VI Pengurutan (Sorting)

Kompleksitas Algoritma

METODE DEVIDE AND CONQUER

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

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

Kompleksitas Algoritma Sorting yang Populer Dipakai

BAB I PENDAHULUAN.

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

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

Algoritme dan Pemrograman

Kompleksitas Algoritma Dalam Algoritma Pengurutan

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

BAB 8 SORTING DAN SEARCHING

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

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

7. SORTING DAN SEARCHING

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

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

BAB VI SEARCHING (PENCARIAN)

Modul Praktikum Algoritma dan Struktur Data

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

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

S O R T I R 6.1 SORTIR TERHADAP RECORD

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

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

Algoritma Divide and Conquer. (Bagian 2)

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

METODE DEVIDE AND CONQUER (DANDC)

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

Pengertian Algoritma Pengurutan

Jurnal Evolusi Volume 5 No evolusi.bsi.ac.id

Journal Speed Sentra Penelitian Engineering dan Edukasi Volume 9 No

BAB 2 LANDASAN TEORI

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Algoritma dan Pemrograman 2 PENGURUTAN

Transkripsi:

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

TUJUAN PERKULIAHAN Mahasiswa mengetahui konsep mengurutkan sekumpulan elemen Mahasiswa dapat menggunakan teknik sorting dalam kasus yang diberikan Mahasiswa mampu mengimplementasikan konsep pengurutan elemen kedalam bahasa pemrograman C++

SORTING Suatu cara yang bertujuan untuk mengurutkan sekumpulan elemen ke dalam urutan tertentu Kegunaan umum : mengurutkan nilai dari suatu data, dimulai dari yang paling kecil sampai paling besar. Contoh: Mengurutkan nilai ujian dari yang paling besar sampai ke yang paling kecil Mengurutkan nama mahasiswa berdasarkan huruf alfabet

JENIS-JENIS SORTING Bubble sort Insertion sort Merge sort

BUBBLE SORT Bubble sort atau metode gelembung adalah salah satu metode pengurutan data dengan cara membandingkan masing-masing elemen, kemudian melakukan penukaran bila perlu. Metode ini mudah untuk diprogram, namun jika dibandingkan dengan metode lain metode gelembung merupakan metode yang paling tidak efisien

PSEUDOCODE BUBBLE SORT procedure bubblesort ( A : list of sortable items ) if length(a) > 1 then n = length(a) repeat swapped = false for i = 1 to n-1 do /* if this pair is out of order */ if A[i+1] < A[i] then /* swap them and remember something changed */ swap( A[i+1], A[i] ) swapped = true end if end for n = n - 1 until not swapped or n = 1 end if end procedure

SOURCE CODE BUBLE SORT { int i,j,temp; for(i=0;i<n;i++) { for(j=0;j<(n-i);j++) { if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } }

CONTOH KASUS BUBBLE SORT Diketahui : int v[5] = {9, 11, 3, 7, 8} Dengan menggunakan bubble sort, urutkan elemen array v dari yang terkecil sampai yang terbesar

ILUSTRASI PROSES BUBBLE SORT Diketahui Data = 9 11 3 7 8 ada 5 data index untuk data tersebut dimulai dari 0 s/d 4 jadi Algoritma bubble sort dengan 5 data membutuhkan maksimum 4 langkah iterasi jika ada n data, berarti ada maksimum n-1 iterasi Lakukan iterasi berikut:

CONTOH Misalkan data awal adalah : 9, 11, 3, 7, 8 Cari bilangan terkecil dari 5 data([0]s/d[4]), dan tempatkan di index 0 Caranya dengan membandingkan data-data yang bersebelahan misal [n] dan [n+1]. Jika [n+1]<[n], maka data [n] dan [n+1] ditukar.

ITERASI-1 Data awal : 9, 11, 3, 7, 8 Dari b=0 sampai b=3 kerjakan: Untuk b=0: data[0]>data[1]? 9 > 11? tidak data[0] dan [1] tidak ditukar data=9,11,3,7,8 Untuk b=1: data[1]>data[2]? 11 > 3? Ya data[1] dan [2] ditukar Data=9,3,11,7,8 Untuk b=2: data[2]>data[3] 11 > 7? Ya data[2] dan [3] ditukar Data=9,3,7,11,8 Untuk b=3: data[3]>data[4] 11 > 8? Ya data[0] dan [1] ditukar Data=9,3,7,8,11 Data akhir iterasi-1 : 9,3,7,8,11

ITERASI-2 Data awal iterasi-2: 9,3,7,8,11 Dari b=0 sampai b=2 kerjakan : Untuk b=0: data[0]>data[1]? 9>3? Ya [0] dan [1] ditukar Data = 3,9,7,8,11 Untuk b=1: data[1]>data[2]? 9>7? Ya [1] dan [2] ditukar Data = 3,7,9,8,11 Untuk b=2: data[2]>data[3] 9>8? tidak data[2] dan [3] tidak ditukar Data = 3,7,8,9,11 Data akhir iterasi-2 : 3,7,8,9,11

ITERASI-3 Data awal iterasi-3: 3,7,8,9,11 Dari b=0 sampai b=1 kerjakan: Untuk b=0: data[0]>data[1]? 3>7? tidak data[0] dan [1] tidak ditukar Data = 3,7,8,9,11 Untuk b=1: data[1]>data[2]? 7>8? tidak data[0] dan [1] tidak ditukar Data = 3,7,8,9,11 Data akhir iterasi-3: 3,7,8,9,11

ITERASI-4 Data awal iterasi-4 : 3,7,8,9,11 Dari b=0 sampai b=0 kerjakan: Untuk b=0: data[0]>data[1]? 3>7? Tidak [0] dan [1] tidak ditukar Data = 3,7,8,9,11 Data akhir iterasi-4 : 3,7,8,9,11 Data output algoritma bubble sort : 3,7,8,9,11

TIME ANALYSIS BUBBLE SORT Worst case : O(n 2 ) Average case : O(n 2 ) Best case : O(n)

INSERTION SORT Metode pengurutan data dengan menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil diurutkan Metode ini mengurutkan bilangan-bilangan yang telah dibaca; dan berikutnya secara berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi array yang telah terurut

PSEUDOCODE INSERTION SORT procedure InsSort ( A : list of sortable items ) if length(a) > 1 then for i = 1 to length(a)-1 do j = i while j > 0 and A[j-1] > A[j] do swap ( A[j], A[j-1] ) j = j 1 end while end for end if end procedure

SOURCE CODE INSERTION SORT int i,j,key; for(i=1;i<n;i++) { key = a[i]; j = i-1; while (j >= 0 && a[j] > key) { a[j+1] =a[j]; j=j-1; } a[j+1]=key; }

TIME ANALYSIS INSERTION SORT Worst case : O(n 2 ) Average case : O(n 2 ) Best case : O(n)

TIME ANALYSIS BUBBLE SORT Worst case : O(n 2 ) Average case : O(n 2 ) Best case : O(n)

REFERENSI http://te.ugm.ac.id/~enas/progdas/chapter6/algoritma%20sorting.ppt http://entin.lecturer.pens.ac.id/struktur%20data%20&%20algoritma/buku/ Data%20Structure%20-%20Bab%206.pdf https://teachinglondoncomputing.org/the-bubblesort-activity/ http://arna.lecturer.pens.ac.id/modul_asd/8.1%20insertion-sort.pdf Video : Bubble sort : https://www.youtube.com/watch?v=8kp-8ogwphy Insertion sort : https://www.youtube.com/watch?v=dfg-xuypyuq Merge sort : https://www.youtube.com/watch?v=eeq8pwjqxtm

Terima Kasih

PR Pelajari cara mengurutkan data dengan menggunakan teknik merge sort Selection Sort Quick Sort