Rabu, 14 Oktober 2009

Implementasi


Tipe larik/array dapat di implementasikan di banyak persoalan. Salah satu contohnya adalah membuat perhitungan Matrik, menghitung nilai dari beberapa siswa, mencari bilangan terbesar dan terkecil dan masih banyak lagi implementasi dari tipe array.

Berikut ini, kami akan memberikan contoh implementasi dari tipe larik/array untuk proses pengurutan data nama orang secara ascending maupun secara descending.

A. Urut Secara Ascending
program mengurutkan_nama;

{$APPTYPE CONSOLE}

uses
SysUtils;

type save = array[1..20] of string;
var nama: save;
n, m, i, k, y, z, q, u: byte;
a, b: byte;
memori: string;
begin
writeln;

writeln;
write('Jumlah data nama yang akan diurutkan : ');
readln(n);
writeln;
Writeln('Masukkan nama-nama yang akan di urutkan... ');
writeln;
//memasukkan data nama
for i := 1 to n do
begin
write('Nama ke- ', i, ': ');
readln(nama[i]);
end;
writeln;
//menampilkan nama-nama yang sudah dimasukkan
writeln('Nama-nama yang dimasukkan tadi adalah : ');
writeln('======================================= ');
writeln;
for i := 1 to n do
writeln('Nama orang ke : ', i, ' adalah ', nama[i]);
writeln;
write('Tekan enter untuk mengurutkan...');
readln;

{proses Mengurutkan}
for y := 2 to n do
begin
for q := n downto y do
begin
if nama[q] < nama[q - 1] then

begin //PROSES TUKAR TEMPAT
memori := nama[q];
nama[q] := nama[q - 1];
nama[q - 1] := memori;
end;
end;
end;
writeln;
writeln('Hasil pengurutan nama...');
writeln('========================'); writeln;
for i := 1 to n do
Writeln('Nama orang ', ' ', i, ': ', nama[i]);
readln;
writeln;

{data kedua}
//memasukkan data
write('Jumlah yang akan diurutkan : ');
readln(m);
writeln;
for k := 1 to m do
begin
write('Nama ke- ', k, ': ');
readln(nama[k]);
end;
writeln;
//menampilkan nama-nama yang sudah dimasukkan
writeln('Nama-nama yang dimasukkan tadi adalah : ');
writeln('======================================= ');
writeln;
for k := 1 to m do
writeln('Nama orang ke : ', k, ' adalah ', nama[k]);
writeln;
write('Tekan enter untuk mengurutkan...');
readln;
{proses Mengurutkan}
for z := 2 to m do
begin
for u := m downto z do
begin
if nama[u] < nama[u - 1] then

begin //PROSES TUKAR TEMPAT
memori := nama[u];
nama[u] := nama[u - 1];
nama[u - 1] := memori;
end;
end;
end;
writeln;
writeln('Hasil pengurutan nama...');
writeln('========================'); writeln;
for k := 1 to m do
Writeln('Nama orang ', ' ', k, ': ', nama[k]);
readln;
writeln;
writeln('Terima Kasih :');

{urut}
writeln('Hasil penggabungan');
for i := 1 to n do
begin
writeln('Nama orang ke : ', i, ' adalah ', nama[i]);
end;
for y := 2 to n do
begin
for q := n downto y do
begin
if nama[q] < nama[u - 1] then

begin //PROSES TUKAR TEMPAT
memori := nama[u];
nama[u] := nama[u - 1];
nama[u - 1] := memori;
end;
end;
end;
readln;
end.

B. Secara Descending
program urutnama_descending;

{$APPTYPE CONSOLE}

uses
SysUtils;

type save = array[1..20] of string;
var nama: save;
n, i, y, q: byte;
memori, upcase_name: string;
begin
writeln;
writeln(' PROGRAM MENGURUTKAN DATA NAMA SECARA DESCENDING');
writeln('===================================================');
writeln;
write('Jumlah data nama yang akan diurutkan : ');
readln(n);
writeln;
Writeln('Masukkan nama-nama yang akan di urutkan... ');
writeln;
//memasukkan data nama
for i := 1 to n do
begin
write('Nama ke- ', i, ': ');
readln(nama[i]);
upcase_name := ' ';
end;
writeln;
//menampilkan nama-nama yang sudah dimasukkan
writeln('Nama-nama yang dimasukkan tadi adalah : ');
writeln('======================================= ');
writeln;
for i := 1 to n do
writeln('Nama orang ke : ', i, ' adalah ', nama[i]);
writeln;
write('Tekan enter untuk mengurutkan...');
readln;

{proses Mengurutkan}
for y := 2 to n do
begin
for q := n downto y do
begin
//urutkan nama secara descending
if nama[q] > nama[q - 1] then
begin
memori := nama[q];
nama[q] := nama[q - 1];
nama[q - 1] := memori;
end;
end;
end;
writeln;
writeln('Hasil pengurutan nama...');
writeln('========================'); writeln;
for i := 1 to n do
begin
Writeln('Nama orang ', ' ', i, ': ', nama[i]);
readln;
writeln;

end;
writeln('Terima Kasih :)');
end.

Catatan : kode program diatas, kami buat dengan menggunakan Delphi Console dimana kode inipun bisa dicoba di dalam bahasa Pascal.
Selamat Mencoba.......


0 komentar:


Blogger Templates by mr.vi and Volkswagen Cars. Powered by Blogger