Jawaban UTS Pemrograman Berorientasi Obyek


Soal 1

Buatlah program penghitungan gaji dengan input berupa: Golongan (1/2/3/4), Ada Istri/Suami (Y/T), Jumlah Anak, Jumlah Jam Lembur. Sedangkan Outputnya: Gaji Pokok, Tunjangan fungsional, Tunjangan Suami/Istri, Tunjangan Anak, Tunjangan Beras, Insentif Lembur, Total Gaji. Beberapa ketentua sebagai berikut:

  • Gaji Pokok, Tunjangan Fungsional berdasarkan Golongan
Golongan Gaji Pokok Tunjangan Fungsional
1 1000000 200000
2 1500000 350000
3 2500000 500000
4 4500000 800000
  • Jika ada Istri/Suami maka Tunjangan Suami/Istri : 500000
  • Tunjangan Anak berdasarkan Jumlah anak
Jumlah Anak Gaji Pokok
1 200000
2 500000
>= 3 800000
  • Tunjangan Beras : 200000
  • Insentif lembur dihitung berdasarkan Jumlah Jam Lembur * 20000
  • Total Gaji dihitung berdasarkan jumlahan Gaji Pokok, Tunjangan fungsional, Tunjangan Suami/Istri, Tunjangan Anak, dan Insentif Lembur. Contoh Tampilan Sebagai berikut:

Jawaban

procedure TForm1.Button1Click(Sender: TObject);
Var  G, JA, JJL : integer;
     AIS        : String;
     GP, TF, TSI, TA, TB, IL, TG : real;
begin
    G:= strtoint(edit1.text);
    AIS:= edit2.Text;
    JA:= strtoint(edit3.text);
    JJL:=strtoint(edit4.text);
    if G=1 then
       begin
          GP:= 1000000;
          TF:= 200000;
       end
    else if G=2 then
       begin
          GP:= 1500000;
          TF:= 350000;
       end
     else if G=3 then
       begin
          GP:= 2500000;
          TF:= 500000;
       end
     else
        Begin
          GP:= 4500000;
          TF:= 800000;
        End ;

     If AIS = 'Y' then
        TSI := 500000
     else
         TSI := 0;

    If JA = 1 then
        TA := 200000
    else If JA = 2 then
         TA := 500000
    else
         TA := 800000;
    TB := 200000;
    IL := JJL * 20000;
    TG := GP+TF+TSI+TA+TB +IL;

    Edit5.Text := FloatToStr(GP);
    Edit6.Text := FloatToStr(TF);
    Edit7.Text := FloatToStr(TSI);
    Edit8.Text := FloatToStr(TA);
    Edit9.Text := FloatToStr(TB);
    Edit10.Text := FloatToStr(IL);
    Edit11.Text := FloatToStr(TG);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
    Edit1.Text := '';
    Edit2.Text := '';
    Edit3.Text := '';
    Edit4.Text := '';
    Edit5.Text := '';
    Edit6.Text := '';
    Edit7.Text := '';
    Edit8.Text := '';
    Edit9.Text := '';
    Edit10.Text := '';
    Edit11.Text := '';
    Edit1.setfocus;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Close
end;

Soal 2

Buatlah program yang menampilkan deret pada suatu Listbox sebagai berikut:

a.      1        2        3        4        5        6        7          8          9         10

b.      5        6        7        8        9      10      11        12        13         14

c.     -5       -6       -7       -8       -9     -10     -11       -12       -13        -14

d.      1        2        3        4        1        2        3          4          1          2

e..     3        6        9      12      15      18      21        24        27         30

f.     30      27      24      21      18      15      12          9          6          3

g.     -8       -6       -4       -2        0        2        4          6          8         10

h.      1        3        6      10      15      21      28        36        45         55

Jawab:

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
  Listbox1.clear;
  For i:=1 to 10 do
     Listbox1.Items.Add(inttostr(i))
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
  Listbox1.clear;
  For i:=5 to 14 do
     Listbox1.Items.Add(inttostr(i))
end;

procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
begin
  Listbox1.clear;
  For i:=1 to 10 do
     Listbox1.Items.Add(inttostr(-4-i))
end;

procedure TForm1.Button4Click(Sender: TObject);
var i:integer;
begin
  Listbox1.clear;
  For i:=1 to 10 do
    begin
      if  i mod 4 <> 0 then
        Listbox1.Items.Add(inttostr(i mod 4))
      else
        Listbox1.Items.Add(inttostr(4))
     end;
end;

procedure TForm1.Button5Click(Sender: TObject);
var i:integer;
begin
    Listbox1.clear;
  For i:=1 to 10 do
     Listbox1.Items.Add(inttostr(i*3))
end;

procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
begin
    Listbox1.clear;
  For i:=1 to 10 do
     Listbox1.Items.Add(inttostr(33-i*3))
end;

procedure TForm1.Button7Click(Sender: TObject);
var i:integer;
begin
    Listbox1.clear;
  For i:=1 to 10 do
     Listbox1.Items.Add(inttostr(-10+i*2))
end;

procedure TForm1.Button8Click(Sender: TObject);
var h,i:integer;
begin
    Listbox1.clear;
  h:=0;
  For i:=1 to 10 do
     begin
       h := h+i;
       Listbox1.Items.Add(inttostr(h))
     end
end;

3 thoughts on “Jawaban UTS Pemrograman Berorientasi Obyek

    • Maaf mas harry, kebetulan saya belum belajar banyak tentang model maker. Sekedar sharing, setahu saya modelMaker memadukan gaya pemrograman berorientasi obyek dengan dengan CASE Tools UML. Dengan kata lain, ModelMaker mendukung model kelas dan menggambar diagram UML. Kelebihan ModelMaker adalah adanya kontrol dan adanya mesin pemodelan yang aktif, dimana mesin tersebut dapat menyimpan dan memelihara semua hubungan antara Class. Mengganti Nama Class atau mengubah parent akan segera merambat ke kode sumber yang dihasilkan secara otomatis. Tugas-tugas seperti pengaturan methode, menambahkan fungsi dan prosedure, properti dan metode akses lebih mudah dilakukan karena sudah berbasis visual. Intinya UML yang berada dilevel model, dapat dicustomisasi dilevel implementasi. Demikian semoga sedikit dapat menjawab.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s