Page 248 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 248
Output:
Masukkan jumlah siswa: 5
Masukkan nilai ujian siswa (dipisahkan dengan spasi): 80 88 85 84 89
Hasil pengurutan nilai ujian (ascending):
80 84 85 88 89
Penjelasan:
1) Parameter:
• nilaiUjian: Array yang berisi nilai ujian siswa (tipe int).
• n: Jumlah siswa (tipe int).
2) Alur kerja:
• Bendera swapped:
o Diinisialisasi dengan true untuk menandakan bahwa pada awalnya diasumsikan
ada pertukaran.
• Loop baris i:
o Dilakukan sebanyak n - 1 kali. Di setiap iterasi, diasumsikan tidak ada pertukaran
pada iterasi ini (swapped menjadi false).
o Loop ini menandakan perbandingan nilai antar siswa.
• Loop kolom j:
o Dilakukan sebanyak n - i - 1 kali. Di setiap iterasi, dilakukan perbandingan nilai
ujian dua siswa yang berdekatan.
o Jika nilai ujian siswa pada indeks j lebih besar daripada siswa pada indeks j + 1,
lakukan:
▪ Tukar nilai ujian mereka menggunakan fungsi swap.
▪ Ubah swapped menjadi true untuk menandakan adanya pertukaran.
• Kondisi terminasi:
o Loop baris i akan terus berjalan selama swapped bernilai true. Artinya, loop akan
terus berjalan selama masih ada pertukaran nilai ujian.
o Ketika swapped menjadi false, berarti tidak ada lagi pertukaran dan nilai ujian sudah
terurut secara ascending.
3) Fungsi main:
• Meminta input:
o Jumlah siswa (n).
o Nilai ujian siswa (dipisahkan dengan spasi).
• Memanggil fungsi exchange_sort:
o Mengurutkan array nilaiUjian dengan parameter nilaiUjian dan n.
• Menampilkan hasil pengurutan:
o Menampilkan nilai ujian yang telah diurutkan secara ascending.
239