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.



 3:22 AM
3:22 AM



0 comments:
Post a Comment