SlideShare a Scribd company logo
Materi Pascal
PERULANGAN ( LOOPING )
Di dalam bahasa Pascal, dikenal tiga macam
perulangan, yaitu dengan menggunakan
pernyataan For, While-Do, dan Repeat…Until.
1. Struktur Perulangan For
Perulangan dengan pernyataan For digunakan
untuk mengulang pernyataan atau satu blok
pernyataan berulang kali sejumlah yang
ditentukan. Perulangan dengan pernyataan For
dapat berbentuk perulangan positif, perulangan
negatif dan perulangan tersarang.
LOOPING ( FOR )
• Perulangan positif.
For variabel-kontrol:=nilai awal To nilai akhir Do pernyataan
Contoh
Var
I:Integer;
Begin
For I:= 1 to 5 Do Writeln(‘Pascal’);
End.
LOOPING ( FOR )
• Perulangan negatif
For variabel-kontrol:=nilai awal DownTo nilai akhir Do penyataan
Contoh
Var
I:integer;
Begin
For I:=5 downto 1 do
Begin
Writeln(I);
End;
End.
LOOPING ( FOR )
• Perulangan tersarang
Perulangan tersarang adalah perulangan yang
berbeda di dalam perulangan yang lainnya.
Perulangan yang lebih dalam akan diproses
terlebih dahulu sampai habis, kemudian
perulangan yang lebih luar baru akan akan
bertambah, mengerjakan perulangan yang lebh
dalam lagi mulai dari nilai awalnya dan
seterusnya.
Contoh
Var
I,J:Integer;
Begin
For I:=1 to 5 Do
Begin
For j:=1 to 3 Do
Begin
Write(I:8,J:3);
End;
Writeln;
End;
• End.
Bila program dijakankan
akan menghasilkan:
• 1 1 1 2 1 3
• 2 1 2 2 2 3
• 3 1 3 2 3 3
• 4 1 4 2 4 3
• 5 1 5 2 5 3
LOOPING ( While ... Do )
• Struktur Perulangan While-Do
Perulangan ini menggunakan pernyataan
While—Do. Pernyataan While—Do digunakan
untuk melakukan proses perulangan suatu
pernyataan atau blok pernyataan terus-
menerus selama kondisi ungkapan logika pada
While masih bernilai logika benar.
BU : While kondisi ungkapan Do Pernyataan
Contoh
Var
I:Integer;
Begin
I:=0;
While I<5 Do
Begin
Writeln(I);
I:=I+1;
End;
End.
Bila program dijalankan
akan menghasilkan:
0
1
2
3
4
LOOPING ( Repeat ... Until )
• Struktur Repeat...Until
Struktur Repeat…Until digunakan untuk
mengulang pernyataan-pernyataan atau blok
pernyataan sampai kondisi yang diseleksi di
Until terpenuhi.
Bentuk mumnya adalah:
Repeat pernyataan Until
Contoh
Var
I:Integer
Begin
I:=0;
Repeat
I:=I+1;
Writeln(I);
Until I=5;
End.
Bila program dijalankan
akan menghasilkan:
1
2
3
4
5
Penyeleksian Kondisi
• Dengan menyeleksi suatu kondisi, program
dapat menentukan tindakan apa yang harus
dikerjakan, bergantung dari hasil kondisi yang
diseleksi tersebut. Untuk menyeleksi suatu
kondisi, di dalam bahasa Pascal dapat
dipergunakan pernyataan IF dan CASE.
Penyeleksian Kondisi ( IF )
• Pernyataan IF
Struktur pernyataan IF dapat berupa If—Then
atau If—Then—Else dengan bentuk umum:
If ungkapan Then pernyataan
• Ungkapan adalah kondisi yang akan diseleksi
oleh pernyataan If. Bila kondisi yang diseleksi
terpernuhi, maka pernyataan yang mengikuti
Then akan diproses. Sebaliknya, bila kondisi
tidak terpenuhi, maka yang akan diproses
adalah pernyataan berikutnya
Contoh
Var
Nilai:ral;
Ket : string[11];
Begin
Ket:’Tidak Lulus’;
Write(‘Nilai Ujian = ‘);
Readln(Nilai);
{Penyeleksian kondisi}
If Nilai>60 Then
Ket:=’Lulus’;
Writeln(Ket);
End.
Penyeleksian Kondisi ( IF )
If kondisi Then pernyataan1;
Else pernyataan2;
• Pernyataan1 akan diproses apabila kondisi
benarn(terpenuhi) sedang pernyataan2 akan
diproses apabila kondisi tidak terpenuhi.
Contoh
Var
Nilai:Real;
Begin
Writeln(‘Nilai Ujian = ‘);
Readln(Nilai);
If Nilai>60 Then Writeln(‘Lulus’);
Else Writeln(‘Tidak Lulus’);
End.
Penyeleksian Kondisi ( Case )
• Pernyataan Case
Pernyataan Case dapat berbentuk struktur Case—Of
atau Case—Of…. Else.
Struktur Case—Of mempunyai suatu ungkapan logika
yang disebut dengan selector dan sejumlah
pernyataan yang diawali dengan suatu label
permasalahan yang mempunyai tipe sama dengan
selector. Pernyataan yang mempunyai label
permasalahan yang bernilai sama dengan nilai
selector akan diproses sedang pernyataan yang
lainnya tidak.
Penyeleksian Kondisi ( Case )
• Bentuk dari struktor Case—Of adalah:
Case ungkapan Of
daftar case-label1:pernyataan1;
daftar case-label2:pernyataan2;
daftar case-label3:pernyataan3;
.
daftar case-labeln:pernyataann;
End;
• Daftar case label (label permasalahan) dapat berupa
konstanta, atau range (himpunan) dari konstanta
yang bukan bertipe real.
Contoh
Var
Nilai:Char;
Begin
Writeln(‘Nilai huruf yang didapat = ‘);Readln(Nilai);
Case Nilai of
‘A’:Writeln(‘Sangat Baik’);
‘B’:writeln(‘Baik’);
‘C’:Writeln(‘Cukup’);
‘D’:Writeln(‘Kurang’);
‘E’:Writeln(‘Gagal’);
End; End.
Penyeleksian Kondisi ( Case )
• Struktur Case—Of…Else merupakan pengembangan
dari struktur Case—Of dan juga merupakan
pengembangan dari standar Pascal. Pada struktur
Case—Of bila tidak ada kondisi yang terpenuhi
berarti tidak ada pernyataan di lingkungan Case—Of
yang diproses. Dengan struktur Case—Of…Else, bila
Tidak ada kondisi yang terpenuhi, maka pernyataan
yang akan diproses di dalam lingkungan Case—Of
adalah pernyataan yang ada di Else.
Contoh
Var
Bersih,Beli,potong:Integer;
Begin
Writeln(‘Total Pembelian = ‘); Readln(beli);
Case Beli of
0..1000:potong:=100;
1001..5000:potong:=200;
Else potong:=500;
End;
Bersih:=beli-ptong;
Writeln(‘Potongan = ‘, potongan);
Writeln(‘Jumlah Bersih = ‘, Bersih);
End.
Procedure
• Prosecure adalah suatu program terpisah
dalam blok sendiri yang berfungsi sebagai
subprogram (program bagian). Prosedur
diawali dengan kata cadangan Procedure di
dalam bagian deklarasi prosedur. Prosedur
dipanggil dan digunakan di dalam blok
program yang lainnya dengan menyebutkan
judul prosedurnya.
Procedure
• Prosedur banyak digunakan pada program yang
terstruktur, karena:
1. Merupakan penerapan konsep program modular,
yaitu memecah-mecah program yang rumit menjadi
program-program bagian yang lebih sederhana
dalam bentuk prosedur-prosedur.
2. Untuk hal-hal yang sering dilakukan berulang-ulang,
cukup dituliskan sekali saja dalam prosedur dan
dapat dipanggil atau dipergunakan sewaktu-waltu
bila diperlukan.
Contoh prosedur tanpa acuan
Procedure Hitung;
Var
x,y:real;
Begin
Writeln(‘Nilai x: ‘);
Readln(x);
Y:=x*x;
Writeln(‘Nilai Y= ‘, y:6;2);
End;
Begin
Hitung;
End.
Contoh prosedur secara acuan
Procedure Hitung(var
a,b,c);
Begin
C:=a+b;
Writeln(c);
End;
Var
X,y,z:integer;
Begin
X:=2;Y;=3;
Hitung(x,y,z);
End.
Function
• Fungsi hampir sama dengan prosedur, hanya
fungsi harus dideklarasikan dengan tipenya.
Tipe deklarasi ini menunjukkan tipe hasil dari
fungsi. Tipe tersebut ditulis pada akhir
deklarasi fungsi yang didahului dengn titik
koma, sebagai berikut.
Function namafungsi(daftar_parameter):type;
Contoh
Function Hitung(Var A,B :
integer): integer;
Begin
Hitung := A + B;
End;
Var X,Y : integer;
Begin
Write(‘Nilai X ? ‘);
Readln(X);
Write(‘Nilai Y ? ‘);
Readln(Y);
Writeln;
Writeln(X,’ + ‘,Y,’
=‘,Hitung(X,Y));
End.
Perbedaan fungsi dengan prosedur
1. Pada fungsi, nilai yang dikirimkan balik
terdapat pada nama fungsinya (kalau pada
prosedur pada parameter yang dikirimkan
secara acuan).
2. Karena nilai balik berada di nama fungsi
tersebut, maka fungsi tersebut dapat langsung
digunakan untuk dicetak hasilnya Atau nilai
fungsi tersebut dapat juga langsung
dipindahkan ke pengenal variabel yang lainnya
Rekursif
• Suatu fungsi atau prosedur dalam bahasa
Pascal dapat bersifat rekursif. Artinya, fungsi
atau prosedur tersebut dapat memanggil
dirinya sendiri.
• Berikut ini sebuah contoh fungsi dan prosedur
yang rekursif.
function faktorial (nilai : integer) : integer; begin
if nilai <= 0 then faktorial := 1;
else faktorial := nilai * faktorial (nilai-1)
end;
Var
N : integer;
Begin
Write(‘Berapa faktorial ? ‘);
Readln(N);
Writeln(N,’ faktorial = ‘,faktorial(N):9:0);
End.
Function fibonacci ( n : integer ) : integer;
Begin
If n = 0 then fibonacci := 0
Else
If n := 1 then fibonacci := 1
Else fibonacci := fibonacci (n-1) + fibonacci (n-2);
End;
Var
N : integer;
Begin
Write(‘Berapa banyak ? ‘); Readln(N); fibonacci(n);
End.
Procedure reverse ( num : integer ); Begin
If num < 10 then write(num)
Else begin
Write(num mod 10);
Reverse(num div 10);
End; End;
Var
N : integer;
Begin
Write(‘Berapa nilai ? ‘); Readln(N); reverse(n);
End.
Array ( Larik )
Array ( Larik )
Array Satu Dimensi
Array Dua Dimensi
Array Satu Dimensi
Array Satu Dimensi
Array adalah sekumpulan data yang bertipe sama, yang
anggota-anggotanya dapat diakses berdasarkan nomor
indeks.
Misalnya ada 26 huruf, kita sebut saja array Abjad,
adalah sekumpulan 26 buah karakter yang berisi nama-
nama abjad latin. Anggota pertama adalah ‘A’, anggota
kedua adalah ‘B’ dan seterusnya hingga anggota ke 26
adalah ‘Z’.
• Dalam notasi algoritma kita tuliskan :
Abjad : array [1..26] of character
Pemberian nilainya bisa dilakukan dengan cara,
pertama pengisian satu-satu berdasarkan nomor
indeks :
Abjad [1]  ‘A’
Abjad [2]  ‘B’ dst sampai Abjad [26]  ‘Z’
• Dalam notasi algoritma , indeks array dimulai dari 1,
artinya jika kita punya array dengan 26 anggota,
indeksnya mulai dari 1,2,3…sampai 26.
• Berikut penulisan array dengan menggunakan turbo
Pascal:
Abjad : array [1..26] of char;
Contoh pemberian nilai untuk array diatas dengan
menggunakan bahasa Pascal adalah :
Abjad [1] := ‘A’;
Abjad [2] := ‘B’ dst sampai Abjad [26] := ‘Z’
Program Nama_array;
Uses winrt;
Type
nameType = String[50];
ageType = 0..150; { age range: from 0 to 150 }
Var
name : nameType;
age : ageType;
Begin
Write('Enter your name: ');
Readln(name);
Write('Enter your age: ');
Readln(age);
Writeln;
Writeln('Your name:', name);
Writeln('Your age :', age);
Readln;
End.
Contoh 1.1
Program P002;
uses wincrt;
var abjad : array [1..50] of char;
i,maks : integer;
begin
clrscr;
write ('Masukan jumlah data karakter : ');
readln(maks);
for i:=1 to maks do
begin
write ('Masukan karakter ke ',i,' : ');
readln(abjad[i]);
end;
write ('Karakter yang dinput : ');
for i:=1 to maks do
begin
write (abjad[i],’ ‘);
end;
readln;
end.
Contoh 1.2
Program P003;
uses wincrt;
var angka:array [1..50] of integer;
i,maks:integer;
begin
clrscr;
write ('Masukan jumlah data : ');
readln(maks);
for i:=1 to maks do
begin
write ('Masukan angka ke ',i,' : ');
readln(angka[i]);
end;
write ('Angka yang dinput : ');
for i:=1 to maks do
begin
write(angka[i]);
end;
readln;
end.
Contoh 1.3
Program Contoh_Deklarasi_Array_Beragam;
Uses winCrt;
Var
NPM :array[1..20] of string[10];
Nama :array[1..20] of string[25];
Nilai : array[ 1. .20] of real;
Umur : array[1 . .20] of byte;
banyak,i : integer;
Begin
ClrScr;
Write('Isi berapa data array yang diperlukan :');
Readln(banyak);
For i := 1 to banyak Do
Begin
Write('NPM =');Readln(NPM[i]);
Write('Nama =');readln(Nama[i]);
Write('Nilai=');readln(Nilai[i]);
Write('Umur =');readln(Umur[i]);
End;
{cetak varibel array}
Writeln('NPM NAMA NILAI UMUR ');
For i:= 1 to banyak Do
Begin
Writeln(Npm[i]:1 0,Nama[i] :25,Nilai[i] :3:2,' ',Umur[i] :3); End;
Readln;
End.
Contoh 1.4
Studi Kasus :
Buat sebuah program perhitungan nilai akhir 5 orang
mahasiswa ?
Input : nama, tugas, quiz, uts, dan uas
Proses : nilai = 10%*tugas + 20%*quiz + 30%*uts+ 40%*uas.
Output : nama, dan nilai ditampilan menurut index
Program Studi_Kasus;
Uses wincrt;
Var Nama:array[1..5]of string;
I,Tugas,Quiz,UTS,UAS:integer;
Nilai:array[1..5]of real;
Begin
for I:=1 to 5 do
begin
Clrscr;
write('Masukan Nama : ');readln(Nama[I]);
write('Masukan Tugas : ');readln(Tugas);
write('Masukan Quis : ');readln(Quiz);
write('Masukan UTS : ');readln(UTS);
write('Masukan UAS : ');readln(UAS);
Nilai[I]:=0.1*Tugas+0.2*Quiz+0.3*UTS+0.4*UAS;
end;
Clrscr;
for I:=1 to 5 do
writeln('Nama : ',Nama[I],' mendapat
nilai :',nilai[i] :5:2);
readln;
End.
Jawaban.
Array Dua Dimensi
Di dalam pascal Array dapat berdimensi lebih dari satu
yang disebut dengan array dimensi banyak
(Multidimensional array).
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.
Let us have the 2 dimensional array defined first. Think of a
grid where each box is located by using horizontal and vertical
coordinates just in the example below:
1 2 3 4 5
2
3 3,4
4
5 5,3
An example of a 5 by 5 2D array illustrated on a grid
Contoh Bentuk Tampilan
Var
my2DArray : Array[1..3][1..5] of Byte;
Begin
my2DArray[2][4] := 10;
End.
1 2 3 4 5
2 10
3
Having the vertical axis as the 1st dimension and the horizontal one as the 2nd
dimension, the above example is illustrated as follows:
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;
End.
Contoh 2.1
Program penjumlahan_matrik;
Uses Wincrt;
Var
Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
{ input matrik ke satu }
Writeln(' Elemen matrik satu');
For i := 1 to 3 Do
Begin
For j := 1 to 2 Do
Begin
Write('Elemen baris -',i,' Kolom -',j,'= ');
Readln(matrik1 [i,j]);
End;
End;
Contoh 2.2
{input matrik ke dua}
Writeln('input elemen matrik dua');
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write('Elemen baris -',i,' kolom -',j,'= ');
Readln(matrik2 [i,j]);
End;
End;
Contoh 2.2 cont…
{proses penjumlahan tiap elemen}
For i := 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Hasil[i,j] :=Matrik1 [i,j]+Matrik2[i,j];
End;
End;
Contoh 2.2 cont…
{proses cetak hasil}
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write(Hasil[i,j] :6);
End;
Writeln;
End;
Readln;
End.
Contoh 2.2 cont…

More Related Content

PPT
Algoritma 1 pertemuan 5
PPTX
9. algoritma perulangan pada java
PPTX
Algo temu 4 struktur dasar algoritma
PDF
Alwin pascal-04
PDF
C04 struktur percabangan_22
PPTX
Struktur pemrograman pascal
PPTX
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
PPT
Perulangan,stack,record
Algoritma 1 pertemuan 5
9. algoritma perulangan pada java
Algo temu 4 struktur dasar algoritma
Alwin pascal-04
C04 struktur percabangan_22
Struktur pemrograman pascal
struktur pemrograman pascal - MATA KULIAH STRUKTUR DATA
Perulangan,stack,record

Similar to Pemrograman dasar menggunakan pascal untuk pemula (20)

PDF
Materi Pelajaran Program Pascal
PDF
Algoritma1 Temu 9.pdf
PPT
materi-iii-pengenalan-bahasa pascal untuk pemula
PDF
Pemrograman pascal bab_i
PDF
Tugas kelompok
PPT
materi-iii-pengenalan-pascal.ppt
PDF
Modul pemrograman pascal toki smansasoo
DOC
1999 turbo-pascal
PDF
4 fungsi if
DOC
modul algoritma Bab 4
PPTX
listiati univ bung hata (1110013211051) Bahasa pemrograman pascal
PPTX
listiati univ bung hata (1110013211051) Materi pengenalan-pascal
PPTX
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
PPTX
Pertemuan 6 7
PPTX
Pertemuan 6 7
PPTX
struktur pengulangan di pascal bagian 2
PDF
6 lanjutan perulangan
PPT
Branch Pascal
PDF
Pernyataan bersyarat
PPTX
Materi algoritma perulangan
Materi Pelajaran Program Pascal
Algoritma1 Temu 9.pdf
materi-iii-pengenalan-bahasa pascal untuk pemula
Pemrograman pascal bab_i
Tugas kelompok
materi-iii-pengenalan-pascal.ppt
Modul pemrograman pascal toki smansasoo
1999 turbo-pascal
4 fungsi if
modul algoritma Bab 4
listiati univ bung hata (1110013211051) Bahasa pemrograman pascal
listiati univ bung hata (1110013211051) Materi pengenalan-pascal
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Pertemuan 6 7
Pertemuan 6 7
struktur pengulangan di pascal bagian 2
6 lanjutan perulangan
Branch Pascal
Pernyataan bersyarat
Materi algoritma perulangan
Ad

Recently uploaded (20)

DOCX
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025
PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PDF
3. Buku Sekolah Sehat, sekolah sehat bagi madrasah
PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PPTX
Bahan Presentasi Persamaan Elips .pptx
PPTX
Paparan Penyesuaian Juknis BOSP Tahun 2025
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PPTX
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
DOCX
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PPTX
Keragaman kerajinan tangan mancanegara.pptx
PDF
2. Capaian-Pembelajaran-Koding-Dan-Kecerdasan-Artifisial-Pusbuk.pdf
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025
Lembar Kerja Mahasiswa Konsep Sistem Operasi
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
3. Buku Sekolah Sehat, sekolah sehat bagi madrasah
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
Bahan Presentasi Persamaan Elips .pptx
Paparan Penyesuaian Juknis BOSP Tahun 2025
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
Rancangan Kegiatan Kokurikuler SMP N 1 Karanggede
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
Modul Ajar Deep Learning PJOK Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning PJOK Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
Keragaman kerajinan tangan mancanegara.pptx
2. Capaian-Pembelajaran-Koding-Dan-Kecerdasan-Artifisial-Pusbuk.pdf
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Ad

Pemrograman dasar menggunakan pascal untuk pemula

  • 2. PERULANGAN ( LOOPING ) Di dalam bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan pernyataan For, While-Do, dan Repeat…Until. 1. Struktur Perulangan For Perulangan dengan pernyataan For digunakan untuk mengulang pernyataan atau satu blok pernyataan berulang kali sejumlah yang ditentukan. Perulangan dengan pernyataan For dapat berbentuk perulangan positif, perulangan negatif dan perulangan tersarang.
  • 3. LOOPING ( FOR ) • Perulangan positif. For variabel-kontrol:=nilai awal To nilai akhir Do pernyataan Contoh Var I:Integer; Begin For I:= 1 to 5 Do Writeln(‘Pascal’); End.
  • 4. LOOPING ( FOR ) • Perulangan negatif For variabel-kontrol:=nilai awal DownTo nilai akhir Do penyataan Contoh Var I:integer; Begin For I:=5 downto 1 do Begin Writeln(I); End; End.
  • 5. LOOPING ( FOR ) • Perulangan tersarang Perulangan tersarang adalah perulangan yang berbeda di dalam perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan akan bertambah, mengerjakan perulangan yang lebh dalam lagi mulai dari nilai awalnya dan seterusnya.
  • 6. Contoh Var I,J:Integer; Begin For I:=1 to 5 Do Begin For j:=1 to 3 Do Begin Write(I:8,J:3); End; Writeln; End; • End. Bila program dijakankan akan menghasilkan: • 1 1 1 2 1 3 • 2 1 2 2 2 3 • 3 1 3 2 3 3 • 4 1 4 2 4 3 • 5 1 5 2 5 3
  • 7. LOOPING ( While ... Do ) • Struktur Perulangan While-Do Perulangan ini menggunakan pernyataan While—Do. Pernyataan While—Do digunakan untuk melakukan proses perulangan suatu pernyataan atau blok pernyataan terus- menerus selama kondisi ungkapan logika pada While masih bernilai logika benar. BU : While kondisi ungkapan Do Pernyataan
  • 9. LOOPING ( Repeat ... Until ) • Struktur Repeat...Until Struktur Repeat…Until digunakan untuk mengulang pernyataan-pernyataan atau blok pernyataan sampai kondisi yang diseleksi di Until terpenuhi. Bentuk mumnya adalah: Repeat pernyataan Until
  • 11. Penyeleksian Kondisi • Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus dikerjakan, bergantung dari hasil kondisi yang diseleksi tersebut. Untuk menyeleksi suatu kondisi, di dalam bahasa Pascal dapat dipergunakan pernyataan IF dan CASE.
  • 12. Penyeleksian Kondisi ( IF ) • Pernyataan IF Struktur pernyataan IF dapat berupa If—Then atau If—Then—Else dengan bentuk umum: If ungkapan Then pernyataan • Ungkapan adalah kondisi yang akan diseleksi oleh pernyataan If. Bila kondisi yang diseleksi terpernuhi, maka pernyataan yang mengikuti Then akan diproses. Sebaliknya, bila kondisi tidak terpenuhi, maka yang akan diproses adalah pernyataan berikutnya
  • 13. Contoh Var Nilai:ral; Ket : string[11]; Begin Ket:’Tidak Lulus’; Write(‘Nilai Ujian = ‘); Readln(Nilai); {Penyeleksian kondisi} If Nilai>60 Then Ket:=’Lulus’; Writeln(Ket); End.
  • 14. Penyeleksian Kondisi ( IF ) If kondisi Then pernyataan1; Else pernyataan2; • Pernyataan1 akan diproses apabila kondisi benarn(terpenuhi) sedang pernyataan2 akan diproses apabila kondisi tidak terpenuhi.
  • 15. Contoh Var Nilai:Real; Begin Writeln(‘Nilai Ujian = ‘); Readln(Nilai); If Nilai>60 Then Writeln(‘Lulus’); Else Writeln(‘Tidak Lulus’); End.
  • 16. Penyeleksian Kondisi ( Case ) • Pernyataan Case Pernyataan Case dapat berbentuk struktur Case—Of atau Case—Of…. Else. Struktur Case—Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah pernyataan yang diawali dengan suatu label permasalahan yang mempunyai tipe sama dengan selector. Pernyataan yang mempunyai label permasalahan yang bernilai sama dengan nilai selector akan diproses sedang pernyataan yang lainnya tidak.
  • 17. Penyeleksian Kondisi ( Case ) • Bentuk dari struktor Case—Of adalah: Case ungkapan Of daftar case-label1:pernyataan1; daftar case-label2:pernyataan2; daftar case-label3:pernyataan3; . daftar case-labeln:pernyataann; End; • Daftar case label (label permasalahan) dapat berupa konstanta, atau range (himpunan) dari konstanta yang bukan bertipe real.
  • 18. Contoh Var Nilai:Char; Begin Writeln(‘Nilai huruf yang didapat = ‘);Readln(Nilai); Case Nilai of ‘A’:Writeln(‘Sangat Baik’); ‘B’:writeln(‘Baik’); ‘C’:Writeln(‘Cukup’); ‘D’:Writeln(‘Kurang’); ‘E’:Writeln(‘Gagal’); End; End.
  • 19. Penyeleksian Kondisi ( Case ) • Struktur Case—Of…Else merupakan pengembangan dari struktur Case—Of dan juga merupakan pengembangan dari standar Pascal. Pada struktur Case—Of bila tidak ada kondisi yang terpenuhi berarti tidak ada pernyataan di lingkungan Case—Of yang diproses. Dengan struktur Case—Of…Else, bila Tidak ada kondisi yang terpenuhi, maka pernyataan yang akan diproses di dalam lingkungan Case—Of adalah pernyataan yang ada di Else.
  • 20. Contoh Var Bersih,Beli,potong:Integer; Begin Writeln(‘Total Pembelian = ‘); Readln(beli); Case Beli of 0..1000:potong:=100; 1001..5000:potong:=200; Else potong:=500; End; Bersih:=beli-ptong; Writeln(‘Potongan = ‘, potongan); Writeln(‘Jumlah Bersih = ‘, Bersih); End.
  • 21. Procedure • Prosecure adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.
  • 22. Procedure • Prosedur banyak digunakan pada program yang terstruktur, karena: 1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur. 2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waltu bila diperlukan.
  • 23. Contoh prosedur tanpa acuan Procedure Hitung; Var x,y:real; Begin Writeln(‘Nilai x: ‘); Readln(x); Y:=x*x; Writeln(‘Nilai Y= ‘, y:6;2); End; Begin Hitung; End.
  • 24. Contoh prosedur secara acuan Procedure Hitung(var a,b,c); Begin C:=a+b; Writeln(c); End; Var X,y,z:integer; Begin X:=2;Y;=3; Hitung(x,y,z); End.
  • 25. Function • Fungsi hampir sama dengan prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Tipe tersebut ditulis pada akhir deklarasi fungsi yang didahului dengn titik koma, sebagai berikut. Function namafungsi(daftar_parameter):type;
  • 26. Contoh Function Hitung(Var A,B : integer): integer; Begin Hitung := A + B; End; Var X,Y : integer; Begin Write(‘Nilai X ? ‘); Readln(X); Write(‘Nilai Y ? ‘); Readln(Y); Writeln; Writeln(X,’ + ‘,Y,’ =‘,Hitung(X,Y)); End.
  • 27. Perbedaan fungsi dengan prosedur 1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). 2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya
  • 28. Rekursif • Suatu fungsi atau prosedur dalam bahasa Pascal dapat bersifat rekursif. Artinya, fungsi atau prosedur tersebut dapat memanggil dirinya sendiri. • Berikut ini sebuah contoh fungsi dan prosedur yang rekursif.
  • 29. function faktorial (nilai : integer) : integer; begin if nilai <= 0 then faktorial := 1; else faktorial := nilai * faktorial (nilai-1) end; Var N : integer; Begin Write(‘Berapa faktorial ? ‘); Readln(N); Writeln(N,’ faktorial = ‘,faktorial(N):9:0); End.
  • 30. Function fibonacci ( n : integer ) : integer; Begin If n = 0 then fibonacci := 0 Else If n := 1 then fibonacci := 1 Else fibonacci := fibonacci (n-1) + fibonacci (n-2); End; Var N : integer; Begin Write(‘Berapa banyak ? ‘); Readln(N); fibonacci(n); End.
  • 31. Procedure reverse ( num : integer ); Begin If num < 10 then write(num) Else begin Write(num mod 10); Reverse(num div 10); End; End; Var N : integer; Begin Write(‘Berapa nilai ? ‘); Readln(N); reverse(n); End.
  • 32. Array ( Larik ) Array ( Larik ) Array Satu Dimensi Array Dua Dimensi
  • 33. Array Satu Dimensi Array Satu Dimensi Array adalah sekumpulan data yang bertipe sama, yang anggota-anggotanya dapat diakses berdasarkan nomor indeks. Misalnya ada 26 huruf, kita sebut saja array Abjad, adalah sekumpulan 26 buah karakter yang berisi nama- nama abjad latin. Anggota pertama adalah ‘A’, anggota kedua adalah ‘B’ dan seterusnya hingga anggota ke 26 adalah ‘Z’.
  • 34. • Dalam notasi algoritma kita tuliskan : Abjad : array [1..26] of character Pemberian nilainya bisa dilakukan dengan cara, pertama pengisian satu-satu berdasarkan nomor indeks : Abjad [1]  ‘A’ Abjad [2]  ‘B’ dst sampai Abjad [26]  ‘Z’ • Dalam notasi algoritma , indeks array dimulai dari 1, artinya jika kita punya array dengan 26 anggota, indeksnya mulai dari 1,2,3…sampai 26.
  • 35. • Berikut penulisan array dengan menggunakan turbo Pascal: Abjad : array [1..26] of char; Contoh pemberian nilai untuk array diatas dengan menggunakan bahasa Pascal adalah : Abjad [1] := ‘A’; Abjad [2] := ‘B’ dst sampai Abjad [26] := ‘Z’
  • 36. Program Nama_array; Uses winrt; Type nameType = String[50]; ageType = 0..150; { age range: from 0 to 150 } Var name : nameType; age : ageType; Begin Write('Enter your name: '); Readln(name); Write('Enter your age: '); Readln(age); Writeln; Writeln('Your name:', name); Writeln('Your age :', age); Readln; End. Contoh 1.1
  • 37. Program P002; uses wincrt; var abjad : array [1..50] of char; i,maks : integer; begin clrscr; write ('Masukan jumlah data karakter : '); readln(maks); for i:=1 to maks do begin write ('Masukan karakter ke ',i,' : '); readln(abjad[i]); end; write ('Karakter yang dinput : '); for i:=1 to maks do begin write (abjad[i],’ ‘); end; readln; end. Contoh 1.2
  • 38. Program P003; uses wincrt; var angka:array [1..50] of integer; i,maks:integer; begin clrscr; write ('Masukan jumlah data : '); readln(maks); for i:=1 to maks do begin write ('Masukan angka ke ',i,' : '); readln(angka[i]); end; write ('Angka yang dinput : '); for i:=1 to maks do begin write(angka[i]); end; readln; end. Contoh 1.3
  • 39. Program Contoh_Deklarasi_Array_Beragam; Uses winCrt; Var NPM :array[1..20] of string[10]; Nama :array[1..20] of string[25]; Nilai : array[ 1. .20] of real; Umur : array[1 . .20] of byte; banyak,i : integer; Begin ClrScr; Write('Isi berapa data array yang diperlukan :'); Readln(banyak); For i := 1 to banyak Do Begin Write('NPM =');Readln(NPM[i]); Write('Nama =');readln(Nama[i]); Write('Nilai=');readln(Nilai[i]); Write('Umur =');readln(Umur[i]); End; {cetak varibel array} Writeln('NPM NAMA NILAI UMUR '); For i:= 1 to banyak Do Begin Writeln(Npm[i]:1 0,Nama[i] :25,Nilai[i] :3:2,' ',Umur[i] :3); End; Readln; End. Contoh 1.4
  • 40. Studi Kasus : Buat sebuah program perhitungan nilai akhir 5 orang mahasiswa ? Input : nama, tugas, quiz, uts, dan uas Proses : nilai = 10%*tugas + 20%*quiz + 30%*uts+ 40%*uas. Output : nama, dan nilai ditampilan menurut index
  • 41. Program Studi_Kasus; Uses wincrt; Var Nama:array[1..5]of string; I,Tugas,Quiz,UTS,UAS:integer; Nilai:array[1..5]of real; Begin for I:=1 to 5 do begin Clrscr; write('Masukan Nama : ');readln(Nama[I]); write('Masukan Tugas : ');readln(Tugas); write('Masukan Quis : ');readln(Quiz); write('Masukan UTS : ');readln(UTS); write('Masukan UAS : ');readln(UAS); Nilai[I]:=0.1*Tugas+0.2*Quiz+0.3*UTS+0.4*UAS; end; Clrscr; for I:=1 to 5 do writeln('Nama : ',Nama[I],' mendapat nilai :',nilai[i] :5:2); readln; End. Jawaban.
  • 42. Array Dua Dimensi Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array). 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.
  • 43. Let us have the 2 dimensional array defined first. Think of a grid where each box is located by using horizontal and vertical coordinates just in the example below: 1 2 3 4 5 2 3 3,4 4 5 5,3 An example of a 5 by 5 2D array illustrated on a grid Contoh Bentuk Tampilan
  • 44. Var my2DArray : Array[1..3][1..5] of Byte; Begin my2DArray[2][4] := 10; End. 1 2 3 4 5 2 10 3 Having the vertical axis as the 1st dimension and the horizontal one as the 2nd dimension, the above example is illustrated as follows:
  • 45. 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; End. Contoh 2.1
  • 46. Program penjumlahan_matrik; Uses Wincrt; Var Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; { input matrik ke satu } Writeln(' Elemen matrik satu'); For i := 1 to 3 Do Begin For j := 1 to 2 Do Begin Write('Elemen baris -',i,' Kolom -',j,'= '); Readln(matrik1 [i,j]); End; End; Contoh 2.2
  • 47. {input matrik ke dua} Writeln('input elemen matrik dua'); For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write('Elemen baris -',i,' kolom -',j,'= '); Readln(matrik2 [i,j]); End; End; Contoh 2.2 cont…
  • 48. {proses penjumlahan tiap elemen} For i := 1 to 3 Do Begin For j:= 1 to 2 Do Begin Hasil[i,j] :=Matrik1 [i,j]+Matrik2[i,j]; End; End; Contoh 2.2 cont…
  • 49. {proses cetak hasil} For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write(Hasil[i,j] :6); End; Writeln; End; Readln; End. Contoh 2.2 cont…