Anda di halaman 1dari 25

1 Pengenalan Pascal Sejarah Pascal Pascal merupakan pengembangan dari bahasa ALGOL 60, bahasa pemrograman untuk sains

komputasi. Tahun 1960, beberapa ahli komputer bekerja untuk mengembangkan bahasa ALGOL, salah satunya adalah Dr. Niklaus Wirth dari Swiss Federal Institute of Technology (ETH-Zurich), yang merupakan anggota grup yang membuat ALGOL. Tahun 1971, dia menerbitkan suatu spesifikasi untuk highly-structured language (bahasa tinggi yang terstruktur) yang menyerupai ALGOL. Dia menamainya dengan PASCAL (dari nama Blaise Pascal, ahli matematika&philosophi terkenal abad 17 dari Perancis). Pascal bersifat data oriented, yaitu programmer diberi keleluasaan untuk mendefinisikan data sendiri. Pascal juga merupakan teaching language (banyak dipakai untuk pengajaran tentang konsep pemrograman). Kelebihan yang lain adalah penulisan kode Pascal yang luwes, tidak seperti misalnya FORTRAN, yang memerlukan programmer untuk menulis kode dengan format tertentu.

Struktur Pascal 1. Bagian Judul Program 2. Blok Program a. Bagian Deklarasi - Deklarasi tipe data (TYPE) - Deklarasi variabel (VAR) - Deklarasi konstanta (CONST) - Deklarasi label (LABEL) - Deklarasi sub-program (PROCEDURE dan FUNCTION) b. Bagian Program Utama Perintah-perintah atau Pernyataan

Struktur Program Pascal Paling Sederhana begin statement-statement; end. Contoh Program Sederhana begin writeln('Saya sedang belajar Pascal'); writeln('--------------------------'); readln end.

Perintah Input Output pada Pascal 1. Assignment Komputer bisa mengolah dan menampilkan sesuatu yang ada di dalam memori. Merupakan cara tersederhana untuk "menempatkan" (assign) data ke memori. 2. Perintah Input (read atau readln) Perintah digunakan untuk membaca data dari default input - keyboard. Readln=memeasukkan data perbaris, artinya setelah kita menekan tombol Enter, maka akan ganti baris. Read=tidak ganti baris, masih dalam baris yang sama.

3. Perintah Output (write atau writeln ) Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

Perintah digunakan untuk menyajikan data ke default output - key-board. Contoh: write('TES'); Perintah ini akan menampilkan teks string TES ke layar monitor pada posisi kursor sebelum perintah write dilaksanakan. Setelah menyajikan ke layar, kursor pindah ke ujung teks TES pada baris yang sama. writeln('TES'); Perintah ini akan menampilkan teks TES ke layar monitor pada posisi kursor sebelum perintah write dilaksanakan. Setelah menyajikan ke layar, kursor pindah ke awal baris berikutnya. Unsur-unsur Pemrograman a. Mendapatkan data dengan membaca data dari default input (key board, file atau sumber data lainnya). b. Menyimpan data ke dalam memori dengan struktur data yang sesuai, c. Memproses data dengan instruksi yang tepat. d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file atau tujuan lainnya).

Nama yang dipergunakan di dalam program Pascal disebut dengan pengenal atau Identifier. Identifier digunakan untuk nama: Program, Sub-program (procedure dan function), nama: Variable, Constant, Type, Label. Nama-nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan penulisan identifier a. Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z, A sampai Z atau karakter '_' (underscore - garis bawah) b. Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik (huruf-numerik). c. Panjang nama, pada berbagai versi Pascal umumnya antara 32- 63 d. Tidak boleh menggunakan karakter istimewa: + - * / | \ = < > [ ] . , ; : ( ) ^ @ { } $ # ~ ! % & ` " ' dan ? Contoh penulisan: Penulisan yang benar: NamaMahasiswa, Gaji_Karyawan, PX4, dll. Penulisan yang salah: 3X, A & B, C Z dll. Variable adalah identifier yang berisi data yang dapat berubah-ubah nilainya di dalam program. Deklarasi Variable adalah : a. Memberikan nama variabel sebagai identitas pengenal b. Menentukan tipe data variabel Contoh deklarasi variabel: var X : integer; R : real; C : char; T : boolean; Konstanta adalah identifier yang berisi data yang nilainya tidak berubah di dalam program. Deklarasi Konstanta adalah: a. Memberikan nama konstanta sebagai identitas pengenal b. Menentukan nilai konstanta Contoh deklarasi konstanta: conts MaxSize = 100; {integer} ExitC = 'Q'; {char} Reserved Words atau kata-kata cadangan pada Pascal adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksdu tertentu. Suatu Unit adalah kumpulan dari konstanta, tipe-tipe data, variabel, prosedur dan fungsifungsi. Unit standar pada Pascal yang bisa langsung digunakan adalah System, Crt, Printer Dos dan Graph. Untuk menggunakan suatu unit, maka kita harus meletakkan clausa atau anak kalimat Uses di awal blok program, diikuti oleh daftar nama unit yang Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

3 digunakan. Pada materi ini yang akan dibahas adalah unit Crt. Unit ini digunakan untuk memanipulasi layar teks (windowing, peletakan cursor di layar, Color pada teks, kode extended keyboard dan lain sebagainya.

Tipe Data dan Operator Tipe Data menunjukkan suatu nilai yang dpat digunakan oleh sutu variable yang bersangkutan. Tipe Data dalam Pascal : 1. Tipe Data Sederhana, terdiri dari : a. Tipe data standar : - integer : merupakan tipe data berupa bilangan bulat - real : merupakan jenis bilangan pecahan - char : merupakan karakter yg ditulis diantara tanda petik tunggal. Ex : 'A', 'a', '5' dll - string : merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal. - boolean : merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE atau FALSE . b. Tipe data didefinisikan pemakai 2. Tipe Data Terstruktur, terdiri dari : a. Array b. Record c. File d. Set Operator Tanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam : 1. Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=). Contoh --> A:=B; 2. Binary operator digunakan untuk mengoperasikan dua buah operand yang berbentuk konstanta ataupun variable. Operator ini digunakan untuk operasi arithmatika yang berhubungan dgn nilai tipe data Integer dan Real. Operasi yang dilakukan adalah : Pertambahan (+), Pengurangan (-), Perkalian (*), Pembagian Bulat (DIV), Pembagian Real (/) dan Modulus atau Sisa Pembagian (MOD) 3. Unary operator, operator ini menggunakan sebuah operand saja dapat berupa unary minus dan unary plus. Contoh : +2.5, a+(+b) dll 4. Bitwise operator digunakan untuk operasi bit per bit pada nilai integer. Operator yang digunakan (NOT, AND, OR, XOR, Shl, Sh

Deklarasi Variable: Mendeklarasikan varibel adalah: a. Memberikan nama variabel sebagai identitas pengenal b. Menentukan tipe data variabel

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

4 Contoh deklarasi variabel: var K : integer; R : real; C : char; T : boolean; Beberapa identifier yang sejenis bisa dideklarasikan bersamaan. var i, j, k : integer;{Variabel i, j dan k sebagai integer} namaMHS, alamatMHS : char; {Nama dan alamat mahasiswa } Deklarasi Konstanta: Mendeklarasikan konstanta adalah: a. Memberikan nama konstanta sebagai identitas pengenal b. Menentukan nilai konstanta Contoh deklarasi konstanta: const MaximumSize = 100; {integer } ExitCommand = 'Q'; {char } Tipe data yang disediakan oleh PASCAL meliputi: 1. Tipe Data Sederhana merupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean (logika). Untuk data integer dan real masing-masing terbagi menjadi beberapa kategori

a. Bilangan Integer merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam tabel 1. tabel 1 menunjukkan jenis data, ukuran dalam memori dan rentang nilainya. tabel 1. Tipe Data Bilangan Integer Tipe Data Byte Shortint integer Word Longint Ukuran Tempat 1 byte 1 byte 2 bytes 2 bytes 4 bytes Rentang Nilai 0 s/d +255 -28 s/d +127 -32768 s/d 32767 0 s/d 65535 2147483648 s/d 2147483647

Contoh bilangan integer adalah: 34 6458 -90 0 1112 Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai longint(4 byte). Di dalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya di dalam programnya tanpa harus terlebih dahulu mendefinisikannya. -MaxInt bernilai 32.767 -MaxLongint bernilai 2.147.483.647. contoh:

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

5 Program display_maxint; uses wincrt; begin writeln (maxint) end. Hasilnya: 32.767 b. Bilangan Real Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2. Penggolongan tipe data bilangan real dapat dilihat pada tabel 2. tabel 2. Bilangan Real Tipe Data real single double extended comp Ukuran Tempat 6 bytes 4 bytes 8 bytes 10 bytes 8 bytes Rentang Nilai 2.9 x 10-39 s/d 1.7 x1038 1.5 x 1045 s/d 3.4 x 1038 5.0 x 10-324 s/d 1.7 x 10308 3.4 x 10-4932 s/d 1.1 x 104932 -9.2x 1018 s/d 9.2x 1018

c. Char tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange). Contoh: 'a' 'B' '+', dsb. Yang perlu diingat bahwa dalam menuliskannya harus dengan memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte untuk masing-masing data. d. Tipe Data Boolean merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean, WordBool, dan LongBool. Tipe boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan Windows. Tabel 2. Tipe Data Boolean Tipe Data Boolean WordBool Longbool Ukuran Tempat 1 byte 2 byte 3 byte

Sebagai bilangan ordinal boolean true mempunyai nilai 1(satu), sedangkan false nilainya adalah 0(nol).

Operator

Beberapa operator yang disediakan oleh PASCAL: 1. Aritmatika 2. Boolean Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

6 3. Relasional 4. Set Tabel 2. Operator Aritmatika PASCAL Operator + * / div mod Operasi Penjumlahan Pengurangan Perkalian Pembagian Pembagian Sisa pembagian Tipe Operand Integer, real Integer, real Integer, real Integer, real integer, integer integer, integer Tipe Hasil Operasi Integer, real Integer, real Integer, real Integer, real integer integer

Contoh : 9 + 2 (hasil: 11) 9 - 2 (hasil: 7) 9 * 2 (hasil: 18) 9 / 2 (hasil: 4.5) 9 div 2 (hasil: 4) 9 mod 2 (hasil: 1) Tabel 3. Operator Boolean PASCAL Operator not and or xor Operasi negasi logika and logika or logika xor Tipe Operand boolean boolean boolean boolean Tipe Hasil Operasi boolean boolean boolean boolean

Contoh: A dan B suatu variabel boolean A TRUE FALSE not (A) FALSE TRUE

A TRUE TRUE FALSE FALSE

B TRUE FALSE TRUE FALSE

A and B TRUE FALSE FALSE FALSE

A or B TRUE TRUE TRUE FALSE

A xor B FALSE TRUE TRUE FALSE

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

7 Tabel 3. Operator Relasional Operator Operasi = <> < > <= >= Sama dengan Tidak sama dengan Lebih kecil dari Lebih besar dari Lebih kecil atau = Lebih besar atau = Tipe Operand
Tipe Hasil Operasi

tipe sederhana, string, pointer dan set boolean tipe sederhana, string, pointer dan set boolean tipe sederhana, string tipe sederhana, string tipe sederhana, string tipe sederhana, string boolean boolean boolean boolean

Contoh: Misal suatu variable A:=9 dan B:=2, maka: A = B (hasil: FALSE); A <= B (hasil: FALSE) A <> B (hasil: TRUE); A >= B (hasil: TRUE) A < B (hasil: FALSE) A > B (hasil: TRUE) 4. Operasi pada Set a. Operasi Relasional pada Set Ada empat perbandingan relasional yang diperkenankan pada set. Tabel 4. Operator Relasional pada set Operator = <> <= >= Operasi Sama dengan Tidak sama dengan Lebih kecil atau = Lebih besar atau = Tipe Operand Set, set Set, set Set, set Set, set Tipe Hasil Operasi boolean boolean boolean boolean

Misal A dan B adalah merupakan dua buah set. A = B : mempunyai hasil True jika A dan B memiliki anggota-anggota yang sama. Contoh: [Sun, Tue, Fri] = [Tue, Fri, Sun]. A <> B: mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama. A <= B : menunjukkan bahwa A adalah subset dari B. Contoh: Jika A berisi [Sun, Mon, Tue] dan B berisi [Sun, Mon, Tue, Wed, Thu], maka A adalah merupakan subset dari B dan ekspresi menghasilkan nilai True. A >= B : menunjukkan bahwa A adalah superset dari B. Contoh: Jika A berisi [Sun..Sat] dan B berisi [Mon..Fri], maka A adalah merupakan superset dari B dan ekspresi menghasilkan nilai True. b. Operasi Logika pada Set Ada tiga operasi logika pada set. Tabel 5. Operator Logika pada set Operator Operasi + * Union Difference Intersection Tipe Operand Set Set Set Tipe Hasil Operasi Set Set Set

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

8 Misal: + atau Union: [Sun, Mon, Tue, Wed] + [Mon, Thu, Fri] menghasilkan [Sun, Mon, Tue, Wed, Thu, Fri]. - atau Difference: [Sun, Mon, Tue, Wed] - [Mon, Tue, Fri] menghasilkan [Sun, Tue, Wed], yang merupakan anggota adari set pertama yang bukan anggota set yang kedua. * atau Intersection: [Sun, Mon, Tue, Wed] * [Mon, Tue, Fri] menghasilkan [Mon,Tue], yang merupakan anggota kedua set. 5. Ekspresi Merupakan kombinasi antara operator dan operand. Ekspresi matematik yang terjadi dalam dunia nyata diterjemahkan kedalam bahasa Pascal dengan sedikit perubahan tanda. Contoh:

Ekspresi matematika a+b x(y+z) b2 - 4ac

Ekspresi PASCAL a+b x*(y+z) b * b - 4*a*c

Contoh: Bila dideklarasikan var i, j: integer; maka, i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i < j adalah ekspresi boolean (menghasilkan logika TRUE atau FALSE) 6. Fungsi Matematik Standar dalam PASCAL Tabel 6. Beberapa fungsi matematik standar yang disediakan oleh PASCAL Nama Fungsi abs arctan cos sin exp ln round sqr sqrt trunc Deskripsi absolute value arctan (radian) cosine (radian) sin (radian) fungsi Perpangkatan e ln Pembulatan terdekat kuadrat Akar kuadrat Pembulatan ke bawah Tipe Argumen real/integer Real/integer real/integer real/integer real/integer real/integer real real/integer real/integer real/integer Tipe Hasil Operasi real/integer real real real real real integer real/integer real integer

Contoh : Abs(-11) (hasil: 11) Round(10.6) (hasil: 11) Trunc(10.6) (hasil: 10) Sqrt(4) (hasil: 2) Sqr(4) (hasil: 16) Untuk fungsi trigonometri: x = sin phi menjadi x:=sin (3.1416);

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

Statemen-statemen pemrograman pascal

Reserved Word
Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah terintergrated dalam pascal dan juga 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 dalam Pascal anatra lain:

Beberapa Statemen Turbo 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.


# 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 di layar. 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 '); Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

10 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 tampilantampilan baris dibawahnya. Sintaks: InsLine; # Delay [prosedur]. Untuk menghentikan sejenak proses program. Sintaks: Delay (MS: Word); Keterangan : variable MS = ukuran waktu dalam milisecond.

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. Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

11 # 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 di dalam 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. 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.

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

12 # 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. Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

13 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);

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

14 # 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}

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 :

# TextBackGround [prosedur]. Untuk mengatur warna latar belakang dari karakter-karakter di layar. 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); Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

15 Sound (220); GotoXY(10,7); Writeln('I Love Dinda'); GotoXY(11,7); Writeln('Bayi Sehatku'); NoSound; End.

Bentuk perulangan & penyeleksian Kondisi


Wah gak terasa kita sudah nyampe di bab perulangan & kondisi selamat mencoba.

Tujuan
1. Memberikan penjelasan mengenai struktur perulangan dengan statement For, termasuk didalamnya : 1.1. Pengertian dan contoh perulangan statement For Positif. 1.2. Pengertian dan contoh perulangan statement For Negatif. 1.3. Pengertian dan contoh perulangan tersarang (Nested Loop). 2. Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do). 3. Memberikan penjelasan dan contoh mengenai perulangan dengan Statement RepeatUntil termasuk di dalamnya penjelasan mengenai Repeat Until tersarang . 4. Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan : 4.1. Statement If - Then 4.2. Statement If Then - Else 4.3. Statement If tersarang (Nested IF) 4.4. Statement Case - Of 4.5. Statement Case Of - Else

Materi
# 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. # 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 ('I Love Dinda); END.

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

16 Maka bila program diatas dicompile di jalankan hasilnya : I Love Dinda I Love Dinda I Love Dinda I Love Dinda I Love Dinda Penjelasan : Berati statemen I Love Dinda 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 ('I Love Dinda'); { 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 : Penggunaan 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 :

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

17

# 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); End; End. Hasil 11 21 31 12 22 32

# 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. Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

18 Contoh : Uses Crt; Var i : Integer; Begin i := 0; While < 5 do Begin Write (i:3); Inc (i); { sama dengan i:=i+1 } End; End. Hasilnya : 01234

ARRAY
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut. Contoh: Var Untai : array[1..50] of Integer; Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer. Contoh Program : Program Contoh_Array_Input; Uses Crt; Var Bilangan : array[1..50] of Integer; Begin ClrScr; Bilangan[1]:=3; Bilangan[2]:=29; Bilangan[3]:=30; Bilangan[4]:=31; Bilangan[5]:=23; Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]); Readln; End. Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini : Program Contoh_Deklarasi_Array_Beragam; Uses Crt; Var Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

19 NPM : array[1..20] of string[10]; Nama : array[1..20] of string[25]; Nilai : array[1..20] of real; Umur : array[1..20] of byte; banyak,i : integer; Begin ClrScr; Write('Isi berapa data array yang diperlukan :');Readln(banyak); For i := 1 to banyak Do Begin Write('NPM =');Readln(NPM[i]); Write('Nama =');readln(Nama[i]); Write('Nilai=');readln(Nilai[i]); Write('Umur =');readln(Umur[i]); End; {cetak varibel array} Writeln('NPM NAMA NILAI UMUR '); For i:= 1 to banyak Do Begin Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3); End; Readln; End. Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini : Type Angka = String[20]; Var Nama : Array [1..50] of Angka; Begin . . End.

I. Deklarasi Type Indeks Skalar


Indeks dari larik dapat berupa tipe skalar. Contoh. : Program Deklarasi_Indeks_Array_Skalar; Uses Crt; Var Jum : Array[(jan,feb,mar,apr,mei)] of Integer; Begin Jum[jan]:=25; Jum[feb]:=45; Jum[mar]:=21; Jum[apr]:=23; Jum[mei]:=50; Writeln('Jumlah nilai bulan maret =',Jum[mar]); Readln; End. dapat juga ditulis : type Bln = (jan,feb,mar,apr,mei); Var Jum : Array[bln] of Integer; Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

20 atau : type Bln =(jan,feb,mar,apr,mei); Var Jum : Array[jan..mei] of Integer;

II. Deklarasi Konstanta Array


Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const). Contoh Program : Program Contoh_Deklarasi_Array_Konstan; Uses Crt; Const Tetap : Array[1..4] of Integer=(7,10,21,20); Var i : Integer; Begin For i:= 1 to 4 Do Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]); Readln; End. konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut. Contoh Program : Program Contoh_Konstan_Array_Char_; Uses Crt; Const Huruf : Array[0..5] of Char=('A','B','C','D','E','F'); Var i : Integer; Begin For i:= 0 to 5 Do Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]); Readln; End. Konstanta array dapat juga berupa string seperti berikut ini. Contoh Program : Program Constanta_Array_String; Uses Crt; Type A = Array [1..5] of String; Const Nama : A = ('basic','pascal','cobol','paradox','dbase'); Var i : Integer; Begin For i:= 1 to 5 Do Writeln('Nilai Array ke-',i:2,'= ',Nama[i]); readln; end. Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut : Contoh Program : Program String_Adalah_Array_Tipe_Char; Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

21 Uses Crt; Var Nama : string; i : Integer; Begin Nama:='Turbo Pascal'; For i:= 1 to Length(nama) Do Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]); Readln; End.

contoh program bilangan prima dengan menggunakan bantuan array. Contoh program : Program Mencari_Bilangan_Prima_Dengan_Array; Uses Crt; Var Prima : Array[1..100] of Integer; i,j : Integer; bil : Integer; Begin ClrScr; For i := 2 to 100 Do Begin Prima[i]:=i; For j:= 2 to i-1 Do Begin bil := (i mod j); {* i dibagi j dicek apakah 0*} If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*} End; If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*} End; Readln; End. Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini : Contoh Program : Program Penggunaan_Array_Untuk_Sortir_Buble_Sort; Uses Crt; Var nil1 : Array[1..100] of Integer; n,i,j,dum : Integer; Begin ClrScr; Write('mau isi berapa data acak (integer) ='); readln(n); For i := 1 to n Do Begin Write('Data Ke ',i,':');Readln(nil1[i]); End; {* penyapuan proses} for i:= 1 to n-1 do begin for j:= i to n do Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

