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

Desain Form - String Grid dan Chart

Desain Form - String Grid dan Chart

1.    Tuliskan pengaturan properti masing-masing object/control (30 point)
2.    Tuliskan pengkodeaanya (70 point)

Jawaban

1. Pengaturan Properti

Pengaturan Form StringGrid dan Chart

Pengaturan Form StringGrid dan Chart

untuk pengaturan properti pada Chart, ikuti langkah berikut:

  • klik kanan control chart.
  • Klik tab Series
  • Klik tombol Add
  • Klik tipe Bar chart
  • Klik Ok

Chart Delphi - Pengaturan properti pada control chart

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;

Related Link: