Pemrograman Pascal
Menghitung Luas & Keliling Persegi Panjang
program persegipanjang;
uses crt;
var
P,L,Luas,Keliling : integer;
begin
clrscr;
writeln ('HITUNG KELILING & LUAS Persegi Panjang');
write('Masukkan Panjang = ');
readln(P);
write ('Masukkan Lebar = ');
readln(L);
Luas := P * L;
writeln('Luas Persegi Panjang = ', Luas);
Keliling := 2 *(P + L);
writeln('Keliling Persegi Panjang = ', Keliling);
readln;
end.
IF STATEMENT (Pernyataan Kondisi IF)
IF then else
If Then Else adalah suatu pernyataan kondisi yang akan dijalankan jika kondisi itu benar, dan jika kondisi itu salah maka akan menjalankan atau mengeksekusi pernyataan yang salah.

Contoh Deklarasi If Then Else Menampilkan Bilangan Ganjil Genap :
program GanjilGenap;
uses crt;
var angka : Integer;
begin
clrscr;
writeln('Menentukan Bilangan');
write('Masukkan Angka '); readln(angka);
if angka mod 2 = 0 then
begin
write('Bilangan Genap');
end
else
begin
write('Bilangan Ganjil');
end;
readln;
end.
Nested If Statement (IF Bersarang)
Contoh If Bersarang Menentukan Bilangan Ganjil Genap :
program if_bersarang;
uses crt;
var angka:integer;
begin
clrscr;
write('Masukkan sebuah angka: ');readln(angka);
if (angka mod 2 = 0) then
begin
write('Angka yang anda masukkan merupakan bilangan genap ');
if (angka >= 10) then
begin
writeln('dan besar dari 10');
end
else
begin
writeln('dan kecil dari 10');
end;
end
else
begin
write('Angka yang anda masukkan merupakan bilangan ganjil ');
if (angka > 10) then
begin
writeln('dan besar dari 10');
end
else
begin
writeln('dan kecil dari 10');
end;
end;
readln;
end.
Contoh Hitung Nilai Rata-rata
Program hitungnilai;
var
nama:string;
npm,absensi,tugas,uts,uas,nilai: integer;
grade: char;
rata_rata: double;
begin
writeln('Data Nilai Mahasiswa');
writeln('====================');
writeln('');
write('NPM :');readln(npm);
write('Nama :');readln(nama);
write('Absensi :');readln(absensi);
write('Tugas :');readln(tugas);
write('UTS :');readln(uts);
write('UAS :');readln(uas);
rata_rata := ((absensi*10)/100) +((tugas*20)/100)+((uts*30)/100)+((uas*40)/100);
If rata_rata >= 79.5 Then
begin
grade := 'A';
end
else if rata_rata >= 69.5 Then
begin
grade := 'B';
end
else if rata_rata >= 59.5 Then
begin
grade := 'C';
end
else if rata_rata >= 49.5 Then
begin
grade := 'D';
end
else
begin
grade := 'E';
end;
writeln('Hasil :', rata_rata:0:0);
writeln('Grade :', grade);
readln;
end.
Case Of
Pada materi sebelumnya, Anda telah mengamati bahwa pernyataan if-then-else memungkinkan untuk menerapkan beberapa keputusan dalam suatu program. Ini juga dapat dicapai menggunakan pernyataan kasus dengan cara yang lebih sederhana. Di mana, L1 , L2 ... adalah label huruf atau nilai input, yang bisa berupa bilangan bulat, karakter, boolean atau data yang disebutkan. S1 , S2 , ... adalah pernyataan Pascal, masing-masing pernyataan ini mungkin memiliki satu atau lebih dari satu label kasus yang terkait dengannya. Ekspresi ini disebut pemilih kasus atau indeks kasus . Indeks kasus dapat mengasumsikan nilai yang sesuai dengan label kasus.
Pernyataan kasus harus selalu memiliki pernyataan akhir yang terkait dengannya. Aturan berikut berlaku untuk pernyataan kasus
Ekspresi yang digunakan dalam pernyataan kasus harus memiliki tipe integral atau enumerasi atau menjadi tipe kelas di mana kelas memiliki fungsi konversi tunggal ke tipe integral atau enumerated.
Anda dapat memiliki sejumlah pernyataan kasus dalam sebuah kasus. Setiap kasus diikuti oleh nilai yang akan dibandingkan dan titik dua.
Label kasus untuk suatu kasus harus merupakan tipe data yang sama dengan ekspresi dalam pernyataan kasus, dan harus berupa konstanta atau literal.
Compiler akan mengevaluasi ekspresi huruf. Jika salah satu nilai label kasus cocok dengan nilai ekspresi, pernyataan yang mengikuti label ini dieksekusi. Setelah itu, program berlanjut setelah akhir.
Jika tidak ada label case yang cocok dengan nilai ekspresi, daftar pernyataan setelah yang lain atau kata kunci lainnya dieksekusi. Ini bisa menjadi daftar pernyataan kosong. Jika tidak ada bagian lain yang hadir dan tidak ada kasus konstan yang cocok dengan nilai ekspresi, aliran program berlanjut setelah akhir akhir.
Pernyataan kasus dapat berupa pernyataan gabungan (yaitu, blok Begin ... End).
Contoh Diagram Alir CASE OF

