pemrograman terstruktur i

59
PEMROGRAMAN TERSTRUKTUR I Agus Prihanto, MKom DELPHI SIMULATIONS FMIPA-UNESA © 2011

Upload: yuhananisa-gates-jobs

Post on 05-Aug-2015

235 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Pemrograman Terstruktur I

PEMROGRAMAN

TERSTRUKTUR I

Agus Prihanto, MKom

DELPHI SIMULATIONS

FMIPA-UNESA

© 2011

Page 2: Pemrograman Terstruktur I

i

DAFTAR ISI

Contents

DAFTAR ISI ..................................................................................................................... i

BAB 1. PENDAHULUAN .............................................................................................. 1

A. Apa itu Delphi ? ....................................................................................................... 1

B. IDE (Integrated Development Environtment) Delphi 7........................................... 1

a. Menu ..................................................................................................................... 1

b. Speed Bar .............................................................................................................. 1

c. Component Pallete ................................................................................................ 2

d. Form Designer ...................................................................................................... 2

e. Code Editor ........................................................................................................... 2

f. Object Inspector .................................................................................................... 2

g. Object Treeview ................................................................................................... 2

C. Format File ............................................................................................................... 3

D. Tombol Shortcut penting ......................................................................................... 3

BAB 2. PEMROGRAMAN BERORIENTASI OBJECT(OOP) .................................... 4

A. Perkembangan Bahasa Pemrograman...................................................................... 4

B. Apa itu Pemrograman Beriorentasi Object ? ........................................................... 4

C. Ciri-ciri Pemrograman Berorientasi Object ............................................................. 6

a. Pengkapsulan (Encapsulation) .............................................................................. 6

b. Pewarisan (Inheritance) ........................................................................................ 7

c. Multifungsi (Polymorphism) ................................................................................ 7

Contoh Delphi : Meletakkan komponen ....................................................................... 8

Contoh Delphi : Mengubah property object ................................................................. 9

BAB 3. TIPE DATA DAN OPERATOR ...................................................................... 11

A. Komentar ............................................................................................................... 11

a. Komentar Blook .................................................................................................. 11

b. Komentar Baris ................................................................................................... 11

B. Variable .................................................................................................................. 11

a. Tipe Bilangan Bulat ............................................................................................ 11

b. Tipe Bilangan Pecahan ....................................................................................... 12

c. Tipe Boolean (Banar dan Salah) ......................................................................... 12

Page 3: Pemrograman Terstruktur I

ii

d. Tipe Karakter (char) .......................................................................................... 12

e. Tipe String (string) ............................................................................................. 12

C. Konstanta ............................................................................................................... 12

D. Array ...................................................................................................................... 12

E. Varian ..................................................................................................................... 12

F. Operator .................................................................................................................. 13

a. Operator Aritmetik .............................................................................................. 13

b. Operator Pembanding ......................................................................................... 13

Contoh Delphi : Membuat kalkulator sederhana ........................................................ 14

Contoh Delphi : Mencari Rumus Konversi Derajat ke Farentheit ............................. 15

BAB 4. ALIRAN PROGRAM DAN SUBRUTIN ....................................................... 17

A. Percabangan ........................................................................................................... 17

a. Pernyataan if .. else .. .......................................................................................... 17

b. Pernyataan if ... else if .. else .. ........................................................................... 17

c. Pernyataan Case .................................................................................................. 17

B. Pengulangan ........................................................................................................... 18

1. Pernyataan For .................................................................................................... 18

2. Pernyataan While ................................................................................................ 18

3. Pernyataan Repeat .. Until .................................................................................. 18

4. Pernyataan break................................................................................................. 18

5. Pernyataan continue;........................................................................................... 18

C. Subrutin Procedure dan Fungsi .............................................................................. 18

1. Procedure ............................................................................................................ 18

2. Function .............................................................................................................. 19

Contoh Delphi : Konversi Nilai Angka ke huruf ........................................................ 19

Contoh Delphi : Generate data secara berurut ............................................................ 20

Contoh Delphi : Konversi Bilangan Decimal Ke Bilangan Romawi ......................... 21

Contoh Delphi : Konversi Nilai Uang Ke Kalimat Terbilang .................................... 23

Contoh Delphi : Bilangan Pascal ................................................................................ 25

Contoh Delphi : Bilangan Prima ................................................................................ 27

BAB 5. PENGENALAN KOMPONEN STANDART ................................................. 30

A. Mengenal komponen standard ............................................................................... 30

B. Latihan Penggunaan Komponen ............................................................................ 31

1. Formulir Biodata .................................................................................................... 31

Page 4: Pemrograman Terstruktur I

iii

2. Membuat Menu ...................................................................................................... 34

3. Multi Form .............................................................................................................. 36

4. Konversi Suhu ........................................................................................................ 39

BAB 6. CHART DAN APLIKASINYA ........................................................................ 41

11. Menggambar graphics dengan komponen TChart................................................ 42

12. Simulasi Gerak Peluru .......................................................................................... 45

CANVAS .................................................................................................................... 49

System koordinat TCanvas ......................................................................................... 49

PENGGUNAAN KOMPONEN TCHART UNTUK MEMBUAT SIMULASI

GRAPHICS ................................................................................................................ 51

A. Pengenalan ............................................................................................................. 51

B. Contoh Penggunaan Tchart untuk Membuat Program Simulasi Superposisi 2

Gelombang Dipandu Oleh Dosen ............................................................................... 51

Petunjuk ...................................................................................................................... 51

c. Praktek Membuat Program Simulasi Interpolasi 2 Gelombang Oleh Mahasiswa.. 55

Petunjuk : .................................................................................................................... 55

Page 5: Pemrograman Terstruktur I

1

BAB 1. PENDAHULUAN

A. Apa itu Delphi ?

Ide munculnya Delphi sebenarnya berasal dari bahasa pemrograman

yang cukup terkenal, yaitu Pascal. Bahasa Pascal sendiri telah diciptakan

pada tahun 1971 oleh ilmuwan dari Swiss. Nama Pascal diambil dari ahli

matematika dan fislsafat perancis, yaitu Blaise Pascal (1923-1662).

Pada tahun 1992, Borland Internasional menggabungkan Turbo Pascal

For Dos dan Turbo Pascal For Windows menjadi satu paket bahasa

pemrograman yang dikenal dengan nama Borland Pascal Versi 7.

Karena pemrograman Windows dengan Borland Pascal masih dirasa

cukup sulit, sejak tahun 1993 Borland Internasional mengembangkan bahasa

Pascal yang bersifat visual. Hasil dari pengembangan ini adalah dirilisnya

Delphi 1 pada tahun 1995.

Pemrograman visual dikembangkan dengan maksud agar para

programer tidak dipersulit dengan detail kerumitan design pemrograman

tapi lebih fokus pada pokok pemrograman yang kompleks.

B. IDE (Integrated Development Environtment) Delphi 7

Pada Dasarnya IDE milik delphi 7 dibagi menjadi tujuh bagian utama,

yaitu : Menu, Speed Bar, Component Pallete, Form Designer, Code Editor, Object

Treeview, dan Object Inspector.

a. Menu

Menu pada delphi memiliki kegunaan seperti menu pada aplikasi

windows lainnya.

b. Speed Bar

Berisi kumpulan tombol yang sering digunakan.

Page 6: Pemrograman Terstruktur I

2

c. Component Pallete

Berisi kumpulan ikon yang melambangkan komponen-komponen pada

VCL (Visual Component Library).

d. Form Designer

Merupakan tempat dimana anda dapat merancang jendela dari aplikasi

Windows Anda. Perancangan form dilakukan dengan meletakkan

komponen-komponen yang diambil dari Component Pallete.

e. Code Editor

Tempat dimana anda menuliskan program.

f. Object Inspector

Digunakan untuk mengubah property dari sebuah object komponen.

g. Object Treeview

Digunakan untuk menampilkan daftar object yang ada pada sebuah form

Form Designer

Code Editor

Object Inspector

Object Treeview

Menu

Speed Bar

Component

Page 7: Pemrograman Terstruktur I

3

C. Format File

Pada delphi terdapat beberapa file yang diciptakan, berikut ini 3 file

utama yang diciptakan :

� namafile.dpr : berisi program utama aplikasi anda

� namafile.pas : berisi unit kode pemrograman yang nantinya digunakan

untuk menangani kejadian pada form.

� namafile.dfm : berisi daftar komponen yang anda letakkan pada form

beserta propertinya.

D. Tombol Shortcut penting

Shortcut Fungsi

F9 Menjalankan program

Ctrl + F8 Menjalankan program secara bertahap

Ctrl + F2 Memaksa program berhenti (kursor harus aktif di Code Editor)

Ctrl + Space Mengeluarkan daftar fungsi dan procedure dari object yang berhubungan (Auto Completion Code)

Ctrl + J Mengeluarkan kerangka pemrograman

Ctrl + F Menampilkan dialog Find Text

Ctrl + R Menampilkan dialog Replace Text

F12 Switch diantara Form Designer dengan Code Editor

F11 Menampilan property component

Page 8: Pemrograman Terstruktur I

4

BAB 2. PEMROGRAMAN BERORIENTASI OBJECT(OOP)

A. Perkembangan Bahasa Pemrograman

Tahun Keterangan Contoh

1960-an Pemrograman menggunakan bahasa mesin Assembly

- Bahasa pemrograman tingkat tinggi, sudah menggunakan bahasa sehari-hari (bhs inggris)

Fortran & Cobol

1970-an Pemrograman terstruktur, menghilangkan konsep GOTO yang seringkali mengacaukan pemrograman

Pascal

1980-an Pemrograman Generasi keempat, yang memungkinkan pemrograman ditulis dalam beberapa kata

Oracle

1990-an Pemrograman berorientasi object. Tujuan untuk mengefisiensikan pemrogram dalam membangun aplikasi yang komplek.

Java, Delphi

B. Apa itu Pemrograman Beriorentasi Object ?

Pemrograman yang mengolah object dalam pengembangannya. Konsep

pemrograman berorientasi object sebenarnya meniru kehidupan nyata.

Perhatikan bahwa segala sesuatu disekitar anda adalah object, yang mana

semuanya diturunkan dari kelas/penglompokkan tertentu. Contoh Kelas

Manusia diturunkan menjadi kelas melayu, negro dan sebagainya. Kelas

juga dapat diturunkan menjadi object individu terkecil contohnya kelas

manusia diturunkan menjadi object si Ali, Si Anton dsb.

Lebih jauh lagi, object mempunyai elemen-elemen sbb:

a. property : menentukan karakteristik object

b. methode/event : aksi dari object

Page 9: Pemrograman Terstruktur I

Contoh dalam delphi:

Komponen Tombol mempunyai

� Property

tombol

� Metode (Event)

melakukan sesuatu

Gambar properti dari komponen TButton

Object

Contoh dalam delphi:

Komponen Tombol mempunyai

: width, height yang menentukan ukuran dari

: OnClick yaitu ketika tombol diklik dia akan

sesuatu aksi tertentu

i dari komponen TButton

Property

Metode/Event

5

: width, height yang menentukan ukuran dari

diklik dia akan

Page 10: Pemrograman Terstruktur I

Gambar Events dari komponen TButton

Instansiasi adalah proses men

tertentu

Contoh dalam delphi :

Tombol OK, tombol Cancel diturunkan dari kelas TBotton

C. Ciri-ciri Pemrograman Berorientasi Object

a. Pengkapsulan (Encapsulation)

Yaitu penyembunyian detil informasi kerumitan pemrograman.

Misal :

Kelas

Gambar Events dari komponen TButton

Instansiasi adalah proses menurunkan kelas menjadi object-object individu

Contoh dalam delphi :

Tombol OK, tombol Cancel diturunkan dari kelas TBotton

ciri Pemrograman Berorientasi Object

a. Pengkapsulan (Encapsulation)

Yaitu penyembunyian detil informasi kerumitan pemrograman.

Object1

Object2

6

object individu

Tombol OK, tombol Cancel diturunkan dari kelas TBotton

Yaitu penyembunyian detil informasi kerumitan pemrograman.

Page 11: Pemrograman Terstruktur I

7

� prosedur menyalakan mobil, kita tidak perlu tahu detil proses yang

terjadi ketika menyalakan mobil dan data-data apa saja yang terlibat

dalam proses tersebut tetapi yang kita tahu adalah bagaimana cara

menyalakan mobil itu saja.

� kita hanya tahu cara menggunakan komponen tombol tetapi tidak

perlu tahu cara membuat komponen tombol.

b. Pewarisan (Inheritance)

Object yang diturunkan akan mewarisi sifat dari kelas yang menurunkan.

Misal :

� Kelas mamalia pasti mewarisi sifat menyusui misal anjing, kucing,

kambing dsb

� Setiap tombol pasti mempunyai event onClick.

c. Multifungsi (Polymorphism)

Object yang diturunkan dari kelas yang sama disamping punya bentuk

yang sama tetapi dalam implementasinya mempunyai fungsi yang

berbeda-beda.

Misal :

� Kerbau dan kera mempunyai metode berjalan, tetapi dalam

implementasinya cara berjalannya adalah berbeda. Kerbau mempunyai

empat kaki sedangkan kera mempunyai dua kaki.

� Tombol OK dan Cancel meskipun diturunkan dari satu komponen

tetapi dalam implementasinya mereka mempunyai fungsi yang

berbeda.

Page 12: Pemrograman Terstruktur I

8

Contoh Delphi : Meletakkan komponen

� Buatlah form seperti gambar dibawah ini :

� Lalu rubah properti dari komponen berikut:

Komponen Property Isi

Form1 Width 140

Height 120

Botton1 Caption Tombol 1

Botton2 Caption Tombol 2

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

begin

showmessage('ini pesan dari tombol 1');

end;

� Pada button2 pada event onClick isi script berikut :

procedure TForm1.Button2Click(Sender: TObject);

begin

showmessage('ini pesan dari tombol 2');

end;

Ringkasan :

Pada contoh ini kita belajar merubah property dari form dan botton,

membuat object botton yang diturunkan dari kelas yang sama yaitu

TBotton namun mempunyai funsi yang berbeda.

Page 13: Pemrograman Terstruktur I

9

Contoh Delphi : Mengubah property object

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Botton1 Caption Merah

Botton2 Caption Hijau

Botton3 Caption Biru

Botton4 Caption Atas

Botton5 Caption Bawah

Botton6 Caption Kiri

Botton7 Caption Kanan

Panel1 Caption Panel1

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

begin

panel1.Color:=clRed;

end;

� Pada button2 pada event onClick isi script berikut :

Page 14: Pemrograman Terstruktur I

10

procedure TForm1.Button2Click(Sender: TObject);

begin

panel1.Color:=clGreen;

end;

� Pada button3 pada event onClick isi script berikut :

procedure TForm1.Button3Click(Sender: TObject);

begin

panel1.Color:=clBlue;

end;

� Pada button4 pada event onClick isi script berikut :

procedure TForm1.Button4Click(Sender: TObject);

begin

panel1.Top:=panel1.Top-1;

end;

� Pada button5 pada event onClick isi script berikut :

procedure TForm1.Button5Click(Sender: TObject);

begin

panel1.Top:=panel1.Top+1;

end;

� Pada button6 pada event onClick isi script berikut :

procedure TForm1.Button6Click(Sender: TObject);

begin

panel1.Left:=panel1.Left-1;

end;

� Pada button7 pada event onClick isi script berikut :

procedure TForm1.Button7Click(Sender: TObject);

begin

panel1.Left:=panel1.Left+1;

end;

Ringkasan :

Kita telah mempelajari bagaimana merubah property sebuah object dalam

hal ini komponen TPanel

Page 15: Pemrograman Terstruktur I

11

BAB 3. TIPE DATA DAN OPERATOR

A. Komentar

Merupakan bagian program yang tidak dikompilasi.

a. Komentar Blook

Komentar yang bisa terdiri dari satu atau lebih baris

Contoh :

{ menulis ‘Hallo apa khabar !!’ pada Label1}

Label1.Caption:=’Hallo apa khabar !!’;

b. Komentar Baris

Komentar yang hanya terdiri dari satu baris

Contoh :

Label1.Caption:=’Hallo!!’; //menulis pada Label1

B. Variable

Digunakan untuk menyimpan data dan nilainya dapat berubah selama

program berjalan.

Macam-macam tipe variable :

a. Tipe Bilangan Bulat

Type Range Format

Shortint -128..127 signed 8-bit

Smallint -32768..32767 signed 16-bit

Longint -2147483648..2147483647 signed 32-bit

Int64 -263..263-1 signed 64-bit

Byte 0..255 unsigned 8-bit

Word 0..65535 unsigned 16-bit

Longword 0..4294967295 unsigned 32-bit

Page 16: Pemrograman Terstruktur I

12

b. Tipe Bilangan Pecahan

Type Range Significant digits Size

Real48 2.9 x 10-39 .. 1.7 x 1038 11-12 6

Single 1.5 x 10-45 .. 3.4 x 1038 7-8 4

Double 5.0 x 10-324 .. 1.7 x 10308 15-16 8

Extended 3.6 x 10-4951 .. 1.1 x 104932 19-20 10

Comp -263+1 .. 263 -1 19-20 8

c. Tipe Boolean (Banar dan Salah)

d. Tipe Karakter (char)

Contoh :

var ch : char;

ch:=’A’; sama dengan ch=#65; //bentuk ascii

e. Tipe String (string)

Contoh :

var dataku : string;

C. Konstanta

Tipe data yang nilainya tidak bisa diubah selama program berjalan.

Contoh :

const pi = 3,14;

D. Array

Kumpulan variable yang bertipe sama.

Contoh :

Var a : array[1..4] of integer;

Anda seolah-olah mempunyai empat variable yaitu a[1], a[2], a[3], a[4]

E. Varian

Merupakan tipe data bunglon, sebaiknya anda tidak sering menggunakan

tipe ini karena tipe data ini tidak konsisten.

Page 17: Pemrograman Terstruktur I

13

F. Operator

a. Operator Aritmetik

Operator Operation Operand types Result type Example

+ addition integer, real integer, real X + Y

- subtraction integer, real integer, real Result - 1

* multiplication integer, real integer, real P * InterestRate

/ real division integer, real real X / 2

div integer division integer integer Ttl div UnitSz

mod remainder integer integer Y mod 6

b. Operator Pembanding

Operator Operasi Tipe Operator

= Sama dengan simple, class, class reference, interface, string, packed string

<> Tidak sama dengan simple, class, class reference, interface, string, packed string

< Kurang dari simple, string, packed string, PChar

> Lebih dari simple, string, packed string, PChar

<= Kurang dari atau sam dengan

simple, string, packed string, PChar

>= Lebih dari atau sama dengan

simple, string, packed string, PChar

Page 18: Pemrograman Terstruktur I

14

Contoh Delphi : Membuat kalkulator sederhana

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption A =

Label2 Caption B =

Label3 Caption A + B =

Label4 Caption A * B =

Edit1 Text 0

Edit2 Text 0

Edit3 Text 0

Edit4 Text 0

Botton1 Caption Hitung

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

var a,b,c:integer;

begin

//menampung data dari edit1 dan edit2 kedalam variable integer

a:=strtoint(edit1.text);

b:=strtoint(edit2.text);

//menambahkakan isi variable a dan b

c:=a+b;

edit3.text:=inttostr(c);

//mengalikan isi variable a dan b

Page 19: Pemrograman Terstruktur I

15

c:=a*b;

edit4.text:=inttostr(c);

end;

Ringkasan :

� Inttostr : untuk menkonversi bilangan bulat ke string

� Strtoint : untuk menkonversi string ke bilangan bulat

� Kita telah mempelajari penggunaan operator aritmetic dan

pengkonversiaan bilangan bulat ke string dan sebaliknya.

Latihan :

� Buatlah program seperti di atas dengan 3 inputan

