44
STRUKTUR BAHASA PEMROGRAMAN DELPHI Nama kelompok Ketua : MISTRIANA Anggota: 1. Emilita 2. Cellyne odilia putri 3. Grefi noselly 4. M.iqbal udin Guru pembimbing Hefreza quadhafi Aulia

Struktur bahasa delphi

Embed Size (px)

Citation preview

STRUKTUR BAHASAPEMROGRAMAN DELPHI

Nama kelompok

Ketua : MISTRIANA

Anggota:

1. Emilita

2. Cellyne odilia putri

3. Grefi noselly

4. M.iqbal udin Guru pembimbing

Hefreza quadhafi Aulia

Pengertian bahasa pemrograman

• Bahasa Pemrograman merupakan prosedur atau tata cara penulisan program. Pada bahasa pemrograman terdapat dua faktor penting, yaitu sintaks dan semantik.

• Fungsi Bahasa Pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan komputer.

Menyimpan Form

Pada Delphi ada 3 buah file utama (*.dpr, *.pas dan *.dfm).a) *.dpr adalah file proyek yang dibuat berisi program keciluntuk :

mendefinisikan Unit yang ada dalam file proyekmenginisialisasi datamembangun formmenjalankan aplikasi

uses Forms,Unit1 in ‘Unit1.pas’ {Form1};beginApplication.Initialize;Application.CreateForm(Tform1, Form1);Application.Run;end.

b) *.pas adalah unit-unit (pascal code file), bisa terdiri satu atau banyak filec) *.dfm adalah file definisi Form (special pseudo code file), bisa terdiri satuatau banyak fileobject Form1: Tform1Left = 200Top = 108Width = 696Height = 480Caption = ‘Form1’:Font.Name = ‘MS Sans Serif’Font.Style = []PixelsPerInch = 96TextHeight = 13object Button1: TbuttonLeft = 176Top = 116:end

Pilih submenu Save Project atau Save Project As pada menu File, dan Delphi akan menanyakan namafile source code untuk unit (*.pas) dan nama file proyeknya(*.dpr). Beri nama file form dengan HELLO.PASdan project HELLO.DPR. Sesudah disimpan, jalankan program dengan menekan tombol F9 atau pilih menu Run| Run.

Mengubah Nilai Properti

Ubah nilai properti Caption menjadi Katakan Hello dan nilai properti Name menjadi btnHello. Langkah ini mirip dengan mengubah nama dan keterangansebuah form. Properti name adalah properti internal dan digunakan untukmemberi nama pada sebuahkomponen/objek. Nama ini adalah sebuah variabel yang mengacu padakomponen tersebut.Beberapa aturan penamaan komponen atau variabel atau identifer sebagaiberikut

Diawali alpabet, berikutnya boleh angka, garis bawah.Tidak memakai spasi atau tanda-tanda baca atau operatorBoleh huruf kapital atau kecil, tidak ada perbedaanTidak menggunakan kata kunci (reserve word) yang digunakan DelphiBiasakan nama komponen diawali kelompok komponennya, misal btnHello,

frmHello, rgrKelas.

Berikut contoh penamaan yang keliru menggunakan spasi

Gambar 5. Pesan kesalahan saat mengubah properti Name.

Sesudah anda mengubah properti anda dapat melihat kode programnya(tekan Alt-F12) sebagai berikut :object Form1: Tform1:Caption = ‘Hello’:object btnHello: TbuttonCaption = ‘Katakan Hello’Endend

Membuat Method/Procedure lewat Event

Ada beberapa teknik yang dapat dilakukan untuk menanganievent misal OnClick pada komponenbutton :

Klik ganda pada button tersebut, maka sebuahmethod/procedure btnHelloClick

Pilih button, kemudian pilih Object Inspector’s combo box (called the Object Selector), pilih TabEvents, dan klik ganda pada area putih disebelah kanan event OnClick

Pilih button, pilih Tab Events, dan masukkan nama method yang dikehendaki, misal btnHelloClickpada area putih di sebelah kanan event OnClick

Gambar 6. Tab Events pada Object Inspector, dan procedure yang dibangkitkan lewatevent OnClick.

Bila anda ingin menghapus procedure atau penanganan event tersebut, anda dapatmenghapus pada editor Unit tersebut. Hapus blok procedure tersebut dan hapuspada bagian definisi procedure yang ada diatasnya.Sekarang anda mengisi procedure tersebut dengan perintah untukmenampilkan pesan sebagai berikut :procedure Tform1.BtnHelloClick(Sender: Tobject);beginMessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);end;

Perintah ini sangat sederhana, yaitu untuk menampilkan pesan. Fungsi inimempunyai empat parameter.Untuk rincinya anda dapat melihat bantuan (F1).

Parameter pertama : kalimat yang akan dimunculkan (pesannya)Parameter kedua : tipe message box seperti mtWarning, mtError,

mtInformation,atau mtConfirmation. Coba lihat perbedaannya.

Parameter ketiga : kumpulan tombol yang akan digunakan seperti mbYes, mbNo,mbOK, mbCancel, atau mbHelp.

Parameter keempat : untuk help context atau nomor halaman pada Help, beri angka noljika anda tidak mempunyai file help.

Gambar 7. Message box

Kompilasi dan Jalankan ProgramTekan tombol Run atau pilih menu Run | Run, Delphi does the following:1. Kompilasi Pascal source code file yang mendefinisikanform-form yang ada (.pas,.dfm)2. Kompilasi project file (.dpr)3. Buat executable (.EXE) file4. Jalankan executable file, biasanya pada mode pencarian kesalahan (debug mode).

PERINTAH SEQUENCE / DIPROSES SECARA BERUNTUN

Perintah-perintah ini akan diproses oleh kompiler secara berurutan. Contoh kita memiliki 3 baris perintah. Kompiler akanmemroses mulai dari baris-1, baris-2 kemudian baris-3.Contoh program untuk menampilkan pesan sebanyak 3 kali sepertiberikut :MessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);MessageDlg (‘Hello, lady’, mtInformation, [mbOK], 0);MessageDlg (‘Hello, everybody’, mtInformation, [mbOK], 0);

Berikut latihan ke-1 untuk tiga buah aplikasi yaitu membuat tombol Hello, saatdiklik tombolnya,tombol akan beraksi dengan memunculkan pesan. Ikuti langkahnya sebagai berikut :1. Buat form frmHello1 seperti yang sudah dijelaskan.

Komponen yang dibutuhkan form dengan nama frmHello1 dan button dengannama btnHello1. Ubah properti name-nya

Ubah properti caption masing-masing komponen menjadi Membuat program Hello1 dan Katakan Hello

Buat method dari komponen btnHello1 lewat event OnClick, seperti berikutprocedure TfrmHello1.btnHello1Click(Sender: Tobject);beginMessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);end;

Jalankan program lihat hasilnyaCoba ganti parameter ke-1, ke-2 dan ke-3Simpan dengan nama unit uHello1.pas dan project pHello1.dpr pada direktori

Latih1

2. Buat aplikasi baru (File-New-Application) dengan form barufrmHello2 mirip form frmHello1 dengantambahan sebagai berikut. Apa yang terjadi? (properti caption dari komponen tombol diganti saat programberjalan)

Komponen yang dibutuhkan form dengan nama frmHello2 danbutton dengan nama btnHello2. Ubah properti name-nyaprocedure TfrmHello2.btnHello2Click (Sender: Tobject);beginMessageDlg (‘Hello, guys’, mtInformation, [mbOK], 0);BtnHello2.Caption := ‘Say Hello Again’;end;

Buat method untuk mengubah ukuran formHello2 lewat event OnResize, perhatikan apa yang terjadi bila ukuran form diubah saat program berjalanprocedure TfrmHello2.FormResize(Sender: Tobject);beginBtnHello2.Top := frmHello2.ClientHeight div 2 –BtnHello2.Height div 2;BtnHello2.Left := frmHello2.ClientWidth div 2 –BtnHello2.Width div 2;end;

