SlideShare uma empresa Scribd logo
1 de 39
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Struktur Data dan Algoritma
Algoritma Pengurutan
2014
CEP - CCIT
Fakultas Teknik Universitas Indonesia
Outline
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Beberapa algoritma untuk melakukan sorting:
– Bubble sort
– Selection sort
– Insertion sort
– Shell sort
– Merge sort
– Quick sort
• Untuk masing-masing algoritma:
– Ide dasar
– Contoh eksekusi
– Algoritma
Outline
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Sorting = pengurutan
• Sorted = terurut menurut kaidah/aturan tertentu
• Data pada umumnya disajikan dalam bentuk sorted.
• Contoh:
– Nama di buku telpon
– Kata-kata dalam kamus
– File-file di dalam sebuah directory
– Indeks sebuah buku
– Data mutasi rekening tabungan
– CD di toko musik
• Bayangkan jika data di atas tidak terurut!
Bubble Sort : Ide Dasar
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Bubble = busa/udara dalam air – apa yang terjadi?
– Busa dalam air akan naik ke atas. Mengapa?
– Ketika busa naik ke atas, maka air yang di atasnya akan turun
memenuhi tempat bekas busa tersebut.
o Pada setiap iterasi, bandingkan elemen dengan sebelahnya:
yang busa naik, yang air turun!
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Untuk memahami penerapan dari algoritma Bubble Sort, maka kita akan
membuat array yang sudah terisi dengan angka yang belum terurut.
arr
210 43
2 6 75 3
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Untuk mensortir array dengan algoritma bubble sort, kita harus
membuat perulangan sejumlah isi dari array yang ingin diurutkan.
• Setiap loopingnya, akan kita beri nama “Pass”
– Pass = 1
– n = 5
arr
210 43
2 6 75 3
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 1
– n = 5
o Bandingkan isi dari array yang ada pada index 0 dengan index 1
o Bandingkan sebanyak n - x
arr
210 43
2 6 75 3
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 1
– n = 5
o Tukar nilainya apabila index 0 lebih besar daripada index 1
(yang nilainya paling besar, akan menuju ke index berikutnya)
arr
210 43
6 75 3
Swap
22 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 1
– n = 5
o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya
apabila index 1 lebih besar dari index ke 2
arr
210 43
6 7 32 5
No Change
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 1
– n = 5
o Bandingkan index ke 2 dengan index ke 3 dan tukar nilainya
apabila index 2 lebih besar dari index ke 3
No Change
arr
210 43
6 7 32 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 1
– n = 5
o Bandingkan index ke 3 dengan index ke 4 dan tukar nilainya
apabila index 3 lebih besar dari index ke 4
Swap
arr
210 43
6 7 32 5 3 7
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 1
– n = 5
o Bandingkan index ke 3 dengan index ke 4 dan tukar nilainya
apabila index 3 lebih besar dari index ke 4
Largest element is placed at its correct position after Pass 1
arr
210 43
6 3 72 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 2
– n = 5
o Bandingkan index ke 0 dengan index ke 1 dan tukar nilainya
apabila index 0 lebih besar dari index ke 1
No Change
arr
210 43
6 3 72 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 2
– n = 5
o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya
apabila index 1 lebih besar dari index ke 2
No Change
arr
210 43
6 3 72 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 2
– n = 5
o Bandingkan index ke 2 dengan index ke 3 dan tukar nilainya
apabila index 2 lebih besar dari index ke 3
Swap
arr
210 43
6 3 72 5 3 6
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 2
– n = 5
o Bandingkan index ke 2 dengan index ke 3 dan tukar nilainya
apabila index 2 lebih besar dari index ke 3
Second largest element is placed at its correct position after Pass 2
arr
210 43
3 6 72 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 3
– n = 5
o Bandingkan index ke 0 dengan index ke 1 dan tukar nilainya
apabila index 0 lebih besar dari index ke 1
No Change
arr
210 43
3 6 72 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 3
– n = 5
o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya
apabila index 1 lebih besar dari index ke 2
arr
210 43
3 6 72 53 5
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 3
– n = 5
o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya
apabila index 1 lebih besar dari index ke 2
Third largest element is placed at its correct position after Pass 3
arr
210 43
5 6 72 3
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 4
– n = 5
o Bandingkan index ke 0 dengan index ke 1 dan tukar nilainya
apabila index 2 lebih besar dari index ke 1
No Change
arr
210 43
5 6 72 3
Bandingkan sebanyak n - pass
Bubble Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
– Pass = 4
– n = 5
o Pada akhirnya, setiap nilai pada array telah terurut dengan
benar.
arr
210 43
5 6 72 3
Bandingkan sebanyak n - pass
Bubble Sort : Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1. deklarasi var pass dan masukkan nilai 1
2. ulangi selama pass < jumlah size array
a. deklarasi var i = 0
b. ulangi aa dan bb selama i < jumlah size array - pass
aa. cek apakah array[i] > array[i + 1]
jika ya : tukar tempatnya.
bb. tambahkan 1 untuk nilai i
c. tambahkan 1 untuk nilai pass
o Dengan memahami langkah-langkah sortir dengan menggunakan
Bubble Sort, maka kita bisa membuat algoritma untuk Bubble Sort
sebagai berikut :
Bubble Sort : C# Code
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Algoritma Bubblesort
1. deklarasi var pass dan masukkan nilai 1
2. ulangi selama pass < jumlah size array
a. deklarasi var i = 0
b. ulangi aa dan bb selama i < jumlah size array - pass
aa. cek apakah array[i] > array[i + 1]
jika ya : tukar tempatnya.
bb. tambahkan 1 untuk nilai i
c. tambahkan 1 untuk nilai pass
Implementasi algoritma dengan
menggunakan while loop.
Bubble Sort : C# Code
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Algoritma Bubblesort
1. deklarasi var pass dan masukkan nilai 1
2. ulangi selama pass < jumlah size array
a. deklarasi var i = 0
b. ulangi aa dan bb selama i < jumlah size array - pass
aa. cek apakah array[i] > array[i + 1]
jika ya : tukar tempatnya.
bb. tambahkan 1 untuk nilai i
c. tambahkan 1 untuk nilai pass
Implementasi algoritma dengan
menggunakan for loop.
Bubble Sort : C# Code
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Bandingkan kode berikut:
Selection Sort : Ide Dasar
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Kondisi awal:
– Unsorted list = data
o Ambil yang terbaik (select) dari unsorted list, tambahkan di
belakang sorted list.
o Lakukan terus sampai unsorted list habis.
o Terbaik (Bisa yang paling kecil, atau yang paling besar)
Selection Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
4240 2 1 3 3 4 0 -1 655843
40 2 1 43 3 4 0 -1 42 65583
40 2 1 43 3 4 0 -1 58 3 6542
40 2 1 43 3 65 0 -1 58 3 42 4
Selection Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
4240 2 1 3 3 4 0 655843-1
42-1 2 1 3 3 4 0 65584340
42-1 2 1 3 3 4 655843400
42-1 2 1 0 3 4 655843403
Selection Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1
42-1 2 1 3 4 6558434030
42-1 0 3 4 6558434032
1 42-1 0 3 4 6558434032
1 420 3 4 6558434032-1
1 420 3 4 6558434032-1
Selection Sort : Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1. deklarasi i = 0
2. ulangi selama i < max index array
a. deklarasi index min = i
b. deklarasi j = i + 1
c. ulangi selama j < jumlah ukuran array
aa. cek apakah array[j] lebih kecil dari array[min]
jika ya, update min = j
bb. tambahkan 1 untuk nilai j
d. tukar posisi min dengan i
e. tambahkan 1 untuk nilai i
Untuk algoritma diatas, nilai terbaik adalah nilai terkecil.
Dengan catatan:
Selection Sort : Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Algoritma Selection Sort
1. deklarasi i = 0
2. ulangi selama i < max index array
a. deklarasi index min = i
b. deklarasi j = i + 1
c. ulangi selama j < jumlah ukuran array
aa. cek apakah array[j] lebih kecil dari array[min]
jika ya, update min = j
bb. tambahkan 1 untuk nilai j
d. tukar posisi min dengan i
e. tambahkan 1 untuk nilai i
Insertion Sort : Ide Dasar
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Kondisi awal:
– Unsorted list = data
o Ambil sembarang elemen dari unsorted list, sisipkan
(insert) pada posisi yang benar dalam sorted list.
o Lakukan terus sampai unsorted list habis.
o Bayangkan anda mengurutkan kartu.
Insertion Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
40 2 1 43 3 65 0 -1 58 3 42 4
2 40 1 43 3 65 0 -1 58 3 42 4
1 2 40 43 3 65 0 -1 58 3 42 4
40
Insertion Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1 2 3 40 43 65 0 -1 58 3 42 4
1 2 40 43 3 65 0 -1 58 3 42 4
1 2 3 40 43 65 0 -1 58 3 42 4
Insertion Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1 2 3 40 43 65 0 -1 58 3 42 4
1 2 3 40 43 650 -1 58 3 42 4
1 2 3 40 43 650 58 3 42 41 2 3 40 43 650-1
Insertion Sort : Contoh
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1 2 3 40 43 650 58 3 42 41 2 3 40 43 650-1
1 2 3 40 43 650 58 42 41 2 3 3 43 650-1 5840 43 65
1 2 3 40 43 650 42 41 2 3 3 43 650-1 5840 43 65
1 2 3 40 43 650 421 2 3 3 43 650-1 584 43 6542 5840 43 65
Insertion Sort : Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1. set i = 1
2. ulangi selama i < jumlah array
a. temp = array[i]
b. int j = i
c. ulangi selama j < 0 dan temp < array[j-1]
aa. array[j] = array[j-1]
bb. j--
d. array[j] = temp
e. i++
o Dengan memahami langkah-langkah sortir dengan menggunakan
Insertion Sort, maka kita bisa membuat algoritma untuk Insertion Sort
sebagai berikut :
Insertion Sort : C# Code
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1. set i = 1
2. ulangi selama i < jumlah array
a. temp = array[i]
b. int j = i
c. ulangi selama j > 0 dan temp < array[j-1]
aa. array[j] = array[j-1]
bb. j--
d. array[j] = temp
e. i++
Algoritma :
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Terima Kasih
Dudy Fathan Ali S.Kom
dudy.fathan@eng.ui.ac.id

Mais conteúdo relacionado

Mais procurados

Algoritma Pemrograman Komputer
Algoritma Pemrograman KomputerAlgoritma Pemrograman Komputer
Algoritma Pemrograman KomputerBambang Karyadi
 
Hirarki memori
Hirarki memoriHirarki memori
Hirarki memorimmrifai
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linierIzhan Nassuha
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAri Septiawan
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapCheria Asyifa
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristikBaguss Chandrass
 
Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019Sukma Puspitorini
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorialSiti Khotijah
 
Program dan Flowchart Perkalian Matriks
Program dan Flowchart Perkalian MatriksProgram dan Flowchart Perkalian Matriks
Program dan Flowchart Perkalian MatriksSimon Patabang
 
Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019Sukma Puspitorini
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatanlailalutfi
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaBuhori Muslim
 
Ppt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem OperasiPpt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem Operasijahrataqim
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatikasaid zulhelmi
 
PPT Jaringan Komputer
PPT Jaringan KomputerPPT Jaringan Komputer
PPT Jaringan KomputerFaksi
 
materi imk Menu
materi imk Menumateri imk Menu
materi imk MenuKukuh Aji
 
Logika matematika kalkulus proposisi
Logika matematika kalkulus proposisiLogika matematika kalkulus proposisi
Logika matematika kalkulus proposisiSari Fauziah
 

