pengenalan pascal asli

33
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 ) 1

Upload: nadya-olivia

Post on 14-Jul-2015

525 views

Category:

Documents


17 download

TRANSCRIPT

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 matematikaampphilosophi 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 Sederhanabegin statement-statementend

Contoh Program Sederhanabegin writeln(Saya sedang belajar Pascal) writeln(--------------------------) readlnend

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 - keyboardReadln=memeasukkan data perbaris artinya setelah kita menekan tombol Enter maka akan ganti barisRead=tidak ganti baris masih dalam baris yang sama

3 Perintah Output (write atau writeln )

1

Perintah digunakan untuk menyajikan data ke default output - key-boardContoh 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 tepatd 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- 63d Tidak boleh menggunakan karakter istimewa + - | = lt gt [ ] ( ) ^ $

~ amp ` dan Contoh penulisan Penulisan yang benar NamaMahasiswa Gaji_Karyawan PX4 dllPenulisan yang salah 3X A amp 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 integerR realC charT 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 integerExitC = Q char

Reserved Words atau kata-kata cadangan pada Pascal adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksdu tertentuSuatu Unit adalah kumpulan dari konstanta tipe-tipe data variabel prosedur dan fungsi-fungsi 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

2

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

OperatorTanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam 1 Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (=) Contoh --gt 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 +25 a+(+b) dll

4 Bitwise operator digunakan untuk operasi bit per bit pada nilai integerOperator 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

3

Contoh deklarasi variabel

var K integer R real C char T boolean

Beberapa identifier yang sejenis bisa dideklarasikan bersamaan

var i j k integerVariabel i j dan k sebagai integernamaMHS 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 Ukuran Tempat Rentang Nilai

Byte 1 byte 0 sd +255

Shortint 1 byte -28 sd +127

integer 2 bytes -32768 sd 32767

Word 2 bytes 0 sd 65535

Longint 4 bytes 2147483648 sd 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 32767 -MaxLongint bernilai 2147483647 contoh

4

Program display_maxint uses wincrt begin writeln (maxint) end

Hasilnya 32767

b Bilangan Real Bilangan real atau nyata merupakan jenis bilangan pecahan dapat dituliskan secara biasa atau model scientific Contoh bilangan real 34265 -355 00 35997E+11 dimana E merupakan simbol perpangkatan 10 Jadi 45213 mempunyai nilai sama dengan 45213e2 Penggolongan tipe data bilangan real dapat dilihat pada tabel 2 tabel 2 Bilangan Real

Tipe DataUkuran Tempat

Rentang Nilai

real 6 bytes 29 x 10-39 sd 17 x1038

single 4 bytes 15 x 1045 sd 34 x 1038

double 8 bytes 50 x 10-324 sd 17 x 10308

extended 10 bytes 34 x 10-4932 sd 11 x 104932

comp 8 bytes -92x 1018 sd 92x 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 Booleanmerupakan 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 Ukuran Tempat

Boolean 1 byte

WordBool 2 byte

Longbool 3 byteSebagai 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 3 Relasional 4 Set

5

Tabel 2 Operator Aritmatika PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

+ Penjumlahan Integer real Integer real

- Pengurangan Integer real Integer real

Perkalian Integer real Integer real

Pembagian Integer real Integer real

div Pembagian integer integer integer

mod Sisa pembagian integer integer integer Contoh 9 + 2 (hasil 11) 9 - 2 (hasil 7) 9 2 (hasil 18) 9 2 (hasil 45) 9 div 2 (hasil 4) 9 mod 2 (hasil 1)

Tabel 3 Operator Boolean PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

not negasi boolean boolean

and logika lsquoandrsquo boolean boolean

or logika lsquoorrsquo boolean boolean

xor logika lsquoxorrsquo boolean boolean

Contoh A dan B suatu variabel boolean

A not (A)

TRUE FALSE

FALSE TRUE

A B A and B A or B A xor B

TRUE TRUE TRUE TRUE FALSE

TRUE FALSE FALSE TRUE TRUE

FALSE TRUE FALSE TRUE TRUE

FALSE FALSE FALSE FALSE FALSE

Tabel 3 Operator Relasional

Operator Operasi Tipe Operand Tipe Hasil Operasi

= Sama dengan tipe sederhana string pointer dan set boolean

ltgt Tidak sama dengan tipe sederhana string pointer dan set boolean

6

lt Lebih kecil dari tipe sederhana string boolean

gt Lebih besar dari tipe sederhana string boolean

lt= Lebih kecil atau = tipe sederhana string boolean

gt= Lebih besar atau = tipe sederhana string boolean

Contoh Misal suatu variable A=9 dan B=2 maka A = B (hasil FALSE) A lt= B (hasil FALSE) A ltgt B (hasil TRUE) A gt= B (hasil TRUE) A lt B (hasil FALSE) A gt 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 Tipe Operand Tipe Hasil Operasi

= Sama dengan Set set boolean

ltgt Tidak sama dengan Set set boolean

lt= Lebih kecil atau = Set set boolean

gt= Lebih besar atau = Set set 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 ltgt B mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama A lt= 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 gt= B menunjukkan bahwa A adalah superset dari B Contoh Jika A berisi [SunSat] dan B berisi [MonFri] 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 Tipe Operand Tipe Hasil Operasi

+ Union Set Set

- Difference Set Set

Intersection Set Set

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 [MonTue] yang merupakan anggota kedua set

7

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Perintah digunakan untuk menyajikan data ke default output - key-boardContoh 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 tepatd 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- 63d Tidak boleh menggunakan karakter istimewa + - | = lt gt [ ] ( ) ^ $

~ amp ` dan Contoh penulisan Penulisan yang benar NamaMahasiswa Gaji_Karyawan PX4 dllPenulisan yang salah 3X A amp 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 integerR realC charT 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 integerExitC = Q char

