• Tidak ada hasil yang ditemukan

Struktur Percabangan dan Pengulangan

Dalam dokumen LSP Telematika. Cover (Halaman 115-123)

BAB II Pemrograman Borland Delphi

2.10 Struktur Percabangan dan Pengulangan

Percabangan adalah mengontrol program sehingga perintah yang dijalankan mengikuti alur tertentu berdasarkan suatu kondisi tertentu. Yang termasuk dalam pencabangan adalah perintah if – then – else, dan perintah case. Elemen program lain yang juga penting adalah pengulangan atau loop. Loop adalah pengulangan perintah sesuai dengan kondisi tertentu. Dalam object pascal terdapat 3 jenis loop, yaitu for, while, dan repeat, yang masing-masing memiliki ciri tersendiri.

If, Then , Else

Salah satu kata kunci yang memiliki peran sangat besar dalam pemrograman adalah kelompok kata kunci If, Then, Else.

Kata kunci ini digunakan untuk melakukan suatu proses tertentu bila kondisi tertentu dipenuhi, dan menjalankan proses lain jika kondisi tidak terpenuhi. Bentuk dasarnya:

if <ekspresi boolean>

then <pernyataan> [else <pernyataan>];

Ekspresi adalah sekumpulan perintah dalam objek pascal yang memberikan nilai tertentu. Ekspresi boolean dalam if diatas adalah ekspresi yang hasilnya data boolean (True atau False).

Pernyataan adalah sekumpulan perintah dalam objek pascal yang mewakili aksi tertentu dan akan dijalankan. Sekumpulan pernyatan yang diawali dengan begin dan diakhiri dengan end disebut “statement block”/blok pernyataan, dan selalu dapat dianggap sebagai pernyataan tunggal.

Kata kunci else<pernyataan>, bersifat opsional, artinya boleh tidak diikutkan. Sebelum kata kunci else tidak ada titik koma. Kita lihat contoh berikut:

if a > 0

then x:= 100 else x := 200;

Pada contoh di atas, variabel a akan diperiksa untuk menentukan nilai yang akan diisikan pada varibael x. Jika variabel a nilainya 0, maka x akan diisi dengan 100, jika tidak maka x akan diisi dengan 200.

Case

Kalau if-then-else adalah pencabangan yang memiliki dua alternatif, Case adalah percabangan yang memiliki lebih dari dua alternatif. Bentuknya adalah sebagai berikut:

Ekspresi adalah suatu ekspresi yang menghasilkan nilai ordinal, nilaiCase adalah nilai konstan yang akan dibandingkan dengan ekspresi ordinal tersebut. Contohnya case <ekspresi> of <nilaiCase>: <pernyataan>; … <nilaiCase>: <pernyataan>; else <pernyataan> end case Ch of

‘A’..’Z’, ‘a’..’z’ : Label1.Caption := ‘Huruf’; ‘0’..’9’ : Label1.Caption := ‘Angka’;

else

Label1.Caption := ‘Special karakter’;

For

Loop jenis ini dilakukan untuk pengulangan dengan banyaknya pengulangan yang sudah diketahui. Bentuk loop jenis ini adalah sebagai berikut:

Untuk for yang nilai akhir < nilai awal, gunakan bentuk berikut: Nilai_awal dan nilai_akhir adalah ekspresi dengan tipe Integer. Contoh penggunaan for adalah sebagai berikut:

While

Loop jenis ini digunakan untuk melakukan pengulangan selama suatu kondisi tertentu terpenuhi. Bentuknya adalah sebagai berikut:

Contohnya adalah sebagai berikut:

var

i := Integer; begin

i := 5;

while i > -1 do begin

Writeln(‘Nilai iterasi: ’ + IntToStr(i)); Dec(i);

end;

Memo1.Lines.Add(‘Selesai’);

end;

for <nilai_awal> to <nilai_akhir> do

<pernyataan> …

end;

for <nilai_awal> downto <nilai_akhir> do

<pernyataan> end; var i : Integer; x : Integer; begin x:= 0; for i := 0 to 9 do begin

Writeln(‘Nilai iterasi: ’ + IntToStr(x)); Inc(x, 10);

end;

end.

while <kondisi> do begin

<pernyatan> …

Repeat

Loop jenis ini digunakan untuk melakukan pengulangan sampai suatu kondisi terpenuhi. Perbedaan mendasar antara while dengan repeat adalah bahwa pada while pengecekan dilakukan pertama kali, sedangkan pada repeat pengecekan dilakukan terakhir. Akibatnya adalah bahwa pada repeat proses akan dilakukan paling sedikit satu kali. Bentuk repeat adalah sebagai berikut: Contohnya adalah sebagai berikut.

repeat <pernyatan> … until<kondisi> var I := Integer; Begin I := 5; Memo1.Clear; repeat

Memo1.Lines.Add(‘Iterasi ke’ + IntToStr(I)); Dec(I);

until I = -1;

Memo1.Lines.Add(‘Selesai’);

end;

2.11 Array

Array adalah kumpulan data yang bertipe sama. Elemen array dapat diakses dengan menggunkan indeks yang berada pada kurung siku ([]). Delphi menyediakan beberapat tipe array, yaitu static array, dynamic array, serta

open array. Bentuk umum definisi array adalah:

Tipe indeks adalah tipe yang digunakan untuk melakuakn indeksing array. Tipe indeks yang paling sering digunakan adalah [min .. maks], min adalah indeks minimum, maks adalah indeks maksimum. Tipe indeks lain yang dapat

