Page 266 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 266
5. Program
#include <iostream>
using namespace std;
void exchange_sort(int nilaiUjian[], int n) {
bool swapped = true; // Bendera untuk menandakan adanya pertukaran
for (int i = 0; i < n - 1 && swapped; i++) { // Loop baris
swapped = false; // Asumsi awal tidak ada pertukaran pada iterasi ini
for (int j = 0; j < n - i - 1; j++) { // Loop kolom
if (nilaiUjian[j] > nilaiUjian[j + 1]) { // Bandingkan nilai
swap(nilaiUjian[j], nilaiUjian[j + 1]); // Tukar nilai
swapped = true; // Tandai adanya pertukaran
}
}
}
}
int main() {
int n; // Jumlah siswa
cout << "Masukkan jumlah siswa: ";
cin >> n;
int nilaiUjian[n]; // Array untuk menyimpan nilai ujian
cout << "Masukkan nilai ujian siswa (dipisahkan dengan spasi): ";
for (int i = 0; i < n; i++) {
cin >> nilaiUjian[i];
}
exchange_sort(nilaiUjian, n); // Mengurutkan nilai ujian
cout << "\nHasil pengurutan nilai ujian (ascending):" << endl;
for (int i = 0; i < n; i++) {
cout << nilaiUjian[i] << " ";
}
return 0;
}
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:
243