Reserved Words atau kata-kata cadangan pada Pascal adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksdu tertentuSuatu Unit adalah kumpulan dari konstanta tipe-tipe data variabel prosedur dan fungsi-fungsi 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

2

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

OperatorTanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam 1 Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (=) Contoh --gt 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 +25 a+(+b) dll

4 Bitwise operator digunakan untuk operasi bit per bit pada nilai integerOperator 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

3

Contoh deklarasi variabel

var K integer R real C char T boolean

Beberapa identifier yang sejenis bisa dideklarasikan bersamaan

var i j k integerVariabel i j dan k sebagai integernamaMHS 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 Ukuran Tempat Rentang Nilai

Byte 1 byte 0 sd +255

Shortint 1 byte -28 sd +127

integer 2 bytes -32768 sd 32767

Word 2 bytes 0 sd 65535

Longint 4 bytes 2147483648 sd 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 32767 -MaxLongint bernilai 2147483647 contoh

4

Program display_maxint uses wincrt begin writeln (maxint) end

Hasilnya 32767

b Bilangan Real Bilangan real atau nyata merupakan jenis bilangan pecahan dapat dituliskan secara biasa atau model scientific Contoh bilangan real 34265 -355 00 35997E+11 dimana E merupakan simbol perpangkatan 10 Jadi 45213 mempunyai nilai sama dengan 45213e2 Penggolongan tipe data bilangan real dapat dilihat pada tabel 2 tabel 2 Bilangan Real

Tipe DataUkuran Tempat

Rentang Nilai

real 6 bytes 29 x 10-39 sd 17 x1038

single 4 bytes 15 x 1045 sd 34 x 1038

double 8 bytes 50 x 10-324 sd 17 x 10308

extended 10 bytes 34 x 10-4932 sd 11 x 104932

comp 8 bytes -92x 1018 sd 92x 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 Booleanmerupakan 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 Ukuran Tempat

Boolean 1 byte

WordBool 2 byte

Longbool 3 byteSebagai 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 3 Relasional 4 Set

5

Tabel 2 Operator Aritmatika PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

+ Penjumlahan Integer real Integer real

- Pengurangan Integer real Integer real

Perkalian Integer real Integer real

Pembagian Integer real Integer real

div Pembagian integer integer integer

mod Sisa pembagian integer integer integer Contoh 9 + 2 (hasil 11) 9 - 2 (hasil 7) 9 2 (hasil 18) 9 2 (hasil 45) 9 div 2 (hasil 4) 9 mod 2 (hasil 1)

Tabel 3 Operator Boolean PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

not negasi boolean boolean

and logika lsquoandrsquo boolean boolean

or logika lsquoorrsquo boolean boolean

xor logika lsquoxorrsquo boolean boolean

Contoh A dan B suatu variabel boolean

A not (A)

TRUE FALSE

FALSE TRUE

A B A and B A or B A xor B

TRUE TRUE TRUE TRUE FALSE

TRUE FALSE FALSE TRUE TRUE

FALSE TRUE FALSE TRUE TRUE

FALSE FALSE FALSE FALSE FALSE

Tabel 3 Operator Relasional

Operator Operasi Tipe Operand Tipe Hasil Operasi

= Sama dengan tipe sederhana string pointer dan set boolean

ltgt Tidak sama dengan tipe sederhana string pointer dan set boolean

6

lt Lebih kecil dari tipe sederhana string boolean

gt Lebih besar dari tipe sederhana string boolean

lt= Lebih kecil atau = tipe sederhana string boolean

gt= Lebih besar atau = tipe sederhana string boolean

Contoh Misal suatu variable A=9 dan B=2 maka A = B (hasil FALSE) A lt= B (hasil FALSE) A ltgt B (hasil TRUE) A gt= B (hasil TRUE) A lt B (hasil FALSE) A gt 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 Tipe Operand Tipe Hasil Operasi

= Sama dengan Set set boolean

ltgt Tidak sama dengan Set set boolean

lt= Lebih kecil atau = Set set boolean

gt= Lebih besar atau = Set set 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 ltgt B mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama A lt= 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 gt= B menunjukkan bahwa A adalah superset dari B Contoh Jika A berisi [SunSat] dan B berisi [MonFri] 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 Tipe Operand Tipe Hasil Operasi

+ Union Set Set

- Difference Set Set

Intersection Set Set

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 [MonTue] yang merupakan anggota kedua set

7

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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

OperatorTanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam 1 Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (=) Contoh --gt 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 +25 a+(+b) dll

4 Bitwise operator digunakan untuk operasi bit per bit pada nilai integerOperator 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

3

Contoh deklarasi variabel

var K integer R real C char T boolean

Beberapa identifier yang sejenis bisa dideklarasikan bersamaan

var i j k integerVariabel i j dan k sebagai integernamaMHS 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 Ukuran Tempat Rentang Nilai

Byte 1 byte 0 sd +255

Shortint 1 byte -28 sd +127

integer 2 bytes -32768 sd 32767

Word 2 bytes 0 sd 65535

Longint 4 bytes 2147483648 sd 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 32767 -MaxLongint bernilai 2147483647 contoh

4

Program display_maxint uses wincrt begin writeln (maxint) end

Hasilnya 32767

b Bilangan Real Bilangan real atau nyata merupakan jenis bilangan pecahan dapat dituliskan secara biasa atau model scientific Contoh bilangan real 34265 -355 00 35997E+11 dimana E merupakan simbol perpangkatan 10 Jadi 45213 mempunyai nilai sama dengan 45213e2 Penggolongan tipe data bilangan real dapat dilihat pada tabel 2 tabel 2 Bilangan Real

Tipe DataUkuran Tempat

Rentang Nilai

real 6 bytes 29 x 10-39 sd 17 x1038

single 4 bytes 15 x 1045 sd 34 x 1038

double 8 bytes 50 x 10-324 sd 17 x 10308

extended 10 bytes 34 x 10-4932 sd 11 x 104932

