Job Sheet Pemograman Komputer
JOB SHEET 1 PENGENALAN DELPHI
I. PENDAHULUAN Delphi adalah sebuah Visual Interface antara pemakai (user) dan komputer. Delphi merupakan Pemograman berorientasi objek atau Object Oriented Programming (OOP). Pada umumnya pembuatan program yang memiliki OOP terdapat 2 tahapan yaitu : tahapan desain yang biasanya berhubungan dengan manipulasi form editor dan tahap pembuatan code atau sintaks program.
From Inti dari setiap aplikasi delphi adalah form. Form dapat dianggap sebagai sebuah
window. Informasi mengenai form di simpan didalam dua file yaitu : file .DFM dan file .PAS. File .DFM berisis informasi mengenai tampilan form, ukuran, lokasi dan lain-lain. File .PAS atau unit untuk mengontrol form, setiap kali menambah even handler atau menambah perintah, file ini akan diubah.
Properties Sebuah objek di akses melalui propertinya. Property dari object delphi
mempunyai nilai yang dapat diubah pada saat desain tanpa perlu menuliskan program. Semua form dan semua komponen (visual component) mempunyai properties. Form mempunyai ukuran (tinggi dan lebar), warna background, batas dan juga nama. Penampilan objek-objek tersebut dengan memanipulasi atribut atau propertinya.
II. LINGKUNGAN DELPHI IDE (Integrated Development Environment) dari Delphi adalah sebuah lingkungan dimana semua tools yang diperlukan untuk desain, menjalankan data dan mengetes sebuah aplikasi sehingga memudahkan pengembang program. Secara garis besar IDE terdiri dari : Window Utama (Main Window), Toolbar, Component Pallete, Object Inspector, Form Editor, Code Editor, Code Explorer.
Created By: Elfizon, S.Pd.,M.Pd.T
1
Job Sheet Pemograman Komputer
Component Palette
Toolbar
Main Window
Object Inspector
Form Editor
Code Editor Code Explorer
Gambar IDE dari Delphi
Keterangan : 1. Main Window (Jendela Utama) adalah : bagian utama dari IDE. Main window terdiri dari : menu utama, toolbar dan component pallete. 2. Object Inspector, terdiri dari 2 tab yaitu :
Tab Properties di gunakan untuk melihat dan mengubah property dari setiap item.
Tab Events berisi evebt-event yang dapat direspon oleh sebuah objek.
3. Editor, terdiri dari: form editor (designer) dan code editor.
Form Editor : digunakan untuk merancang aplikasi window. Untuk berinteraksi dengan form designer dengan memilih komponen dari component pallete dan meletakkanya dengan form. Untuk mengubah
Created By: Elfizon, S.Pd.,M.Pd.T
2
Job Sheet Pemograman Komputer
tampilan dan prilaku komponen dengan menggunakan object inspector dan code editor.
Code Editor digunakan untuk menuliskan program-program delphi.
4. Code Explorer di pakai untuk memudahkan navigasi didalam file unit. Code explorer berisi type, class, property, method, variabel global dan rutin global yang didefinisikan didalam unit.
III. FILE- FILE YANG DIBENTUK OLEH DELPHI Delphi memiliki 2 bagian utama yaitu : bagian primer yang berupa file program yang mengkoordinasi keseluruh program yang berektensi .DPR dan bagian sekunder yang melaksanakan tugas-tugas tertentu yang disebut unit dengan file berektensi .PAS. File-file yang terbentuk pada saat perancangan, pembuatan dan eksekusi program delphi diantaranya : *.PAS, *.DPR, *.DFM, *.OPR, *.RES, *~*, *.DCU. IV. DASAR – DASAR PEMOGRAMAN DELPHI A. Konstanta dan Variabel Nilai konstanta tidak dapat diubah pada saat program dieksekusi sedangkan variabel isinya dapat diubah – ubah pada saat program dijalankan. Variabel terdiri dari 2 yaitu : variabel Global dan variabel Lokal.
Variabel Global dipakai di seluruh program, di program utama atau didalam procedure.
Variabel Lokal hanya dapat digunakan di tempat pendefinisiannya. Jika variabel ini didefinisikan di dalam procedure maka hanya prosedur tersebut yang menggenalnya.
B. Tipe Data Tipe Data sangat penting dalam pemograman, karena jika tipe data tidak sesuai akan terjadi kesalahan pada program. Tipe data mempunyai jangkauan tertentu. Semakin besar jangkauan akan semakin besar tempat penyimpanan (Memori). Macam –macam tipe data : 1. Tipe Integer Tipe data integer dipakai untuk menyatakan bilangan yang tidak mempunyai desimal. Created By: Elfizon, S.Pd.,M.Pd.T
3
Job Sheet Pemograman Komputer
Tipe-tipe bilangan integer beserta jangkauan dan memori yang diperlukan. Type
Jangkauan
Memori (byte)
Byte
0 s.d 255
1
Word
0 s.d 65535
2
ShortInt
-128 s.d 127
1
SmallInt
-32768 s.d 32767
2
Integer
-2147483648 s.d 2147483647
4
Cardinal
0 s.d 2147483647
4
LongInt
-2147483647 s.d 2147483647
4
2. Tipe Real Tipe data real digunakan untuk menyimpan bilangan yang mempunyai desimal. 3. Tipe Currency Tipe Currency digunakan untuk menyatakan nilai besarnya uang. Tipe Currency mempunyai ketelitian yang lebih tinggi dalam menangani bilangan yang besar. 4. Tipe Boolean Tipe Boolean digunakan untuk menyatakan nilai logik. Variabel ini berisi true atau false. 5. Tipe String String adalah sederetan karakter yang membentuk kesatuan. String dapat dipakai untuk menyimpan data nama, alamat dan lain-lain.
C. Operator Operator
Simbol
Operator Aritmatika
+, - , * , / , Div (Pembagian Bulat), Mod ( Sisa Pembagian ).
Operator Logika
NOT, AND, OR, XOR
Operator Relasional
= , <> , < , > , < =, >=
Created By: Elfizon, S.Pd.,M.Pd.T
4
Job Sheet Pemograman Komputer
D. Prosedure dan Function Prosedure adalah bagian program yang melaksanakan tugas tertentu pada saat dipanggil. Function sama dengan variabel hanya function menghasilkan sebuah nilai. Variabel global dan lokal dapat dipakai di dalam function.
E. Prosedur Increment dan Decrement Procedure Increment dan Descrement menghasilkan program yang sudah optimasi untuk proses penambahan dan pengurangan pada variabel integer. Sintax : Inc ( Variabel ) sama dengan Variabel := Variabel + 1 Des ( Variabel ) sama dengan Variabel := Variabel -1
F. Komentar Komentar dipakai untuk memberikan penjelasan dalam program. Teks di dalam komentar tidak diproses oleh kompiler. Simbol yang digunakan : { }, (* *), //
Tugas dan Latihan
INPUT DAN OUTPUT
Program Menghitung Umur 1. Buat Aplikasi Baru dan letakkan komponen seperti berikut :
Created By: Elfizon, S.Pd.,M.Pd.T
5
Job Sheet Pemograman Komputer
2. Ubah Properties pada Object Inspector Komponen
Properti
Nilai
Form1
Caption
Menghitung Umur
Label1
Caption
Program Menghitung Umur
Label2
Caption
Nama Awal
Label3
Caption
Nama Belakang
Label4
Caption
Tahun Lahir
Label5
Caption
Tahun Sekarang
Label6
Caption Name Caption Name Name Text Name Text Name Text Name Text Kind Kind Kind
< Kosongkan > LNama < Kosongkan > LUmur Eawal < Kosongkan > Eakhir < Kosongkan > Elahir < Kosongkan > Esekarang < Kosongkan > OK Cancel Close
Label7 Edit1 Edit2 Edit3 Edit4 BitBtn1 BitBtn2 BitBtn3
3. Buat Kode Program
Klik Ganda Tombol Ok dan Isi kode berikut
procedure TForm1.BitBtn1Click(Sender: TObject); begin LNama.caption:='Nama :'+EAwal.text+''+Eakhir.Text; Lumur.Caption:='Umur:'+inttostr(strtoint(Esekarang.Text)strtoint(Elahir.Text)); end;
Klik Ganda Tombol Clear dan isikan kode berikut
procedure TForm1.BitBtn2Click(Sender: TObject); begin Eawal.Text:=''; Eakhir.Text:=''; Elahir.Text:=''; Created By: Elfizon, S.Pd.,M.Pd.T
6
Job Sheet Pemograman Komputer
Esekarang.Text:=''; LNama.Caption:='' ; LUmur.caption:=''; end;
Klik Ganda Tombol Close dan Isikan kode berikut
procedure TForm1.BitBtn3Click(Sender: TObject); begin close end;
Keterangan :
Fungsi IntToStr adalah fungsi untuk mengkonversi nilai integer menjadi nilai string.
Fungsi StrToInt adalah fungsi untuk mengkonversi nilai string menjadi nilai integer.
Tugas 1. Buat Program kalkulator dengan operasi : penjumlahan, pengurangan, perkalian, pembagian, pangkat. 2. Buat program mencari luas bangunan dengan inputan panajang, lebar dan jari-jari. Output luas Kubus, Persegi panjang dan lingkaran.
Created By: Elfizon, S.Pd.,M.Pd.T
7
Job Sheet Pemograman Komputer
JOB SHEET 2
OPERATOR DAN OPERASI ARITMATIK
A. Operator Untuk melakukan berbagai manipulasi dan pengolahan data, Borland Delphi 6.0 menyediakan bermacam-macam operator. Setipa operator mempunyai tingkat hirarki, yaitu urutan pelaksanaan jika beberapa operator dilibatkan dalam satu proses. Misalnya, jika terdapat ekspresi x + y * z, maka akan dilaksanakan terlebih dahulu operasi y * z, hasilnya baru ditambahkan dengan x. Hirarki operator dalam Borlan Delphi 6.0 seperti ditunjukkan oleh table 1 di bawah ini. Tabel 1 Hirarki Operator Operator @, not *, /, div, mod, and, shl, shr, as +, -, or, xor =, <>, <, >, <=, >=, in, is
Hirarki Tertinggi Kedua Ketiga Keempat
Kita dapat mengubah tingkat hirarki dengan memberikan tanda kurung pada operasi yang akan dilakukan. Misalnya ada operasi yang akan dilekukan (x + y) * z, maka yang dilaksanakan pertama kali adalah operasi x + y, kemudian hasilnya baru dikalikan dengan y. 1. Operator Penugasan Operator penugasan (assignment) disimbulkan dengan tanda sama dengan yang didahului oleh tanda titik dua (:=). Fungsinya adalah untuk memasukkan suatu data ke dalam suatu variable. Bentuk umum penulisannya adalah;
:= <ekspresi> Contoh: Umur := 17; Diskon := 0.1 * 17500; 2. Operator Aritmatika Operator aritmatika untuk melakukan operasi aritmatik. Borland Delphi 6.0 mempunyai beberapa operator aritmatika seperti ditunjukkan pada tablel 2 di bawah ini
Created By: Elfizon, S.Pd.,M.Pd.T
8
Job Sheet Pemograman Komputer
Tabel 2 Operator Aritmatik Operator * / Div Mod + -
Operasi Perkalian Pembagian Pembagian bulat Sisa Pembagian Penambahan Pengurangi
Tipe Diproses Integer Real Integer Real
Tipe Hasil Integer Real Integer Real
Integer
Integer
Integer Integer Real Integer Real
Integer Integer Real Integer Real
Operator aritmatika I atas disebut juga sebagai operator aritmatika binary. Selain operator aritmatika binary, ada juga operator aritmatika unari, yaitu + (plus) sebagai tanda tanda positif dan operato – (negative) sebagai tanda negative. Operator aritmatika unary digunakan pada tipe data integer dan real. Hirarki operator aritmatik unari lebih tinggi dari operator aritmatika binary. Borland Delphi 6.0 tidak mempunyai operator pangkat. Sebagai gantinya digunakan rumus matematika ax = exp(x * ln(a)). Perhatikan potongan berikut; A := 2; B := 3; C := exp(B * ln(A)); // C berisi 9 D := exp(B * ln(5)); // D berisi 125 3. Operator Relasi Operator relasi atau pembanding digunakan untuk membandingkan suatu data (ekspresi) dengan data (ekspresi) lain dan menghasilkan nilai logika (boolean) benar atau salah. Nilai yang dibandingkan harus mempunyai tipe yang sama. Operator relasi yang digunakan untuk membandingkan data pada Borland Delphi 5.0 seperti ditunjukkan pada ditunjukkan pada table 3 di bawah ini. Tabel 3Hirarki Operator Relasi Operator = <>
Keterangan Sama dengan Tidak sama dengan
Operator
Keterangan
< > <= >=
Lebih kecil Lebih besar Lebih kecil atau sama dengan Lebih besar atau sama dengan
Beberapa penggunaan operator relasi dapat dilihat pada contoh di bawah ini; A := 2 > 3; // A bernilai False karena 2 < 3 A := 2 + 2 > 3; // A bernilai True karena 4 atau (2 + 2) > 3 A := 3 > 2 + 2; // A bernilai False karena 3 < dari 4 atau (2 + 2) Created By: Elfizon, S.Pd.,M.Pd.T
9
Job Sheet Pemograman Komputer
Dari contoh di atas telihat bahwa operator relasi hierarkinya lebih rendah dari operator aritmatika, sehingga operator aritmatika selalu dijalankan terlebih dahulu. 4. Operator Logika Operator logika digunakan untuk mengekspresikan satu atau lebih data (ekspresi) logika (boolean) menghasilkan data data logika (boolean) baru. Tabel operator logika (hierarchy dari atas ke bawah) dapat dilihat pada tabel 4 di bawah ini. Tabel 4 Operator Logika Operator Not And Or Xor
Keterangan Tidak Dan Atau Exclusive Or
Operator logika Not menghasilkan nilai kebalikan dari suatu data logika dan mempunyai hirarki paling tinggi pada operator logika. Hasil ekspresi logika Not adalah sebagai berikut; Ekspresi Not (2 < 3) Not (2 > 3)
Nilai Not (True) = False Not (False) = True
Operator And akan menghasilkan nilai True hanya jika dua buah ekspresi dari kiri dan kanan operator And bernilai True. Tabel hasil ekspresi logika And adalah sebagai berikut; Ekspresi (2 < 3) And (7 > 6) (2 < 3) And (7 < 6) (2 > 3) And (7 > 6) (2 > 3) And (7 < 6)
Nilai True And True = True True And False = False False And True = False False And False = False
Operator logika Or akan menghasilkan nilai True jika salah satu dari dua buah ekspresi atau kedua ekspresi di kiri dan kanan operator Or bernilai True. Jadi operator Or hanya akan menghasilkan nilai False jika kedua ekspresi di kiri dan kanan operator Or bernilai False. Tabel ekspresi operator Or ditunjukkan pada tabel di bawah ini. Ekspresi (2 < 3) Or (7 > 6) (2 < 3) Or (7 < 6) (2 > 3) Or (7 > 6) (2 > 3) Or (7 < 6) Created By: Elfizon, S.Pd.,M.Pd.T
Nilai True Or True = True True Or False = True False Or True = True False Or False = False 10
Job Sheet Pemograman Komputer
Operator logika Xor akan menghasilkan nilai True jika ekspresi sebelah kiri operator Xor berbeda dengan ekspresi sebelah kanannya. Tabel hasil ekspresinya dapat dilihat di bawah ini Ekspresi (2 < 3) Xor (7 > 6) (2 < 3) Xor (7 < 6) (2 > 3) Xor (7 > 6) (2 > 3) Xor (7 < 6)
Nilai True Xor True = False True Xor False = True False Xor True = True False Xor False = False
Tugas Praktikum Untuk mempraktekkan materi tipe data, variable, dan operator, lakukan langkahlangkah di bawah ini; 1) Buat direktori; C:\Program Files\Borland\Delphi6\\Project\NOBP\Prak7 untuk menyimpan file-file aplikasi anda, (NOBP adalah Nomor BP Anda masing-masing), 2) Jika Delphi belum dijalankan, jalankan Delphi dan buat project baru, 3) Rancang tampilan program (user interface) seperti ditunjukkan oleh Gambar 1 di bawah ini. Catatan: - Pada user interface Gambar 1 digunakan komponen GroupBox sebanyak 2 buah. GroupBox1 digunakan untuk menampilkan group “Bilangan:”. Di dalam GroupBox1 terdapat komponen Label (3 buah), komponen Edit (3 buah). Sedangkan kompoen GroupBox2 digunakan untuk menampilkan group “Keterangan:”. Di dalam komponen ini terdapat satu buah kompoen Label, yaitu komponen Label4. - Komponen GroupBox diambil pada tab Standard dari komponen pallet. - Komponen yang penampilannya sama dengan kompoen GroupBox adalah komponen RadioGroup. Komponen ini juga diambil pada tab Standar. - Untuk menambahkan Opsi (Option); Tambah, Kurang, Kali, Bagi dan Pangkat, gunakan property Items komponen tersebut. Jika anda mengklik property Items, maka jendela String List Editor akan tampil seperti ditunjukkan pada Gambar 2 di bawah ini. 4) Isi property BorderStyle dengan bsDialog agar ketika program dijalankan tombol Minimize dan Restore tidak kelihat (yang terlihat hanya tombol Close yang terletak di sudut kanan atas sebuah Form).
Created By: Elfizon, S.Pd.,M.Pd.T
11
Job Sheet Pemograman Komputer
Gambar 1 Tampilan User Interface Praktikum
Gambar 2 Jendela String List Editor Komponen RadioGroup Anda bisa merubah-ubah nilai property tersebut dengan pilihan yang ada, akan tetapi tentu saja untuk melihat kegunaannya, setiap perubahan yang anda lakukan program harus anda jalankan. Check point 1: Amati penggunaan nilai yang ada pada property BorderStyle, dan jelaskan kegunaannya. 5) Isi property position Form1 dengan nilai poDesktopCenter agar setiap form diaktifkan, form senantiasa tampil di tengah-tengah Desktop meskipun ketika perancangan form tampil di posisi yang sembarang. Anda bisa mengubah nilai property ini dengan pilihan lainnya, akan tetapi untuk mengetahui efeknya anda harus menjalankan program setiap kali nilai property anda ubah. Check point 2: Created By: Elfizon, S.Pd.,M.Pd.T
12
Job Sheet Pemograman Komputer
Lakukan pengamatan terhadap property ini dan tulis kesimpulan anda pada lembar jawaban dan tugas, 6) Simpan program anda dengan nama file unit uPrak4.pas dan nama file project prjPrak4.dpr di direktori yang telah anda siapkan pada langkah 1 di atas. 7) Jalankan program dan amati tampilannya (pengamatan anda pada langkah ini akan anda bandingkan dengan pengamatan setelah anda menuliskan kode program). Setelah pengamatan selesai, Stop program. 8) Deklarasikan tiga variable secara global (pada blok interface), seperti contoh di bawah ini; var Bilangan1, Bilangan2 : Single; Keterangan : AnsiString;
9) Tampilkan Form1, sorot Form1 tersebut, kemudian klik tab Events yang ada di jendela Object Inspector, 10) Cari event OnActive form tersebut di Object Inspector, kemudian klik ganda di sebelah kanannya untuk menampilkan kode event procedure OnActive seperti ditunjukkan di bawah ini, procedure TForm1.FormActivate(Sender: TObject); begin end;
11) Ketik kode program yang bercetak tebal di bawah ini (kode program yang dicetak normal telah ditampilkan pada langkah 9), procedure TForm1.FormActivate(Sender: TObject); begin RadioGroup1.ItemIndex := 0; Keterangan := 'Hasil penjumlahan Bilangan 1 dengan Bilangan 2'; Label4.Caption := Keterangan; Edit1.Text := ''; // untuk menghapus property Text komponen Edit1 Edit2.Text := ''; // untuk menghapus property Text komponen Edit2 Edit3.Text := ''; // untuk menghapus property Text komponen Edit3 end;
12) Simpan kembali program agar perubahan yang telah anda lakukan tidak hilang, 13) Jalankan program untuk melihat perubahan akibat dari kode program yang anda ketikkan pada langkah 11. Amati tampilan dan bandingkan dengan pengamatan yang anda lakukan pada langkah 7. Check point 3.3: Jelaskan kegunaan dari masingmasing perintah yang dicetak tebal di atas. 14) Tampilkan Form1, sorot komponen RadioGroup1 kemudian klik tab Events yang ada di jendela Object Inspector, 15) Cari property OnClick, kemudian klik ganda di sebelah kanan property-nya untuk menampilkan event procedure OnClick seperti ditunjukkan di bawah ini; procedure TForm1.RadioGroup1Click(Sender: TObject); begin end;
Created By: Elfizon, S.Pd.,M.Pd.T
13
Job Sheet Pemograman Komputer
16) Ketik kode program yang dicetak tebal di bawah ini (kode yang dicetak normal telah ditampilkan pada langkah 15 di atas), procedure TForm1.RadioGroup1Click(Sender: TObject); begin if RadioGroup1.ItemIndex = 0 then Label4.Caption := 'Bilangan 1 + Bilangan 2' else if RadioGroup1.ItemIndex = 1 then Label4.Caption := 'Bilangan 1 - Bilangan 2' else if RadioGroup1.ItemIndex = 2 then Label4.Caption := 'Bilangan 1 * Bilangan 2' else if RadioGroup1.ItemIndex = 3 then Label4.Caption := 'Bilangan 1 / Bilangan 2' else Label4.Caption := 'Bilangan 1 ^ Bilangan 2'; end;
17) Simpan kembali program agar perubahan yang terjadi tidak hilang jika computer mati atau program hang, 18) Jalankan program dan coba mengklik opsi (Tambah, Kurang, Kali, Bagi, dan Pangkat) yang terdapat pada RadioGroup1 sampil memperhatikan perubahan yang terjadi pada GroupBox2 (Keterang:). Check point 4.4: Jelaskan kegunaan perintahperintah yang dicetak tebal di atas (langkah 16), 19) Check point 4.5: Program dalam keadaan running, isi nilai padakomponen Edit1 dan dua, setelah itu coba klik tombol “Proses”. Perhatikan pengaruhnya terhadap program. Adakah hasil yang diampilkan? Mengapa demikian?. Setelah pengamatan anda selesai Stop program, 20) Tampilkan Form1, kemudian klik ganda komponen Button2 (Button yang bercaption-kan “Proses”) untuk menulis kode program event OnClick Button2 seperti ditunjukkan di bawah ini; procedure TForm1.Button2Click(Sender: TObject); begin end;
21) Deklarasikan sebuah variable local dengan nama bil1, bil2 dan hasil dengan tipe data sigle pada procedure di atas. Dengan langkah ini maka kode program pada langkah 20 sekarang menjadi; procedure TForm1.Button2Click(Sender: TObject); var bil1, bil2, hasil : single; begin end;
22) Ketik kode program yang dicetak tebal di bawah untuk memproses bilangan yang dimasukkan melalui komponen Edit1 dan Edit2 procedure TForm1.Button2Click(Sender: TObject); var bil1, bil2, hasil : single; begin bil1 := StrToFloat(Edit1.Text); bil2 := StrToFloat(Edit2.Text); if RadioGroup1.ItemIndex = 0 then Created By: Elfizon, S.Pd.,M.Pd.T
14
Job Sheet Pemograman Komputer
hasil := bil1 + bil2 else if RadioGroup1.ItemIndex = 1 then hasil := bil1 - bil2; Edit3.Text := FloatToStr(hasil); end;
23) Simpan kembali program dan jalankan, 24) Coba memasukkan nilai numeric (angka) pada komponen Edit1 dan Edit2, dan klik tombol proses untuk mengetahui hasilnya. Peringatan!!! - Jangan mengklik tombom Proses sebelum mengisikan nilai yang benar pada komponen Edit1 dan Edit2, karena nilai kosong (nill) tidak akan dapat dikonversi menjadi nilai floating point 25) Check point 4.6: Tuliskan kegunaan perintah-perintah yang dicetak tebal pada langkah 22 di atas. 26) Stop program, dan kerjakan tugas di bawah ini! 27) Jika program yang anda buat telah berhasil sesuai dengan tujuannya, copy-kan folder Prak3 ke Flash-Disk anda masing-masing. Pada perkuliahan mendatang, latihan anda ini akan dinilai kembali oleh dosen pembimbing.
Created By: Elfizon, S.Pd.,M.Pd.T
15
Job Sheet Pemograman Komputer
JOB SHEET 3
SELEKSI KONDISI
Seleksi kondisi terdiri dari : 1. Case...of Perintah Case umumnya digunakan untuk kondisi yang banyak percabangan. Syarat percabangan hanya melibatkan satu buah parameter dengan tipe data bukan Real. Sintax : Case < Parameter > Of < Nilai_1 > : < Aksi_1> < Nilai_2 > : < Aksi_2> ... < Nilai_n > : < Aksi_n>; Else ; End;
2. If Pada prinsipnya pemilihan aksi dapat dikelompokkan menjadi 3 bagian : If... Then : Pemilihan 1 Kasus Sintax : If < Kondisi > Then Begin ... { aksi-1 } End; If... Then...Else : Pemilihan 2 Kasus Sintax : If < kondisi > then Begin ... { aksi-1 } End Else Begin ... { aksi-2 } End;
Created By: Elfizon, S.Pd.,M.Pd.T
16
Job Sheet Pemograman Komputer
If... Then...Else : Pemilihan N kasus Sintax : If < kondisi 1 > then Begin ... { aksi-1 } End Else If < kondisi 1 > then Begin ... { aksi-2 } End Else Begin ... { aksi-3 } End;
Program Seleksi Menu makanan 1. Buat Aplikasi Baru dan tempatkan komponen – komponen seperti berikut :
2. Ubah Properties Komponen Form1 Label1 Label2 Label3 Label4 Combobox1 Edit1 Edit2 Edit3 Button1 Button2
Properti Caption Caption Caption Caption Caption Text Text
Caption Caption
Created By: Elfizon, S.Pd.,M.Pd.T
Nilai Menu Makanan Menu pilihan Harga Per Porsi Jumlah Porsi Bayar < Kosongkan > < Kosongkan > < Kosongkan > < Kosongkan > Hitung Close 17
Job Sheet Pemograman Komputer
3. Buat Kode Program
Isi items properti combobox1 dengan nama –nama : Nasi kuning, Soto Bandung, Sup Buntut, Lomie.
Klik combobox pada object inspector, pilih event dan klik ganda sebelah kanan OnClick, kemudian tulis kode program : Klik Ganda Tombol Hitung procedure TForm1.Button2Click(Sender: TObject); Var banyak, bayar : real; Begin banyak:=strtoint(edit2.text); bayar:=banyak*(strtoint(edit1.text)); edit3.text:=floattostr(bayar); end;
Klik Ganda tombol Close procedure TForm1.Button1Click(Sender: TObject); begin close end;
Tugas 1. Buat Program Menghitung Gaji Karyawan Dengan Inputan Nama, Golongan, Jabatan, Status dan output program adalah Tunjangan, pajak dan gaji bersih. Dengan ketentuan sebagai berikut : Gol
Gaji Pokok
I
Rp 1000000
II
Rp 1500000
III
Rp 2000000
IV
Rp 2500000
V
Rp 3000000
Jabatan
Tunjangan
Pajak
KaBag
15%
5%
Operasional
10%
4%
Administrasi
7%
3%
Karyawan Biasa
5%
2%
Created By: Elfizon, S.Pd.,M.Pd.T
18
Job Sheet Pemograman Komputer
Status Belum Menikah Menikah Janda/Duda
Tunjangan 3% 1.5 %
2. Buat Program menginput biodata nama,tahun sekarang, tahun lahir, alamat,no tlp, pekerjaan dan status. Status ( belum menikah, menikah, janda/duda) dipilih dengan menggunakan radiobuttun. output program biodata dan menghitung umur. Tampilan hasilnya pada form berbeda.
3. Buat Program cek password. Dengan inpputanya : nama, password , confirm password. Jika password sama maka program akan keluar, jika tidak maka ada pesan kesalahan (gunakan show message).
Created By: Elfizon, S.Pd.,M.Pd.T
19
Job Sheet Pemograman Komputer
JOB SHEET 4
PENGULANGAN
Ada 3 macam bentuk perulangan dalam Delphi yaitu : 1. For ..To.. Do Sintax : For < Variabel > := < nilai_awal > to do Begin ... { aksi } End ; Atau For < Variabel > := < nilai_awal > downto do Begin ... { aksi } End ; Perbedaan To dan Downto adalah pada kondisi nilai awal dan nilai akhir. Pada To nilai awal lebih kecil dari nilai akhir sedangkan Downto nilai awal lebih besar dari nilai akhir.
2. While ... Do Sintax : While < kondisi > do Begin ... { aksi } End; Selama kondisi pengulangan bernilai true maka aksi akan dilakukan, dan baru akan berhenti setelah kondisi pengulangan bernilai false. Kondisi perulangan di periksa pada bagian awal.
3. Repeat ... Until Sintax : Repeat ... { aksi } Until < kondisi >
Created By: Elfizon, S.Pd.,M.Pd.T
20
Job Sheet Pemograman Komputer
Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi bernilai true, pada perulangan Repeat, sistem akan memproses aksi selama kondisi berhenti bernilai false. Bila kondisi berhenti tidak pernah bernilai true maka perulangan dapat terjadi terus menerus.
Program Perulangan 1. Buat Aplikasi Baru, dan tampilan sebagai berikut
2. Ubah Properties dari Object Inspector Komponen
Properti
Nilai
Form1
Caption
Perulangan
Label1
Caption
Perulangan
Label2
Caption
Hasil
Button1
Caption
For
Button2
Caption
Repeat
Button3
Caption
While
Button4
Caption
Close
Edit1 & Edit2
Text
< Kosongkan >
3. Buat Kode Program
Klik Ganda Button For
procedure TForm1.Button1Click(Sender: TObject); var k,j: integer; begin j:=strtoint(edit2.text); for k:= 1 to j do edit1.Text:='Hasil for =
'+inttostr(k);
end; Created By: Elfizon, S.Pd.,M.Pd.T
21
Job Sheet Pemograman Komputer
Klik Ganda Button Repeat
procedure TForm1.Button2Click(Sender: TObject); var i,y: integer; begin i:=0; repeat y:=strtoint(edit2.text); inc(i); edit1.Text:='Hasil Repeat =' +inttostr(i); until i=y; end;
Klik Ganda Button While
procedure TForm1.Button3Click(Sender: TObject); var n,m: integer; begin n:=0; m:=strtoint(edit2.text); while n < m do begin inc(n); edit1.text:='Hasil While =' + inttostr(n); end; end;
Tugas 1. Buat Program dengan output bilangan ganjil ( Buat Folder Latihan3, Nama File U31 dan P31 ) 2. Buat Program perulangan bilangan bulat positif dengan output dari atas ke bawah. ( Buat Folder Latihan3, Nama File U31 dan P31 )
Created By: Elfizon, S.Pd.,M.Pd.T
22
Job Sheet Pemograman Komputer
JOB SHEET 5
ARRAY
Program Input nama dengan Array 1. Buat Aplikasi, dengan tampilan sebagai berikut
2. Ubah Properti dari object inspector Komponen
Properti
Nilai
Form1
Caption
Array
Label1
Caption
Data Nama Peserta
Label2
Caption
Jumlah Data
Button1
Caption
Input
Button2
Caption
Clear
Button3
Caption
Close
Edit1
Text
< Kosongkan >
Listbox1
Name
LBData
3. Buat kode Program
Klik Ganda Button Input
Procedure tform1.Button1Click(Sender: tobject); Var i: integer; Nama1,nama2 :array[1..5] of string; S: string; Begin s:= inputbox('input data','masukkan jumlah data :','0'); For i:= 1 to strtoint(s) do Created By: Elfizon, S.Pd.,M.Pd.T
23
Job Sheet Pemograman Komputer
Begin nama1[i]:=inputbox('data ke:'+inttostr(i),'nama awal',''); nama2[i]:=inputbox('datake:'+inttostr(i),'namabelakang',''); Lbdata.ITEMS.ADD(NAMA1[I]+ ' ' +NAMA2[I]); EDIT1.Text:=INTTOSTR(LISTBOX1.Items.COUNT); END; End;
Klik Ganda Button Clear Procedure tform1.Button2Click(Sender: tobject); Begin LISTBOX1.Clear; EDIT1.Text:=''; End;
Klik Ganda Button Close Procedure tform1.Button3Click(Sender: tobject); Begin CLOSE; End;
Created By: Elfizon, S.Pd.,M.Pd.T
24
Job Sheet Pemograman Komputer
JOB SHEET 6
PEMOGRAMAN DATABASE
Mengakses Tabel Langkah – Langkah : 3. Buat sebuah database di Access. 4. Buat sebuah aplikasi di Delphi. Letakkan komponen Table (Dari tab BDE), Data Source (Dari Tab Data Access), DBGrid, DBNavigator dan DBEdit (Dari Tab Data Controls).
5. Ubah Properties dari object Inspector Komponen Table1
Property
Nilai
Database
Pilih direktori database access
TableName
Nama Tabel
Active
True
DataSource1
DataSet
Tabel1
DBGrid1
DataSource
Datasource1
DBEdit
DataSource
Datasource1
DataField
Judul
DataSource
Datasource1
DBNavigator
Created By: Elfizon, S.Pd.,M.Pd.T
25
Job Sheet Pemograman Komputer
ShowHint
True
Label1
Caption
Bedah Buku
Label2
Caption
Kode Buku
Edit1
Text
< Kosongkan >
Button1
Caption
Cari
6. Buat Kode Program
Klik Table1, pilih Event pada Object Inspector, Klik Ganda disebelah kanan OnFilterRecord. Tulis program sebagai berikut :
procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin accept:=table1.fieldbyname('kode
buku').asstring
=
edit1.text; end;
Klik Ganda Tombol Cari
procedure TForm1.Button1Click(Sender: TObject); begin table1.next; end;
Created By: Elfizon, S.Pd.,M.Pd.T
26
Job Sheet Pemograman Komputer
JOB SHEET 7
PEMOGRAMAN GRAPHIS
Program aplikasi pengolahan citra
Kode Program
Klik Ganda Tombol OK procedure TForm1.BitBtn1Click(Sender: TObject); var f: file of byte; gbr: array[1..300,1..300] of byte; baru:array[1..300,1..300] of byte; i,j : integer; begin assignfile(f,'bottle.raw'); reset(f); for i:=1 to 256 do for j:=1 to 256 do begin
Created By: Elfizon, S.Pd.,M.Pd.T
27
Job Sheet Pemograman Komputer
read(f,gbr[j,i]); paintbox1.Canvas.pixels[j,i]:=tcolor(rgb(gbr[j,i],gbr[j, i],gbr[j,i])); end; closefile(f); bitbtn1.enabled:=false; end;
Klik Ganda Tombol Close procedure TForm1.BitBtn3Click(Sender: TObject); begin close; end;
Klik Ganda Tombol Negative Image procedure TForm1.BitBtn2Click(Sender: TObject); var f:file of byte; gbr:array[1..300,1..300]of byte; baru: array[1..300,1..300]of byte; i,j:integer; begin assignfile(f,'bottle.raw'); reset(f); for i:=1 to 256 do for j:=1 to 256 do begin read(f,gbr[j,i]); baru[j,i]:=255-gbr[j,i]; if baru[j,i] <0 then baru[j,i]:=0 else if baru[j,i] > 255 then baru[j,i]:=255; paintbox2.canvas.pixels[j,i]:=tcolor(rgb(baru[j,i],baru[ j,i],baru[j,i])); end ; closefile(f); end;
Created By: Elfizon, S.Pd.,M.Pd.T
28
Job Sheet Pemograman Komputer
Klik Ganda Tombol Tresholding procedure TForm1.BitBtn4Click(Sender: TObject); var f:file of byte; gbr:array[1..300,1..300]of byte; baru: array[1..300,1..300]of byte; baru1: array[1..300,1..300]of byte; i,j:integer; begin assignfile(f,'bottle.raw'); reset(f); for i:=1 to 256 do for j:=1 to 256 do begin read(f,gbr[j,i]); if gbr[j,i]< strtoint(edit1.text) then baru1[j,i]:=0 else if gbr[j,i] > strtoint(edit1.text) then baru1[j,i]:=255; paintbox2.canvas.pixels[j,i]:=tcolor(rgb(baru1[j,i],baru 1[j,i],baru1[j,i])); end ; closefile(f); end;
Klik Ganda Tombol Multi Tresholding procedure TForm1.BitBtn5Click(Sender: TObject); var f:file of byte; gbr:array[1..300,1..300]of byte; baru: array[1..300,1..300]of byte; baru1: array[1..300,1..300]of byte; i,j:integer; begin assignfile(f,'bottle.raw'); reset(f);
Created By: Elfizon, S.Pd.,M.Pd.T
29
Job Sheet Pemograman Komputer
for i:=1 to 256 do for j:=1 to 256 do begin read(f,gbr[j,i]); if gbr[j,i]< strtoint(edit1.text) then baru1[j,i]:=0 else if (gbr[j,i] >= strtoint(edit1.text))and (gbr[j,i] <= strtoint(edit2.text)) then baru[j,i]:=(strtoint (edit1.text)+strtoint(edit2.text))div 2 else if gbr[j,i]>strtoint(edit2.text)then baru1[j,i]:=255; paintbox2.canvas.pixels[j,i]:=tcolor(rgb(baru1[j,i],baru 1[j,i],baru1[j,i])); end ; closefile(f); end;
Created By: Elfizon, S.Pd.,M.Pd.T
30