- Var digunakan untuk merubah Edit1: TEdit1; menjadi variabel nantinya atau Mendefinisikan sebuah variabel
- Integer untuk merubah tipe data bilangan bulat yang hanya mengenal bilangan decimal dan tidak dapat mengenal bilangan pecahan
- StrToInt digunakan untuk merubah tipe data string ke tipe data integer.
- IntToStr untuk merubah tipe data integer ke tipe data string.
- Caption untuk Membuat caption pada table
- End; untuk mengakhiri sebuah script namun masih ada lanjutannya
- End. Untuk mengakhiri sebuah script
- Begin untuk memulai suatu penulisan scrip pada program
- String Merupakan Tipe data yang isinya berupa Anumerik yang tidak dapat diberikan operator perhitungan karena bukan bersifat numerik value
- If untuk membuat pengandaian atau membuat pernyataan sesuai dengan kondisi
- For todo untuk membuat perulangan angka berurutan atau merupakan struktur pengulangan dimana aksi dilakukan sebanyak hitungan pencacah pengulangan atau for variable := nilai_awal to nilai_akhir do pernyataan
- For downto do for variable := nilai_awal downto nilai_akhir do pernyataan
- While do memasukan fungsi pada awal program
- Repeat until untuk membuat program menjadi perulangan atau struktu pengulangan dimana aksi dilakukan hingga kondisi ( persyaratan ) berhenti terpenuhi.
- While I do struktur pengulangan dimana selama kondisi ( persyaratan ) pengulangan masih benar, maka aksi dikerjakan
- Integer = berlaku hanya untuk bilangan bulat
- Real = untuk bilangan campuran desimal
- Tanda petik (‘ ‘) setelah write = digunakan untuk menulis teks (apa adanya)
- Writeln = untuk mencetak hasil (output)
- Readln = untuk mencetak / (meng-input) nilai konstanta
- Luas : 10 : 1 = angka 1 adalah untuk mengatur banyaknya angka dibelekang koma, itu dikarenakan kita menggunakan kode real pada luas
- Tanda titik koma (;) adalah untuk meng-akhiri sebuah program
STRUKTUR DATA
Teknik Informatika
Jumat, 19 Juni 2015
MATERI DASAR
LATIHAN 1
1.
Buat susunan tampilan seperti ini
2.
Klik ganda Button HASIL dan tulis scriptnya seperti dibawah ini
var
Form1: TForm1;
implementation
{$R
*.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
var
gaji,tot,tunjangan:integer;
begin
gaji:=StrToInt(tGaji.Text);
if
tGol.Text = 'A' then tunjangan:=10000;
if
tGol.Text = 'B' then tunjangan:=20000;
if
tGol.Text = 'C' then tunjangan:=30000;
Tunj.Caption
:= IntToStr (tunjangan);
tot:=Tunjangan+Gaji;
Total.Caption
:= IntToStr(Tot);
end;
end.
3.
Program berhasil dijalankan
LATIHAN 2
1. Buat
aplikasi dengan tampilan sebagai berikut!
2.
Ubah properti dari object inspector!
3.
Buat kode Program!
a.
Klik ganda Button INPUT
procedure
TForm1.Button1Click(Sender: TObject);
Var
i: integer;
Nama1,nama2
:array [1..5] of string;
S:
string;
begin
s:=inputbox('input
data','masukkan jumlah data :','0');
For
i:=1 to strtoint(s) do
Begin
nama1[i]:=inputbox('data
ke:'+inttostr(i),'nama awal','');
nama2[i]:=inputbox('data
ke:'+inttostr(i),'nama belakang','');
LBData.Items.Add(nama1[i]+''+nama2[i]);
Edit1.text:=inttostr(LBData.Items.count);
end;
end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
LBData.Clear;
Edit1.text:='';
end;
procedure
TForm1.Button3Click(Sender: TObject);
begin
close;
end;
end.
b.
Klik ganda Button CLEAR
procedure
TForm1.Button2Click(Sender: TObject);
begin
LBData.Clear;
Edit1.text:='';
end;
procedure
TForm1.Button3Click(Sender: TObject);
begin
close;
end;
end.
c.
Klik ganda Button CLOSE
procedure
TForm1.Button3Click(Sender: TObject);
begin
close;
end;
end.
4.
Klik Button Running atau tekan tombol F9 pada keyboard untuk melihat
hasilnya.
- Masukkan jumlah data
- Masukkan nama awal
- Masukkan nama akhir
- Maka akan ditampilkan daftar nama seperti dibawah ini
LATIHAN 3
REKURSI atau recursion adalah proses dari suatu subprogram (dapat berupa fungsi atau prosedur) yang memanggil dirinya sendiri. Proses rekursi untuk beberapa kasus merupakan algoritma yang baik dan dapat membuat pemecahan masalah lebih mudah. Akan tetapi sebagai imbalannya, proses rekursi ini harus dibayar mahal dengan memori yang banyak digunakan, dikarenakan setiap kali suatu subprogram dipanggil, maka diperlukan sejumlah tambahan memori.
Jika kita menulis siatu fungsi atau prosedur rekursi, yang perlu diperhatikan adalah fungsi atau prosedur tersebut harus mengandung suatu kondisi akhir dari proses rekursi. Kondisi ini diperlukan untuk mencegah terjadinya proses rekursi yang tidak berujung (indefinite), yaitu proses rekursi akan dilakukan tanpa henti.
Berikut ini contoh program : Rekursi mengurutkan data metode quick sort dalam bentuk prosedur.
program sort;
{$APPTYPE CONSOLE}
uses SysUtils;
type
tipelarik=string[20];
larikUrut=array[1..1000] of Tipelarik;
Procedure QuickSort (var x : LarikUrut;bawah,atas:word);
var
I,J:word;
sementara:TipeLarik;
begin
While atas>Bawah Do
begin
I:=Bawah;
J:=Atas;
sementara:=x[bawah];
{memecak larik menjadi dua bagian}
while I<J Do
begin
while x[j]>sementara do
J:=J-1;
x[i]:=x[j];
while (I<J) and (x[i]<=sementara) do
I:=I+1;
x[j]:=x[i];
end;
x[i]:=sementara;
{urutkan rekursi}
quicksort(x,bawah,I-2);
bawah:=I+1;
end;
end;
var
nama:larikurut;
N,I:word;
begin
write ('jumlah data akan diurutkan ?');readln(n);
writeln;
writeln('masukkan data = ');
for I:=1 to N do
begin
write ('data ke',I,'?');readln(nama[I]);
end;
{urutkan dengan procedure quick sort}
quicksort (nama,1,N);
{tampilkan data yang urut}
writeln;
writeln ('data yang telah urut = ');
for I:=1 to n do
writeln (nama[I]);
readln;
end.
Jika kita menulis siatu fungsi atau prosedur rekursi, yang perlu diperhatikan adalah fungsi atau prosedur tersebut harus mengandung suatu kondisi akhir dari proses rekursi. Kondisi ini diperlukan untuk mencegah terjadinya proses rekursi yang tidak berujung (indefinite), yaitu proses rekursi akan dilakukan tanpa henti.
Berikut ini contoh program : Rekursi mengurutkan data metode quick sort dalam bentuk prosedur.
program sort;
{$APPTYPE CONSOLE}
uses SysUtils;
type
tipelarik=string[20];
larikUrut=array[1..1000] of Tipelarik;
Procedure QuickSort (var x : LarikUrut;bawah,atas:word);
var
I,J:word;
sementara:TipeLarik;
begin
While atas>Bawah Do
begin
I:=Bawah;
J:=Atas;
sementara:=x[bawah];
{memecak larik menjadi dua bagian}
while I<J Do
begin
while x[j]>sementara do
J:=J-1;
x[i]:=x[j];
while (I<J) and (x[i]<=sementara) do
I:=I+1;
x[j]:=x[i];
end;
x[i]:=sementara;
{urutkan rekursi}
quicksort(x,bawah,I-2);
bawah:=I+1;
end;
end;
var
nama:larikurut;
N,I:word;
begin
write ('jumlah data akan diurutkan ?');readln(n);
writeln;
writeln('masukkan data = ');
for I:=1 to N do
begin
write ('data ke',I,'?');readln(nama[I]);
end;
{urutkan dengan procedure quick sort}
quicksort (nama,1,N);
{tampilkan data yang urut}
writeln;
writeln ('data yang telah urut = ');
for I:=1 to n do
writeln (nama[I]);
readln;
end.
LATIHAN 4
1.
Buatlah tampilan program seperti dibawah ini
2. Buat Kode Program!
a.
Klik ganda Button PROSES, lalu tuliskan script dibawah ini.
procedure
TForm1.btnProsesClick(Sender: TObject);
var
a,i,c,b:integer;
begin
a:=strtoint(Edit1.text);
Memo1.Clear;
i:=-1;
c:=-2;
while
i<=a do
begin
b:=i;
Memo1.Lines.Add(inttostr(b));
i:=(b+c)*-1;
c:=c*-1;
end;
end;
end.
b.
Klik ganda Button TUTUP, lalu tuliskan script dibawah ini.
procedure
TForm1.Button1Click(Sender: TObject);
begin
CLOSE;
end;
end.
3.
Jalankan aplikasi!
- Masukkan angka 10
- Klik PROSES, dan muncullah deretan angka dengan pola -1, 3, -5, 7, -9
- Klik TUTUP untuk mengakhiri program
LATIHAN 5
1.
Buatlah tampilan seperti dibawah ini!
2.
Buat Kode Program!
- Tulis script pada form unit1.pas seperti dibawah ini.
unit
Unit1;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edit1: TEdit;
edit2: TEdit;
edit3: TEdit;
btnPANGKAT1: TButton;
btnPANGKAT2: TButton;
btnPANGKAT3: TButton;
btnPANGKAT4: TButton;
Label4: TLabel;
Button1: TButton;
procedure
btnPANGKAT1Click(Sender: TObject);
procedure
btnPANGKAT2Click(Sender: TObject);
procedure
btnPANGKAT3Click(Sender: TObject);
procedure
btnPANGKAT4Click(Sender: TObject);
procedure Button1Click(Sender:
TObject);
private
{
Private declarations }
public
{
Public declarations }
procedure pangkat1(p,l:string);
function
pangkat2(p,l:string):string;
function
pangkat3(m,n:integer):integer;
end;
var
Form1: TForm1;
implementation
{$R
*.dfm}
- Klik ganda button PANGKAT1 dan tulis script ini :
procedure
TForm1.btnPANGKAT1Click(Sender: TObject);
var
a,b,i,c:integer;
begin
i:=1;
c:=1;
a:=strtoint(edit2.Text);
b:=strtoint(edit1.Text);
While
i<=a do
begin
c:=c*b;
i:=i+1;
end;
edit3.Text:=inttostr(c);
end;
procedure
TForm1.pangkat1(p,l:string);
var
a,b,c,i:integer;
begin
i:=1;
c:=1;
a:=strtoint(p);
b:=strtoint(l);
while
i<=a do
begin
c:=c*b;
i:=i+1;
end;
edit3.Text:=inttostr(c);
end;
function
TForm1.pangkat2(p,l:string):string;
var
a,b,c,i:integer;
begin
i:=1;
c:=1;
a:=strtoint(p);
b:=strtoint(l);
while
i<=a do
begin
c:=c*b;
i:=i+1;
end;
pangkat2:=inttostr(c);
end;
function
TForm1.pangkat3(m,n:integer):integer;
var
c,i:integer;
begin
i:=1;
c:=1;
while
i<=n do
begin
c:=c*m;
i:=i+1;
end;
pangkat3:=c;
end;
- Klik ganda button PANGKAT2 dan tulis script ini :
procedure
TForm1.btnPANGKAT2Click(Sender: TObject);
begin
pangkat1(edit2.Text,edit1.Text);
end;
- Klik ganda button PANGKAT3 dan tulis script ini :
procedure
TForm1.btnPANGKAT3Click(Sender: TObject);
begin
edit3.Text:=pangkat2(edit2.Text,edit1.Text);
end;
- Klik ganda button PANGKAT4 dan tulis script ini :
procedure
TForm1.btnPANGKAT4Click(Sender: TObject);
var
a,b,c:integer;
begin
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
c:=pangkat3(a,b);
edit3.text:=inttostr(c);
end;
- Klik ganda button CLOSE dan tulis script ini :
procedure
TForm1.Button1Click(Sender: TObject);
begin
CLOSE;
end;
end.
3.
Tampilkan hasilnya dengan klik tombol Running!
- Ketikkan angka pada kolom BILANGAN. Misalnya angka 4, lalu masukkan PANGKAT 1. Untuk melihat hasilnya, klik button PANGKAT1.
- Coba hingga PANGKAT4 dengan cara yang sama.
- Klik Button CLOSE untuk keluar dari aplikasi.
LATIHAN 6
Cara menggunakan fungsi procedure
contoh script
program Procedure2;
{$APPTYPE CONSOLE}
uses
SysUtils;
procedure tambah;
var
a,b,c : integer;
begin
write('Masukkan Nilai A= '); readln(a);
write('Masukkan Nilai B= '); readln(b);
c:=a+b;
writeln('A+B= ',c:2);
end;
begin
tambah;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
Langganan:
Postingan (Atom)






