comp 8 bytes -92x 1018 sd 92x 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 Booleanmerupakan 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 Ukuran Tempat

Boolean 1 byte

WordBool 2 byte

Longbool 3 byteSebagai 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 3 Relasional 4 Set

5

Tabel 2 Operator Aritmatika PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

+ Penjumlahan Integer real Integer real

- Pengurangan Integer real Integer real

Perkalian Integer real Integer real

Pembagian Integer real Integer real

div Pembagian integer integer integer

mod Sisa pembagian integer integer integer Contoh 9 + 2 (hasil 11) 9 - 2 (hasil 7) 9 2 (hasil 18) 9 2 (hasil 45) 9 div 2 (hasil 4) 9 mod 2 (hasil 1)

Tabel 3 Operator Boolean PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

not negasi boolean boolean

and logika lsquoandrsquo boolean boolean

or logika lsquoorrsquo boolean boolean

xor logika lsquoxorrsquo boolean boolean

Contoh A dan B suatu variabel boolean

A not (A)

TRUE FALSE

FALSE TRUE

A B A and B A or B A xor B

TRUE TRUE TRUE TRUE FALSE

TRUE FALSE FALSE TRUE TRUE

FALSE TRUE FALSE TRUE TRUE

FALSE FALSE FALSE FALSE FALSE

Tabel 3 Operator Relasional

Operator Operasi Tipe Operand Tipe Hasil Operasi

= Sama dengan tipe sederhana string pointer dan set boolean

ltgt Tidak sama dengan tipe sederhana string pointer dan set boolean

6

lt Lebih kecil dari tipe sederhana string boolean

gt Lebih besar dari tipe sederhana string boolean

lt= Lebih kecil atau = tipe sederhana string boolean

gt= Lebih besar atau = tipe sederhana string boolean

Contoh Misal suatu variable A=9 dan B=2 maka A = B (hasil FALSE) A lt= B (hasil FALSE) A ltgt B (hasil TRUE) A gt= B (hasil TRUE) A lt B (hasil FALSE) A gt 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 Tipe Operand Tipe Hasil Operasi

= Sama dengan Set set boolean

ltgt Tidak sama dengan Set set boolean

lt= Lebih kecil atau = Set set boolean

gt= Lebih besar atau = Set set 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 ltgt B mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama A lt= 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 gt= B menunjukkan bahwa A adalah superset dari B Contoh Jika A berisi [SunSat] dan B berisi [MonFri] 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 Tipe Operand Tipe Hasil Operasi

+ Union Set Set

- Difference Set Set

Intersection Set Set

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 [MonTue] yang merupakan anggota kedua set

7

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Contoh deklarasi variabel

var K integer R real C char T boolean

Beberapa identifier yang sejenis bisa dideklarasikan bersamaan

var i j k integerVariabel i j dan k sebagai integernamaMHS 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 Ukuran Tempat Rentang Nilai

Byte 1 byte 0 sd +255

Shortint 1 byte -28 sd +127

integer 2 bytes -32768 sd 32767

Word 2 bytes 0 sd 65535

Longint 4 bytes 2147483648 sd 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 32767 -MaxLongint bernilai 2147483647 contoh

4

Program display_maxint uses wincrt begin writeln (maxint) end

Hasilnya 32767

b Bilangan Real Bilangan real atau nyata merupakan jenis bilangan pecahan dapat dituliskan secara biasa atau model scientific Contoh bilangan real 34265 -355 00 35997E+11 dimana E merupakan simbol perpangkatan 10 Jadi 45213 mempunyai nilai sama dengan 45213e2 Penggolongan tipe data bilangan real dapat dilihat pada tabel 2 tabel 2 Bilangan Real

Tipe DataUkuran Tempat

Rentang Nilai

real 6 bytes 29 x 10-39 sd 17 x1038

single 4 bytes 15 x 1045 sd 34 x 1038

double 8 bytes 50 x 10-324 sd 17 x 10308

extended 10 bytes 34 x 10-4932 sd 11 x 104932

comp 8 bytes -92x 1018 sd 92x 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 Booleanmerupakan 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 Ukuran Tempat

Boolean 1 byte

WordBool 2 byte

Longbool 3 byteSebagai 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 3 Relasional 4 Set

5

Tabel 2 Operator Aritmatika PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

+ Penjumlahan Integer real Integer real

- Pengurangan Integer real Integer real

Perkalian Integer real Integer real

Pembagian Integer real Integer real

div Pembagian integer integer integer

mod Sisa pembagian integer integer integer Contoh 9 + 2 (hasil 11) 9 - 2 (hasil 7) 9 2 (hasil 18) 9 2 (hasil 45) 9 div 2 (hasil 4) 9 mod 2 (hasil 1)

Tabel 3 Operator Boolean PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

not negasi boolean boolean

and logika lsquoandrsquo boolean boolean

or logika lsquoorrsquo boolean boolean

xor logika lsquoxorrsquo boolean boolean

Contoh A dan B suatu variabel boolean

A not (A)

TRUE FALSE

FALSE TRUE

A B A and B A or B A xor B

TRUE TRUE TRUE TRUE FALSE

TRUE FALSE FALSE TRUE TRUE

FALSE TRUE FALSE TRUE TRUE

FALSE FALSE FALSE FALSE FALSE

Tabel 3 Operator Relasional

Operator Operasi Tipe Operand Tipe Hasil Operasi

= Sama dengan tipe sederhana string pointer dan set boolean

ltgt Tidak sama dengan tipe sederhana string pointer dan set boolean

6

lt Lebih kecil dari tipe sederhana string boolean

gt Lebih besar dari tipe sederhana string boolean

lt= Lebih kecil atau = tipe sederhana string boolean

gt= Lebih besar atau = tipe sederhana string boolean

Contoh Misal suatu variable A=9 dan B=2 maka A = B (hasil FALSE) A lt= B (hasil FALSE) A ltgt B (hasil TRUE) A gt= B (hasil TRUE) A lt B (hasil FALSE) A gt 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 Tipe Operand Tipe Hasil Operasi

