Blogger Widgets Artikel indonesia: DIKTAT PERKULIAHAN PEMROGRAMAN II BORLAND DEL

Tuwiter

Artikel Indonesia Kelas X, XI XII

SILAKAN SEDOT WC DI KAMI 1X24JAM DI NO HP sedot wc bandung 085100941494 / 08970013700

MAKALAH INDONESIA

Minggu, 15 Februari 2015

DIKTAT PERKULIAHAN PEMROGRAMAN II BORLAND DEL





DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
37
BAB VI
PERCABANGAN
PENDAHULUAN
Percabangan digunakan
untuk menentukan blok perintah mana yang akan dilakukan berdasarkan
kondisi yang telah
ditentukan. Jika kondisinya tercapai (bernilai true) maka pernyataan akan
dikerjakan.
Ada dua jenis percabangan
yang ada dalam Delphi, yaitu :
Percabangan menggunakan pernyataan IF
Percabangan menggunakan pernyataan CASE
PERNYATAAN
IF
Pernyataan IF digunakan
untuk memeriksa sebuah kondisi dan kemudian mengeksekusi bagian source
code tertentu berdasarkan
kondisi Benar/True atau Salah/False. Kondisi harus dibentuk dalam ekspresi
Boolean.
Ada dua jenis pernyataan
IF yaitu
1. Pernyataan IF … THEN.
Pernyataan ini hanya
memeriksa apakah suatu blok kode program dapat dieksekusi atau tidak.
Jika kondisi pernyataan
ini bernilai True maka blok program yang ada di bawahnya akan
dieksekusi. Tetapi jika
kondisi pernyataan bernilai False maka alur program akan menganggap
pernyataan IF telah
selesai karena tidak mempunyai alternative lain.
Bentuk dasar pernyataan
IF … THEN adalah sebagai berikut :
IF
kondisi Boolean THEN
pernyataan;
Jika pernyataan yang akan
dieksekusi ketika kondisi bernilai true lebih dari satu pernyataan,
maka pernyataanpernyataan
tersebut harus diapit dengan begin dan end, sehingga bentuk
dasar pernyataan IF ..
THEN nya adalah sebagai berikut :
IF
kondisi boolean THEN
Begin
Pernyataan;
Pernyataan;
End;
2. Pernyataan IF … THEN …
ELSE. Pernyataan ini hanya memeriksa apakah suatu blok kode
program dapat dieksekusi
atau tidak. Jika kondisi pernyataan ini bernilai True maka blok
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
38
program yang ada di
bawahnya akan dieksekusi. Tetapi jika kondisi pernyataan bernilai False
maka alur program akan
mengeksekusi pernyataan yang ada di bawah pernyataan ELSE.
Bentuk dasar pernyataan
IF … THEN … ELSE adalah sebagai berikut :
IF
kondisi boolean THEN
pernyataan1
ELSE
pernyataan2;
Jika pernyataan yang akan
dieksekusi ketika kondisi bernilai true lebih dari satu pernyataan,
maka pernyataanpernyataan
tersebut harus diapit dengan begin dan end, sehingga bentuk
dasar pernyataan IF ..
THEN nya adalah sebagai berikut :
IF
kondisi boolean THEN
begin
pernyataan1;
end
ELSE
begin
pernyataan2;
end;
Contoh pernyataan IF …
THEN :
If Nilai>=50 then
ShowMessage(‘Selamat Anda
Lulus’);
atau
If Nilai>=50 then
begin
ShowMessage(‘Selamat Anda
Lulus’);
end;
Contoh pernyataan IF …
THEN … ELSE :
If Nilai>=50 then
ShowMessage(‘Selamat Anda
Lulus’)
Else
ShowMessage(‘Anda Tidak
Lulus’);
atau
If Nilai>=50 then
begin
ShowMessage(‘Selamat Anda
Lulus’);
end
Else
begin
ShowMessage(‘Anda Tidak
Lulus’);
end;
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
39
Contoh pernyataan IF …
THEN … ELSE … dengan kondisi lebih dari 2 kondisi
If Nilai>=80 then
begin
ShowMessage(‘Selamat Anda
Lulus Dengan Nilai yang sangat baik’);
end
Else
If Nilai>=50 then
begin
ShowMessage(‘Selamat Anda
Lulus Dengan Nilai yang cukup baik’);
end
Else
begin
ShowMessage(‘Anda Tidak
Lulus’);
end;
Ada beberapa hal yang
harus diperhatikan dalam penggunaan pernyataan IF, diantaranya adalah :
1. Kondisi yang diperiksa
harus menyatakan sebuah kondisi Boolean (True/False). Sehingga dalam
bagian kondisi harus menggunakan
operator relasional (=, >, <, >=, <=, <>) dan Operator
Boolean
(And, Or, Xor, dan NOT).
2. Pernyataan IF dianggap
sebagai sebuah pernyataan saja. Oleh karena itu tidak boleh ada tanda
semicolon ( ; ) sebelum
ELSE, karena ELSE adalah bagian dari pernyataan IF. Jika ada tanda
semicolon sebelum ELSE,
berarti pernyataan IF telah selesai dan bagian ELSE tersebut bukan lagi
milik pernyataan IF yang
di atasnya. Dan perintah ELSE tanpa didahului dengan pernyataan IF akan
mengakibatkan kesalahan.
Contoh :
If Nilai>=50 then
ShowMessage(‘Selamat Anda
Lulus’); // Pasti Error karena IF telah selesai di baris ini
Else // Pasti Error,
karena ELSE baris ini tidak mempunyai pernyataan IF
ShowMessage(‘Anda Tidak
Lulus’);
PERNYATAAN
CASE
Pernyataan CASE,
digunakan sebagai pengganti pernyataan IF. Pernyataan CASE akan memberikan
alternative yang lebih
gampang dibaca untuk menggantikan pernyataan IF. Tetapi tidak semua
pernyataan IF bisa
diganti dengan pernyataan CASE.
Bentuk umum dari CASE
adalah sebagai berikut :
CASE
EkspresiNilai Of
DaftarKemungkinan1:Pernyataan1;
DaftarKemungkinan2:Pernyataan2;
...
DaftarKemungkinanN:PernyataanN;
Else
PernyataanLainnya;
End;
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
40
Jenis data yang boleh ada
di bagian EkspresiNilai haruslah data bertipe ordinal (Bilangan Bulat,
Karakter,
Boolean). Tipe data
string atau real tidak bisa digunakan dalam EkspresiNilai.
Contoh pernyataan CASE :
CASE nilai OF
100 : ShowMessage(‘Selamat
Anda Lulus dengan Nilai SEMPURNA’);
80 .. 99 : ShowMessage(‘Selamat
Anda Lulus dengan sangat baik’);
50 .. 79 : ShowMessage(‘Selamat
Anda Lulus dengan cukup baik’);
Else
ShowMessage(‘Nilai
Kurang, Anda Tidak Lulus’);
End;
Contoh pernyataan CASE :
CASE huruf OF
‘A’,’I’,’U’,’E’,’O’:
ShowMessage(‘Huruf Vokal’);
Else
ShowMessage(‘Bukan Huruf
Vokal’);
End;
Ada beberapa hal yang
harus diperhatikan ketika menggunakan CASE yaitu :
1. Pada bagian
EkspresiNilai harus berupa data ordinal (Bilangan bulat, Karakter, atau
Boolean)
2. Bagian EkspresiNilai
boleh berupa range nilai
3. Pada bagian
DaftarKemungkinan, tidak boleh terjadi sebuah nilai berada pada 2 atau lebih
DaftarKemungkinan. Tidak
boleh sebuah nilai disebut lebih dari 1 kali.
4. Bagian ELSE digunakan
jika nilai tidak terpenuhi pada salah satu dari DaftarKemungkinan di atasnya.
KOMPONEN
YANG UMUM DIOLAH MENGGUNAKAN PERCABANGAN
Sebenarnya semua komponen
yang ada dapat diolah menggunakan percabangan. Tetapi ada beberapa
yang (bisa disebut pasti)
menggunakan percabangan untuk mengolahnya., diantaranya adalah :
COMBOBOX
Combobox ( )digunakan
untuk menampilkan daftar pilihan yang ditampilkan berbentuk kombinasi
antara Listbox dan Edit.
Pengguna dapat mengisi data dalam kotak Edit atau memilih sesuai dengan
daftar yang ada. Daftar
pilihan terdapat pada properti ITEMS. Dan pilihan yang dipilih oleh user dapat
diakses melalui properti
TEXT atau ITEMINDEX.
Contoh aplikasi
menggunakan ComboBox
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
41
Kemudian tombol Cari
Harga diisi dengan script berikut :
procedure
TForm1.Tbl_Cari_HargaClick(Sender: TObject);
begin
if
CB_Jurusan.Text='Jakarta' then
E_Harga.Text:='10000'
else
if
CB_Jurusan.Text='Yogyakarta' then
E_Harga.Text:='20000'
else
if
CB_Jurusan.Text='Surabaya' then
E_Harga.Text:='30000'
else
E_Harga.Text:='0';
end;
Jika dieksekusi akan
menghasilkan tampilan seperti di bawah ini
RADIOBUTTON
RadioButton ( ) digunakan
untuk menampilkan sebuah pilihan dimana user dapat mengganti nilainya
dengan True atau False. Radiobutton
digunakan untuk menampilkan sekumpulan pilihan dimana user
hanya boleh memilih satu
pilihan saja. Untuk mengakses apakah sebuah radio button dipilih oleh user,
property yang digunakan
adalah property CHECKED. Jika property CHECKED bernilai True berarti objek
tersebut dipilih oleh
user. Jika anda mempunyai 2 pilihan yang saling terpisah, maka groupkan tiap
pilihanpilihan
tersebut dengan GroupBox.
Contoh aplikasi
menggunakan RadioButton
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
42
Kemudian tombol Cari
Harga diisi dengan script berikut :
procedure
TForm1.Tbl_Cari_HargaClick(Sender: TObject);
begin
if RB_Jakarta.Checked =
True then
E_Harga.Text:='10000'
else
if RB_Yogyakarta.Checked
then
E_Harga.Text:='15000'
else
if RB_Surabaya.Checked
then
E_Harga.Text:='20000'
else
E_Harga.Text:='0';
end;
Jika dieksekusi akan
menghasilkan tampilan seperti di bawah ini
RADIOGROUP
Radiogroup ( ) mempunyai
fungsi yang sama dengan RadioButton. Perbedaannya adalah kalau suatu
pilihan terdiri dari 4
pilihan maka kalau menggunakan RadioButton akan memerlukan 4 objek
RadioButton tetapi jika
menggunakan RadioGroup hanya akan membutuhkan sebuah RadioGroup saja.
Untuk membuat isi pilihan
pada RadioGroup, gunakan property ITEMS. Dan untuk mengakses pilihan
mana yang dipilih oleh
user, gunakan property ITEMINDEX. Jika itemindex bernilai 0 berarti pilihan
pertama yang dipilih,
jika itemindex bernilai 1 berarti pilihan kedua yang dipilih.
Contoh aplikasi
menggunakan RadioGroup
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
43
Kemudian tombol Cari
Harga diisi dengan script berikut :
procedure
TForm1.Tbl_Cari_HargaClick(Sender: TObject);
begin
if RG_Jurusan.ItemIndex =
0 then
E_Harga.Text:='10000'
else
if RG_Jurusan.ItemIndex =
1 then
E_Harga.Text:='15000'
else
if RG_Jurusan.ItemIndex =
2 then
E_Harga.Text:='20000'
else
E_Harga.Text:='0';
end;
Atau jika anda
menggunakan Case
procedure
TForm1.Tbl_Cari_HargaClick(Sender: TObject);
begin
case RG_Jurusan.ItemIndex
of
0:E_Harga.Text:='10000';
1:E_Harga.Text:='15000';
2:E_Harga.Text:='20000';
else
E_Harga.Text:='0';
end;
end;
Jika dieksekusi akan
menghasilkan tampilan seperti di bawah ini
CHECKBOX
CheckBox ( ) digunakan
untuk menampilkan sebuah pilihan dimana user dapat melakukan
perubahan antara Ya/Tidak
atau True/False. Checkbox digunakan untuk menampilkan sekumpulan
pilihan dimana pengguna
boleh memilih lebih dari satu pilihan. Untuk mengakses apakah sebuah
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
44
CheckBox dipilih oleh
user, property yang diakses adalah property CHECKED. Jika property Checked
bernilai True, berarti
Checkbox tersebut dipilih.
Contoh aplikasi
menggunakan CheckBox
Kemudian tombol Cari
Harga diisi dengan script berikut :
procedure
TForm1.Tbl_Cari_TotalClick(Sender: TObject);
var
Total:integer;
begin
Total:=0;
if
CB_Cocacola.Checked=true then
Total:=Total+2500;
if CB_Sprite.Checked then
Total:=Total+2000;
if CB_Fanta.Checked then
Total:=Total+2250;
E_Total.Text:=Inttostr(Total);
end;
Jika dieksekusi akan
menghasilkan tampilan seperti di bawah ini
PERCABANGAN
DENGAN BANYAK KONDISI
Dalam kehidupan seharihari
sangat dimungkinkan pengambilan keputusan berdasarkan kepada lebih
dari 1 kondisi. Mungkin 2
kondisi, 3 kondisi atau lebih.
Untuk percabangan yang
menggunakan banyak kondisi, haruslah menggunakan operator relasional
yaitu or, xor, and.
Contoh Kasus :
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
45
Sebuah Perusahaan
angkutan “Jalan Terus” memiliki ketentuan harga seperti berikut :
Eksekutif
Bisnis Ekonomi
Jakarta 70000
40000 10000
Solo 80000
50000 20000
Surabaya
90000 60000 30000
Karena ada masa promosi
maka khusus untuk Surabaya Ekonomi atau Solo Eksekutif terdapat
diskon 10%.
Dari kasus di atas,
diketahui bahwa ada beberapa percabangan yang diperlukan, yaitu :
Percabangan untuk menentukan harga tiket didasarkan kepada 2
kondisi yaitu Jurusan dan Kelas
yang diambil.
Percabangan untuk menentukan diskon yang hanya diberikan kepada
jurusan dan kelas tertentu.
Penyelesaian untuk kasus
di atas adalah :
Kemudian tombol Hitung
diisi dengan script berikut :
procedure
TForm1.THitungClick(Sender: TObject);
var
jmltiket:integer;
total,harga:real;
begin
jmltiket:=StrToInt(ETiket.text);
if
(RBJakarta.Checked=true)and(RGKelas.ItemIndex=0) then
harga:=70000
else
RadioGroup
GroupBox
RadioButton
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
46
if
(RBJakarta.Checked=true)and(RGKelas.ItemIndex=1) then
harga:=40000
else
if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=2)
then
harga:=10000
else
if (RBSolo.Checked=true)
then
begin
if RGKelas.ItemIndex=0
then
harga:=80000
else
if RGKelas.ItemIndex=1
then
harga:=50000
else
if RGKelas.ItemIndex=2
then
harga:=20000;
end
else
if
(RBSurabaya.Checked=true) then
begin
case RGKelas.ItemIndex of
0:Harga:=90000;
1:Harga:=60000;
2:Harga:=30000;
end;
end;
total:=harga*jmltiket;
if
((RBSurabaya.checked=true) and (RGKelas.ItemIndex=2))
or
((RBSolo.Checked=true)
and (RGKelas.ItemIndex=0)) then
total:=0.9*total;
ETotal.Text:=CurrToStr(total);
end;
VALIDASI
DATA DENGAN STATEMENT IF
Validasi data adalah
suatu proses yang dijalankan agar semua data yang dimasukan sesuai dengan
aturan yang berlaku.
Validasi data sangat penting untuk menjaga jangan sampai komputer menampilkan
keluaran/output yang
salah dikarenakan proses input yang salah.
Validasi data pasti
melibatkan pernyataan IF, karena akan melibatkan penentuan keputusan apakah
data yang dimasukan
merupakan data yang benar atau salah.
Banyak fungsifungsi
yang digunakan dalam validasi data, diantaranya :
TrimLeft, digunakan untuk menghapus spasi yang mengawali (sebelah
kiri) suatu string.
TrimRight, digunakan untuk menghapus spasi yang ada di akhir
(sebelah kanan) suatu string.
Trim, digunakan untuk menghapus spasi yang ada di awal dan
diakhir suatu string.
Copy, digunakan untuk mengambil suatu string dari string lain.
Length, digunakan untuk memeriksa banyak karakter yang ada pada
suatu string.
Uppercase, digunakan untuk mengkonversi semua karakter yang ada
dalam suatu string menjadi
huruf kapital.
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
47
Lowercase, digunakan untuk mengkonversi semua karakter yang ada
dalam suatu string menjadi
huruf kecil.
TryStrToInt, digunakan untuk mengkonversi string menjadi Integer.
Fungsi ini akan menghasilkan
nilai true jika semua
string dapat dikonversi. Jika ada string yang salah maka akan menghasilkan
nilai
false.
TryStrToFloat, digunakan untuk mengkonversi string menjadi Float.
Fungsi ini akan menghasilkan
nilai true jika semua
string dapat dikonversi. Jika ada string yang salah maka akan menghasilkan
nilai
false.
TryStrToCurr, digunakan untuk mengkonversi string menjadi
Currency. Fungsi ini akan menghasilkan
nilai true jika semua
string dapat dikonversi. Jika ada string yang salah maka akan menghasilkan
nilai
false.
Contoh kasus :
Sebuah toko mempunyai
tabel harga dan diskon seperti berikut :
Kode
Nama Barang Harga Barang
A01 Speaker 50000
B02 Mouse 25000
C03 Harddisk 750000
D04 Mouse Pad 5000
SUB
TOTAL
Diskon
>=100000 15%
>=50000 10%
>=25000 5%
<25000 0%
Tampilan yang diinginkan
adalah :
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
48
Ketentuan :
Data yang diinputkan
hanya kode barang dan quantity. Quantity pembelian tidak boleh lebih dari 10.
Data yang
dimasukan harus
divalidasi.
Solusi untuk tombol
Hitung adalah script berikut :
procedure
TForm1.Tbl_HitungClick(Sender: TObject);
var
kode, nama:string;
harga, diskon,
subtotal,total:currency;
qty:integer;
begin
kode:=cbkode.Text;
kode:=trim(kode);
kode:=uppercase(kode);
kode:=copy(kode,1,3);
// Di baris ini, kode
sudah pasti tidak ada spasi di awal dan diakhir
// kode sudah pasti
capital (tidak mempunyai huruf kecil)
// kode pasti 3 huruf
atau kurang
if length(kode)<>3
then
begin
showmessage('Kode harus 3
karakter');
cbkode.SetFocus;
exit;
end;
// Di baris ini, kode
sudah pasti tidak ada spasi di awal dan diakhir
// kode sudah pasti
capital (tidak mempunyai huruf kecil)
// kode pasti 3 huruf
tidak mungkin kurang
if kode='A01' then
begin
harga:=50000;
nama:='Speaker';
end
else
if kode='B02' then
begin
harga:=25000;
nama:='Mouse';
end
else
if kode='C03' then
begin
DIKTAT
PERKULIAHAN PEMROGRAMAN II
BORLAND
DELPHI
49
harga:=750000;
nama:='Hardisk';
end
else
if kode='D04' then
begin
harga:=5000;
nama:='Mouse Pad';
end
else // Jika kode tidak
terdaftar
begin
showmessage('Kode tidak
dikenal');
exit;
end;
if
TryStrToInt(EQty.Text,qty)=false then
begin
showmessage('Quantity
harus angka.');
exit;
end;
// Di baris ini, Qty
pasti bilangan bulat tetapi masih mungkin diatas 10
if (qty<1) or
(qty>10) then
begin
showmessage('Hanya boleh
beli 1 s/d 10 saja');
exit;
end;
// Di baris ini, Qty
pasti bilangan bulat dan pasti berisi 1 s/d 10
ENama.text:=nama;
EHarga.text:=CurrToSTr(harga);
Subtotal:= harga * qty;
ESubTotal.Text:=CurrToStr(subtotal);
if subtotal>=100000
then diskon:=0.15 * subtotal else
if subtotal>=50000
then diskon:=0.1 * subtotal else
if subtotal>=25000
then diskon:=0.05 * subtotal else
diskon:=0;
EDiskon.text:=CurrToStr(diskon);
Total:=Subtotal-Diskon;
ETotal.text:=CurrToStr(Total);
end;

Tidak ada komentar:

Posting Komentar