Berikut Contoh dengan Konsep Case Of
program contoh_case_of;
uses crt;
var
grade: char;
begin clrscr;
write ('Pilih Grade = ');readln(grade);
case (grade) of
'A' : writeln('Sangat Bagus!' );
'B' : writeln('Bagus!' );
'C' : writeln('Cukup' );
'D' : writeln('Buruk' );
'F' : writeln('Sangat Buruk' );
end;
writeln('Grade Nilai Anda adalah = ', grade);
end.
Looping (Perulangan)
For Loop
Pada Struktur ini anda akan menjalankan blok program beberapa kali, dimana pernyataan yang dieksekusi secara berurutan. Pernyataan pertama dalam fungsi dijalankan pertama, diikuti oleh yang kedua, dan seterusnya.
Bahasa pemrograman menyediakan berbagai struktur kontrol yang memungkinkan jalur eksekusi lebih rumit.
Pernyataan loop memungkinkan kita untuk mengeksekusi pernyataan atau kelompok pernyataan beberapa kali dan mengikuti adalah bentuk umum dari pernyataan loop di sebagian besar bahasa pemrograman
Contoh Diagram Alir FOR

Contoh Deklarasi Perulangan FOR secara Naik atau ASCENDING
program contoh_for;
var a,b,c:Integer;
begin
for a := 1 to 10 do
begin
writeln('Nilai Ke => ', a);
end;
writeln('########################');
for b := 0 to 8 do
begin
writeln('Nilai Ke => ', b);
end;
end.
Jika Anda Runnig maka angka akan tampil dari kecil ke besar, seperti berikut:

Contoh Deklarasi Perulangan FOR Downto secara turun atau DESCENDING
program forPas;
var a,b,c:Integer;
begin
for a := 10 downto 1 do
begin
writeln('Nilai Ke => ', a);
end;
writeln('########################');
for b := 8 downto 0 do
begin
writeln('Nilai Ke => ', b);
end;
end.
Jika Anda Runnig maka angka akan tampil dari besar ke kecil, seperti berikut:

Nested For Loops
program NestedFor;
uses crt;
var i,j,n : Integer;
begin clrscr;
write('Masukkan Jumlah Baris '); readln(n);
for i := 1 to n do
begin
for j := 1 to i do
write('*');
writeln;
end;
readln;
end.
Dari kondisi diatas merupakan Penggunaan FOR Bersarang, dimana proses eksekusi berdasarkan variable n yang diinput lihat pada baris 6 (enam). Dan kondisi berikutnya menampilkan perulangan pada variable j untuk menampilkan simbol (*).
Dalam matematika, bilangan prima adalah bilangan asli yang lebih besar dari angka 1, yang faktor pembaginya adalah 1 dan bilangan itu sendiri. 2 dan 3 adalah bilangan prima. 4 bukan bilangan prima karena 4 bisa dibagi 2.
Jika suatu bilangan yang lebih besar dari satu bukan bilangan prima, maka bilangan itu disebut bilangan komposit. Cara paling sederhana untuk menentukan bilangan prima yang lebih kecil dari bilangan tertentu adalah dengan menggunakan saringan Eratosthenes.
Berikut adalah 168 bilangan prima pertama (semua bilangan prima kurang dari 1000): (Sumber : Wikipedia)
FOR & IF Mencari Bilangan Prima
program bilanganPrima;
var
i, j:integer;
begin
for i := 2 to 50 do
begin
for j := 2 to i do
if (i mod j)=0 then
break;
if(j = i) then
writeln(i , ' Adalah Bilangan prima' );
end;
end.
While Do
Sebuah pernyataan while do dalam Pascal memungkinkan perhitungan berulang sampai beberapa kondisi pengujian terpenuhi. Dengan kata lain, itu berulang kali mengeksekusi pernyataan target asalkan kondisi yang diberikan benar.
Contoh Diagram alir While:

Berikut Contoh Deklarasi While dengan Program Pascal:
while ekspresi kondisi do
begin
Pernyataan Benar atau Salah
end;
program contoh_while;
uses crt;
var a, b:Integer;
begin clrscr;
a:=1;
while a <= 5 do
begin
writeln('Hitung Naik ',a);
a:= a + 1;
end;
writeln('#############################');
b:=5;
while b >= 0 do
begin
writeln('Hitung Turun: ',b);
b:= b - 1;
end;
readln;
end.
Contoh While untuk menentukan Deret Angka Kelipatan 2 Dan Deret Angka Kelipatan 3 :
program while_do;
uses crt;
var
i: integer;
begin
clrscr;
i:= 2;
writeln('Deret Angka kelipatan 2: ');
while i <= 10 do
begin
write(i,' ');
i:= i + 2;
end;
writeln();
writeln('####################################');
i:= 3;
writeln('Deret Angka kelipatan 3: ');
while i <= 10 do
begin
write(i,' ');
i:= i + 3;
end;
readln;
end.
Menampilkan Nested dengan WHILE
program ProgramName;
var
x,y, angka: Integer;
begin
write('Masukkan Angka '); read(angka);
x := 1;
while x <= angka do
begin
y := 1;
while y <= x do
begin
write('*');
y := y + 1;
end;
writeln;
x := x + 1;
end;
end.
Repeat Until
Perulangan dengan menggunakan Repeat Until, tidak sama seperti perulangan dengan FOR dan WHILE. Perbedaananya adalah Repeat Until membatasi perulangan yang dieksekusi paling bawah.
Diagram Alir Repeat Until

Penulisan Kondisi Repeat Until:
repeat
S1;
S2;
...
...
Sn;
until condition;
program repeat_unti;
uses crt;
var
i: integer;
begin clrscr;
i:= 0;
repeat
begin
writeln('Repeat Ke = ', i);
i:= i + 1;
end;
until i = 10;
writeln();
writeln('#################################');
i:= 10;
writeln('Berikut deret untuk kelipatan 10: ');
repeat
begin
write(i,' ');
i:= i + 10;
end;
until i > 100;
readln;
end.
Array
Array adalah konsep struktur untuk tipe data. Ini mengelompokkan unsur-unsur dari jenis yang sama. Array menyediakan akses acak ke setiap elemennya, juga dikenal sebagai komponen, dengan indeks linear.
Bahasa pemrograman pascal menyediakan struktur data yang disebut array, yang dapat menyimpan kumpulan sekuensial tetap dari elemen-elemen tipe yang sama. Array digunakan untuk menyimpan kumpulan data, tetapi seringkali lebih berguna untuk memikirkan sebuah array sebagai kumpulan variabel dari jenis yang sama.
Mendeklarasikan variabel individual, seperti angka1, angka2, ..., dan angka100, Anda menyatakan satu variabel array seperti angka dan menggunakan angka [1], angka [2], dan ..., angka [100] untuk mewakili variabel individu. Elemen tertentu dalam larik diakses oleh indeks.
Semua array terdiri dari lokasi memori yang berdekatan. Alamat terendah sesuai dengan elemen pertama dan alamat tertinggi ke elemen terakhir.

Deklarasi Array
Deklarasi array adalah seperti berikut N: array[0..10] of integer; Dimana N adalah variabel array[0..10] adalah Panjang Array dan Of Integer adalah Tipe Data.
Semisal anda ingin mengawali indeks array dari 1 hingga 5 maka, anda deklarasikan seperti ini nama_array : array[1..5] of tipe data.
Contoh Kode Program Pascal Array
program contoh_array;
uses crt;
var
N: array[0..10] of integer;
nama_buah : array[0..5] of String;
begin
clrscr;
N[0]:= 10;
N[1]:= 20;
N[2]:= 30;
N[3]:= 40;
writeln('INDEKS N Ke 0 : ', N[0]);
writeln('INDEKS N Ke 1 : ', N[1]);
writeln('INDEKS N Ke 2 : ', N[2]);
writeln('INDEKS N Ke 3 : ', N[3]);
writeln('##########################');
nama_buah[0]:='Apel';
nama_buah[1]:='Melon';
nama_buah[2]:='Pear';
nama_buah[3]:='Mangga';
writeln(nama_buah[0]);
writeln(nama_buah[1]);
writeln(nama_buah[2]);
writeln(nama_buah[3]);
readln;
end.
Deklarasikan ARRAY dengan FOR
program array_for;
uses crt;
var
nama_buah : array[1..5] of String;
j : Integer;
begin
clrscr;
nama_buah[1]:='Apel';
nama_buah[2]:='Melon';
nama_buah[3]:='Pear';
nama_buah[4]:='Mangga';
nama_buah[5]:='Jambu';
for j:= 1 to 5 do
begin
writeln('Ini Elemen Array [', j, '] = ', nama_buah[j] );
end;
end.
Perhatikan deklarasi variable baris 4 array[1..5] berarti Indeks array dimulai dari 1 hingga 5, dan jika contoh berikut nya dengan while perhatikan baris 4 array[0..10] yang diasusmsikan indeks array dimulai dari 0 hingga ke 10
program array_while;
uses crt;
var
angka: array[0..10] of integer;
i : integer;
begin clrscr;
angka[0]:= 10;
angka[1]:= 20;
angka[2]:= 30;
angka[3]:= 40;
angka[4]:= 50;
angka[5]:= 60;
angka[6]:= 70;
angka[7]:= 80;
angka[8]:= 90;
angka[9]:= 100;
i:=0;
while i < 10 do
begin
writeln('INDEKS KE = [', i ,'] VALUE ARRAY = ' , angka[i]);
i:= i + 1;
end;
readln;
end.
Mengurutkan Nilai Array tanpa mendefinisikan Nilainya:
program ArrayDeret;
uses crt;
var
angka: array [1..100] of integer;
i, j: integer;
begin clrscr;
for i := 1 to 100 do
angka[i] := i;
for j:= 1 to i do
writeln('Indeks Array [', j, '] Value Array = ', angka[j] );
end.
program ArrayDeretx;
uses crt;
var
angka: array [1..100] of integer;
i, j: integer;
begin clrscr;
for i := 100 downto 1 do
angka[i] := i;
for j:= 100 downto 1 do
writeln('Indeks Array [', j, '] Value Array = ', angka[j] );
end.
Contoh Program Biodata Mahasiswa dengan Array:
program biodata_mahasiswa;
Type
AngkaHuruf = String[25];
MhsRecord =
Record
NPM, Nama : AngkaHuruf;
Usia : Integer;
End;
Procedure Biodata(var newData : MhsRecord);
Begin
writeln('############# Isi Biodata #############');
write('NPM: ');readln(newData.NPM);
write('Nama: ');readln(newData.Nama);
write('Usia: ');readln(newData.Usia);
end;
Var
DataMahasiswa : Array[1..5] of MhsRecord;
i : 1..5;
Begin
for i := 1 to 5 do
Biodata(DataMahasiswa[i]);
writeln('###################################################');
write('Isikan 1 - 5 untuk Tampilkan Dari 5 array tersebut : ');readln(i);
writeln('Hasil Record #',i,':');
writeln;
writeln('NPM: ', DataMahasiswa[i].NPM);
writeln('Nama: ', DataMahasiswa[i].Nama);
writeln('Usia: ', DataMahasiswa[i].Usia);
readln;
end.
Last updated
Was this helpful?