= Sama dengan Set set boolean

ltgt Tidak sama dengan Set set boolean

lt= Lebih kecil atau = Set set boolean

gt= Lebih besar atau = Set set 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 ltgt B mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama A lt= 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 gt= B menunjukkan bahwa A adalah superset dari B Contoh Jika A berisi [SunSat] dan B berisi [MonFri] 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 Tipe Operand Tipe Hasil Operasi

+ Union Set Set

- Difference Set Set

Intersection Set Set

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 [MonTue] yang merupakan anggota kedua set

7

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Program display_maxint uses wincrt begin writeln (maxint) end

Hasilnya 32767

b Bilangan Real Bilangan real atau nyata merupakan jenis bilangan pecahan dapat dituliskan secara biasa atau model scientific Contoh bilangan real 34265 -355 00 35997E+11 dimana E merupakan simbol perpangkatan 10 Jadi 45213 mempunyai nilai sama dengan 45213e2 Penggolongan tipe data bilangan real dapat dilihat pada tabel 2 tabel 2 Bilangan Real

Tipe DataUkuran Tempat

Rentang Nilai

real 6 bytes 29 x 10-39 sd 17 x1038

single 4 bytes 15 x 1045 sd 34 x 1038

double 8 bytes 50 x 10-324 sd 17 x 10308

extended 10 bytes 34 x 10-4932 sd 11 x 104932

comp 8 bytes -92x 1018 sd 92x 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 Booleanmerupakan 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 Ukuran Tempat

Boolean 1 byte

WordBool 2 byte

Longbool 3 byteSebagai 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 3 Relasional 4 Set

5

Tabel 2 Operator Aritmatika PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

+ Penjumlahan Integer real Integer real

- Pengurangan Integer real Integer real

Perkalian Integer real Integer real

Pembagian Integer real Integer real

div Pembagian integer integer integer

mod Sisa pembagian integer integer integer Contoh 9 + 2 (hasil 11) 9 - 2 (hasil 7) 9 2 (hasil 18) 9 2 (hasil 45) 9 div 2 (hasil 4) 9 mod 2 (hasil 1)

Tabel 3 Operator Boolean PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

not negasi boolean boolean

and logika lsquoandrsquo boolean boolean

or logika lsquoorrsquo boolean boolean

xor logika lsquoxorrsquo boolean boolean

Contoh A dan B suatu variabel boolean

A not (A)

TRUE FALSE

FALSE TRUE

A B A and B A or B A xor B

TRUE TRUE TRUE TRUE FALSE

TRUE FALSE FALSE TRUE TRUE

FALSE TRUE FALSE TRUE TRUE

FALSE FALSE FALSE FALSE FALSE

Tabel 3 Operator Relasional

Operator Operasi Tipe Operand Tipe Hasil Operasi

= Sama dengan tipe sederhana string pointer dan set boolean

ltgt Tidak sama dengan tipe sederhana string pointer dan set boolean

6

lt Lebih kecil dari tipe sederhana string boolean

gt Lebih besar dari tipe sederhana string boolean

lt= Lebih kecil atau = tipe sederhana string boolean

gt= Lebih besar atau = tipe sederhana string boolean

Contoh Misal suatu variable A=9 dan B=2 maka A = B (hasil FALSE) A lt= B (hasil FALSE) A ltgt B (hasil TRUE) A gt= B (hasil TRUE) A lt B (hasil FALSE) A gt 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 Tipe Operand Tipe Hasil Operasi

= Sama dengan Set set boolean

ltgt Tidak sama dengan Set set boolean

lt= Lebih kecil atau = Set set boolean

gt= Lebih besar atau = Set set 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 ltgt B mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama A lt= 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 gt= B menunjukkan bahwa A adalah superset dari B Contoh Jika A berisi [SunSat] dan B berisi [MonFri] 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 Tipe Operand Tipe Hasil Operasi

+ Union Set Set

- Difference Set Set

Intersection Set Set

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 [MonTue] yang merupakan anggota kedua set

7

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Tabel 2 Operator Aritmatika PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

+ Penjumlahan Integer real Integer real

- Pengurangan Integer real Integer real

Perkalian Integer real Integer real

Pembagian Integer real Integer real

div Pembagian integer integer integer

mod Sisa pembagian integer integer integer Contoh 9 + 2 (hasil 11) 9 - 2 (hasil 7) 9 2 (hasil 18) 9 2 (hasil 45) 9 div 2 (hasil 4) 9 mod 2 (hasil 1)

Tabel 3 Operator Boolean PASCAL

Operator Operasi Tipe Operand Tipe Hasil Operasi

not negasi boolean boolean

and logika lsquoandrsquo boolean boolean

or logika lsquoorrsquo boolean boolean

xor logika lsquoxorrsquo boolean boolean

Contoh A dan B suatu variabel boolean

A not (A)

TRUE FALSE

FALSE TRUE

A B A and B A or B A xor B

TRUE TRUE TRUE TRUE FALSE

TRUE FALSE FALSE TRUE TRUE

FALSE TRUE FALSE TRUE TRUE

FALSE FALSE FALSE FALSE FALSE

Tabel 3 Operator Relasional

Operator Operasi Tipe Operand Tipe Hasil Operasi

= Sama dengan tipe sederhana string pointer dan set boolean

ltgt Tidak sama dengan tipe sederhana string pointer dan set boolean

6

lt Lebih kecil dari tipe sederhana string boolean

gt Lebih besar dari tipe sederhana string boolean

lt= Lebih kecil atau = tipe sederhana string boolean

gt= Lebih besar atau = tipe sederhana string boolean

Contoh Misal suatu variable A=9 dan B=2 maka A = B (hasil FALSE) A lt= B (hasil FALSE) A ltgt B (hasil TRUE) A gt= B (hasil TRUE) A lt B (hasil FALSE) A gt 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 Tipe Operand Tipe Hasil Operasi

= Sama dengan Set set boolean

ltgt Tidak sama dengan Set set boolean

lt= Lebih kecil atau = Set set boolean

gt= Lebih besar atau = Set set 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 ltgt B mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama A lt= 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 gt= B menunjukkan bahwa A adalah superset dari B Contoh Jika A berisi [SunSat] dan B berisi [MonFri] 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 Tipe Operand Tipe Hasil Operasi

+ Union Set Set

- Difference Set Set

Intersection Set Set

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 [MonTue] yang merupakan anggota kedua set

7

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

lt Lebih kecil dari tipe sederhana string boolean

gt Lebih besar dari tipe sederhana string boolean

lt= Lebih kecil atau = tipe sederhana string boolean

gt= Lebih besar atau = tipe sederhana string boolean

Contoh Misal suatu variable A=9 dan B=2 maka A = B (hasil FALSE) A lt= B (hasil FALSE) A ltgt B (hasil TRUE) A gt= B (hasil TRUE) A lt B (hasil FALSE) A gt 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 Tipe Operand Tipe Hasil Operasi

= Sama dengan Set set boolean

ltgt Tidak sama dengan Set set boolean

lt= Lebih kecil atau = Set set boolean

gt= Lebih besar atau = Set set 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 ltgt B mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama A lt= 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 gt= B menunjukkan bahwa A adalah superset dari B Contoh Jika A berisi [SunSat] dan B berisi [MonFri] 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 Tipe Operand Tipe Hasil Operasi

+ Union Set Set

- Difference Set Set

Intersection Set Set

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 [MonTue] yang merupakan anggota kedua set

7

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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 Ekspresi PASCALbull a + b bull a + bbull x ( y + z ) bull x ( y + z ) bull b2 - 4ac bull b b - 4ac

Contoh Bila dideklarasikan var i j integer maka i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i lt 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 Deskripsi Tipe Argumen Tipe Hasil Operasi abs absolute value realinteger realintegerarctan arctan (radian) Realinteger realcos cosine (radian) realinteger realsin sin (radian) realinteger real exp fungsi Perpangkatan e realinteger real ln ln realinteger realround Pembulatan terdekat real integer sqr kuadrat realinteger realintegersqrt Akar kuadrat realinteger realtrunc Pembulatan ke bawah realinteger integer Contoh Abs(-11) (hasil 11)Round(106) (hasil 11) Trunc(106) (hasil 10) Sqrt(4) (hasil 2) Sqr(4) (hasil 16) Untuk fungsi trigonometri x = sin phi menjadi x=sin (31416)

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

8

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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 inputoutput ReadReadln [prosedur] Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel Sintaks ReadReadln(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

WriteWriteln [prosedur] Digunakan untuk menampilkan isi dari suatu nilai variable di layar Sintaks WriteWriteln(x)

Keterangan x = variabel WriteWriteln= 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 )

9

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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

3 Statemen yang digunakan untuk memanipulasi string ConCat[fungsi] Untuk menggabungkan 2 atau beberapa variabel string Sintaks ConCat (s1 [s2sn] String) String contoh ConCat (ABCDEF) ABCDEF

Copy [fungsi] Mengambil satu atau beberapa karakter dari sebuah string Sintaks Copy (SIndexCount) 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 (SIndexCount) Keterangan sama dengan statemen Copy

Insert [prosedur] Menyisipkan satu atau beberapa karakter ke dalam sebuah string Sintaks Insert (Sourcevar SIndex) Keterangan Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer)

Length [fungsi]

10

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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 (SubstrS) 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 (NS) Keterangan N = data tipe integer S = data tipe string

Val [prosedur] Merubah nilai string ke dalam nilai numerik Sintaks Val (SNP) 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

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

11

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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 lt0 Then x=Abs (x) Writeln(Nilai X = x52) Writeln (Nilai eksponentialnya = EXP(x)93) Writeln (Nilai logaritma alamnya = LN(x)93) Writeln (Nilai integernya = INT(x)52) Writeln (Nilai fraksionalnya = FRAC(x)52) Writeln (Nilai X dipangkatkan = SQRT(x)93) Writeln (Nilai X diakarkan = SQRT(x)93) Write(Nilai X jika dimasukkan dalam ) Writeln(fungsi SinCosTangen ) Writeln(- Sinus = Sin(x)93) Writeln(- Cosinus = Cos(x)93) Writeln(- Tangen = ArcTan(x)93) End Hasilnya

masukkan nilai dari X = -25 Nilai X = 250 Nilai eksponensialnya = 12182 Nilai logarima alamnya = 0196 Nilai integernya = 200 Nilai fraksionalnya = 050 Nilai X dipangkatkan = 6250 Nilai X diakarkan = 1581

12

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Nilai X jika dimasukkan dalam fungsi SinCosTangen - Sinus = 0598 - Cosinus = -0801 - Tangen = 1190

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 lt 05 maka dibulatkan kebawah Jika nilai pecahan gt 05 maka dibulatkan keatas contoh Writeln(103 dibulatkan = Round(103)) hasilnya 103 dibulatkan = 3

TRUNC [fungsi] Membulatkan kebawah data tipe real ke data tipe longint Sintaks Trunc (x) contoh Writeln(203 dibulatkan kebawah = Trunc (203)) hasilnya 203 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 (xi) i gt= 1

Dec [fungsi] Mengurangi (decrements) nilai suatu variabel Sintaks DEC(xi) i gt=1

7 Statemen-statemen tambahan (warnasuara dan window) TextColor [prosedur]

13

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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 (x1x2y1y2 Byte) x1x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar y1y2 = 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 (552075) TextBackGround(Red) 1048774anda juga bisa menggunakan angka (4) TextColor(Yellow) Sound (220) GotoXY(107) Writeln(I Love Dinda) GotoXY(117) Writeln(Bayi Sehatku) NoSound End

