Halo, teman-teman! Setelah sebelumnya kita belajar Bubble Sort Ascending (dari kecil ke besar), sekarang kita lanjut ke versi kebalikannya: Descending, yaitu mengurutkan data dari besar ke kecil. Langsung saja kita praktikkan.
Soal:
Buatlah program Pascal untuk mengurutkan data secara descending menggunakan metode Bubble Sort.
Algoritma Natural:
- Input jumlah data dan nilai-nilainya.
- Lakukan perulangan pertama (i) dari 1 sampai jumlah data - 1.
- Di dalamnya, lakukan perulangan kedua (j) dari i+1 sampai jumlah data.
- Jika nilai ke-i lebih kecil dari nilai ke-j, maka tukar posisi keduanya.
- Ulangi sampai semua data terurut menurun.
- Tampilkan data yang sudah diurutkan.
Kode Program Pascal:
Program BubbleSortDescending;
Uses Crt;
Var
Nilai : Array[1..100] of Integer;
i, j, n, t : Integer;
Begin
Clrscr;
Write('Jumlah Data : '); Readln(n);
For i := 1 to n do
Begin
Write('Masukkan Nilai ke-', i, ' : ');
Readln(Nilai[i]);
End;
For i := 1 to n-1 do
Begin
For j := i+1 to n do
Begin
If Nilai[i] < Nilai[j] Then
Begin
t := Nilai[i];
Nilai[i] := Nilai[j];
Nilai[j] := t;
End;
End;
End;
Writeln;
Writeln('Nilai yang telah diurutkan (Descending) : ');
For i := 1 to n do
Write(Nilai[i], ' ');
Readln;
End.
Penjelasan Kode:
- Perbedaan utama dari versi Ascending hanya pada tanda perbandingan: `<` (lebih kecil) bukan `>`.
- Logika penukaran tetap sama, menggunakan variabel bantu `t`.
- Struktur perulangan bersarang tidak berubah.
Output Program (contoh input 3, 5, 1, 4, 2):
Nilai yang telah diurutkan (Descending) :5 4 3 2 1
Gimana? Ternyata mengubah dari Ascending ke Descending cukup dengan satu tanda, ya. Kode ini bisa langsung dicoba di PC masing-masing. Kalau ada pertanyaan, langsung tulis di kolom komentar. Selamat ngoding!
Komentar
Posting Komentar