•Program
sederhana dengan Tipe data Integer
program phytagoras;
uses wincrt;
var a,b,c,i,j,k:integer;
begin
writeln ('program segitiga phytagoras');
writeln('masukkan sisi pertama'); readln(i);
writeln('masukkan sisi kedua'); readln(j);
writeln('masukkan sisi ketiga'); readln(k);
if (i>j) and (i>k) then
begin c:=i; b:=j; a:=k end
else if (j>i) and (j>k)
then begin c:=i; b:=j; a:=k end
else begin
c:=k; b:=i; a:=j end;
writeln;
writeln ('a= ',a,'b= ',b,'c= ',c);
if (c*c=a*a+b*b)
then begin
writeln ('karena ','c','2 >
','a','2 +','b','2 maka');
writeln ('segitiga tersebut adalah segitiga siku-siku') end
else if
(c*c>a*a+b*b)
then begin
writeln ('karena ','c','2>','a','2+','b','2 maka');
writeln('segitiga tersebut adalah segitiga tumpul')end
else begin
writeln('karena','c','2<','a','2+','b','2 maka');
writeln('segitiga tersebut adalah segitiga lancip')end
end.
Program Sederhana dengan Tipe Data Real
Program Hitung_Luas_Balok;
Uses wincrt;
Var panjang:real;
lebar:real;
tinggi:real;
Luasbalok:real;
Begin
write('masukkan nilai panjang:'); readln(panjang);
write('masukkan nilai lebar:'); readln(lebar);
write('masukkan nilai tinggi:'); readln(tinggi);
writeln;
Luasbalok:=2*(panjang*lebar+lebar*tinggi+panjang*tinggi);
writeln('Nilai luasbalok
adalah:',luasbalok:0:2);
End.
Program Sederhana dengan Tipe Data Bolean
Program display_bool;
Uses wincrt;
Begin
write('!!!
PROGRAM TIPE DATA BOLEAN !!!');
writeln;
write('================================');
writeln;
writeln('>>
laki-laki ');
writeln;
Writeln('>>
perempuan ');
writeln;
writeln('^_^
TERIMA KASIH SUDAH MENCOBA ^_^');
End.
CONTOH 2 :
program boolean;
{ekspresi boolean}
uses wincrt;
begin
clrScr;
writeln (' S > s =', 'S' <'s');
writeln ('s > S =', 's' > 'S');
writeln ('5 > 2 =', 5 > 2);
readln;
end.
program boolean;
{ekspresi boolean}
uses wincrt;
begin
clrScr;
writeln (' S > s =', 'S' <'s');
writeln ('s > S =', 's' > 'S');
writeln ('5 > 2 =', 5 > 2);
readln;
end.
Program Sederhana dengan Tipe Data Char
Program menampilkan_huruf;
uses wincrt;
var Alfabet:char;
begin
write('!!! PROGRAM MENAMPILKAN CHAR !!!');
writeln;
write('+++==========================+++');
writeln;
writeln;
writeln ('== Huruf Alfabet " S " Ditampilkan ==');
end.
Tipe Data Majemuk
ØProgram dengan Tipe Data
String
program warna_baju;
uses wincrt;
var hari,pakai:string;
begin
write('masukkan hari:'); readln(hari);
writeln;
if (hari='senin') then
pakai:='pink'
else if (hari='selasa') then
pakai:='coklat susu'
else if (hari='rabu') then
pakai:='biru'
else if (hari='kamis') then
pakai:='merah'
else if (hari='jumat') then
pakai:='kuning'
else if (hari='sabtu') then
pakai:='coklat'
else if (hari='minggu') then
pakai:='hitam';
writeln('jadi baju yang anda pakai hari ini adalah:',pakai);
end.
Program Penggunaan Jenis Operator Data Pada Tipe Data Sederhana Dalam Bahasa Pemograman Pascal
1.OPERATOR
ARITMATIKA
program menghitung_usia;
uses wincrt;
var TgS, BlS, Ths, TgL, BlL, ThL : Integer;
X1: Integer;
X2: Integer;
X3: Integer;
X4: Integer;
TTH: Integer;
UsiaThn:
Integer;
UsiaBln:
Integer;
UsiaHr:
Integer;
Begin
writeln(' ^-^ PROGRAM MENGHITUNG USIA ^-^');
WRITELN;
WRITELN;
Write('Masukkan Tgl Sekarang : '); Readln(TgS);
Write('Masukkan Bulan Sekarang : '); Readln(BlS);
Write('Masukkan Tahun Sekarang : '); Readln(ThS);
Writeln;
Write('Masukkan Tgl Lahir : '); Readln(TgL);
Write('Masukkan Bulan Lahir : '); Readln(BlL);
Write('Masukkan Tahun Lahir : '); Readln(ThL);
Writeln;
X1 := 30-TgL;
X2 := (12 - BlL) * 30;
X3 := ((ThS - 1)-ThL) * 360;
X4 := ((BlS-1)*30)+TgS;
TTH:=(X1+X2+X3+X4);
UsiaThn:=TTH Div
360;
UsiaBln:=((TTH -
(UsiaThn * 360))
Div 30);
UsiaHr:=TTH Mod
((UsiaThn*360)+(UsiaBln*30));
writeln(' ^-^ USIA ANDA SEKARANG ^-^');
writeln;
writeln;
Writeln(UsiaThn , ' Tahun');
Writeln(UsiaBln, ' Bulan');
Writeln(UsiaHr, ' Hari')
;
end.
2. Operator Relasional
program menghitung_nilai;
uses wincrt;
var nama :
string;
kehadiran:integer;
nilaikehadiran:real;
tugas : real;
nilaitugas : real;
Kuis : real;
nilaikuis : real;
Mid : real;
nilaiMid : real;
Final : real;
nilaifinal: real;
total:real;
begin
writeln('=============================');
writeln(' PROGRAM NILAI AKHIR');
writeln('=============================');
write('masukkan nama : ') ; readln( nama);
write('masukkan Jumlah kehadiran : ')
; readln(kehadiran);
write('masukkan Nilai Tugas : ') ; readln( tugas);
write('masukkan Nilai Kuis : ') ; readln( kuis);
write('masukkan Nilai Midtest : ') ; readln( mid);
write('masukkan Nilai
Final : ') ; readln( final);
nilaikehadiran := ((kehadiran *
(100/14))*10 )/100;
nilaitugas := (tugas
*15)/100;
nilaikuis := (kuis*10)/100;
nilaimid :=
(mid*25)/100;
nilaifinal := (
final*40)/100;
total := nilaikehadiran + nilaitugas + nilaikuis + nilaimid + nilaifinal;
writeln(total
:2:0);
if (total>= 85) then
write('grade nilai anda A')
else if ( total >= 75) then
write('grade nilai anda B')
else if total >= 65 then
write('grade nilai anda C')
else if total >= 55 then
write('grade nilai anda D')
else if total < 55 then
write('grade nilai anda E')
end.
3. Operator Logic
program operator_logic;
uses wincrt;
var angka:integer;
nilai :integer;
i:integer;
begin
write('Masukan Nilai = '); readln(nilai);
{for i :=1 to 5
Do}
if(nilai <
5)then
write('Angka benar')
else
write('Angka Salah');
end.
4. Operator Not
Program operator_NOT;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A
>a=','A'<'a');
writeln ('A<A
=','A'>'A');
readln;
end.
5. Operator OrProgram operator_OR;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A >a =','A'>'a');
writeln ('a <A =','a'>'A');
writeln ('A >a=','A'<'a');
writeln ('A <a=','A'<'a');
readln;
end.
6.
Operator And
Program operator_AND;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A >a
=','A'>'a');
writeln ('a <A
=','a'<'A');
writeln ('a <A
=','a'<'A');
writeln ('a <A
=','a'>'A');
readln;
end.
7. Program Operator
XOR
Program operator_XOR;
{ekspresi menggunakan }
Uses wincrt;
begin
clrscr;
writeln ('A
>a =','A'>'a');
writeln ('a
<A =','a'>'A');
writeln ('a
<A =','a'>'A');
writeln ('a
<A =','a'<'A');
readln;
end.
8. Operator Assigment
program Assigment;
uses wincrt;
var x,y,z:integer; {variabel x,y dan z belum memiliki nilai}
begin
x:=11;{nilai variabel x}
y:=20; {nilai variabel y}
z:=y+x; {memproses x dan y ke dalam variabel z}
write('nilai hasil proses penugasan = ',z);
readln;
end.
end.
ARRAY
ØPengertian Array (Larik)
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte,
word, integer, real, bolean, char, string dan tipe data
scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Suatu array dapat dibedakan atas 2 (dua) bagian, yaitu :
a. Array Berdimensi Satu
Array berdimensi satu dapat dikatakan sebagai suatu daftar yang linier atau sebuah kolom. Bentuk deklarasi dari array jenis ini dalam bahasa Pascal adalah:
VAR nama_array : ARRAY [index] OF jenis_elemen;
Contoh Program :
program percabangan;
uses wincrt;
var
Nmhari : array[1..7] of string;
a : integer;
Begin
for a:= 1 to 7 do
begin
write('Nama Hari Ke-',a,' :');
readln(nmhari[a]);
end;
CLRSCR;
writeln('================');
writeln('NAMA-NAMA HARI');
writeln('================');
for a:= 1 to 7 do
writeln(a,' ',nmhari[a]);
end.
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const).
Contoh :
program kkk;
Uses winCrt;
Const
Tetap : Array[1..4] of
Integer=(7,10,21,20);
Var i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
b. Array Dimensi Dua
Array dimensi dua ini dapat dianggap sebagai sebuah matriks yang jumlah kolomnya lebih dari satu. Bentuk deklarasi :
VAR nama_array : ARRAY [indeks_baris,indeks_kolom] OF jenis;
Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini.
Program_Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel :
Array[1..3,1..2] of Integer;
i,j :
Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I :=
1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.
Ø Keunggulan array adalah :
1. Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu
secara langsung tanpa melalui elemen-elemen lain.
2. Jika telah berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemenelemen
tetangga, baik elemen pendahulu atau elemen penerus.
Ø Kelemahan array adalah :
1. Array mempunyai fleksibilitas rendah, karena array mempunyai batasan harus bertipe
homogen. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen
lain bilangan, dan elemen lain adalah tipe-tipe lain
2. Kebanyakan bahasa pemrograman mengimplementasikan array dengan ukuran statik
yang sulit diubah ukurannya di waktu
eksekusi. Bila penambahan dan pengurangan
terjadi terus-menerus, maka representasi statis ini bersifat tidak efisien dalam penggunaan
memori.
Record pada Bahasa Pemrograman Pascal
Ø Definisi Record
Record merupakan sebuah rekaman yang disusun oleh beberapa field. Tiap field berisi data dari tipe dasar atau bentukan tertentu. Record mempunyai kelebihan untuk menyimpan sekumpulan elemen data
yang berbeda-beda tipenya.
program data_record;
uses wincrt;
type
tsiswa = record
noabsensi
:integer;
nama
:string[25] ;
end;
var
s:tsiswa;
begin
write('!!! DATA MAHASISWA !!!');
writeln;
writeln('======================');
writeln;
writeln('Isikan Data Anda');
write('No Absensi :');readln(s.noabsensi);
write('Nama :');readln(s.nama);
writeln('-------------------------------');
writeln('Data-Data
Diatas Merupakan Benar');
writeln('No Absensi :',s.noabsensi);
write('Nama :',s.nama);
end