Bentuk perulangan amp penyeleksian KondisiWah gak terasa kita sudah nyampe di bab perulangan amp kondisi helliphellipselamat mencoba

14

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Tujuan

1 Memberikan penjelasan mengenai struktur perulangan dengan statement For termasuk didalamnya

11 Pengertian dan contoh perulangan statement For Positif 12 Pengertian dan contoh perulangan statement For Negatif 13 Pengertian dan contoh perulangan tersarang (Nested Loop)

2 Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement While ndash Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested While-Do)

3 Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-Until termasuk di dalamnya penjelasan mengenai Repeat ndashUntil tersarang

4 Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan 41 Statement If - Then 42 Statement If ndash Then - Else 43 Statement If tersarang (Nested IF) 44 Statement Case - Of 45 Statement Case ndash Of - Else

Materi Bentuk ndash 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 Dindarsquo) END

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

15

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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 abc Integer bagi Real Begin

Writeln(----------------------------------------------) Writeln( a aa aaa 1a ) Writeln(----------------------------------------------) For a = 1 To 10 Do Begin

b= aa c=aaa bagi = 1a Writeln(a4c10d10bagi123)

End Writeln (----------------------------------------------)

End

Maka hasilnya

Perulangan For negatif Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil Statement yang digunakan adalah For-DownTo-Do

contoh

16

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Uses Crt Var i Integer Begin

For i = 10 DownTo 1 Do Write (i3) 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 ab Integer Begin

For a = 1 To 3 Do Begin

For b = 1 To 2 Do Write (a 4b2) End

End

Hasil

1 1 122 1 223 1 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 ndash Do tidak dilakukan jika kondisi tidak terpenuhi Contoh Uses Crt Var i Integer Begin

i = 0 While lt 5 do Begin Write (i3) Inc (i) sama dengan i=i+1 End End

Hasilnya 0 1 2 3 4

ARRAY

17

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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[150] 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[150] 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 NPM array[120] of string[10] Nama array[120] of string[25] Nilai array[120] of real Umur array[120] of byte banyaki 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

18

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Begin Writeln(Npm[i]10Nama[i]25Nilai[i]32 Umur[i]3) End Readln End

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini Type Angka = String[20] Var Nama Array [150] 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[(janfebmaraprmei)] 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 = (janfebmaraprmei) Var

Jum Array[bln] of Integer atau type

Bln =(janfebmaraprmei) Var

Jum Array[janmei] 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[14] of Integer=(7102120) Var

19

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

i Integer Begin For i= 1 to 4 Do Writeln(Nilai Konstan array ke i2 =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[05] of Char=(ABCDEF) Var

i Integer Begin

For i= 0 to 5 Do Writeln(Nilai konstan array kei2 = Huruf[i]) Readln

End

Konstanta array dapat juga berupa string seperti berikut ini Contoh Program Program Constanta_Array_String Uses Crt Type

A = Array [15] of String Const

Nama A = (basicpascalcobolparadoxdbase) Var

i Integer Begin

For i= 1 to 5 Do Writeln(Nilai Array ke-i2= Nama[i]) readln

end

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut Contoh Program Program String_Adalah_Array_Tipe_Char 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

20

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Program Mencari_Bilangan_Prima_Dengan_Array Uses Crt Var

Prima Array[1100] of Integer ij 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 dibagiberarti bkn prima End

If Prima[i]ltgt 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[1100] of Integer nijdum 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 begin

if nil1[j]ltnil1[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

21

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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 123

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[1312] of Integer ij Integer

Begin ClrScr Tabel[11]=1 Tabel[12]=2 Tabel[21]=3 Tabel[22]=4 Tabel[31]=5 Tabel[32]=6 For I = 1 to 3 Do Begin

For J= 1 to 2 Do Begin

Writeln(Elemen ij= tabel[ij]) 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 Contoh Var Tabel Array[13] of Array[12] of Byte

atau Type

Matrik = Array[1312] of Byte Var

Tabel Matrik atau

Type Baris = 13 Kolom = 12 Matrik = Array[BarisKolom] of Byte

Var Tabel Matrik

atau

22

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Type Baris = 13 Kolom=12 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

Matrik1Matrik2 Hasil Array[1312] of Integer ij 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[ij])

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[ij])

End End

proses penjumlahan tiap elemen For i = 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Hasil[ij]=Matrik1[ij]+Matrik2[ij] End

End proses cetak hasil For i= 1 to 3 Do Begin

For j= 1 to 2 Do Begin

Write(Hasil[ij]6) End

Writeln End Readln

End

23

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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[110] of String[15] Bulat = Array[110] of Integer Huruf = Array[110] of Char

Var iBanyak Integer

Procedure Proses(NamaUntaiNilaiBulat) 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] gt 90 Then Begin

Abjad=A Ket =Istimewa

End If (Nilai[i]lt90) And (Nilai[i]gt70) Then Begin

Abjad=B Ket =Memuaskan

End If (Nilai[i]lt70) And (Nilai[i]gt60) Then Begin

Abjad=C Ket =Cukup

End If (Nilai[i]lt60) And (Nilai[i]gt45) Then Begin

Abjad=D Ket =Kurang

End If Nilai[i]lt 45 Then Begin

Abjad=E Ket =Sangat kurang

End Writeln(Nama[i]15 Nilai[i]4 Abjad Ket15) End Writeln(Garis)

End

24

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

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(NamaNilai) End modul Utama Begin

Masuk_Data Readln

End

Latihan 1Buatlah Program Pascal seperti berikut ini

Daftar Nama Siswa SMAN 1 Bangkinang

Nama Siswa helliphelliphellipAlamat Siswa helliphelliphellipKelas helliphelliphellipNilai Mid helliphelliphellipNilai Semester helliphelliphellipNilai Raport helliphelliphellipKeterangan helliphelliphellip

Kerengan Semua data yang ada di input dari keyboard tanpa ada proses

