III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal...

23
Pemrograman PASCAL : Review Pascal 1 STRUKTUR KONTROL Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) : Statement WHILE-DO digunakan untuk melakukan proses perulangan suatu statement atau blok statement terus-menerus selama kondisi ungkapan- logika pada WHILE masih bernilai logika benar. Contoh : program untuk mencetak bilangan bulat positif yang lebih kecil dari 20. digit := 1; WHILE digit <= 20 DO Begin Halaman : 26

Transcript of III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal...

Page 1: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

STRUKTUR KONTROL

Struktur WHILE-DOMempunyai struktur sebagai berikut :

Bentuk Umum : WHILE condition Do statementBentuk Proses (flow chart) :

Statement WHILE-DO digunakan untuk melakukan proses perulangan suatu statement atau blok statement terus-menerus selama kondisi ungkapan-logika pada WHILE masih bernilai logika benar.Contoh : program untuk mencetak bilangan bulat positif yang lebih kecil dari 20.

digit := 1; WHILE digit <= 20 DO

Begin Write(digit); digit := digit + 1;End.

Halaman : 26

Page 2: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Contoh : Var I : integer;Begin I := 0; While I < 5 Do

Begin WriteLn(I); I := I + 1;End;

End.

Hasilnya :01234

Penjelasan :Perulangan dari While akan terus dikerjakan bila kondisinya masih benar. Dalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di dalam While masih terpenuhi dan perulangan akan selesai setelah nilai I lebih besar atau sama dengan 5.

Struktur REPEAT-UNTILDigunakan untuk mengulang (repeat) statement-statement atau blok statement sampai (until) kondisi yang diseleksi di Until tidak terpenuhi. Sintaks dari statement ini bila digambarkan dalam bentuk diagram akan berbentuk :Bentuk Umum : REPEAT sequence statement UNTIL conditionBentuk Proses (flow chart) :

Halaman : 27

Page 3: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Contoh : (dari persoalan di atas)

digit := 1;REPEAT

write (digit);digit := digit + 1

UNTIL digit > 5 ;

Contoh :Var I : integer;Begin I := 0; Repeat

I := I + 1;Writeln(I);

Until I = 5;End.

Hasilnya:

12345

Perbedaan antara struktur REPEAT-UNTIL dengan WHILE-DO adalah sebagai berikut :

1. Paling sedikit statement-statement di dalam perulangan REPEAT-UNTIL diproses sekali, karena seleksi kondisi ada pada statement Until yang terletak dibawah. Sedang pada struktur WHILE-DO paling sedikit dikerjakan nol kali, karena seleksi kondisi ada apada statement While yang terletak diatas, sehingga kalau kondisi sudah tidak terpenuhi, maka tidak akan masuk ke dalam lingkungan perulangan.

Halaman : 28

Page 4: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

2. Pada REPEAT-UNTIL dapat tidak dipergunakan blok statement (tidak diperlukan Begin dan End untuk menunjukkan batas perulangannya), karena batas perulangannya sudah ditunjukkan oleh Repeat sampai dengan Until (Repeat dan Until sebagai pengganti Begin dan End).

Struktur FOR

Digunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan. Sintaks dari statement For dalam bentuk diagram adalah sebagai berikut :

Bentuk Umum :a. FOR id := v1 TO v2 DO statementb. FOR id := v1 DOWNTO v2 DO statement

Bentuk Proses :

Halaman : 29

Page 5: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Contoh : (dari persoalan diatas) FOR i := 1 to 20 DO write(i);FOR I := 20 DOWNTO 20 DO write(i);

Contoh :Var I : integer;Begin

For I := 1 to 5 Do Writeln(‘Pascal’);End.

Hasilnya : PascalPascalPascalPascalPascal

