pemrograman terstruktur i oleh agus prihanto
Embed Size (px)
DESCRIPTION
basic delphiTRANSCRIPT

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

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

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

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

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.

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

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

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

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

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.

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.

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.

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 :

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

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

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.

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

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

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);

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

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;

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, ..);

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 :

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

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 :

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);

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 :

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

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 :

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

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 :

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);

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)

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

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 :

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

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)+

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 :

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

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:

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;

38

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

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

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

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;

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 :

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.

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

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;

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;

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;

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

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));

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 :

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]);

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

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 :

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.