Anda di halaman 1dari 33

Komputasi________________________________________________________________

BAB I PENGANTAR PASCAL

A. Program Turbo Pascal


Pascal adalah salah satu bahasa pemrograman tingkat tinggi (high level language). Nama Pascal diambil dari nama seorang ahli matematika dan filosofi terkenal abad 17 dari Perancis, yaitu Blaise Pascal. Bahasa ini dirancang oleh Prof. Niklaus Wirth dari Technical University di Zurich, Switzerland. Turbo Pascal adalah salah satu versi Pascal yang paling popular dan banyak digunakan saat ini. Bentuk tampilan awal Turbo Pascal adalah sebagai berikut:

Menu Bar Editor Toolbar

Menu Bar Adalah fasilitas yang ada pada setiap aplikasi window. Ada delapan Menu Utama yang dapat dipanggil dengan menggunakan tombol Alt+[Huruf pertama dari menu]. Misal ingin memanggil menu File, tekan tombol Alt+F. Toolbar Adalah kumpulan tombol-tombol bergambar yang berfungsi untuk memberikan perintah pada komputer

Editor Berfungsi untuk menulis dan menyunting program.

D3 Statististika ITS____________________________________________________Hal 1

Komputasi________________________________________________________________

B. Struktur Bahasa Pascal


Program dalam bahasa pascal, ditulis dengan struktur sebagai berikut:

Program <Nama> (<Daftar parameter>)

Kepala Program

USES <deklarasi unit> LABEL <deklarasi label> CONST <deklarasi konstanta> TYPE <deklarasi tipe> VAR <deklarasi variabel> <deklarasi fungsi dan prosedur> Bagian Deklarasi

BEGIN <Pernyataan> END.

Bagian Pernyataan

Kepala Program Dalam Pascal, posisi kepala program adalah diawal program. Sintak dari kepala program adalah: Program <Nama> (<Daftar parameter>) Penulisan Nama boleh sembarang, tapi harus dimulai dengan huruf dan bukan Reserve Word (kata baku yang telah digunakan Pascal dan mempunyai definisi tertentu, misal BEGIN, USES, dsb). Dapat terdiri dari kombinasi huruf, angka dan garis bawah. Maksimal 127 karakter dan tidak ada perbedaan antara huruf besar dan huruf kecil. Dalam memberikan Nama sebaiknya yang mempunyai arti sesuai dengan program yang akan dibuat. Contoh: Program Hitung_Luas; Program Soal_1; Program Segitiga (Masuk, Keluar); Bagian Deklarasi Dalam Pascal, semua unit, label, konstanta, tipe, variabel, fungsi dan prosedur yang akan digunakan harus dideklarasikan terlebih dahulu. Keenam deklrasi tersebut tidak

D3 Statististika ITS____________________________________________________Hal 2

Komputasi________________________________________________________________

harus ada semua Sebuah program bisa saja hanya mengandung deklarasi variabel. Berikut ini adalah bentuk masing-masing deklarasi.
No
1

Jenis deklarasi
Unit

Bentuk Deklarasi
USES <nama unit-1>, <nama unit-2>,...,<nama unit-n>; Contoh: USES Wincrt, unit1,unit2;

Label

LABEL <nama label-1>, <nama label-2>,...,<nama label-n>; Contoh: LABEL 50, Penutup, Selesai;

Konstanta

CONST <nama konstanta-1> = <nilai konstanta-2>; . . . <nama konstanta-n> = <nilai konstanta-n>; Contoh: CONST MaksData=100; Konversi=25;

Tipe

TYPE <nama tipe-1> = <bentuk tipe-2>; . . . <nama tipe-n> = <bentuk tipe-n>; Contoh: TYPE Tanggal=1..31;

Variabel

VAR <nama variabel-1> = <tipe variabel-2>; . . . <nama variabel-n> = <tipe variabel-n>; Contoh: VAR Nilai : Real; Jumlah : Integer; Tgl:Tanggal;

Fungsi dan Prosedur

Function <nama fungsi>(<daftar paramater>):<type fungsi>; atau Procedure <nama prosedure>(<daftar paramater>); Contoh: Function Pangkat(a,b:integer):integer; Procedure Tukar (data1, data2:real);

Bagian Pernyataan Bagian pernyataan diawal dengan kata BEGIN serta diakhiri dengan kata END dan tanda titik. Setiap pernyataan diakhiri dengan tanda titik kona (;). Pernyataanpernyataan yang disusun mengikuti algoritma tertentu diletakkan pada bagian ini.

D3 Statististika ITS____________________________________________________Hal 3

Komputasi________________________________________________________________

C. Tipe Data dalam Pascal


Ada beberapa macam tipe data dalam Pascal, diantaranya adalah : 1. Integer, adalah susunan angka yang tidak mengandung koma. Disebut juga bilangan bulat. Nilainya terletak antara -32768 s/d 32767. 2. Byte, adalah merupakan bagian dari integer. Nilainya terletak antara 0 s/d 255. 3. Real, merupakan tipe bilangan yang mengandung pecahan. Nilainya terletak antara 1E-38 s/d 1E+38. 4. Boolean, berhubungan dengan dua keadaan logika. Dapat bernilai True atau False. 5. Char, merupakan tipe yang hanya terdiri dari sebuah simbol karakter ASCII 6. String, merupakan tipe yang terdiri dari sejumlah karakter.

