Bubble Sort Descending dengan Pascal (Tutorial Singkat)

 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:

  1.  Input jumlah data dan nilai-nilainya.
  2.  Lakukan perulangan pertama (i) dari 1 sampai jumlah data - 1.
  3. Di dalamnya, lakukan perulangan kedua (j) dari i+1 sampai jumlah data.
  4. Jika nilai ke-i lebih kecil dari nilai ke-j, maka tukar posisi keduanya.
  5. Ulangi sampai semua data terurut menurun.
  6. 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