29/03/15

Mengurutkan Data String Dengan Metode Bubble-sort Secara Ascending dan Descending pada Pascal

Selamat datang kembali keblog saya. Sekarang saya akan berbagi bagaimana cara mengurutkan string secara ascending dan descending pada bahasa pemrograman pascal. Berikut adalah contoh hasil program nya sekaligus dengan source codenya.











Tampilan Awal Program


Input Jumlah Data


Tampilan Setelah Menginput Data


Tampilan Setelah Selesai Menginput Seluruh Data


Menampilkan Hasil

Source Code :
uses crt ;
var     nama    : array[1..30] of string ;
        xnama   : string ;
        n,j,i   : byte ;

procedure input_data;
        begin
                repeat
                write('Masukkan jumlah data (MAX 30) : ');readln(n);
                until n<30;
                for i := 1 to n do
                begin
                        write('Nama ke ',i,':') ; readln(nama[i]) ;
                end;
        end;

procedure buble_asc;
        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
                                xnama     := nama[j] ;
                                nama[j]   := nama[j+1] ;
                                nama[j+1] := xnama   ;
                                end;
                        end;
                end;
        end;

procedure buble_des;
        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
                                xnama     := nama[j] ;
                                nama[j]   := nama[j+1] ;
                                nama[j+1] := xnama   ;
                                end;
                        end;
                end;
        end;


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

procedure judul;
        begin
                clrscr ;
                writeln('       Pengurutan Nama Secara Ascending dan Descending');
                writeln;
        end;
begin
        judul;
        input_data;
        judul;
        writeln('               Sebelum Diurutkan');
        tampil;
        writeln;
        buble_asc;
        writeln('               Pengurutan Ascending');
        tampil;
        writeln;
        buble_des;
        writeln('               Pengurutan Descending');
        tampil;
        readln;
end.

Sekian postingan kali ini terima kasih telah berkunjung.