Penjelasan :Berarti statement WriteLn(‘Pascal’) akan diulang sebanyak 5 kali, yaitu dengan penghitung I dari nilai awal 1 sampai dengan nilai akhir 5.Contoh :Penulisan statement yang akan diproses berulang kali tersebut dapat juga ditulis dalam bentuk blok statement (diawali dengan Begin dan

Halaman : 30

Page 6: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

diakhiri dengan And), walaupun hanya berisi sebuah statement saja, sebagai berikut :

VarI : integer;

BeginFor I := 1 to 5 Do

BeginWriteLn(‘Pascal’);

End;End.

Contoh :Var Celcius : integer;

Fahrenheit : REAL;Begin

WriteLn(‘---------------------------‘);WriteLn(‘Celcius Fahrenheit’);WriteLn(‘---------------------------‘);Celcius := 0;For Celcius := 5 DownTo 0 Do

BeginFahrenheit := 1.8 * Celcius + 32;WriteLn(Celcius:8,Fahrenheit:14:2);

End;WriteLn(‘----------------------------‘);

End.Hasilnya :

---------------------------Celcius Fahrenheit--------------------------- 5 41.00 4 39.00 3 37.40

2 35.60 1 33.80 0 32.00

Struktur IF Halaman : 31

Page 7: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Bentuk Umum :A. IF kondisi THEN statementB. IF kondisi THEN statement_1 ELSE statement_2C. IF kondisi_1 THEN

IF kondisi_2 THEN statement_1 ELSE statement_2

D. IF kondisi_1 THENBEGIN

IF kondisi_2 THEN statement_1 ELSE statement_2END

Bentuk Flowchart :

IF – THEN IF – THEN - ELSE

IF TERSARANG

Halaman : 32

Page 8: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Contoh : If - Then

VarNilaiUjian : real;Ket : string[11];

BeginKet := ‘Tidak Lulus’;Write(‘Nilai yang didapat ? ‘);Readln(NilaiUjian);

If NilaiUjian > 60 Then Ket :=’Lulus’; Writeln(Ket);End.

Hasilnya :

Nilai yang didapat ? 70Lulus

FlowChart :

Halaman : 33

Page 9: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Contoh : If - Then - else

VarNilaiUjian : real;Ket : string[11];

BeginWrite(‘Nilai yang didapat ? ‘);Readln(NilaiUjian);

If NilaiUjian > 60 Then Writeln(‘Lulus’); Else

Writeln(‘Tidak Lulus’);End.

Hasilnya :

Nilai yang didapat ? 70Lulus

FlowChartnya :

Halaman : 34

Page 10: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Struktur CASE

Bentuk Umum : Case – Of

CASE ekspresi OFCase label list 1 : statement_1;Case label list 2 : statement_2;

Case label list n : statement_n;END;

Bentuk Umum : Case - Of…Else

CASE ekspresi OFCase label list 1 : statement_1;Case label list 2 : statement_2;

Case label list n : statement_n;ELSE statement;END;

Bentuk proses (flow chart) :

Halaman : 35

Page 11: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Perbedaan antara CASE dengan IF adalah jika statement if menyeleksi suatu kondisi dan terpenuhi, setelah memproses statement dalam lingkungan yang terpenuhi tersebut, proses penyeleksian masih dilakukan terhadap statement if berikutnya yang lain. Sedangkan pada struktur CASE-OF bila salah satu kondisi terpenuhi dan statement tersebut telah diproses, selanjutnya statement-statement yang lainnya dalam lingkungan CASE tidak akan diseleksi lagi.Daftar case label dapat berupa sebuah konstanta, atau range dari konstanta yang bukan bertipe real.Contoh :1:1,2,3,4:1..5:‘A’:‘A’,’B’:‘A’..’D’:Contoh :

Var Nilai :char;Begin

Write(‘Nilai huruf yang didapat’);readln(Nilai);CASE Nilai OF

‘A’ : writeln (‘T-shirt’);‘B’ : writeln (‘Sepatu’);‘C’: writeln (‘Topi’);

End;End.

Contoh :Var Nilai :char;

BeginWrite(‘Nilai huruf yang didapat’);readln(Nilai);CASE Nilai OF

‘A’ : writeln (‘T-shirt’);‘B’ : writeln (‘Sepatu’);‘C’: writeln (‘Topi’);

Else Writeln(‘Pilihan hanya A,B,C’);

Halaman : 36

Page 12: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

End.

Struktur GOTO

Bentuk Umum : GOTO label statement;

Contoh :

Label 10,selesai;Begin

Writeln(‘Bahasa’);Goto 100;Writeln(‘Basic’);

100;Writeln(‘Pascal’);Goto selesai;Writeln(‘Cobol’);

Selesai;End.

Halaman : 37

Page 13: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

ARRAYArray didefinisikan sebagai suatu kumpulan dimana elemen-elemennya berjenis data sama. (homogen)Suatu array dapat dibedakan atas 2 (dua) bagian, yaitu :a. Array berdimensi satu.

Array berdimensi satu dapat dikatakan sebagai suatu daftar yang linier atau sebuah kolom.Bentuk deklarasi dari array jenis ini dalam bahasa Pascal adalah :VAR nama_array : ARRAY [index] OF jenis_elemen;

Contoh :VAR x : ARRAY [1..10] OF integer;

b. Array Multi DimensiContoh untuk array jenis ini adalah array dimensi dua.Array dimensi dua ini dapat dianggap sebagai sebuah matriks yang jumlah kolomnya lebih dari satu.Bentuk deklarasi :VAR nama_array : ARRAY [indeks_baris,indeks_kolom] OF jenis;Contoh :VAR A : ARRAY [1..3,1..4] OF integer;Array A di atas terdiri atas 12 elemen, yaitu :

A[1,1] A[1,2] A[1,3] A[1,4]A[2,1] A[2,2] A[2,3] A[2,4]A[3,1] A[3,2] A[3,3] A[3,4]

Masing-masing A[i,j] adalah diatas adalah integer(i = 1,2,3 ; j = 1,2,3,4)

Selanjutnya untuk array berdimensi tiga, empat dst, cara pendeklarasiannya hanya berbeda pada indeksnya saja.

MEMPROSES ARRAY Misal diberikan deklarasi suatu array sebagai berikut :

VAR X : ARRAY [1..10] OF integer;

Halaman : 38

Page 14: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Untuk keperluan membaca variabel X (input) kita tidak bisa melakukan seperti sebuah data bernilai tunggal, yaitu READ (X).Sebab jika kita membaca/input suatu variabel berjenis array berarti kita membaca elemen-elemen array tersebut.Untuk itu diperlukan suatu bentuk perulangan seperti berikut :

FOR I := 1 TO 10 DO READ ( X[1] );

Demikian pula halnya untuk keperluan memproses elemen-elemennya, harus ditunjukkan elemen yang akan diproses.

Contoh :

Misal terdapat 10 bilangan integer positif yang berbeda disimpan di dalam suatu array B.Tentukan integer yang terbesar diantara 10 integer tersebut dengan suatu program Pascal.

Penyelesaiannya :

PROGRAM MAKS ;VAR B : ARRAY [1..10] OF integer;

I,J,MAX : integer;

Begin FOR I := 1 TO 10 DO READ(B[I}); MAX := B[1]; FOR J := 2 TO 10 DO

IF MAX <= B[J] THEN MAX := B[I};WRITE (MAX);

End.

Contoh 2 :Dari soal contoh 1 di atas, buat program yang menghitung rata-rata dari 10 bilangan tersebut.Penyelesaiannya :

Halaman : 39

Page 15: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

PROGRAM RATA_RATA;TYPE INDEKS = 1..10;VAR A : ARRAY [INDEKS] OF INTEGER;

I : INTEGER;TOTAL : INTEGER;RATA2 : REAL;

BEGIN Total := 0; FOR I := 1 TO 10 DO

BEGIN READ (A[I]); TOTAL := TOTAL + A[I];END;

RATA2 := TOTAL / 10; WRITE (RATA2);END.

RECORDRecord dapat dikatakan sebagai suatu kumpulan data item yang masing-masing mempunyai jenis data berbeda.Data item yang merupakan elemen record biasanya disebut dengan FIELD.

Halaman : 40

Page 16: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

CARA MENDEKLARASIKAN RECORDBentuk umum deklarasi suatu variabel berjenis record adalah sbb :

VAR nama_record : RECORD Nama_field_1 : jenis ; Nama_field_2 : jenis ; ……………………… ……………………… nama_field_n : jenis;END;

Atau

TYPE identifier = RECORDNama_field_1 : jenis;Nama_field_2 : jenis;……………………..……………………..nama_field_n : jenis;

END;

Contoh :

1. VAR nilai : RECORDNilai_1 : integer;Nilai_2 : integer;

END;2. TYPE date = RECORD

Tanggal : 1..31;Bulan : 1…12;Tahun : 1900..2000;

END;

VAR event1,event2 : ARRAY [1..10] OF date;

3. TYPE account = RECORD cust_no : integer; cust_type : char; cust_balance : real;

END;

Halaman : 41

Page 17: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

VAR customer : account;

MEMPROSES VARIABEL BERJENIS RECORD

Perhatikan deklarasi variabel berikut :TYPE nilai : RECORD

Nilai1 : real; Nilai2 : real;END;

VAR x,y : nilai;

Untuk memproses variabel x dan / atau y dilakukan dengan cara menyebutkan field designatornya, yg terdiri dari atas :

Nama_record.nama_field

Pada deklarasi diatas yang dimaksud dengan field designator-nya adalah :

x.nilai1x.nilai2y.nilai1y.nilai2

Jadi jika ingin membaca variabel x atau y atau keduanya, maka bentuk statement-nya adalah :

READ (x.nilai1, x.nilai2, y.nilai1, y.nilai2);

Selanjutnya, misal ingin dibuat program sederhana untuk menjumlahkan dua bilangan kompleks a dan b yang hasilnya disimpan di c.Secara aljabar penjumlahan dua bilangan kompleks adalah sebagai berikut :

a = x1 + iy1b = x2 + iy2 +

c = (x1 + x2 ) + I(y1 + y2)

Halaman : 42

Page 18: III. STRUKTUR KONTROLpuzulaikasari.staff.gunadarma.ac.id/Downloads/files/... · Web viewDalam hal ini kondisinya adalah I dan bila nilai I masih kurang dari 5, berarti kondisi di

Pemrograman PASCAL : Review Pascal 1

Maka bentuk garis besar programnya adalah sebagai berikut :

Program contoh ;Type bk = record

Bag_nyata : integer;Bag_imajiner : integer;

End;Var a,b,c : bk;Begin

Read (a.bag_nyata, a.bag_imajiner, b.bag_nyata, b.bag_imajiner); c.bag_nyata := a.bag_nyata + b.bag_imajiner; c.bag_imajiner := a.bag_imajiner + b.bag_imajiner; writeln(c.bag_nyata,’ +’,’i’,c.bag_imajiner);End.

STATEMENT “WITH”Selain cara yang telah disebutkan diatas, untuk memproses suatu record dapat digunakan statement WITH.Dengan statement ini penulisannya akan lebih sederhana.Bentuk Umum penulisan statement WITH ini adalah :

WITH nama_record DO statementPerhatikan deklarasi dibawah ini :

TYPE x = RECORDNo : integer;Kode : char;Juml : integer;Harga : real;

END;VAR p,q : x;

Untuk membaca variabel p dan q di atas dengan memanfaatkan statement WITH bentuknya menjadi :

WITH p,q DO read (no, kode, juml, harga);Bandingkan jika digunakan cara sebelumnya :

Read(p.no, p.kode, p.juml,p.harga,q.no,q.kode,q.juml,q.harga);

Halaman : 43