Modul S Modul Struktur Program Pascal - Doctruktur Program Pascal
Modul S Modul Struktur Program Pascal - Doctruktur Program Pascal
program. Jika ditulis dapat digunakan untuk memberi nama program dan daftar dari
parameter tentang komunikasi program dengan lingkungannya yang sifatnya sebagai
dokumentasi saja. Judul program bila ditulis harus terletak pada awal dari program
dan diakhiri dengan titik koma.
Contoh :
const
potongan = 0.2;
gaji = 25000;
namaperusahaan = 'PT ABC';
begin
writeln ( 'Potongan =',potongan);
writeln ( 'Gaji
=',gaji);
writeln ( 'Nama
=',namaperusahaan);
end.
b. Deklarasi Variabel
Variabel adalah identifier yang berisi data yang dapat diubah-ubah nilainya
didalam program. Menggunakan kata cadangan Var sebagai judul didalam bagian
deklarasi variable dan diikuti oleh satu atau lebih identifier yang dipisahkan koma,
diikuti dengan titik dua dan tipe dari datanya diakhiri dengan titik koma.
Adapun type variable yang disediakan pada Bahasa Pascal yaitu:
1
- Integer
Type variable yang beguna untuk pengolahan data yang bulat, type ini masih
terbagi atas berberapa menurut jangkauan data dan ukurannya :
Type
Shortint
Integer
Longint
Byte
Word
Jangkauan
-128..127
-32768..32767
-2147483648..2147483647
0..255
0..65535
Ukuran
8 bit
16 bit
32 bit
8 bit
16 bit
- Char
Type variabel yang berguna untuk pengolahan character ASCII, type
character ini penulisannya ditandai dengan dua buah petik tunggal seperti :
'A', '3', '*'.
- String
Berbeda dengan tipe data char, tipe data string dapat menampung hingga 256
karakter. Untuk penulisan tipe data string digunakan dua buah petik tunggal,
seperti hello.
- Boolean
Type variabel yang berguna untuk pengolahan hal yang hanya mempunyai
dua ketentuan yaitu benar (TRUE) dan salah (FALSE) saja.
- Real
Type variable yang beguna untuk pengolahan data yang tidak bulat.
Contoh : Program contoh_variable;
var
alas,tinggi : integer;
luas : real;
begin
alas := 5;
tinggi :=10;
writeln('Luas Segitiga');
writeln('Alas : ',alas);
writeln('Tinggi : ', tinggi);
luas :=(alas*tinggi)/2;
writeln('Luas : ',luas);
readln;
- Deklarasi Tipe
Pascal menyediakan beberapa macam tipe data, yaitu :
- Deklarasi Label
Jika program menggunakan statement Goto untuk meloncat ke suatu statement
yang tertentu, maka dibutuhkan suatu label pada statement yang dituju dan label
tersebut harus di deklarasikan terlebih dahulu pada bagian deklarasi.
Menggunakan kata cadangan Label diikuti oleh kumpulan identifier label dengan
dipisahkan oleh koma dan diakhiri dengan titik koma.
3. Bagian Deskripsi. bagian ini digunakan untuk meletakkan seluruh instruksi program.
Instruksi-instruksi yang akan diberikan untuk dikerjakan ditulis di antara begin dan
end . Penulisan end diakhiri dengan tanda baca titik ( . ). Yang perlu
diperhatikan bahwa setiap instruksi diakhiri dengan tanda baca titik koma ( ; ).
(* JUDUL PROGRAM *)
program NAMA_PROGRAM;
{ Penjelasan mengenai program, yang berisi uraian singkat
mengenai apa yang dilakukan oleh program }
(* DEKLARASI *)
[const]
{ semua nama tetapan dan harga tetapannya didefinisikan di
sini }
[type]
{ semua nama tipe bentukan didefinisikan di sini }
[var]
{ semua nama variable global didefinisikan di sini }
{ deklarasi prosedur dan fungsi didefinisikan di sini }
(* DESKRIPSI *)
begin
{ semua instruksi program dituliskan di sini }
end.
Kelompok
1. Tipe Dasar
2. Operator
a. Aritmatika
b. Perbandingan
Notasi Pascal
Boolean
Byte
Shortint
Word
Integer
Longint
Real
Double
Extended
Char
String
String [N]
Record
field1 : type;
field2 : type;
fieldN : type;
end;
+
*
/
Div
Mod
<
<=
3. Komentar
4. Lain-lain
1 byte
1 byte
2 byte
2 byte
4 byte
Penjumlahan
Pengurangan
Perkalian
Pembagian
Hasil bagi
Sisa bagi
Lebih kecil dari
Lebih kecil atau sama
dengan
Lebih besar dari
Lebih besar atau sama
dengan
Sama dengan
Tidak sama dengan
>
>=
c. Logika
Ket.
=
<>
Not
And
Or
Xor
{ komentar }
(* komentar *)
Const
Type
True
False
II. Praktikum
Percobaan 1 :
Salinlah program berikut ini :
program percobaan1_1;
{ program untuk menampilkan data diri }
uses Crt;
var
nama, alamat,hobby : string;
{ program utama }
begin
Writeln(' Program Penampil Data Diri ');
Writeln(' ******************************** ' );
Write('Masukkan Nama : ');
Readln(nama);
Write('Masukkan Alamat : ');
Readln(alamat);
Write('Masukkan Hobby : ');
Readln(hobby);
Writeln;
Writeln('Hallo ',nama,' !!! kamu tinggal di ',
alamat, ' dan Hobbymu adalah ',hobby);
Readln;
end.
Kompilasi program tersebut dengan menekan Alt+F9 dan jalankan program tersebut dengan
menekan Ctrl+F9, kemudian amati hasilnya bila dimasukkan masukan tertentu.
Sekarang simpan program tersebut dengan memilih menu
Percobaan 2 :
Salinlah program berikut :
Program percobaan2_1;
{ program untuk Menampilkan Biodata Diri }
uses Crt;
type
str10 = string[10];
const
koma=',';
var
nama1,nama2 : str10;
alamat : string;
usia ,thn_lhr,thn_skr: Integer;
begin
Write('Masukkan Nama Depan : ');
Readln(nama1);
Write('Masukkan Nama Belakang : ');
Readln(nama2);
Write('Masukkan Alamat : ');
Readln(alamat);
Write('Masukkan Tahun Lahir : ');
Readln(thn_lhr);
Write('Masukkan Tahun Sekarang : ');
Readln(thn_skr);
usia := thn_skr - thn_lhr;
Writeln;
Writeln('=== BIODATA DIRI ===');
Writeln(nama2,koma,nama1);
Writeln(alamat);
Writeln(usia,' tahun');
Readln;
end.
Latihan !
1. Buatlah program untuk menghitung luas dan keliling lingkaran, gunakan tipe data
konstanta untuk menyimpan nilai Phi.
2. Buatlah program untuk menentukan hasil pengurangan atau penjumlahan dari 2 atau
lebih bilangan bulat.
3. Buatlah program untuk menentukan hasil dari pembagian bilangan bulat san sisa
pembagian bulat dari 2 bilangan bulat.
4. Buatlah program yang menampilkan data mahasiswa berupa NPM, Nama, Nilai
Tugas, Nilai UTS, Nilai UAS dan Total Nilai.
BAB II
PENYELEKSIAN KONDISI
I. Teori
A. Pernyataan if (if statement)
Pada umumnya satu permasalahan yang komplek memerlukan suatu penyelesaian
kondisi. Dengan menyeleksi suatu kondisi, maka selanjutnya dapat ditentukan tindakan apa
yang harus dilakukan, tergantung pada hasil kondisi penyeleksian. Jadi suatu aksi hanya
dikerjakan apabila persyaratan atau kondisi tertentu terpenuhi.
Pernyataan
apakah syarat tersebut benar atau salah, kemudian melakukan pekerjaan sesuai dengan nilai
pernyataan tersebut.
Berikut adalah bentuk-bentuk dari pernyataan if yang sering digunakan :
a. Penyeleksian Satu Kasus, dengan menggunakan struktur if-then
Pada penyeleksian satu kasus, kondisi akan diseleksi oleh statemen If. Bila
kondisi bernilai benar (true), maka aksi sesudah kata then (dapat berupa satu atau
lebih aksi) akan diproses. Bila kondisi bernilai salah (false), maka tidak ada aksi yang
akan dikerjakan. Statemen endif adalah untuk mempertegas bagian awal dan bagian
akhir struktur if - then.
If dengan satu pernyataan (statement)
If (kondisi) then
aksi ;
aksi 2
end;
yang akan
end;
else
begin
aksi1 ;
aksi2 ;
Contoh :
Percobaan 1
Program sederhana dengan pernyataan If
Berikut contoh program sederhana untuk menghitung luas segitiga dan lingkaran. Yang mana
perhitungan luas dua buah bangun tersebut digabung menjadi satu program, dan pemakai
dapat memilih masalah mana yang akan dipecahkan.
Sebagaimana diketahui untuk menghitung luas segitiga adalah
dengan :
L=1/2 . a . t
Dan luas lingkaran adalah dengan :
L = Phi. r. r
Untuk lebih jelasnya salin program berikut :
program percobaan1_2 ;
var
alas, tinggi, jejari, luas: Real;
pilih: Integer;
begin
Writeln ('1. Segitiga 2. Lingkaran');
Readln(pilih);
9
if pilih = 1 then
begin
Readln(alas, tinggi);
luas := 1 / 2 * alas * tinggi;
Writeln('Luas Segitiga : ', luas);
end ;
else
begin
Readln(jejari);
luas := pi * Sqr(jejari);
Writeln('Luas Segitiga : ', luas);
end;
Readln;
end.
Jalankan program tersebut. Pada program tersebut disajikan dua macam pilihan kepada
pemakai untuk menghitung luas segitiga atau luas lingkaran. Peubah pilih digunakan untuk
pemakai guna menentukan pilihannya.
B. Struktur case (case statement)
Struktur ini dapat digunakan untuk menganalisa penyeleksian dua kasus atau lebih dan
bentuknya adalah lebih sederhana daripada struktur IF-THEN-ELSE yang memiliki bentuk
bertingkat-tingkat.
case <peubah> of
tetapan1: pernyataan1;
tetapan2: begin
pernyataan1;
pernyataan2;
end;
tetapan3, tetapan4: pernyataan1;
tetapan5 .. tetapan8: pernyataan1;
else pernyataan1;
Contoh :
Buatlah program untuk menentukan nilai Luas Segitiga dan Luas Lingkaran dengan
menggunakan struktur case.
10
program percobaan2_2;
var
alas, tinggi, r, luas: Real;
pilih: Integer;
begin
Writeln('1. Segitiga 2. Lingkaran');
Readln(pilih);
case pilih of
1: begin
Readln(alas, tinggi);
luas := 1 / 2 * alas * tinggi;
Writeln('Luas Segitiga : ', luas);
End;
2: begin
Readln(r);
luas := pi * Sqr(r);
Writeln('Luas Segitiga : ', luas);
end;
end;
Readln;
end.
Dari bentuk-bentuk struktur kendali yang telah dijelaskan di atas dapat terjadi dimana
struktur kendali tertentu berada pada struktur kendali yang lain, yang dikenal dengan struktur
kendali bersarang. Misalnya didalam pernyataan if terdapat pernyataan if lagi atau dalam
pernyataan case terdapat pernyataan if dan seterusnya.
Untuk lebih jelasnya salin program berikut :
program percobaan3_2;
var
nama, alamat: string;
npm: string[8];
keterangan: string[2];
grade, pilih: Char;
11
nilai: Integer;
begin
Writeln('1. Memasukkan data mahasiswa 2. Keluar');
Write('Pilihan Anda : ');
Readln(pilih);
case pilih of
'1': begin
Write('Masukkan Nama Anda : ');
Readln(nama);
Write('Masukkan NPM Anda : ');
Readln(npm);
Write('Masukkan Alamat Anda : ');
Readln(alamat);
Write('Masukkan Nilai Anda : ');
Readln(nilai);
{menentukan program studi}
if (copy(npm, 3, 2)='11') then
keterangan := 'S1'
else
if (copy(npm, 3, 2)='31') then
keterangan := 'D3';
{menentukan grade}
if (nilai >= 80) then
grade := 'A'
else
if (nilai >= 70) then
grade := 'B'
else
if (nilai >= 60) then
grade := 'C'
else
grade := 'D';
Writeln('Data mahasiswa yang diinputkan');
Writeln('Nama : ',nama);
Writeln('NPM : ',npm);
12
14
BAB III
STRUKTUR PENGULANGAN
(LOOP STATEMENT)
I. Teori
Terdapat dua model struktur pengulangan, yaitu:
1. Struktur Pengulangan Tanpa Kondisi (unconditional looping). Di dalam struktur ini,
instruksi-instruksi di
dalam
badan pengulangan
diulangi
sejumlah
kali
yang
Menaik (ascending)
Pada struktur FOR menaik, nilai_awal harus lebih kecil atau sama dengan
nilai_akhir. Jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan
tidak dimasuki. Pada awalnya, pencacah diinisialisasikan dengan nilai_awal. Nilai
pencacah secara otomatis bertambah satu setiap kali aksi pengulangan dimasuki,
sampai akhirnya nilai pencacah sama dengan nilai_akhir. Jumlah pengulangan yang
15
Menurun (descending)
Pada struktur FOR menurun, nilai_akhir harus lebih besar atau sama dengan
nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan
tidak dimasuki. Pada awalnya, pencacah diinisialisasikan dengan nilai_akhir. Nilai
pencacah secara otomatis berkurang satu setiap kali aksi diulangi, sampai akhirnya
nilai pencacah sama dengan nilai_awal. Jumlah pengulangan yang terjadi =
nilai_akhir nilai_awal + 1. Struktur Bahasa Pascal untuk pengulangan FOR
menurun.
for pencacah := nilai_akhir downto nilai_awal do
aksi
b. Struktur WHILE
Pada struktur WHILE, aksi (atau runtunan aksi) akan dilaksanakan berulang kali
selama kondisi bernilai true. Jika kondisi bernilai false, badan pengulangan tidak akan
dilaksanakan, yang berarti pengulangan selesai. Yang harus diperhatikan adalah
pengulangan harus berhenti. Pengulangan yang tidak pernah berhenti menandakan bahwa
logika pemrograman tersebut salah. Pengulangan berhenti apabila kondisi bernilai false.
Agar kondisi suatu saat bernilai false, maka di dalam badan pengulangan harus ada
instruksi yang mengubah nilai variabel kondisi.
While kondisi do
aksi
c. Struktur REPEAT
Struktur ini mendasarkan pengulangan pada kondisi
boolean.
Aksi
di dalam badan
pengulangan diulang sampai kondisi boolean bernilai true. Dengan kata lain, jika kondisi
boolean masih false, pengulangan masih terus dilakukan. Karena proses pengulangan suatu
saat harus berhenti, maka di dalam badan pengulangan harus ada aksi yang mengubah nilai
variabel kondisi. Struktur REPEAT mempunyai makna yang sama dengan WHILE, dan
dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain.
Repeat aksi
Until kondisi
16
Contoh :
1. Balik Kalimat
program Percobaan1_3;
var
I, Panjang: Integer;
Kata, Balik: string;
begin
Writeln('Balik Kalimat');
Writeln('=============');
Write('Masukkan kalimat : ');
Readln(Kata);
Panjang := Length(Kata);
Balik := '';
for I := Panjang downto 1 do
Balik := Balik + Kata[I];
Writeln('Hasil pembalikannya : ', Balik);
Readln;
end.
2. Berikut contoh program untuk menampilkan bilangan genap dari 2 sampai dengan 100.
program percobaan2_3;
var
i: Integer;
begin
Writeln('Bilangan genap');
i := 1;
repeat
Inc(i);
if i mod 2 = 0 then Write(i:4);
until (i=100);
Readln;
end.
17
3. Sama halnya dengan struktur kendali yang telah dibahas sebelumnya, pada struktur
perulangan dapat terjadi kasus dimana di dalam struktur perulangan tertentu terdapat
struktur perulangan yang lain dan seterusnya. Program berikut akan menerapkan struktur
perulangan dengan menggunakan while.
program percobaan3_3;
var
i, j: Integer;
M: Char;
begin
Write('Masukkan sembarang karakter : ');
Readln(M);
i := 1;
while i <= 10 do
begin
j := 1;
while j <= i do
begin
Write(M);
Inc(j);
end;
Writeln;
Inc(i);
end;
Readln;
end.
4. Faktorial dan pemangakatan
program percobaan4_3;
uses Crt;
var
Hasil: Real;
I, pilih, A, X, N: Integer;
Status: Boolean;
18
begin
Repeat
Clrscr;
Writeln('1. Pemangkatan 2. Faktorial 3. Keluar');
Write('Masukkan Pilihan Anda : ');
Readln(pilih);
case pilih of
1 : begin
Write('Masukkan Sembarang angka : ');
Readln(X);
Write('Akan dipangkatkan berapa : ');
Readln(A);
Hasil := 1;
for I := 1 to A do Hasil := X * Hasil;
Writeln('Jadi ', X,' dipangkatkan ', A,' : ',
Hasil:5);
Status := False;
end;
2 : begin
Write('Masukkan Sembarang angka : ');
Readln(N);
if N <= 1 then Hasil := 1
else
begin
Hasil := 1;
for I := 2 to N do Hasil := Hasil * I;
end;
Writeln('Jadi factorial ', N,' (', N,'!) : ',
Hasil:5);
Status := False;
end;
3 : Status := True;
else
begin
Writeln('Pilihan Anda salah !');
19
Status := True;
end;
end;
Readln;
until Status;
end.
II. Praktikum
Latihan.
1. Buatlah program untuk menampilkan deret bilangan ganjil antara 0 s/d 100 !
2. Buatlah program untuk menampilkan deret bilangan 1, 5, 9, 13, ... (berhenti jika melebihi
300)!
3. Buatlah algoritma untuk menampilkan deret bilangan 1, 1, 2, 1, 2, 3, ... (berhenti jika sama
dengan batas nilai tertentu yang dimasukkan melalui piranti masukan)!
Contoh keluaran:
Masukan batas nilai: 4
Deret Keluaran: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4
4. Buat program untuk menampilkan angka sebagai berikut :
1
22
333
4444
55555
5. Buat program untuk menghitung gaji pegawai dengan ketentuan sebagai berikut :
Terdapat dua buah golongan yaitu : A dengan gaji pokok 500000 dan B dengan gaji
pokok 1000000
Pegawai akan mendapatkan tunjangan jika sudah menikah sebesar 10% dari gaji
pokok. Untuk status tidak menikah, janda, dan duda tunjangan = 0.
Jika pemakai memasukkan inputan baik itu untuk status dan golongan tidak sesuai
dengan yang diminta maka ulang terus sampai yang diinputkan benar.
20