Anda di halaman 1dari 5

STUDI KASUS III – PROGRAM DERET

Permasalahan:

Buatlah program untuk menampilkan deret aritmatika dan geometri sampai


dengan suku tertentu.

• Didefinisikan deret aritmatika sbb:

ui = ui-1 + b, dengan i = 1, 2, 3, ..., n

b adalah beda antara suku

• Didefinisikan deret geometri sbb:

ui = ui-1 * r, dengan i = 1, 2, 3, ..., n

r adalah rasio antar suku

Untuk deret aritmatika pertama-tama diketahui suku awal, b, dan n (jumlah


suku). Sedangkan untuk deret geometri pertama-tama diketahui suku awal, r,
dan n (jumlah suku).

STEP ONE – DESAIN FORM

Untuk membuat program tersebut menggunakan delphi, berikut ini adalah


tampilan desain formnya
Desain form di atas menggunakan komponen Page Control dan TabSheet.

Langkah-langkah untuk membuatnya:

- Dari form kosong, sisipkan komponen PAGE CONTROL (ada di dalam pallete
WIN 32) dan atur lebar dan panjangnya.
- Untuk membuat TAB SHEET, caranya klik kanan pada PAGE CONTROL, pilih
NEW PAGE
- Lengkapilah TAB SHEET yang baru saja dibuat dengan menyisipkan beberapa
komponen dan propertiesnya sbb:

Nama Komponen Properties Value


Tabsheet1 Caption Deret Aritmatika
Label1 Caption Suku Awal
Label2 Caption Beda
Label3 Caption Jumlah Suku
Edit1 Name Sukuawal
Text [kosongkan]
Edit2 Name Beda
Text [kosongkan]
Edit3 Name Jumlahsuku
Text [kosongkan]
Button1 Caption Proses
Button2 Caption Hapus
Memo1 Lines [kosongkan]
Name Hasilderet
ReadOnly True
Scrollbars ssVertical

STEP TWO – DESAIN SKENARIO

Ketika program ini (deret aritmatika) diaktifkan, kursor akan langsung fokus ke
komponen suku awal untuk meminta user memasukkan suku awal (bisa positif,
negatif, dan nol). Berikutnya user mengisi beda (bisa positif, negatif, dan nol),
serta jumlah suku (harus positif), dan selanjutnya user menekan tombol PROSES.

Apabila jumlah suku yang dimasukkan tidak positif, maka akan muncul WARNING
yang menyatakan 'Maaf Jumlah Suku Harus Positif‘. Setelah user meng-confirm
warning tersebut, maka kursor akan kembali ke kotak jumlah suku untuk
diperbaiki inputnya kembali.

Sedangkan apabila jumlah suku yang dimasukkan positif, hasil deretnya akan
ditampilkan dalam memo.

Tombol hapus digunakan untuk membersihkan semua input untuk perhitungan


berikutnya. Setelah tombol hapus ditekan, kursor akan kembali ke kotak suku
awal kembali.

STEP THREE - PROGRAMMING

Untuk mengimplementasikan skenario di atas, maka berikut ini adalah code untuk
eventnya:
Event ONSHOW pada TabSheet1 (Deret Aritmatika)

procedure TForm1.TabSheet1Show(Sender: TObject);


begin
sukuawal.SetFocus;
end;

Event ONKEYPRESS pada Edit1 (SUKU AWAL)

procedure TForm1.sukuawalKeyPress(Sender: TObject; var Key: Char);


begin
if key = #13 then beda.SetFocus;
end;

Event ONKEYPRESS pada Edit2 (BEDA)

procedure TForm1.bedaKeyPress(Sender: TObject; var Key: Char);


begin
if key = #13 then jumlahsuku.SetFocus;
end;

Event ONKEYPRESS pada Edit3 (JUMLAH SUKU)

procedure TForm1.jumlahsukuKeyPress(Sender: TObject; var Key:


Char);
begin
if key = #13 then button1.SetFocus;
end;

Keterangan:
Perintah Key = #13 untuk mengecek apakah tombol yang ditekan adalah ENTER atau
bukan.
Event ONCLICK pada Button1 (PROSES)

procedure TForm1.Button1Click(Sender: TObject);


var i, n, x, b : integer;
begin
n := strtoint(jumlahsuku.Text);
x := strtoint(sukuawal.text);
b := strtoint(beda.text);

if n > 0 then
begin
for i:=1 to n do
begin
hasilderet.Lines.Add(format('Suku ke-%3d : %4d',[i,x]));
x := x + b;
end;
end
else
begin
if messagedlg('Jmlh suku harus positif',mtwarning,[mbOK,
mbcancel],0) = mrOK then jumlahsuku.SetFocus
else
begin
messagedlg('Lho kok malah dicancel!!! Ayo ganti
dulu',mtwarning,[mbOK],0);
jumlahsuku.SetFocus;
end;
end;
end;

Event OnClick pada Button2 (Hapus)

procedure TForm1.Button2Click(Sender: TObject);


begin
sukuawal.Clear;
beda.Clear;
jumlahsuku.Clear;
hasilderet.Clear;
sukuawal.SetFocus;
end;

Keterangan:

- Perintah format digunakan untuk mengatur tampilan presisi output. Simbol


%3d, %4d bermaksud untuk mengatur lebar space untuk bilangan bulat.
Untuk bilangan real contohnya %8.2f (mengatur 2 decimal di belakang
koma).

Informasi lebih detil tentang perintah FORMAT ini bisa dibaca di Help File
Delphi, dengan keyword FORMAT, Topic FORMAT STRINGS

- Perintah messagedlg digunakan untuk membuat pesan dialog. Sintaksnya:


Messagedlg(‘string yang akan ditampilkan’, jenis dialog, [tombol], help file);
Jenis dialog dapat diisi:
- mtwarning
- mterror
- mtinformation
- mtconfirmation

Jenis tombol dapat diisi:


- mbyes
- mbno
- mbok
- mbcancel
- mbabort
- mbretry
- mbignore
- mbhelp

Help file merupakan parameter untuk menunjukkan informasi Help yang


berhubungan dengan pesan tsb. Jika fasilitas Help File tidak dibuat diisi nol.

- Perintah setfocus digunakan untuk mengaktifkan komponen (dalam kondisi


ready)

Tugas:
Silakan Anda lanjutkan project ini untuk bagian TabSheet Deret Geometri.

Simpan file project dengan nama DERET.DPR


Simpan file unit dengan nama UNITDERET.PAS