Contoh Delphi : Mencari Rumus Konversi Derajat ke Farentheit

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Celcius

Label2 Caption Farenheit

Edit1 Text 0

Edit2 Text 0

Botton1 Caption Hitung

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

Page 20: Pemrograman Terstruktur I

16

var celcius,farenheit : double;

begin

//menampung data celcius dari edit1

celcius :=strtofloat(edit1.Text);

//menghitung nilai farenheit

farenheit :=(celcius*9/5)+32;

//menampilkan data perhitungan farenheit

edit2.Text:=floattostr(farenheit);

end;

Ringkasan :

� floattostr : untuk menkonversi bilangan pecahan ke string

� Strtofloat : untuk menkonversi string ke bilangan pecahan

� Kita telah mempelajari penggunaan operator aritmetic dan

pengkonversiaan bilangan pecahan ke string dan sebaliknya.

Latihan :

� Buatlah program konversi dari Farenheit ke celcius

Page 21: Pemrograman Terstruktur I

17

BAB 4. ALIRAN PROGRAM DAN SUBRUTIN

A. Percabangan

a. Pernyataan if .. else ..

Contoh script :

if kondisi then

begin

//pernyataan benar

end

else

begin

//pernyataan salah

end;

b. Pernyataan if ... else if .. else ..

Contoh script :

if kondisi then

begin

//pernyataan benar

end

else if kondisi then

begin

//pernyataan benar

end

else

begin

//pernyataan salah

end;

c. Pernyataan Case

case cardinal of

1 : //pernyataan benar1;

2 : //pernyataan benar1;

else //pernyataan salah;

end;

Page 22: Pemrograman Terstruktur I

18

B. Pengulangan

1. Pernyataan For

Contoh script :

for pencacah := nilaiawal to nilaiakhir do

begin

//pernyataan yang akan diulang

end;

2. Pernyataan While

Contoh script :

while kondidi do

begin

//pernyataan yang akan diulang

end;

3. Pernyataan Repeat .. Until

Contoh script :

repeat

//pernyataan yang akan diulang

until kondisi;

4. Pernyataan break

Untuk memaksa keluar dari pengulangan.

5. Pernyataan continue;

Untuk memaksa meloncati satu step pengulangan.

C. Subrutin Procedure dan Fungsi

1. Procedure

Suatu subrutin yang berisi beberapa pernyataan yang melakukan tugas

tertentu tanpa mengembalikan nilai balik.

Contoh :

procedure nama_procedure(parameter1, parameter2, ..);

Page 23: Pemrograman Terstruktur I

19

begin

//pernyataan-pernyataan

end;

2. Function

Suatu subrutin yang berisi beberapa pernyataan yang melakukan tugas

tertentu dengan mengembalikan nilai balik.

Contoh :

Function nama_function(param1, param2, ..):type_kembalian;

begin

//pernyataan-pernyataan

Result:=nilai_kembalian;

end;

Contoh Delphi : Konversi Nilai Angka ke huruf

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Nilai Angka

Label2 Caption Nilai Huruf

Edit1 Text 0

Edit2 Text E

Botton1 Caption Konversi

� Pada button1 pada event onClick isi script berikut :

Page 24: Pemrograman Terstruktur I

20

procedure TForm1.Button1Click(Sender: TObject);

var angka : integer;

huruf : string;

begin

angka:=strtoint(edit1.text);

if angka>=90 then huruf:='A'

else if angka>=80 then huruf:='B'

else if angka>=70 then huruf:='C'

else if angka>=60 then huruf:='D'

else huruf:='E';

edit2.Text:=huruf;

end;

Ringkasan :

� Kita telah belajar menggunakan logika percangan if .. else if .. else ..

Latihan :

� Tambahkan konversi Nilai hurufnya, misal : A=4, B=3, …

Contoh Delphi : Generate data secara berurut

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Nilai Awal

Page 25: Pemrograman Terstruktur I

21

Label2 Caption Nilai Akhir

Edit1 Text 0

Edit2 Text 0

Botton1 Caption Generate

Listbox1 - -

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

var a,b,i : integer;

begin

a:=strtoint(edit1.text);

b:=strtoint(edit2.text);

ListBox1.Clear;

for i:=a to b do

begin

ListBox1.Items.Add(inttostr(i));

end;

end;

Ringkasan :

� Kita telah belajar menggunakan pengulangan for

Latihan :

� Buatlah program generate data untuk bilangan dengan selisih tertentu,

misal :

nilai awal = 1

nilai akhir < 50

selisih diantara bilangan = 3

contoh bilangan hasil generate = 1, 4, 7, 11, …

Contoh Delphi : Konversi Bilangan Decimal Ke Bilangan Romawi

� Buatlah form seperti gambar dibawah ini :

Page 26: Pemrograman Terstruktur I

22

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Bilangan Decimal

Label2 Caption Bilangan Romawi

Edit1 Text 0

Edit2 Text

Botton1 Caption Konversi

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

var vhasilbagi,vsisabagi : integer;

vromawi : string;

const

//deklarasi array satuan

satuan : array[0..9] of string =

('','I','II','III','IV','V','VI','VII','VIII','IX');

//deklarasi array puluhan

puluhan : array[0..9] of string =

('','X','XX','XXX','XL','L','LX','LXX','LXXX','XC');

//deklarasi array ratusan

ratusan : array[0..9] of string =

('','C','CC','CCC','CD','D','DC','DCC','DCCC','CM');

begin

vromawi:='';

//mencari hasil bagi ratusan

vsisabagi :=strtoint(edit1.Text);

Page 27: Pemrograman Terstruktur I

23

vhasilbagi:=vsisabagi div 100;

//jika hasil bagi ratusan>0 maka tampilkan dalam bil romawi

if vhasilbagi>0 then vromawi:=vromawi+ratusan[vhasilbagi];

//mencari sisa bagi ratusan

vsisabagi :=vsisabagi mod 100;

//mencari hasil bagi puluhan

vhasilbagi:=vsisabagi div 10;

//jika hasil bagi puluhan>0 maka tampilkan dalam bil romawi

if vhasilbagi>0 then vromawi:=vromawi+puluhan[vhasilbagi];

//mencari sisa bagi puluhan

vsisabagi :=vsisabagi mod 10;

//mencari hasil bagi satuan

vhasilbagi:=vsisabagi div 1;

//jika hasil bagi satuan>0 maka tampilkan dalam bil romawi

if vhasilbagi>0 then vromawi:=vromawi+satuan[vhasilbagi];

edit2.Text:=vromawi;

end;

Ringkasan : � Kita telah mempelajari bilangan konversi bilangan desimal ke bilangan

romawi kurang dari 1000

� Kita telah belajar menggunakan kondisi if

� Kita telah belajar menggunakan kondisi operator mateatika div dan

mod

� Kita telah belajar menggunakan variable array

Contoh Delphi : Konversi Nilai Uang Ke Kalimat Terbilang

� Buatlah form seperti gambar dibawah ini :

Page 28: Pemrograman Terstruktur I

24

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Nilai Uang

Label2 Caption Terbilang

Edit1 Text 0

Edit2 Text

Botton1 Caption Konversi

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

var vhasilbagi,vsisabagi : integer;

vuang : string;

const satuan : array[0..9] of string =

('','SATU','DUA','TIGA','EMPAT','LIMA','ENAM','TUJUH','DELAPAN','S

EMBILAN');

begin

vuang:='';

//menghitung ratusan

vsisabagi :=strtoint(edit1.Text);

vhasilbagi:=vsisabagi div 100;

if vhasilbagi>0 then

begin

if vhasilbagi=1 then vuang:=vuang+' SERATUS '

else vuang:=vuang+satuan[vhasilbagi]+' RATUS ';

end;

//menghitung puluhan

vsisabagi :=vsisabagi mod 100;

vhasilbagi:=vsisabagi div 10;

if vhasilbagi>0 then

Page 29: Pemrograman Terstruktur I

25

begin

if vhasilbagi=1 then

begin

vsisabagi :=vsisabagi mod 10;

if vsisabagi=0 then vuang:=vuang+' SEPULUH '

else if vsisabagi=1 then vuang:=vuang+' SEBELAS '

else vuang:=vuang+satuan[vsisabagi]+' BELAS ';

vsisabagi:=0; //supaya satuannya tidak dicek

end

else vuang:=vuang+satuan[vhasilbagi]+' PULUH ';

end;

//menghitung satuan

vsisabagi :=vsisabagi mod 10;

vhasilbagi:=vsisabagi div 1;

if vhasilbagi>0 then vuang:=vuang+satuan[vhasilbagi];

edit2.Text:=vuang;

end;

Ringkasan : � Kita telah mempelajari bilangan konversi nilai uang ke kalimat

terbilang kurang dari 1000

� Kita telah belajar menggunakan kondisi if

� Kita telah belajar menggunakan kondisi operator mateatika div dan

mod

� Kita telah belajar menggunakan variable array

Contoh Delphi : Bilangan Pascal

� Buatlah form seperti gambar dibawah ini :

Page 30: Pemrograman Terstruktur I

26

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Button1 Caption Pascal

Memo1 Allignment Center

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

var y,x : integer;

vpascal : string;

M : array[1..10,1..10] of integer;

begin

//mengisi nilai pinggiran = 1

for y:=1 to 10 do

for x:=1 to y do

begin

if (x=1)or(x=y) then M[y,x]:=1

else M[y,x]:=M[y-1,x-1]+M[y-1,x];

end;

//megisi nilai pascal

Page 31: Pemrograman Terstruktur I

27

memo1.clear;

for y:=1 to 10 do

begin

for x:=1 to y do

begin

vpascal:=vpascal+' '+inttostr(M[y,x]);

end;

memo1.Lines.Add(vpascal);

vpascal:='';

end;

end;

Ringkasan : � Kita telah mempelajari bagaimana menciptakan bilangan pascal lewat

delphi

� Kita telah belajar menggunakan kondisi for bersarang (rangkap 2)

Contoh Delphi : Bilangan Prima

� Buatlah form seperti gambar dibawah ini :

Page 32: Pemrograman Terstruktur I

28

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Max Bilangan Prima

Edit1 Text 100

Button1 Caption Run

Memo1

� Pada button1 pada event onClick isi script berikut :

procedure TForm1.Button1Click(Sender: TObject);

var i,j : integer;

begin

memo1.Clear;

//khusus nilai 2 dicetak langsung tanpa di cek

memo1.Lines.text:='2';

i:=3;

while i<=strtoint(edit1.text) do

begin

j:=(i div 2)+1; while (i mod j)<>0 do inc(j,-1);

if j=1 then memo1.Lines.Text:=memo1.Lines.Text+', '+inttostr(i);

Page 33: Pemrograman Terstruktur I

29

//hanya bilangan ganjil yang dicek ...3,5,7,9,11,13,15,...

inc(i,2);

end;

end;

Ringkasan : � Kita telah mempelajari bagaimana menciptakan bilangan prima lewat

delphi

� Kita telah belajar menggunakan kondisi while bersarang (rangkap 2)

Page 34: Pemrograman Terstruktur I

BAB 5. PENGENALAN KOMPONEN

A. Mengenal komponen standard

Berikut adalah komponen dalam tab standard di delphi

Icon Nama

Frame

Mainmenu

Popupmenu

Label

Edit

Memo

Tombol

Checkbox

BAB 5. PENGENALAN KOMPONEN STANDART

A. Mengenal komponen standard

Berikut adalah komponen dalam tab standard di delphi

Fungsi

Digunakan untuk menampilkan form di dalam

form lain

Digunakan untuk membuat menu dibagian

atas program.

Popupmenu Digunakan untuk menampilakn menu cepat

jika suatu object di klik kanan

Digunakan untuk menampilakan tulisan statis

untuk memberikan label/keterangan.

Digunakan untuk memasukkan tulisan

(huruf/angka) dalam format satu baris

Digunakan untuk memasukkan tulisan

(huruf/angka) dalam format multi baris

(banyak baris)

Digunakan untuk menjalankan suatu proses

jika diklik pada komponen tersebeut

Digunakan untuk menampilkan beberapa

30

STANDART

Digunakan untuk menampilkan form di dalam

Digunakan untuk membuat menu dibagian

Digunakan untuk menampilakn menu cepat

Digunakan untuk menampilakan tulisan statis

untuk memberikan label/keterangan.

Digunakan untuk memasukkan tulisan

(huruf/angka) dalam format satu baris

Digunakan untuk memasukkan tulisan

dalam format multi baris

Digunakan untuk menjalankan suatu proses

pada komponen tersebeut

Digunakan untuk menampilkan beberapa

Page 35: Pemrograman Terstruktur I

31

pilihan yang dapat dicentang/dipilih lebih

dari satu

Radiobutton

Digunakan untuk menampilkan beberapa

pilihan yang dapat dicentang/dipilih hanya

satu yang aktif/terpilih

Listbox Digunakan untuk menampilkan daftar pilihan

dalam multibaris

Combobox Digunakan untuk menampilkan daftar pilihan

dalam satu baris

Scrollbar Digunakan untuk merubah suatu nilai variable

dengan menggeser posisi bar/batang

Groupbox Digunakan untuk mengelompokkan

object/komponen dengan satu title

Radiobox Digunakan untuk mengelompokkan

komponen radio button dengan satu title

Panel Digunakan untuk mengelompokkan /menata

object/komponen dalam sebuah form

Actionlist Digunakan untuk mengorganisir event/action

B. Latihan Penggunaan Komponen

1. Formulir Biodata

� Buatlah form seperti gambar dibawah ini :

Page 36: Pemrograman Terstruktur I

32

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Nama

Label2 Caption Tempat/Tgl Lahir

Label2 Caption Status Nikah

Label3 Caption Pendidikan

Label4 Caption Keterangan

Ednama(Tedit) Text

Edtempat(Tedit) Text

Edtgllahir(Tmaskedit/additional) EditMask 99/99/9999;1;_

Edstatus(Tcheckbox) Caption Y/T

Edkelamin(Tradiogroup) Items Laki-Laki Perempuan

Itemindex 0

Page 37: Pemrograman Terstruktur I

33

Edpendidikan(Tcombobox) Items

SD SMP SMU S1 S2 S3

Text

Edketerangan(Tmemo) Lines

Edphoto(Timage/additional) stretch True

btOK(TbitBtn/additional) Kind bkOK

btClose(TbitBtn/additional) Kind bkClose

btBrowse(Tbutton) Caption Browse

OpenPictureDialog1 (TopenPictureDialog/Dialogs)

� Pada btbrowse pada event onClick isi script berikut :

procedure TForm1.btbrowseClick(Sender: TObject);

begin

if OpenPictureDialog1.Execute then

edphoto.Picture.LoadFromFile(OpenPictureDialog1.FileName);

end;

� Pada btOK pada event onClick isi script berikut :

procedure TForm1.btOKClick(Sender: TObject);

var strdata,vstatus,vkelamin : string;

begin

if edstatus.Checked then vstatus:='Menikah'

else vstatus:='Belum Menikah';

if edkelamin.ItemIndex=0 then vkelamin:='Laki-laki'

else vkelamin:='Perempuan';

strdata:='Nama : '+ednama.text+chr(13)+

'Tempat Lahir : '+edtempat.text+chr(13)+

'Tgl Lahir : '+edtgllahir.text+chr(13)+

Page 38: Pemrograman Terstruktur I

34

'Status : '+vstatus+chr(13)+

'Kelamin : '+vkelamin+chr(13)+

'Pendidikan : '+edpendidikan.text+chr(13)+

'keterangan : '+edketerangan.Text+chr(13)+

'photo : '+OpenPictureDialog1.FileName;

showmessage(strdata);

end;

� Pada bagian atas Code Editor letakkan tulisan jpeg pada baris terakhir

dari bagian uses, sehingga akan muncul tulisan seperti ini

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms,Dialogs, StdCtrls, Buttons, ExtCtrls, Mask,

ExtDlgs, jpeg;

Ringkasan :

� Kita telah belajar menggunakan beberapa komponen inputan yang

sering digunakan dalam membuat formulir biodata.

2. Membuat Menu

� Buatlah form seperti gambar dibawah ini :

Page 39: Pemrograman Terstruktur I

35

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Form1 Color clSkyBlue

Menu1(Tmenu) Items File Pesan Exit

� Pada menu login pada event onClick isi script berikut :

procedure TForm1.Pesan1Click(Sender: TObject);

begin

showmessage('ini pesanku !!')

end;

procedure TForm1.Exit1Click(Sender: TObject);

begin

close;

end;

Ringkasan :

� Kita telah belajar menggunakan komponen menu

Page 40: Pemrograman Terstruktur I

36

3. Multi Form

� Buatlah form ke 1 seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

btinput(Tbutton) Caption Input Dialog

btclose(Tbutton) Caption Close

mmresume(Tmemo) Lines

� Buatlah form ke 2 seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Page 41: Pemrograman Terstruktur I

37

Komponen Property Isi

Label1(TLabel) Caption Nama

Label2(TLabel) Caption Alamat

Label3(TLabel) Caption Telpon

ednama(Tedit) Caption

edalamat(Tedit) Caption

edtelpon(Tedit) Caption

btOK(TbitBtn/Additional) Kind bkOK

btCancel(TbitBtn/Additional) Kind bkCancel

� Untuk btinput pada event onClick isi script berikut :

procedure TForm1.btinputClick(Sender: TObject);

begin

if form2.showmodal=mrOK then

begin

mmresume.Clear;

mmresume.Lines.add('nama anda : '+form2.ednama.text);

mmresume.Lines.add('alamat anda : '+form2.edalamat.text);

mmresume.Lines.add('telpon anda : '+form2.edtelpon.text);

end

else

begin

mmresume.Clear;

mmresume.lines.add('Anda membatalkan entrian');

end;

end;

� Untuk btCancel pada event onClick isi script berikut :

procedure TForm1.btcloseClick(Sender: TObject);

begin

close;

end;

Page 42: Pemrograman Terstruktur I

38

Page 43: Pemrograman Terstruktur I

39

Ringkasan :

� Kita telah belajar menggunakan multiform untuk membuat form dialog.

4. Konversi Suhu

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Label1 Caption Suhu Asal

Label2 Caption Pilihan

Label3 Caption Suhu Hasil

Btkonversi (Tbutton)

caption Konversi

edAsal (Tedit) Text 0

edHasil (Tedit) Text 0

Cbpilihan (Tcombobox)

Items C=>F; F=>C; C=>R; R=>C; F=>R; R=>F

� Pada btkonversi pada event onClick isi script berikut :

procedure TForm1.btkonversiClick(Sender: TObject);

var vAsal,vHasil : double;

vpilihan : integer;

begin

//konversi nilai edAsal ke variable pecahan (double) vAsal

Page 44: Pemrograman Terstruktur I

40

vAsal:=strtofloat(edAsal.Text);

//ambil index pilihan dari combobox, pilihan 1=index 0

vpilihan:=cbpilihan.ItemIndex;

//cari formula yang sesuai dengan pilihan

case vpilihan of

0 : vHasil:=(9/5*vAsal)+32;

1 : vHasil:=5/9*(vAsal-32);

2 : vHasil:=4/5*vAsal;

3 : vHasil:=5/4*vAsal;

4 : vHasil:=4/5*(5/9*(vAsal-32));

5 : vHasil:=9/5*(5/4*vAsal)+32;

end;

//tampilkan hasil perhitungan konversi ke edhasil

edHasil.Text:=floattostr(vHasil);

end;

Ringkasan :

� Kita telah menggunakan salah satu properti items dari combobox

untuk membuat daftar pilihan

Page 45: Pemrograman Terstruktur I

41

BAB 6. CHART DAN APLIKASINYA

Tchart merupakan komponen delphi yang digunakan untuk membuat

grafik seperti layaknya kita membuat grafik di Ms. Excel. Berbagai

fitur telah tersedia di komponen Tchart ini seperti menampilan grafik

2D, 3D, grafik animasi. Tchart merupakan salah satu komponen paling

penting dalam library TeeChart. Tchart diturunkan dari Tpanel dan

mewarisi seluruh fungsionalitasnya. Kita dapat memanipulasi

komponen tchart baik secara designtime maupun runtime. Beberapa

Komponen tchart dapat ditempel dalam satu komponen form sekaligus.

Teechart juga dapat ditemepel dalam komponen activeX form.

Type chart series

Teechart libray berisi sebagian besar chart series terkemuka. Setiap

series memiliki spesifik properti dan events untuk mengcustomisasi

chart itu sendiri. Berikut adalah type chart series

Icon Nama

Page 46: Pemrograman Terstruktur I

42

11. Menggambar graphics dengan komponen TChart

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

btsin(Tbutton) Caption Sin(x)

btcos(Tbutton) Caption Cos(x)

bttan(Tbutton) Caption Tan(x)

cbanimate(Tcheckbox)

mytimer(Ttimer/System) Enabled False

Interval 20

mychart(Tchart/Additional) Double Klik-> Series->Add

Fast Line

Double Klik-> Legend->Visible

unchecked

Double Klik-> Titles

Graphics Trigonometri & Gelombang

� Untuk btsin/btcos/bttan pada event onClick isi script berikut :

procedure TForm1.btsinClick(Sender: TObject);

procedure drawgrapics(vparameter:string);

var x : integer;

y : double;

Page 47: Pemrograman Terstruktur I

43

begin

y:=0;

mychart.Series[0].Clear;

for x:=0 to 360 do

begin

if vparameter='sin' then y:=sin((x/180)*pi);

if vparameter='cos' then y:=cos((x/180)*pi);

if vparameter='tan' then y:=tan((x/180)*pi);

mychart.Series[0].AddXY(x,y,'',clTeeColor);

end;

end;

begin

cbanimate.Checked:=false;

if (sender as TButton).Name='btsin' then drawgrapics('sin');

if (sender as TButton).Name='btcos' then drawgrapics('cos');

if (sender as TButton).Name='bttan' then drawgrapics('tan');

end;

� Untuk myTimer pada event onTimer isi script berikut :

var x : integer;

procedure TForm1.mytimerTimer(Sender: TObject);

var y : double;

i : integer;

A : integer;

begin

x:=x+1;

A:=10;

mychart.Series[0].Clear;

for i:=x to x+360 do

begin

y:=A*sin((i/180)*pi);

mychart.Series[0].AddXY(i,y,'',clTeeColor);

end;

end;

� Untuk cbanimate pada event onClick isi script berikut :

Page 48: Pemrograman Terstruktur I

44

procedure TForm1.cbanimateClick(Sender: TObject);

begin

mytimer.Enabled:=cbanimate.Checked;

end;

� Pada bagian atas Code Editor letakkan tulisan math (library

matematika) pada baris terakhir dari bagian uses, sehingga akan

muncul tulisan seperti berikut ini :

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, TeEngine, Series, TeeProcs,

Chart, StdCtrls, ExtCtrls, Math;

Ringkasan :

� Kita telah belajar menggunakan komponen TChart type Fastline untuk

menggambar graphics.

Latihan :

� Buatlah program interpolasi 2 gelombang, yaitu :

y1 = A1*sin(2x+α1)

y2 = A2*sin(x+α2)

dimana :

A1, A2, α1, α2 dapat dientrikan/dirubah-rubah nilainya.

Page 49: Pemrograman Terstruktur I

45

12. Simulasi Gerak Peluru

� Buatlah form seperti gambar dibawah ini :

� Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

pnTampung(TPanel) Align AlBottom

pnKeterangan(Tpanel) Caption Align

Input Data Left

pnGenerate(Tpanel) Caption Align

Generate AlRight

Label1(TLabel) Caption Kec. Awal(m/s)

Label2(TLabel) Caption Sudut

Label3(TLabel) Caption Gravitasi(m/s2)

edV0(TEdit) Text 100

edAlpha(TEdit) Text 45

edG(TEdit) Text 10

mytimer(Ttimer/System) Enabled False

mychart(Tchart/Additional) Align AlClient

mychart(Tchart/Additional) Double Klik-> Series->Add

Fast Line Series1

Double Klik->

Fast Line Series2

Page 50: Pemrograman Terstruktur I

46

Series->Add

Double Klik-> Legend->Visible

unchecked

Double Klik-> Titles

Grapics Gerak Peluru

� Untuk pnGenerate pada event onClick isi script berikut :

var v0,alpha,g : double;

tanimasi,vsmoth : integer;

procedure TForm1.pnGenerateClick(Sender: TObject);

procedure drawplot;

var xmax,ymax:double;

begin

xmax:=power(v0,2)*sin(2*45*pi/180)/g;

ymax:=power(v0,2)*power(sin(90*pi/180),2)/(2*g);

mychart.Series[0].Clear;

//titik dengan koordinat(xmax,ymax)

mychart.Series[0].AddXY(xmax,ymax);

end;

begin

//tampung inputan ke variable

v0 :=strtofloat(edV0.Text);

alpha:=strtofloat(edAlpha.Text);

g :=strtofloat(edG.Text);

//gambar grapich plot

drawplot;

//inisialisasi animasi

tanimasi:=0;

vsmoth :=500;

mytimer.Interval:=1;

mytimer.Enabled :=true;

end;

Page 51: Pemrograman Terstruktur I

47

� Untuk mytimer pada event onTimer(double click) isi script berikut :

procedure TForm1.mytimerTimer(Sender: TObject);

procedure drawpeluru;

var i : integer;

t,tmax : double;

function getY(vt:double):double;

begin

result:=(v0*sin(alpha*pi/180)*vt)-(0.5*g*power(vt,2));

end;

function getX(vt:double):double;

begin

result:=(v0*cos(alpha*pi/180)*vt);

end;

begin

tmax :=2*v0*sin(alpha*pi/180)/g;

mychart.Series[1].Clear;

//menggambar gerak peluru

for i:=0 to tanimasi do

begin

t:=(i/vsmoth)*tmax;

mychart.Series[1].AddXY(getX(t),getY(t));

end;

end;

begin

drawpeluru;

inc(tanimasi);

if tanimasi>vsmoth then mytimer.Enabled:=false;

end;

Page 52: Pemrograman Terstruktur I

48

� Pada bagian atas Code Editor letakkan tulisan math (library

matematika) pada baris terakhir dari bagian uses, sehingga akan

muncul tulisan seperti berikut ini :

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, TeEngine, Series, TeeProcs,

Chart, StdCtrls, ExtCtrls, Math;

Page 53: Pemrograman Terstruktur I

49

CANVAS

Canvas adalah media untuk menggambar di delphi yang diturunkan dari

class Tcanvas.

Komponen delphi yang mewarisi Tcanvas diantaranya adalah Tform,

Timages, TLabel dan lain-lain.

System koordinat TCanvas

System koordinat yang digunakan dalam menggambar dicanvas delphi

memakai kudran 4. Lebar canvas dinyatakan dalam pixel.

Fungsi menggambar bentuk/shape di Canvas

� Menggambar Titik

property Pixels[X, Y: Integer]: TColor;

� Menggambar Garis

procedure LineTo(X, Y: Integer);

� Menggambar Busur, Tembereng dan Juring

procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);

procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);

procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);

� Menggambar Ellipse

procedure Ellipse(X1, Y1, X2, Y2: Integer);

� Menggambar Kotak

procedure Rectangle(X1, Y1, X2, Y2: Integer);

procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);

� Menggmbar Garis Tak beraturan

x

y

Page 54: Pemrograman Terstruktur I

50

procedure Polyline(Points: array of TPoint);

procedure Polygon(Points: array of TPoint);

catatan : ada satu methode yang sangat penting dengan menggambar bentuk

yaitu :

procedure MoveTo(X, Y: Integer);

3 Property penting dari menggambar bentuk di canvas

� Tpen

a. Color

b. Style

c. Width

� Tbrush

a. Color

b. Style

� Tfont

a. Textout

b. Color

c. Name

Konsep Warna

Blue Green Red

Tcolor(RGB(merah,hijau,biru));

Page 55: Pemrograman Terstruktur I

51

PENGGUNAAN KOMPONEN TCHART UNTUK MEMBUAT

SIMULASI GRAPHICS

A. Pengenalan

TChart adalah sebuah komponen di delphi yang dapat digunakan

menggambar graphics static dan dinamis secara programming seperti

layaknya Chart yang dimiliki aplikasi Ms. Word.

B. Contoh Penggunaan Tchart untuk Membuat Program Simulasi

Superposisi 2 Gelombang Dipandu Oleh Dosen

Petunjuk

Gunakan Program Remote PC yang terpasang di komputer anda

masing-masing untuk melihat layar komputer dosen dan kemudian

ikuti langkah-langkah dosen dalam membuat program simulasi

superposisi 2 gelombang seperti berikut :

1) Buatlah form tampilan seperti gambar dibawah ini :

Page 56: Pemrograman Terstruktur I

52

2) Lalu tambahkan komponen dan rubah properti dari komponen berikut:

Komponen Property Isi

Navigasi (Tbutton) Caption Start

Y1 (Tpanel) Caption Y1 = 10 sin (2X + 90)

Y2 (Tpanel) Caption Y1 = 5 sin (4X + 90)

edA1 (Tedit) Text 10

edK1 (Tedit) Text 2

edAlpha1 (Tedit) Text 90

edA2 (Tedit) Text 5

edK2 (Tedit) Text 4

edAlpha2 (Tedit) Text 90

mytimer(Ttimer/System) Enabled False

Interval 25

mychart(Tchart/Additional) Double Klik-> Series->Add

Fast Line -> title: Gelombang 1 [Y1] Fast Line -> title: Gelombang 2 [Y2] Fast Line -> title: Interpolasi [Y=Y1+Y2]

