statement pada bahasa pascal

1. Statemen-statemen yang digunakan untuk input/output. 

# Read/Readln [prosedur]. Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel. 
Sintaks: Read/Readln(x); (ingat, selalu diakhiri dengan titik koma [;]) 
Keterangan : x = 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. 

# ReadKey [fungsi]. Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang dihasilkan adalah char. 
Sintaks: ReadKey; 

# Write/Writeln [prosedur]. Digunakan untuk menampilkan isi dari suatu nilai variable dilayar. 
Sintaks: Write/Writeln(x); 
Keterangan : x = variabel. 
Write/Writeln= statement ini digunakan untuk mencetak variable ke dalam monitor 
Contoh : 
Program input; 
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 layar. 

# ClrScr [prosedur]. Perintah ini digunakan untuk membersihkan layar. 
sintaks: ClrScr; [Clear screen] 

# GotoXY[prosedur]. Untuk menempatkan posisi kursor pada layar. 
Sintaks: GotoXY(X, Y: Byte); 
Keterangan : X = sumbu X (posisi horisontal) 
Y = sumbu Y (posisi vertikal) 

# DelLine [prosedur]. Untuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris dibawahnya. 
Sintaks: DelLine; 

# InsLine [prosedur]. Untuk menyisipkan sebuah baris pada posisi kursor dan menggeser kebawah tampilan-tampilan baris dibawahnya. 
Sintaks: InsLine; 

# Delay [prosedur]. Untuk menghentikan sejenak proses program. 
Sintaks: Delay (MS: Word); 
Keterangan : variable MS = ukuran waktu dalam milisecond. 
Contoh : 
Program Layar; 
Uses Crt; 
Var x : Char; 
Begin 
ClrScr; 
GotoXY(35,10);Writeln (‘I Love Dinda'); 
Write (tunggu sebentar...!!'); 
Delay (5000); 
InsLine; 
GotoXY (35,11);Writeln ('Bayi sehatku'); 
GotoXY(01,13);Writeln ('Tekan Enter !'); 
Delay(1000); 
GotoXY(15,12); 
DelLine; 
Read(x); 
End. 
Hasilnya adalah : 
I Love Dinda 
Bayi sehatku 
tunggu sebentar...!! 
Tekan Enter ! 

3. Statemen yang digunakan untuk memanipulasi string. 

# ConCat[fungsi]. Untuk menggabungkan 2 atau beberapa variabel string. 
Sintaks: ConCat (s1 [,s2,...,sn]: String) : String; 
contoh: ConCat ('ABC','DEF') { ABCDEF } 

# Copy [fungsi]. Mengambil satu 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). 

# Delete [prosedur]. Menghapus sebagian karakter dari sebuah string. 
Sintaks: Delete (S,Index,Count); 
Keterangan : sama dengan statemen Copy. 

# Insert [prosedur]. Menyisipkan satu 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). 

# Length [fungsi]. Memberikan nilai panjang dari suatu string (jumlah karakter dalam string). 
Sintaks: Length (S); 
Keterangan : S = string 
Length(S) menghasilkan nilai integer. 

# 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 didalam sebuah string S. Bila bernilai 0 berarti nilai string yang dicari tidak ada. 

# Str [prosedur]. Merubah nilai numerik ke dalam nilai string. 
Sintaks: Str (N,S); 
Keterangan : 
N = data tipe integer, 
S = data tipe string. 

# 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). 

# UpCase [fungsi]. Memberikan huruf kapital dari argumen. 
Sintaks: UpCase (S); 
Keterangan : 
S = variabel bertipe karakter. 
Contoh : 
Program Man_String; 
Uses Crt; 
Var s : String; 
l : Integer;
h : String; 
Const a='Dinda'; 
b='Bayi '; 
c='Sehatku'; 
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 "Sehat" pada nilai S : ',POS('Sehat',s)); 
END. 
Hasilnya adalah : 
DindaBayiSehatku 
Dinda & Bayi Sehatku 
Dinda Sehatku 
Dinda 
Panjangnya string S : 16 
Posisi "Sehat" pada nilai S : 7 

4. Statemen-statemen untuk perhitungan aritmatik. 

# Abs [fungsi]. Memberikan nilai mutlak dari suatu argumen. 
Sintaks: ABS(x); 

# ArcTan[fungsi]. Memberikan nilai dari fungsi arctangent dari perhitungan goniometri. 
Sintaks: ArcTan (x); ‘dimana x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.’ 

# Cos [fungsi]. Memberikan nilai dari fungsi Cosinus. 
Sintaks: Cos (x); 

# 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. ‘

# Frac [fungsi]. Untuk mendapatkan nilai pecahan dari suatu bilangan. 
Sintaks: Frac (x); ‘Tipe dari x sama seperti yang diatas. ‘

# Int [fungsi]. Memberikan nilai integer (bilangan bulat) dari suatu variabel dengan membuang bilangan di belakang koma. 
Sintaks: Int (X); 

# Ln [fungsi]. Digunakan untuk menghitung nilai logaritma alam (natural logarithm) dari nilai x. 
Sintaks: Ln (x); 

# Sin [fungsi]. Memberikan nilai dari fungsi Sinus. 
Sintaks: Sin (x); 

# 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. 

# 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 variabel. 

# 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 

# Ord [fungsi]. Merubah nilai suatu variabel dari bentuk karakter ke bentuk longint. 
Sintaks: Ord (x); 
Keteranagn : x bertipe char 
contoh : Writeln(Ord ('B')); 
hasilnya : 42 

# 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 

# 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. 

# Pred [fungsi]. Memberikan nilai sebelum nilai argumen dalam urutannya dalam ASCII. 
Sintaks: Pred (x); 

# Succ [fungsi]. Memberikan nilai sesudah nilai argumen dalam urutannya dalam ASCII. 
Sintaks: Succ (x); 

# Inc[fungsi]. Menambah (increments) nilai suatu variabel. 
Sintaks: Inc (x,i); {i >= 1} 

# Dec [fungsi]. Mengurangi (decrements) nilai suatu variabel. 
Sintaks: DEC(x,i); {i >=1} 

Contoh : 
Progam Man_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). 

# TextColor [prosedur]. Untuk mengatur warna dari karakter-karakter di layar. 
Sintaks: TextColor (color : Byte); 
Catatan : untuk pilihan warna lihat pada buku Turbo Pascal yang anda miliki. 
Daftar TextColor : 
(2) Hijau Muda (3)Hijau pupus (4)Merah 
(5)Ungu Tua (6) Kuning (7)Putih
(8)Biru Tua (9)Biru Cerah (10)Hijau Muda 
(12)Merah Muda (13)Ungu Cerah (14)Kuning Muda 
(15) Ungu Pupus (16)Hitam 

Daftar TextColor dengan Blink : 
(17)Biru Tua (18)Hijau Muda (19)Hijau Pupus 
(20)Merah (21)Ungu Tua 

# TextBackGround [prosedur]. Untuk mengatur warna latar belakang dari karakter-karakter dilayar. 
Sintaks: TextBackGround (Color : Byte); 

# 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 dengan nilai maksimal sesuai dengan mode layar. 

# TextMode [prosedur]. Untuk mengatur lebar layar, 80 kolom atau 40 kolom. 
Sintaks: TextMode(Mode: Byte); 
Default = C80 

# 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); ‘anda juga bisa menggunakan angka (4) 
TextColor(Yellow); 
Sound (220); 
GotoXY(10,7); 
Writeln('I Love Dinda'); 
GotoXY(11,7); 
Writeln('Bayi Sehatku'); 
NoSound; 
End. 
Sebagai Latihan dari teori-teori yang sudah anda pelajari diatas, coba anda kerjakan soal-soal dibawah ini .

Soal Latihan 
1. Soal I 
Buatlah program dibawah ini dengan tampilan menggunakan perintah Window, TextColor, Blink 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 dimasukkan 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 'I Love Dinda’ di dalam window pada pojok kanan atas dengan ukuran window sama dengan tulisan tersebut. 
2. 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). 
3. 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. 
2. Buatlah program untuk menampilkan window secara acak dengan warna yang berbeda.


CREDIT