NAMA MATA KULIAH : DASAR DASAR PEMROGRAMAN PROGRAM STUDI : KONVERSI ENERGI
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
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
Kamar Tarif/hari
Kelas 1 600.000
Kelas 2 400.000
Kelas 3 200.000