Kamis, 26 Maret 2015

Program Pengurutan Berdasarkan IPK dengan Bubble Sort

  • Nama : Program Pengurutan Berdasarkan IPK dengan Bubble Sort
  • Bahasa : Pascal
  • Software : Free Pascal IDE
  • Deskripsi : Program ini menggunakan bubble sort untuk mengurutkan data berdasarkan IPK. Pertama-tama user akan menginputkan data berupa nama dan IPK sebanyak yang diinginkan user. Kemudian program akan men-sorting IPK dari yang terkecil sampai terbesar dan kemudian meng-output-kannya.
  • Screenshot : ~Segera diupload~
  • Download : Link Kumpulbagi
  • Source Code :
uses crt;
type
  mhs    =record
    nama :string;
    ipk  :real;
  end;
  amhs   =array[1..10] of mhs;
var
  dtmhs  :amhs;
  jlh_mhs,a:byte;

procedure swap(var i,j:real);        
  var
    temp  :real;
  begin
    temp:=j;
    j   :=i;
    i   :=temp;
  end;

procedure swap2(var i,j:string);       
  var
    temp  :string;
  begin
    temp:=j;
    j   :=i;
    i   :=temp;
  end;

procedure sorting(n:byte;var a:amhs);      
  var
    i,j   :byte;
  begin
    for i:=n downto 1 do
    begin
      for j:=1 to i-1 do
        if (a[j].ipk>a[j+1].ipk) then
        begin
          swap (a[j].ipk, a[j+1].ipk);
          swap2(a[j].nama,a[j+1].nama);
        end;
    end;
  end;

begin
  clrscr;
  writeln('>> Bubble Sorting <<');
  writeln;
  write  ('Jumlah data : ');readln(jlh_mhs);
  writeln;
  for a:=1 to jlh_mhs do
    begin
      writeln('Data ke-',a);
      write  ('  Nama  : ');readln(dtmhs[a].nama);
      write  ('  IPK   : ');readln(dtmhs[a].ipk);
    end;
  writeln;
  sorting(jlh_mhs,dtmhs);
  writeln('>> Hasil Sorting <<');
  writeln;
  for a:=1 to jlh_mhs do
    begin
      writeln('Data ke-',a);
      writeln('  Nama  : ',dtmhs[a].nama);
      writeln('  IPK   : ',dtmhs[a].ipk:2:2);
    end;
  readkey;
end.

1 komentar: