Minggu, 29 Maret 2015

Pengurutan Ascending dan Descending



program Asc_Dsc;
uses crt ;
var     data    : array[1..10] of string ;
        nama   : string ;
        n,j,i   : byte ;

procedure input;
        begin
                repeat
                write('Masukkan jumlah data yang diinginkan : ');readln(n);
                until n<10;
                for i := 1 to n do
                begin
                        write('Nama ke ',i,' : ') ; readln(data[i]) ;
                end;
        end;

procedure asc_shorting;
        begin
                for i:= 1 to n-1 do
                begin
                        for j:= n-1 downto i do
                        begin
                                if nama[j] > nama[j+1] then
                                begin
                                nama     := data[j] ;
                                data[j]   := data[j+1] ;
                                data[j+1] := nama   ;
                                end;
                        end;
                end;
        end;

procedure desc_shorting;
        begin
                for i:= 1 to n-1 do
                begin
                        for j:= n-1 downto i do
                        begin
                                if data[j] < data[j+1] then
                                begin
                                nama     := data[j] ;
                                data[j]   := data[j+1] ;
                                data[j+1] := nama   ;
                                end;
                        end;
                end;
        end;


procedure tampilan;
        begin
                for i := 1 to n do
                begin
                        writeln ('              ', data[i]) ;
                end;
        end;

procedure judul;
        begin
                clrscr ;
                writeln('       ***Pengurutan Nama Secara Ascending dan Descending***');
                writeln;
        end;
begin
        judul;
        input;
        judul;
        writeln(' Sebelum Diurutkan');
        tampilan;
        writeln;
        asc_shorting;
        writeln(' Pengurutan Ascending');
        tampilan;
        writeln;
        desc_shorting;
        writeln(' Pengurutan Descending');
        tampilan;
        readln;
end.



Screenshot Program

Gambar. 1 Tampilan Awal Program


Gambar. 2 Menginputkan Jumlah Data yang Diinginkan
Gambar. 3 Menginputkan Nama untuk Data Pertama

 
Gambar. 4 Menginputkan Nama untuk Data Kedua
 Gambar. 5 Menginputkan Nama untuk Data Ketiga

Gambar. 6 Menginputkan Nama untuk Data Keempat


Gambar.7  Menginputkan Nama untuk Data Kelima


Gambar. 8 Tampilan Hasil Pengurutan