00.06 | Posted in
Query Atau SQL (Strutured Query Language)


Komponen Query Atau SQL (Strutured Query Language)


9.1. Sekilas Mengenai SQL

SQL adalah bahasa standar untuk query yang difungsikan untuk memanipulasi suatu data pada Database. Hal itu meluputi DDL (Data Definition Language) meliputi pembuatan Data Base ataupun pembuatan tabel dan DML (Data Manipulation Language) meliputi perintah – perintah standar query.

9.2. Dasar – Dasar mengenai Metode SQL

9.2.1. DDL (Data Defenition Language)

a. Membuat Tabel

Pembuatan tabel dengan perintah SQL dapat dilakukan dengan perintah Create diikuti dengan nama tabel dan field yang dibutuhkan

Bentuk Umum

Create table nama_tabel (
Nm_filed1 tipedata1,
Nm_field2 tipedata2,
…………………..
……………………
nm_fieldN tipedataN
);

Contoh

Create table barang (
Kdbarang varchar(5) not null primary key,
Nmbarang varchar(15)
);

9.2.2. DML (Data Manipulation Language)

a. Metode Select

Metode Select digunakan untuk menampikan dan memilih suatu data dengan kondisi ataupun syarat yang sudah ditentukan dari satu atau beberapa tabel sekaligus dalam satu data base.





1. Select Tanpa Syarat

Merupakan perintah pencarian data tanpa diikuti perintah dengan kondisi ataupun persyaratan.
Bentuk Umum

Select Daftar Field From Nama Tabel

Contoh

Select * From barang

Perintah tersebut adalah digunakan untuk menampilkan semua data pada tabel barang. Untuk menampilkan data pada tabel dengan tidak menampilkan semua field pada tabel dengan menggunakan perintah Select diikuti dengan daftar field.

Contoh

Select kdbarang, nmbarang From barang

Perintah yang digunakan untuk menampilkan data Kode Barang dan Nama Barang pada tabel Barang.

2. Select Dengan Syarat

Adalah perintah menampilkan data yang diikuti dengan kondisi yang harus terpenuhi.

Bentuk Umum

Select daftar_field From nama_tabel Where kondisi/persyaratan

Contoh

Select * From barang where kdbarang = ‘A001’;

Adalah menampilkan semua data barang dengan kode barang = A001

Select * From barang where stok <>= 5

Adalah menampilkan seluruh data pada tabel barang untuk harga beli dibawah atau sama dengan 2000 dan Stok diatas sama dengan 5.

Select * From barang where Harga_beli Between 5000 And 10000

Adalah semua data pada tabel barang dengan harga beli diatara 5000 dan 10000

Select * From barang where nmbarang like ‘mei%’

Adalah menampilkan seluruh data dari tabel barang dengan nama barang yang berawalan Mei

Select * From barang where nmbarang Like ‘%mei’

Adalah menampilkan data dari tabel barang dengan nama barang yang berakhiran dengan kata mie.


b. Mengurutkan Data (Order By)

Fungsi ini digunakan untuk menurutkan data berdasarkan kondisi tertentu terhadap hasil Query.

Bentuk Umum

Select daftar_field From nama_tabel order by nama_field metode_pengurutan

Contoh

Select * From barang order by nmbarang ASC

Menampilkan seluruh data barang diurutkan berdasarkan nama barang secara Ascending

c. Mengelompokan Data (Group By)

Fungsi ini digunakan untuk mengelompokan data berdasarkan field terpilih.

Bentuk Umum

Select * From barang Group By kdbarang

Contoh

Select * From barang group by kdbarang

Menampilkan seluruh data barang dengan dikelompokan berdasarkan kode barang.

d. Fungsi Angregasi

Fungsi Agregasi adalah fungsi matematika yang digunakan bersamaan dengan perintah Select. Berbagai macam agregasi yang digunakan bersamaan dengan peritah Select

Fungsi Kegunaan
Count Untuk memperoleh jumlah record hasil Query
Sum Untuk memperoleh total nilai dari suatu field
Avg Untuk memperoleh nilai rata – rata
Max Untuk memperoleh nilai terbesar
Min Untuk memperoleh nilai terkecil
Bentuk Umum

Select Fungsi_agregasi (nama_field) From nama_tabel

Contoh

Select Sum(stok) From barang

e. Query Untuk banyak Tabel

Adalah fungsi Query yang digunakan untuk menampilkan lebih dari satu tabel

Bentuk Umum

Select index1.daftar_field_tabel1, index2.daftar_field_tabel2 From tabel1 index1, tabel2 index2 Where index2.tabel1 = index1.tabel2

Atau

Select Distinct tabel1.daftar_field, tabel2.Daftar_field From tabel1, tabel2 Where tabel1.nama_field = tabel2.nama_field

Contoh

Select Distinct barang.nmbarang, barang.harga_bel, pemasok.nmpemasok, pemasok.alamat From Pemasok, barang Where barang.kdpemasok = pemasok.kdpemasok.

Perintah tersebut akan menampilkan nama barang dari tabel barang, harga beli dari tabel barang, nama pemasok dari tabel pemasok, dan alamat dari tabel pemasok dari tabel pemasok dan tabel barang dengan kondisi dimana kdpemasok di tabel barang sama dengan kode pemasok pada tabel pemasok.

f. Manipulasi Data

Perintah SQL yang digunakan untuk memanipulasi data pada sebuah tabel. Hal ini meliputi = menambah data, mengedit data ataupun menghapus data.

Ada tiga perintah yang sering digunakan untuk perintah SQl dalam hal memanipulasi Data

1. Insert

Perintah SQl yang digunakan untuk menambahkan data pada tabel. Bentuk umum penulisan perintah Insert.

Insert Into nama_tabel (field1, field2, field3,…….fieldn)
Values (nilai1, nilai2, nilai3,……..nilain)

Yang perlu diperhatikan adalah jumlah semua field dengan jumlah nilai yang akan dimasukan adalah sama. Untuk field dengan tipe Alpha (string) maka diantara nilai yang diinput diberikan dengan tanda kutif (‘ ‘).

Contoh

Insert Into barang(kdbarang, nmbarang, hargabeli, hargajual, stok)
Values (‘A001’,’Indomei rasa Soto’,20000,30000,23)

2. Update

Perintah SQL yang digunakan untuk mengedit data yang sudah ada sebelumnya pada tabel.

Update nama_tabel
Set field1 = nilai1, field2=nilai2, field3 = nilai3, ……….. fieldn = nilain)
Where syarat

Contoh

Update barang
Set kdbarang = ‘A001’, nmbarang = ‘Idomie rasa Ayam’, hargabeli = 2000, hargajual = 3000, stok = 34 where kdbarang = ‘A002’

Perintah SQl tersebut diatas adalah mengganti seluruh data yang ada ditabel barang untuk kode barang = A002 menjadi A001.

3. Delete

Perintah SQL digunakan untuk menghapus data yang ada ditabel. Bentuk umum penulisan perintah Delete.

Delete From nama_tabel where syarat (digunakan untuk menghapus record dengan kondisi yang diinginkan).

Atau

Delete From nama_tabel (digunakan untuk menghpus seluruh record pada tabel terpilih)

Contoh

Delete From barang where kdbarang = ‘A001’

Merupakan kondisi dimana ada perintah untuk menghapus data barang untuk kode barang = A001

8.2.3. Penerapan Konsep SQL pada Aplikasi

Penerapan konsep pemograman SQl pada Delphi dapat kita implementasikan dengan dua konsep yaitu dengan konsep Data Base Dekstop dan Konsep pemograman

9.2.3.1 Konsep Database Dekstop

Penerapan konsep ini dengan memanfaatkan jendela dari data base Dekstop dan SQL File.


Langkah - langkahnya

a. Aktifkan Data Base Dekstop
b. Dari Menu File | New | SQL File. Jendela SQL Editor akan ditampilkan



Gambar 10.1 Jendela SQL Editor

a. Dari Menu SQl pilih Select Alias (untuk tabel yang ada dalam folder penyimpanan), sehingga pada layer akan ditampilkan jendela Select Alias.



Gambar 9.2. Jendela Select Alias

b. Dari jendela Select Alias pilih dan aktifkan nama alias yang sudah dibuat sebelumnya (TOKO) . Setelah selesai klik OK.
c. Pada jendela editor tulisakn perintah SQL dan jalankan dengan memilih icon Run SQL.

Untuk mencoba kita gunakan beberapa kasus berikut ini

a. Menampikan semua data barang

Sintaks Penulisan




Hasil




b. Menampilkan Semua Data barang dengan kode pemasok = 01001

Sintaks Penulisan



Hasil



c. Menampilkan kode barang dan nama barang dari tabel barang dengan pengurutan secara descending berdasar nama barang serta mengganti judul kdbarang menjadi KodeBarang.

Sintaks Penulisan









Hasil





d. Menampilkan Semua Data barang untuk stok diantara 34 sampai dengan 56
Category:
��
00.03 | Posted in
Manipulasi Data/Table Master


MANIPULASI DATA/TABEL MASTER


13.1. Program Tambah Data

Konsep program ini meluputi bagaimana proses pencarian data yang digunakan untuk memberikan batasan agar data yang disimpan bukan merupakan data yang sama, proses penyimpanan dan membatlakn penambahan data.

13.2. Event Yang Digunakan

a. findkey : digunakan untuk pencarian data, apakah data sudah ada atau belum.
b. Append : digunakan untuk membuka record kosong pada tabel
c. Post : enent pada tabel ini digunakan untuk menyimpan data pada tabel.
d. Databasename : digunakan untuk memanggil nama data base.
e. Table : digunakan untuk mengaktifkan tabel.
f. Dataset : digunakan untuk menghubungkan antara datasource dengan tabel.
g. Datasource : digunakan untuk menghubungkan grid dengan tabel melalui datasource.

13.3. Aplikasi Tambah Data Barang

a. Hasil Form Setelah Dijalankan



b. Desain Form

c. Desain Properties

Object Properties
Name Caption/text
Edit1 Ekdbarang -
Edit2 Enmbarang -
Edit3 Ehrgbeli -
Edit4 Ehrgjual -
Edit5 Estok -
Label1 Label1 Kode Barang
Label2 Label2 Nama Barang
Label3 Label3 Harga Beli
Label4 Label4 Harga Jual
Label5 Label5 Stok
Button1 Btambah &Tambah
Button2 Bsimpan &Simpan
Button3 Bbatal &Batal
Button4 Bexit &Exit
Object Data Base Name Table Name
Table1 - -
Object Data Set
Data Source1 -
Object Data Source
Dbgrid1 -
Object Active
Query -


d. Listing Program

 Pembuatan Prosedur
Ada 4 prosedur yang dibutuhkan : tampil, hidup, kosong, mati.


Langkah pembuatan

Double klik pada form, ketika berada pada jendela unit dari form tempatkan kursor berada declaration, khusunya pada bagian deklarasi public. Setelah itu ketikan deklarasi prosedur seperti berikut :

public
procedure tampil;
procedure kosong;
procedure mati;
procedure hidup;
{ Public declarations }
end;
Penulisan Program Prosedur

Penulisan program prosedur secara umum sama seperti penulisan program pada umumnya, hanya disini penulisan nama prosedurnya ditulis oleh programmer. Penulisannya terdapat pada bagian implementation.

Program untuk prosedur tampil
Digunakn untuk menampilkan data pada form

procedure tform6.tampil;
begin
ekdbarang.Text := table1['kdbarang'];
enmbarang.Text := table1['nmbarang'];
ehrgbeli.Text := floattostr(table1['hrgbeli']);
ehrgjual.Text := floattostr(table1['hrgjual']);
estok.Text := floattostr(table1['stok']);
end;

Program Untuk Prosedur Mati
Digunakan untuk menonaktifkan semua text box yang ada pada form.

procedure tform6.mati;
begin
ekdbarang.Enabled := false;
enmbarang.Enabled := false;
ehrgbeli.Enabled := false;
ehrgjual.Enabled := false;
estok.Enabled := false;
end;

Program Untuk Prosedur Hidup
Fungsi ini digunakan untuk mengembalikan fungsi edit text, seperti fungsi normalnya.

procedure tform6.hidup;
begin
ekdbarang.Enabled := true;
enmbarang.Enabled := true;
ehrgbeli.Enabled := true;
ehrgjual.Enabled := true;
estok.Enabled := true;
end;




Program Prosedur Kosong

procedure tform6.kosong;
begin
ekdbarang.Text := '';
enmbarang.Text := '';
ehrgbeli.Text := '';
ehrgjual.Text := '';
estok.Text := '';
end;

 Langkah awal menghubungkan semua perangkat tabel untuk mengaktifkan tabel. Perintah ini terdapat pada formcreate.

procedure TForm6.FormCreate(Sender: TObject);
begin
table1.DatabaseName := 'penjualan' ;
table1.TableName := 'barang.db';
table1.Active:= true;
datasource1.DataSet:= table1;
dbgrid1.DataSource := datasource1;
end;

 Program tampil diaktifkan untuk menampilkan data pada edit text box, program digunakan sema form diaktifkan.

procedure TForm6.FormActivate(Sender: TObject);
begin
tampil;
mati;
bsimpan.Enabled := false;
end;

 Program tambah

procedure TForm6.btambahClick(Sender: TObject);
begin
mati;
ekdbarang.Enabled := true;
bsimpan.Enabled := true;
form6.ActiveControl := ekdbarang;
kosong;
end;

 Program Pencarian Data. Control data yang digunakan adalah enter ketika kode barang diinput pada edit text kodebarang.

procedure TForm6.ekdbarangKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if table1.FindKey([ekdbarang.Text]) then
begin
showmessage('Data Sudah ada');
exit;
end
else
hidup;
ekdbarang.Enabled := false;
form6.ActiveControl := enmbarang;
end;
end;

 Program Penyimpanan Data ke Dalam tabel

procedure TForm6.bsimpanClick(Sender: TObject);
begin
table1.Append;
table1['kdbarang'] := ekdbarang.Text;
table1['nmbarang'] := enmbarang.Text ;
table1['hrgbeli'] := strtofloat(ehrgbeli.Text);
table1['hrgjual'] := strtofloat(ehrgjual.Text);
table1['stok']:= strtofloat(estok.Text);
table1.Post;
mati;
end;

 Program Membatalkan penyimpanan data

procedure TForm6.bbatalClick(Sender: TObject);
begin
kosong;
table1.First;
tampil;
mati;
end;

 Program Mengaktifkan data sesuai deengan pilihan pada setiap record pada grid.

procedure TForm6.DBGrid1CellClick(Column: TColumn);
begin
tampil;
end;

 Program untuk menutup form

procedure TForm6.bexitClick(Sender: TObject);
begin
table1.Close;
close;
end;

12.4. Aplikasi Program Edit Dan Hapus Data

a. Hasil Setelah Form Dijalankan



b Desain Form



c. Desain properties

Object Properties
Name Caption/text
Edit1 Ekdbarang -
Edit2 Enmbarang -
Edit3 Ehrgbeli -
Edit4 Ehrgjual -
Edit5 Estok -
Label1 Label1 Kode Barang
Label2 Label2 Nama Barang
Label3 Label3 Harga Beli
Label4 Label4 Harga Jual
Label5 Label5 Stok
Button1 Bedit &Edit
Button2 Bupdate &Update
Button3 Bhapus &Hapus
Button4 Bbatal &Batal
Button5 Bexit &Exit
Object Data Base Name Table Name
Table1 - -
Object Data Set
Data Source1 -
Object Data Source
Dbgrid1 -
Object Active
Query -



d. Listing program

 Program Untuk Prosedur

procedure tform7.tampil;
begin
ekdbarang.Text := table1['kdbarang'];
enmbarang.Text := table1['nmbarang'];
ehrgbeli.Text := floattostr(table1['hrgbeli']);
ehrgjual.Text := floattostr(table1['hrgjual']);
estok.Text := floattostr(table1['stok']);
end;




procedure tform7.kosong;
begin
ekdbarang.Text := '';
enmbarang.Text := '';
ehrgbeli.Text := '';
ehrgjual.Text := '';
estok.Text := '';
end;

procedure tform7.mati;
begin
ekdbarang.Enabled := false;
enmbarang.Enabled := false;
ehrgbeli.Enabled := false;
ehrgjual.Enabled := false;
estok.Enabled := false;
end;

procedure tform7.hidup;
begin
ekdbarang.Enabled := true;
enmbarang.Enabled := true;
ehrgbeli.Enabled := true;
ehrgjual.Enabled := true;
estok.Enabled := true;
end;

 Program Untuk Mengaktifkan Database dan tabel pada form

procedure TForm7.FormCreate(Sender: TObject);
begin
table1.DatabaseName := 'penjualan' ;
table1.TableName := 'barang.db';
table1.Active:= true;
datasource1.DataSet:= table1;
dbgrid1.DataSource := datasource1;
end;





 Program Selama Form Aktif

procedure TForm7.FormActivate(Sender: TObject);
begin
tampil;
mati;
bupdate.Enabled := false;
bhapus.Enabled := false;
end;

 Program untuk button Edit

procedure TForm7.beditClick(Sender: TObject);
begin
mati;
ekdbarang.Enabled := true;
bupdate.Enabled := true;
bhapus.Enabled := true;
form7.ActiveControl := ekdbarang;
kosong;
end;

 Program Pencarian Data

procedure TForm7.ekdbarangKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if not table1.FindKey([ekdbarang.Text]) then
begin
showmessage('Data Belum ada');
exit;
end
else
hidup;
tampil;
ekdbarang.Enabled := false;
form7.ActiveControl := enmbarang;
end;
end;



 Program Update

procedure TForm7.bupdateClick(Sender: TObject);
begin
table1.Edit;
table1['kdbarang'] := ekdbarang.Text;
table1['nmbarang'] := enmbarang.Text ;
table1['hrgbeli'] := strtofloat(ehrgbeli.Text);
table1['hrgjual'] := strtofloat(ehrgjual.Text);
table1['stok']:= strtofloat(estok.Text);
table1.Post;
mati;
end;

 Program hapus Data

procedure TForm7.bhapusClick(Sender: TObject);
begin
table1.Delete;
mati;
table1.First;
end;

 Program Batal

procedure TForm6.bbatalClick(Sender: TObject);
begin
kosong;
table1.First;
tampil;
mati;
end;

 Program Untuk Dbgrid

procedure TForm6.DBGrid1CellClick(Column: TColumn);
begin
tampil;
end;




 Program Menutup Form

procedure TForm6.bexitClick(Sender: TObject);
begin
table1.Close;
close;
end;

Category:
��
23.59 | Posted in
Operator String


Operator String
7.1. Menggabungkan String

menggabungkan string adalah proses merangkai dua karakter atau lebih menjadi satu kalimat atau kata yang baru. Operator string yang dikenal dalam Bahasa Delphi adalah operator dengan symbol ‘+’.

a. Model Penulisan

var
nama : string[20];
saya : string[15];
namasaya : string[50];
Begin
Nama := ‘Nama Saya adalah = ‘;
Saya : = ‘Irnawan’;
Namasaya : = ‘nama+’ ‘+saya;
Ehasil.text : = namasaya;
End.

b. Contoh Program

Hasil yang Diperoleh



Gambar 7.1 Form Penggabungan String
Desain Form



Gambar 7.2 Desain Form Penggabungan String

Desain Properties

Object Caption/Text Name
Label 1 Nama Depan Label1
Label 2 Nama Tengah Label2
Label 3 Nama Akhir Label3
Label 4 Nama Lengkap Label4
Edit1 - Edepan
Edit2 - Etengah
Edit3 - Eakhir
Edit4 - Egabung
Button1 Gabung bgabung


Listing Program

procedure TForm13.bgabungClick(Sender: TObject);
var
depan : string[20];
tengah : string[20];
akhir : string[20];
gabung : string[80];
begin
depan := edepan.Text ;
tengah := etengah.Text;
akhir := eakhir.Text;
gabung := depan+' '+tengah+' '+akhir;
elengkap.Text := gabung;
end;




7.2. Menghapus Teks

Prosedur standart ini digunakan untuk menghapus atau mengurangi sebagian atau seluruh karakter terhadap string atau teks.

Bentuk umum penulisan

Delete(teks, index, jumlah)

Delete adalah prosedur standart yang digunakan untuk menghapus teks. Teks merupakan kalimat atau string yang akan dihapau, Index menunjukan posisi awal yang akan dihapus. Jumlah menunjukan jumlah karakter yang akan dihapus.

a. Hasil Setelah Form Dijalankan



Gambar 7.3 Form Hapus teks

b. Desain Form



Gambar 7.4 Desain Form Hapus teks



c. Desain Properties

Object Caption/Text Name
Label 1 Nama Anda Label1
Label 2 Ketikan urutan mulai penghapusan Label2
Label 3 Jumlah Karakter yang dihapus Label3
Label 4 Nama Sesudah dihapus Label4
Edit1 - Enama
Edit2 - Eurut
Edit3 - Ejumlah
Edit4 - Ehasil
Button1 OK bOK
Button2 Close Bclose
Group Box 1 Rincian Nama Yang Ingin Dihapus Group box 1


d. Listing Program

Program untuk eksekusi perintah penghapusan teks.

procedure TForm9.bokClick(Sender: TObject);
var
karakter:string;
pos,jumlah:integer;
begin
karakter:= enama.Text;
pos := strtoint(eurut.Text);
jumlah := strtoint(ejumlah.Text);
Delete(karakter,pos,jumlah);
ehasil.Text := karakter;
end;

Program untuk keluar dari form

procedure TForm9.bcloseClick(Sender: TObject);
begin
close;
end;

7.3. Mencari Panjang teks (length)

fungsi ini digunakan untuk menghitung panjang atau jumlah karakter dari suatu teks atau kalimat. Dalam menghitung jumlah karakter dalam suatu teks spasi akan dibaca sebagai satu karakter. Sebagai catatan hasil yang diperoleh dari perhitungan adalah bilangan bulat positif.

Bentuk Umum

Length(teks)

Contoh

a. Hasil setelah form dijalankan



Gambar 7.5 Hasil Form Panjang String


a. Desain Form



Gambar 7.6 Desain Form Panjang String

b. Desain properties

Object Caption/Text Name
Label 1 Operasi Standart Length Label1
Label 2 Nama Anda Label2
Label 3 Panjang Karakter dari Nama Anda Label3
Edit1 - Enama
Edit2 - Ehasil
Button1 OK bOK
Button2 Close Bclose

e. Listing Program

Program untuk meneksekusi pencarian panjang karakter

procedure TForm8.bokClick(Sender: TObject);
var
nama:string;
begin
nama := enama.Text ;
ehasil.Text := inttostr(length(nama));
end;

Program Untuk menutup Form

procedure TForm8.bcloseClick(Sender: TObject);
begin
close;
end;

7.4. Mencari Karakter Pada Teks (POS)

Fungsi ini digunakan untuk mencari letak atau posisi dari suatu karakter dari suatu nilai string. Nilai yang dihasilkan adalah berupa byte.

Bentuk umum

Pos(sustr, string);

Contoh

a. Hasil setelah dijalankan



Gambar 7.7 Hasil Form Pencarian Huruf

b. Desain Form


Gambar 7.8 Desain Form Pencarian Huruf

c. Desain Properties

Object Caption/Text Name
Label 1 Operasi Standart Pos Label1
Label 2 Kata Awal Label2
Label 3 Huruf yang Dicari Label3
Label4 Huruf tersebut ada diposisi ke ……
Edit1 - eawal
Edit2 - ecar
Edit3 - ehasil
Button1 OK bOK
Button2 Close Bclose


d. Listing Program

Program untuk eksekusi perintah pencarian

procedure TForm7.bokClick(Sender: TObject);
var karakter : string;
kar : string;
hasil : integer;
begin
karakter:= eawal.Text;
kar:= ecari.Text;
hasil := pos(kar,karakter);
ehasil.Text := inttostr(hasil);
end;




Program Untuk menutup Form

procedure TForm7.bcloseClick(Sender: TObject);
begin
close;
end;
end.

7.5. Mengkopi String (Copy)

Fungsi ini digunakan untuk mencetak ulang string atau karakter sebanyak huruf yang dipilih dengan posisi karakter awal yang sudah ditentukan.

Bentuk Umum

Copy(teks, index, jumlah);

Penulisan awal diawali dengan perintah copy, dengan diikuti teks yang ditunjukan teks. Awal pengcopian ditunjukan dengan index, dan jumlah karakter yang akan di tulis ulang ditunjukan deengan perintah jumlah.

Contoh

a. Hasil setelah form dijalankan



Gambar 7.9 Hasil Form Copy Teks

b. Desain Form



Gambar 7.10 Desain Form Copy Teks
c. Desain Properties

Object Caption/Text Name
Label 1 Operasi Copy Teks Label1
Label 2 Kata Awal Label2
Label 3 Hasil Copy 1 Label3
Label4 Hasil Copy 2 Label4
Edit1 - eawal
Edit2 - Ehasil1
Edit3 - Ehasil2
Button1 OK bOK
Button2 Close Bclose


d. Listing Program

Program untuk mengeksekusi program

procedure TForm6.bokClick(Sender: TObject);
var
karakter:string;
begin
karakter := eawal.Text;
ehasil1.Text := copy(karakter,5,3);
ehasil2.Text := copy(karakter,3,10)
end;

Program untuk menutup Form

procedure TForm6.bcloseClick(Sender: TObject);
begin
close;
end;

7.6. Konversi Karakter ke Ascii (Chr)

Fungsi ini digunakan untuk mengkonversi Kode Acsii menjadi nilai karakter atau huruf.
Bentuk Umum

Chr(karakter);








Contoh

a. Hasil setelah dijalankan



Gambar 7.11 Hasil Form Konvesi Ascii

b. Desain Form



Gambar 7.12 Desain Form Konversi ASCII

c. Desain properties

Object Caption/Text Name
Label 1 Ketikan angka dari kode ASCII Label1
Label 2 Karakter dari kode Ascii tersebut adalah Label2
Edit1 - eangka
Edit2 - ehuruf
Button1 OK bOK
Groupbox1 Konversi dari Angka ke huruf Groupbox1


d. Listing Program

procedure TForm11.bokClick(Sender: TObject);
var
angka : integer;
begin
angka:= strtoint(eangka.Text);
ehuruf.Text := chr(angka);
end;

Category:
��
23.55 | Posted in
Fungsi


FUNGSI


5.1 Pengertian Fungsi

Pengertian secara umum mengenai fungsi adalah merupakan sebuah penggalan program yang terpisah dari program utama dan berfungsi sebagai sebuah program bagian dari program utama. Penulisan fungsi diawali dengan kata cadangan function dan dideklarasikan dalam bagian deklarasi fungsi. Dan penulisan program fungsi ditempatkan pada program utama. Satu ha yang perlu diperhatikan dalam penulisan fungsi adalah harus diikuti dengan tipe datanya.


Bentuk Umum penulisan Fungsi

Fuction indentifier(daftar-parameter) : type;

Contoh

Function hitung(var a,b : real) :real;

Penulisan blok fungsi diawali dengan kata cadangan begin dan diakhiri dengan end;.

5.2. Fungsi Tunggal

fungsi tunggal merupakan suatu fungsi dimana proses pemanggilan dirinya sendiri tanpa melalui fungsi yang lain atau fungsi yang tidak terdapat dalam fungsi yang lain.

Contoh
.
a. Hasil yang diinginkan










b. Desain Form



c. Listing Program Dengan Fungsi

function hitung(var a,b : integer): integer;
begin
hitung := a+b;
end;

procedure TForm10.bjumlahClick(Sender: TObject);
var
x,y : integer;
c : integer;
begin
x := strtoint(enil1.Text);
y := strtoint(enil2.Text);
c:= hitung(x,y);
ehasil.Text := inttostr(c);
end;


Didalam program utama tidak ditempatkan rumus untuk menghitung penjumlahan tetapi ketika dilakukan eksekusi terhadap program dan kita melakukan input nilai 1 dan 2 dan kita klik jumlah maka akan ditampilkan hasil yang diinginkan. Hasil itu diperoleh dari pengiriman nilai dari teks ke nilai pada variabel deprogram utama (x := strtoint(enil1.Text);y := strtoint(enil2.Text);). Selanjutnya nilai pada variabel deprogram utama dikirim ke fungsi hitung untuk mendapat hasil penjumlahan (c:= hitung(x,y);).

5.3. Fungsi Untuk Memanggil Fungsi yang Lain

Merupakan pembuatan program fungsi yang digunakan untuk memanggil program fungsi yang lain didalam satu listing program.





Contoh

a. Hasil Yang Diinginkan




b. Desain Form



c. Desain Properties

Object Caption/Text Name
Label 1 Nama Peminjam Label1
Label 2 Jumlah Uang Pinjam Label2
Label 3 Tingkat Bunga (dalam %) Label3
Label 4 Lama Pinjam Label4
Label5 Besarnya Uang Yang Harus Dikembalikan Label5
Label6 Cicilan Uang Setiap Bulan Label6
GroupBox1 Rincian Nama Anggota Groupbox1
Edit1 - Epeminjam
Edit2 - Epinjam
Edit3 - Ebunga
Edit4 - Elama
Edit5 - Ekembalian
Edit6 - Ecicil
Button1 Total Btotal
Button2 Bersih Bbersih
Button3 Close Bclose



d. Listing Program

 Fungsi Perhitungan Bunga

function pangkat(x,y : real):real;
begin
pangkat := exp(ln(x)*y);
end;
function bunga(e,f,g : real):real;
begin
bunga := e*pangkat((1+f/100),g);
end;

 Program Total

procedure TForm15.btotalClick(Sender: TObject);
var
a,b,c,d,e : real;
begin
a := strtofloat(ejumlah.Text);
b := strtofloat(ebunga.Text);
c := strtofloat(elama.Text);
d := bunga(a,b,c);
ekembalian.Text := floattostr(d);
ekembalian.Text := formatfloat('#.###,0',d);
e := d/c;
ecicil.Text := floattostr(e);
ecicil.Text := formatfloat('#.###,0',e);
end;

 Program Bersih

procedure TForm15.bbersihClick(Sender: TObject);
begin
ejumlah.Text :='';

elama.Text := '';
epeminjam.Text := '';
ebunga.Text := '';
ekembalian.Text :='';
ecicil.Text := '';
end;

 Program Menutup Form

procedure TForm15.bcloseClick(Sender: TObject);
begin
close;
end;

Category:
��
23.52 | Posted in
Operator, Deklarasi Dan Tipe Data


Operator, Deklarasi Dan Tipe Data


2.1 Deklarasi

Dalam setiap penulisan bahasa pemograman deklarasi sangat digunakan apabila dalam penulisan program dibutuhkan indentifier atau tanda pengenal. Indentifier pada umumnya di buat oleh progremmmer yang digunakan untuk mewakili nilai dari suatu object.
Indentifier yang dikenal dalam Delphi adalah label, konstanta, tipe, fungsi, procedure maupun variabel.

2.1.1. Deklarasi Konstanta

Deklarasi konstanta adalah tanda pengenal dalam Delphi yang mempunyai nilai yang sudah tetap. Definisi konstanta diawali dengan kata baku Const diikuti dengan kumpulan indentifier yang diberi sebuah nilai.

Contoh

procedure TForm2.etertulisChange(Sender: TObject);
const
nil1:='30000';
begin
end;

2.1.2. Deklarasi Variabel

Deklarasi variabel adalah tanda pengenal dalam Delphi yang mempunyai nilai yang mana nilai tersebut akan terus berubah selama proses berjalan. Definisi variabel diawali dengan kata baku Var diikuti dengan kumpulan identifier yang diikuti dengan tipe data yang dibutuhkan.

Contoh

procedure TForm2.EpraktekKeyPress(Sender: TObject; var Key: Char);
var
praktek,nil2,nil1 :real;
begin
if (key = #13) then
begin
nil1 := strtofloat(ehtulis.Text);
praktek:= strtofloat(epraktek.Text);
nil2:= 0.4 * praktek;
ehpraktek.Text := floattostr(nil2);
form2.ActiveControl := cmi;
emurni.Text := floattostr(nil1 + nil2);
if nil1 > 60 then
egrade.Text := 'Lulus'
else
egrade.Text := 'Gagal'
end;
end;

2.2 Tipe Data

Secara sederhana tipe data dapat didefinisikan dengan istilah tempat untuk menentukan pemberian nilai terhadap suatu variabel sesuai atau tidak dengan nilai yang diberikan oleh user. Dalam versi lain tipe data juga diartikan sebagai batasan terhadap fungsi tanda pengenal terhadap semua nilai yang diterima. logika yang dapat kita berikan adalah ketika kita menempatkan tanda pengenal harga hanya mengenal angka, maka ketika kita memberikan nilai berupa string maka secara otomatis data tersebut akan ditolak karena nilai tersebut tidak dikenali oleh tipe data yang diberikan.

2.2.1 Tipe Data Numeric Integer

Tipe data integer merupakan tipe data bilangan bulat yang hanya mengenal bilangan decimal. Dimana tipe data Integer tidak mengenal pecahan

Bentuk Umum

Var
Nil1:integer;
Begin
Nil1:=5000;

2.2.2 Tipe Data Real

Tipe data numeric real adalah tipe data dari suatu tanda pengenal selain mengenal bilangan bulat utuh tipe data ini juga mengenal nilai angka yang mengenal pecahan.

Bentuk Umum

Var
Nil:real;
Begin
Nil1:=20,5;




2.2.3 Tipe Data String
Tipe data string merupakan salah satu jens tipe data selain mengenal angak disini tipe data dapat juga mengenla data berupa huruf maupun tanda baca.

Bentuk umum

Var
Nama:string;
Begin
Nama:=’Anton’;

2.2.4 Tipe Data Char

Secara fungsi tipe data char sama dengan tipe data string tetapi dari segi kapsitas ruang diperoleh tipe data char jauh lebih sedikit karena hanya mengenal 1 karakter.


2.3. Dasar umum merancang Program aplikasi berbasis visual
a. Merancang tampilan program (user interface) hal ini meliputi = Form dan toolbox
b. Desain properties. Hal ini digunakan untuk merubah tampilan icon yang asli toolbox agar sesuai dengan tampilan yang tampilan yang diinginkan.
c. Jendela Code Editor , digunakan sebagai media komunikasi antar object pada form dengan system yang ada.

2.4. Mengenal Komponen label, edit & Button



Label Hanya untuk menampilkan Teks

Edit Untuk menampilkan dan input data (1 baris)

Button Digunakan untuk melakukan eksekusi terhadap suatu proses


2.5. Mengenal Operator

Delphi mengenal banyak operator, sama seperti bahasa pemograman yang lain, operator menjadi satu hal penting yang harus ada untuk perancangan program.

2.5.1. Operator Penugasan (assignment Operator)

Symbol operator digunakan untuk melakukan suatu proses atas suatu nilai dengan memberikan nilai baru pada suatu variabel

Lambang operator Penugasan “ := “

Bentuk Umum penulisan

Var := perintah;

Contoh =

A:=”B”;
Label1.caption := “Irnawan”
C:= A + B;

2.5.2. Operator Aritmatika

Operator aritmatika berfungsi untuk melakukan suatu proses aritmatika yang meliputi perkalian, pembagian, penjumlahn, pengurangan maupun pengurangan terhdap suatu nilai variabel yang tersimpan dalam suatu object, dengan memberikan nilai baru.

Symbol yang dikenal dalam delphi

Symbol Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
Div Pembagian Integer
Mod Sisa Pembagian

Contoh
B := 15 + 2; hasil B = 17
B := 15 div 2 B = 7
B := 15/2 B = 7,5
B := 15 * 2 B = 30
B := 15 mod 2 B = 1


2.5.3. Operator String

Digunakan untuk menggabungkan dua teks/string atau lebih.

Symbol yang digunakan = +

Contoh =

Bentuk Umum

A := teks1 + teks2

Contoh
A : = “Aku”;
B := “Bisa”;
C := A + B;
Hasil C = Aku Bisa

2.5.4. Merancang Aplikasi Dengan Delphi

a. Hasil ketika form dijalankan



Gambar 2.1 Form Operator

b. Desain Form



Gambar 2.2 Desain Form Operator

c. Desain Properties

Object Name Caption
Label 1 Label 1 Program pengenalan dasar operator Delphi
Label 2 Label 2 Nilai Praktek I
Label 3 Label3 Nilai Praktek II
Label 4 Label4 Nilai Perhitungan
Label5 Label5 Hasil
Label6 Label6 Hasil
Label7 Label7 Hasil
Label8 Label8 Hasil


Object Name Text
Edit1 Nil1 -
Edit2 Nil2 -
Edit3 Ehtambah -
Edit4 ehkali -
Edit5 Ehbagi -
Edit6 ehkurang -

Object Name Caption
Button1 Btambah Tambah
Button2 Bkali Kali
Button3 Bbagi Bagi
Button4 Bkurang Kurang
Button5 Bclose Close


d. Listing Program

Catatan =
Dalam bahasa pemograman Delphi semua data yang diinput melalui edit box dideklarasikan dengan tipe data string, sehingga ketika kita akan melakukan proses perkalian atau pengurangan kita tidak bisa mengalikan secara langsung edit box yang dimaksud tetap kita perlu merubah menjadi nilai dengan tipe data yang dapat dikalikan.

1. Program Tambah

Digunakan untuk menampilkan hasil penjumlahan antara nilai praktek 1 dengan nilai praktek II, cara double klik pada buton tambah dan tuliskan kode berikut ini =

procedureTForm2.BtambahClick(Sender: TObject);
var
nil1, nil2 : real;
tambah: real;
begin
nil1 := strtofloat(enil1.text);
nil2 := strtofloat(enil2.text);
tambah := nil1 + nil2;
ehtambah.text := floattostr(tambah);
end;



Catatan
Var
Nil1,nil2 : real;
Tambah ; real;

Var digunakan untuk mendeklarasikan suatu nama varibael yag dibuat oleh programmer yang berfungsi untuk menyimpan nilai atau data selama proses program berjalan.

Nil1,nil2 dan tambah adalah nama variabel baru yang dibentuk oleh progrmmer

Real adalah nama dari sekeian banyak tipe data yang dikenal dalam bahasa peograman Delphi. Cakupan tipe data real adalah membaca bilangan angka dalam bentuk decimal.


Strtofloat adalah fungsi yang digunakan merubah nilai dari tipe data string menjadi tipe data numeric.

Floattostr adalah fungsi yang digunakan merubah nilai pecahan menjadi data string.

2. Program untuk kali

procedure TForm2.BkaliClick(Sender: TObject);
var
bil1,bil2:real;
kali : real;
begin
bil1 := strtofloat(enil1.text);
bil2 := strtofloat(enil2.text);
kali := bil1*bil2;
ehkali.text := floattostr(kali);
{ehkali.text := inttostr(strtoint(enil1.text) * strtoint(enil2.text));}
end;

3 Program untuk bagi

procedureTForm2.BbagiClick(Sender: TObject);
var
bil1,bil2 : real;
bagi : real;
begin
bil1 := strtofloat(enil1.Text);
bil2 := strtofloat(enil2.Text);
bagi := bil1/bil2;

ehbagi.Text := floattostr(bagi);
end;

4. Program untuk kurang

procedureTForm2.BkurangClick(Sender: TObject);
var
bil1,bil2,kurang : real;
begin
bil1 := strtofloat(enil1.Text);
bil2 := strtofloat(enil2.Text);
kurang := bil1 - bil2;
ekurang.Text := floattostr(kurang);
end;

5. Program untuk keluar

procedureTForm2.bcloseClick(Sender: TObject);
begin
messageDlg('Ingin Menutup form',mterror, [mbok],0);
close;
end;
Catatan
Messagedlg adalah penggalan program yang digunakan untuk menampilkan kotak pesan.

Close digunakan untuk menutup form.

2.5.5. Latihan Program Pembayaran

a. Form setelah dijalankan



Gambar 2.3 Gambar Toko

b. Ketentuan yang diinginkan pemilik toko

1. Nama barang, harga barang dan jumlah merupakan media input bagi user mengenai detail nama barang, harga barang serta jumlah yang dibeli.
2. Bayar digunakan untuk menampilkan perkalian dari jumlah yang dibeli dengan harga barang, dengan cara mengklik hitung.
3. Untuk menutup form user tinggal mengklik exit, dengan menampilkan pesan untuk user.

Catatan :
1. Untuk Menambah Form Baru pilih dan klik icon New Form
2. Untuk Mengaktifkan Form Yang Pernah Dibuat adalah pilih dan klik View Form , pada jendela View Form pilih form yang ingin diaktifkan dan klik OK
3. Untuk Menjalankan Form yang diinginkan dari beberapa form yang telah dibuat adalah dengan cara pilh Project| option. Pada combo Project Option, pilih dan klik form yang diingikan dengan mengaktifkan Combo Main form. Setelah selesai klik OK.
4. Untuk menyimpan semua project pilih dan klik Save All.

Category:
��
23.48 | Posted in
Contoh Program Pascal If Perhiotungan Gaji


Contoh Penghitungan Gaji

Ketentuan Soal :
1. Nama Di input
2. Jabatan di input ,
Jabatan Gaji Tunjangan
Direktur 3000000 10 % dari gaji
Manager 2000000 5% dari gaji
Karyawan 1000000 2% dari gaji
OB 800000 1% dari gaji

3. Dikenakan PPN 10 % dari gaji
4. Gaji Bersih didapat dari : gaji + tunjangan – PPn

Jawabannya:

Uses crt;
Var nama:string[20];jabatan:string;
Gaji:longint;
Tunj,ppn,gajibersih:real;
Begin
Clrscr;
Write(‘Nama Karyawan : ‘); readln(nama);
Write(‘Masukkan Jabatan : ‘); readln(jabatan);
If (jabatan=’Direktur’) or (jabatan=’direktur’) then
Begin
Gaji:=3000000;
Tunj:=0.1* gaji;
End
Else If (jabatan=’Manager’) or (jabatan=’manager’) then
Begin
Gaji:=2000000;
Tunj:=0.05* gaji;
End
Else If (jabatan=’Karyawan’) or (jabatan=’karyawan’) then
Begin
Gaji:=1000000;
Tunj:=0.1* gaji;
End
Else
Begin
Gaji:=800000;
Tunj:=0.1* gaji;
End;
Writeln(‘Gaji Bersih : Rp.‘,gaji);
Writeln(‘Tunjangan Jabatan : Rp.‘,tunj:9:2);
Ppn:=0.1*gaji;
Writeln(‘PPN 10 % : Rp.‘,ppn:9:2);
Total:=(gaji+total)-ppn;
Writeln(‘Total Gaji : Rp.‘,total:9:2);
Readln;
End.



Contoh Case …Of perhitungan berat dan harga barang


Ketentuan soal :
1. Kualitas Barang di masukkan
Kualitas Harga Per Kg
A/a 1000
B/b 750
C/c 500

Uses crt;
Var
Berat,harga,hargaperkg:integer;
Kualitas:char;
Begin
Clrscr;
Write(‘ Massukkan Kualitas Buah [A/B/C] : ‘); readln(kualitas);
Write(‘ Berapa Kg berat yang di beli : ‘ ); readln(berat);
Case kualitas of
‘A’,’a’: hargaperkg:=1000;
‘B’,’b’: hargaperkg:=750;
‘C’,’c’: hargaperkg:=500;
Else
Begin
Hargaperkg:=0;
Writeln(‘Salah Input’);
End;
End;

Harga:=hargaperkg*berat;
Writeln(‘ Harga Per Kg : Rp.’,hargaperkg);
Writeln(‘ Harga Total : Rp.’,harga);
End.
Belajar Program
Category:
��
23.46 | Posted in
Array PASCAL

Array
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Contoh:
Var
Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.

Contoh Program :
Program Contoh_Array_Input;
Uses Crt;
Var
Bilangan : array[1..50] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]);
Readln;
End.

Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini :
Program Contoh_Deklarasi_Array_Beragam;
Uses Crt;
Var
NPM : array[1..20] of string[10];
Nama : array[1..20] of string[25];
Nilai : array[1..20] of real;
Umur : array[1..20] of byte;
banyak,i : integer;
Begin
ClrScr;
Write('Isi berapa data array yang diperlukan :');Readln(banyak);
For i := 1 to banyak Do
Begin
Write('NPM =');Readln(NPM[i]);
Write('Nama =');readln(Nama[i]);
Write('Nilai=');readln(Nilai[i]);
Write('Umur =');readln(Umur[i]);
End;
{cetak varibel array}
Writeln('NPM NAMA NILAI UMUR ');
For i:= 1 to banyak Do
Begin
Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3);
End;
Readln;
End.

Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini :
Type
Angka = String[20];
Var
Nama : Array [1..50] of Angka;
Begin
.
.
End.

Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real.
Contoh:
Var
Nilai : Array[1..10] of Integer;
pada contoh ini array nilai mempunyai 10 buah elemen yaitu dari 1 sampai 10. Array tersebut dapat dideklarasikan dengan type seperti berikut ini :

Type
Skala = 1..10;
Var
Nilai : Array [skala] of Integer;
atau :
Type
Skala = 1..10;
Y = Array[skala] of Integer;
Var
Nilai : Y;
atau :
Type
Y = Array[1..10] of Integer;
Var
Nilai : Y;
atau :
Const
Atas =1;
Bawah = 5;
type
Y = Array[Atas..Bawah] of Integer;
Var
Nilai : Y;

I. Deklarasi Type Indeks Skalar
Indeks dari larik dapat berupa tipe skalar.
Contoh. :
Program Deklarasi_Indeks_Array_Skalar;
Uses Crt;
Var
Jum : Array[(jan,feb,mar,apr,mei)] of Integer;
Begin
Jum[jan]:=25;
Jum[feb]:=45;
Jum[mar]:=21;
Jum[apr]:=23;
Jum[mei]:=50;
Writeln('Jumlah nilai bulan maret =',Jum[mar]);
Readln;
End.
dapat juga ditulis :
type
Bln = (jan,feb,mar,apr,mei);
Var
Jum : Array[bln] of Integer;
atau :
type
Bln =(jan,feb,mar,apr,mei);
Var
Jum : Array[jan..mei] of Integer;

II. Deklarasi Konstanta Array
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi variabel, tetapi dapat juga berupa konstanta (const).
Contoh Program :
Program Contoh_Deklarasi_Array_Konstan;
Uses Crt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var
i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut.
Contoh Program :
Program Contoh_Konstan_Array_Char_;
Uses Crt;
Const
Huruf : Array[0..5] of Char=('A','B','C','D','E','F');
Var
i : Integer;
Begin
For i:= 0 to 5 Do
Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]);
Readln;
End.
Konstanta array dapat juga berupa string seperti berikut ini.
Contoh Program :
Program Constanta_Array_String;
Uses Crt;
Type
A = Array [1..5] of String;
Const
Nama : A = ('basic','pascal','cobol','paradox','dbase');
Var
i : Integer;
Begin
For i:= 1 to 5 Do
Writeln('Nilai Array ke-',i:2,'= ',Nama[i]);
readln;
end.

Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut :
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses Crt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.

contoh program bilangan prima dengan menggunakan bantuan array.
Contoh program :
Program Mencari_Bilangan_Prima_Dengan_Array;
Uses Crt;
Var
Prima : Array[1..100] of Integer;
i,j : Integer;
bil : Integer;
Begin
ClrScr;
For i := 2 to 100 Do
Begin
Prima[i]:=i;
For j:= 2 to i-1 Do
Begin
bil := (i mod j); {* i dibagi j dicek apakah 0*}
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
End;
If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*}
End;
Readln;
End.

Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat dilihat pada contoh dibawah ini :
Contoh Program :
Program Penggunaan_Array_Untuk_Sortir_Buble_Sort;
Uses Crt;
Var
nil1 : Array[1..100] of Integer;
n,i,j,dum : Integer;
Begin
ClrScr;
Write('mau isi berapa data acak (integer) ='); readln(n);
For i := 1 to n Do
Begin
Write('Data Ke ',i,':');Readln(nil1[i]);
End;
{* penyapuan proses}
for i:= 1 to n-1 do
begin
for j:= i to n do
begin
if nil1[j]
begin
dum:=nil1[j];
nil1[j]:=nil1[i];
nil1[i]:=dum;
end;
end;
end;
writeln;
writeln('Hasil Sortir');
for i := 1 to n do
write(nil1[i]:3);
readln;
end.


III. Array Dua Dimensi
Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
1 2
1 2 3
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat pada listing program dibawah ini .

Contoh Program:
Program Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.


IV. Alternatif Deklarasi Array Dua Dimensi.
Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut dapat dilihat dibawah ini :
Contoh :
Var
Tabel : Array[1..3] of Array[1..2] of Byte;
atau :
Type
Matrik = Array[1..3,1..2] of Byte;
Var
Tabel : Matrik;
atau :
Type
Baris = 1..3;
Kolom = 1..2;
Matrik = Array[Baris,Kolom] of Byte;
Var
Tabel : Matrik;
atau :
Type
Baris = 1..3;
Kolom=1..2;
Matrik= Array[Baris] of Array[Kolom] of Byte;
Var
Tabel : Matrik;
Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi penjumlahan matrik :
Contoh Prorgam:
Program Penjumlahan_Matrik;
Uses Crt;
Var
Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
{ input matrik ke satu }
Writeln(' Elemen matrik satu');
For i := 1 to 3 Do
Begin
For j := 1 to 2 Do
Begin
Write('Elemen baris -',i,' Kolom -',j,'= ');
Readln(matrik1[i,j]);
End;
End;
{input matrik ke dua}
Writeln('input elemen matrik dua');
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write('Elemen baris -',i,' kolom -',j,'= ');
Readln(matrik2[i,j]);
End;
End;
{proses penjumlahan tiap elemen}
For i := 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j];
End;
End;
{proses cetak hasil}
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write(Hasil[i,j]:6);
End;
Writeln;
End;
Readln;
End.


V. Array Sebagai Parameter
Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value) atau secara acuan (by reference) ke procedure atau ke function. Procedure yang menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure yang menyebutkan parameternya bertipe array.

Contoh Program :
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure;
Uses Crt;
Const
Garis ='---------------------------------------------------';
Type
Untai = Array[1..10] of String[15];
Bulat = Array[1..10] of Integer;
Huruf = Array[1..10] of Char;
Var
i,Banyak : Integer;
Procedure Proses(Nama:Untai;Nilai:Bulat);
Var
Ket : String;
Abjad : Char;
Begin
Writeln(Garis);
Writeln('Nama Nilai Abjad Keterangan');
Writeln(Garis);
For i := 1 to Banyak Do
Begin
If Nilai[i] > 90 Then
Begin
Abjad:='A';
Ket :='Istimewa';
End;
If (Nilai[i]<90)>70) Then
Begin
Abjad:='B';
Ket :='Memuaskan';
End;
If (Nilai[i]<70)>60) Then
Begin
Abjad:='C';
Ket :='Cukup';
End;
If (Nilai[i]<60)>45) Then
Begin
Abjad:='D';
Ket :='Kurang';
End;
If Nilai[i]< 45 Then
Begin
Abjad:='E';
Ket :='Sangat kurang';
End;
Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15);
End;
Writeln(Garis);
End;
Procedure Masuk_Data;
Var
Nama : Untai;
Nilai : Bulat;
Begin
Write('Banyak data =');Readln(Banyak);
For i:= 1 to Banyak Do
Begin
ClrScr;
Writeln('Data ke - ',i);
Write('Nama =');readln(Nama[i]);
Write('Nilai =');readln(Nilai[i]);
End;
Proses(Nama,Nilai);
End;
{modul Utama}
Begin
Masuk_Data;
Readln;
End.
Category:
��
23.44 | Posted in

Perulangan & Penyelesaian Kondisi
Materi
1. Bentuk – bentuk Perulangan

Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan dan percabangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok statement berulang kali sesuai
sejumlah yang ditentukan pemakai. Dalam materi ini akan memberikan gambaran konsep dasar dari pengertian diatas.

a) Perulangan For.
Perulangan dengan statemen For digunakan untuk mengulang statemen atau suatu blok statemen berulang kali. Perulangan dengan statemen For dapat berupa perunlangan positif dan perulangan negatif.

• Perulangan For positif
contoh : perulangan positif untuk satu statement :
Uses Crt;
Var
i : Integer;
Begin
For i := 1 To 5 Do Writeln ('I Love Dinda’);
END.
Maka bila program diatas dicompile
hasilnya :
I Love Dinda
I Love Dinda
I Love Dinda
I Love Dinda
I Love Dinda
Penjelasan : Berati statemen I Love Dinda akan diulang sebanyak 5 kali yaitu dengan menghitung nilai i dari i ke 1 sampai nilai i terakhir yaitu i ke 5.

# Contoh dengan menggunakan blok statement: cara penulisannya dengan pada awal blok diawali dengan Begin dan pada akhir blok diakhiri dengan End;
Uses Crt;
Var
i : Integer;
Begin
For i:= 1 To 10 Do
Begin
Writeln ('I Love Dinda'); { blok statement }
End;
End.
Hasil yang akan didapat akan sama dengan contoh yang pertama, tapi yang harus diingat disini untuk penggunaan blok pada perulangan For biasanya mempunyai banyak statement [lebih dari 1 statement]


# Contoh 3 : Penggunaan perulangan For dalam blok statement untuk membuat tabel

Uses Crt;
Var
a,b,c : Integer;
bagi : Real;
Begin
Writeln('----------------------------------------------');
Writeln(' a a*a a*a*a 1/a ');
Writeln('----------------------------------------------');
For a := 1 To 10 Do
Begin
b:= a*a;
c:=a*a*a;
bagi := 1/a;
Writeln(a:4,c:10,d:10,bagi:12:3);
End;
Writeln ('----------------------------------------------');
End.
maka hasilnya :
----------------------------------------------
a a*a a*a*a 1/a
----------------------------------------------
1 1 1 1.000
2 4 8 0.500
3 9 27 0.333
4 16 64 0.250
5 25 125 0.200
6 36 216 0.167
7 49 343 0.143
8 64 512 0.125
9 81 729 0.111
10 100 1000 0.100
----------------------------------------------
• Perulangan For negatif : Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil.

Statement yang digunakan adalah For-DownTo-Do
contoh :
Uses Crt;
Var
i : Integer;
Begin
For i := 10 DownTo 1 Do Write (i:3);
End.
Hasil :
10 9 8 7 6 5 4 3 2 1

• Perulangan For tersarang
Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
Contoh :
Var
a,b : Integer;
Begin
For a := 1 To 3 Do
Begin
For b := 1 To 2 Do Write (a :4,b:2);
Writeln;
End;
End.
Hasil :
1 1 1 2
2 1 2 2
3 1 3 2

• Perulangan While - Do
Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari kondisi yang diseleksi tersebut. Perulangan While – Do tidak dilakukan jika kondisi tidak terpenuhi.
Contoh :
Uses Crt;
Var i : Integer;
Begin
i := 0;
While < i="5;">25; { berhenti jika b lebih besar dari 5 untuk
perulangan dalam }
a:=a+1;
Until a>3; { berhenti jika a lebih besar dari 3 untuk
perulangan luar }
Writeln(' =======================================');
End.

• Percabangan

 If - Then
Bentuk struktur If – Then adalah sebagai berikut :
If Kondisi Then Statement
Ungkapan adalah kondisi yang diseleksi oleh statement If. Bila kondisi yang diseleksi terpenuhi, maka statement yang mengikuti Then akan diproses, sebaliknya bila kondisi tidak terpenuhi, maka yang akan diproses statement berikutnya.
Misalnya :
If Pilihan = 2 Then
Begin{ jika kondisi terpenuhi, Yaitu jika pilihan = 2 }
......
......
End
Else{ jika kondisi tidak terpenuhi, yaitu jika pilhan tidak sama dengan 2}
Begin
.......
.......
End;
Contoh Program :
Uses Crt;
Var
Nilai : Real;
Begin
Write ('Jumlah Nilai :');
Readln (nilai); { Pemasukan data }
If nilai > 60 Then { seleksi kondisi variabel nilai }
Writeln('Lulus') { Dilaksanakan jika nilai lebih besar dari 60 }
Else
Writeln('Tidak lulus'); { Dilaksanakan jika variabel nilai lebih kecil dari 60 }
End.
Hasil :
Jika kita Memasukan 40 pada varibel nilai, Maka program diatas akan mencetak Tidak lulus.

 If tersarang (nested If)
Struktur If tersarang merupakan bentuk dari suatu statement If berada di dalam lingkungan statemen If yang lainya. Bentuk statement If tersarang sebagai berikut :

If kodisi1 Then atau If Kondisi1 Then
If kondisi2 Then Begin
statemen1 IF kondisi2 Then
Else statemen1
statemen2; Else
statemen2
End;

 Case - Of
Struktur Case – Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector.
Statement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai selector akan diproses sedang statemen yang lainya tidak.

Bentuk struktur dari Case - Of:

Case Variabel Kondisi Of
Case – Label 1; Statement 1;
Case – Label 2; Statement 2;
Case – Label 3; Statement 3;
Case – Label 4; Statement 4;
........
........
Case – Label n ; Statement n ;
End ; { end dari case }

Daftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real.
Contoh program ;
Program nilai;
Var
nil : Char ;
Begin
Write ('Nilai Numerik yang didapat :');
Readln (nil);
Case nil Of
'A': Writeln ('Sangat Baik’);
'B': Writeln('Baik’);
'C': Writeln('Cukup');
'D': Writeln('Kurang');
'E': Writeln('Sangat Kurang');
End;
End.
hasil : Nilai Numerik yang didapat : B Input Baik
Contoh Listing Program untuk Dicoba

1. Program input data dengan array.
Program Pemakaian_Array_Untuk_10_data_dengan_menggunakan_For;

Uses Crt;
Const
garis='------------------------------------------------------';
Var
nil1,nil2 : Array [1..10] Of 0..100; {Array dgn Type subjangkauan}
npm : Array [1..10] Of String [8];
nama : Array [1..10] Of String [15];
n,i,bar : Integer;
jum : Real;
tl : Char;
Begin
ClrScr;
{ pemasukan data dalam array }
Write ('Mau Isi Berapa Data:');
Readln (n);
For i:= 1 To n Do
Begin
ClrScr;
GotoXY(30,4+1); Write('Data Ke-:',i:2);
GotoXY(10,5+i); Write('NPM :'); Readln (npm[i]);
GotoXY(10,6+i); Write('Nama :'); Readln (nama[i]);
GotoXY(10,7+i); Write('Nilai 1 :'); Realdn(nil 1[i]);
GotoXY(10,8+i); Write('Nilai 2 :'); Readln(nil 2[i]);
End;
{ proses data dalam array }
ClrScr;
GotoXY(5,4); Write(Garis);
GotoXY(5,5); Write ('No');
GotoXY(9,5); Write ('NPM');
GotoXY(18,5); Write ('Nama');
GotoXY(34,5); Write ('Nilai 1');
GotoXY(41,5); Write ('Nilai 2');
GotoXY(47,5); Write ('Rata');
GotoXY(54,5); Write ('Abjad’);
GotoXY(5,6); Write (Garis);
{ proses Cetak isi array dan seleksi kondisi }
bar := 7;
For i:= 1 To n Do
Begin
jum:=(nil1[i]+nil2[i])/2;
If jum>= 90 Then tl:='A'
Else
If jum>80 Then tl:='B'
Else
If jum>60 then tl:='C'
Else
If jum 50 Then tl:='D'
Else
tl:='E';
{ cetak hasil yang disimpan di array dan hasil }
{ penyeleksian kondisi }
GotoYX(5,bar); Writeln(i:2);
GotoYX(9,bar); Writeln (NPM[i]);
GotoYX(18,bar); Writeln (NAMA[i]);
GotoYX(34,bar); Writeln (NIL1[i]:4);
GotoYX(41,bar); Writeln (NIL2[i]:4);
GotoYX(47,bar); Writeln (jum:5:1);
GotoYX(54,bar); Writeln (tl);
bar:=bar+1;
End;
GotoXY(5,bar+1);Writeln(garis);
Readln;
End.

2. Program jendela bergerak.
Program Window_Bergerak_dgn_delay;
Uses Crt;
Var i : Integer;
Begin
For i:=1 To 15 Do
Begin
Sound (i*100);
Delay (100);
NoSound;
End;
TextBackGround(black);
ClrScr;
For i := 1 To 9 Do
Begin
TextBackGround(white);
Window (42-i*4,10-i,38+i*4,15+i);
ClrScr;
Delay(100);
End;
TextColor(15);
GotoXY(28,2);Writeln('c');
GotoXY (8,3); Writeln ('3');
GotoXY (28,4); Writeln ('A');
TextColor(black);
GotoXY (44,3); Writeln ('3');
GotoXY (44,2); Writeln ('&');
TextColor (29,4); Writeln ('U');
TextColor (red*25);
GotoXY (30,3); Writeln ('B E L A J A R');
TextColor (black);
GotoXY (5,5); Write('c');
For i := 6 To 64 Do
Begin
GotoXY (i,5); Writeln ('');
End;
For i := 6 To 20 Do
Begin
GotoXY(5,i); Writeln('3 ');
End;
GotoXY (5,21); Writeln (' ');
TextColor(white);
GotoXY(65,5); Write('U');
For i := 6 To 65 Do
Begin
GotoXY (i,21); Writeln(' `);
End;
For i := 6 To 20 Do
Begin
GotoXY(65,i); Writeln('3');
End;
GotoXY (65,21); Writeln ('c');
TextColor(yellow);
Readln;
End.





Soal Latihan
Buatlah program untuk soal dibawah ini dengan tampilan sebagus mungkin (gunakan perintah Window, Textcolor dll). Jumlah suku sesuai dengan input dari keyboard.
1. Buat deret hitung 3,7,11,15,......................=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
2. Buat deret ukur 3,9,27,................................=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
3. Buat tabel deret bergoyang 1,-2,4,-8,...........=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
4. Buat deret suku harmonis 1,1/2,1/3,.............=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
5. Buat deret fibbonaci 1,1,2,3,5,.....................=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
6. Buat deret seperti berikut 1,-2,3,-4,.............=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
7. Buat deret kuadrat 1, 4, 9,............................=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
8. Buat deret seperti berikut 100, 90, 70 ,...........=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
9. Buat deret seperti berikut 256, 196, 144,............=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
10. Buat deret seperti berikut 1, 1, 1, 2, 2, 3, 6, 4, 24, 5..........=?
Program akan berhenti jika pada pertanyaan "Hitung Lagi [Y/T] ?" diisi huruf T.
11. Buatlah program untuk mencari faktorial, sesuai dengan input yang diminta.
12. Buatlah program huruf yang berjatuhan sehingga membentuk suatu kalimat yang telah diinput dari keyboard .



Percabangan


3.1. Operator Percabangan

percabangan adalah merupakan operator yang digunakan untuk menentukan pilihan terhadap beberapa pilihan yang ada.

Dalam bahasa pemograman Delphi mengenal dua operator per cabangan

3.1.1. Percabangan If

merupakan operator percabangan yang digunakan untuk menentukan pilihan atas beberapa kondisi yang merupakan syarat terhadap pilihan yang sudah ditentukan.

Ada dua model percabangan if

a. Percabangan untuk kondisi pilihan tunggal

Merupakan operator percabangan yang digunakan untuk menentukan sebuah pilihan dengan kondisi tunggal

Bentuk Umum

If Syarat then hasil;

Contoh

If Nilai > 80 then keterangan = ‘Lulus’;

b. Percabangan untuk kondisi majemuk

Merupakan operator percabangan yang digunakan untuk menentukan pilihan dengan kondisi yang harus dipeuhi lebih dari satu.


Bentuk Umum

If Syarat1 then
Hasil1
Else
If syarat2 then
Hasil2
Else
…………….
……………
end;


Contoh
If nilai > 80 then
Grade = “A”
Else
if nilai > 70 then
grade = “B”
else
if nilai > 60 then
grade = “C”
else
grade = “E’;

3.1.3. Percabangan case

case of adalah merupakan metode lain dari sebuah percabangan, berfungsi sama seperti fungsi if yaitu untuk melakukan seleksi atas beberapa pilihan dengan kondisi sebagai syarat yang harus terpenuhi. Secara fungsi scee dan if tidak ada perbedaan tetapi untuk penulisan fungsi case lebih mudah diterapkn untuk pilihan atau kondisi lebih dari satu.

Bentuk Umum fungsi Case OF

Case of
; hasil1;
; hasil2;


;hasil3;
………………………
; hasiln;
end;

atau fungsi case of bisa juga diberikan else untuk piliahn terakhir.

Bentuk Umum

Case of
; hasil1;
; hasil2;
;hasil3;
………………………
else
hasiln;
end;

Contoh

Case Bilangan of
1:showmessage(‘Angka 1’);
2:showmessage(‘Angka 2’);
3:showmessage(‘Angka 3’);
end;

3.2. Mengenal Object II (combo box, list box dan radio button)

1
Checkbox Digunakan untuk menentukan pilihan lebih dari satu
2
Radio Button Digunakan untuk menentukan pilhan, tetapi hanya satu pilhan yang bisa digunakan
3
List Box Menmpilkan pilihan dalam bentuk list
4
Combo Box Menampilkan pilihan dalam bentuk popup


3.3. Merancang Program dengan fungsi IF

a. Hasil Yang Diperoleh



Gambar 3.1 Gambar Perhitungan Gaji
Ketentuan Perhitungan Gaji

1. Dalam Struktur organisasi perusahaan ketentuan gaji perusahaan terbagi menjadi 3 struktur utama

Jabatan Gaji Pokok
Direktur 5000000
Manager 3000000
Karyawan 1000000

2. Besarnya tunjangan ditentukan oleh status kep

b. Desian Form



Gambar 3.2. Desain Form Gaji

c. Desain Properties

Object Name Caption
Label 1 Label1 Nama Pegawai
Label 2 Label2 Jabatan
Label 3 Label3 Gaji Pokok
Label 4 Label4 Tunjangan Status
Label5 Label5 Gaji Bersih
GroupBox GroupBox1 Status
RadioButton1 Rtetap Tetap
RadioButton2 Rhonorer Honorer
Object Name Text
Edit1 enama -
Edit2 epokok -
Edit3 etunjangan -
Edit4 ebersih -
Combo Box Cjabatan -


Object Name Caption
Button1 Btotal Total Gaji
Button2 Blagi Isi Data Lagi
Button3 Bclose Close






d. Listing Program

 Memberikan pilihan pada combo box sesuai dengan piihan pada jabatan

Dengan Menggunakan Object Properties

Langkah – langkahnya
1. aktifkan combo box yang akan dipilih
2. pada properties pilih dan klik item, lalu klik command (…)



3. Pada jendela String list Editor, Seperti terlihat pada jendela berikut













4. Ketikan kata sebagai kata pilihan pada jendela seperti contoh tersebut diatas.
5. Setelah selesai klik OK

Melalui jendela code editor
Double click pada form, sebarang tempat dan ketikan program berikut ini.

procedureTForm1.FormCreate(Sender: TObject);
begin
cjabatan.Items.Add('Direktur');
cjabatan.Items.Add('Manager');
cjabatan.Items.Add('Karyawan');
end;

 Program untuk mencari gaji pokok
1. Aktifkan combo box untuk jabatan
2. Pada pada jendela properties pilih event,
3. pilih dan aktifkan onclick, Seperti yang terlihat seperti gambar berikut ini.





4.





5. Double click pada combo onclick.
6. Ketikan program berikut ini

procedure TForm3.cjabatanClick(Sender: TObject);
begin
if cjabatan.Text = 'Direktur' then
epokok.Text := '5000000'
else
if cjabatan.Text = 'Manager' then
epokok.Text := '2000000'
else
if cjabatan.Text = 'Karyawan' then
epokok.Text := '1000000'
else
epokok.Text := '0'
end;

 Program menghitung Tunjangan Karyawan Tetap
Double click pada option tetap dan ketikan program berikut ini

procedure TForm3.etetapClick(Sender: TObject);
begin
if etetap.Checked = true then
a := strtofloat(epokok.Text);
hasil :=a*0.3;
etunjangan.Text := floattostr(hasil)
end;

 Program menghitung Tunjangan Karyawan Honorer
Double click pada option honorer dan ketikan program berikut ini

procedure TForm3.rhonorerClick(Sender: TObject);
begin
if rhonorer.Checked = true then
a := strtofloat(epokok.Text);
hasil :=a*0.1;
etunjangan.Text := floattostr(hasil)
end;

 Program menghitung Gaji Bersih
Double click pada command total gaji, dan ketikan program berikut ini :

procedure TForm3.btotalClick(Sender: TObject);
begin
a := strtofloat(epokok.Text);
b := strtofloat(etunjangan.Text);
c := a+b;
ebersih.Text := floattostr(c);
end;

 Program bersih
Double click pada Isi Data Lagi, dan ketikan program berikut ini

procedure TForm3.blagiClick(Sender: TObject);
begin
cjabatan.Text := 'Jabatan';
enama.Text := '';
ebersih.Text := '0';
etunjangan.Text := '0';
epokok.Text := '0';
etetap.Checked := false;
rhonorer.Checked := false;
end;

 Program Close dengan pesan, seperti tampilan sebagai berikut.



Gambar 3.3 Form Pesan

procedure TForm3.bcloseClick(Sender: TObject);
begin
if (application.MessageBox('Anda Yakin akan keluar','Informasi',MB_YESNO)= IDYES)then
close
end;



3.4. Program Biaya Ujian

Buatlah program untuk mencari biaya ujian untuk calon siswa pada suatu perguruan tinggi.

Tampilan yang diinginkan adalah sebagai berikut













Ketentuan Pencarian Biaya
1. Nilai murni didapat dari penjumlahan (nilai Prkatek * 60%) ditambah (Nilai Teori * 40 %).
2. Keterangan = Gagal jika nilai murni <>= 60
3. Biaya perjurusan diperoleh dari dua pilihan jurusan yang ada:
1. jika pilhan MI maka biayanya = 250000
2. jika pilihan TK maka biaya = 300000
4. Pilihan Biaya Waktu Ujian diperoleh dari 2 waktu kuliah yang ada.
Jika pilihan pagi maka biaya kuliah = 50000, 1000000 untuk biaya kuliah malam.
5. Total biaya diperoleh dari penjumlahan Semua jurusan ditambah biaya waktu kuliah.
6. Isi data lagi untuk mengulang input data
7. close untuk mentup program.

Category:
��
23.41 | Posted in

Stetemen-statemen pada Turbo Pascal

Nah, sekarang anda sudah masuk ke bab statement pemrograman ….selamat mencoba… Reserved Word Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah terintergrated dalam pascal dan juga mempunyai bentuk serta kegunaan tertentu yang telah didefinisikan oleh Pascal. Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat digunakan sebagai pengenal (Identifier). Dalam bahasa pemrograman Pascal, beberapa Reserved Word dalam Pascal anatra lain:
AND DOWNTO IN OF STRING
ASM ELSE INHERITED OR THEN
ARRAY END INLINE PACKED TO
BEGIN EXPORTS INTERFACE PROCEDURE TYPE
CASE FILE LABEL PROGRAM UNIT
CONST FOR LIBRARY RECORD UNTIL
CONSTRUCTOR FUNCTION MOD REPEAT USES
DESTRUCTOR GOTO NIL SET VAR
DIV IF NOT SHL WHILE
DO IMPLEMENTATION OBJECT SHR WITH
.
Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved Word berikut:
ABSOLUTE ASSEMBLER () FAR FORWARD INDEX

Beberapa Statemen Turbo Pascal
Statemen adalah perintah untuk pengerjaan program pascal. Statemen terletak di bagian deklarasi statemen dengan diawali oleh kata cadangan BEGIN dan diakhiri dengan kata cadangan END. Akhir dari setiap statemen diakhiri dengan titik koma [;]. Statemen statemen dalam bahasa Pascal terdiri dari pernyataan yang berupa fungsi dan prosedur yang telah disediakan sebagai perintah standar Turbo Pascal.

1. Statemen-statemen yang digunakan untuk input/output.

# Read/Readln [prosedur]. Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu variabel.
Sintaks: Read/Readln(x); (ingat, selalu diakhiri dengan titik koma [;])
Keterangan : x = variabel.
Read = pada statemen ini posisi kursor tidak pindah ke baris selanjutnya.
Readln = pada statemen ini posisi kursor akan pindah ke baris selanjutnya setelah di input.

# ReadKey [fungsi]. Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang dihasilkan adalah char.
Sintaks: ReadKey;

# Write/Writeln [prosedur]. Digunakan untuk menampilkan isi dari suatu nilai variable dilayar.
Sintaks: Write/Writeln(x);
Keterangan : x = variabel.
Write/Writeln= statement ini digunakan untuk mencetak variable ke dalam monitor
Contoh :
Program input;
Uses Crt;
Var nm : String;
npm : String;
Begin
Clrscr;
Writeln ('masukkan nama dan NPM ');
Writeln ('------------------------------');
Write ('nama anda : ');
Readln (nm);
Writeln ('NPM anda : ');
Readln (npm);
End.
Bila dijalankan hasilnya adalah:
masukkan nama dan NPM
------------------------------
nama anda : ( di input )
NPM anda : ( di input )

2. Statemen-statemen yang digunakan untuk pengaturan letak layar.

# ClrScr [prosedur]. Perintah ini digunakan untuk membersihkan layar.
sintaks: ClrScr; [Clear screen]

# GotoXY[prosedur]. Untuk menempatkan posisi kursor pada layar.
Sintaks: GotoXY(X, Y: Byte);
Keterangan : X = sumbu X (posisi horisontal)
Y = sumbu Y (posisi vertikal)

# DelLine [prosedur]. Untuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris dibawahnya.
Sintaks: DelLine;

# InsLine [prosedur]. Untuk menyisipkan sebuah baris pada posisi kursor dan menggeser kebawah tampilan-tampilan baris dibawahnya.
Sintaks: InsLine;

# Delay [prosedur]. Untuk menghentikan sejenak proses program.
Sintaks: Delay (MS: Word);
Keterangan : variable MS = ukuran waktu dalam milisecond.
Contoh :
Program Layar;
Uses Crt;
Var x : Char;
Begin
ClrScr;
GotoXY(35,10);Writeln (‘I Love Dinda');
Write (tunggu sebentar...!!');
Delay (5000);
InsLine;
GotoXY (35,11);Writeln ('Bayi sehatku');
GotoXY(01,13);Writeln ('Tekan Enter !');
Delay(1000);
GotoXY(15,12);
DelLine;
Read(x);
End.
Hasilnya adalah :
I Love Dinda
Bayi sehatku
tunggu sebentar...!!
Tekan Enter !

3. Statemen yang digunakan untuk memanipulasi string.

# ConCat[fungsi]. Untuk menggabungkan 2 atau beberapa variabel string.
Sintaks: ConCat (s1 [,s2,...,sn]: String) : String;
contoh: ConCat ('ABC','DEF') { ABCDEF }

# Copy [fungsi]. Mengambil satu atau beberapa karakter dari sebuah string.
Sintaks: Copy (S,Index,Count) : String;
Keterangan : S = sebuah string (string).
Index = posisi awal kita akan mengambil beberapa karakter (integer)
Count = banyaknya karakter yang akan diambil (integer).

# Delete [prosedur]. Menghapus sebagian karakter dari sebuah string.
Sintaks: Delete (S,Index,Count);
Keterangan : sama dengan statemen Copy.

# Insert [prosedur]. Menyisipkan satu atau beberapa karakter ke dalam sebuah string.
Sintaks: Insert (Source,var S,Index);
Keterangan : Source = sumber string untuk disisipi (string)
var S = string tujuan yang akan disisipi oleh string Source (string)
Index = posisi mulai (integer).

# Length [fungsi]. Memberikan nilai panjang dari suatu string (jumlah karakter dalam string).
Sintaks: Length (S);
Keterangan : S = string
Length(S) menghasilkan nilai integer.

# Pos [fungsi]. Mencari posisi sebuah bagian string (substring) didalam sebuah string.
Sintaks: Pos (Substr,S); {menghasilkan nilai Byte}
Keterangan : Substr = substring yang akan dicari posisinya didalam sebuah string S. Bila bernilai 0 berarti nilai string yang dicari tidak ada.

# Str [prosedur]. Merubah nilai numerik ke dalam nilai string.
Sintaks: Str (N,S);
Keterangan :
N = data tipe integer,
S = data tipe string.

# Val [prosedur]. Merubah nilai string ke dalam nilai numerik.
Sintaks: Val (S,N,P);
Keterangan :
S = nilai string,
N = nilai real,
P = posisi salah.
Nilai string harus berisi angka, plus atau minus, bila tidak berarti kesalahan dan letak kesalahannya ditunjukkan oleh variabel posisi salah. Jika benar, maka nilai variabel tsb = 0 (nol).

# UpCase [fungsi]. Memberikan huruf kapital dari argumen.
Sintaks: UpCase (S);
Keterangan :
S = variabel bertipe karakter.
Contoh :
Program Man_String;
Uses Crt;
Var s : String;
l : Integer;
h : String;
Const a='Dinda';
b='Bayi ';
c='Sehatku';
Begin
ClrScr;
s:= ConCat (a,b,c);
Writeln (s);
Insert (' & ',s,6);
Writeln(s);
Delete (s,7,7);
Writeln (s);
h:=Copy (s,1,5);
Writeln (h);
l:= Length(s);
Writeln ('Panjangnya string S : ',l);
Writeln ('Posisi "Sehat" pada nilai S : ',POS('Sehat',s));
END.
Hasilnya adalah :
DindaBayiSehatku
Dinda & Bayi Sehatku
Dinda Sehatku
Dinda
Panjangnya string S : 16
Posisi "Sehat" pada nilai S : 7

4. Statemen-statemen untuk perhitungan aritmatik.

# Abs [fungsi]. Memberikan nilai mutlak dari suatu argumen.
Sintaks: ABS(x);

# ArcTan[fungsi]. Memberikan nilai dari fungsi arctangent dari perhitungan goniometri.
Sintaks: ArcTan (x); ‘dimana x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.’

# Cos [fungsi]. Memberikan nilai dari fungsi Cosinus.
Sintaks: Cos (x);

# Exp [fungsi]. Menghitung nilai pangkat dari bilangan e (bilangan alam),yaitu sebesar x.
Sintaks: Exp (x); ‘x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real. ‘

# Frac [fungsi]. Untuk mendapatkan nilai pecahan dari suatu bilangan.
Sintaks: Frac (x); ‘Tipe dari x sama seperti yang diatas. ‘

# Int [fungsi]. Memberikan nilai integer (bilangan bulat) dari suatu variabel dengan membuang bilangan di belakang koma.
Sintaks: Int (X);

# Ln [fungsi]. Digunakan untuk menghitung nilai logaritma alam (natural logarithm) dari nilai x.
Sintaks: Ln (x);

# Sin [fungsi]. Memberikan nilai dari fungsi Sinus.
Sintaks: Sin (x);

# Sqr [fungsi]. Digunakan untuk menghitung nilai pangkat kuadrat dari suatu bilangan.
Sintaks: Sqr (x);
Tipe dari x bisa berupa real maupun integer. Dan hasilnya akan sama dengan tipe dari x.

# Sqrt (fungsi). Digunakan untuk menghitung nilai akar dari suatu bilangan.
Sintaks: Sqrt (x);
Contoh :
Program Aritmatik;
Uses Crt;
Var x : Real;
Begin
Clrscr;
Write('Masukkan nilai dari X = ');
Readln (x);
If x <0 x =" ',x:5:2);" eksponentialnya =" ',EXP(x):9:3);" alamnya =" ',LN(x):9:3);" integernya =" ',INT(x):5:2);" fraksionalnya =" ',FRAC(x):5:2);" dipangkatkan =" ',SQRT(x):9:3);" diakarkan =" ',SQRT(x):9:3);" sinus =" ',Sin(x):9:3);" cosinus =" ',Cos(x):9:3);" tangen =" ',ArcTan(x):9:3);" x =" -2.5" x =" 2.50" eksponensialnya =" 12,182" alamnya =" 0,196" integernya =" 2.00" fraksionalnya =" 0.50" dipangkatkan =" 6.250" diakarkan =" 1.581" sinus =" 0.598" cosinus =" -0.801" tangen =" 1.190"> 0,5 maka dibulatkan keatas.
contoh : Writeln('10/3 dibulatkan = ',Round(10/3));
hasilnya : 10/3 dibulatkan = 3

# TRUNC [fungsi]. Membulatkan kebawah data tipe real ke data tipe longint.
Sintaks: Trunc (x);
contoh : Writeln('20/3 dibulatkan kebawah = ',Trunc (20/3));
hasilnya : 20/3 dibulatkan kebawah = 6

6. Statemen-statemen untuk memanipulasi data.

# Pred [fungsi]. Memberikan nilai sebelum nilai argumen dalam urutannya dalam ASCII.
Sintaks: Pred (x);

# Succ [fungsi]. Memberikan nilai sesudah nilai argumen dalam urutannya dalam ASCII.
Sintaks: Succ (x);

# Inc[fungsi]. Menambah (increments) nilai suatu variabel.
Sintaks: Inc (x,i); {i >= 1}

# Dec [fungsi]. Mengurangi (decrements) nilai suatu variabel.
Sintaks: DEC(x,i); {i >=1}

Contoh :
Progam Man_Data;
Uses Crt;
Type
hari = (hr0,hr1,hr2,hr3,hr4,hr5,hr6,hr7)
Var
urutanhr : hari;
Const
namahr : Array [hr1..hr7] of String [6]=('Senin','Selasa','Rabu','Kamis','Jumat','Sabtu','Minggu');
Begin
Writeln('Daftar Nama Hari);
urutanhr := hr0;
While Urutanhr < hr7 DO
Begin
urutanhr := Succ(urutanhr);
Write('hari ke ',Ord(Urutanhr):2,' adalah ');
Writeln(namahr[urutanhr]);
End;
End.
hasilnya adalah :
Daftar Nama Hari
hari ke 1 adalah Senin
hari ke 2 adalah Selasa
hari ke 3 adalah Rabu
hari ke 4 adalah Kamis
hari ke 5 adalah Jumat
hari ke 6 adalah Sabtu
hari ke 7 adalah Minggu

7. Statemen-statemen tambahan (warna,suara dan window).

# TextColor [prosedur]. Untuk mengatur warna dari karakter-karakter di layar.
Sintaks: TextColor (color : Byte);
Catatan : untuk pilihan warna lihat pada buku Turbo Pascal yang anda miliki.
Daftar TextColor :
(2) Hijau Muda (3)Hijau pupus (4)Merah
(5)Ungu Tua (6) Kuning (7)Putih
(8)Biru Tua (9)Biru Cerah (10)Hijau Muda
(12)Merah Muda (13)Ungu Cerah (14)Kuning Muda
(15) Ungu Pupus (16)Hitam

Daftar TextColor dengan Blink :
(17)Biru Tua (18)Hijau Muda (19)Hijau Pupus
(20)Merah (21)Ungu Tua

# TextBackGround [prosedur]. Untuk mengatur warna latar belakang dari karakter-karakter dilayar.
Sintaks: TextBackGround (Color : Byte);

# Window [prosedur]. Untuk membuat suatu jendela (window) yang terletak pada layar.
Sintaks: Window (x1,x2,y1,y2 : Byte);
x1,x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar.
y1,y2 = kordinat kanan bawah dengan nilai maksimal sesuai dengan mode layar.

# TextMode [prosedur]. Untuk mengatur lebar layar, 80 kolom atau 40 kolom.
Sintaks: TextMode(Mode: Byte);
Default = C80

# Sound [prosedur]. Untuk mengaktifkan suara (beep) pada internal speaker.
Sintaks: Sound (Hz : word);
Untuk mengnonaktifkannya, gunakan statemen NoSound.
Contoh :
Program Layar2;
Uses Crt;
Begin
ClrScr;
Window (5,5,20,75);
TextBackGround(Red); ‘anda juga bisa menggunakan angka (4)
TextColor(Yellow);
Sound (220);
GotoXY(10,7);
Writeln('I Love Dinda');
GotoXY(11,7);
Writeln('Bayi Sehatku');
NoSound;
End.
Sebagai Latihan dari teori-teori yang sudah anda pelajari diatas, coba anda kerjakan soal-soal dibawah ini .

Soal Latihan
1. Soal I
Buatlah program dibawah ini dengan tampilan menggunakan perintah Window, TextColor, Blink TextColor, Textbackground, GotoXY, dan Sound untuk memperindah tampilan.
1. Mengubah derajat temperatur, dari derajat Celcius ke derajat Fahreinheit dan Reamur (derajat Celcius diinput)
2. Menghitung Luas dan Keliling lingkaran, dengan jari-jari diketahui (diinput).
3. Menghitung Luas dan Keliling segitiga sembarang yang diketahui ke tiga sisinya.
4. Mencari nilai Sinus, Cosinus, dan Tangen dengan sudut diinput.
5. Mencari akar dan kuadrat dari suatu nilai (nilai diinput).
6. Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui keyboard (diinput). Nilai pecahan tersebut dibulatkan sampai 3 angka dibelakang koma (,).
7. Tampilkan nama dan NPM anda di dalam window, dan terletak pada tengah-tengah layar.
8. Tampilkan tulisan 'I Love Dinda’ di dalam window pada pojok kanan atas dengan ukuran window sama dengan tulisan tersebut.
2. Soal II
Buatlah program pada soal jenis I (no. 1-6) dengan tampilan menggunakan 2 window. Window yang pertama digunakan untuk nilai yang diinput. Window yang kedua untuk hasil dari program (output).
3. Soal III
1. Buatlah program untuk menggabungkan 2 buah kata yang diinput. Setiap kata yang diinput harus berada didalam window yang dan hasilnya berada pada window yang berbeda pula.
2. Buatlah program untuk menampilkan window secara acak dengan warna yang berbeda.
Category:
��
23.27 | Posted in
Mengenal Tampilan Turbo Pascal
PENDAHULUAN

Menu Turbo Pascal
Turbo Pascal memiliki 7 buah menu utama yang terdiri dari : File, Edit, Run, Compile, Options, Debug, dan Break / Watch. Untuk memilih salah satu dari menu itu anda bisa menekan tombol Alt + F (untuk memanggil menu file), atau menekan Alt + [huruf pertama dari menu].
Jika anda ingin kembali ke menu utama anda bisa saja menekan tombol F10, untuk pindah dari menu satu ke menu yang lain anda juga bisa menekan panah kanan atau panah kiri. Contohnya ketika anda berada di menu File maka untuk pindah ke menu Compile anda cukup menggunakan tombol panah kanan atau panah kiri , dan anda juga bisa langsung menekan huruf C. Untuk menutup menu anda bisa menggunakan tombol Esc. Sebetulnya akan lebh mudah jika memanggil sebuah menu dengan menggunakan hotkey, table dibawah ini adalah hotkey yang digunakan dalam turbo pascal :
Kunci Fungsi Ekivalen menu
F1Mengaktifkan jendela pertolongan. File / Save
F2Menyimpan berkas yang ada pada editor. File / Load
F3 Memanggil program kedalam editor. Run / Go to cursor
F4 Mengeksekusi program sampai posisi kursor. Run / Trace into
F5 Memperbesar atau memperkecil jendela yang aktif. Compile / Make
F6 Mengganti jendela yang aktif.File / Pick
F7 Melacak kedalam subrutin. File / user screen
F8 Melompati pemanggil subrutin. Compile
F9 Mengaktifkan perintah ‘Make’Run / Program reset
F10 Berpindah dari menu-menu ke jendela yang aktif.
Alt + F1 Memanggil jendela pertolongan yang terakhir dibaca.
Alt + F3 Memilih berkas untuk dimuat.
Alt + F5 Memperlihatkan hasil eksekusi.
Alt + F6 Mengganti isi jendela yang aktif.
Alt + F9 Mengkompilasi program.
Alt + B Mengaktifkan menu Break / Watch.
Alt + C Mengaktifkan menu compile.
Alt + D Mengaktifkan menu debug.
Alt + E Mengaktifkan editor.
Alt + F Mengakaktifkan menu file.
Alt + O Mengaktifkan menu option.
Alt + R Mengaktifkan menu run.
Alt + X Keluar dari Turbo Pascal dan kembali ke DOS.
Ctrl + F1 Menampilkan menu pertolongan bahasa.
Ctrl + F2 Menghentikan pembetulan.
Ctrl + F3 Menampilkan isi tumpukan.Debug / Call Stack
Ctrl + F4 Melakukan penghitungan atau mengubah nilai peubah..Debug / Evaluate
Ctrl + F7 Menambahkan ungkapan pada jendela watch. .B / Add Watch
Ctrl + F8 Toggles Breakpoint..B / Toggle breakpoint
Ctrl + F9 Menjalankan program..Run / Run
Ctrl + F10 Menampilkan versi layar monitor.

Nah, itu tadi adalah beberapa hotkey yang ada pada Turbo Pascal, sekarang kita langsung aja yah mempelajari menu di Turbo Pascal ini.

1. Menu File : Didalam menu File banyak submenu yang bisa dipilih misalkan saja perintah Load / F3 yang berfungsi untuk memanggil berkas yang sudah tersimpan, dan banyak lainnya.
2. Submenu Load : Pilihan ini digunakan untuk memanggil program dari suatu folder atau directory ke dalam editor. Didalam submenu ini anda juga bisa memilih submenu yang lain dengan hanya menekan tombol huruf depan dari submenu yang dituju, contohnya anda mau ke submenu New, maka anda tinggal menekan huruf N.
3. Submenu Pick : Pilihan yang satu ini digunakan untuk mengambil salah satu dari beberapa buah program yang sebelumnya telah dimuat ke dalam jendela Edit. Hal ini ditujukan agar kita tidak perlu repot-repot lagi mencarinya di submenu load.
4. Submenu New :Program yang ada di editor akan dihapus dan program yang akan anda tulis dianggap sebagai program yang baru dengan nama NONAME.PAS, nama ini bisa anda rubah ketika anda mau menyimpannya.
5. Submenu Save [F2] : Pilihan ini digunakan untuk menyimpan suatu program yang sudah di edit ke dalam cakram atau folder, jika nama program itu masih NONAME.PAS maka Turbo Pascal akan menanyakan pada anda, nama apa yang akan anda berikan pada program yang akan disimpan tersebut. Atau anda juga bisa menekan tombol F2.
6. Submenu Write to : pilihan ini digunakan untuk menggantikan program lama dengan program yang baru (istilah kerennya Overwrite…☺). Jika nama program anda sudah ada pada cakram atau folder maka ada verifikasi dari Turbo Pascal untuk penggantian nama.
7. Submenu Directory : pilihan ini digunakan untuk menampilkan direktori dan nama-nama file yang anda inginkan. Anda juga bisa menggunakan pilihan Load.
8. Submenu Change Dir : Pilihan yang satu ini digunakan untuk menampilkan direktori yang sedang digunakan dan juga bisa digunakan untuk mengganti nama direktori yang baru.
9. Submenu OS shell : Perintah ini digunakan bagi anda yang ingin ke tampilan DOS tetapi tanpa mematikan Turbo Pascalnya, untuk kembali lagi ke Turbo Pascal, anda tinggal mengetikan “exit”, tetapi biasanya ketika anda sedang membuat suatu program atau mengedit suatu program perintah ini tidak dapat dijalankan karena kurangnya kapasitas memory.
10. Submenu Quit [Alt + x] : Dari namanya sudah jelas, perintah ini digunakan untuk keluar dari Turbo Pascal dan kembali ke prompt DOS.

11. Menu Edit : Perintah edit ini digunakan untuk mengaktifkan editor Turbo Pascal.
12. Menu Run [Ctrl + F9] : Perintah ini digunakan untuk mengeksekusi program yang sudah anda buat. Anda juga bisa menekan Ctrl + F9 untuk mengeksekusi program anda.
13. Submenu Program Reset [Ctrl + F2] : Pilihan ini digunakan untuk memberitahukan Turbo Pascal bahwa anda selesai dengan pembetulan-pembetulan dan menginisialisasi debugger untuk operasi yang lain. Pilihan ini sekaligus membebaskan pengingat yang telah dialokasikan dan menutup semua berkas, tetapi tidak merubah nilai-nilai perubah. Pilihan ini sangat berguna jika anda ingin menjalankan pilihan File / OS shell.
14. Submenu Go to Cursor [F4] : Pilihan ini digunakan untuk memulai / melanjutkan eksekusi program dimulai dari posisi saat eksekusi dimulai sampai tempat kursor berada. Jika kursor berada pada statement yang bersifat executable, seperti spasi atau baris komentar, maka eksekusi akan dilanjutkan sampai statement yang bersifat executable.
15. Submenu Trace Into [F7] :Perintah ini digunakan untuk mengeksekusi baris berikutnya, jika ada pemanggilan ke suatu subrutin, maka pelacakan akan dimulai dari statement pertama dari subrutin tersebut. Sekaligus juga akan memuat berkas-berkas atau unit Include jika dimungkinkan.
16. Submenu Step Over : Step over ini memiliki cara kerja yang hampir sama dengan Trace Into, hanya saja jika statement adalah sebuah prosedur atau fungsi, maka keseluruhan subrutin akan dikerjakan sekaligus dan debugger akan berhenti pada statement sesudah pemanggilan ke subrutin.
17. Submenu User screen [Alt + F5] : Pada umumnya perintah ini digunakan untuk melihat hasil dari program yang telah compile dan kita run. Pada tampilan ini IDE [Integrated Debugger Environment] berpindah-pindah pada saat anda menjalankan dan mendebug program. Perintah ini juga digunakan oleh File / OS shell.

Tampilan User Screen

18. Menu Compile [Alt + F9] : Perintah ini digunakan untuk mengkompile program atau bisa juga kita bilang kalau program yang telah kita buat tadi dengan bahasa pascal di terjemahkan kedalam bahasa komputer agar si komputer ini mengerti apa-apa saja perintah kita.
19. Submenu Make : Pilihan ini digunakan untuk mengaktifkan perintah make, jika file yang primer telah diberi nama, maka file ini akan dikompilasi, jika tidak maka file yang terakhir yang sedang dimuat di editor akan dikompilasi.. Pilihan ini sangat berguna jika terdapat beberapa program yang secara fisik terpisah tetapi secara logikanya merupakan suatu kesatuan.
20. Submenu Build : Perintah ini mirip dengan perintah make, hanya saja perintah build ini sifatnya bebas, sedangkan perintah make hanya akan mengkompilasi file-file selain file yang digunakan.
21. Submenu Destination [Memory] : Perintah ini secara umumnya hanya berfungsi untuk memilih apakah hasil kompilasi akan disimpan dalam cakram atau folder sebagai file yang bertipe .EXE atau hanya di pengingat utama yang akan hilang pada saat anda keluar dari Turbo Pascal.
22. Submenu Find Error : Dari namanya anda pasti sudah tahu, yah perintah ini digunakan untuk menentukan lokasi kesalahan pada saat program dijalankan [run time error]. Lokasi kesalahan dinyatakan dengan format seg:off, misalnya 2BE0:FFD4. jika anda kembali ke IDE, turbo pascal akan menempatkan kursor pada baris dimana terjadi kesalahan. Jika anda terlanjur memindahkan kursor sembarangan maka anda bisa memindahkan kembali kursor ke tempat kesalahan dengan menekan Ctrl + Q + W.
23. Submenu Primary File : Perintah ini digunakan untuk menyatakan bahwa file .PAS akan dikompilasi pada saat make [F9] atau build [Alt + C + B] diaktifkan.
24. Submenu Get info : Tidak salah lagi, perintah ini digunakan untuk menampilkan jendela informasi dari program .PAS yang sedang anda gunakan, termasuk ukuran kode sumber [dalam sumber dan baris], ukuran file .EXE atau .TPU dalam byte dan data
25. Menu Options : Pilihan pada menu yang satu ini berfungsi mengkonfigurasi untuk mengoptimalkan penggunaan fasilitas-fasilitas pada turbo pascal.
26. Submenu Compiler : Pilihan ini didalamnya pun masih banyak perintah yang lainnya seperti pengecekan batas, pengecekan tumpukan dll, seperti yang anda lihat pada gambar di atas. contohnya pengecekan batas [Range checking] adalah sama dengan {$R}. sekarang saya akan coba jelaskan satu persatu agar lebih jelas dari masing-masing penggunaan ini.
27. Range checking [Off]: Perintah ini digunakan untuk menghidupkan atau mematikan pengecekan batas. Jika dihidupkan, kompiler akan membangkitkan kode yang akan mencek batas index pada array dan string dan juga nilai yang dihasilkan dalam suatu statement pemberian. Pilihan ini sama dengan petunjuk kompiler {$R}.
28. Stack checking [On]: Digunakan untuk menghidupkan atau mematikan pengecekan kesalahan operasi I/O. Jika dihidupkan pada saat terjadi kesalahan operasi I/O proses akan langsung dihentikan. Jika dimatikan, kode kesalahan akan tersimpan dalam fungsi IO Result. Pilihan ini sama dengan penunjuk kompiler {$I}.
29. Force far calls [Off]: Digunakan untuk memilih model pemanggilan terhadap prosedur atau fungsi yang telah dikompilasi. Model pemanggilan bisa secara far atau near. Pilihan ini sama dengan penunjuk kompiler {$F}.
30. Allign Data [Word] : Digunakan untuk mengatur cara penyimpanan perubah dan konstanta bertipe dari byte ke word atau sebaliknya. Pilihan ini sama dengan penunjuk kompiler {$A}.
31. Overlay Allowed [Off] : Mengaktifkan atau menonaktifkan pembakitan kode Overlay. Pilihan ini sama dengan penunjuk kompiler {$O}.
32. Var string checking [Strict] : Digunakan untuk mengendalikan cara pengecekan data string yang digunakan sebagai parameter berubah. Pilihan sama dengan penunjuk kompiler {$V}.
33. Boolean Evaluation [Short Circuit] : Digunakan untuk memilih pembangkitan kode pada saat operasi logika [operasi Boolean] dijalankan. Pilihan ini sama dengan penunjuk kompiler {$B}.
34. Numeric Processing [Software] : Digunakan untuk memilih pembangkitn kode operasi titik mengambang [floating point] yang didukung oleh Turbo Pascal. Pilihan ini juga sama dengan penunjuk kompiler {$N}
35. Emulation [On] : Mengaktifkan atau menonaktifkan linking dengan run – time yang mengemulasikan ke prosessor numeric 8087. pilihan ini sama dengan penunjuk kompiler {$E}
36. Debug Information [On] : Digunakan untuk membangkitkan atau tidak membangkitkan informasi pada saat didalam program terjadi kesalahan. Pilihan ini sama dengan penunjuk kompiler {$D}.
37. Local Symbol [On] : Digunakan untuk mengaktifkan atau menonaktifkan symbol informasi local.
38. Conditional defines: Digunakan untuk menyatakan penunjuk kompiler berkondisi.
39. Memory sizes: Digunakan untuk mengkonfigurasi peta pengingat. Dengan penunjuk kompiler{$M}.
40. Stack Size: ukuran segmen tumpukan maksimum 64 K dengan standart 16 K.
41. Low Heap limit: ukuran heap minimum standart adalah 0 K.
42. High Heap limit: ukuran heap maksimum adalah 655360 byte.
43. Submenu Linker Pilihan ini digunakan untuk mengatur konfigurasi built in linker.
44. Map File [Off] : Menentukan berapa banyak informasi dalam berkas peta map yang akan dihasilkan. Berkas peta akan ditempatkan dalam direktori .EXE dengan akhiran .MAP
45. Segment : Informasi segment [Nama, Ukuran, Awal dan Akhir segment dan kelasnya].
46. Public : Informasi segment, semua nama-nama symbol dan alamatnya dan titik masukkan program.
47. Detailed : segement, informasi symbol dan titik masukkan program dan nomor barisnya dan tabel-tabel modul.
48. Submenu Environment Pilihan ini digunakan untuk memberitahukan Turbo Pascal dimana bisa ditemukan berkas yang akan dikompilasi, di link dengan dilengkapi dengan menu-menu pertolongan.
49. Config Auto Save [Off] : Digunakan untuk mencegah kehilangan setting komfigurasi yang telah anda lakukan.
50. Edit Auto Save [Off] : Digunakan untuk mencegah kehilangan berkas yang disebabkan oleh penyimpanan otomatis pada saat anda menggunakan Run / Step Over atau Run / Run.
51. Backup Files [On] : Secara standard, turbo pascal akan membangkitkan berkas backup pada saat anda menyimpan berkas. Yang biasa kita lihat dengan .BAK
52. Tab Size [2] : Digunakan untuk mengatur ukuran Tab pada editor. Ukuran yang diperbolehkan adalah 2 sampai 16 dengan defaultnya 8.
53. Zoom Windows [Off] : Jika di On kan maka, Jendela Edit, Watch, dan Output akan diperluas sampai satu layar penuh.
54. Screen Size [25 line] : Digunakan untuk memilih ukuran layar. Dengan standard 25 baris, 43 baris [EGA] atau 50 baris [VGA]. Pilihan ini hanya bisa diaktifkan jika perangkat kerasnya mendukung.
55. Submenu Directories : Pilihan menu ini digunakan untuk menunjukkan kepada Turbo Pascal lokasi setiap direktori yang diperlukan.
56. Turbo directory : Digunakan untuk menemukan berkas konfigurasi [.TP] dan berkas pertolongan [Turbo.HLP].
57. EXE & TPU directory : Digunakan untuk menyimpan berkas .EXE dan .TPU.
58. Include Directories : Digunakan untuk menentukan direktori yang berisi Include File.
59. Unit Directories : Digunakan untuk memberitahu TP dimana berkas-berkas unit berada.
60. Object Directories : Digunakan untuk menentukan direktori yang berisi berkas [.OBJ].
61. Pick file name : Digunakan untuk menentukan nama dan lokasi pick file.
62. Current pick file : Digunakan untuk menunjukkan nama dan lokasi pick file, jika ada.
63. Submenu Parameters : Digunakan untuk memberikan parameter baris perintah [Command Line parameters] pada program-program yang akan dijalankan.
64. Submenu Save Option : Digunakan untuk menyimpan semua pengaturan dalam menu Compiler, Environment, dan Directories dalam berkas konfigurasi [standardnya adalah TURBO.TP]
65. Submenu Retrieve Options :Digunakan untuk memuat berkas konfigurasi yang sebelumnya disimpan dengan pilihan save.
66. Menu Debug : Pilihan-pilihan yang ada dalam menu ini terutama digunakan untuk melacak nilai-nilai perubah, mencari letak suatu fungsi atau prosedur dan lain-lain.
67. Submenu Evaluate [Ctrl + F4] : Dengan pilihan ini anda akan dibawa ke suatu jendela dengan 3 kotak yang memungkinkan anda untuk menuliskan sembarang nama perubah / ungkapan, menunjukan nilai perubah / ungkapan saat itu an memungkinkan anda untuk memberikan nilai yang baru untuk sembarang perubah.
68. Submenu Call Stack [Ctrl + F3] : Pada saat anda melakukan debugging, suatu jendela yang menunjukan daftar pemanggil prosedur dan fungsi akan terlihat.
69. Submenu Find Procedure : Memungkinkan anda untuk menuliskan nama prosedur dan fungsi dan kemudian mencari dalam program yang sedang anda aktifkan.
70. Submenu Integrated Debugging [On] Jika dipilih On, debugging dilakukan menggunakan IDE.
71. Submenu Stand Alone Debugging [Off] Jika diset Off, dan compile / destination dipilih ke Disk debug information akan ditambahkan ke dalam berkas .EXE untuk digunakan oleh Turbo Debugger.
72. Submenu Display Swapping [Smart] Penampilan pada layar bisa dipilih salah satu dari 3 pilihan, Smart, Always atau Never.
• Smart : debugger akan melihat kode yang sedang dieksekusi untuk melihat apakah perlu menampilkan hasilnya ke layar.
• Always : pilihan ini akan menyebabkan layar dipindah setiap kali suatu statement dieksekusi.
• Never : pilihan ini akan memberitahukan debugger untuk tidak melakukan pemindahan layar.
73. Submenu Refresh Display : Pilihan ini digunakan untuk memanggil kembali layar IDE. Hal ini perlu, terutama jika program anda merusak tampilan yang sudah ada dalam layar.

Menu Break / Watch
74. Submenu Add Watch [Ctrl + F7] : Digunakan untuk menambahkan rinci data, perubah atau ungkapan kedalam jendela watch.
75. Submenu Delete Watch : Untuk menghapus ungkapan dalam jendela Watch pada saat jendela ini terlihat.
76. Submenu Edit Watch : Pilihan ini akan membawa posisi watch ke kotak input sehingga anda bisa mengubahnya.
77. Submenu Remove All Watches : Menghapus semua rinci dalam jendela watch sekaligus memperkecil ukurannya sampai minimum.
78. Submenu Toggle Breakpoints [Ctrl + F8]: mengatur suatu baris sebagai breakpoint. Dalam editor breakpoint ditunjukkan dengan highlight text.
79. Submenu Clear All Breakpoints: Menghapus semua breakpoint yang telah diset.
80. Submenu View Next Breakpoint : Digunakan untuk menggerakkan kursor ke posisi breakpoint berikutnya.
Perintah Dasar untuk Menggerakkan Kursor
Tombol Fungsi
Ctrl + S atau panah kiri
Ctrl + D atau panah kanan
Ctrl + A atau Ctrl + panah kiri
Ctrl + F atau Ctrl + panah kanan
Ctrl + E atau panah naik
Ctrl + X atau panah turun
Ctrl + W
Ctrl + Z
Ctrl + R atau PgUp
Ctrl + C atau PgDown Bergerak ke kiri satu karakter
Bergerak ke kanan satu karakter
Bergerak ke kiri satu kata
Bergerak ke kanan satu kata
Bergerak ke atas satu baris
Bergerak ke baah satu baris
Memutar layar ke atas
Memutar layar kebawah
Kehalaman sebelumnya
Kehalaman berikutnya


Perintah Kursor Tambahan
Tombol
Ctrl + U
Ctrl + O + I atau Ctrl + Q + I
Ctrl + P
Ctrl + K + D atau Ctrl + K + Q
Ctrl + Q + F
Ctrl + Q + A
Ctrl + Qn
Ctrl + Q + W
Ctrl + O + O
F10
Ctrl + F1
F3
Ctrl + O + F
Ctrl + Q + [
Ctrl + Q + ]
Ctrl + L
Ctrl + Q + L
Ctrl + K + S atau F2
Ctrl + Kn
Ctrl + I atau Tab
Ctrl + O + T atau Ctrl + Q + T
Ctrl + O + U Fungsi
Membatalkan kegiatan
Meng – On atau meng – Off kan autoindent
Awal karakter kendali
Keluar dari editor tanpa menyimpan
Mencari kata
Mencari kata dan menggantinya
Mencari penanda tempat
Menuju ke posisi kesalahan
Menyisipkan penunjuk kompiler
Mengaktifkan menu utama
Pertolongan bahasa
Memuat berkas
Mengisi On / Off secara optimal
Pasangan tanda kurung kedepan
Pasangan tanda kurung kebelakang
Mengulang pencarian terakhir
Menyimpan kembali baris
Menyimpan dan meneruskan
Mengatur penanda tempat
Tab
Mode Tab
Unindent On / Off






Tombol-Tombol Kendali Operasi Blok
Tombol Fungsi
Ctrl + K + Y
Ctrl + K + V
Ctrl + K + C
Ctrl + K + W
Ctrl + K + H
Ctrl + K + R
Ctrl + K + T
Ctrl + K + P
Ctrl + K + I
Ctrl + K + U
Menghapus blok
Memindah blok ke tempat lain
Membuat duplikat blok
Meyimpan blok ke dalam cakram
Menyembunyikan atau menampilkan blok
Membaca blok dari cakram untuk digabung di merge
Menandai satu kata
Mencetak satu blok
Mengident blok
Mengunident blok



Untuk lebih jelasnya tentang pengoperasian blok diatas, lebih baik kita langsung saja praktekan, disini saya akan memberikan contoh yang paling mudah yaitu mengkopi blok
Tampilan sebelum suatu blok dipilih Procedure FLU.GERAK samapai end [8 baris] akan dipilih sebagai blok. Maka kita letakkan kursor kita di huruf p di kata procedure dan kita tekan Ctrl + K + B. kemudian kursor dipindahkan ke tempat di sebelah kanan d dari kata end dan kita tekan Ctrl + K + K. maka tampilan akan berubah menjadi tampilan yang dibawah ini.
Tampilan setelah diblok Untuk mengkopi blok, tempatkanlah kursor dimana blok tersebut akan dikopi. Kemudian tekanlah Ctrl + K + C maka blok akan dikopi. Begitu juga dengan perintah blok yang lain, caranya sama dengan teknik pengkopian diatas…
Tampilan sesudah di kopi Nah, itulah sekilas tentang Editor di dalam Turbo Pascal, semoga bisa membantu anda yang menyukai pascal dan yang belum mencoba silahkan mencoba karena gak ada salahnya anda memiliki ilmu yang banyak….. Dan tunggu edisi berikutnya….

lihat
Category:
��