SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

Estimasi Parameter (Teori Estimasi)
Estimasi Parameter (Teori Estimasi)Estimasi Parameter (Teori Estimasi)
Estimasi Parameter (Teori Estimasi)
miaakmt
 
Analisis diskriminan (teori)
Analisis diskriminan (teori)Analisis diskriminan (teori)
Analisis diskriminan (teori)
agitayuda
 
PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF
PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF
PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF
khairunnisa mulyana
 
Distribusi multinomial
Distribusi multinomialDistribusi multinomial
Distribusi multinomial
MarwaElshi
 
PENDEKATAN DALAM PSIKOLOGI BELAJAR I
PENDEKATAN DALAM PSIKOLOGI BELAJAR IPENDEKATAN DALAM PSIKOLOGI BELAJAR I
PENDEKATAN DALAM PSIKOLOGI BELAJAR I
Husna Sholihah
 
IDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHA
IDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHAIDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHA
IDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHA
Rikiya Han
 
Sikap ilmiah dalam kehidupan sehari (full)
Sikap ilmiah dalam kehidupan sehari (full)Sikap ilmiah dalam kehidupan sehari (full)
Sikap ilmiah dalam kehidupan sehari (full)
Muhammad Hendra
 
Hakikat fungsi dan kedudukan pancasila
Hakikat fungsi dan kedudukan pancasilaHakikat fungsi dan kedudukan pancasila
Hakikat fungsi dan kedudukan pancasila
Agus S. Hidayat, S.Pd
 
Nilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor EigenNilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor Eigen
Rizky Wulansari
 
Modul 11 Model Matematika
Modul 11 Model MatematikaModul 11 Model Matematika
Modul 11 Model Matematika
Arif Rahman
 
Makalah penelitian kualitatif
Makalah penelitian kualitatifMakalah penelitian kualitatif
Makalah penelitian kualitatif
Nora Indrasari
 
Metode Induksi
Metode InduksiMetode Induksi
Metode Induksi
Radyastuti
 
Fungsi Vektor ( Kalkulus 2 )
Fungsi Vektor ( Kalkulus 2 )Fungsi Vektor ( Kalkulus 2 )
Fungsi Vektor ( Kalkulus 2 )
Kelinci Coklat
 
TEORI JOHN BROADES WATSON DAN CARL ROGERS
TEORI JOHN BROADES WATSON DAN CARL ROGERSTEORI JOHN BROADES WATSON DAN CARL ROGERS
TEORI JOHN BROADES WATSON DAN CARL ROGERS
Ilma Urrutyana
 
Analisis klaster
Analisis klasterAnalisis klaster
Analisis klaster
Jordan Drummer
 
Filsafat pendidikan idealisme dan filsafat pendidikan realisme
Filsafat pendidikan idealisme dan filsafat pendidikan realismeFilsafat pendidikan idealisme dan filsafat pendidikan realisme
Filsafat pendidikan idealisme dan filsafat pendidikan realisme
Dewi Atin Surya
 
Psikologi Umum dan Perkembangan - Sejarah Psikologi Barat
Psikologi Umum dan Perkembangan - Sejarah Psikologi BaratPsikologi Umum dan Perkembangan - Sejarah Psikologi Barat
Psikologi Umum dan Perkembangan - Sejarah Psikologi Barat
Haristian Sahroni Putra
 
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Kelinci Coklat
 
Estimasi Parameter (Teori Estimasi)
Estimasi Parameter (Teori Estimasi)Estimasi Parameter (Teori Estimasi)
Estimasi Parameter (Teori Estimasi)
miaakmt
 
Analisis diskriminan (teori)
Analisis diskriminan (teori)Analisis diskriminan (teori)
Analisis diskriminan (teori)
agitayuda
 
PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF
PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF
PRESENTASI TEORI BELAJAR BEHAVIORISTIK, HUMANISTIK DAN KOGNITIF
khairunnisa mulyana
 
Distribusi multinomial
Distribusi multinomialDistribusi multinomial
Distribusi multinomial
MarwaElshi
 
PENDEKATAN DALAM PSIKOLOGI BELAJAR I
PENDEKATAN DALAM PSIKOLOGI BELAJAR IPENDEKATAN DALAM PSIKOLOGI BELAJAR I
PENDEKATAN DALAM PSIKOLOGI BELAJAR I
Husna Sholihah
 
IDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHA
IDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHAIDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHA
IDE, KREATIFITAS, DAN INOVASI DALAM WIRAUSAHA
Rikiya Han
 
Sikap ilmiah dalam kehidupan sehari (full)
Sikap ilmiah dalam kehidupan sehari (full)Sikap ilmiah dalam kehidupan sehari (full)
Sikap ilmiah dalam kehidupan sehari (full)
Muhammad Hendra
 
Hakikat fungsi dan kedudukan pancasila
Hakikat fungsi dan kedudukan pancasilaHakikat fungsi dan kedudukan pancasila
Hakikat fungsi dan kedudukan pancasila
Agus S. Hidayat, S.Pd
 
Nilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor EigenNilai Egien Dan Vektor Eigen
Nilai Egien Dan Vektor Eigen
Rizky Wulansari
 
Modul 11 Model Matematika
Modul 11 Model MatematikaModul 11 Model Matematika
Modul 11 Model Matematika
Arif Rahman
 
Makalah penelitian kualitatif
Makalah penelitian kualitatifMakalah penelitian kualitatif
Makalah penelitian kualitatif
Nora Indrasari
 
Metode Induksi
Metode InduksiMetode Induksi
Metode Induksi
Radyastuti
 
Fungsi Vektor ( Kalkulus 2 )
Fungsi Vektor ( Kalkulus 2 )Fungsi Vektor ( Kalkulus 2 )
Fungsi Vektor ( Kalkulus 2 )
Kelinci Coklat
 
TEORI JOHN BROADES WATSON DAN CARL ROGERS
TEORI JOHN BROADES WATSON DAN CARL ROGERSTEORI JOHN BROADES WATSON DAN CARL ROGERS
TEORI JOHN BROADES WATSON DAN CARL ROGERS
Ilma Urrutyana
 
Filsafat pendidikan idealisme dan filsafat pendidikan realisme
Filsafat pendidikan idealisme dan filsafat pendidikan realismeFilsafat pendidikan idealisme dan filsafat pendidikan realisme
Filsafat pendidikan idealisme dan filsafat pendidikan realisme
Dewi Atin Surya
 
Psikologi Umum dan Perkembangan - Sejarah Psikologi Barat
Psikologi Umum dan Perkembangan - Sejarah Psikologi BaratPsikologi Umum dan Perkembangan - Sejarah Psikologi Barat
Psikologi Umum dan Perkembangan - Sejarah Psikologi Barat
Haristian Sahroni Putra
 
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Kelinci Coklat
 

Viewers also liked (20)

Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression tree
Acomic Comic
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
Apriyanto_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 Dewi
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
Aakash deep Singhal
 
Dasar dasar algoritma - 2
Dasar dasar algoritma - 2Dasar dasar algoritma - 2
Dasar dasar algoritma - 2
Rachmat Narendra
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
KuliahKita
 
Tipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan KonstantaTipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan Konstanta
Prasetyo Adi
 
Mengintip Kompleksitas
Mengintip KompleksitasMengintip Kompleksitas
Mengintip Kompleksitas
Iwan 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 Algorithm
Dhaval Kaneria
 
Data Structure
Data StructureData Structure
Data Structure
Karthikeyan A K
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURES
bca2010
 
Excel chapter 05
Excel chapter 05Excel chapter 05
Excel chapter 05
teeworthy
 
Steganography and its techniques
Steganography and its techniquesSteganography and its techniques
Steganography and its techniques
Fatema Panvelwala
 
Algoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-snsAlgoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-sns
staffpengajar
 
Steganography basic
Steganography basicSteganography basic
Steganography basic
Sanoj Kumar
 
Dasar dasar algoritma - 1
Dasar dasar algoritma - 1Dasar dasar algoritma - 1
Dasar dasar algoritma - 1
Rachmat Narendra
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection Sort
KuliahKita
 
GameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemakerGameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemaker
iain bruce
 
Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritma
Diki Rosandy
 
Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression tree
Acomic Comic
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
Apriyanto_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 Dewi
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
Aakash deep Singhal
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
KuliahKita
 
Tipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan KonstantaTipe Data, Variabel dan Konstanta
Tipe Data, Variabel dan Konstanta
Prasetyo Adi
 
Mengintip Kompleksitas
Mengintip KompleksitasMengintip Kompleksitas
Mengintip Kompleksitas
Iwan 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 Algorithm
Dhaval Kaneria
 
DATA STRUCTURES
DATA STRUCTURESDATA STRUCTURES
DATA STRUCTURES
bca2010
 
Excel chapter 05
Excel chapter 05Excel chapter 05
Excel chapter 05
teeworthy
 
Steganography and its techniques
Steganography and its techniquesSteganography and its techniques
Steganography and its techniques
Fatema Panvelwala
 
Algoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-snsAlgoritma dan Matematika_tif305_reg-sns
Algoritma dan Matematika_tif305_reg-sns
staffpengajar
 
Steganography basic
Steganography basicSteganography basic
Steganography basic
Sanoj Kumar
 
Algoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection SortAlgoritma dan Struktur Data - Selection Sort
Algoritma dan Struktur Data - Selection Sort
KuliahKita
 
GameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemakerGameMaker 1) intro to gamemaker
GameMaker 1) intro to gamemaker
iain bruce
 
Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritma
Diki Rosandy
 
Ad

Similar to Algorithm & Data Structure - Algoritma Pengurutan (20)

Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
Dudy Ali
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
Eko Widyanto Napitupulu
 
Tipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-languageTipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-language
staffpengajar
 
Logika algoritma
Logika algoritmaLogika algoritma
Logika algoritma
irwanhs
 
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdfTI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
fpakpahan1
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
SITI MUTIAH NURMALA DEWI
 
Instalasi Dev-C++
Instalasi Dev-C++Instalasi Dev-C++
Instalasi Dev-C++
staffpengajar
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
Wandi Parlente
 
Algoritma Searching Sorting Stack dan Queue Kelas 10
Algoritma Searching Sorting Stack dan Queue Kelas 10Algoritma Searching Sorting Stack dan Queue Kelas 10
Algoritma Searching Sorting Stack dan Queue Kelas 10
Farichah Riha
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
Tivan Yulistiawan
 
File
FileFile
File
alilalalllalalallalal
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
Achmad Solichin
 
Bilanganbulat dan pecahan
Bilanganbulat dan pecahanBilanganbulat dan pecahan
Bilanganbulat dan pecahan
Jusep Saputra Ir
 
sns alpro-I_ithb
sns alpro-I_ithbsns alpro-I_ithb
sns alpro-I_ithb
staffpengajar
 
Makalah Algoritma DAA 1
Makalah Algoritma DAA 1Makalah Algoritma DAA 1
Makalah Algoritma DAA 1
asep lufian
 
Bulat ajar
Bulat ajarBulat ajar
Bulat ajar
Dafid Kurniawan
 
OOP - Decision: If & If..Else
OOP - Decision: If & If..ElseOOP - Decision: If & If..Else
OOP - Decision: If & If..Else
Siska Amelia
 
Introduction to-basic language-programming
Introduction to-basic language-programmingIntroduction to-basic language-programming
Introduction to-basic language-programming
staffpengajar
 
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
Damun Setiaji
 
Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
Dudy Ali
 
Tipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-languageTipe-Data Dalam C++ Programming-language
Tipe-Data Dalam C++ Programming-language
staffpengajar
 
Logika algoritma
Logika algoritmaLogika algoritma
Logika algoritma
irwanhs
 
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdfTI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
TI0004-Pengenalan Algoritma dan Pemrograman-10.pdf
fpakpahan1
 
11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
Wandi Parlente
 
Algoritma Searching Sorting Stack dan Queue Kelas 10
Algoritma Searching Sorting Stack dan Queue Kelas 10Algoritma Searching Sorting Stack dan Queue Kelas 10
Algoritma Searching Sorting Stack dan Queue Kelas 10
Farichah Riha
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
Achmad Solichin
 
Makalah Algoritma DAA 1
Makalah Algoritma DAA 1Makalah Algoritma DAA 1
Makalah Algoritma DAA 1
asep lufian
 
OOP - Decision: If & If..Else
OOP - Decision: If & If..ElseOOP - Decision: If & If..Else
OOP - Decision: If & If..Else
Siska Amelia
 
Introduction to-basic language-programming
Introduction to-basic language-programmingIntroduction to-basic language-programming
Introduction to-basic language-programming
staffpengajar
 
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
Damun Setiaji
 
Ad

More from Dudy Ali (20)

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 Database
Dudy Ali
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVA
Dudy Ali
 
Review Materi ASP.NET
Review Materi ASP.NETReview Materi ASP.NET
Review Materi ASP.NET
Dudy Ali
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2
Dudy Ali
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1
Dudy Ali
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML Document
Dudy Ali
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XML
Dudy Ali
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOM
Dudy Ali
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NET
Dudy Ali
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBC
Dudy Ali
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLT
Dudy 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 Types
Dudy Ali
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - Inheritance
Dudy Ali
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & Output
Dudy Ali
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & Destructors
Dudy Ali
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & Encapsulation
Dudy Ali
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman Web
Dudy Ali
 
Web Programming Syaria - PHP
Web Programming Syaria - PHPWeb Programming Syaria - PHP
Web Programming Syaria - PHP
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 Database
Dudy Ali
 
Network Socket Programming with JAVA
Network Socket Programming with JAVANetwork Socket Programming with JAVA
Network Socket Programming with JAVA
Dudy Ali
 
Review Materi ASP.NET
Review Materi ASP.NETReview Materi ASP.NET
Review Materi ASP.NET
Dudy Ali
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2
Dudy Ali
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1
Dudy Ali
 
Rendering XML Document
Rendering XML DocumentRendering XML Document
Rendering XML Document
Dudy Ali
 
Pengantar XML
Pengantar XMLPengantar XML
Pengantar XML
Dudy Ali
 
Pengantar XML DOM
Pengantar XML DOMPengantar XML DOM
Pengantar XML DOM
Dudy Ali
 
Pengantar ADO.NET
Pengantar ADO.NETPengantar ADO.NET
Pengantar ADO.NET
Dudy Ali
 
Database Connectivity with JDBC
Database Connectivity with JDBCDatabase Connectivity with JDBC
Database Connectivity with JDBC
Dudy Ali
 
XML - Displaying Data ith XSLT
XML - Displaying Data ith XSLTXML - Displaying Data ith XSLT
XML - Displaying Data ith XSLT
Dudy 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 Types
Dudy Ali
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - Inheritance
Dudy Ali
 
Object Oriented Programming - File Input & Output
Object Oriented Programming - File Input & OutputObject Oriented Programming - File Input & Output
Object Oriented Programming - File Input & Output
Dudy Ali
 
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & DestructorsObject Oriented Programming - Constructors & Destructors
Object Oriented Programming - Constructors & Destructors
Dudy Ali
 
