Soal Latihan(1) Pascal

download Soal Latihan(1) Pascal

of 5

Transcript of Soal Latihan(1) Pascal

Algoritma Pemrograman 2

Soal LatihanMata Kuliah : Algoritma Pemrograman 2 Tipe : A (NIM Akhir 1, 5 & 7)

CV. PUTRA RAHMAN memiliki informasi pembayaran gaji karyawan sebagai berikut : 1. Kode Bagian terdiri dari 3 Kode Bagian. 2. Nama Bagian berdasarkan Kode Bagian. 3. Gol Karyawan terdiri dari 3 Golongan. 4. Gaji Pokok berdasarkan Nama Bagian dan Gol Karyawan. 5. Besar Tunjangan berdasarkan Status dan Jumlah Anak. Jika Status Menikah dan Anak >= 3 maka Tunjangan = 110000 x 3, Jika Status Menikah dan Anak < 3 maka Tunjangan = 125000 x Jumlah Anak selain itu tidak mendapatkan Tunjangan. 6. Total Gaji didapat dari perhitungan Gaji Pokok dan Besar Tunjangan. Dari informasi di atas, buatlah listing program dengan menggunakan statement IF atau CASE dengan keluaran sebagai berikut : Nama Karyawan, Kode Bagian, Nama Bagian, Gol Karyawan, Gaji Pokok, Status, Jumlah Anak, Besar Tunjangan dan Total Gaji.

Mata Kuliah : Algoritma Pemrograman 2

Tipe

: B (NIM Akhir 0, 2 & 9)

HOTEL NYAMAN memiliki informasi pembayaran kamar sebagai berikut : 1. Kode Kamar terdiri dari 3 Kode Kamar. 2. Nama Kamar berdasarkan Kode Kamar. 3. Jenis Kamar terdiri dari 2 Jenis Kamar. 4. Fasilitas Kamar berdasarkan Jenis Kamar. 5. Jenis Bed terdiri dari 2 Jenis, yaitu Single Bed dan Double Bed. 6. Harga Kamar berdasarkan Nama Kamar dan Jenis Kamar. 7. Biaya Extra berdasarkan Jenis Bed dan Jenis Kamar. 8. Total Bayar didapat dari perhitungan Harga Kamar dan Biaya Extra. Dari informasi di atas, buatlah listing program dengan menggunakan statement IF atau CASE dengan keluaran sebagai berikut : Nama Tamu, Kode Kamar, Nama Kamar, Jenis Kamar, Fasilitas Kamar, Jenis Bed, Harga Kamar, Biaya Extra dan Total Bayar.

Mata Kuliah : Algoritma Pemrograman 2

Tipe

: C (NIM Akhir 3,4,6 & 8)

TOKO ELECTRO memiliki informasi penjualan barang-barang elektronik sebagai berikut : 1. Kode Barang terdiri dari 3 Kode Barang elektronik. 2. Nama Barang berdasarkan Kode Barang. 3. Merk Barang terdiri dari 3 Merk Barang yaitu LG/Sharp/Panasonic. 4. Harga Barang berdasarkan Nama Barang dan Merk Barang. 5. Bonus Pembelian berdasarkan Jumlah Beli dan Merk Barang. Bonus berupa barang elektronik yang lebih kecil. 6. Total Bayar didapat dari perhitungan Harga Barang dan Jumlah Beli. Dari informasi di atas, buatlah listing program dengan menggunakan statement IF atau CASE dengan keluaran sebagai berikut : Nama Pembeli, Kode Barang, Nama Barang, Merk Barang, Harga Barang, Jumlah Beli, Bonus Pembelian dan Total Bayar.

Latihan Percabangan

Hal 1

Algoritma Pemrograman 2

JawabanTipe-AProgram TIPE_A; { Program Latihan dengan perintah Percabangan } { Created by : Me.. Date Write : 26 Maret 2012 } USES WINCRT; VAR KDBAG NMKAR,NMBAG,STATUS GOL JANAK GPOKOK,BTUNJ,TGAJI

: : : : :

CHAR; STRING[10]; STRING[3]; BYTE; REAL;

BEGIN CLRSCR; WRITELN(' CV. PUTRA RAHMAN'); WRITELN('=================='); WRITELN; WRITE('NAMA KARYAWAN WRITE('KODE BAGIAN [A..C] : ');READLN(NMKAR); : ');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 WRITE('STATUS [MENIKAH/BELUM] WRITE('JUMLAH ANAK

: Rp ',GPOKOK:7:0); : ');READLN(STATUS); : ');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 TGAJI := GPOKOK + BTUNJ; WRITELN('TOTAL GAJI READLN; : Rp ',TGAJI:7:0); : Rp ',BTUNJ:7:0);

Latihan Percabangan

Hal 2

Algoritma Pemrograman 2CLRSCR; 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-BProgram TIPE_B; { Program Latihan dengan perintah Percabangan } { 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 WRITE('KODE KAMAR [A..C] : ');READLN(NMTAMU); : ');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);

Latihan Percabangan

Hal 3

Algoritma Pemrograman 2IF (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 TBYR := HRGKMR + BEXTRA; WRITELN('TOTAL BAYAR READLN; : Rp ',TBYR:6:0); : Rp ',BEXTRA:6:0);

CLRSCR; GOTOXY(32,05);WRITE('HOTEL NYAMAN'); GOTOXY(31,06);WRITE('=============='); GOTOXY(25,08);WRITE('NAMA TAMU : GOTOXY(25,09);WRITE('KODE KAMAR : GOTOXY(25,10);WRITE('NAMA KAMAR : GOTOXY(25,11);WRITE('JENIS KAMAR : GOTOXY(25,12);WRITE('FASILITAS : GOTOXY(25,13);WRITE('JENIS BED : GOTOXY(25,14);WRITE('HARGA KAMAR : GOTOXY(25,15);WRITE('BIAYA EXTRA : GOTOXY(25,16);WRITE('TOTAL BAYAR : READLN; END.

',NMTAMU); ',KDKMR); ',NMKMR); ',JNSKMR); ',FASILITAS); ',JNSBED); Rp ',HRGKMR:6:0); Rp ',BEXTRA:6:0); Rp ',TBYR:6:0);

Tipe-CProgram TIPE_C; { Program Latihan dengan perintah Percabangan } { Created by : Me.. Date Write : 26 Maret 2012 } USES WINCRT; VAR KDBRG NMPBELI,NMBRG,MRBRG,BONUS JBELI HBRG,TBYR 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);

: : : :

CHAR; STRING[10]; BYTE; REAL;

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

Latihan Percabangan

Hal 4

Algoritma Pemrograman 2HBRG := 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 WRITE('JUMLAH BELI : Rp ',HBRG:7:0); : ');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 TBYR := HBRG * JBELI; WRITELN('TOTAL BAYAR READLN; : Rp ',TBYR:7:0); : ',BONUS);

CLRSCR; GOTOXY(32,05);WRITE('TOKO ELECTRO'); GOTOXY(31,06);WRITE('=============='); GOTOXY(25,08);WRITE('NAMA PEMBELI : GOTOXY(25,09);WRITE('KODE BARANG : GOTOXY(25,10);WRITE('NAMA BARANG : GOTOXY(25,11);WRITE('MERK BARANG : GOTOXY(25,12);WRITE('HARGA BARANG : GOTOXY(25,13);WRITE('JUMLAH BELI : GOTOXY(25,14);WRITE('BONUS PEMBELIAN : GOTOXY(25,15);WRITE('TOTAL BAYAR : READLN; END.

',NMPBELI); ',KDBRG); ',NMBRG); ',MRBRG); Rp ',HBRG:7:0); ',JBELI:7); ',BONUS); Rp ',TBYR:7:0);

TugasDari soal dan listing program di atas, buatlah algoritma berupa flowchart. Dikumpulkan paling lambat pada Hari Kamis, tgl 5 April 2012 jam 15.00 WITA.

Latihan Percabangan

Hal 5