Anda di halaman 1dari 3

Nama : Asep Kurnia

Kelas :RMIK R38/19

NPM :19303444

SOALTIPE B

Kerjakan soal dibawah ini:

1.Perhatikan Algoritma berikut ini:

Deklarasi:

M,P,A:integer

Algoritma:

A 3

M 16

A --(A)

Q A*(A+3)

P (M*2)-Q

M P+100

P P+M–Q

Maka berapa hasil akhir dari A,M dan P?

Jawab:A=-3,M=32,P=164

2.Aturan kelulusan siswa pada mata pelajaran Logika dan Algoritma diterapkan sebagai
berikut:

(a)Jika nilai ujian tengah semester(UTS) lebih besar dari 70 maka siswa dinyatakan
Lulus dan Nilai Akhir sama dengan nilai UTS.

(b)Jika nilai UTS kurang atau sama dengan70,maka siswa dinyatakan lulus jika Nilai Akhir
lebih besar atau sama dengan 60 dimana Nilai Akhir=(nilai UTSx40%)+ (nilai
UASx60%).Buatlah algoritma penyelesaian masalah tersebut apabila output yang
dinginkan adalah NIM,Nama Siswa,Nilai Akhir,dan Status Kelulusan.

Jawab:
Mulai

ReadNIM,nama,
NUTS,NUAS

NUTS>

NA=(NUTS*0,4)+(NUAS
*0,6)

NA>=60

NA=NUTSStatus= Status=“lulus” Status=“Tidak


“Lulus” lulus”

PrintNIM,nama,
NUTS,NA,Status

Mulai
3. Buatlah algoritma program, dimana data NIP, Nama Pegawai, Golongan, Jumlah Anak di-input dari
Keyboard
golongan Gaji Tunjangan Pajak Jumlah Anak Bonus
I 1.000.000 15%XGapok 1% X Tunjangan <2 250.000
II 1.500.000 16%XGapok 2% XTunjangan 2-4 300.000
III 2.000.000 17%X Gapok 2% X Tunjangan >5 500.000
Total Gaji = Gaji Pokok + Tunjangan + Bonus –Pajak
Adapun data yang akan dicetak ke layar adalah NIP,
Nama Pegawai, Golongan, Jumlah Anak,Gaji Pokok,
Tunjangan, Pajak, Bonus dan Total Gaji.

3. JAWABAN
Program Data Pegawai;
Type Pegawai = record
NIP : String[9];
Nama : String[20];
Golongan : String[3];
Jum. Anak : String[8];
End;
Var
RecPeg : Array[1..20] Of Pegawai:
Gapok : Real;
Tunjangan : Real;
Bonus : Real;
Paajak : Real;
Begin
{Bagian Input Data...}
Write(Jumlah Data :’) ; Readln(J) ;
Writeln;
Write('NIP : ');Readln(Data.NIP);
Write('Nama : ');Readln(Data.Nama);
Write('Golongan : ');Readln(Data.Golongan);
Write('Jumlah Anak : ');Readln(Data.Jumlah Anak);
Writeln;
Writeln;
Case Data.Golongan of
'1' : Gapok:=1000000;
'2' : Gapok:=1500000;
'3' : Gapok:=2000000;
Else
Gapok:=0;
End;
Gaji ;=Gapok+Tunjangan+Bonus-Pajak
Clrscr;
Writeln('Laporan Gaji Pegawai');
Writeln;
Writeln('=========================================================================
===');
Writeln('|NIP | Nama | Golongan | Jumlah Anak | Gaji |');

Writeln('=========================================================================
===');
Writeln('|',Data.NIP:10,'|',Data.Nama:25,'|',Data.Golongan:10,'|',Data.Jumlah Anak:11:0,'|',Gaji:14:2,'|');

Writeln('=========================================================================
===');
Writeln;
End.

Anda mungkin juga menyukai