BAB I
PEMROGRAMAN PASCAL
Penggunaan Turbo
Pascal
Dari modus prompt DOS,
hal yang dilakukan sbb:
A:\> turbo
Menu dalam Pascal :
a. File (Alt-F)
Load / Pick :
untuk mengambil program yang sudah
ada di disk kerja.
New :
untuk membuat program baru.
Save :
untuk menyimpan program.
Write to :
untuk merekam program ke suatu file.
Directory :
untuk menampilkan directory.
Change dir :
untuk mengganti direktory yang aktif.
OS Shell :
untuk menjalankan perintah-printah DOS
Quit :
mengakhiri turbo Pascal dan kembali
keprompt DOS
b. Edit (Alt-E)
Digunakan untuk keperluan memperbaiki
program.
c. Run
(Alt-R)
Digunakan untuk
menjalankan program yang
ada dijendela edit.
d. Compile (Alt-C)
Digunakan untuk
mengkompilasi program.
Destination Memory
(disimpan di memory).
Destination Disk
(disimpan di disk dengan ext .EXE).
e. Options (Alt-O)
Digunakan untuk
mengatur/menentukan kembali bagaimana
F1-help, F2-Save
F3-new file, F4-import data, F9-expand, F10-contract
dan Esc-exit integrated environment
bekerja.
f. Debug dan
Break/Watch (Alt-D & Alt-B)
Digunakan untuk melacak
program.mengaktifkan Debug & Break/Watch.
** Cat :
tekan Esc untuk meninggalkan menu.
Struktur Program
Pascal
Secara ringkas, struktur suatu program Pascal dapat
terdiri dari :
1. Judul Program
2. Tubuh Program
Tubuh program dibagi
menjadi dua bagian utama :
a. Bagian deklarasi
- deklarasi label
- deklarasi konstanta
- deklarasi tipe
- deklarasi variabel/perubah
- deklarasi prosedur
- deklarasi fungsi
b. Bagian Pernyataan/Terproses
Cat :
baris-baris komentar untuk
memperjelas program diletakkan
diantara tanda (* dan *) atau {
dan } .
1. Judul program
Judul program
ini digunakan untuk memberi nama
program dan sifatnya optional.
Jika ditulis harus terletak pada
awal dari program dan
diakhiri dengan titik koma (;).
Contoh penulisan judul
program :
PROGRAM latihan;
PROGRAM
latihan(input,output);
PROGRAM lat_1;
PROGRAM
lat_satu(output);
2. Bagian
Pernyataan/Terproses
Bagian ini
adalah bagian yang akan terproses dan
terdapat dalam suatu blok
yang
diawali dengan
BEGIN dan diakhiri dengan END
(penulisan END diikuti dengan
tanda titik).
Bagian ini
berisi pernyataan / statamen
yang merupakan instruksi program.
Setiap statemen diakhiri
dengan tanda titik koma (;).
Bentuk umumnya adalah
sbb :
BEGIN
...
statemen;
statemen;
...
END.
3. Bagian deklarasi
Bagian ini
menjelaskan/memperkenalkan secara rinci semua data yang akan digunakan pada
suatu program. Dalam penulisannya tidak boleh
sama dengan kata-kata
cadangan (reserved
words) dan selalu diakhiri dengan titik
koma (;).
Deklarasi label
Deklarasi label digunakan Jika pada penulisan program
akan menggunakan
statemen GOTO (untuk
meloncat ke suatu statement tertentu).
Contoh :
PROGRAM cetak;
LABEL satu,akhir;
BEGIN
WRITELN('AMIK');
GOTO SATU;
WRITELN('INTELCOM');
satu:
WRITELN('GLOBAL');
GOTO akhir;
WRITELN('INDO');
akhir:
END.
Bila program di atas
dijalankan, output sbb :
AMIK
INTELCOM
Deklarasi
konstanta
Deklarasi ini digunakan
untuk mengidentifikasikan data yang nilainya sudah ditentukan dan pasti,
tidak dapat dirubah dalam program.
Contoh :
PROGRAM CETAK_2(OUTPUT);
CONST a = 50; (* selalu menggunakan tanda = *)
b = 'INDONESIA
Merdeka';
BEGIN
WRITELN(a,' TAHUN
');
WRITELN(b);
END.
Bila program
dijalankan, output sbb :
50 tahun
INDONESIA Merdeka
Deklarasi tipe
Deklarasi ini
digunakan untuk menyebutkan
tipe setiap data yang
akan digunakan pada program
Pascal. Tipe data menentukan jangkauan nilai yang mungkin dari data yang digunakan
Contoh :
PROGRAM SATU;
TYPE bulat = INTEGER;
{ selalu menggunakan = }
hasil,pecahan = REAL;
ket = STRING[20];
BEGIN
pecahan := 2.52;
bulat := 2;
hasil := pecahan +
bulat;
ket := 'hasil penjumlahan
= ';
WRITE(ket,hasil:4:2);
END.
Output program, sbb
: hasil penjumlahan = 4.52
Deklarasi
variabel/perubah
Deklarasi ini
berisi data-data yang bisa
berubah-ubah nilainya di
dalam program.
Deklarasi variabel
harus di letakkan setelah deklarasi
tipe (jika ada).
Contoh :
VAR satu : INTEGER;
dua : INTEGER;
a : REAL;
b :
REAL; { selalu menggunakan : }
BEGIN
satu := 5;
dua := 4;
a := 2.3;
b :=
5+4*2.3; { hasil real }
WRITE('hasil =
',b:4:1);
END.
Output program : hasil = 14.2
Program diatas bisa ditulis sbb :
VAR satu,dua :
INTEGER;
a,b : REAL;
BEGIN
...
statement;
...
END.
Contoh jika terdapat
deklarasi tipe :
TYPE
bilangan = integer;
VAR
satu,dua,a
: bilangan;
b : real;
BEGIN
...
statement;
...
END.
Deklarasi
prosedur dan Fungsi
Program dapat dibagi menjadi beberapa
bagian/subprogram, yang terdiri dari satu program utama dan satu / lebih
program bagian (bisa berupa
prosedur / fungsi). Deklarasi
prosedure/ fungsi terletak pada subprogram yang menggunakannya.
Tipe Data
Tipe Data dapat terletak pada deklarasi variabel
maupun padadeklarasi tipe.
Pascal menyediakan
beberapa macam tipe data, yang terdiri
dari :
1. Tipe data
sederhana/skalar, terdiri dari :
1.1. Tipe data
standar/predefinisi
1.1.1. bulat (integer)
1.1.2. real
1.1.3. karakter
1.1.4. string
1.1.5. logika
(boolean)
1.2. Tipe data
didefinisikan pemakai :
1.2.1. subjangkauan
(subrange)
1.2.2. terbilang
(enumerated)
2. Tipe data
terstruktur, terdiri dari :
2.1. larik (array)
2.2. rekaman (record)
2.3. berkas (file)
2.4. himpunan (set)
3. Tipe data penunjuk
(pointer)
1.1. Tipe data
standar
1.1.1. Tipe data
integer
Tipe integer
adalah bilangan yang tidak
mempunyai titik desimal/bilangan pecahan.
Integer terdiri dari
beberapa tipe, yaitu :
- byte, dengan jangkauan nilai 0..255
- shortint, dengan jangkauan nilai -128..127
- integer, dengan
jangkauan nilai -32768..32767
- word, dengan
jangkauan nilai 0..65535
- longint, dengan
jangkauan nilai
-2147483648..2147483647
Operator yang dapat
digunakan pada data tipe integer :
+,
penjumlahan
-,
pengurangan
*,
perkalian
div,
pembagian
mod,
sisa pembagian
Contoh :
VAR a,b,jumlah1,jumlah2 : INTEGER;
BEGIN
jumlah1:=10;
jumlah2:=3;
a:=jumlah1 DIV jumlah2;
b:=jumlah1 MOD jumlah2;
WRITELN('HASIL A = ',a);
WRITELN('HASIL B =',b);
END.
hasil program : hasil a = 3
hasil b = 1
1.1.2. Tipe data
real
Tipe real
adalah bilangan yang
mengandung pecahan, palingsedikit
harus ada satu
digit sebelum dan sesudah titik desimal.
Operator yang dapat
digunakan pada data tipe real adalah :
+
penjumlahan
- pengurangan
*
perkalian
/
pembagian
Contoh :
VAR nilai1,nilai2,hasil :
REAL;
BEGIN
nilai1 := 2.52;
nilai2 := 3.2;
hasil := nilai1 +
nilai2;
WRITE('HASIL
PENJUMLAHAN = ',hasil:4:2);
END.
Output program, sbb : hasil penjumlahan = 5.72
1.1.3. Tipe data
karakter
Nilai data
karakter berupa sebuah
karakter yang ditulis diantara tanda petik tunggal, misalnya :
'A', 'b', '@', dan sebagainya. Karakter yang dapat diterima oleh
komputer :
huruf besar/kecil : A,B,C,...,Z / a,b,...,z
digit : 1,2,3,...,9
operator aritmatika : * / + -
tanda baca : , . ; : ? !
simbol khusus : $
@ { } ( ) [ ] % #
spasi
Contoh :
VAR nilai : CHAR;
BEGIN
nilai :='A';
WRITELN('NILAI TERBAIK =
',nilai);
END.
hasilnya : nilai terbaik = A
1.1.4. Tipe data
string
Nilai data
string adalah satu
atau lebih karakteryang terletak
diantara tanda petik tunggal,
misal : 'INTELCOM'. Bila
panjang dari suatu string
di dalam deklarasi variabel tidak disebutkan, maka
dianggap panjangnya 255 karakter.
Contoh :
VAR kata1 : STRING[5];
kata2 : STING[9];
kata : CHAR;
BEGIN
kata1 :='AMIK';
kata2 :='INTELCOM';
kata :=' '; { karakter berupa spasi }
WRITELN(kata1,kata,kata2);
END.
hasil : AMIK INTELCOM
1.1.5. Tipe data
boolean
Data tipe boolean
mempunyai dua nilai, yaitu True dan False.
Contoh :
VAR
benar : BOOLEAN;
BEGIN
benar := TRUE;
WRITELN('benar = ',benar);
END.
hasil : benar = TRUE
1.2. Tipe data
Terdefinisi
1.2.1 Tipe data
subjangkauan
Tipe data
ini adalah tipe
data yang dapat
didefinisikan sendiri oleh
pemakai. Nilai data pada tipe ini
mempunyai jangkauan tertentu.
Misalkan nilai ujian mempunyai harga 0
sampai 100, maka nilai ujian dapat didefinisikan sbb :
TYPE
nilai =
0..100;
Contoh :
VAR sks : 1..4;
angkatan : 89..95;
nilai : 'A'..'E';
1.2.2. Tipe data
terbilang
Tipe data ini juga
dapat didefinisikan sendiri oleh pemakai. Disebut tipe terbilang karena semua
nilai disebut satu persatu.
Contoh :
TYPE hari =
(Senin,Selasa,Rabu,Kamis,Jum'at,Sabtu,Minggu);
hari_kerja =
(Senin,Selasa,Rabu,Kamis,Jum'at);
situasi = (senang,gembira,sedih,susah);
2.1. Tipe data larik
(array)
Larik (array) adalah
kumpulan data yang mempunyai tipe data sejenis. Daftar nomor telpon,
daftar kode mata kuliah, vektor, matrik
merupakan contoh larik.
Contoh penulisan
tipe larik berdimensi satu sbb :
CONST batas = 20;
VAR
telpon : ARRAY[1..3] OF STRING[7];{larik dengan nama telpon mempunyai 3 data dengan tipe string }
nilai
: ARRAY[1..5] OF INTEGER; {larik dengan nama nilai mempunyai 5 data dengan tipe integer}
gaji
: ARRAY[1..batas] OF REAL; {larik dengan
namagaji mempunyai 20 data
dengan tipe real}
Contoh larik yang
mempunyai tipe data terbilang atau
subjangkauan :
TYPE batas
= 0..100;
keadaan = (baru,lama,bagus,jelek);
VAR nilai : ARRAY[1..30] OF 'A'..'B'; {larik
dengan nama nilai mempunyai 30 data, dan
pengisian data yang diperbolehkan hanya A, B, C, D, E }
angka : ARRAY[1..50] OF batas; {larik dengan
nama angka mempunyai 50 data, dan
pengisian data yang diperbolehkan hanya 1,2,3,...,99,100}
baju
: ARRAY[1..10] OF keadaan; {larik Dengan nama
angka mempunyai 10 data,dan pengisian data yang diperbolehkan baru,
lama, bagus, jelek }
Contoh program :
VAR jumlah : INTEGER;
nilai : ARRAY[1..3] OF 'A'..'E';
angka : ARRAY[1..3] OF INTEGER;
BEGIN
nilai[1] := 'C';
nilai[2] := 'B';
nilai[3] := 'A';
angka[1] := 75;
angka[2] := 60;
angka[3] := 90;
jumlah :=
angka[1]+angka[2]+angka[3];
WRITELN('NILAI = ',angka[2],'
MENDAPAT ',nilai[1]);
WRITELN('JUMLAH = ',jumlah);
END.
hasil : nilai 60 mendapat C
jumlah = 225
Contoh penulisan tipe
larik berdimensi dua sbb :
VAR tabel : ARRAY[1..3,1..2] OF
BYTE; {larik tabel mempunyai 3 baris dan
2 kolom dengan tipe byte }
BEGIN tabel[1,1] := 5; { baris 1, kolom 1 }
tabel[1,2] := 7;
tabel[2,1] := 21; { baris 2, kolom 1 }
tabel[2,2] := 18;
tabel[3,1] := 8;
tabel[3,2] := 7;
WRITELN('BARIS 1 KOLOM 2 =
',tabel[1,2]);
END.
hasil : BARIS 1 KOLOM 2 = 7
2.2. Tipe data record dan file
( dibahas pada
pembahasan record dan file)
BAB
II
STATEMEN-STATEMEN
PADA PASCAL
RESERVED WORD
Reserved Word adalah kata-kata baku yang
digunakan dalam program dan mempunyai
bentuk serta kegunaan
tertentu yang telah didefinisikan oleh
Pascal.
Reserved Word
tidak boleh didefinisikan
kembali oleh pemakai, sehingga
tidak dapat
digunakan sebagai
pengenal (Identifier). Dalam
bahasa pemrograman Pascal, beberapa
Reserved Word tersebut adalah :
AND DOWNTO IN OF STRING
ASM ELSE
INHERITED OR THEN
ARRAY END INLINE PACKED TO
BEGIN EXPORTS INTERFACE PROCEDURE
TYPE
CASE FILE LABEL PROGRAM UNIT
CONST FOR LIBRARY RECORD
UNTIL
CONSTRUCTOR FUNCTION MOD REPEAT
DESTRUCTOR GOTO NIL SET
DIV
IF NOT SHL WHILE
DO IMPLEMENTATION OBJECT SHR
WITH VAR USES
Selain dari
Reserved Word di atas, Turbo Pascal
masih memiliki tambahan Reserved
Word berikut :
ABSOLUTE
ASSEMBLER()
FAR FORWARD INDEX
BEBERAPA STATEMEN
/ PERINTAH PADA PASCAL
Statemen adalah
perintah untuk pengerjaan program
pascal. Statemen terletak di bagian
deklarasi statemen
dengan diawali oleh kata cadangan BEGIN dan diakhiri dengan kata
cadangan END. Akhir
dari setiap statemen diakhiri dengan titik
koma(;). Statemen-
statemen dalam bahasa Pascal terdiri dari pernyataan
yang berupa fungsi dan prosedur
yang telah disediakan
sebagai perintah standar Turbo Pascal.
1. Statemen-statemen yang digunakan untuk
input/output
1.1.
READ/READLN(prosedur)
Digunakan untuk
memasukkan (input) data lewat
keyboard ke dalam suatu variabel.
Sintaks: READ/READLN(V);
Keterangan :
V = variabel.
READ = pada
statemen ini posisi kursor
tidak pindah ke baris selanjutnya.
READLN = pada statemen
ini posisi kursor
akan pindah ke baris selanjutnya
setelah di input.
1.2. READKEY(fungsi)
Untuk pembacaan
sebuah karakter dari
keyboard. Tipe data yang dihasilkan adalah
char.
Sintaks: READKEY;
1.3.
WRITE/WRITELN(prosedur)
Digunakan untuk
menampilkan isi dari suatu nilai variabel
di layar.
Sintaks: WRITE/WRITELN(V);
Keterangan :
V = variabel.
WRITE/WRITELN = sama dengan READ/READLN.
Contoh :
PROGRAM in_out;
USES CRT;
VAR nm : STRING;
npm : STRING;
BEGIN
CLRSCR;
WRITELN('masukkan
nama dan NPM ');
WRITELN('------------------------------');
WRITE('nama anda
: ');
READLN(nm);
WRITELN('NPM anda
: ');
READLN(npm);
END.
Bila dijalankan
hasilnya adalah:
masukkan nama dan NPM
------------------------------
nama anda : ( di input
)
NPM anda : ( di input )
2. Statemen-statemen yang digunakan untuk pengaturan
letak di
layer
2.1.
CLRSCR(prosedur)
Digunakan untuk
membersihkan layar.
sintaks: CLRSCR;
2.2.
GOTOXY(prosedur)
Untuk menempatkan
posisi kursor pada layar.
Sintaks: GOTOXY(X, Y: Byte);
Keterangan :
X = sumbu X (posisi
horisontal), Y = sumbu Y (posisi vertikal)
2.3.
DELLINE(prosedur)
Untuk menghapus sebuah
baris pada posisi kursor dan menaikkan baris-baris
dibawahnya.
Sintaks: DELLINE;
2.4. INSLINE(prosedur)
Untuk menyisipkan sebuah baris pada posisi kursor
dan menggeser kebawah tampilan-
tampilan baris
dibawahnya.
Sintaks: INSLINE;
2.5. DELAY(prosedur)
Untuk menghentikan
sejenak proses program.
Sintaks: DELAY(MS: Word);
Keterangan : MS = ukuran waktu dalam milisecond.
Contoh :
PROGRAM LAYAR;
USES CRT;
VAR x : CHAR;
BEGIN
CLRSCR;
GOTOXY(35,10);WRITELN('AMIK
INTELCOM);
WRITE(tunggu
sebentar...!!');
DELAY(5000);
INSLINE;
GOTOXY(35,11);WRITELN('Top
Banget Dech ...');
GOTOXY(01,13);WRITELN('Tekan
Enter !');
DELAY(1000);
GOTOXY(15,12);
DELLINE;
READ(x);
END.
Hasilnya adalah :
AMIK
INTELCOM
Top
Banget Dech ...
tunggu sebentar...!
Tekan Enter !
3. Statemen yang
digunakan untuk memanipulasi string
3.1. CONCAT(fungsi)
Untuk menggabungkan 2
atau beberapa variabel string.
Sintaks: CONCAT(s1 [,s2,...,sn]: String) : STRING;
contoh: CONCAT('ABC','DEF') { ABCDEF }
3.2. COPY(fungsi)
Mengambil satu(1) atau
beberapa karakter dari sebuah string.
Sintaks: COPY(S,Index,Count) : String;
Keterangan :
S = sebuah string (string).
Index = posisi
awal kita akan mengambil
beberapa karakter (integer)
Count = banyaknya karakter yang akan diambil (integer).
3.3.
DELETE(prosedur)
Menghapus sebagian
karakter dari sebuah string.
Sintaks: DELETE(S,Index,Count);
Keterangan : sama dengan statemen
COPY.
3.4.
INSERT(prosedur)
Menyisipkan satu(1) atau beberapa karakter ke dalam
sebuah string.
Sintaks: INSERT(Source,var S,Index);
Keterangan :
Source = sumber string
untuk disisipi (string)
var S = string tujuan yang akan disisipi oleh string Source (string)
Index = posisi mulai (integer).
3.5. LENGTH(fungsi)
Memberikan nilai panjang dari suatu string (jumlah karakterdalam string).
Sintaks: LENGTH(S);
Keterangan :
S = string
LENGTH(S) menghasilkan
nilai integer.
3.6. POS(fungsi)
Mencari posisi
sebuah bagian string
(substring) didalam sebuah
string.
Sintaks: POS(Substr,S); {menghasilkan nilai Byte}
Keterangan :
Substr =
substring yang akan dicari
posisinya di dalam sebuah string
S. Bila
bernilai 0 berarti
nilai string yang dicari tidak ada.
3.7. STR(prosedur)
Merubah nilai numerik
ke dalam nilai string.
Sintaks: STR(N,S);
Keterangan :
N = data tipe
integer,
S = data tipe string.
3.8. VAL(prosedur)
Merubah nilai string ke
dalam nilai numerik.
Sintaks: VAL(S,N,P);
Keterangan :
S = nilai string,
N = nilai real,
P = posisi salah.
Nilai string harus
berisi angka, plus atau minus, bila
tidak berarti kesalahan dan letak
kesalahannya
ditunjukkan oleh variabel posisi salah. Jika benar, maka nilai variabel tsb = 0
(nol).
3.9. UPCASE(fungsi)
Memberikan huruf
kapital dari argumen.
Sintaks: UPCASE(S);
Keterangan :
S = variabel bertipe
karakter.
Contoh :
PROGRAM mani_string;
USES CRT;
VAR s : STRING;
l : INTEGER;
h : STRING;
CONST a='STMIK';
b='STIE ';
c='GUNADARMA';
BEGIN
CLRSCR;
s:=CONCAT(a,b,c);
WRITELN(s);
INSERT(' & ',s,6);
WRITELN(s);
DELETE(s,7,7);
WRITELN(s);
h:=COPY(s,1,5);
WRITELN(h);
l:=LENGTH(s);
WRITELN('Panjangnya string
S : ',l);
WRITELN('Posisi
"GUNA" pada nilai S : ',POS('GUNA',s));
END.
Hasilnya adalah :
STMIKSTIE
GUNADARMA
STMIK &
STIE GUNADARMA
AMIK INTELCOM
STMIK
Panjangnya
string S : 15
Posisi
"GUNA" pada nilai S : 7
4. Statemen-statemen
untuk perhitungan aritmatik
4.1. ABS(fungsi)
Memberikan nilai mutlak
dari suatu argumen.
Sintaks: ABS(x);
4.2. ARCTAN(fungsi)
Memberikan nilai dari
fungsi arctangent dari perhitungan goniometri.
Sintaks: ARCTAN(x);
Dimana x dapat bertipe
real atau integer dan akan menghasil kan
nilai bertipe real.
4.3. COS(fungsi)
Memberikan nilai dari fungsi
Cosinus.
Sintaks: COS(x);
4.4. EXP(fungsi)
Menghitung nilai
pangkat dari bilangan e
(bilangan alam),
yaitu sebesar x.
Sintaks: EXP(x);
x
dapat bertipe real atau integer dan
akan menghasilkan nilai bertipe
real.
4.5. FRAC(fungsi)
Untuk mendapatkan nilai
pecahan dari suatu bilangan.
Sintaks: FRAC(x);
Tipe dari x sama seperti yang diatas.
4.6. INT(fungsi)
Memberikan nilai
integer (bilangan bulat) dari suatu variabel dengan membuang bilangan
di belakang koma.
Sintaks: INT(X);
4.7. LN(fungsi)
Digunakan untuk
menghitung nilai logaritma alam
(natural logarithm) dari nilai x.
Sintaks: LN(x);
4.8. SIN(fungsi)
Memberikan nilai dari
fungsi Sinus.
Sintaks: SIN(x);
4.9. SQR(fungsi)
Digunakan untuk menghitung nilai pangkat kuadrat
dari suatu bilangan.
Sintaks: SQR(x);
Tipe dari x bisa berupa real
maupun integer. Dan hasilnya akan sama
dengan tipe
dari x.
4.10. SQRT(fungsi)
Digunakan untuk
menghitung nilai akar dari suatu bilangan.
Sintaks: SQRT(x);
Contoh :
PROGRAM Aritmatik;
USES CRT;
VAR x : REAL;
BEGIN
CLRSCR;
WRITE('masukkan nilai dari
X = ');
READLN(x);
IF x<0 THEN x:=ABS(x);
WRITELN('Nilai X =
',x:5:2);
WRITELN('Nilai
eksponentialnya = ',EXP(x):9:3);
WRITELN('Nilai logaritma
alamnya = ',LN(x):9:3);
WRITELN('Nilai integernya =
',INT(x):5:2);
WRITELN('Nilai
fraksionalnya = ',FRAC(x):5:2);
WRITELN('Nilai X
dipangkatkan = ',SQRT(x):9:3);
WRITELN('Nilai X diakarkan
= ',SQRT(x):9:3);
WRITE('Nilai X jika
dimasukkan dalam ');
WRITELN('fungsi
SIN,COS,TANGEN : ');
WRITELN('- Sinus =
',SIN(x):9:3);
WRITELN('- Cosinus =
',COS(x):9:3);
WRITELN('- Tangen = ',ARCTAN(x):9:3);
END.
Hasilnya :
masukkan nilai dari X = -2.5
Nilai X = 2.50
Nilai eksponensialnya =
12,182
Nilai logarima alamnya = 0,196
Nilai integernya = 2.00
Nilai fraksionalnya = 0.50
Nilai X dipangkatkan = 6.250
Nilai X diakarkan = 1.581
Nilai X jika dimasukkan
dalam fungsi SIN,COS,TANGEN :
- Sinus = 0.598
- Cosinus = -0.801
- Tangen = 1.190
5. Statemen-statemen
untuk transfer nilai dari suatu variable
5.1. CHR(fungsi)
Merubah nilai dari byte
ke bentuk karakter yang sesuai dengan kode ASCII.
Sintaks: CHR(x);
Keterangan : x bertipe byte
contoh : WRITELN(CHR(61);
hasilnya : a
5.2. ORD(fungsi)
Merubah nilai suatu variabel dari bentuk karakter
ke bentuk longint.
Sintaks: ORD(X);
Keterangan : x bertipe char
contoh : WRITELN(ORD('B');
hasilnya : 42
5.3. ROUND(fungsi)
Membulatkan data tipe
real ke data tipe longint.
Sintaks: ROUND(X);
Keterangan : Jika nilai pecahan < 0,5 maka
dibulatkan kebawah.
Jika nilai pecahan > 0,5 maka dibulatkan keatas.
contoh : WRITELN('10/3 dibulatkan
= ',ROUND(10/3));
hasilnya : 10/3 dibulatkan = 3
5.4. TRUNC(fungsi)
Membulatkan kebawah
data tipe real ke data tipe longint.
Sintaks: TRUNC(X);
contoh :
WRITELN('20/3 dibulatkan kebawah
= ',TRUNC(20/3));
hasilnya : 20/3 dibulatkan
kebawah = 6
6. Statemen-statemen
untuk memanipulasi data
6.1. PRED(fungsi)
Memberikan nilai
sebelum nilai argumen dalam urutannya
dalam ASCII.
Sintaks: PRED(x);
6.2. SUCC(fungsi)
Memberikan nilai
sesudah nilai argumen dalam urutannya
dalam ASCII.
Sintaks: SUCC(x);
6.3. INC(fungsi)
Menambah (increments)
nilai suatu variabel.
Sintaks: INC(x,i); {i >= 1}
6.4. DEC(fungsi)
Mengurangi (decrements)
nilai suatu variabel.
Sintaks: DEC(x,i); {i >=1}
Contoh :
PROGRAM Mani_data;
USES CRT;
TYPE
hari =
(hr0,hr1,hr2,hr3,hr4,hr5,hr6,hr7)
VAR
urutanhr : hari;
CONST
namahr : ARRAY[hr1..hr7] OF
STRING[6]=
('Senin','Selasa','Rabu','Kamis',
'Jumat','Sabtu','Minggu');
BEGIN
WRITELN('DAFTAR NAMA HARI');
urutanhr := hr0;
WHILE Urutanhr < hr7 DO
BEGIN
urutanhr :=
SUCC(urutanhr);
WRITE('hari ke
',ORD(Urutanhr):2,' adalah ');
WRITELN(namahr[urutanhr]);
END;
END.
hasilnya adalah :
DAFTAR NAMA HARI
hari ke 1 adalah Senin
hari ke 2 adalah Selasa
hari ke 3 adalah Rabu
hari ke 4 adalah Kamis
hari ke 5 adalah Jumat
hari ke 6 adalah Sabtu
hari ke 7 adalah Minggu
7. Statemen-statemen tambahan (warna,suara dan
window)
7.1.
TEXTCOLOR(prosedur)
Untuk mengatur warna
dari karakter-karakter di layar.
Sintaks: TEXTCOLOR(color : Byte);
Catatan : untuk pilihan warna
lihat pada buku Turbo Pascal.
7.2.
TEXTBACKGROUND(prosedur)
Untuk mengatur warna
latar belakang dari karakter-karakter dilayar.
Sintaks: TEXTBACKGROUND(Color : Byte);
7.3.
WINDOW(prosedur)
Untuk membuat
suatu jendela (window) yang
terletak pada layar.
Sintaks: WINDOW(x1,x2,y1,y2 : Byte);
x1,x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar.
y1,y2 = kordinat
kanan bawah dgn
nilai maksimal sesuai dengan mode layar.
7.4.
TEXTMODE(prosedur)
Untuk mengatur lebar
layar, 80 kolom atau 40 kolom.
Sintaks: TEXTMODE(Mode: Byte);
Default = C80
7.5. SOUND(prosedur)
Untuk mengaktifkan
suara(beep) pada internal speaker.
Sintaks: SOUND(Hz : word);
Untuk
mengnonaktifkannya, gunakan statemen NOSOUND.
Contoh :
PROGRAM Layar2;
USES CRT;
BEGIN
CLRSCR;
WINDOW(5,5,20,75);
TEXTBACKGROUND(RED);
TEXTCOLOR(YELLOW);
SOUND(220);
GOTOXY(10,7);
WRITELN('Laboratorium
Komputer');
GOTOXY(11,7);
WRITELN('Manejemen
Informatika');
NOSOUND;
END.
Statement
Input/Output
contoh latihan untuk proses Input/Output
Contoh
1. Buatlah program
seperti berikut ini :
Algoritma Penjualan
{Algoritma ini menghitung Pembelian barang dengan nama,
kode, jumlah dan harga di inputkan dari
piranti masukkan dan
jumlah bayar di hitung dengan rumus jumlah di
kali harga.
Jumlah pembayaran ditampilkan di piranti
output }
Deklarasi
Nama, kode : String
Jumlah : Integer
Harga, bayar: real
Deskripsi :
Read (nama, kode, jumlah, harga)
bayar ← jumlah x harga
Write (nama, kode, jumlah, harga, bayar)
Program Penjualan; {
Heading program }
Uses Crt;
Var {Bagian Deklarasi }
Nama : String[20],
Kode : String[5];
Jumlah : integer;
Harga,Bayar : Real;
Begin (* Bagian
Pernyataan *)
(* ========= Input
========= *)
Clrscr; (* Menghapus
layar *)
Write (‘Masukkan Nama
Barang = ‘);Readln (Nama);
Write (‘Masukkan Kode
Barang = ‘);Readln (Kode);
Write (‘Masukkan Jumlah
Barang = ‘);Readln (Jumlah);
Write (‘Masukkan Harga
Barang = ‘);Readln (Harga);
(* ========= Proses
========= *)
Bayar := Jumlah *
Harga;
(* ========= Keluaran
======== *)
Clrscr;
Writeln (‘Daftar
Penjualan TOKO LARIS ‘);
Writeln (‘SEMARANG ‘);
Writeln
(‘======================== ‘);
Writeln
(‘Nama Barang = ‘, Nama
);
Writeln
(‘Kode Barang = ‘,Kode
);
Writeln
(‘Jumalh Barang =
‘,Jumlah );
Writeln
(‘Harga Barang =
‘,Harga : 8:2);
Writeln(‘Jumlah
Pembayaran = ‘,Bayar : 8:2);
Readln;
End.
2. Ketikkan program
berikut :
Uses Crt;
Var
Warna : byte;
Begin
Warna :=2;
Clrscr;
Window(40,5,70,25);
Textcolor(Warna);
Write(‘Bahasa Pascal
OYE’);
End.
SOAL-SOAL :
Soal I :
Buatlah program
dibawah ini dengan
tampilan menggunakan
perintah Window,
Textcolor,
Textbackground, Gotoxy, dan
Sound untuk memperindah tampilan.
1. Mengubah derajat temperatur, dari derajat
Celcius ke derajat Fahreinheit dan
Reamur (derajat Celcius
diinput
2. Menghitung Luas dan Keliling lingkaran,
dengan jari-jari diketahui (diinput).
3. Menghitung Luas dan Keliling segitiga
sembarang yang diketahui ke tiga
sisinya.
4. Mencari nilai Sinus, Cosinus, dan Tangen
dengan sudut diinput.
5. Mencari akar dan kuadrat dari suatu nilai
(nilai diinput).
6. Mencari nilai bulat dan pecahan dari suatu
nilai yang dimasuk kan melalui
keyboard (diinput).
Nilai pecahan tersebut dibulatkan sampai 3 angka
dibelakang koma (,).
7. Tampilkan nama dan NPM anda di dalam window,
dan terletak pada tengah-
tengah layar.
8. Tampilkan tulisan 'AMIK INTELCOM' di dalam
window pada pojok
kanan atas dengan
ukuran window sama dengan tulisan tersebut.
Soal II :
Buatlah program pada soal jenis I (no. 1-6)
dengan tampilan menggunakan 2 window.
Window yang pertama
digunakan untuk nilai yang diinput. Window yang kedua untuk
hasil dari program
(output).
Soal III :
1. Buatlah program untuk menggabungkan 2 buah
kata yang diinput. Setiap kata
yang diinput harus
berada didalam window yang dan
hasilnya berada pada
window yang berbeda
pula.
BAB
III
BENTUK
- BENTUK PERULANGAN DAN PENYELEKSIAN KONDISI
BENTUK - BENTUK
PERULANGAN
Dalam hampir setiap program yang kompleks
mutlak memerlukan suatu perulangan
dan percabangan. Tujuan
perulangan disini adalah untuk mengulang
statement atau blok
statement berulang kali
sesuai sejumlah yang ditentukan pemakai. Dalam materi ini akan
memberikan gambaran
konsep dasar dari pengertian diatas.
1. Perulangan FOR
Perulangan dengan
statemen FOR digunakan untuk
mengulang statemen atau suatu
blok statemen berulang
kali. Perulangan dengan statemen FOR dapat berupa perunlangan positif dan
perulangan negatif.
Perulangan FOR
positif
Contoh :
Perulangan positif untuk satu
statement :
USES CRT;
VAR
i : INTEGER;
BEGIN
FOR i := 1 TO 5 DO WRITELN('AMIK INTELCOM');
END.
Maka bila program diatas dicompile
hasilnya :
AMIK INTELCOM
AMIK INTELCOM
AMIK INTELCOM
AMIK INTELCOM
AMIK INTELCOM
Penjelasan : Berati
statemen AMIK INTELCOM akan diulang
sebanyak 5 kali yaitu
dengan menghitung nilai
i dari i ke 1 sampai nilai i terakhir yaitu i ke 5.
Contoh dengan menggunakan blok statement:
Cara penulisannya
dengan pada awal blok diawali dengan BEGIN dan pada
akhir blok diakhiri
dengan END;
USES CRT;
VAR
i : INTEGER;
BEGIN
FOR i:= 1 TO 10 DO
BEGIN
WRITELN('AMIK
INTELCOM'); { blok statement }
END;
END.
Hasil
yang akan didapat akan sama dengan contoh yang
pertama, tapi yang harus
diingat disini untuk
penggunaan blok pada perulangan FOR
biasanya mempunyai
banyak statement (lebih
dari 1 statement)
Contoh 3 :
Peggunaan perulangan FOR dalam blok
statement untuk membuat tabel
USES CRT;
VAR
a,b,c : INTEGER;
bagi : REAL;
BEGIN
WRITELN('----------------------------------------------');
WRITELN(' a a*a a*a*a 1/a ');
WRITELN('----------------------------------------------');
FOR a:= 1 TO 10 DO
BEGIN
b:= a*a;
c:=a*a*a;
bagi := 1/a;
WRITELN(a:4,c:10,d:10,bagi:12:3);
END;
WRITELN('----------------------------------------------');
END.
maka hasilnya :
----------------------------------------------
a a*a
a*a*a 1/a
----------------------------------------------
1 1 1 1.000
2 4 8 0.500
3 9 27 0.333
4 16
64 0.250
5 25 125 0.200
6 36 216 0.167
7 49 343 0.143
8 64 512 0.125
9 81 729 0.111
10 100 1000 0.100
----------------------------------------------
Perulangan FOR
negatif
Perulangan negatif
adalah perulangan dengan menghitung (counter) dari besar ke kecil. Statement
yang digunakan adalah FOR-DOWNTO-DO
Contoh :
USES CRT;
VAR
i : INTEGER ;
BEGIN
FOR i := 10 DOWNTO 1 DO
WRITE(i:3);
END.
Hasil :
10 9
8 7 6
5 4 3
2 1
Perulangan FOR
tersarang
Perulangan FOR tersarang adalah perulangan FOR yang
berada pada perulangan yang lainnya. Perulangan yang lebih dalam
akan diproses terlebih dahulu
sampai habis,
kemudian perulangan
yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan
seterusnya.
Contoh :
VAR
a,b : INTEGER;
BEGIN
FOR a := 1 TO 3 DO
BEGIN
FOR b := 1 TO 2 DO WRITE(a :4,b:2);
WRITELN;
END;
END.
Hasil :
1 1 1 2
2 1 2 2
3 1 3 2
2. Perulangan
WHILE-DO
Penyeleksian kondisi
digunakan untuk agar
program dapat menyeleksi kondisi,
sehingga program dapat menentukan tindakan apa yang harus
dikerjakan, tergantung dari
kondisi yang diseleksi tersebut. Perulangan WHILE-DO tidak dilakukan jika
kondisi tidak terpenuhi.
Contoh :
USES CRT;
VAR i : INTEGER;
BEGIN
i := 0;
WHILE i < 5 do
BEGIN
WRITE(i:3);
INC(i); { sama dengan i:=i+1 }
END;
END.
Hasilnya :
0 1
2 3 4
Perulangan
WHILE-DO tersarang
Perulangan WHILE-DO
tersarang (nested WHILE-DO) merupakan perulangan WHILE-DO yang satu di dalam perulangan WHILE-DO
yang lainnya.
Contoh :
USES CRT;
VAR
a, b : INTEGER;
BEGIN
CLRSCR;
a:=1;
b:=1;
WHILE a < 4 DO { loop selama a masih lebih kecil dari 4 }
BEGIN
a := a+1;
WHILE b < 3 DO { loop
selama b masih lebih kecil dari 3 }
BEGIN
WRITE(a:3,b:2);
b:=b+1;
END;
END;
READLN;
END.
3. Perulangan
REPEAT-UNTIL.
REPEAT-UNTIL digunakan
untuk mengulang statement-statemen atau blok statement sampai
(UNTIL) kondisi yang diseleksi di UNTIL tidak terpenuhi. Sintak dari statement
ini adalah :
Contoh
VAR
i : INTEGER;
BEGIN
i:=0;
REPEAT
i:= i+1;
WRITELN(i);
UNTIL i=5;
END.
hasil :
1
2
3
4
5
REPEAT-UNTIL tersarang
REPEAT-UNTIL tersarang adalah suatu perulangan REPEAT-UNTIL yang satu berada
didalam perulangan
REPEAT-UNTIL yang lainnya.
Contoh :
VAR
a,b,c : REAL;
BEGIN
WRITELN('========================================');
WRITELN(' sisi A sisi B Sisi C ');
WRITELN('
=======================================');
a:= 1;
REPEAT { perulangan luar }
b := 0;
REPEAT { perulangan dalam }
c:=SQRT(a*a+b*b);
WRITELN(a:6:2, b:9:2, c:9:2);
b:=b+5;
UNTIL b>25;
{ berhenti jika b lebih besar
dari 5 untuk
perulangan dalam }
a:=a+1;
UNTIL a>3;
{ berhenti jika a lebih besar
dari 3 untuk
perulangan luar
}
WRITELN('
=======================================');
END.
BAB
IV
STATEMENT
KENDALI
BENTUK-BENTUK PERCABANGAN / PENYELEKSIAN
KONDISI
1. IF-THEN
Bentuk struktur IF-THEN
adalah sebagai berikut :
IF Kondisi THEN
Statement
Ungkapan adalah
kondisi yang diseleksi oleh
statement IF. Bila kondisi yang
diseleksi
terpenuhi, maka
statement yang mengikuti THEN akan
diproses, sebaliknya bila kondisi
tidak terpenuhi, maka yang akan diproses statement
berikutnya.
Misalnya :
IF Pilihan = 2 THEN
BEGIN { jika kondisi terpenuhi, Yaitu jika
pilihan = 2 }
......
......
END
ELSE { jika kondisi tidak terpenuhi, yaitu
jika pilhan
tidak sama dengan 2}
BEGIN
.......
.......
END;
Contoh Program :
USES CRT;
VAR
Nilai : REAL;
BEGIN
WRITE('Jumlah Nilai :');
READLN(nilai); {
Pemasukan data }
IF nilai >60 THEN {
seleksi kondisi variabel nilai }
WRITELN('Lulus') {
Dilaksanakan jika nilai
lebih besar dari 60 }
ELSE
WRITELN('Tidak lulus'); {
Dilaksanakan jika variabel nilai
lebih kecil dari 60 }
END.
Hasil :
Jika kita
Memasukan 40 pada varibel nilai,
Maka program diatas akan mencetak
Tidak
lulus.
IF tersarang
(nested IF)
Struktur IF tersarang merupakan bentuk dari suatu statement IF
berada di dalam
lingkungan statemen
IF yang
lainya. Bentuk statement IF
tersarang sebagai berikut :
IF kondisi1 THEN atau IF Kondisi1 THEN
IF kondisi2 THEN BEGIN
statemen1 IF
kondisi2 THEN
ELSE
statemen1
statemen2; ELSE
statemen2
END;
2. CASE-OF
Struktur CASE-OF
mempunyai suatu ungkapan logika yang disebut dengan selector dan
sejumlah statemen yang
diawali dengan suatu label
permasalahan (case label) yang
mempunyai tipe sama
dengan selector.
Statement yang
mempunyai case label yang bernilai sama dengan case label yang bernilai
sama dengan nilai
selector akan diproses sedang statemen
yang lainya tidak.
Bentuk struktur dari
CASE-OF :
CASE Variabel Kondisi OF
CASE- LABEL 1; STATEMENT 1;
CASE- LABEL 2; STATEMENT 2;
........
CASE- LABEL N; STATEMENT N;
END; { end dari case
}
Daftar
case label dapat berupa
konstanta, range dari konstanta yang bukan
bertipe real.
Contoh program ;
PROGRAM nilai;
VAR
nil : CHAR;
BEGIN
WRITE('Nilai Numerik yang didapat
:');
READLN(nil);
CASE nil OF
'A': WRITELN('SANGAT BAIK');
'B': WRITELN('BAIK');
'C': WRITELN('CUKUP');
'D': WRITELN('KURANG');
'E': WRITELN('SANGAT KURANG ');
END;
END.
hasil :
Nilai Numerik yang didapat : B
BAIK
Contoh listing program untuk dicoba :
1. Program input
data dengan array
PROGRAM
pemakaian_Array_Untuk_10_data_dengan_menggunakan_For;
USES CRT;
CONST
garis='------------------------------------------------------';
VAR
nil1,nil2 : ARRAY [1..10] OF
0..100; {Array dgn Type subjangkauan}
npm : ARRAY [1..10] OF STRING[8];
nama : ARRAY [1..10] OF STRING[15];
n,i,bar : INTEGER;
jum : REAL;
tl : CHAR;
BEGIN
CLRSCR;
{ pemasukan data dalam array }
WRITE('MAU ISI BERAPA DATA :');
READLN(N);
FOR i:= 1 TO n DO
BEGIN
CLRSCR;
GOTOXY(30,4+1); WRITE('DATA
KE-:',i:2);
GOTOXY(10,5+i);
WRITE('NPM :'); READLN(NPM[i]);
GOTOXY(10,6+i);
WRITE('NAMA :'); READLN(NAMA[i]);
GOTOXY(10,7+i); WRITE('NILAI
1 :'); READLN(NIL1[i]);
GOTOXY(10,8+i); WRITE('NILAI
2 :'); READLN(NIL2[i]);
END;
{ proses data dalam array }
CLRSCR;
GOTOXY(5,4); WRITE(GARIS);
GOTOXY(5,5); WRITE('NO');
GOTOXY(9,5); WRITE('NPM');
GOTOXY(18,5); WRITE('NAMA');
GOTOXY(34,5); WRITE('NIL.1');
GOTOXY(41,5); WRITE('NIL.2');
GOTOXY(47,5); WRITE('RATA');
GOTOXY(54,5); WRITE('ABJAD');
GOTOXY(5,6); WRITE(GARIS);
{
proses Cetak isi array dan seleksi kondisi }
bar:=7;
FOR i:= 1 TO n DO
BEGIN
jum:=(nil1[i]+nil2[i])/2;
IF jum>=90 THEN tl:='A'
ELSE
IF jum>80 THEN
tl:='B'
ELSE
IF jum>60 then
tl:='C'
ELSE
IF jum 50 THEN
tl:='D'
ELSE
tl:='E';
{ cetak hasil yang disimpan di array dan hasil }
{ penyeleksian kondisi }
GOTOXY(5,bar); WRITELN(i:2);
GOTOXY(9,bar);
WRITELN(NPM[i]);
GOTOXY(18,bar);
WRITELN(NAMA[i]);
GOTOXY(34,bar);
WRITELN(NIL1[i]:4);
GOTOXY(41,bar);
WRITELN(NIL2[i]:4);
GOTOXY(47,bar);
WRITELN(jum:5:1);
GOTOXY(54,bar); WRITELN(tl);
bar:=bar+1;
END;
GOTOXY(5,bar+1);WRITELN(garis);
READLN;
END.
2. Program jendela bergerak
PROGRAM Window_Bergerak_dgn_delay;
USES CRT;
VAR i : INTEGER;
BEGIN
FOR i:=1 TO 15 DO
BEGIN
SOUND(i*100);
DELAY(100);
NOSOUND;
END;
TEXTBACKGROUND(black);
CLRSCR;
FOR i := 1 TO 9 DO
BEGIN
TEXTBACKGROUND(white);
WINDOW(42-i*4,10-i,38+i*4,15+i);
CLRSCR;
DELAY(100);
END;
TEXTCOLOR(15);
GOTOXY(28,2);WRITELN('c');
GOTOXY(8,3); WRITELN('3');
GOTOXY(28,4); WRITELN('A');
TEXTCOLOR(black);
GOTOXY(44,3); WRITELN('3');
GOTOXY(44,2); WRITELN('&');
GOTOXY(29,4); WRITELN('U');
TEXTCOLOR(red*25);
GOTOXY(30,3); WRITELN('B E L A J
A R');
TEXTCOLOR(black);
GOTOXY(5,5); WRITE('c');
FOR i := 6 TO 64 DO
BEGIN
GOTOXY(i,5);WRITELN('');
END;
FOR i := 6 TO 20 DO
BEGIN
GOTOXY(5,i); WRITELN('3 ');
END;
GOTOXY(5,21); WRITELN(' ');
TEXTCOLOR(white);
GOTOXY(65,5); WRITE('U');
FOR i := 6 TO 65 DO
BEGIN
GOTOXY(i,21); WRITELN(' `);
END;
FOR i := 6 TO 20 DO
BEGIN
GOTOXY(65,i); WRITELN('3');
END;
GOTOXY(65,21); WRITELN('c');
TEXTCOLOR(yellow);
READLN;
END.
SOAL - SOAL :
Buatlah program
untuk soal dibawah ini dengan
tampilan sebagus mungkin
(gunakan perintah Window, Textcolor dll).
Jumlah suku sesuai dengan input
dari
keyboard.
1. Buat deret hitung
3,7,11,15,......................=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
2. Buat deret ukur 3,9,27,................................=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
3. Buat tabel deret bergoyang
1,-2,4,-8,...........=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
4. Buat deret suku harmonis
1,1/2,1/3,.............=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
5. Buat deret fibbonaci
1,1,2,3,5,.....................=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
6. Buat deret seperti berikut 1,-2,3,-4,.............=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
7. Buat deret kuadrat 1, 4,
9,............................=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
8. Buat deret seperti berikut 100, 90, 70 ,...........=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
9. Buat deret seperti berikut 256, 196,
144,............=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
10. Buat
deret seperti berikut 1, 1, 1,
2, 2, 3, 6, 4, 24, 5..........=?
Program akan berhenti jika pada
pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
11. Buatlah program untuk mencari
faktorial, sesuai dengan input yang
diminta.
12. Buatlah program
huruf yang berjatuhan sehingga membentuk suatu kalimat yang
telah diinput dari
keyboard .
LATIHAN:
1. Nama program: Latihan1.pas
Uses crt;
Var
Umur:byte;
Begin
Clrscr;
Write(‘Inputkan Umur:’); readln(umur);
If umur in [0..5] then writeln(‘Balita’);
Else if umur in [6..16] then writeln(‘Remaja’);
Else if umur in [17..99] then writeln(‘Dewasa’);
End.
2. Nama program: Latihan2.pas
Uses crt;
Var
Beli, bayar, disk : real;
Begin
Write(‘Jumlah Beli =’); readln(beli);
Disk:=0;
If beli>=50000 then disk:=beli*0.1;
Bayar:=beli-disk;
Writeln(‘Jumlah Bayar :’,bayar:10:2);
End.
3. Nama Program: Latihan3.pas
Uses crt;
Var
Nm: string[20];
Mtk: string[20];
Ket: string [10];
Nl: byte;
Begin
Writeln(‘Entri Nilai Mahasiswa’);
Writeln(‘____________________’);
Writeln(‘Nama :’);
readln(nama);
Writeln(‘Mata Kuliah :’);
readln(mtk);
Writeln(‘Nilai :’);
readln(nl);
Writeln(‘________________________’);
If nl>=60 then ket:=’Lulus’ else ket:=’Gagal’;
Writeln(‘Keterangan :’,ket);
Writeln(‘_________________________’);
End.
0 comments:
Post a Comment