D. Operator dan Operand


Berikut ini adalah operator yang ada dalam bahasa Pascal :
No 1 Kategori Operator Pengerjaan (Assignment) Biner (Binary) Operator := * Operasi Memberi nilai Perkalian Jenis Operand Integer Real Real, Real Integer, Integer Real,Integer Real, Real Integer, Integer Real,Integer Real, Real Integer, Integer Real,Integer Real, Real Integer, Integer Real,Integer Integer, Integer Integer, Integer Integer Real Integer Real Boolean, Boolean Boolean, Boolean Boolean, Boolean Boolean, Boolean Boolean, Boolean Boolean, Boolean Boolean, Boolean Boolean, Boolean Boolean, Boolean String,String Char,Char Hasil Integer Real Real Integer Real Real Real Real Real Integer Real Real Integer Real Integer Integer Integer Real Integer Real Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean String String Contoh A:=B A*B

Pembagian Real

A/B

Pertambahan

A+B

Pengurangan

A-B

DIV MOD 2 Unary + 3 Logika (logical) NOT AND OR = <> > < >= <= 5 String +

Pembagian bulat Sisa Pembagian positif negatif

A DIV B A MOD B +A -A NOT(A) A AND B A OR B A=B A <> B A>B A<B A >= B A <= B A+B

Hubungan (Relational)

Sama dengan Tidak sama dengan Lebih besar dari Kurang dari Lebih besar atau sama dengan Lebih kecil atau sama dengan Menggabung dua buah nilai string

D3 Statististika ITS____________________________________________________Hal 4

Komputasi________________________________________________________________

Operator dalam Pascal mempunyai hirarki. Tabel berikut ini menunjukkan prioritas atau hirarki pengerjaan operator dalam Pascal.

Kelompok Operator
NOT * / DIV MOD AND + - OR = <> <= >=

Prioritas
1 2 3 4

Contoh :
Berikut ini adalah contoh program Pascal sederhana Program tambah; Uses wincrt; Var A,B,C:integer; Begin A:=70; B:=100; C:=A+B; Writeln(C); End. Kepala Program

Bagian Deklarasi

Bagian Pernyataan

SOAL
1. Sebutkan jenis konstanta berikut ini: (real, integer, char, boolean atau string) a. 87.767 d. False g. True b. 100 e. Test h. 1.5E+8 c. 0 f. 5.5 i. 0 2. Diberikan Cuplikan Program dibawah ini: Angka1:=4; Angka2:=100; Hasil:=Angka2+Angka1; Writeln(Hasil); A. Lengkapilah program tersebut sehingga dapat dijalankan di Turbo Pascal. B. Ada berapa variabel dalam program tersebut? 3. Tuliskan persamaan matematika berikut ini kedalam ekspresi bahasa pascal.
a. A = B + C b.
DE

c. A = B + C F
D

2 e. D = B 4. A.C

2.E

A=

B F D.E

d. A = B F + G
D.E H +I

f. A = ( B + C ) D E H + J
F +G I

D3 Statististika ITS____________________________________________________Hal 5

Komputasi________________________________________________________________

BAB II PERNYATAAN INPUT dan OUTPUT


Dalam bahasa Pascal pernyataan input adalah pernyataan yang digunakan untuk memasukkan data. Pernyataan input yang ada di Pascal adalah READ dan READLN. Sedangkan pernyataan output adalah pernyataan yang digunakan untuk menampilkan hasil. Ada dua pernyataan output yaitu WRITE dan WRITELN.

A. Pernyataan WRITE dan WRITELN


Bentuk pernyataan WRITE dan WRITELN: WRITE (<argumen >); Atau WRITELN (<argumen>); Jika pernyataan WRITELN yang digunakan, setelah menampilkan hasil maka kursor ganti baris. Sedangkan jika pernyataan WRITE yang digunakan, setelah menampilkan hasil maka kursor tidak ganti baris. Dalam format penulisan WRITE dan WRITELN jika yang akan ditampilkan adalah suatu kata/kalimat yang tidak disinpan dalam suatu variabel, maka kata/kalimat tersebut harus ditulis diantara tanda petik tunggal (). WRITE atau WRITELN dapat menerima argumen berupa variabel Bentuk Pernyataan : WRITE (<variable>); WRITELN (<variabel>);

Contoh :

WRITE (Kata); WRITE (Umur);

WRITELN (Kata); WRITELN (Umur);

WRITE atau WRITELN dapat menerima argumen bertipe data dasar (seperti boolean, real atau integer) bahkan char atau string. Contoh : WRITE (TRUE); WRITE (27.5); WRITE (100); WRITE (a); WRITE (Statistika); WRITELN (TRUE); WRITELN (27.5); WRITELN (100); WRITELN (a); WRITELN (Statistika);

D3 Statististika ITS____________________________________________________Hal 6

Komputasi________________________________________________________________

WRITE atau WRITELN dapat menerima argumen lebih dari satu. Jika argumen lebih dari satu maka harus dipisahkan oleh tanda koma (,). Contoh : WRITE (Hasilnya adalah : , jawab); WRITE LN (Hasilnya adalah : , jawab);

WRITE atau WRITELN dapat menerima argumen berupa ekspresi. Contoh : WRITE (A+B-50); WRITE (20*82/2); WRITELN (A+B-50); WRITELN (20*82/2);

WRITELN bisa juga tanpa argumen. Biasanya digunakan untuk membuat baris kosong; Contoh : WRITELN;

Contoh :
Program untuk memberikan contoh perbedaan WRITE dan WRITELN. Program Tulis; Uses wincrt; Begin Write(Satu); Write( ); Write(Dua, ); Writeln(Tiga); Writeln(Empat); End.

Hasilnya :

B. Memformat keluaran dari WRITE dan WRITELN


Untuk mengatur penampilan hasil pernyataan WRITE dan WRITELN dapat dilakukan formating. Untuk memformat data dilakukan dengan menambah tanda titik dua (:) diikuti dengan bilangan yang menyatakan lebar ruang untuk menampilkan data: Data : n

D3 Statististika ITS____________________________________________________Hal 7

Komputasi________________________________________________________________

Format ini menyebabkan data ditampilkan rata kanan pada ruang dengan ukuran sebesar n karakter. Contoh : WRITE (A:10); WRITE (-45:10); WRITELN (Data:10); WRITELN (12.42 : 10);

Untuk argumen data real, format dapat dilakukan sebagai berikut: Data : n : p Dimana: n adalah lebarnya ruang p adalah banyaknya angka desimal WRITELN (Data : 10 : 2); WRITELN (12.42 : 10 : 0);

Contoh :

WRITE (432.8984 : 10 : 2); WRITE (-4598.908756 : 10 : 2);

Contoh :
Program untuk memberikan contoh pengaturan format tampilan. Program bilangan; Uses wincrt; Begin Write(Matematika:10); Writeln(80:7); Write(Biologi:10); Writeln(100:7); Write(Fisika:10); Writeln(50:7); End. Hasilnya :

C. Pernyataan READ dan READLN


Bentuk pernyataan READ READLN: READ (<variabel-1, variabel-2,.., variabel-n>) ; Atau READLN (<variabel-1, variabel-2,.., variabel-n>) ;

D3 Statististika ITS____________________________________________________Hal 8

Komputasi________________________________________________________________

Tiap-tiap data yang dimasukkan harus sesuai dengan tipe variabelnya. Setelah data dimasukkan, tombol ENTER ditekan. Perbedaan antara READ dan READLN adalah pada sifat menangani kelebihan data yang diinputkan READ : Jika ada kelebihan data, pernyataan ini tidak akan membuangnya. Kelebihan data tersebut akan diberikan pada pernyataan READ atau READLN berikutnya. READLN : Jika ada kelebihan data, pernyataan ini akan membuangnya. Kelebihan data tersebut tidak akan diberikan pada pernyataan READ atau READLN berikutnya.

Contoh :
Program untuk menunjukkan perbedaan antara READ dan READLN 1. Program Satu; Uses Wincrt; Var A, B, C, D:Integer; Begin Writeln(Masukkan Data Tiga Buah, Pisahkan dengan Spasi !); Read(A, B); Writeln (A=,A); Writeln (B=,B); Readln(C); Writeln(C=,C); End. Hasilnya :

2. Program Dua; Uses Wincrt; Var A, B, C, D:Integer; Begin Writeln(Masukkan Data Tiga Buah, Pisahkan dengan Spasi !); Readln(A, B); Writeln (A=,A); Writeln (B=,B);

D3 Statististika ITS____________________________________________________Hal 9

Komputasi________________________________________________________________

Readln(C); Writeln(C=,C); End. Hasilnya :

Terlihat bahwa pada program Dua data untuk variabel C harus dimasukkan ulang, hal itu disebabkan penggunaan READLN.

SOAL
1. Apa hasil program berikut ini: a. Program Satu; Uses Wincrt; Var Data1, Data2:Real; Begin Data1:=76.87392; Data2:=987.543269; Writeln('Hasil',Data1+Data2:10:2); End. b. Program Satu; Uses Wincrt; Begin Write('ITS',' '); Write('Statistika'); Writeln(' '); Write('Surabaya'); End.

2. Buat Program untuk proses berikut ini: a. Input: Nama dan Tahun Lahir Proses : Menghitung Umur Output: Nama dan Umur

b. Input: Panjang dan Lebar suatu persegi panjang Proses: Menghitung Luas Persegi Panjang Output: Luas Persegi Panjang

Mencari nilai maksimum dari ketiga buah data Input : Tiga buah Data X1, X2 dan X3 Proses: mencari nilai maksimum Output: nilai maksimum dari tiga buah data tersebut.

D3 Statististika ITS____________________________________________________Hal 10

Komputasi________________________________________________________________

BAB III PERNYATAAN BERSYARAT


Pernyataan bersyarat adalah pernyataan yang akan menjalankan pernyataan yang mengikutinya sesuai dengan syarat tertertentu. Ada 2 buah pernyataan bersyarat, yaitu IF dan CASE.

A. Pernyataan IF
Bentuk pernyataan IF: IF <syarat logika> THEN <Pernyataan>;

Syarat Logika
Salah (False)

Benar (True)

Pernyataan