<NamaArray> = array [Tipe Indeks] of <Tipe Dasar>; <NamaArray> = array [Tipe Indeks, …] of <Tipe Dasar>; <NamaArray> = array of <Tipe Dasar>;

digunakan adalah [Byte], [ShortInt], [Char], atau Tipe ordinal lainnya. Indeks minimum dan maksimumnya tergantung range masing-masing tipe.

Contoh:

Array Multidimensi

Kita juga dapat mendefinisikan array lebih dari satu dimensi dengan cara

Untuk mengaksesnya kita dapat melakukannya dengan cara:

BAB III

FORM

Dalam Delphi, Form merupakan bagian sangat penting dalam user interface, didefinisikan dalam unit Forms sebagai kelas Tform. Tform adalah turunan dari TwinControl melalui TscrollingWinControl dan TCustomForm.

2.12 Pemrograman Berorientasi Objek

Ciri dasar dari pemrograman berorientasi objek adalah adanya :

• kelas yang adalah definisi data dan fungsi yang terbungkus secara abstrak

• Encapsulation merupakan proses menyembunyikan bagian dari program

• Inheritance yang adalah hubungan antar objek

• Polymorphism yaitu kemampuan untuk melakukan hal yang sama dengan cara yang berbeda

var

MyArray: array[0..4] of integer

var

MultiDimArray: array[0..5, 0..3] of integer

x:= MultiDimArray[2, 3] + MultiDimArray[1, 2];

atau

Kelas dan Instance

Kelas adalah cetakan atau abstraksi dari objek, sedangkan instance adalah contoh nyata objek dari kelas tertentu. Dalam konteks pemrograman, kelas adalah tipe data, sedangkan contoh nyata adalah tempat dalam memori dimana objek dibuat. Berikut ini adalah contoh kode pendefinisian kelas sebagai tipe objek yang terletak pada bagian implementasi :

type MyClass = class private myData1: Integer; myData2: Integer; public

function GetMyData1: Integer; function GetMyData2: Integer; function GetMyData3: Integer; end;

Kelas TObject dan Variabel Bertipe Object

Kelas TObject memiliki posisi tertinggi dalam struktur hirarki objek di Delphi. Semua kelas adalah turunan dari kelas TObject. Selain itu, semua variabel bertipe TObject maupun turunannya adalah variabel pointer. Oleh sebab itu sebelum variabel dipakai harus disiapkan memory untuk objek yang dimaksudkan dengan cara memanggil constructornya.

var

obj1, obj2:MyClass;

begin

obj1 := MyClass.Create; // Alokasi memori untuk Obj1

obj2 := obj1; // obj1 dan obj2 mengacu pada alamat yang sama obj1.MyData1 := x;

end

Method

Method didefinisikan sebagai member dari suatu kelas. Cara pendefinisian dan

perilakunya sangat mirip dengan function atau procedure biasa, perbedaanya terletak pada bagian implementasi method. Berikut ini adalah cara pendefinisian objek :

TmyObject = class public

procedure MyProc(x: Integer); function MyFunc(y: Double): Double; end;

Kedua method di atas diimplementasikan seperti contoh berikut ini : function TmyObject.MyFunc(y:Double) : Double;

begin

result := y; end;

procedure TmyObject.MyProc(x: Integer); begin

// kode....

end;

Sedangkan, cara penggunaannya seperti di bawah ini : z := y.MyFunc(10);

Event

Event adalah property yang bertipe method dan memiliki visibility published. Karena itu, event memiliki RTTI sehingga dapat muncul di Object Inspector. Sebagai property, kita dapat assign event seperti halnya kita meng-assign properti biasa, tentu saja asal tipenya sesuai.

Exception

Delphi menyediakan pengelolaan error dengan konsisten. Ketika error muncul maka terbentuklah sebuah tipe objek dengan tipe exception. Saat exception muncul, Delphi akan menampilkan kesalahan dan menghentikan program di titik tersebut. Tetapi, terkadang kita ingin melakukan sesuatu ketika error muncul, kita dapat mendefinisikan respon terhadap munculnya exception tertentu dengan try....except dengan bentuk dasarnya seperti di bawah ini : try

[blok program yang dilindungi] except

on ExceptionTertentu do

[statemen bila ExceptionTertentu terjadi] end;

Debugging

Ketika menjalankan program di editor Delphi (misalnya: menekan suatu tombol ) maka kita menjankan program tersebut dalam debugger. Ketika

error terjadi maka program berhenti dan menunjuk baris tempta error. Tetapi

untuk mempelajari exception, kita ingin tahu apakah exception sudah ditangani dengan benar, kita dapat menjalankan file exe-nya melalui Windows

Explorer, atau mematikan sementara Stop On Delphi Exception yang kita tampilkan dari menu Tools – Debugger Option pada page Language Exception.

Soal Latihan

1. Identifier digunakan untuk mengidentifikasi berikut ini, kecuali : a. konstanta

b. tipe data c. nama file d. function

2. Identifier yang bersifat tetap selama program berjalan disebut : a. konstanta

b. tipe data c. function d. procedure

3. Pendefinisian variabel dengan menggunakan kata kunci : a. asm

b. begin c. const d. var

Soal Praktek

4. Buatlah program Delphi untuk memeriksa apakah sebuah bilangan merupakan bilangan genap atau bilangan ganjil pada daftar bilangan berikut ini : 23, 3, 1, 4, 6, 11, 10, 8, 2, 7, 19.

5. Buatlah program Delphi untuk melakukan pengurutan terhadap bilangan-bilangan berikut ini : 0,4,2,7,6,8,3,5,1,9.

Dalam dokumen LSP Telematika. Cover (Halaman 115-123)