Mais procurados (20)

Algoritma Pemrograman Komputer
Algoritma Pemrograman KomputerAlgoritma Pemrograman Komputer
Algoritma Pemrograman Komputer
 
Hirarki memori
Hirarki memoriHirarki memori
Hirarki memori
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
 
Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019Bab 3 resolusi logika ta 2019
Bab 3 resolusi logika ta 2019
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Program dan Flowchart Perkalian Matriks
Program dan Flowchart Perkalian MatriksProgram dan Flowchart Perkalian Matriks
Program dan Flowchart Perkalian Matriks
 
Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019Bab 2 logika predikat ta 2019
Bab 2 logika predikat ta 2019
 
Mode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain PengalamatanMode Pengalamatan & Permasalahan Desain Pengalamatan
Mode Pengalamatan & Permasalahan Desain Pengalamatan
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
Ppt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem OperasiPpt sinkronisasi dalam Sistem Operasi
Ppt sinkronisasi dalam Sistem Operasi
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
 
PPT Jaringan Komputer
PPT Jaringan KomputerPPT Jaringan Komputer
PPT Jaringan Komputer
 
Rpl
RplRpl
Rpl
 
materi imk Menu
materi imk Menumateri imk Menu
materi imk Menu
 
Python File Handling
Python File HandlingPython File Handling
Python File Handling
 