Double Klik-> 3D -> 3 Dimensions

Unchecked

Double Klik-> Titles -> Visible

unchecked

3) Deklarasikan variable berikut pada bagian atas dari blok

implemetation

var step : integer;

A1,K1,Alpha1,A2,K2,Alpha2 : double;

4) Untuk Komponen edA1 (Tedit) pada event onChange isi script berikut :

procedure TfmInterpolasi.edA1Change(Sender: TObject);

begin

try

A1 :=strtofloat(edA1.Text);

K1 :=strtofloat(edK1.Text);

Alpha1 :=strtofloat(edAlpha1.Text);

A2 :=strtofloat(edA2.Text);

K2 :=strtofloat(edK2.Text);

Alpha2 :=strtofloat(edAlpha2.Text);

except end;

Y1.Caption:=Format('Y1 = %s Sin (%sX + %s)',

[edA1.Text,edK1.Text,edAlpha1.Text]);

Y2.Caption:=Format('Y2 = %s Sin (%sX + %s)',

[edA2.Text,edK2.Text,edAlpha2.Text]);

Page 57: Pemrograman Terstruktur I

53

end;

Kemudian arahkan even OnChange dari komponen edK1, edAlpha1,

edA2, edK2, edAlpha2 ke edA1Change (script event edA1 sebelumnya).

5) Untuk Form pada event onShow isi script berikut :

procedure TfmInterpolasi.FormShow(Sender: TObject);

begin

edA1Change(self);

end;

6) Untuk Komponen Navigasi (TButton) pada event onClick isi script

berikut :

procedure TfmInterpolasi.navigasiClick(Sender: TObject);

begin

if navigasi.Caption='&Start' then

begin

mytimer.Enabled:=true;

navigasi.Caption:='&Pause';

end

else

begin

mytimer.Enabled:=false;

navigasi.Caption:='&Start';

end;

end;

7) Untuk Komponen mytimer (TTimer) pada event onTimer isi script

berikut :

procedure TfmInterpolasi.mytimerTimer(Sender: TObject);

procedure drawinterpolasi;

var x : integer;

function getY(vX,vA,vK,vAlpha:double):double;

begin

Page 58: Pemrograman Terstruktur I

54

result:=vA*sin(((vK*X)+vAlpha)*pi/180);

end;

begin

mychart.Series[0].Clear;

mychart.Series[1].Clear;

mychart.Series[2].Clear;

for x:=step to step+360 do

begin

mychart.Series[0].AddXY(X,getY(X,A1,K1,Alpha1));

mychart.Series[1].AddXY(X,getY(X,A2,K2,Alpha2));

if x<=step+300 then

mychart.Series[2].AddXY(X,getY(X,A1,K1,Alpha1)+getY(X,A2,K2,Alp

ha2));

end;

inc(step);

end;

begin

drawinterpolasi;

end;

8) Kemudian jalankan program dengan menekan tombol F9 dan akan

dihasilkan program simulasi kurang lebih seperti gambar dibawah ini :

Page 59: Pemrograman Terstruktur I

55

Ringkasan :

� Kita telah menggunakan komponen TChart type Fastline untuk

mensimulasikan superposisi 2 gelombang.

c. Praktek Membuat Program Simulasi Interpolasi 2 Gelombang Oleh

Mahasiswa

Petunjuk :

Dosen dapat menggunakan program Remote Asisten yang terpasang

di komputer dosen untuk memantau, membantu memberi bimbingan

ataupun memberi penilaian terhadap pekerjaan Mahasiswa di depan

komputer masing-masing.