Gambar 1. Flowchart Statement IF THEN

IF <syarat logika>

THEN <Pernyataan-1> ELSE <Pernyataan-2> ;

Syarat Logika
Salah (False)

Benar (True)

Pernyataan-1

Pernyataan-2

Gambar 2. Flowchart Statement IF THEN ELSE D3 Statististika ITS____________________________________________________Hal 11

Komputasi________________________________________________________________

Jika syarat logika bernilai Benar maka yang akan dijalankan adalah pernyataan yang mengikuti THEN, dan sebaliknya jika syarat logika bernilai Salah maka yang akan dijalankan adalah pernyataan yang mengikuti ELSE. Jika pernyataan yang mengikuti THEN atau ELSE lebih dari satu maka harus diawali oleh Begin dan diakhiri oleh End. Statement End sebelum ELSE tidak boleh ada tanda titik koma (;). IF <syarat logika> THEN begin <Pernyataan-11>; <Pernyataan-12>; . . <Pernyataan-1n>; end ELSE begin <Pernyataan-21>; <Pernyataan-22>; . . <Pernyataan-2m>; end;

Contoh :
Program untuk menentukan apakah suatu bilangan itu positif atau negatif. Program bilangan; Uses wincrt; Var bil :integer; Begin Readln(bil); If bil >= 0 Then writeln(Positif) Else writeln (Negatif) End.

B. Pernyataan IF Bersarang (nested)


Jika ada dua pernyataan IF atau lebih, dimana pernyataan IF yang satu berada di dalam pernyataan IF yang lain, maka pernyataan tersebut disebut Bersarang (nested). Contoh bentuk pernyataan IF Bersarang:
IF <syarat logika-1> THEN <Pernyataan-1> ELSE IF <syarat logika-2> THEN <Pernyataan-2> ELSE IF <syarat logika-3> THEN <Pernyataan-3> ElSE <Pernyataan-4>;

D3 Statististika ITS____________________________________________________Hal 12

Komputasi________________________________________________________________

Syarat Logika-1
Benar (True)

Salah (False)

Syarat Logika-2
Benar (True)

Salah (False)

Syarat Logika-3
Benar (True)

Salah (False)

Pernyataan-1

Pernyataan-2

Pernyataan-3

Pernyataan-4

Gambar 3. Flowchart Statement IF THEN Bersarang

Contoh :
Program untuk menentukan bonus pegawai berdasarkan total penjualan. Kriteria bonus adalah sebagai berikut: Total Penjualan (Rp) Total 500.000 250.000Total<500.000 50.000Total<250.000 Total < 50.000 Program bonus; Uses wincrt; Var Total :real; Begin Readln(Total); If Total >= 500000 Then writeln(Bonus = 30.000) Else If Total >= 250000 Then writeln(Bonus = 20.000) Else If Total >= 50000 Then writeln(Bonus = 10.000) Else writeln(Tidak Ada Bonus) End. Bonus Yang Didapat (Rp) 30.000 20.000 10.000 0

C. Pernyataan CASE
Bentuk pernyataan CASE: CASE <variabel-pemilih> OF <daftar-label-1> : <Pernyataan-1>; <daftar-label-2> : <Pernyataan-2>;
. .

<daftar-label-n> : <Pernyataan-n>; ELSE <Pernyataan-lain> ; END; D3 Statististika ITS____________________________________________________Hal 13

Komputasi________________________________________________________________

variabelpemilih=daftarlabel-1 Salah (False) variabelpemilih=daftarlabel-2 Salah (False) variabelpemilih=daftarlabel-n

Benar (True)

Pernyataan-1

Benar (True)

Pernyataan-2

Benar (True)

Pernyataan-n

.....

Salah (False)

Pernyataan Lain

Gambar 4. Flowchart Statement CASE Variabel pemilih tidak boleh bertipe real. Pernyataan yang akan dijalankan sesuai dengan daftar-label yang memuat nilai variabel pemilih. Jika nilai dari variabel pemilih tidak ada dalam semua daftar label, maka pernyataan yang akan dijalankan adalah pernyataan yang mengikuti ELSE. ELSE dalam pernyataan CASE boleh tidak ada. Sama halnya dengan pernyataan IF, Jika pernyataan yang mengikuti daftar-label lebih dari satu maka harus diawali oleh Begin dan diakhiri oleh End.

Contoh :
1. Program untuk menentukan apakah suatu Character (huruf) yang kita masukkan adalah huruf vokal atau bukan.. PROGRAM HURUF; USES WINCRT; VAR DATA:CHAR; BEGIN READLN(DATA); CASE DATA OF 'A','I','U','E','O' :writeln('Huruf Besar Vokal');

D3 Statististika ITS____________________________________________________Hal 14

Komputasi________________________________________________________________

'a','i','u','e','o' :writeln('Huruf Kecil Vokal'); ELSE writeln ('Bukan huruf Vokal'); END; END. 2. Program untuk menentukan apakah suatu Character yang kita masukkan adalah huruf atau angka.. PROGRAM HURUF; USES WINCRT; VAR DATA:CHAR; BEGIN READLN(DATA); CASE DATA OF 'A'..'Z' :writeln('Huruf Besar'); 'a'..'z' :writeln('Huruf Kecil'); '0'..'9' :writeln ('Angka'); END; END.

SOAL :
1. Tuliskan statement Pascal untuk kasus berikut ini: a. Jika mempunyai anak maka hitung: tunjangan anak = tunjangan*banyaknya anak b. Tampilkan tulisan Genap atau Ganjil sesuai dengan data yang dimasukkan. 2. Buat program mencari penyelesaian akar dari persamaan kuadrat : A X2 + B X + C = 0 Akar persamaan ini dapat memberikan tiga kemungkinan penyelesaian berdasarkan nilai D = B2 4 A C: a. D > 0 : Akar berlainan b. D = 0 : Akar kembar c. D < 0 : Akar bilangan kompleks B D Penyelesaian Akar : X 12 = 2A (Gunakan Statement IF) 3. Buat Program untuk menentukan apakah seorang mahasiswa mendapat grade A, B, C, D atau E berdasarkan nilai yang didapat. (Gunakan Statement IF). 4. Buat program untuk menampilkan proses berikut ini: Ditampilkan menu : 1. Soto Rp. 5000,2. Bakso Rp. 3000,3. Nasi Pecel Rp. 4000,Selanjutnya ditanyakan mana yang akan dibeli dan jumlah porsinya.

D3 Statististika ITS____________________________________________________Hal 15

Komputasi________________________________________________________________

Setelah itu, hitung harga yang harus dibayar, dengan rumus: Harga yg hrs dibayar = harga menu yg dipilih * banyaknya porsi (Gunakan Statement IF). 5. Kerjakan kasus 2,3,4 dengan Statement CASE

D3 Statististika ITS____________________________________________________Hal 16

Komputasi________________________________________________________________

BAB IV PERNYATAAN PERULANGAN


Pernyataan perulangan adalah pernyataan yang akan menjalankan pernyataan yang mengikutinya secara berulang sampai syarat tertertentu terpenuhi. Ada 3 buah pernyataan perulangan, yaitu FOR, WHILE dan REPEAT.

A. Statement FOR
Statement FOR adalah suatu perintah yang berfungsi untuk melakukan proses pengulangan, dimana jumlah pengulangannya sudah diketahui. Bentuk dari statement FOR adalah: FOR {Variabel} := {Nilai Awal} TO {Nilai Akhir} DO BEGIN {Statement 1} {Statement 2} .... {Statement n} END;

variabel:=nilai awal

variabel = nilai akhir


Salah (False)

Benar (True)

Pernyataan

variabel:=variabel+1

Gambar 5. Flowchart Statement FOR TO DO

D3 Statististika ITS____________________________________________________Hal 17

Komputasi________________________________________________________________

FOR {Variabel} := {Nilai Awal} DOWNTO {Nilai Akhir} DO BEGIN {Statement 1} {Statement 2} .... {Statement n} END;

variabel:=nilai awal

variabel = nilai akhir


Salah (False)

Benar (True)

Pernyataan

variabel:=variabel -1

Gambar 6. Flowchart Statement FOR DOWNTO DO Jika Nilai Awal < Nilai Akhir gunakan statement FOR TO DO. Sedangkan jika Nilai Awal > Nilai Akhir gunakan statement FOR DOWNTO DO.

Contoh :
Ingin dibuat program untuk menampilkan deret berikut: 1,3,5,7,.......suku ke-n PROGRAM DERET; USES WINCRT; VAR I, N:INTEGER; BEGIN READLN(N); FOR I:=1 TO N DO WRITELN(2*I-1); END.

D3 Statististika ITS____________________________________________________Hal 18

Komputasi________________________________________________________________

Contoh :
Ingin dibuat program untuk menampilkan huruf M hingga A: PROGRAM HURUF; USES WINCRT; VAR I:CHAR; BEGIN FOR I:=M DOWNTO A DO WRITELN(I); END.

B. Statement FOR Bersarang


Untuk menangani masalah tertentu, ada kemungkinan statement FOR yang digunakan lebih dari satu dan statement FOR yang satu dapat berada didalam statement FOR yang lain. Bentuk yang seperti ini disebut FOR Bersarang (nested FOR)

Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini: * ** *** **** PROGRAM TAMPIL; USES WINCRT; VAR I,J:INTEGER; BEGIN FOR I:=1 TO 4 DO BEGIN FOR J:=1 TO I DO WRITE(*); WRITELN; END; END.

C. Penggunaan Statement FOR Dalam Persamaan yang Mengandung Simbol atau


Untuk menangani persamaan matematika/statistika yang mengandung simbol atau , perlu bantuan statement pengulangan. Diberikan bentuk persamaan sebagai berikut:

D3 Statististika ITS____________________________________________________Hal 19

Komputasi________________________________________________________________

y = (data i + b)
i =1

Dari bentuk tersebut diatas, terlihat bahwa ada 3 komponen penting yaitu: Hasil penjumlahan disimpan di variable Y Yang masuk kedalam sigma adalah (DATAi+B) Variabel penghitung (indeks) adalah I dan berjalan mulai 1 sampai dengan N Bentuk pengulangan dengan menggunakan FOR, adalah: READLN(N); Y:=0; FOR I:=1 TO N DO BEGIN READLN(DATA); Y:=Y+(DATA+B) END; WRITELN(Y) N diberi harga tertentu Y diberi harga awal 0 karena bentuk Sigma Variable penghitung I berjalan mulai 1 hingga N Mulai pengulangan Membaca Data Ybaru= Ylama+{persamaan yang masuk dalanm sigma} Akhir pengulangan Cetak nilai Y

