Sorting merupakan suatu proses untuk menyusun kembali kumpulan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting, yaitu ascending mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar dan descending yaitu mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.
Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan. Karena algoritma ini bekerja dengan membandingkan elemen-elemen data yang akan diurutkan, algoritma ini termasuk pula dalam comparison-based sort. Ide dasar dari algoritma Insertion Sort ini adalah mencari tempat yang "tepat" untuk setiap elemen array, dengan cara sequential search. Proses ini kemudian menyisipkan sebuah elemen array yang diproses ke tempat yang seharusnya.
CONTOH SOAL
Buatlah sebuah program Sorting dengan metode insertion dalam java menggunakan dengan menu :
• insert, • View,
• Sort,
• Exit
ALGORITMA
Class sortingMain program
1. Start
2. Deklarasi variable : nomor : sebagai data nomor,
z : sebagai jumlah data,
temp : sebagai variable bantu,
menu : sebagai pilihan menu
3. Inisialisasi variable array nomor dengan banyak indeks 1024
4. Inisialisasi variable menu=0, z=0
5. Jika menu!=4 lanjut ke langkah 6, jika salah lanjut ke langkah0
6. Masukkan nilai dengan variable menu
7. Jika menu==1 benar lanjut ke langkah 8, jika salah lanjut ke langkah11
8. Tambah nilai variable z=z+1
9. Masukkan nilai dengan variable nomor dengan indeks z, kembali ke langkah 5
10. Jika menu==2 benar lanjut ke langkah 11, jika salah lanjut ke langkah 17
11. Jika z<1 benar lanjut ke langkah 12, jika salah lanjut ke langkah 13
12. Tampilkan kosong, kembali ke langkah 5
13. Inisialisasi variable a=1
14. Jika a<z benar lanjut ke langkah 15, jika salah kembali ke langkah 5
15. Tampilkan nilai variable nomor dengan indeks a
16. Tambah nilai variable a=a+1, kembali ke langkah 14
17. Jika menu==3 benar lanjut ke langkah 18, jika salah lanjut ke langkah 33
18. Jika z<1 benar lanjut ke langkah 20, jika salah lanjut ke langkah 20
19. Tampilkan kosong, kembali ke langkah 5
20. Inisialisasi variable a=2
21. Jika a<=z benar lanjut ke langkah 22, jika salah lanjut ke langkah 29
22. Inisialisasi variable b=a
23. Jika b<1 dan nomor[b-1]>nomor[b] benar lanjut ke langkah 24, jika salah lanjut ke langkah 28
24. Ganti nilai variable temp=nomor[b]
25. Ganti nilai variable nomor[b]=nomor[b-1]
26. Ganti nilai variable nomor[b-1]=nomor[b]
27. Kurangi nilai variable b=b-1, kembali ke langkah 23
28. Tambah nilai variable a=a+1, kembali ke langkah 21
29. Inisialisasi variable a=1
30. Jika a<=z benar lanjut ke langkah 31, jika salah kembali ke langkah 5
31. Tampilkan niliai variable nomor dengan indeks a
32. Tambah nilai variable a=a+1, kembali ke langkah 30
33. Jika menu==4 benar lanjut ke langkah 34, jika salah lanjut ke langkah 35
34. Tampilkan keluar, kembali ke langkah 5
35. Tampilkan salah, kembali ke langkah 5
36. End
FLOWCHART
SOURCE CODE
OUTPUT
tampilan program menu input |
tampilan program menu view, sort, dan exit |
TRACING
tracing program |
Modul Java Sorting : Insertion Sort
Reviewed by Syafriansyah Muhammad
on
8/05/2018
Rating:
Tidak ada komentar: