Menghitung Median Dengan Pascal

Setelah bangun pagi saya langsung menuju kamar mandi. Selesai mandi, lalu memakai baju secepat mungkin. Dikarenakan ada kuliah pagi. Maklum tidur tidak teratur. Paling lambat tidur jam 2 pagi. Handphone saya berdering. Saya lihat nama yang tercantum di Hp, ternyata teman saya Retno.

Retno berkata “Halo, Saad yach?”
Saad berkata “Kenapa nong” , begitu panggilan akrabku
Retno berkata “Lo tahu program median nggak?”
Saad berkata “oh, median. Tahu, tapi g nggak punya programnya?”
Retno berkata “Tolongin dong, ad. Buatin program median”
saad berkata “buat apaan lo?”
Retno berkata “Tugas dari dosen suruh buat program median”
saad berkata “ya udah akan g coba membuatnya”

Inilah awal mengapa saya memposting artikel ini. Yang dari pada disimpan-simpan di dalam komputer saya. Lebih baik dibagikan kepada yang membutuhkan. Terdiri dari 5 yaitu 4 Unit, 1 program Utama. Berikut listing programnya.


Unit BacaFile;

Interface

Uses

Tipe;

Procedure Baca_file_1(Var n :Integer; Var x : Data);

Implementation

Procedure Baca_file_1;

Type

File_data = File of Integer;

Var

i,xx :Integer;

z :File_data;

Begin

Assign(z,’deret.dat’);Reset(z);

n:=Filesize(z);

For i:= 1 to n Do

Begin

read(z, xx);

x[i] :=xx;

End;

Close(z);

End;

End.

Unit Gerbang1;

Interface

Uses

Crt,Tipe;

Procedure Tulis_1(n :Integer; x : Data);

Procedure Tekan_Esc;

Implementation

Procedure Tulis_1(n :Integer; x : Data);

Var

i :Integer;

Begin

For i:= 1 to n Do Write(x[i]:10);

Writeln;

End;

Procedure Tekan_Esc;

Var

pesan :String[50];

m :Integer;

Begin

pesan:=’Tekan<Esc>.’;

m :=78-Length(pesan);

Gotoxy(m,24);

Write(pesan);

repeat until Readkey = #27;

Clrscr;

End;

End.

Unit Sort1;

Interface

Uses

Tipe;

Procedure Sort_1(n :Integer; Var x : Data);

Implementation

Procedure Sort_1;

Var

i,j,y :Integer;

Begin

{—MenyusunData—}

For i:= 1 to n Do

Begin

For j:= i to n Do

Begin

If x[i] > x[j] then

Begin

y:=x[i];

x[i] :=x[j];

x[j] :=y;

End;

End;

End;

End;

End.

Unit Tipe;

Interface

Const

max = 150; {==> banyaknya data yang dapat digunakan <==}

Type

Indeks= 1..max;

Data = Array [Indeks] of Integer;

Implementation

End.

Program Harga_median;

Uses

Crt,Gerbang1,Sort1,Tipe,Bacafile;

Var

pil:char;

x:Data;

i,j,n,z:Integer;

m:Real;

f:File of Integer;

Procedure Median(n :Integer; Var x:Data; Var med:Real);

Begin

{—Menyusun Data—}

Sort_1(n,x);

{—Mencari Median—}

case (n Mod 2) of

0 :med:=(x[n div 2] + x[(n div 2)+1]) / 2;

1 :med:=x[(n + 1) div 2];

End;

End;

Begin

Repeat

Clrscr;

Gotoxy(6,1);

Writeln(‘<<<  Menu Utama >>>’);

Writeln;

Writeln(‘1. Masukkan Data’);

Writeln(‘2. Hasil Sorting & Nilai Median’);

Writeln(‘3. Keluar’);

Writeln;

Write(‘Masukkan Pilihan Anda ? ‘);Readln(pil);

Case pil of

‘1’ : Begin

Clrscr;

Assign(f,’deret.dat’);Rewrite(f);

Write(‘Banyaknya Data = ‘);readln(n);

For i := 1 to n Do

Begin

Write(‘masukkan Data ‘,i,’ = ‘);readln(z);

Write(f,z);

End;

Close(f)

End;

‘2’ : Begin {—Program Utama—}

Clrscr;

Baca_file_1(n,x);

Writeln(‘Data semula:’);

Writeln;

Tulis_1(n,x);

Median(n,x,m);

Writeln;

Writeln(‘Data setelah Disusun:’);

Writeln;

Tulis_1(n,x);

Writeln;Writeln(‘Median :’,m:10:2);

Tekan_Esc;

End;

End;

Until pil = ‘3’

End.

Tampilan Menu :

Menu
Menu

Tampilan Pilihan 1:

Pilihan 1
Pilihan 1

Tampilan Pilihan 2:

Pilihan 2
Pilihan 2

Selamat Mencoba!!!

3 thoughts on “Menghitung Median Dengan Pascal”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s