Object Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & EncapsulationObject Oriented Programming - Abstraction & Encapsulation
Object Oriented Programming - Abstraction & Encapsulation
Dudy Ali
 
Web Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman WebWeb Programming Syaria - Pengenalan Halaman Web
Web Programming Syaria - Pengenalan Halaman Web
Dudy Ali
 
Web Programming Syaria - PHP
Web Programming Syaria - PHPWeb Programming Syaria - PHP
Web Programming Syaria - PHP
Dudy Ali
 

Recently uploaded (6)

Big Data & IR 4 Untuk Pelabuhan Indonesia.pptx
Big Data & IR 4 Untuk Pelabuhan Indonesia.pptxBig Data & IR 4 Untuk Pelabuhan Indonesia.pptx
Big Data & IR 4 Untuk Pelabuhan Indonesia.pptx
QShofwan
 
Materi Standardisasi Klaim FKTP 7-8 Agustus 2024.pdf
Materi Standardisasi Klaim FKTP 7-8 Agustus 2024.pdfMateri Standardisasi Klaim FKTP 7-8 Agustus 2024.pdf
Materi Standardisasi Klaim FKTP 7-8 Agustus 2024.pdf
Hani394750
 
Pengantar Bisnis - 9 Manajemen Pemasaran
Pengantar Bisnis - 9 Manajemen PemasaranPengantar Bisnis - 9 Manajemen Pemasaran
Pengantar Bisnis - 9 Manajemen Pemasaran
AndiNurkholis1
 
Pengertian jaringan komputer dan internet
Pengertian jaringan komputer dan internetPengertian jaringan komputer dan internet
Pengertian jaringan komputer dan internet
TnDecan
 
Tugas Mini Bikin Cerita di Word Ilmu Komputer
Tugas Mini Bikin Cerita di Word Ilmu KomputerTugas Mini Bikin Cerita di Word Ilmu Komputer
Tugas Mini Bikin Cerita di Word Ilmu Komputer
dadangrahmathidayat2
 
Technopreneurship - 6 Business Plan
Technopreneurship - 6 Business PlanTechnopreneurship - 6 Business Plan
Technopreneurship - 6 Business Plan
AndiNurkholis1
 
Big Data & IR 4 Untuk Pelabuhan Indonesia.pptx
Big Data & IR 4 Untuk Pelabuhan Indonesia.pptxBig Data & IR 4 Untuk Pelabuhan Indonesia.pptx
Big Data & IR 4 Untuk Pelabuhan Indonesia.pptx
QShofwan
 
Materi Standardisasi Klaim FKTP 7-8 Agustus 2024.pdf
Materi Standardisasi Klaim FKTP 7-8 Agustus 2024.pdfMateri Standardisasi Klaim FKTP 7-8 Agustus 2024.pdf
Materi Standardisasi Klaim FKTP 7-8 Agustus 2024.pdf
Hani394750
 
Pengantar Bisnis - 9 Manajemen Pemasaran
Pengantar Bisnis - 9 Manajemen PemasaranPengantar Bisnis - 9 Manajemen Pemasaran
Pengantar Bisnis - 9 Manajemen Pemasaran
AndiNurkholis1
 
Pengertian jaringan komputer dan internet
Pengertian jaringan komputer dan internetPengertian jaringan komputer dan internet
Pengertian jaringan komputer dan internet
TnDecan
 
Tugas Mini Bikin Cerita di Word Ilmu Komputer
Tugas Mini Bikin Cerita di Word Ilmu KomputerTugas Mini Bikin Cerita di Word Ilmu Komputer
Tugas Mini Bikin Cerita di Word Ilmu Komputer
dadangrahmathidayat2
 
Technopreneurship - 6 Business Plan
Technopreneurship - 6 Business PlanTechnopreneurship - 6 Business Plan
Technopreneurship - 6 Business Plan
AndiNurkholis1
 

Algorithm & Data Structure - Algoritma Pengurutan

  • 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 [email protected]