1. Pemrogaraman Pascal
Pemrograman Pascal adalah salah satu bahasa pemrograman yang tidak
lekang dimakan waktu.
TPW adalah program yang digunakan dalam penggunaan bahasa
pemrograman PASCAL pada komputer dengan operating sistem adalah windows. Turbo
Pascal sendiri merupakan versi yang populer dalam PASCAL. PASCAL sudah menjadi
bahasa standar dalam dunia pendidikan komputer.
Pascal
adalah salah satu bahasa pemrograman yang paling sederhana dan merupakan bahasa
yang dasar. Sehingga bisa jadi bagi seseorang yang pengin jadi programmer
bahasa pascal salahsatu yang kudu dikuasai.
Sebab
struktur dalam pascal memiliki banyak kesamaan dengan struktur dalam algoritma.
Jadi yang penting kita mengetahui algoritmanya maka dengan hanya mengubah
bentuk strukturnya sesuai Pascal dalam program TPW ini maka program yang kita
susun dengan algoritma tersebut akan dapat dijalankan.
itulah sekilas tentang materi pemrograman I dan menggunakan
bahasa Turbo Pascal.
2. Tipe data
a. integer = bilangan bulat
b. real = desimal
c. string = kata dan kalimat
d. char = ‘a’ atau ‘b’
e. Boolean = true dan false
1. Untuk latihan pertama kami membuat hasil output ‘belajar
bahasa pascal’ dan ‘sekolah(enter) tinggi informatika(enter) dan komputer.
2. Program untuk Menghitung Luas persegi panjang dan volume
balok, adapun rumusnya adalah:
Luas persegi panjang
= Panjang(p) * Lebar(L)
Volume Balok = Panjang(p) * Lebar(L) * Tinggi(T)
1. Latihan Pertama.
A. progam pertamaku;
Uses wincrt;
Begin
Write(‘Belajar Pascal pertamaku’);
End.
Outputnya : Belajar Pascal Petamaku
B. program pertamaku;
uses wincrt;
writeln(‘sekoalh’);
writeln(‘Tinggi Informatika’);
writeln(‘Dan Komputer’);
end.
Outputnya: Sekolah
Tinggi Informatika
Dan Komputer
2. Menghitung Luas Persegi Panjang dan volume balok.
uses wincrt;
var
panjang,lebar,tinggi:integer;
begin
write(‘panjang=’);readln(panjang);
write(‘lebar=’);readln(lebar);
write(‘tinggi=’);readln(tinggi);
writeln(‘Luas =’,panjang * lebar);
writeln(‘Volume balok =’,panjang * lebar * tinggi);
end.
Proses Pengulangan
Dalam pemerosesan suatu data atau penghitungan serigkali
dijumpai peroses penghilangan yang amat membosankan bila dikerjakan secara
manual. Dalam hal ini pemakain komputer akan sangat berguna untuk melakukan
pengulangan proses tersebut.
Bahasa pascal mengenal beberapa macam cara untuk melakukan
proses pengulangan, yaitu:
a. While…do…
b. Repeat….until…
c. For…to…do…
d. If…then…
e. Case…of…
a. Pernyataan
while..do..
Pernayataan ini dilakukan untuk melakukan proses pengulangan
bila kondisi atau syrat tertentu yang terdapat pada awal blok terpenuhi. Proses
pengulangan setelah pernyataan Do dilakukkan bila kondisi pada pernyataan While
terpenuhi. Bila proses pengulangan tersebut terdiri dari beberapa pernyataan,
maka harus dibuat blok dengan diawali pernyataan Begin dan diakhri pernyataan
End.
Contoh program sederhana.
1.Program While_do_pertama;
Uses wincrt;
Const c:= 1609344
Var a,b:real ;
Begin
Writeln(‘konversi’);
Writeln(‘kilometer mil’);
a:=0;
while a< 20 do
begin
a:= a + 1;
b:= c* a;
writeln(a : 15 : 2, b: 8:2);
end;
end.
2.Program While_do_kedua;
Uses wincrt;
Var
jumlah, data ,i: integer;
lagi : char;
rata_rata : real;
Begin
Lagi:='Y';
while Lagi='Y' do
begin
Write ('Masukan Nilai
: ');
inc(i);
Readln(Data);
Jumlah:=jumlah+data;
Write ('Apakah anda ingin menginputkan data lagi (Y/T)?: ');
Lagi:=upcase(readkey);
writeln;
end;
writeln;
rata_rata:=Jumlah/i;
writeln('Hasil
rata-rata : ',rata_rata:0:2);
end.
b. Repeat…until…
Selain While..do..,bahasa pascal mengenal pasangan
pernyataan Repeat…Until.. untuk proses pengulangan. Proses pengulangan terjadi
setelah pernyataan Repeat berakhir pada pernytaan Until. Bila kondisi pada
pernyataan Until masih terpenuhi, proses pengulangan akan dilakukan lagi.
Contoh program:
1.Program Repeat_Until_pertama;
uses wincrt;
var
i:integer;
begin
clrscr;
i:=1;
repeat
writeln(‘Bahasa Pemograman Pascal’);
i:=i+1;
until (i>5);
readln;
end.
2.Program repeat_until_kedua;
uses wincrt;
var
jumlah,I,data:integer;
lagi :char;
rata_rata : real;
Begin
repeat
Write ('Masukkan Nilai : ');
inc(i);
readln(data);
jumlah:=(jumlah
+data);
Write ('Apakah anda ingin menginputkan data lagi (Y/T) ?');
Lagi:=upcase (readkey);
writeln;
until lagi='T';
write;
rata_rata:=jumlah/i;
writeln('Hasil rata-rata :',rata_rata:0:2);
End.
c. For…to…do…
1.Program for_do_pertama;
uses wincrt;
var
x,y:integer;
begin
for y:= 10 downto 1 do
begin
for x:= 1 to y do
begin
write('*');
end;
writeln;
end;
end.
2.Program for_do_kedua;
uses wincrt;
var
x,a,c,y,i:integer;
begin
y:=1;
x:=10;
a:=10;
c:=28;
gotoxy(a,i);
for i:=1 to 18 do begin
write('*');
end;
for i:=1 to 10 do begin
gotoxy(a,i);write('*');
gotoxy(c,i);write('*');
writeln;
inc(a);
dec(c);
end;
end
d. If…then…
Salah satu dari tiga konstruksi fundamental adalah
percabangan/branching. Dalam pascal, percabagan menggunakan syntax if then else
dan case of.
IF kondisi THEN
BEGIN
…
END;
Dengan ELSE:
IF kondisi [and] kondisi [or] kondisi THEN
BEGIN
…
END {memang tanpa titik koma di sini; sebelum ELSE tidak
perlu titik koma!!!}
ELSE
BEGIN
…
END;
Apabila kondisi terpenuhi, maka program akan menjalankan
b\perintah yang ada setelah THEN. Tapi jika kondisi tidaki terpenuhi, maka
program akan menjalankan program setelah ELSE.
Contoh penggunaan:
1.Progaram if_then_pertama;
Var i: integer;
Begin
Write(’Masukkan bilangan antara 1-100: ‘); readln(i);
If i<=50 then
Write(’bilangan kecil’)
Else
Write(’bilangan besar’);
End.
2.program if_then_kedua;
uses wincrt;
var
nama:string;
nilai:integer;
begin
clrscr;
writeln(‘Nama dan Nilai Mahasiswa’);
writeln(‘————————-’);
write(‘Nama = ‘);
readln(nama);
write(‘Nilai = ‘);
readln(nilai);
if (nilai >=85) then begin
writeln(‘Nilai Huruf = A’);
end else if (nilai >=75) then begin
writeln(‘Nilai Huruf = B’);
end else if (nilai >=60) then begin
writeln(‘Nilai Huruf = C’);
end else if (nilai >=50) then begin
writeln(‘Nilai Huruf = D’);
end else if (nilai <50) then begin
writeln(‘Nilai Huruf = E’);
end;
readln;
end.
e. Case..of..
Penggunaan Case OF ini lkebih berguna jika kondisi yang
dibandingkan berupa range. Lihat contoh berikut:
CASE nilai OF
80..100 : grade:=’A';
70..79 : grade:=’B';
55..69 : grade:=’C';
45-54 : grade:=’D';
ELSE grade:=’E';
END;
1.Prorgram case_of_pertama;
uses wincrt;
var
Nilai : char;
begin
write ('Masukkan Grade Nilai = '); readln(Nilai);
Case Nilai of
'A' : writeln ('Nilai
= 90');
'B' : writeln ('Nilai
= 80');
'C' : writeln ('Nilai
= 60');
'D' : writeln ('Nilai
= 50');
'E' : writeln ('Nilai
= 30');
end;
Case Nilai of
'A','B','C' : writeln ('Keterangan = Lulus');
'D' : writeln
('Keterangan = Tidak Lulus');
else writeln ('Keterangan = TB')
end;
Case Nilai of
'A' : write ('Koment
= Sangat Memuaskan');
'B' : write ('Koment
= Memuaskan');
'C' : write ('Koment
= Cukup');
'D' : write ('Koment
= Tidak Cukup') ;
else write ('Koment = Sangat Kurang');
end;
end.
2.program Case_of_kedua;
uses wincrt;
var
nama:string;
nomor,jumlah,harga:integer;
diskon,pajak,total:real;
lagi:char;
begin
clrscr;
writeln(‘<<< program swalayan >>>’);
writeln(‘========================’);
lagi:=’Y';
while lagi=’Y’ do begin
write(‘masukan nomor program=’); readln(nomor);
case nomor of
1:begin
write(‘masukan nama barang=’); readln(nama);
write(‘masukan jumlah barang=’); readln(jumlah);
write(‘masukan harga satuan Rp=’); readln(harga);
total:=jumlah*harga;
writeln(‘total harga Rp=’,total:0:2)
end;
2:begin
write(‘masukan nama barang=’); readln(nama);
write(‘masukan harga barang Rp=’); readln(harga);
if harga >= 100000 then begin
diskon:=80/100*harga;
total:=harga-diskon;
writeln(‘harga barang setelah didiskon Rp=’,total:0:2);
end else if harga < 100000 then begin
diskon:=10/100*harga;
total:=harga-diskon;
end;
writeln(‘harga barang setelah didiskon Rp=’,total:0:2);
end;
3:begin
write(‘masukan nama barang=’); readln(nama);
write(‘masukan harga barang Rp=’); readln(harga);
pajak:=10/100*harga;
total:=harga-pajak;
writeln(‘harga barang setelah kena pajak Rp=’,total:0:2);
end;
4:writeln(‘>>>keluar dari program<<<’);
end;
write(‘untuk melanjutkan program tekan Y/N=’); readln(lagi);
end;
readln;
end.
5. Arrray
Suatu array yang terdiri atas banyak variable dengan tipe
data sama, dimana masing- masing elemen variable mempunyai nilai indeks. Setiap
elemen array mampu untuk menyimpan satu jenis data (yaitu variable). Suatu aray
dinyatakan denag type, sehingga variable yang bekerja dinyatakna denagn :
A = array [batas bawah..batas atas] of type data
Array dibedakan menjadi 3 macam, yaitu :
1. Array 1 dimensi
2.Array 2 dimensi
3. Array 3 dimensi
1. Array 1 Dimensi
Array 1 dimensi merupakan array yang mempunyai satu indeks.
Contoh :
1. program array_satu_dimensi;
Var tanda : Array [ 1…10] of integer
Contoh program pada praktek :
Uses wincrt;
Var lagi:char;
i,j:integer;
arraystr:
array[1..25] of string;
Begin
{inisialasi ARRAY}
lagi:='Y';
i:=1;
repeat
clrscr;
write('Masukan nama :
'); readln(arraystr[i]);
inc(i);
write('Apakah anda ingin memasukan data lagi (Y/T)?');
lagi:=upcase(readkey);
until
lagi<>'Y';
clrscr:
{cetak array}
for j:= 1 to i do begin
writeln(arraystr[j]);
end;
end.
2. program array_satu_dimensi;
Program Mencari_Bilangan_Prima_Dengan_Array;
Uses wincrt;
Var
Prima : Array[1..100] of Integer;
i,j : Integer;
bil : Integer;
Begin
ClrScr;
For i := 2 to 100 Do
Begin
Prima[i]:=i;
For j:= 2 to i-1 Do
Begin
bil := (i mod j); {* i dibagi j dicek apakah 0*}
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn
prima*}
End;
If Prima[i]<> 0 Then Write(Prima[i],’ ‘); {*cetak
array yg prima*}
End;
Readln;
End.
2. Array 2 Dimensi
Array 2 dimensi merupakan arra yang mempunyai 2 buah indeks.
Array 2 dimensi dipakai untuk memepermudah pengertian tentang posisi, ciri
khas, atau arti dari nama variable tersebut.
Contoh :
Var X: Array [1..2,1…3] of integer;
Pernyataan pada contoh diatas berarti bahwa variable X
mempunyai 6 suku yaitu :
X [1,1] X [2,1]
X [1,2] X [2,2]
X [1,3] X [2,3]
Untuk membaca atau member nilai pada array 2 dimensi
biasanya digunakan struktur control For..To…Do..
Contoh :
For I := 1 to 2 do
For J := 1
to 3 do
Readln (x[I,j]);
1. Program array_dua_dimensi;
contoh program pada praktek :
Program Array_2;
Uses wincrt;
Var lagi:char;
i,j:integer;
arraystr: array[1..5,1..3] of string;
label cetak;
Begin
{inisialasi ARRAY}
lagi:='Y';
repeat
inc(i);
clrscr;
gotoxy(20,2); write('Masukan nama : '); readln(arraystr[i,1]);
gotoxy(20,3); write('Masukan nim : '); readln(arraystr[i,2]);
gotoxy(20,4); write('Masukan nilai : ');
readln(arraystr[i,3]);
gotoxy(20,6); write('Apakah anda ingin memasukan data lagi
(Y/T)?'); lagi:=upcase(readkey);
until lagi<>'Y';
cetak:
clrscr;
{cetak array}
for J:= 1 to I do begin
writeln('___data ke-
',J);
writeln('Nama : ',arraystr[J,1]);
writeln('Nim : ',arraystr[J,2]);
writeln('Nilai :
',arraystr[J,3])
writeln
end;
end.
2.program array_dua_dimensi;
Program Deklarasi_Array_Dua_Dimensi;
Uses wincrt;
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.
3. Array 3 Dimensi
Array 3 dimensi merupakan array yang tersusun atas 3 buah
indeks.
Contoh :
Var x :Array [1..2, 1..2, 1..3] of integer
Pernyataan tersebut berarti bahwa variable x mempunyai suku
yaitu:
x[1,1,1]
x[1,2,1]
x[1,1,2] x[1,2,2]
x[1,1,3] x[1,2,3]
dan seterusnya.