25

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Latihan 2Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 3

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == == Daftar Nama Siswa SMAN 1 Bangkinang == == Nama Siswa helliphelliphellip == Alamat Siswa helliphelliphellip == Kelas helliphelliphellip == Nilai Mid helliphelliphellip == Nilai Semester helliphelliphellip == Nilai Raport helliphelliphellip == Keterangan helliphelliphellip == == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

Latihan 4Buatlah Program Pascal untuk mencari rumus matematika berikut ini

Mencari Hasil Penjumlahan

Masukkan Nilai A Masukkan Nilai B Masukkan Nilai C

Berapa Hasil X berikut in 1 X = A + B ndash C2 X = A + B C3 X = (A + B) C4 X = A (B + C)5 X = B ndash A + C

26

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Latihan 5Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas Segitiga2 Menghitung Keliling Segitiga 3 Menghitung Luas Persegi Panjang4 Menghitung Keliling Persegi Panjang

Latihan 6Buatlah Program Pascal untuk mencari rumus matematika berikut ini

1 Menghitung Luas lingkaran dengan jari-jari diketahui (diinput)2 Menghitung Keliling lingkaran dengan jari-jari diketahui (diinput) 3 Mengubah derajat temperatur dari derajat Celcius ke derajat Fahreinheit dan

Reamur (derajat Celcius diinput)

Latihan 7Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan menggunakan GOTOXY

1 Mencari akar dan kuadrat dari suatu nilai (nilai diinput) 2 Mencari nilai Sinus Cosinus dan Tangen dengan sudut diinput 3 Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui

keyboard (diinput) Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma ()

Latihan 8Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikutSetiap buka pintu taksi pertama penumpang dikenakan biaya Rp5000 kemudian setiap 1 km penumpang harus membayar sebanyak Rp 1000km berapa penumpang harus membayar

Jumlah Kilo Meter = 25Bayar = Rp 30000

Latihan 9

Perusahaan Di Kota rdquoBangkinangrdquo memepunyai Tarif Telpon Rp100 per pulsa Setiap Langganan dikenakan biaya langganan Sebesar Rp 3000 perbulan Jumlah pulsa yang dipakai adalah = 235 Buatlah program untuk menghitung tagihan langganan

Bentuk Outputnya

Nomer Langganan helliphelliphelliphellipNama Langganan helliphelliphelliphellipAlamat helliphelliphelliphellip

Perincian Tagihan mdashmdashmdashmdashmdashmdashmdashndash

27

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Biaya Berlangganan Rphelliphelliphelliphellip Biaya PulsahelliphelliphellipxRp100 Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Tagihan Rphellip

Latihan 10

Gaji pegawai PT Mundur Maju dihitung berdasarkan beberapa hal diantaranya - Gaji Pokok- Tunjangan- Upah Lembur

Tunjangan pegawai adalah 15 dari gaji pokok upah lembur perjam adalah 15 dari Gaji PokokBuatlah Program Untuk Menghitung gaji yang diterima Pegawai

Masukan NamaNipgaji pokok dan jam lembur

Bentuk Outputnya

Perincian Gaji Pegawaimdashmdashmdashmdashmdashmdashmdashmdashmdash

Gaji Pokok Rphelliphelliphelliphellip Tunjangan Rphelliphelliphelliphellip Upah Lembur Rphelliphelliphelliphellip mdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashmdashndash Total Gaji Rphelliphelliphelliphellip

Latihan 111 Tampilkan bilangan bulat dari 20 sd 30 dengan mengunakan perulangan for to do

20 21 22 23 24 25 26 27 28 29 30

2 2021222324252627282930

Latihan 12

28

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan for to do

Bil Bil Bil Bil Bil + 2 1 Bil1 1 2 10002 4 8 05003 9 18 03334 16 32 02505 25 50 02006 36 72 01677 49 98 01438 64 128 01259 81 162 011110 100 200 0100

Latihan 13

Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu perulangan (loop)

1 Buat deret hitung 371115= 2 Buat deret ukur 3927=

Latihan 14Buatlah program pascal untuk mencari bilangan berikut ini

1 Mencari bilangan Genap dari 1 sd 202 Mencari bilangan ganjil dari 20 sd 40

Latihan 15Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini

Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang

1 Nama siswa helliphellip2 NIS helliphellip3 Kelas helliphellip4 Nilai Agama helliphellip5 Nilai TIK helliphellip6 Nilai Mulok helliphellip7 Nilai PPKN helliphellip8 Jumlah Nilai helliphellip9 Rata-rata helliphellip10 Keterangan helliphellip

Ketentuan 1 Jumlah Nilai = total keseluruh nilai mata pelajaran2 Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran3 Keterangan = jika rata gt= 70 maka Naik Kelas selain itu Tinggal Kelas

Buatlah dengan menggunakan fungsi if hellip then hellip

Latihan 16Dari latihan 15 tambahkan berikut ini

1 Nilai Huruf = jika rata-rata gt=90 maka nilai huruf =A jika rata-rata gt=80 maka nilai huruf =B jika rata-rata gt=70 maka nilai huruf =C jika rata-rata gt=60 maka nilai huruf =D Selain itu E

2 Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan

29

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

jika nilai huruf =B maka Prediket = Memuaskanjika nilai huruf =C maka Prediket = Cukupjika nilai huruf =D maka Prediket = KurangSelain itu Gagal

Latihan 17Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case hellip Of

Latihan 18Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case hellip Of

Latihan 19Buatlah program pascal untuk data berikut ini

Laporan Penjualan Sepeda MotorPT Maju Terus

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case1 No2 Nama Nasabah3 Alamat Nasabah4 Jenis Kelamin5 Kode Kendaraan6 Jenis Kendaraan7 Harga Unit

HND YMH SZK BJI

8 Jumlah Kendaraan9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda

Jika Kode Kendaraan = YMH Maka Yamaha

Jika Kode Kendaraan = SZK Maka Suzuki

