DASAR BAHASA PEMROGRAMAN PASCAL
STRUKTUR PROGRAM PASCAL
Untuk mempelajari bahasa pemrograman pascal pertama kali yang harus kita pahami adalah
struktur dasar pascal yaitu :
PROGRAM <Nama_Program> USES <nama_unit>
LABEL
<Deklarasi_Nama_Label> CONST
<Deklarasi_Nama_Konstanta> TYPE
<Deklarasi_Tipe_Data> VAR
<Deklarasi_Nama_Variabel>
<Deklarasi prosedur dan fungsi> BEGIN
<Pernyataan> END.
Struktur program diatas merupakan struktur lengkap dari program pascal. Dalam prakteknya tidak
semua struktur dalam pascal dipergunakan, hanya yang benar-benar dibutuhkan saja yang
dipergunakan.
Deklarasi Kepala Program
Kepala progam merupakan nama dari program yang akan dibuat. Deklarasi ini bersifat opsional,
sehingga jika kepala program tidak dideklarasikan tidak akan memperngaruhi progam.
Bentuk deklarasi kepala program :
PROGRAM <Nama_Program><Nama_Program>
merupakan nama yang diberikan untuk program yang akan dibuat.
Contoh :
PROGRAM Luas_lingkaran;
Pemakaian Unit
Unit adalah pustaka yang terdiri dari prosedur dan fungsi, yang dapat dicompile terpisah dari
program Turbo Pascal. Keuntungan pemakaian unit adalah program akan dikompilasi lebih cepat
karena bagian dari unit sudah dikompilasi tersendiri. Unit yang tersedia dalam pascal antara lain :
System
Berisi fungsi dan prosedur standar pascal
Crt
Digunakan untuk desain layar
Dos
Berisi fungsi untuk mengkases sistem, sepeti jam sistem
Graph
Berisi fasilitas untuk membuat grafik
Deklarasi Label
Label digunakan sebagai identitas didalam program berkaitan dengan adanya pertintah
goto
yaitu
perintah yang mengistruksikan untuk meloncat ke pernyataan yang diawali dengan
<Nama_Label>.
Bentuk deklarasi label :
LABEL
<nama_label_1>,<nama_label_2>,...,<nama_label_n>
Contoh program :
{
Contoh program yang mengandung label dan goto }
program LabelDanGoto;
uses crt; {Memanggil unit crt}
{Deklarasi label} label
tengah, akhir, selesai;
{program utama} begin
clrscr; {hapus layar}
writeln('Teks ini diawal program');writeln;
goto akhir;
writeln('Saya ngak pernah tampil dilayar'); writeln;
tengah:
writeln('Teks ini ditengah program'); writeln('Kalau saya tampil dilayar'); writeln;
goto selesai;
akhir :
writeln('Teks ini diakhir program'); writeln('Lompat ketengah dulu ya...'); writeln;
goto tengah;
selesai : readln; end.
Untuk menjalankan program diatas dapat anda dugunakan tombol Ctrl+F9.
Deklarasi Const
Deklarasi const (konstanta) digunakan untuk mendefinisikan pengenal yang mempunyai nilai tetap
(konstan). Nilai pengenal pada konstanta yang telah didefinisikan tidak dapat diubah didalam
bagian pernyataan.
Bentuk deklarasi const :
<nama_pengenal_1> = <nilai_konstan_1>; ...
<nama_pengenal_n> = <nilai_konstan_n>;
Contoh program :
{
Program menghitung keliling lingkaran }
uses crt; {memanggil unit crt}
{Deklarasi konstanta} const
phi = 3.14;
{Deklarasi variabel} var
jari2 : integer; kel : real;
begin {Prorgam utama} clrscr; {Hapus layar} write('Jari-jari : '); readln(jari2);
kel := 2 * phi * jari2;
writeln('Keliling lingkaran : ',kel:7:2); readln;
end.
Deklarasi Type
Deklarasi ini digunakan untuk menciptakan tipe khusus yang nanti akan digunakan untuk
menentukan tipe variabel dalam deklarasi VAR. Tipe yang dapat diciptakan dalam deklarasi type
adalah tipe-tipe dalam pascal misalanya
real
,
integer
,
byte
,
char
,
boolean
,
string
,
array
,
record
,
pointer
dan sebagainya.
Bentuk deklarasi type :
TYPE
<nama_pengenal_1> = <tipe_1>; ...
<nama_pengenal_n> = <tipe_n>;
Contoh :
TYPE
Bulat = integer;
Menyatakan bahawa tipe Bulat merupakan tipe baru yang identik dengan tipe integer.
Deklarasi Var
Bentuk deklarasi var :
VAR<nama_variabel_1> = <tipe_1>; ...
<nama_pengenal_n> = <tipe_n>;
Contoh :
TYPE
Bulat = integer;
VAR
nama, alamat : string; umur, jumlah : bulat;
Contoh diatas terdapat dua variabel yaitu nama dan alamat yang bertipe string , sedangkan umur
dan
jumlah bertipe bulat (yaitu identik dengan tipe integer yang sudah dideklarasikan dalamdeklarasi type).
Contoh program :
{
Program memasukkan biodata }
uses crt; {memanggil unit crt}
{Deklarasi tipe buatan sendiri} type
bulat = integer;
{Deklarasi variabel} var
nama, alamat : string; umur, jumlah : bulat; begin
clrscr;
writeln('Masukkan Datanya'); Writeln('---'); write('Nama : '); readln(nama);
write('Alamat : '); readln(alamat);
write('Umur : '); readln(umur);
write('Jumlah anak : '); readln(jumlah);
clrscr;
writeln('Data Yang Anda Masukkan'); Writeln('======================='); writeln('Nama : ',nama); writeln('Alamat : ',alamat); writeln('Umur : ',umur); writeln('Jumlah anak : ',jumlah); readln;
end.
Deklarasi Prosedur dan Fungsi
Bagian Pernyataan
Pada bagian pernyataan selalu diawali dengan
Begin
dan diakhiri dengan
End
. Pada akhir
subprorgam End selalu diakhiri dengan titik koma (;) sedangkan End pada program utama selalu
diakhiri dengan titik (.). Prorgam terpendek dalam Turbo Pascal hanya terdiri dari Begin dan End.
saja.
Komentar Program
Komentar digunakan untuk menjelaskan suatu prorgam berkaitan dengan dokumentasi program.
Dalam Pascal komentar ada dua macam yaitu :
a.
Diawali dengan (* dan diakhiri dengan *).
b.
Diawali dengan { dan diakhiri dengan }.
Pada contoh-contoh prorgam diatas sudah banyak contoh penggunaan simbol komentar dalam
program.
Pernyataan Input-Output
Dalam Pascal untuk melakukan input-output digunakan prosedur standar
write, writeln, readdan readln.
Read dan Readln
Read
dan
Readln
Berfungsi untuk menerima input dari keyboard dan menampungnya dalam
variabel.
Bentuk :
READ(nama_variabel); READLN(nama_variabel);
nama_variabel digunakan untuk menampung data yang dimasukkan dari keyboard. Perbedaan
antara read dan readln adalah :
Read
Jika input data kelebihan maka data akan masuk ke variabel pada read selanjutnya.
Readln
jika input data kelebihan maka diabaikan.
Write dan Writeln
Write
dan
Writeln b
erfungsi untuk menampilkan nilai variabel, suatu konstanta, suatu fungsi dan
suaru hasil ungkapan pada layar.
Bentuk :
WRITE(nilai_data); WRITELN(nilai_data);
Perbedaan antara
write
dan
writeln
adalah :
Write
Setelah menampilkan nilai data maka kursor ada berada disebelah kanan dari nilai data
tersebut.
Writeln
Setelah menampilkan nilai data maka kursor akan berganti dibaris bawahnya dari nilai
data tersebut.
Mengatur Format Keluaran
Tipe Char
Bentuk :
Ch : nKarakter ch akan menempati medan data sebesar n secara rata kanan.
Tipe String
Bentuk :
s : n
String s akan menempati medan data sebesar n secara rata kanan.
Tipe Integer
Bentuk :
i : n
Bilangan i akan menempati medan data sebesar n secara rata kanan.
Tipe Boolean
Bentuk :
b : n
Nilai boolean b (True atau False) akan menempati medan data sebesar n secara rata kanan.
Tipe Real
Bentuk :
r : n : m
Nilai r akan menempati medan data sebesar n dengan banyak pecahan sebanyak m.
Contoh program :
{
Contoh program yang mengandung format tampilan }
uses crt; {memanggil unit crt} begin
clrscr;
writeln('STMIK EL RAHMA':20); writeln('STMIK EL RAHMA'); writeln(FALSE:10);
writeln(12345:10); writeln(12345:4); writeln(1234.567); writeln(1234.567:2:2); writeln(1234.567:10:2); writeln(1234.567:0:0); readln;
Hasil eksekusi :
STMIK EL RAHMA STMIK EL RAHMA
FALSE 12345 12345
1.2345670000E+03 1234.57 1235
TIPE DATA DALAM PASCAL
Tipe Bilangan Bulat
Dalam Pascal terdapat lima macam tipe bilangan bulat yaitu
shortint
,
integer
,
longint
,
byte
dan
word
. Masing-masing tipe data tersebut dibedakan oleh jangkauan nilai yang dapat ditampungnya.
Tipe
Kawasan
Ukuran memori
Shortint
Integer
Longint
Byte
Word
-128 .. 127
-32768 .. 32767
-2147483638 .. 2.147.483.647
0 .. 255
0 .. 65535
1 byte
2 byte
4 byte
1 byte
2 byte
Dalam penggunaan tipe data dalam program harus diperhitungkan besar nilai data yang akan
disimpan untuk menentukan tipe data yang akan digunakan.
Tipe Boolean
Tipe boolean adalah tipe data yang nilai datanya berupa
TRUE
(benar) dan
FALSE
(salah) saja.
Fungsi tipe data ini biasanya untuk menampung hasil pengujian logika.
Tipe Char
Tipe Char adalah tipe data yang hanya dapat menampung sebuah karakter saja. Untuk menyatakan
konstanta dalam tipe char, karakter ditulis dalam tanda petik tunggal.
Contoh :
’a’
karatker a
’b’
karakter b
’3’
karakter 3
Tipe String
Tipe string adalah tipe data yang dapat menampung data berupa kumpulan karatker, angka dan
simbol lainnya. Untuk menyatakan konstanta dalam tipe string, data harus diapit dalam tanda petik
tunggal.
Contoh :
Tipe Pecahan
Dalam Pascal terdapat lima buah tipe data pecahan yaitu
real
,
single
,
double
,
extended
, dan
comp
.
Tipe
Kawasan
Ukuran memori
Real
Konstanta bilangan pecahan dalam Pascal menggunakan tanda titik bukan koma.
OPERATOR DALAM PASCAL
Dalam Pascal terdapat beberapa operator yaitu :
Operator Aritmatika
Dalam operator aritmatika ada yang bersifat
unary
dan
binary.
Operator unary adalah operator
yang hanya membutuhkan sebuah operand saja, sedangkan operator binary adalh operator yang
membutuhkan dua buah operand.
Operator
Operasi
Sifat
+
Sisa pembagian bulat
Tanda plus
Contoh program :
{
Operator Boolean
Operator boolean digunakan untuk menghubungkan dua buah operand kondisi menjadi sebuah
kondisi. Dalam Pascal terdapat empat buah operator boolean yaitu
AND
,
OR
,
XOR
dan
NOT
.
Operator
Jenis Operator
Sifat operasi
AND
Akan bernilai False jika salah satu
operand bernilai False
Akan bernilai True jika salah satu
operand bernilai True
Akan bernilai True jika hanya
salah satu operand bernilai True
Akan bernilai True jika operand
bernilai False dan akan bernilai
False jika operand bernilai True
Contoh program :
{
contoh program penggunaan operator boolean }
Operator relasi digunakan untuk membangdingkan dua buah operand yang hasilnya berupa benar
(True) atau salah (False). Operator relasi yang dikenal dalam Pascal adalah :
Operator
Keterangan
=
Tidak sama dengan
Lebih besar
Lebih kecil
Contoh program :
{
contoh program penggunaan operator boolean }
uses crt; {memanggil unit crt} var
x,y : integer; begin
clrscr; x := 12; y := 54;
writeln('Operasi Hasil'); writeln('---'); writeln(x,' = ',y,' ',x=y); writeln(x,' <> ',y,' ',x<>y); writeln(x,' > ',y,' ',x>y); writeln(x,' < ',y,' ',x<y); writeln(x,' >= ',y,' ',x>=y); writeln(x,' <= ',y,' ',x<=y); readln;
end.
Prioritas opertor boolean dan relasi :
Prioritas tertinggi NOT AND OR XOR
Prioritas terndah = < > <= >= <>
Pernyataan GotoXY
Pernyataan GotoXY
berfungsi untuk menempatkan kursor pada posisi kolom X, baris Y.
Contoh program :
{
contoh program GotoXY }
uses crt; {memanggil unit crt}
begin clrscr;
gotoxy(5,3);write('Teks mulai kolom 5 baris 3'); gotoxy(8,5);write('Teks mulai kolom 8 baris 5'); readln;
PERNYATAAN DASAR DALAM PASCAL
BLOK PERNYATAAN
Blok pernyataan merupakan sekumpulan baris program yang berada di dalam begin dan end.
Contoh :
begin
x := 10; x := x + 1; end;
Struktur Urut
Pada struktur ini baris program akan dikerjakan secara urut dari atas kebawah sesuai dengan
penulisannya.
Algoritmik
Pseudocode Luas_Pesegi_panjang
// Diketahui sebuah pesegi panjang yang memiliki panjang // dan lebar
//DEKLARASI
int panjang, lebar, luas
//DESKRIPSI {
read(panjang) read(lebar)
luas = panjang * lebar write(luas)
}
{
contoh program menghitung luas pesegi panjang }
uses crt; {memanggil unit crt} var
panjang, lebar, luas : integer;
begin clrscr;
write('Masukkan panjang : '); readln(panjang);
write('Masukkan lebar : '); readln(lebar);
luas := panjang * lebar;
writeln('Luasnya : ',luas); readln;
end.
Algoritmik
Pseudocode Isi_Tabung
// tabung dan tinggi tabung
//DEKLARASI
int jari_jari, tinggi
float luas_lingk, isi_tabung
//DESKRIPSI {
read(jari_jari) read(tinggi)
luas_lingk = 2 * 3.14 * jari_jari * jari_jari isi_tabung = luas_lingk * tinggi
write(isi_tabung) }
{
contoh program menghitung isi tabung }
uses crt; {memanggil unit crt} var
jari_jari, tinggi : integer; luas_lingk, isi_tabung : real;
begin clrscr;
write('Masukkan jari-jari tabung : '); readln(jari_jari);
write('Masukkan tinggi tabung : '); readln(tinggi);
luas_lingk := 3.14 * jari_jari * jari_jari; isi_tabung := luas_lingk * tinggi;
writeln('Isi tabung : ',isi_tabung:7:2); readln;
end.
Pernyataan Penyeleksian Kondisi
Pernyataan if
Pernyataan
if
digunakan untuk mengambil keputusan berdasarkan kondisi yang diuji. Bentuk
if
dalam pascal terdiri dari 3 bentuk yaitu :
1.
Pernyataan if sederhana
Pada bentuk ini pernyataan
if
hanya memiliki satu kemungkingan pernyataan yang akan dikerjakan
jika kondisi yang diuji bernilai benar.
Bentuk pernyataan
if
sederhana :
if <kondisi> then pernyataan;<
kondisi> digunakan untuk menentukan hasil pengujian, jika <
kondisi> bernilai benar (
true
)
maka pernyataan akan dikerjakan, jika <
kondisi> bernilai salah (
false
) maka tidak ada pernyataan
yang dikerjakan.
Algoritmik
Pseudocode Kelulusan_Siswa
// Seorang siswa dikatakan lulus jika nilainya >= 60
int nilai_siswa
//DESKRIPSI {
read(nilai_siswa) if (nilai_siswa >= 60)
write(‘Siswa tersebut lulus’) }
{
contoh program yang mengandung pernyataan if sederhana
}
uses crt; {memanggil unit crt} var
nilai_siswa : integer;
begin clrscr;
write('Masukkan nilai : '); readln(nilai_siswa);
if nilai_siswa >= 60 then
writeln('Siswa tersebut lulus'); readln;
end.
2.
Pernyataan if ... then ... else
Pada bentuk ini pernyataan
if
memiliki dua kemungkinan pernyataan yang akan dikerjakan
berdasarkan hasil pengujian kondisi.
Bentuk pernyataan
if ... then ... else
if <kondisi> thenpernyataan1; else
pernyataan2;
<
kondisi> digunakan untuk menentukan hasil pengujian, jika <
kondisi> bernilai benar (
true
)
maka pernyataan1 akan dikerjakan, jika <
kondisi> bernilai salah (
false
) maka pernyataan2 yang
dikerjakan.
Algoritmik
Pseudocode Kelulusan_Siswa
// Seorang siswa dikatakan lulus jika nilainya >= 60 // jika < 60 maka siswa tidak lulus
//DEKLARASI
int nilai_siswa
//DESKRIPSI {
read(nilai_siswa) if (nilai_siswa >= 60)
write(‘Siswa tersebut lulus’) else
}
{
contoh program yang mengandung pernyataan if..else }
uses crt; {memanggil unit crt} var
nilai_siswa : integer;
begin clrscr;
write('Masukkan nilai : '); readln(nilai_siswa);
if nilai_siswa >= 60 then
writeln('Siswa tersebut lulus') else
writeln('Siswa tersebut tidak lulus'); readln;
end.
Algoritmik
Pseudocode Pembayaran_Gaji
// Akan dihitung gaji yang diterima pegawai berdasarkan jumlah hari // kerja dan jumlah jam lembur dengan tarif tertentu
//DEKLARASI char nama[20] int jhr_kerja int jjam_lembur float upah
float uang_lembur float trans_lembur float gaji
//DESKRIPSI {
read(nama) read(jhr_kerja) read(jjam_lembur)
upah = jhr_kerja * 30000
uang_lembur = jjam_lembur * 5000 if (jjam_lembur >= 10)
trans_lembur = 0.1 * uang_lembur else
trans_lembur = 0
gaji = upah + uang_lembur + trans_lembur write(upah)
write(uang_lembur) write(trans_lembur) write(gaji)
}
{
contoh program penghitungan pembayaran gaji }
const
bonus = 0.1; var
nama : string;
jhr_kerja : integer; jjam_lembur : integer; upah : longint; uang_lembur : longint; trans_lembur : real; gaji : real;
begin clrscr;
upah := 0;uang_lembur:=0; write('Masukkan nama : '); readln(nama);
write('Masukkan jml hari kerja : '); readln(jhr_kerja);
write('Masukkan jml jam lembur : '); readln(jjam_lembur);
upah := jhr_kerja * 30000;
uang_lembur := jjam_lembur * 5000;
if jjam_lembur > 10 then
trans_lembur := bonus * uang_lembur else
trans_lembur := 0;
gaji := upah + uang_lembur + trans_lembur;
writeln('Jumlah upah : ',upah:9);
writeln('Jumlah uang lembur : ',uang_lembur:9); writeln('Transpot lembur : ',trans_lembur:9:0); writeln(' --- +');
writeln('Gaji yang diterima : ',gaji:9:0); readln;
end.
3.
Pernyataan nested if (if bersarang)
Pada bentuk ini pernyataan
if
memiliki banyak kemungkinan pernyataan dan memiliki banyak
pengujian kondisi untuk mengerjakan pernyataan.
Bentuk pernyataan
if ... then ... else ...
if <kondisi1> thenpernyataan1;
else if <kondisi2> then pernyataan2;
else if <kondisiM> then pernyataanM;
else
pernyataanN;
<
kondisi1> diuji, jika hasil pengujian bernilai benar maka
pernyataan1 dikerjakan, jika hasilpengujian <
kondisi1> bernilai salah maka akan diuji <
kondisi2>, jika hasil pengujian bernilai
benar maka
pernyataan2akan dikerjakan, jika hasil pengujian <
kondisi2> bernilai salah maka
<
kondisiM> akan diuji, jika hasil pengujian bernilai benar maka <
pernyataanM> akan dikerjakan,
jika hasil pengujian <
kondisiM> bernilai salah maka akan mengerjakan <
pernyataanN> yang
merupakan alternatif terakhir jika semua kondisi yang diuji tidak terpenuhi.
Pseudocode Konfersi_Nilai
// Diketahui nilai angka seorang siswa yang akan // dikonfersikan ke nilai huruf
//DEKLARASI char nama[20] int nilai_angka char huruf
//DESKRIPSI {
read(nama)
read(nilai_angka) if (nilai_angka >= 80) huruf = ‘A’
else if (nilai_angka >= 70) huruf = ‘B’
else if (nilai_angka >= 60) huruf = ‘C’
else if (nilai_angka >= 50) huruf = ‘D’
else
huruf = ‘E’ write(nama)
write(huruf) }
{
contoh program yang mengandung pernyataan nested if }
uses crt; {memanggil unit crt} var
nama : string;
nilai_angka : integer; huruf : char;
begin clrscr;
write('Masukkan nama : '); readln(nama);
write('Masukkan nilai angka : '); readln(nilai_angka);
if nilai_angka >= 80 then huruf := 'A'
else if nilai_angka >= 70 then huruf := 'B'
else if nilai_angka >= 60 then huruf := 'C'
else if nilai_angka >= 50 then huruf := 'D'
else
huruf := 'E';
writeln; writeln;
writeln('Nama : ',nama); writeln('Nilainya : ',huruf); readln;
4.
Pernyataan case ... of
Pernyataan
case
digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan
pilihan. Permilaihan pada pernyataan
case
berdasarkan nilai dari ungkapan dan nilai dari
penyeleksi.
Bentuk pernyataan
case
:
case (ungkapan) of begin
case ungkapan1 : pernyataan1; case ungkapan2 : pernyataan2; end;
(ungkapan)dalam pernyataan case dapat berupa konstanta atau variabel, sedangkan ungkapan1, ungkapan2,
dapat berupa konstanta bertipe
int
atau
char
.
Proses pencocokan (ungkapan) dengan
ungkapan1, ungkapan2dilakukan berurutan mulai
ungkapan1, ungkapan2dan seterusnya. Jika
cocok maka pernyataan yang mengikuti
case
akan dikerjakan. Eksekusi akan berakhir jika
ditemukan pernyataan
break
. Pernyataan
default
akan dikerjakan jika ungkapan dalam
case
tidak
ada yang cocok dengan ungkapam dalam
switch
.
{
contoh penggunaan pernyataan case..of }
uses crt; {memanggil unit crt} var
pilih : char;
rusuk, isi_kubus : integer; alas, tinggi : integer; luas_segi3 : real;
begin clrscr;
writeln('Menu Pilihan'); writeln('============'); writeln('1. Isi kubus'); writeln('2. Luas segitiga'); writeln('3. Selesai');
write('Pilihan anda [1..3] : '); readln(pilih);
case pilih of '1' : Begin
write('Panjang rusuk : '); readln(rusuk);
isi_kubus := rusuk * rusuk * rusuk; writeln('Isi kubus : ',isi_kubus); end;
'2' : begin
write('Panjang alas segitiga : '); readln(alas);
write('Tinggi segitiga : '); readln(tinggi);
luas_segi3 := 0.5 * alas * tinggi;
writeln('Luas segitiga : ',luas_segi3:7:2); end;
writeln('Terima kasih...'); readln;
end; end;
readln;
end.
Pernyataan Pengulangan
1.
Pernyataan for
Pernyataan
for
berfungsi untuk mengulang satu atau beberapa pernyataan sebanyak syarat yang
diberikan.
Bentuk pernyataan
for
:
for(ungkakapan1;ungkapan2;ungkapan3)
pernyataan;
Keterangan :
ungkakapan1
merupakan pernyataan inisialisasi awal dari perulangan
for
ungkakapan2merupakan kondisi yang menentukan pengulangan terhadap
pernyataanatau tidak
ungkakapan2digunakan sebagai pengatur variabel yang digunakan dalam
ungkakapan1Algoritmik
Pseudocode Cetak_Angka_For
// Akan dicetak angka 1 sampai 10 dengan perulangan for
//DEKLARASI int i
//DESKRIPSI {
for(i=1; i<=10; i++) {
write(i) }
}
{
contoh program perulangan for }
uses crt; {memanggil unit crt} var
i : integer; begin
clrscr;
for i := 1 to 10 do
writeln('Isi i = ',i); readln;
end.
Pseudocode Cetak_bilangan_genap_for
// Akan dicetak bilangan genap dengan batas akhir diinputkan
//DEKLARASI
int batas_akhir
//DESKRIPSI {
read(batas_akhir) for(i=1; i<=10; i++) {
if( i%2 = 0) write(i) }
}
Hasil eksekusi :
Jumlah perulangan : 30
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
Pascal
{
Mencetak bilangan genap dengan perulangan for }
uses crt; {memanggil unit crt} var
i : integer;
batas_akhir : integer; begin
clrscr;
write('Jumlah perulangan : '); readln(batas_akhir);
for i := 1 to batas_akhir do if (i mod 2 = 0) then write(i,' '); readln;
end.
for bersarang (Nested for)
for
bersarang merupakan pernyataan for yang berada dalam pernyataan
for
(
for
dalam
for
). Sebagai
contoh misalkan akan dibentuk segitiga yang tersusun dari karakter * dengan
for
bersarang.
*
**
***
****
*****
Algoritmik
Pseudocode Segitiga_Bintang
// Dicetak karakter * yang membentuk bangun segitiga
int tinggi
//DESKRIPSI {
read(tinggi)
for(i=1;i<=tinggi;i++) for(j=1;j<=i;j++) write(‘*’) endl
}
Pascal
{
Contoh for bersarang }
uses crt; {memanggil unit crt} var
i,j,tinggi : integer; begin
clrscr;
write('Tinggi segitiga : '); readln(tinggi);
for i := 1 to tinggi do begin
for j := 1 to i do write('* ');
writeln; end; readln;
end.
2.
Pernyataan while
Pernyataan
while
berfungsi untuk mengulang satu atau beberapa pernyataan sebanyak syarat yang
diberikan dengan cara syarat diuji terlebih dahulu baru mengerjakan pernyataan.
Bentuk pernyataan
while
:
while (ungkapan)
pernyataan;
pernyataan
yang mengikuti
while
akan dikerjakan jika
ungkapanyang diuji bernilai benar (sama
dengan 1). Pada pernyataan
while
,
ungkapanakan diuji terlebih dahulu sebelelum
pernyataandikerjakan, sehingga ada kemungkinan bagian
pernyataanpada
while
tidak akan dikerjakan sama
sekali jika
ungkapanyang diuji bernilai salah (sama dengan nol).
Algoritmik
Pseudocode Cetak_Angka_While
//DEKLARASI int i
//DESKRIPSI {
i = 1
while(i<=10) {
write(i) i++ } }
Pascal
{
Contoh program menggunakan while }
uses crt; {memanggil unit crt} var
i : integer; begin
clrscr; i := 1;
while (i <= 10) do begin
writeln('Isi i = ',i); i := i + 1;
end; readln; end.
Algoritmik
Pseudocode Cetak_bilangan_genap_while
// Akan dicetak bilangan genap dengan batas akhir diinputkan
//DEKLARASI
int batas_akhir
//DESKRIPSI {
read(batas_akhir) i = 1
for(i; i<=10; i++) {
if( i%2 = 0) write(i) }
}
Pascal
{
}
uses crt; {memanggil unit crt} var
i,batas_akhir : integer; begin
clrscr; i := 1;
write('Jumlah perulangan : '); readln(batas_akhir);
while (i <= batas_akhir) do begin
if (i mod 2 = 0) then write(i,' '); i := i + 1;
end; readln; end.
3.
Pernyataan do...while
Pernyataan
do...while
berfungsi untuk mengulang satu atau beberapa pernyataan sebanyak syarat
yang diberikan dengan cara syarat diuji setelah pernyataan dikerjakan.
Bentuk pernyataan
do...while
:
do
pernyataan; while (ungkapan);
pernyataan
yang mengikuti
do...while
akan dikerjakan terlebih dahulu, setelah itu baru diuji
ungkapan dalam
while,
jika
ungkapanyang diuji bernilai benar (sama dengan 1) maka pernyataan
akan dikerjakan kembali, begitu seterusnya sampai ungkapan yang diuji bernilai salah (sama
dengan nol).
Algoritmik
Pseudocode Cetak_Angka_do_While
// Akan dicetak angka 1 sampai 10 dengan perulangan do…while
//DEKLARASI int i
//DESKRIPSI {
i = 1 do {
write(i) i++
} while(i<=10) }
Pascal
{
Contoh program perulangan dengan repeat...until }
i : integer; begin
clrscr; i := 1; repeat
writeln('Isi i = ',i); i := i + 1;
until(i > 10); readln;
end.
Algoritmik
Pseudocode Cetak_bilangan_genap_do_while
// Akan dicetak bilangan genap dengan batas akhir // diinputkan
//DEKLARASI
int batas_akhir
//DESKRIPSI {
read(batas_akhir) i = 1
do {
if( i%2 = 0) write(i)
} while ( i <= batas_akhir) }
Pascal
{
Mencetak bilangan genap menggunakan repeat...until }
uses crt; {memanggil unit crt} var
i,batas_akhir : integer; begin
clrscr; i := 1;
write('Jumlah perulangan : '); readln(batas_akhir);
repeat
if (i mod 2 = 0) then write(i,' '); i := i + 1;
until(i > batas_akhir); readln;