SoalLatihan
Mata Kuliah : AlgoritmaPemrograman 2 Tipe : A
(NIM Akhir1, 5&7)
CV.
PUTRA RAHMAN memilikiinformasipembayarangajikaryawansebagaiberikut :
1.
KodeBagianterdiridari3KodeBagian.
2.
NamaBagianberdasarkanKodeBagian.
3.
GolKaryawanterdiridari
3 Golongan.
4.
GajiPokokberdasarkanNamaBagiandanGolKaryawan.
5.
BesarTunjanganberdasarkan
Status danJumlahAnak.
Jika Status MenikahdanAnak>= 3
makaTunjangan = 110000 x 3,
Jika Status MenikahdanAnak< 3
makaTunjangan = 125000 x JumlahAnakselainitutidakmendapatkanTunjangan.
6.
Total
GajididapatdariperhitunganGajiPokokdanBesarTunjangan.
Dari informasi di atas, buatlahlisting
program denganmenggunakan statement IFatau CASEdengankeluaransebagaiberikut
:
NamaKaryawan, KodeBagian,
NamaBagian, GolKaryawan, GajiPokok, Status, JumlahAnak, BesarTunjangandan Total
Gaji.
Mata Kuliah : AlgoritmaPemrograman 2 Tipe : B
(NIM Akhir 0, 2 & 9)
HOTEL
NYAMANmemilikiinformasipembayarankamarsebagaiberikut :
1.
KodeKamarterdiridari3KodeKamar.
2.
NamaKamarberdasarkanKodeKamar.
3.
JenisKamarterdiridari
2 JenisKamar.
4.
FasilitasKamarberdasarkanJenisKamar.
5.
JenisBed
terdiridari2Jenis, yaitu Single Bed dan Double Bed.
6.
HargaKamarberdasarkanNamaKamardanJenisKamar.
7.
Biaya
Extra berdasarkanJenis BeddanJenisKamar.
8.
Total
Bayar didapatdariperhitunganHargaKamardanBiaya Extra.
Dari informasi di atas, buatlahlisting
program denganmenggunakan statement IFatau CASEdengankeluaransebagaiberikut
:
NamaTamu, KodeKamar,
NamaKamar, JenisKamar, FasilitasKamar, Jenis Bed, HargaKamar, Biaya Extra dan
Total Bayar.
Mata Kuliah : AlgoritmaPemrograman 2 Tipe : C
(NIM Akhir3,4,6& 8)
TOKO
ELECTRO memilikiinformasipenjualanbarang-barangelektroniksebagaiberikut :
1.
KodeBarangterdiridari3KodeBarangelektronik.
2.
NamaBarangberdasarkanKodeBarang.
3.
MerkBarangterdiridari
3 MerkBarangyaitu LG/Sharp/Panasonic.
4.
HargaBarangberdasarkanNamaBarangdanMerkBarang.
5.
Bonus
PembelianberdasarkanJumlahBelidanMerkBarang. Bonus berupabarangelektronik yang
lebihkecil.
6.
Total
Bayar didapatdariperhitunganHargaBarangdanJumlahBeli.
Dari informasi di atas, buatlahlisting
program denganmenggunakan statement IFatau CASEdengankeluaransebagaiberikut
:
NamaPembeli,
KodeBarang, NamaBarang, MerkBarang, HargaBarang, JumlahBeli, Bonus Pembeliandan
Total Bayar.
Jawaban
Tipe-A
Program
TIPE_A;
{
ProgramLatihandenganperintahPercabangan }
{
Created by : Me..
Date Write
: 26 Maret 2012 }
USES
WINCRT;
VAR
KDBAG : CHAR;
NMKAR,NMBAG,STATUS : STRING[10];
GOL : STRING[3];
JANAK : BYTE;
GPOKOK,BTUNJ,TGAJI : REAL;
BEGIN
CLRSCR;
WRITELN('
CV. PUTRA RAHMAN');
WRITELN('==================');
WRITELN;
WRITE('NAMA
KARYAWAN : ');READLN(NMKAR);
WRITE('KODE
BAGIAN [A..C] : ');READLN(KDBAG);
CASE
KDBAG OF
'A','a' : NMBAG := 'KEUANGAN';
'B','b' : NMBAG := 'PERSONALIA';
'C','c' : NMBAG := 'HUMAS';
END;
WRITELN('NAMA
BAGIAN : ',NMBAG);
WRITE('GOL
KARYAWAN [II/III/IV] : ');READLN(GOL);
IF
(NMBAG='KEUANGAN') AND (GOL='II') THEN
GPOKOK
:= 1000000
ELSE
IF (NMBAG='KEUANGAN') AND (GOL='III') THEN
GPOKOK
:= 1500000
ELSE
IF (NMBAG='KEUANGAN') AND (GOL='IV') THEN
GPOKOK
:= 2000000
ELSE
IF (NMBAG='PERSONALIA') AND (GOL='II') THEN
GPOKOK
:= 800000
ELSE
IF (NMBAG='PERSONALIA') AND (GOL='III') THEN
GPOKOK
:= 1200000
ELSE
IF (NMBAG='PERSONALIA') AND (GOL='IV') THEN
GPOKOK
:= 1600000
ELSE
IF (NMBAG='HUMAS') AND (GOL='II') THEN
GPOKOK
:= 900000
ELSE
IF (NMBAG='HUMAS') AND (GOL='III') THEN
GPOKOK
:= 1300000
ELSE
IF (NMBAG='HUMAS') AND (GOL='IV') THEN
GPOKOK
:= 1700000;
WRITELN('GAJI
POKOK : Rp ',GPOKOK:7:0);
WRITE('STATUS
[MENIKAH/BELUM] : ');READLN(STATUS);
WRITE('JUMLAH
ANAK : ');READLN(JANAK);
IF
(STATUS='MENIKAH') AND (JANAK >= 3) THEN BTUNJ := 110000*3
ELSE
IF (STATUS='MENIKAH') AND (JANAK < 3) THEN BTUNJ := 125000*JANAK
ELSE
BTUNJ := 0;
WRITELN('BESAR
TUNJANGAN : Rp ',BTUNJ:7:0);
TGAJI
:= GPOKOK + BTUNJ;
WRITELN('TOTAL
GAJI : Rp ',TGAJI:7:0);
READLN;
CLRSCR;
GOTOXY(30,05);WRITE('CV.
PUTRA RAHMAN');
GOTOXY(29,06);WRITE('==================');
GOTOXY(25,08);WRITE('NAMA
KARYAWAN : ',NMKAR);
GOTOXY(25,09);WRITE('KODE
BAGIAN : ',KDBAG);
GOTOXY(25,10);WRITE('NAMA
BAGIAN : ',NMBAG);
GOTOXY(25,11);WRITE('GOL
KARYAWAN : ',GOL);
GOTOXY(25,12);WRITE('GAJI
POKOK : Rp ',GPOKOK:7:0);
GOTOXY(25,13);WRITE('STATUS
KARYAWAN : ',STATUS);
GOTOXY(25,14);WRITE('JUMLAH
ANAK : ',JANAK,' ORANG');
GOTOXY(25,15);WRITE('BESAR
TUNJANGAN : Rp ',BTUNJ:7:0);
GOTOXY(25,16);WRITE('TOTAL
GAJI : Rp ',TGAJI:7:0);
READLN;
END.
Tipe-B
Program
TIPE_B;
{
ProgramLatihandenganperintahPercabangan }
{
Created by : Me..
Date Write
: 26 Maret 2012 }
USES
WINCRT;
VAR
KDKMR : CHAR;
NMTAMU,NMKMR,JNSKMR,FASILITAS,JNSBED :
STRING[10];
HRGKMR,BEXTRA,TBYR : REAL;
BEGIN
CLRSCR;
WRITELN('
HOTEL NYAMAN');
WRITELN('==============');
WRITELN;
WRITE('NAMA
TAMU : ');READLN(NMTAMU);
WRITE('KODE
KAMAR [A..C] : ');READLN(KDKMR);
CASE
KDKMR OF
'A','a' : NMKMR := 'MAWAR';
'B','b' : NMKMR := 'MELATI';
'C','c' : NMKMR := 'ANGGREK';
END;
WRITELN('NAMA
BAGIAN : ',NMKMR);
WRITE('JENIS
KAMAR [VIP/DELUXE] : ');READLN(JNSKMR);
IF
JNSKMR='VIP' THEN FASILITAS := 'LED TV'
ELSE
IF JNSKMR='DELUXE' THEN FASILITAS := 'LCD TV';
WRITELN('FASILITAS
KAMAR : ',FASILITAS);
WRITELN('JENIS
BED [SINGLE BED /DOUBLE BED]');
WRITE('JENIS
BED : ');READLN(JNSBED);
IF
(NMKMR='MAWAR') AND (JNSKMR='VIP') THEN
HRGKMR
:= 300000
ELSE
IF (NMKMR='MAWAR') AND (JNSKMR='DELUXE') THEN
HRGKMR
:= 200000
ELSE
IF (NMKMR='MELATI') AND (JNSKMR='VIP') THEN
HRGKMR
:= 250000
ELSE
IF (NMKMR='MELATI') AND (JNSKMR='DELUXE') THEN
HRGKMR
:= 150000
ELSE
IF (NMKMR='ANGGREK') AND (JNSKMR='VIP') THEN
HRGKMR
:= 200000
ELSE
IF (NMKMR='ANGGREK') AND (JNSKMR='DELUXE') THEN
HRGKMR
:= 150000;
WRITELN('HARGA
KAMAR : Rp ',HRGKMR:6:0);
IF
(JNSBED='DOUBLE BED') AND (JNSKMR='VIP') THEN
BEXTRA
:= 0.3 * HRGKMR
ELSE
IF (JNSBED='DOUBLE BED') AND (JNSKMR='DELUXE') THEN
BEXTRA
:= 0.25 * HRGKMR
ELSE
BEXTRA := 0;
WRITELN('BIAYA
EXTRA : Rp ',BEXTRA:6:0);
TBYR
:= HRGKMR + BEXTRA;
WRITELN('TOTAL
BAYAR : Rp ',TBYR:6:0);
READLN;
CLRSCR;
GOTOXY(32,05);WRITE('HOTEL
NYAMAN');
GOTOXY(31,06);WRITE('==============');
GOTOXY(25,08);WRITE('NAMA
TAMU : ',NMTAMU);
GOTOXY(25,09);WRITE('KODE
KAMAR : ',KDKMR);
GOTOXY(25,10);WRITE('NAMA
KAMAR : ',NMKMR);
GOTOXY(25,11);WRITE('JENIS
KAMAR : ',JNSKMR);
GOTOXY(25,12);WRITE('FASILITAS : ',FASILITAS);
GOTOXY(25,13);WRITE('JENIS
BED : ',JNSBED);
GOTOXY(25,14);WRITE('HARGA
KAMAR : Rp ',HRGKMR:6:0);
GOTOXY(25,15);WRITE('BIAYA
EXTRA : Rp ',BEXTRA:6:0);
GOTOXY(25,16);WRITE('TOTAL
BAYAR : Rp ',TBYR:6:0);
READLN;
END.
Tipe-C
Program
TIPE_C;
{
ProgramLatihandenganperintahPercabangan }
{
Created by : Me..
Date Write
: 26 Maret 2012 }
USES
WINCRT;
VAR
KDBRG : CHAR;
NMPBELI,NMBRG,MRBRG,BONUS : STRING[10];
JBELI : BYTE;
HBRG,TBYR : REAL;
BEGIN
CLRSCR;
WRITELN('
TOKO ELECTRO');
WRITELN('===============');
WRITELN;
WRITE('NAMA
PEMBELI : ');READLN(NMPBELI);
WRITE('KODE
BARANG [A..C] : ');READLN(KDBRG);
CASE
KDBRG OF
'A','a' : NMBRG := 'TELEVISI';
'B','b' : NMBRG := 'LEMARI ES';
'C','c' : NMBRG := 'MESIN CUCI';
END;
WRITELN('NAMA
BARANG : ',NMBRG);
WRITELN('MERK
BARANG [LG/SHARP/PANASONIC]');
WRITE('MERK
BARANG : ');READLN(MRBRG);
IF
(NMBRG='TELEVISI') AND (MRBRG='LG') THEN
HBRG
:= 1000000
ELSE
IF (NMBRG='TELEVISI') AND (MRBRG='SHARP') THEN
HBRG
:= 1100000
ELSE
IF (NMBRG='TELEVISI') AND (MRBRG='PANASONIC') THEN
HBRG
:= 1050000
ELSE
IF (NMBRG='LEMARI ES') AND (MRBRG='LG') THEN
HBRG
:= 800000
ELSE
IF (NMBRG='LEMARI ES') AND (MRBRG='SHARP') THEN
HBRG
:= 700000
ELSE
IF (NMBRG='LEMARI ES') AND (MRBRG='PANASONIC') THEN
HBRG
:= 750000
ELSE
IF (NMBRG='MESIN CUCI') AND (MRBRG='LG') THEN
HBRG
:= 1500000
ELSE
IF (NMBRG='MESIN CUCI') AND (MRBRG='SHARP') THEN
HBRG
:= 1600000
ELSE
IF (NMBRG='MESIN CUCI') AND (MRBRG='PANASONIC') THEN
HBRG
:= 750000;
WRITELN('HARGA
BARANG : Rp ',HBRG:7:0);
WRITE('JUMLAH
BELI : ');READLN(JBELI);
IF
(JBELI > 2) AND (MRBRG='LG') THEN BONUS := 'DVD'
ELSE
IF (JBELI > 2) AND (MRBRG='SHARP') THEN BONUS := 'SETRIKA'
ELSE
IF (JBELI > 2) AND (MRBRG='PANASONIC') THEN BONUS := 'DISPENSER'
ELSE
BONUS := 'TIDAK ADA';
WRITELN('BONUS
PEMBELIAN : ',BONUS);
TBYR
:= HBRG * JBELI;
WRITELN('TOTAL
BAYAR : Rp ',TBYR:7:0);
READLN;
CLRSCR;
GOTOXY(32,05);WRITE('TOKO
ELECTRO');
GOTOXY(31,06);WRITE('==============');
GOTOXY(25,08);WRITE('NAMA
PEMBELI : ',NMPBELI);
GOTOXY(25,09);WRITE('KODE
BARANG : ',KDBRG);
GOTOXY(25,10);WRITE('NAMA
BARANG : ',NMBRG);
GOTOXY(25,11);WRITE('MERK
BARANG : ',MRBRG);
GOTOXY(25,12);WRITE('HARGA
BARANG : Rp ',HBRG:7:0);
GOTOXY(25,13);WRITE('JUMLAH
BELI : ',JBELI:7);
GOTOXY(25,14);WRITE('BONUS
PEMBELIAN : ',BONUS);
GOTOXY(25,15);WRITE('TOTAL
BAYAR : Rp ',TBYR:7:0);
READLN;
END.