Logika matematika kalkulus proposisi
Logika matematika kalkulus proposisiLogika matematika kalkulus proposisi
Logika matematika kalkulus proposisi
 

Destaque

Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeAcomic Comic
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaApriyanto_apo
 
Algoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna DewiAlgoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna DewiFitri Ratna Dewi
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsAakash deep Singhal
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02KuliahKita
 
Tipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan KonstantaTipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan KonstantaPrasetyo Adi
 
Mengintip Kompleksitas
Mengintip KompleksitasMengintip Kompleksitas
Mengintip KompleksitasIwan Pranoto
 
Data structures (introduction)
 Data structures (introduction) Data structures (introduction)
Data structures (introduction)Arvind Devaraj
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and AlgorithmDhaval Kaneria
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURESbca2010
 
Excel chapter 05
Excel chapter 05Excel chapter 05
Excel chapter 05teeworthy
 
Steganography and its techniques
Steganography and its techniquesSteganography and its techniques
Steganography and its techniquesFatema Panvelwala
 
Algoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-snsAlgoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-snsstaffpengajar
 
Steganography basic
Steganography basicSteganography basic
Steganography basicSanoj Kumar
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortKuliahKita
 
GameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemakerGameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemakeriain bruce
 

Destaque (20)

Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression tree
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
 
Algoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna DewiAlgoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
Algoritma dan pemrograman - Disusun oleh Fitri Ratna Dewi
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithms
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
 
Dasar dasar algoritma - 2
Dasar dasar algoritma - 2Dasar dasar algoritma - 2
Dasar dasar algoritma - 2
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
 
Tipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan KonstantaTipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan Konstanta
 
Mengintip Kompleksitas
Mengintip KompleksitasMengintip Kompleksitas
Mengintip Kompleksitas
 
Data structures (introduction)
 Data structures (introduction) Data structures (introduction)
Data structures (introduction)
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
 
Data Structure
Data StructureData Structure
Data Structure
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURES
 
Excel chapter 05
Excel chapter 05Excel chapter 05
Excel chapter 05
 
Steganography and its techniques
Steganography and its techniquesSteganography and its techniques
Steganography and its techniques
 
Algoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-snsAlgoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-sns
 
Steganography basic
Steganography basicSteganography basic
Steganography basic
 
Dasar dasar algoritma - 1
Dasar dasar algoritma - 1Dasar dasar algoritma - 1
Dasar dasar algoritma - 1
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection Sort
 
GameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemakerGameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemaker
 