Simpan dengan nama unit uHello2.pas dan project pHello2.dpr pada direktori Latih1

3. Buat aplikasi baru (File-New-Application) dengan form barufrmHello3 seperti yang sudah dijelaskan.

objek properties Value of

properties

Method lewat

event

Form1 name FrmHello3

Button1 name BtnHello3 (lihat dibawah)

caption &Show Me

Label1 name LblHello3

font Size 24

Buat method dari komponen btnHello3 lewat event OnClick, seperti berikutprocedure Tform1.btnHello3Click(Sender: Tobject);beginif btnHello3.caption =’&Show Me’ thenbeginlblHello3.caption := ‘Selamat Datang di Delphi 5.0’;btnHello3.caption :=’&Hide Me’;end elsebeginlblHello3.caption := ‘’;btnHello3.caption :=’&Show Me’;end;end;

Jalankan program lihat hasilnyaSimpan dengan nama unit uHello3.pas dan project pHello3.dpr

pada direktori Latih1

Menu dan Perintah pada Delphi

Ada empat cara untuk memberi perintah padalingkungan Delphi (Delphi environment):

Gunakan menuGunakan Short Cut (misal F9, F12 dsb)Gunakan SpeedBar (atau toolbar).Gunakan SpeedMenu ( lokal menu yang

diaktifkan dengan tombol mouse kanan).

Gambar 8. Jendela Find Text

METHOD

method adalah sebuah function/fungsi yang tergabung dalamsebuah objek. Contoh ListBox (dapat berarti sebuah array of strings) yang memiliki Method (Clear) yang membuat Listbox tersebutmenjadi kosong.CLEAR adalah sebuah Method pada ListBoxtersebut. BeginListBox1.Clear; // Mengosongkan isi ListBoxListBox1.Items.LoadFromFile(‘c:\Data1.txt’);//properti Items (bertipe string) memiliki method untukLoadFromFileend;

EVENTEvent adalah sebuah aksi pengguna (User Action) misal

Mouse Click, KeyPressed. Setiap Events diawali dengankata‘On’.Contoh :Nama event Nama methodOnClick .. Button1Click(Sender : Tobject)OnKeyDown .. Button1KeyDown(Sender : Tobject)OnMouseMove .. Button1MouseMove(Sender : Tobject)

PERINTAH PENCABANGAN / STRUKTUR PEMILIHAN

Keberadaan perintah bersyarat pada suatu program memberikan pencabangan proses seperti ditunjukkan oleh Error! Not a valid link.. Bahasa Pascal menyediakan dua cara penyajian perintah bersyarat, yaitu If…Then…Else danCase…of.

Aksi 1 Aksi 2

Kondisi 1 kondisi 2

Gambar 3.1 Pencabangan pada program

Pada prinsipnya pemilihan aksi dapat dikelompokkan menjadi 3 bagian: Pemilihan 1 pilihan/kasus. Gunakan perintah IF – THENPemilihan 2 pilihan/kasus. Gunakan perintah IF – THEN – ELSEPemilihan N pilihan/kasus. Gunakan Case – of (Catatansebenarnya dapat menggunakan if—then – else bersarang)

3.1. IF … THEN : Pemilihan 1 kasusPerintah bersyarat If – then digunakan hanya melakukan 1 aksibila kondisi dipenuhi.Bentuk sintaks dari perintah bersyarat iniadalah: If <kondisi_pencabangan> thenBegin... {aksi-1}end;

3.2. IF … THEN … ELSE : Pemilihan 2 kasusPerintah bersyarat If umumnya digunakan untuk melakukan pencabangan sederhana (antara 2 atau 3 cabang).Atau untukpencabangan yang banyak, dimana kondisi yang menjadiprasyaratnya melibatkan lebih dari satuparameter. Bentuk sintaks dari perintah bersyarat ini adalah:If <kondisi_pencabangan> thenBegin... {aksi-1}endelseBegin... {aksi-2}end;

3.3. IF … THEN … ELSE : Pemilihan N kasus

If <kondisi_pencabangan1> thenBegin... {aksi-1}endelseIf <kondisi_pencabangan2> thenBegin... {aksi-2}endelseBegin... {aksi-3}End;

3.4. CASE … OF … : Pemilihan N kasus

Perintah bersyarat Case umumnya digunakan untuk kondisidengan banyak pencabangan. Syarat pencabangan pada bentukini hanya boleh melibatkan satu buah parameter dengan tipe data bukan Real. Pemeriksaan kondisi di sini lebih tepat disebutkandalam hubungan relasi samadengan (=).Case <Parameter> Of

<nilai_1> : <aksi_1> ;<nilai_2> : <aksi_2> ;...<nilai_n> : <aksi_n> ;Else <aksi_n+1> ;End;

Membuat method/procedure

Buat method dari komponen frmWelcome lewat event OnActivate, seperti berikut:procedure TForm1.FormActivate(Sender: TObject);beginlbxCountry.Hint := 'Please choose...';lbxCountry.Items[0]:='Ca';lbxCountry.Items[1]:= 'C';lbxCountry.Items[2]:= 'Cu';lbxCountry.Items[3]:= 'Cd';end;

Buat method dari komponen lbxCountry lewat event OnClick, seperti berikut :procedure TForm1.lbxCountryClick(Sender: TObject);beginlblCountry.caption := lbxCountry.Items[lbxCountry.ItemIndex]; caselbxCountry.ItemIndex of0 : lblComment.caption := 'lambang unsur dari Calsium' ;1 : lblComment.caption := 'lambang unsur dari Carbon' ;2 : lblComment.caption := 'lambang unsur dari Cuprum' ;3 : lblComment.caption := 'lambang unsur dari Cadmium' ;end;end;

STRUKTUR PENGULANGAN

Dalam menyelesaikan masalah, terkadang kita harus melakukansuatu proses yang sama lebih dari satu kali. Untuk itu perlu dibuatsuatu algoritma pengulangan. Pascal memberikan tiga alternatifpengulangan, yaitu dengan For,While, atau Repeat. Ada dua hal yang penting dalam melakukan merancang perintah pengulangan, yaitu:

Inisialisasi awal.Nilai akhir pengulangan atau kondisi berhenti.

4.1. FOR – TO - DOPada pengulangan dengan For, inisialisasi awal dan kondisi akhirditentukan dengan menggunakan suatu variable kendali yang nilainya dibatasi dalam suatu range tertentu. Sintaks untukperintah ini adalah:For <variable_kendali> := <nilai_awal> to <nilai_akhir> doBegin…{aksi}End ; ATAUFor <variable_kendali> := <nilai_awal> downto <nilai_akhir> doBegin… {aksi}End ;

Contoh program pengulangan menggunakan For-to-do:

procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);var I : integer;beginlbxHasil.Items.Clear;For I := 1 to 5 doBeginlbxHasil.Items.Add(inttoStr(i));End;End; Hasilnya adalah : 1, 2, 3, 4, 5

procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);beginlbxHasil.Items.Clear;lbxHasil.Items.Add(inttoStr(1));lbxHasil.Items.Add(inttoStr(2));lbxHasil.Items.Add(inttoStr(3));lbxHasil.Items.Add(inttoStr(4));lbxHasil.Items.Add(inttoStr(5));End;

Hasilnya adalah : 1, 2, 3, 4, 5

Contoh program yang sama jika tanpa perintah pengulangan:

4.2. WHILE - DOPada metoda pengulangan ini aksi hanya akan diprosesbila kondisi pengulangan terpenuhi, bentuk sintaks daripengulangan ini adalah:While <kondisi_ pengulangan> do

Begin… {aksi}End ;

Selama kondisi_pengulangan bernilai true maka aksiakan dilakukan, dan baru akan berhenti setelah kondisipengulangan bernilai false.

procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);var I : integer;beginlbxHasil.Items.Clear;I := 1;While I<=5 DOBeginlbxHasil.Items.Add(inttoStr(i));I := I + 1;End;

End;

Contoh program pengulangan menggunakan While-do

4.3. REPEAT - UNTILMetoda pengulangan ini juga melakukan pengulangan berdasarkan pemeriksaan kondisipengulangan. Hanya saja natur dari pengulangan ini adalah sistem seakan-akanmemaksa untuk melakukan pengulangan, sampai di ketahui adanya kondisi berhenti. Bentuk sintaks dari pengulangan ini adalah:Repeat

… {aksi}Until <kondisi_ berhenti>Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi_pengulangan

bernilai true, padapengulangan Repeat, sistem akan memproses aksi selama kondisi_berhenti bernilai false.procedure TfrmPengulangan.btnPengulanganClick(Sender: TObject);

var I : integer;beginlbxHasil.Items.Clear;I := 1;RepeatlbxHasil.Items.Add(inttoStr(i));I := I + 1;Until I > 5;End;

TIPE DATA DALAM DELPHI

Setiap data yang disimpan di memori komputer harus memiliki tipe data. Tipe data yang sederhana sekaliadalah dikelompokkan menjadi 2 bagian :1.Teks :a.Char (terdiri dari 1 huruf /1 angka)b.String (terdiri dari beberapa huruf/angka)2.Bilangan :a.Integer (bilangan bulat )b.Real (bilangan pecahan)

1.1.Berlatih Tipe Data Float dan String Dengan memahami seperti ini kita akancoba membuat sebuah program (projek)untuk menghitung tekanan gas ideal, rumusnya sebagai berikut :P := (n*R*T)/V ;

Berikut desain form di Delphi :

Gambar12. Desain form tekanan

Membuat even OnClick pada Button1

procedure TForm1.Button1Click(Sender:TObject);begin//Konversi dari String ke Floatn :=StrTofloat(Edit1.Text);T :=StrTofloat(Edit2.Text);V :=StrTofloat(Edit3.Text);P := (n*R*T)/V ;//Konversi dari Float ke StringEdit4.Text :=floatToStr(P);end;

Catatan :Pada bagian Var, tambahkan :

n,T,V,P : real ;Pada bagian Const, tambahkan :

R = 0.082 ;

procedure TForm1.Button2Click(Sender:TObject);beginapplication.terminate;end;

Membuat even OnClick pada Button2

Hasil running program aplikasi

Di bawah ini adalah sebagian dari tipe data pada Delphi :

1. IntegerMerupakan tipe data bilangan bulat, dengan :

Tipe Range format

Integer –2147483648..2147483647 signed 32-bit

Cardinal 0..4294967295 unsigned 32-bit

Secara fundamental, tipe integer terdiri dari :

Type Range format

Shor int –128..127 signed 8-bit

Smallin –32768..32767 signed 16-bit

Longin –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

2. Real Merupakan bilangan pecahan, dengan :

Type

Significant

digits

Size in

bytes

Range

Real 48 11-12 2.9 x 10–39 ..1.7 x 10386

Single 7-8 1.5 x 10–45 ..3.4 x 10384

Double 15-16 5.0 x 10–324 ..1.7 x 103088

Extended 19-20 6 x 10–4951 ..1.1 x 10493210

Comp 19-20 –263+1 ..263 –18

Currency 19-20 -922337203685477.5808..922337203685477.58078

Secara Generik, tipe real adalah :

Type

Significant digits

Size in

bytes

Range

Real 15-16 5.0 x 10–324 ..1.7 x 103088

3. StringMerupakan huruf, dengan :

Type Maximum lenght Memory required

Char 1 characters 1 bytes

ShortString 255 characters 2 to 256 bytes

AnsiString ~231 characters 4 bytes to 2 GB

WideString ~230 characters 4 bytes to 2GB

4. BooleanMerupakan tipe variabel logika. Nilai dari variabel dari bertipeBoolean adalah True atau False.