Program Algoritma

ultra

ultra


Pascal dirancang untuk menggairahkan pemograman modular. Setiap langkah atau kelompok langkah yang logis (dalam algoritma) secara umum dapat diterjemahkan kedalam modul pascal. Modul-modul pascal ini dinamakan blok, fungsi atau prosedur tergantung dari cara penggunaannya. Selain itu, sintaksis pascal mengharuskan semua deklarasi, deskripsi dan definisi ditempatkan pada awal blok program. Struktur umum program menggunakan bahasa pascal adalah sbb:
PROGRAM NamaProgram; * Judul Program.
DEKLARASI dan DEFINISI; * Deklarasi & Definisi
BEGIN
………………………………;
Statement Pascal; * Blok Program Utama
………………………………;
END. * Akhir Program

1. Judul Program
Baris ini memberitahu komputer bahwa bagian ini membentuk suatu program dengan nama yang telah didefinisikan. Terdiri dari satu baris, dan diakhiri dengan titik koma ‘ ; ‘ pada baris yang sama.

2. Deklarasi dan Definisi
Bagian deklarasi pada dasarnya adalah bagian yang berisi hal-hal yang perlu dipesan atau didefenisikan sebelum program utama dilaksanakan. Hal-hal yang perlu dideklarasikan atau didefinisikan disini adalah unit, label, konstanta, tipe data, variabel, fungsi dan prosedur.
Variabel merupakan nama (identifier) yang dimaksudkan untuk menampung suatu data tertentu. Untuk mendeklarasikan variabel diawali dengan kata VAR kemudian diikuti oleh daftar nama variabel dan tipe variabelnya.
a. Jenis Numerik
– Bilangan Bulat
Hanya bisa menyimpan nilai bulat saja, tidak boleh mengandung desimal.
* Integer * -32768 …. 32767
* LongInt * -2147483648 …. 2147483647
* ShortInt * -128 … 127
* Word * 0 … 65535
* Byte * 0 … 255
– Bilangan Real
Bisa menampung nilai yang mengandung desimal atau pecahan.
* Real * 2.9 x 10-39 …. 1.7 x 1038
* Single * 1.5 x 10-45 …. 3.4 x 1038
* Double * 5.0 x 10-324 …. 1.7 x 10308
* Extended * 3.4 x 10-4932 …. 1.1 x 104932
Untuk Single, Double dan Extended memerlukan adanya Math-Coprocessor 80287 atau 80387.

b. Jenis Non Numerik
* String, untuk menyimpan rangkaian dari karakter seperti nama, alamat, dll.
* Char, untuk menyimpan satu karakter saja.
* Boolean, untuk menyimpan nilai TRUE atau FALSE
3. Statement Umum Dalam Pascal
a. Memberi Keterangan Dalam Program.
Untuk keperluan memberi komentar bahasa Pascal menggunakan karakter { dan } atau (* dan *).
Contoh : {Program ini untuk menampilkan pesan}
(*Program ini untuk menghitung sisi miring*)

b. Membersihkan Layar
Untuk membersihkan tampilan di layar dapat menggunakan procedure standar pascal berupa CLRSCR, untuk ini terlebih dahulu harus mendeklarsikan pemakaian unit layar crt dengan cara deklarasi USES CRT; atau USES WINCRT untuk bahasa Turbo Pscal for Windows (TPW).
Contoh : USES CRT;
…………..;
BEGIN
CLRSCR;
………;
END.

c. Menulis Isi Suatu Variabel
Dengan menggunakan WRITELN atau WRITE bisa ditulis isi suatu variabel.
Contoh : WRITELN(‘Sisi Miring = ‘,SISI);
WRITE(‘Centi meter’);

d. Mengatur Keluaran
Untuk variabel bilangan real dan integer bisa dipesan jumlah tempatnya serta jumlah desimalnya.
Contoh : WRITELN(Variabel:);
WRITELN(Variabel::);

e. Membaca Masukan Untuk Program
Untuk memberi masukan pada program dapat digunakan prosedure standar READ dan READLN.
Contoh : READ(Variabel);
READLN(Variabel);

Sebagai contoh dari hal diatas saya akan menampilkan beberapa contoh program yang pernah saya kerjakan/tugas sewaktu kuliah Algoritma pembrograman…..:

Program Matrik Transpose

Program Matrik_Transpose;
Uses WINCrt;
Type Matrik = Array [1..3,1..3] of integer;
Var
Awal,MatrikT: Matrik;
I,J : Integer;
Begin
ClrScr;

Awal[1,1] := 1;Awal[1,2] := 2;Awal[1,3] := 3;
Awal[2,1] := 4;Awal[2,2] := 5;Awal[2,3] := 6;
Awal[3,1] := 7;Awal[3,2] := 8;Awal[3,3] := 9;
Writeln(‘Matrik Awal :’);
Writeln(‘ Frengky);
For I := 1 to 3 do
Begin
For J := 1 to 3 do
Begin
Write(Awal[I,J]:2,’ ‘);
End;
Writeln;
End;
Writeln;
For I := 1 to 3 do
Begin
For J := 1 to 3 do
Begin
MatrikT[I,J] := Awal[J,I];
End;
End;
Writeln(‘Matrik Tranpose :’);
Writeln(‘ Poenya gue ‘);
For I := 1 to 3 do
Begin
For J := 1 to 3 do
Begin
Write(MatrikT[I,J]:2,’ ‘);
End;
Writeln;
End;
End.