Selain Itu Bajai

2 Harga unit = Jika JenisKendaraan = Honda Maka harga =14jt

Jika Jenis Kendaraan =Yamaha Maka harga =13jt

Jika Jenis Kendaraan =Suzuki Maka harga =12jt

Selain Itu harga =10jt

3 Bayar = Harga Jumlah

4 Diskon = Jika Kode Kendaraan = HND Maka diskon = 20 Bayar

Jika Kode Kendaraan = YMH Maka diskon = 15 Bayar

Jika Kode Kendaraan = SZK Maka diskon = 10 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika JenisKendaraan =Honda Maka pajak = 10 Bayar

Jika Jenis Kendaraan =Yamaha pajak =8 Bayar

Jika Jenis Kendaraan Suzuki Maka pajak =7 Bayar

Selain Itu pajak =3 Bayar

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 25jt Maka TV 15rdquo

30

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

Jika Total Bayar gt 30jt Maka TV 20 ldquo

Jika Total Bayar gt 40jt Maka TV Flat 29rdquo

Selain itu LCD 29rdquo

Latihan 20Buatlah program pascal untuk data berikut ini

Laporan Peminjaman BukuPerpustakaan SMAN 1 Bangkinang

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No2 Nama Siswa3 Alamat 4 Kelas5 Jenis Kelamin6 Kode Buku7 Jenis Buku8 Tanggal Pinjam

NV CR PL AG

9 Tanggal Kembali10 Lama Pinjam11 Jumlah Buku12 Bayar13 Total Bayar14 Bonus

Keterangan

1 Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel

Jika Kode Buku = CR Maka jenis buku =Buku Cerita

Jika Kode Buku = PL Maka jenis buku =Pelajaran

Selain Itu jenis buku =Pendidikan Agama

2 Lama Pinjam = Tgl Kembali ndash Tgl Pinjam

3 Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000

4 Denda = Jika Lama Pinjam gt4 hari Maka 1000 + Bayar

Jika Lama Pinjam gt5 hari Maka 2000 + Bayar

Jika Lama Pinjam gt4 hari Maka 3000 + Bayar

Selain Itu 10000 + Bayar

5 Total Bayar = Bayar + Denda

6 Bonus = Jika Jumlah Buku gt 5 Buku Maka Gantungan Kunci

Jika Jumlah Buku gt 10 Buku Maka Pena

Jika Jumlah Buku gt 15 Buku Maka Buku Tulis

Selain itu Jam Dinding

Latihan 21Buatlah program pascal untuk data berikut ini

Laporan Penjualan MobilPT Angin Ribut

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

1 No 8 Negara Produksi

31

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

2 Nama Pelanggan3 Alamat 4 Jenis Kelamin5 Kode Mobil6 Jenis Mobil7 Harga

FO TO MI DI

9 Jumlah Mobil10 Bayar11 Diskon12 Pajak13 Total Bayar14 Bonus

Keterangan

1 Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford

Jika Kode Mobil = TO Maka jenis mobil = Toyota

Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi

Selain Itu jenis mobil = Daihatsu

2 Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika

Jika Kode Mobil = TO Maka Negara = Jepang

Jika Kode Mobil = MI Maka Negara = Jerman

Selain Itu Negara = Italia

3 Harga = Jika Jenis Mobil = Ford Maka harga = 200

Jika Jenis Mobil = Toyota Maka harga =180

Jika Jenis Mobil = Mitsubishi Maka harga =150

Selain Itu harga =140

4 Bayar = Harga Jumlah

5 Diskon = Jika Kode Mobil = FO Maka diskon = 25 Bayar

Jika Kode Mobil = TO Maka diskon = 18 Bayar

Selain Itu Tidak Ada Diskon

6 Pajak = Jika Jenis Mobil = Ford Maka pajak = 20 Bayar

Jika Jenis Mobil = Toyota maka pajak = 15 Bayar

Jika Jenis Mobil = Mitsubishi Maka pajak = 10 Bayar

Selain Itu pajak = 3 Bayar

7 Total Bayar = Bayar ndash Diskon + Pajak

8 Bonus = Jika Total Bayar gt 300jt Maka bonus = MIO

Jika Total Bayar gt 290jt Maka bonus = LCD 19rdquo

Jika Total Bayar gt 250jt Maka bonus = TV Flat 29rdquo

Selain itu bonus = TV 19rdquo

Latihan 22Buatlah program pascal untuk data berikut ini

Laporan Penjualan KomputerFurqon Komputer

Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case

32

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33

1 No Faktur 2 Nama 3 Alamat 4 Jenis Kelamin5 Kode Pembelian6 Jenis 7 Harga Unit

LC2 LC KO LCE

8 Jumlah 9 Bayar10 Diskon11 Pajak12 Total Bayar13 Bonus

Keterangan

1 Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo

Jika Kode Pembelian = LC Maka Laptop Core Duo

Jika Kode Pembelian = LCE Maka Laptop Celeron

Selain Itu Komputer PC

2 Harga unit = Jika Jenis = Laptop Core 2 Duo Maka 9000

Jika Jenis = Laptop Core Duo Maka 7000

Jika Jenis = Laptop Celeron Maka 4000

Selain Itu 3000

3 Bayar = Harga Jumlah

4 Diskon = Kode Pembelian = LC2 Maka 5 Bayar

Jika Kode Pembelian = LC Maka 3 Bayar

Jika Kode Pembelian = LCE Maka 1 Bayar

Selain Itu Tidak Ada Diskon

5 Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3 Bayar

Jika Jenis = Laptop Core Duo Maka 2 Bayar

Selain Itu tidak ada pajak

6 Total Bayar = Bayar ndash Diskon + Pajak

7 Bonus = Jika Total Bayar gt 15jt Maka Flask Disk

Jika Total Bayar gt 20jt Maka Stick Games

Jika Total Bayar gt 25jt Maka MP4

Selain itu TV Tuner

33