- Algoritma sorting
Untuk mengurutkan array
Algoritma bubble sort
Contoh:
int v[5] = { 9, 11, 3, 7, 8};
Buatlah program untuk mengurutkan elemen array v dari yang terkecil sampai yang terbesar!
Ilustrasi proses bubble sort
data = 9 11 3 7 8 -> ada 5 data -> jadi index nya 0 s/d 4
Algoritma buble sort dengan 5 data membutuhkan 4 langkah proses -> jika ada n data, berarti ada n-1 proses
Lakukan proses-proses berikut:Proses-1
data awal proses 1 : 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]<[n-1], data [n] dan [n-1] ditukar.
Proses-1
Data awal : 9, 11, 3, 7, 8
Dari b=4 sampai b=1 kerjakan:–Untuk b=4:
data[4]<data[3]? -> 8 < 7?
tidak -> data[3] dan [4] tidak ditukar
data=9,11,3,7,8–Untuk b=3:
data[3]<data[2]? -> 7 < 3?
Tidak -> data[2] dan [3] tidak ditukar
Data=9,11,3,7,8–Untuk b=2:
data[2]<data[1] -> 3 < 11?
Ya -> data[1] dan [2] ditukar
Proses menukar :temp = data[1]; data[1] = data[2] ; data[2] = temp;
Data=9,3,11,7,8–Untuk b=1:
data[1]<data[0] -> 3 < 9?
Ya -> data[0] dan [1] ditukar
Proses menukar :temp = data[0]; data[0] = data[1] ; data[1] = temp;
Data=3,9,11,7,8
Data akhir proses-1 : 3,9,11,7,8Proses-2
Data awal proses-2: 3,9,11,7,8
cari bilangan terkecil dari 4 data([1]s/d[4]), dan tempatkan di index 1
Dari b=4 sampai b=2 kerjakan: - –Untuk b=4:
data[4]<data[3]? -> 8<7?
Tidak -> [3] dan [4] tidak ditukar
Data = 3,9,11,7,8–Untuk b=3:
data[3]<data[2]? -> 7<11?
Ya -> [2] dan [3] ditukar
Proses menukar :temp = data[2]; data[2] = data[3] ; data[3] = temp;
Data = 3,9,7,11,8–Untuk b=2:
data[2]<data[1] -> 7<9?
Ya -> [1] dan [2] ditukar
Proses menukar :temp = data[1]; data[1] = data[2] ; data[2] = temp;
Data = 3,7,9,11,8
Data akhir proses-2 : 3,7,9,11,8
Proses-3
Data awal proses-3: 3,7,9,11,8
cari bilangan terkecil dari 3 data([2]s/d[4]), dan tempatkan di index 2
Dari b=4 sampai b=3 kerjakan:–Untuk b=4:
data[4]<data[3]? -> 8<11?
ya -> [3] dan [4] ditukar
Proses menukar :temp = data[3]; data[3] = data[4] ; data[4] = temp;
Data = 3,7,9,8,11–Untuk b=3:
data[3]<data[2]? -> 8<9?
Ya -> [2] dan [3] ditukar
Proses menukar :temp = data[2]; data[2] = data[3] ; data[3] = temp;
Data = 3,7,8,9,11
Data akhir proses-3: 3,7,8,9,11
Proses-4
Data awal proses-4 : 3,7,8,9,11
cari bilangan terkecil dari 2 data([3] dan [4]), dan tempatkan di index 3
Dari b=4 sampai b=4 kerjakan:–Untuk b=4:
data[4]<data[3] ? -> 11<9 ?
Tidak -> [3] dan [4] tidak ditukar
Data = 3,7,8,9,11
Data akhir proses-4 : 3,7,8,9,11
Data output algoritma buble sort : 3,7,8,9,11Download Materi PPT (Download)