Untuk persamaan:
n

y = (data i + b)
i =1

Dari bentuk tersebut diatas, terlihat bahwa ada 3 komponen penting yaitu: Hasil perkalian disimpan di variable Y Yang masuk kedalam phi adalah (DATAi+B) Variabel penghitung (indeks) adalah I dan berjalan mulai 1 sampai dengan N Bentuk pengulangan dengan menggunakan FOR, adalah: READLN(N); Y:=1; FOR I:=1 TO N DO BEGIN READLN(DATA); Y:=Y*(DATA+B) END; WRITELN(Y) N diberi harga tertentu Y diberi harga awal 1 karena bentuk phi Variable penghitung I berjalan mulai 1 hingga N Mulai pengulangan Membaca Data Ybaru= Ylama*{persamaan yang masuk dalam sigma} Akhir pengulangan Cetak nilai Y

D. Statement WHILE
Statement WHILE adalah suatu perintah yang berfungsi untuk melakukan proses pengulangan, dimana pengulangan akan terus dilakukan jika kondisi tertentu dipenuhi. Jika banyaknya pengulangan diketahui tapi kenaikan atau penurunan pengulangan tidak sebesar satu, statement IF tidak cocok untuk digunakan. Sebagai alternatif dapat digunakan statement WHILE atau REPEAT. Sedangkan jika banyaknya pengulangan

D3 Statististika ITS____________________________________________________Hal 20

Komputasi________________________________________________________________

tidak diketahui maka statement IF tidak dapat digunakan, sehingga harus digunakan statement WHILE atau REPEAT. Bentuk dari statement WHILE adalah: WHILE {Kondisi} DO BEGIN {Statement 1} {Statement 2} .... {Statement n} END;

Kondisi
Benar (True)

Salah (False)

Akhir WHILE

Pernyataan

Gambar 6. Flowchart Statement WHILE

Contoh :
Ingin dibuat program untuk menampilkan deret berikut: 1,3,5,7,.......suku ke-n PROGRAM DERET; USES WINCRT; VAR N,I : INTEGER; BEGIN READLN(N); I:=1; WHILE I <= N DO BEGIN WRITELN(2*I-1); I:=I+1; END; END.

D3 Statististika ITS____________________________________________________Hal 21

Komputasi________________________________________________________________

E. Statement WHILE untuk Jumlah Pengulangan Yang Diketahui


Statement WHILE dapat digunakan untuk pengulangan dengan jumlah pengulangan yang diketahui. Selain untuk pengulangan dengan kenaikan dan penurunan sebesar 1, statement WHILE dapat digunakan juga pada pengulangan dengan kenaikan dan penurunan tidak sebesar 1.

Contoh:
Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan perintah: For i:=1 to 20 do writeln(i) Program Ulang; Uses Wincrt; Var i:integer; Begin I:=1; {nilai awal} While i<= 20 do Begin Writeln(i); i:=i+1; End; End.

{menaikkan nilai i}

Yang Diingat !
Ada nilai awal terhadap variabel penghitung, yaitu: i:=1 Ada pertambahan nilai terhadap variabel penghitung, yaitu: i:=i+1 Ada kondisi yang menyebabkan pengulangan berhenti, yaitu: While i<= 20 do

Contoh:
Program untuk pengulangan dengan penurunan sebesar 1 atau menggantikan perintah: For i:=20 downto 1 do writeln(i) Program Ulang; Uses Wincrt; Var i:integer; Begin I:=20; {nilai awal} While i>0 do Begin Writeln(i); i:=i-1; End; End.

{menurunkan nilai i}

D3 Statististika ITS____________________________________________________Hal 22

Komputasi________________________________________________________________

Contoh:
Program untuk menampilkan bilangan real dari 1 sampai 10 dengan kenaikan sebesar 0.5. Program Ulang; Uses Wincrt; Var i:real; Begin I:=1; {nilai awal} While i<= 10 do Begin Writeln(i:5:2); i:=i+0.5; End; End.

{menaikkan nilai i}

F. Statement WHILE untuk Jumlah Pengulangan Yang Tidak Diketahui


Dalam proses pengulangan selalu ada kondisi yang mengkontrol pengulangan tersebut untuk berhenti. Kontrol pengulangan tidak selalu melibatkan variabel penghitung.

Contoh:
Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara berulangulang hingga karakter * dimasukkan. Program Ulang; Uses Wincrt; Var x:char; Begin x:=a; While x <> * do Begin Writeln(Masukkan bilangan: ); Readln (x); End; End.

G. Statement WHILE Bersarang (Nested WHILE)


Sama halnya dengan statement FOR, untuk menangani masalah tertentu, ada kemungkinan statement WHILE yang digunakan lebih dari satu dan statement WHILE yang satu dapat berada didalam statement WHILE yang lain.

D3 Statististika ITS____________________________________________________Hal 23