22 begin if nil1[j]<nil1[i] then begin dum:=nil1[j]; nil1[j]:=nil1[i]; nil1[i]:=dum; end; end; end; writeln; writeln('Hasil Sortir'); for i := 1 to n do write(nil1[i]:3); readln; end.

III. Array Dua Dimensi


Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik. 1 2 1 2 3 Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini . Contoh Program: Program Deklarasi_Array_Dua_Dimensi; Uses Crt; Var Tabel : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; Tabel[1,1]:=1; Tabel[1,2]:=2; Tabel[2,1]:=3; Tabel[2,2]:=4; Tabel[3,1]:=5; Tabel[3,2]:=6; For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]); End; End; Readln; End.

IV. Alternatif Deklarasi Array Dua Dimensi.


Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut dapat dilihat dibawah ini : Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

23 Contoh : Var Tabel : Array[1..3] of Array[1..2] of Byte; atau : Type Matrik = Array[1..3,1..2] of Byte; Var Tabel : Matrik; atau : Type Baris = 1..3; Kolom = 1..2; Matrik = Array[Baris,Kolom] of Byte; Var Tabel : Matrik; atau : Type Baris = 1..3; Kolom=1..2; Matrik= Array[Baris] of Array[Kolom] of Byte; Var Tabel : Matrik; Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi penjumlahan matrik : Contoh Prorgam: Program Penjumlahan_Matrik; Uses Crt; Var Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; { input matrik ke satu } Writeln(' Elemen matrik satu'); For i := 1 to 3 Do Begin For j := 1 to 2 Do Begin Write('Elemen baris -',i,' Kolom -',j,'= '); Readln(matrik1[i,j]); End; End; {input matrik ke dua} Writeln('input elemen matrik dua'); For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write('Elemen baris -',i,' kolom -',j,'= '); Readln(matrik2[i,j]); End; End; {proses penjumlahan tiap elemen} For i := 1 to 3 Do Begin For j:= 1 to 2 Do Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

24 Begin Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j]; End; End; {proses cetak hasil} For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write(Hasil[i,j]:6); End; Writeln; End; Readln; End.

V. Array Sebagai Parameter


Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array. Contoh Program : Program Contoh_Pengiriman_Parameter_Array_Di_Procedure; Uses Crt; Const Garis ='---------------------------------------------------'; Type Untai = Array[1..10] of String[15]; Bulat = Array[1..10] of Integer; Huruf = Array[1..10] of Char; Var i,Banyak : Integer; Procedure Proses(Nama:Untai;Nilai:Bulat); Var Ket : String; Abjad : Char; Begin Writeln(Garis); Writeln('Nama Nilai Abjad Keterangan'); Writeln(Garis); For i := 1 to Banyak Do Begin If Nilai[i] > 90 Then Begin Abjad:='A'; Ket :='Istimewa'; End; If (Nilai[i]<90) And (Nilai[i]>70) Then Begin Abjad:='B'; Ket :='Memuaskan'; End; If (Nilai[i]<70) And (Nilai[i]>60) Then Begin Abjad:='C'; Ket :='Cukup'; Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

25 End; If (Nilai[i]<60) And (Nilai[i]>45) Then Begin Abjad:='D'; Ket :='Kurang'; End; If Nilai[i]< 45 Then Begin Abjad:='E'; Ket :='Sangat kurang'; End; Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15); End; Writeln(Garis); End; Procedure Masuk_Data; Var Nama : Untai; Nilai : Bulat; Begin Write('Banyak data =');Readln(Banyak); For i:= 1 to Banyak Do Begin ClrScr; Writeln('Data ke - ',i); Write('Nama =');readln(Nama[i]); Write('Nilai =');readln(Nilai[i]); End; Proses(Nama,Nilai); End; {modul Utama} Begin Masuk_Data; Readln; End.

Modul Belajar Pascal Khusus Lingkungan SMAN 1 Bangkinang

Anda mungkin juga menyukai