Kali ini saya akan membuat algoritma pengurutan angka dari
kecil ke besar. Mengurutkan angka dengan menggunakan algoritma banyak sekali
caranya. Setelah saya baca-baca tentang algoritma hasil penelusuran dari ‘mbah’
google, sebagai orang awam dalam hal algoritma-algoritmaan saya mau menggunakan
algoritma bubble short dan juga saya akan menyertakan algoritma bahasa
manusianya (human language) dan contohnya juga.
Saya memilih menggunakan algoritma bubble short karena
setelah saya baca, sedikit bisa saya mengerti dibandingkan algoritma-algoritma
lainnya. Yuk kita langsung aja..
Algoritma Bahasa Manusia (human language)
1. Mulai.
2. Memasukkan jumlah data (N) yang diinputkan.
3. Inisialisasi data (N) yang diinputkan.
4. Memasukkan data ke-1.
5. Memasukkan data ke-2.
6. Memasukkan data ke-3.
7. Memasukkan data ke-4.
8. Memasukkan data ke-5.
9. Inisialisasi data ke-1 sampai ke-5.
10. Jika data ke-5 < >
11. Jika data ke-4 < >
12. Jika data ke-3 < >
13. Jika data ke-2 < >
14. Jika data ke-1 > data ke-5, maka tukar data.
15. Ulangi proses pertukaran data dari akhir ke awal.
16. Cetak hasil data ke-1 hingga ke-5.
17. End (stop).
Contoh :
Data : 5, 3, 1, 9, 7
Data ke-1 > data ke-2, maka tukar data menjadi 3, 5, 1,
9, 7
Data ke-2 < data ke-3, maka tukar data menjadi 3, 1, 5, 9, 7
Data ke-3 < data ke-4, maka tukar data menjadi 3, 1, 5, 7, 9
Data ke-1 > data ke-2, maka tukar data menjadi 1 ,3, 5,
7, 9
Data sudah terurut
Selesai
Algoritma Bubble Short
1. Membandingkan data ke-i dengan data ke-(i+1) (tepat
bersebelahan). Jika tidak sesuai (data ke-i > data ke-(i+1)) maka tukar (data ke-i = data ke-(i+1)) dan
data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan
algoritme menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai
adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending (Z-A).
2. Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita
melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3
dgn 4; 4 dgn 5 … ; n-1 dgn n.
3. Selesai satu iterasi, adalah jika kita sudah selesai
membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan
lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn
data ke-2, dst.
4. Proses akan berhenti jika tidak ada pertukaran dalam satu
iterasi.
Contoh :
Data : 5, 3, 1, 9, 7
Proses pengurutannya :
Iterasi ke-1 : 3, 5, 1, 9, 7 :: 3, 1, 5, 9, 7 :: 3, 1, 5, 9,
7 (ada 2 pertukaran)
Iterasi ke-2 : 1, 3, 5, 9, 7 :: 1, 3, 5, 9, 7 :: 1, 3, 5, 9,
7 (ada 1 pertukaran)
Iterasi ke-3 : 1, 3, 5, 7, 9 :: 1, 3, 5, 7, 9 :: 1, 3, 5, 7,
9 (ada 1 pertukaran)
Iterasi ke-4 : 1, 3, 5, 7, 9 :: 1, 3, 5, 7, 9 :: 1, 3, 5, 7,
9 (ada 0 pertukaran)
~> Proses selesai