Komputasi________________________________________________________________

Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini: * ** *** **** PROGRAM TAMPIL; USES WINCRT; VAR I,J:INTEGER; BEGIN I:=1; WHILE I <= 4 DO BEGIN J:=1; WHILE J <=I DO BEGIN WRITE(*); J:=J+1; END; WRITELN; I:=I+1; END; END.

H. Statement REPEAT
Statement REPEAT adalah suatu perintah yang berfungsi untuk melakukan proses pengulangan, dimana pengulangan akan berhenti jika kondisi yang tertulis di akhir pengulangan dipenuhi. Sintak dari statement REPEAT adalah: REPEAT {Statement 1} {Statement 2} .... {Statement n} UNTIL {Kondisi};

D3 Statististika ITS____________________________________________________Hal 24

Komputasi________________________________________________________________

Repeat

Pernyataan

Salah (False)

Kondisi
Benar (True) Akhir Repeat

Gambar 6. Flowchart Statement REPEAT

Contoh :
Ingin dibuat program untuk menampilkan deret berikut: PROGRAM DERET; USES WINCRT; VAR N,I:INTEGER; BEGIN READLN(N); I:=1; REPEAT WRITELN(2*I-1); I:=I+1; UNTIL I > N; END. 1,3,5,7,.......suku ke-n

I. Statement REPEAT untuk Jumlah Pengulangan Yang Diketahui


Statement REPEAT dapat digunakan untuk pengulangan dengan jumlah pengulangan yang diketahui dan nilai kenaikan atau penurunan sebesar nilai tertentu (sebesar 1 atau tidak sebesar 1).

Contoh:
Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan perintah: For i:=1 to 20 do writeln(i)

D3 Statististika ITS____________________________________________________Hal 25

Komputasi________________________________________________________________

Program Ulang; Uses Wincrt; Var i:integer; Begin i:=1; {nilai awal} Repeat Writeln(i); i:=i+1; Until i > 20; End.

{menaikkan nilai i}

J. Statement REPEAT untuk Jumlah Pengulangan Yang Tidak Diketahui


Jika dalam proses pengulangan tidak diketahui banyaknya pengulangan, maka dapat digunakan statement WHILE atau REPEAT.

Contoh:
Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara berulang-ulang hingga karakter * dimasukkan. Program Ulang; Uses Wincrt; Var x:char; Begin Repeat Writel(Masukkan bilangan: ); Readln (x); Until x = *; End.

K. Statement REPEAT Bersarang (Nested REPEAT)


Sama halnya dengan statement FOR dan WHILE, ada kemungkinan statement REPEAT yang digunakan lebih dari satu dan statement REPEAT yang satu dapat berada didalam statement REPEAT yang lain.

D3 Statististika ITS____________________________________________________Hal 26

Komputasi________________________________________________________________

Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini: * ** *** **** PROGRAM TAMPIL; USES WINCRT; VAR I,J:INTEGER; BEGIN I:=1; REPEAT J:=1; REPEAT WRITE(*); J:=J+1; UNTIL J > I ; WRITELN; I:=I+1; UNTIL I > 4; END.

SOAL
1. Apa hasil dari cuplikan program dibawah ini: a. N:=10; b. FOR J:=1 TO 5 I:=1; FOR K:=1 TO 5 K:=0; WRITELN(J*2, ,K*3); REPEAT K:=K+I; WRITELN(K); I:=I+1; UNTIL I > N;

2. Buat program untuk menampilkan deret (sampai suku ke-n) : 1 3 9 27 ...... 3. Buat program yang pada awalnya meminta data lebar dan tinggi, lalu buat gambar persegipanjang berdasarkan data lebar dan tinggi. Misalkan lebar=10 dan tinggi=4, maka gambar yang dihasilkan adalah: ********** ********** ********** **********

D3 Statististika ITS____________________________________________________Hal 27

Komputasi________________________________________________________________

4. Buat tampilan berikut ini: a. 111 b. 1 222 22 333 333 444 4444 5. Buat program untuk menghitung: a. ab b. n! c. menghitung rata-rata

c. 1 12 123 1234

d. 1 21 321 4321

Catatan : Untuk soal no 2, 3, 4 dan 5 masing-masing dikerjakan dengan menggunakan statement FOR, WHILE dan REPEAT.

D3 Statististika ITS____________________________________________________Hal 28

Komputasi________________________________________________________________

BAGIAN V ARRAY
A. Array
Array (larik) menyatakan tipe data terstruktur yang berupa kumpulan elemen-elemen dengan tipe data yang sama. Tipe Array dapat ditulis sebagai berikut: Array [Indeks_1,,Indeks_n] of Tipe_Dasar

Array Dimensi Satu


Array berdimensi satu merupakan array dengan ciri memiliki tipe indeks hanya satu buah. Contoh deklarasi variabel dengan tipe array berdimensi satu: VAR X : ARRAY[1..10] of Integer; Untuk menyimpan suatu nilai kedalam lokasi array, dapat dilakukan dengan instruksi : D[i]:=nilai; atau dimana i adalah indeks array READLN(D[i]);

Sedangkan untuk menampilkan nilai yang ada di salah satu elemen array dapat dengan cara: WRITELN(D[i]); dimana i adalah indeks elemen array

Array Dimensi Dua


