Anda di halaman 1dari 5

POLITEKNIK NEGERI BANDUNG

JURUSAN TEKNIK KONVERSI ENERGI


UJIAN TENGAH SEMESTER GANJIL
TAHUN AKADEMIK 2019/2020

NAMA MATA KULIAH : DASAR DASAR PEMROGRAMAN PROGRAM STUDI : KONVERSI ENERGI

KODE MATA KULIAH : - JENJANG : D-III


PERKULIAHAN : TEORI & PRAKTIKUM BENTUK UJIAN : PRAKTIKUM
TANGGAL UJIAN : 25 OKTOBER 2019 SIFAT UJIAN : OPEN NOTE
WAKTU : 120 MENIT TAHUN AKADEMIK : 2019/2020
NAMA DOSEN : ARDHIAN EKAWIJANA, S.T., M.T SEMESTER : GANJIL
WENDI WIRASTA, S.T., M.T
ASRI MASPUPAH, S.S.T., M.T
KODE DOSEN : KO 066 N, KO 067 N, KO 079 N, KELAS : 2-A, 2-B, 3A, 3-B

BAGIAN 1 : Pemahaman Algoritma


Persoalan
Sebuah algoritma untuk mencari bilangan terkecil diantara tiga buah bilangan kemudian
menampilkan informasinya ke layar dengan lengkap yaitu menampilkan juga nilai dari ketiga
bilangan
Algoritma
1 Program 1
2 Kamus Data atau Deklarasi
3 bilA, bilB, bilC, max : integer
4 IS. : bilA, bilB, bilC dan max tidak diketahui
5 Algoritma
6 begin
7 | read(keayboard) bilA, BilB, bilC
8 | if (bilA > bilB)
9 | | then if(bilA > bilC)
10 | | | then max <-- bilA
11 | | | else max <-- bilC
12 | | endif
13 | | else if (bilA>bilC)
14 | | | then max <-- bilA
15 | | | else max <-- bilB
16 | | endif
17 | endif
18 | output(layar) "isi max = " + max
19 end
20 FS : .....

Petunjuk pengerjaan :
Berilah tanda silang (×) pada lembar jawaban sesuai dengan pilihan jawaban yang menurut Anda
benar.
1. Manakah pernyataan dibawah ini yang sesuai untuk menyatakan final state dari algoritma
diatas
a. bilA belum diketahui
b. bilB diketahui melalui pembacaan keyboard
c. bilC diketahui dengan proses assigment
d. max diketahui melalui proses kondisi yang disebutkan pada baris 11, 12, dan 16
e. tidak ada jawaban yang benar
1
2. Salah satu kesalahan algoritma diatas adalah penulisan variable yang tidak tepat. Tunjukkan
letak kesalahnnya pada ....
a. Baris 4
b. Baris 10
c. Baris 13
d. Baris 17
e. Baris 18

3. Baris 21 merupakan penulisan pernyataan algoritma yang salah, manakah alasan dibawah ini
yang sesuai dengan kesalahan tersebut
a. penulisan output salah seharusnya write
b. pemisah antara informasi dan nilai variable tidak menggunakan simbol tambah (+)
seharusnya koma (,)
c. tidak menampilkan nilai dari ketiga bilangan yang akan dicari bilangannya
d. jawaban b dan c
e. tidak ada jawaban yang benar

4. Pada algoritma diatas terdapat 4 kesalahan yang menyebabkan algoritma tidak sesuai dengan
goal algoritma
a. Manakah pertanyaan dibawah ini yang menyatakan kesalahan yang tidak diungkapkan
pada soal pertanyaan nomor 2 dan 3
b. variable BilB yang dinyatakan pada algoritma tidak sesuai dengan variable yang
dideklarasikan pada kamus data
c. nama variable max tidak sesuai tujuan algoritma operator relasional yang dipakai pada
kondisi tidak tepat
d. jawaban a dan b
e. jawaban b dan c
Persoalan
Sebuah algoritma untuk menghitung total harga parkir berdasarkan ketentuan dibawah ini:
Tipe Harga Parkir Jam Harga Parkir Jam
Ket.
Kendaraan Pertama Selanjutnya
A untuk motor 1500 1000
B untuk mobil 3000 2000
C untuk mobil box 5000 3000
Algoritma
1 Program 2
2 Kamus Data atau Deklarasi
3 lama_parkir, tipe_kendaraan : integer
4 harga_jam_pertama, harga_jam_selanjutnya total_harga_parkir : integer
5 IS. : lama_parkir, tipe_kendaraan dan harga_jam_pertama tidak diketahui
6 harga_jam_selanjutnya dan total_harga_parkir tidak diketahui
7 Algoritma
8 begin
9 | read(keayboard) lama_parkir, tipe_kendaraan
10 | case (tipe_kendaraan) of
11 | | 'A' : harga_jam_pertama <-- 1500
12 | | harga_jam_selanjutnya <-- 1000
13 | | 'B' : harga_jam_pertama <-- 3000
14 | | harga_jam_selanjutnya <-- 2000
15 | | 'C' : harga_jam_pertama <-- 5000
16 | | harga_jam_selanjutnya <-- 3000
17 | | default : harga_jam_pertama <-- 0
18 | | harga_jam_selanjutnya <-- 0
19 | end case
2
20 | if (lama_parkir > 0)
21 | | then if (lama_parkir > 1)
22 | | | then total_harga_parkir <-- harga_jam_pertama + (harga_parkir_selanjutnya * (lama_parkir-1))
23 | | | else total_harga_parkir <-- harga_jam_pertama
24 | | end if
25 | | else total_harga_parkir <-- 0
26 | end if
27 | write (layar) total_harga_parkir
29 end
30 FS : nilai lama_parkir diketahui
31 nilai tipe_kendaraan diketahui
32 total_harga_parkir diketahui berdasarkan ketentutan perhitungan harga parkir

5. Tentukkan masing-masing Final State dari variable dibawah ini, jika I.S dari lama_parkir = 3 dan
tipe_kendaraan = 'C'.
a. harga_jam_pertama : _________________
b. harga_jam_selanjutnya : _________________
c. total_harga_parkir : _________________
d. Tuliskan proses tracing dibawah ini

BAGIAN 2 : Melengkapi Algoritma


Petunjuk Soal
Lakukan penelusuran atau eksekusi terhadap urutan aksi yang diberikan. Kemudian jawab setiap
pertanyaan yang diberikan.
Persoalan
Dibutuhkan keterangan terhadap umur pada rentang nilai 0 s.d. 90, dikatakan Balita jika umur
berada pada rentang 0 s.d. 5 tahun, dikatakan Kanak-kanak jika umur lebih tinggi dari Balita
sampai umur 11 tahun, dikatakan Remaja jika umur lebih tinggi dari Kanak-kanak dan lebih rendah
dari Dewasa, dan dikatakan Dewasa jika umur lebih dari 25 tahun.
Algoritma dibawah ini adalah algoritma untuk melakukan klasifikasi keterangan umur (“Balita”,
“Kanak-kanak”, “Remaja”, “Dewasa”) ditampilkan ke layar berdasarkan nilai umur yang dibaca
dari keyboard.
Kamus Data
umur : P1
IS :
Umur tidak diketahui, nilai dibaca dari keyboard.
Algoritma / Aksi
begin
input (umur)
if ( umur < 5 )
Then write (layar) “Balita”
else if ( P2 )
Then write (layar) “Kanak-kanak”
else if ( P3 )
Then write (layar) “Remaja”
else
P4
endif
endif
endif
end

3
Jika variabel umur adalah variabel bertipe data integer, inisial state variabel umur tidak diketahui,
variabel umur menunjukan umur seseorang. Pada saat menjalankan aksi algoritma, program
meminta pembacaan variable umur dari keyboard, kemudian menentukan keterangan berdasarkan
umur.

Tugas anda adalah melengkapi algoritma diatas sedemikian rupa hingga F.S. terpenuhi.
6. P1 :
___________________________________________________________________________
7. P2 :
___________________________________________________________________________
8. P3 :
___________________________________________________________________________
9. P4 :
___________________________________________________________________________
Tuliskan proses tracing dibawah ini

BAGIAN 3 : Pembuatan Algoritma


Petunjuk Soal
10. Buatlah algoritma menggunakan pseudocode sehingga perhitungan tagihan kamar pelanggan
dapat ditampilkan!
Persoalan
Sebuah hotel meminta anda untuk membuat program perhitungan tagihan kamar pelanggan untuk
biasa penginapan. Tagihan tersebut dihitung berdasarkan lama menginap, jenis kelas kamar, paket
makanan dan minuman yang pilih dan promo. Berikut tarif kamar per hari berdasarkan jenis
kamarnya :

Kamar Tarif/hari
Kelas 1 600.000
Kelas 2 400.000
Kelas 3 200.000

Sedangkan paket makanan dihitung harga hariannya adalah sebagai berikut:

Paket Makanan Tarif/hari


Premium 300.000
Reguler 200.000
Hemat 150.000

Maka Rumus untuk total tagihan adalah:


Total tagihan = ((tarif kamar + paket_makanan) × jumlah hari)
4
Jika pelanggan membawa kartu promo, maka total tagihan akan diskon sebesar 30%.

Anda mungkin juga menyukai