Program ArcusCosinus;
Uses winCrt;
Var
NilaiCos,NilaiArcCos : Real;
Sudut : Integer;
Function ArcCos(Sudut : Real) : Real;
Var
Result : Real;
Begin
If Sudut = 0.0 then
ArcCos := Pi / 2.0
Else
Begin
Result := ArcTan(sqrt( 1 – Sqr(Sudut))/Sudut);
If Sudut < 0.0 then
ArcCos := Result + Pi
Else
ArcCos := Result;
End;
End;
Function Radian(Sudut : Real) : Real;
Begin
Radian := (Sudut/360)*(2*Pi);
End;
Function Derajat(Sudut : Real) : Real;
Begin
Derajat := (Sudut/(2*Pi)) *360;
End;
Begin
ClrScr;
Sudut := 10;
Writeln(' Sudut Cos ArcCos ');
Writeln(' Gue Poenya ');
While Sudut <= 180 do
Begin
NilaiCos := Cos(Radian(Sudut));
NilaiArcCos := Derajat (ArcCos(nilaiCos));
Writeln(Sudut:3,' ',NilaiCos:8:4,' ',NilaiArcCos:3:0);
Sudut := Sudut + 10;
End;
Writeln(' Karya ULTr4 X-c3nt’5');
End.

Program Gaji
program gaji;
uses wincrt;
label ulang;
var
penghasilan_perbulan,kelebihan_penghasilan : real;
pajak1,pajak2,total_pajak: real;
total_gaji:real;
tanya:char;
begin
clrscr;
writeln(‘**program menghitung total gaji setelah dipotong pajak**’);
writeln;
ulang:
writeln(‘masukkan besarnya gaji bulanan’);
write(‘penghasilan perbulan adalah=’);
readln(penghasilan_perbulan);
if penghasilan_perbulan 50 Then
Ket := ‘Lulus’
Else
Ket := ‘Gagal’;
Writeln(‘Nilai total = ‘,Nilai:4:2);
Writeln(‘Dinyatakan ‘,Ket);
End.

Program Persamaan Akar Kuadrat
PROGRAM PERSAMAANAKARKUADRAT;
USES CRT;
VAR
X1,X2,A,B,C,DISKRIMINAN : REAL;
BEGIN
CLRSCR;
WRITELN(‘**************************************’);
WRITELN(‘**PERHITUNGAN AKAR PERSAMAAN KUADRAT**’);
WRITELN(‘**************************************’);
WRITELN;
WRITELN(‘MASUKAN NILAI- NILAI VARIABEL PERSAMAAN KUADRAT:’);
WRITE(‘ NILAI A = ‘);READLN(A);
WRITE(‘ NILAI B = ‘);READLN(B);
WRITE(‘ NILAI C = ‘);READLN(C);
WRITELN;
DISKRIMINAN :=SQR(B) – (4*A*C);
IF DISKRIMINAN = 0 THEN
BEGIN
X1 := -B/ (2*A);
X2 := X1;
WRITELN(‘PERSAMAAN KUADRAT MEMILIKI AKAR KEMBAR : ‘);
WRITELN(‘ X1 = ‘,X1:8:4);
WRITELN(‘ X2 = ‘,X2:8:4);
END
ELSE
IF DISKRIMINAN > 0 THEN
BEGIN
X1 := (-B + SQRT(DISKRIMINAN))/(2*A);
X2 := (-B – SQRT(DISKRIMINAN))/(2*A);
WRITELN(‘PERSAMAAN KUADRAT MEMILIKI AKAR BERBEDA : ‘);
WRITELN(‘ X1 = ‘,X1:8:4);
WRITELN(‘ X2 = ‘,X2:8:4);
END
ELSE
BEGIN
X1 := -B/(2*A);
WRITELN(‘PERSAMAAN KUADRAT MEMILIKI PERSAMAAN IMAJINER: ‘);
WRITELN(‘ X1 = ‘,X1:8:4,’ + J’,X2:8:4);
WRITELN(‘ X2 = ‘,X1:8:4,’ – J’,X2:8:4);
END;
END.

Program Bilangan Prima

Program Bilangan_Prima;
Uses crt;
Var
Batas : real;
i,j,jumlah : word;
Prima : array[1..500] of Char;
Begin
CLRSCR;
Batas := sqrt(500);
jumlah := 0;
Writeln(‘bilangan_prima_sampai_dengan 500=’);
Writeln(‘———————————-’);
For i :=2 to 500 do
Begin
If prima[1]‘*’ Then
Begin
Write(I:5);
jumlah := jumlah + 1;
If i< batas then
Begin
j :=i;
while j < 500 do
Begin
j :=j + i;
Prima[j] :='*';
End;
End;
End;
End;
Writeln;
Writeln('Ada sejumlah',jumlah,'bilangan prima');
Readln;
End.

  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: