Pemrograman Berorientasi Obyek – Soal dan Jawaban UAS 2011
Soal
Buatlah program untuk menginputkan data X sebanyak 10 data, pada saat pengguna menginputkan data X maka program mengihitung nilai X2 dan memasukkannya kedalam Grid.
• Ketika pengguna mengklik tombol Rekap, maka program menampilkan Jumlah dan rata-rata dari data-data X dan data X2 .
• Ketika pengguna mengklik tombol Grafik X, maka program menampilkan Grafik untuk Data X
• Ketika pengguna mengklik tombol Grafik X^2, maka program menampilkan Grafik untuk Data X2
• Ketika pengguna mengklik tombol Reset, maka seluruh isi data pada grid, hasil rekapitulasi dan chart dikosongkan kemabali.
Ketika pengguna mengklik tombol Tutup, maka program ditutup
1. Tuliskan pengaturan properti masing-masing object/control (30 point)
2. Tuliskan pengkodeaanya (70 point)
Jawaban
1. Pengaturan Properti
untuk pengaturan properti pada Chart, ikuti langkah berikut:
- klik kanan control chart.
- Klik tab Series
- Klik tombol Add
- Klik tipe Bar chart
- Klik Ok
2. Pengkodean
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
stringgrid1.Cells[0,0]:='Data ke';
stringgrid1.Cells[1,0]:='X';
stringgrid1.Cells[2,0]:='X^2';
for i:=1 to 10 do
begin
combobox1.Items.Add(inttostr(i));
stringgrid1.Cells[0,i]:=inttostr(i);
stringgrid1.Cells[1,i]:='0';
stringgrid1.Cells[2,i]:='0';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var x,xpangkat2:real;
begin
x := strtoint(edit1.Text);
xpangkat2 := x*x;
Stringgrid1.Cells[1,combobox1.ItemIndex+1]:=floattostr(x);
Stringgrid1.Cells[2,combobox1.ItemIndex+1]:=floattostr(xpangkat2);
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 10 do
begin
stringgrid1.Cells[1,i]:='0';
stringgrid1.Cells[2,i]:='0';
end;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
end;
procedure TForm1.Button3Click(Sender: TObject);
var jumX, jumXpangkat2, rataX, rataXpangkat2 :real;
i: integer;
begin
JumX:=0;
JumXpangkat2:=0;
for i:=1 to 10 do
begin
jumX:=jumX+strtofloat(stringgrid1.Cells[1,i]);
jumXpangkat2:=jumXpangkat2 + +strtofloat(stringgrid1.Cells[2,i]);
end;
rataX:=jumX/10;
rataXpangkat2:=jumXpangkat2/10;
edit2.Text := floattostr(jumX);
edit3.Text := floattostr(jumXpangkat2);
edit4.Text := floattostr(rataX);
edit5.Text := floattostr(rataXpangkat2);
end;
procedure TForm1.Button5Click(Sender: TObject);
var i:byte;
begin
Chart1.Series[0].clear;
Chart1.Title.Text.Clear;
Chart1.Title.Text.Add('Grafik X');
for i:=1 to 10 do
Chart1.Series[0].Add(strtofloat(stringgrid1.Cells[1,i]),inttostr(i),clred);
end;
procedure TForm1.Button6Click(Sender: TObject);
var i:byte;
begin
Chart1.Series[0].clear;
Chart1.Title.Text.Clear;
Chart1.Title.Text.Add('Grafik X*2');
for i:=1 to 10 do
Chart1.Series[0].Add(strtofloat(stringgrid1.Cells[2,i]),inttostr(i),clred);
end;