Array berdimensi dua merupakan array dengan ciri memiliki tipe indeks dua buah. Contoh deklarasi variabel dengan tipe array berdimensi dua: VAR Y : ARRAY[1..5,1..10] of Integer; Untuk menyimpan suatu nilai kedalam lokasi array, dapat dilakukan dengan instruksi : D[i,j]:=nilai; atau dimana i,j adalah indeks array READLN(D[i,j]);

Sedangkan untuk menampilkan nilai yang ada di salah satu elemen array dapat dengan cara: WRITELN(D[i,j]); dimana i,j adalah indeks elemen array

D3 Statististika ITS____________________________________________________Hal 29

Komputasi________________________________________________________________

Contoh :
1. Menghitung rata-rata dari n buah data PROGRAM RATA2; USES WINCRT; VAR I,N :INTEGER; RATA:REAL; DATA:ARRAY [1..50] OF REAL; BEGIN READLN(N); FOR I:=1 TO N DO BEGIN READLN(DATA[I]); END; RATA:=0; FOR I:=1 TO N DO BEGIN RATA:=RATA+DATA[I]; END; WRITELN(RATA=,RATA/N); END. 2. Menentukan matriks transpose. PROGRAM KEBALIKAN; USES WINCRT; VAR BARIS,KOLOM,I,J:INTEGER; A,B:ARRAY [1..20,1..20] OF REAL; BEGIN READLN(BARIS); READLN(KOLOM); {baca data matriks A} FOR I :=1 TO BARIS DO BEGIN FOR J:=1 TO KOLOM DO BEGIN READLN(A[I,J]); END; END; {B=A} FOR I :=1 TO KOLOM DO BEGIN FOR J:=1 TO BARIS DO

D3 Statististika ITS____________________________________________________Hal 30

Komputasi________________________________________________________________

BEGIN B[I,J]:=A[J,I]; END; END; {mencetak Matriks B} FOR I :=1 TO KOLOM DO BEGIN FOR J:=1 TO BARIS DO BEGIN WRITE(B[I,J]:0:2, ); END; WRITELN; END; END.

SOAL:
1. 2. 3. 4. Buat program untuk menghitung varians dari n buah data Buat program untuk mengurutkan n buah data Buat program menampilkan bil prima kurang dari 100 (yaitu 2, 3, 5, 7, .... 997) Buat program untuk mengalikan dua buah vektor (vektor baris maupun vektor kolom). 5. Buat program untuk membuat matriks transpose.

D3 Statististika ITS____________________________________________________Hal 31

Komputasi________________________________________________________________

BAGIAN VI FILE TEKS


A. File Teks
Dengan bekerja pada file, data atau program yang dibuat tidak akan hilang. Salah satu tipe file dalam Pascal adalah File Teks. File teks mempunyai ciri yaitu karakter yang menyebabkan baris baru. Oleh karena itulah elemen pada file teks adalah baris. Tanda akhir baris pada file teks adalah carriage return (CR) dan line feed (LF).

B. Deklarasi File Teks


Contoh cara mendeklarasikan file teks dalam Pascal adalah sebagai berikut: Var Filevar : text; {Filevar adalah variabel teks file}

C. Statement dalam File Teks


1. Assign(filevar,filename); Digunakanuntuk mengawali semua operasi yang melibatkan File. Filevar adalah variabel teks file yang sudah dideklarasikan. Sedangkan filename adalah nama file yang bertipe string. 2. Rewrite(filevar) Digunakan untuk membuka dan menciptakan file baru pada disk. 3. Reset(filevar) Digunakan untuk membuka file yang sudah ada di disk. 4. Write(filevar, x) Digunakan untuk menyimpan data yang ada pada variabel x kedalam file dan penunjuk file akan bergeser ke arah sesudah data. 5. Writeln(filevar, x) Digunakan untuk menyimpan data yang ada pada variabel x kedalam file dan penunjuk file akan bergeser ke baris berikutnya. 6. Read(filevar, x) Digunakan untuk membaca sebuah data yang ada pada file dan disimpan dalam variabel x setelah itu penunjuk file akan bergeser ke arah sesudah data. 7. Readln(filevar, data) Digunakan untuk membaca sebuah data yang ada pada file dan disimpan dalam variabel x setelah itu penunjuk file akan bergeser ke baris berikutnya.

D3 Statististika ITS____________________________________________________Hal 32

Komputasi________________________________________________________________

8. Close(filevar) Untuk menutup file yang sedang aktif.

Contoh :
Ingin dibuat program untuk menyimpan data beripa bilangan 1 sampai 10 kedalam file. PROGRAM TAMPIL; USES WINCRT; VAR F:TEXT; I:INTEGER; BEGIN Assign(f,c:\hasil.txt); Rewrite(f); For i:=1 to 10 do Writeln(f,i); Close(f); END.

SOAL:
1. Buat program untuk menyimpan n buah data yang dimasukkan lewat keyboard. 2. Baca data yang sudah disimpan pada soal no 1) lalu hitung nilai rata-rata dan varians nya 3. Buat program untuk mengurutkan n buah data yang disimpan pada soal no 1) dan hasil urutannya disimpan pada file lain.

D3 Statististika ITS____________________________________________________Hal 33

Anda mungkin juga menyukai