Semelhante a OPTIMIZED TITLES FOR ALGORITHM AND DATA STRUCTURE DOCUMENT

Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarDudy Ali
 
Tipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-languageTipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-languagestaffpengajar
 
Logika algoritma
Logika algoritmaLogika algoritma
Logika algoritmairwanhs
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarianWandi Parlente
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFAchmad Solichin
 
Makalah Algoritma DAA 1
Makalah Algoritma DAA 1Makalah Algoritma DAA 1
Makalah Algoritma DAA 1asep lufian
 
OOP - Decision: If & If..Else
OOP - Decision: If & If..ElseOOP - Decision: If & If..Else
OOP - Decision: If & If..ElseSiska Amelia
 
Introduction to-basic language-programming
Introduction to-basic language-programmingIntroduction to-basic language-programming
Introduction to-basic language-programmingstaffpengajar
 
Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Damun Setiaji
 
Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Vita Kumala Jati
 

Semelhante a OPTIMIZED TITLES FOR ALGORITHM AND DATA STRUCTURE DOCUMENT (20)

Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
Modul algoritma dan struktur data i
Modul algoritma dan struktur data iModul algoritma dan struktur data i
Modul algoritma dan struktur data i
 
Tipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-languageTipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-language
 
Logika algoritma
Logika algoritmaLogika algoritma
Logika algoritma
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Instalasi Dev-C++
Instalasi Dev-C++Instalasi Dev-C++
Instalasi Dev-C++
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
 
File
FileFile
File
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
 
Bilanganbulat dan pecahan
Bilanganbulat dan pecahanBilanganbulat dan pecahan
Bilanganbulat dan pecahan
 
sns alpro-I_ithb
sns alpro-I_ithbsns alpro-I_ithb
sns alpro-I_ithb
 
Makalah Algoritma DAA 1
Makalah Algoritma DAA 1Makalah Algoritma DAA 1
Makalah Algoritma DAA 1
 
Bulat ajar
Bulat ajarBulat ajar
Bulat ajar
 
OOP - Decision: If & If..Else
OOP - Decision: If & If..ElseOOP - Decision: If & If..Else
OOP - Decision: If & If..Else
 
Introduction to-basic language-programming
Introduction to-basic language-programmingIntroduction to-basic language-programming
Introduction to-basic language-programming
 
Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1
 
Rangkuman soal TI SMK
Rangkuman soal TI SMKRangkuman soal TI SMK
Rangkuman soal TI SMK
 
Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017
 

Mais de Dudy Ali

Understanding COM+
Understanding COM+Understanding COM+
Understanding COM+Dudy Ali
 
Distributed Application Development (Introduction)
Distributed Application Development (Introduction)Distributed Application Development (Introduction)
Distributed Application Development (Introduction)Dudy Ali
 
Java CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseJava CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseDudy Ali
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVADudy Ali
 
Review Materi ASP.NET
Review Materi ASP.NETReview Materi ASP.NET
Review Materi ASP.NETDudy Ali
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2Dudy Ali
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1Dudy Ali
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML DocumentDudy Ali
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XMLDudy Ali
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOMDudy Ali
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NETDudy Ali
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBCDudy Ali
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTDudy Ali
 
Object Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesObject Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesDudy Ali
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - InheritanceDudy Ali
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputDudy Ali
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsDudy Ali
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationDudy Ali
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebDudy Ali
 
Web Programming Syaria - PHP
Web Programming Syaria - PHPWeb Programming Syaria - PHP
Web Programming Syaria - PHPDudy Ali
 

Mais de Dudy Ali (20)

Understanding COM+
Understanding COM+Understanding COM+
Understanding COM+
 
Distributed Application Development (Introduction)
Distributed Application Development (Introduction)Distributed Application Development (Introduction)
Distributed Application Development (Introduction)
 
Java CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server DatabaseJava CRUD Mechanism with SQL Server Database
Java CRUD Mechanism with SQL Server Database
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVA
 
Review Materi ASP.NET
Review Materi ASP.NETReview Materi ASP.NET
Review Materi ASP.NET
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML Document
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XML
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOM
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NET
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBC
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLT
 
Object Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference TypesObject Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Value Types & Reference Types
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - Inheritance
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & Output
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & Destructors
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & Encapsulation
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman Web
 
Web Programming Syaria - PHP
Web Programming Syaria - PHPWeb Programming Syaria - PHP
Web Programming Syaria - PHP
 

OPTIMIZED TITLES FOR ALGORITHM AND DATA STRUCTURE DOCUMENT

  • 1. Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Struktur Data dan Algoritma Algoritma Pengurutan 2014 CEP - CCIT Fakultas Teknik Universitas Indonesia
  • 2. Outline Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Beberapa algoritma untuk melakukan sorting: – Bubble sort – Selection sort – Insertion sort – Shell sort – Merge sort – Quick sort • Untuk masing-masing algoritma: – Ide dasar – Contoh eksekusi – Algoritma
  • 3. Outline Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Sorting = pengurutan • Sorted = terurut menurut kaidah/aturan tertentu • Data pada umumnya disajikan dalam bentuk sorted. • Contoh: – Nama di buku telpon – Kata-kata dalam kamus – File-file di dalam sebuah directory – Indeks sebuah buku – Data mutasi rekening tabungan – CD di toko musik • Bayangkan jika data di atas tidak terurut!
  • 4. Bubble Sort : Ide Dasar Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Bubble = busa/udara dalam air – apa yang terjadi? – Busa dalam air akan naik ke atas. Mengapa? – Ketika busa naik ke atas, maka air yang di atasnya akan turun memenuhi tempat bekas busa tersebut. o Pada setiap iterasi, bandingkan elemen dengan sebelahnya: yang busa naik, yang air turun!
  • 5. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Untuk memahami penerapan dari algoritma Bubble Sort, maka kita akan membuat array yang sudah terisi dengan angka yang belum terurut. arr 210 43 2 6 75 3
  • 6. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Untuk mensortir array dengan algoritma bubble sort, kita harus membuat perulangan sejumlah isi dari array yang ingin diurutkan. • Setiap loopingnya, akan kita beri nama “Pass” – Pass = 1 – n = 5 arr 210 43 2 6 75 3
  • 7. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 1 – n = 5 o Bandingkan isi dari array yang ada pada index 0 dengan index 1 o Bandingkan sebanyak n - x arr 210 43 2 6 75 3 Bandingkan sebanyak n - pass
  • 8. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 1 – n = 5 o Tukar nilainya apabila index 0 lebih besar daripada index 1 (yang nilainya paling besar, akan menuju ke index berikutnya) arr 210 43 6 75 3 Swap 22 5 Bandingkan sebanyak n - pass
  • 9. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 1 – n = 5 o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya apabila index 1 lebih besar dari index ke 2 arr 210 43 6 7 32 5 No Change Bandingkan sebanyak n - pass
  • 10. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 1 – n = 5 o Bandingkan index ke 2 dengan index ke 3 dan tukar nilainya apabila index 2 lebih besar dari index ke 3 No Change arr 210 43 6 7 32 5 Bandingkan sebanyak n - pass
  • 11. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 1 – n = 5 o Bandingkan index ke 3 dengan index ke 4 dan tukar nilainya apabila index 3 lebih besar dari index ke 4 Swap arr 210 43 6 7 32 5 3 7 Bandingkan sebanyak n - pass
  • 12. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 1 – n = 5 o Bandingkan index ke 3 dengan index ke 4 dan tukar nilainya apabila index 3 lebih besar dari index ke 4 Largest element is placed at its correct position after Pass 1 arr 210 43 6 3 72 5 Bandingkan sebanyak n - pass
  • 13. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 2 – n = 5 o Bandingkan index ke 0 dengan index ke 1 dan tukar nilainya apabila index 0 lebih besar dari index ke 1 No Change arr 210 43 6 3 72 5 Bandingkan sebanyak n - pass
  • 14. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 2 – n = 5 o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya apabila index 1 lebih besar dari index ke 2 No Change arr 210 43 6 3 72 5 Bandingkan sebanyak n - pass
  • 15. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 2 – n = 5 o Bandingkan index ke 2 dengan index ke 3 dan tukar nilainya apabila index 2 lebih besar dari index ke 3 Swap arr 210 43 6 3 72 5 3 6 Bandingkan sebanyak n - pass
  • 16. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 2 – n = 5 o Bandingkan index ke 2 dengan index ke 3 dan tukar nilainya apabila index 2 lebih besar dari index ke 3 Second largest element is placed at its correct position after Pass 2 arr 210 43 3 6 72 5 Bandingkan sebanyak n - pass
  • 17. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 3 – n = 5 o Bandingkan index ke 0 dengan index ke 1 dan tukar nilainya apabila index 0 lebih besar dari index ke 1 No Change arr 210 43 3 6 72 5 Bandingkan sebanyak n - pass
  • 18. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 3 – n = 5 o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya apabila index 1 lebih besar dari index ke 2 arr 210 43 3 6 72 53 5 Bandingkan sebanyak n - pass
  • 19. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 3 – n = 5 o Bandingkan index ke 1 dengan index ke 2 dan tukar nilainya apabila index 1 lebih besar dari index ke 2 Third largest element is placed at its correct position after Pass 3 arr 210 43 5 6 72 3 Bandingkan sebanyak n - pass
  • 20. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 4 – n = 5 o Bandingkan index ke 0 dengan index ke 1 dan tukar nilainya apabila index 2 lebih besar dari index ke 1 No Change arr 210 43 5 6 72 3 Bandingkan sebanyak n - pass
  • 21. Bubble Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom – Pass = 4 – n = 5 o Pada akhirnya, setiap nilai pada array telah terurut dengan benar. arr 210 43 5 6 72 3 Bandingkan sebanyak n - pass
  • 22. Bubble Sort : Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1. deklarasi var pass dan masukkan nilai 1 2. ulangi selama pass < jumlah size array a. deklarasi var i = 0 b. ulangi aa dan bb selama i < jumlah size array - pass aa. cek apakah array[i] > array[i + 1] jika ya : tukar tempatnya. bb. tambahkan 1 untuk nilai i c. tambahkan 1 untuk nilai pass o Dengan memahami langkah-langkah sortir dengan menggunakan Bubble Sort, maka kita bisa membuat algoritma untuk Bubble Sort sebagai berikut :
  • 23. Bubble Sort : C# Code Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Algoritma Bubblesort 1. deklarasi var pass dan masukkan nilai 1 2. ulangi selama pass < jumlah size array a. deklarasi var i = 0 b. ulangi aa dan bb selama i < jumlah size array - pass aa. cek apakah array[i] > array[i + 1] jika ya : tukar tempatnya. bb. tambahkan 1 untuk nilai i c. tambahkan 1 untuk nilai pass Implementasi algoritma dengan menggunakan while loop.
  • 24. Bubble Sort : C# Code Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Algoritma Bubblesort 1. deklarasi var pass dan masukkan nilai 1 2. ulangi selama pass < jumlah size array a. deklarasi var i = 0 b. ulangi aa dan bb selama i < jumlah size array - pass aa. cek apakah array[i] > array[i + 1] jika ya : tukar tempatnya. bb. tambahkan 1 untuk nilai i c. tambahkan 1 untuk nilai pass Implementasi algoritma dengan menggunakan for loop.
  • 25. Bubble Sort : C# Code Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Bandingkan kode berikut:
  • 26. Selection Sort : Ide Dasar Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Kondisi awal: – Unsorted list = data o Ambil yang terbaik (select) dari unsorted list, tambahkan di belakang sorted list. o Lakukan terus sampai unsorted list habis. o Terbaik (Bisa yang paling kecil, atau yang paling besar)
  • 27. Selection Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 4240 2 1 3 3 4 0 -1 655843 40 2 1 43 3 4 0 -1 42 65583 40 2 1 43 3 4 0 -1 58 3 6542 40 2 1 43 3 65 0 -1 58 3 42 4
  • 28. Selection Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 4240 2 1 3 3 4 0 655843-1 42-1 2 1 3 3 4 0 65584340 42-1 2 1 3 3 4 655843400 42-1 2 1 0 3 4 655843403
  • 29. Selection Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1 42-1 2 1 3 4 6558434030 42-1 0 3 4 6558434032 1 42-1 0 3 4 6558434032 1 420 3 4 6558434032-1 1 420 3 4 6558434032-1
  • 30. Selection Sort : Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1. deklarasi i = 0 2. ulangi selama i < max index array a. deklarasi index min = i b. deklarasi j = i + 1 c. ulangi selama j < jumlah ukuran array aa. cek apakah array[j] lebih kecil dari array[min] jika ya, update min = j bb. tambahkan 1 untuk nilai j d. tukar posisi min dengan i e. tambahkan 1 untuk nilai i Untuk algoritma diatas, nilai terbaik adalah nilai terkecil. Dengan catatan:
  • 31. Selection Sort : Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Algoritma Selection Sort 1. deklarasi i = 0 2. ulangi selama i < max index array a. deklarasi index min = i b. deklarasi j = i + 1 c. ulangi selama j < jumlah ukuran array aa. cek apakah array[j] lebih kecil dari array[min] jika ya, update min = j bb. tambahkan 1 untuk nilai j d. tukar posisi min dengan i e. tambahkan 1 untuk nilai i
  • 32. Insertion Sort : Ide Dasar Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Kondisi awal: – Unsorted list = data o Ambil sembarang elemen dari unsorted list, sisipkan (insert) pada posisi yang benar dalam sorted list. o Lakukan terus sampai unsorted list habis. o Bayangkan anda mengurutkan kartu.
  • 33. Insertion Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 40 2 1 43 3 65 0 -1 58 3 42 4 2 40 1 43 3 65 0 -1 58 3 42 4 1 2 40 43 3 65 0 -1 58 3 42 4 40
  • 34. Insertion Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1 2 3 40 43 65 0 -1 58 3 42 4 1 2 40 43 3 65 0 -1 58 3 42 4 1 2 3 40 43 65 0 -1 58 3 42 4
  • 35. Insertion Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1 2 3 40 43 65 0 -1 58 3 42 4 1 2 3 40 43 650 -1 58 3 42 4 1 2 3 40 43 650 58 3 42 41 2 3 40 43 650-1
  • 36. Insertion Sort : Contoh Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1 2 3 40 43 650 58 3 42 41 2 3 40 43 650-1 1 2 3 40 43 650 58 42 41 2 3 3 43 650-1 5840 43 65 1 2 3 40 43 650 42 41 2 3 3 43 650-1 5840 43 65 1 2 3 40 43 650 421 2 3 3 43 650-1 584 43 6542 5840 43 65
  • 37. Insertion Sort : Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1. set i = 1 2. ulangi selama i < jumlah array a. temp = array[i] b. int j = i c. ulangi selama j < 0 dan temp < array[j-1] aa. array[j] = array[j-1] bb. j-- d. array[j] = temp e. i++ o Dengan memahami langkah-langkah sortir dengan menggunakan Insertion Sort, maka kita bisa membuat algoritma untuk Insertion Sort sebagai berikut :
  • 38. Insertion Sort : C# Code Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1. set i = 1 2. ulangi selama i < jumlah array a. temp = array[i] b. int j = i c. ulangi selama j > 0 dan temp < array[j-1] aa. array[j] = array[j-1] bb. j-- d. array[j] = temp e. i++ Algoritma :
  • 39. Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Terima Kasih Dudy Fathan Ali S.Kom dudy.fathan@eng.ui.ac.id