1.
PILIHAN GANDA (Bobot 40%)
1.
2.
3.
4.
5.
6.
7.
8.
9.
A. IF THEN
C. DOWHILE
B. GO TO
D. REPEAT UNTIL
10.Sebuah algoritma solusi dibuat dengan memperhatikan kemudahan dalam
membacanya serta membedakan ketiga macam struktur kontrol dengan
cara membuat beberapa bagian algoritma penulisannya menjorok ke
dalam, yang disebut dengan :
A. Kapitalisasi
C. Inisialisasi
B. Indentasi
D. Kodifikasi
11.Nama yang diberikan pada sekumpulan sel memori, didesain untuk
menyimpan item data tertentu adalah :
A. Variabel
C. Literal
B. Konstanta
D. Fungsi
12.Sebuah konstanta yang namanya merepresentasikan tulisan dari nilainya
adalah :
A. Variabel
C. Literal
B. Konstanta
D. Data
13.Yang termasuk dalam kelompok tipe data dasar adalah :
A. String
C. Record
B. Real
D. Array
14.Yang termasuk dalam kelompok struktur data adalah :
A. Boolean
C. Integer
B. Character
D. File
15.Yang dipergunakan dalam pseudocode untuk menerima masukan dari
papan ketik adalah :
A. Get
C. Write
B. Read
D. Take
16.Yang dipergunakan dalam pseudocode untuk menerima masukan dari
sebuah record adalah :
A. Get
C. Write
B. Read
D. Take
17.Untuk memberikan data sebuah nilai awal dalam pseudocode digunakan
istilah :
A. Get
C. Set
B. Output
D. Put
18.Untuk menyimpan sepotong informasi dalam pseudocode digunakan
istilah :
A. Initialize
C. Store
B. Output
D. Put
19.Terdapat sebuah pernyataan
IF NOT (A = 0 AND B = 0) THEN
STATEMENT
ENDIF
Pasangan nilai berikut ini akan membuat STATEMENT dieksekusi, kecuali :
A. A = 0 dan B = 0
C. A = 0 dan B = 10
B. A = 10 dan B = 20
D. A = 20 dan B = 0
20.Sebuah struktur pengulangan dengan menggunakan DOWHILE ENDDO
akan dieksekusi minimal :
A. 2 kali
C. Lebih dari 2 kali
B. 1 kali
D. 0 kali
Kunci:
Output
luas
(10 kali)
B. ALGORITMA SOLUSI
Proses_sepuluh_segitiga
Tentukan konter = 0
Kerjakanselama konter < 10
Ambil alas, tinggi
luas = * alas * tinggi
Tampilkan luas
Konter = konter
+ 1
Akhirkerjakan
SELESAI
C. DESK CHECKING
i.
Data input :
alas
tinggi
ii.
luas
iii.
Pernyataan
konte
alas
tinggi luas
r
Tentukan
#1:
KERJAKANSELAMA
Ambil
Hitung
Tampilkan
Tambah konter
#1:
KERJAKANSELAMA
Ambil
Hitung
Tampilkan
Tambah konter
KERJAKANSELA
MA dieksekusi?
0
Ya
2
3
3
ya
1
Ya
10
20
6000
100
ya
2. Sebuah program diminta untuk menerima tiga bilangan dan menampilkan di layar
jumlah, perkalian dan rata-ratanya.
A. DIAGRAM DEFINISI
Input
Proses
Bil_1
Siapkan untuk bilangan
Bil_2
Ambil tiga bilangan
Bil_3
Hitung jumlah
Hitung kali
Hitung rata-rata
Tampilkan jumlah, kali, rata
B. ALGORITMA SOLUSI
Proses_tiga_bilangan
Siapkan bil_1, bil_2, bil_3
Ambil bil_1, bil_2, bil_3
jumlah = bil_1 + bil_2 + bil_3
kali = bil_1 * bil_2 * bil_3
rata = jumlah / 3
Output
Jumlah
Kali
Rata
C. DESK CHECKING
Data input :
Data uji pertama
1
2
3
Bil_1
Bil_2
Bil_3
ii.
Jumlah
Kali
Rata
iii.
bil_1
1
bil_2
2
bil_3
3
jumlah kali
rata
6
6
ya
10
20
ya
2
ya
30
60
6000
ya
ya
20
ya
3. Sebuah program diminta untuk mengkonversi mata uang rupiah ke mata uang dollar
dan euro. 1 dollar bernilai 8000 rupiah, sedangkan 1 euro bernilai 4000 rupiah.
Kemudian diminta untuk menampilkan rupiah, dollar dan euro dilayar. Program akan
berhenti apabila dimasukkan nilai nol.
A. DIAGRAM DEFINISI
Input
Proses
rupiah
Siapkan untuk rupiah
Ambil rupiah
Konversi euro
Konversi dollar
Tampilkan rupiah, euro, dollar
Output
Rupiah
Euro
Dollar
B. ALGORITMA SOLUSI
Proses_konversi_mata_uang
Siapkan untuk rupiah
Ambil rupiah
KERJAKANSELAMA TIDAK rupiah = 0
euro = rupiah / 4000
dollar = rupiah / 8000
Tampilkan rupiah, euro, dollar
Siapkan untuk rupiah
Ambil rupiah
AKHIRKERJAKAN
SELESAI
C. DESK CHECKING
i.
Data input :
rupiah
ii.
iii.
rupiah euro
dollar KERJAKANSELAMA
diproses ?
Ambil
#1
8000
KERJAKANSELAMA
Hitung euro
Hitung dollar
Tampilkan
ya
Ambil
40000
#2
KERJAKANSELAMA
Hitung euro
Hitung dollar
Ya
2
ya
1
ya
Ya
10
5
Tampilkan
Ambil
ya
0
ya
ya
Output
total
rata
B. ALGORITMA SOLUSI
Proses_rangkaian_bilangan
Tentukan konter = 0
Tentukan total = 0
Siapkan untuk jum_bil
Ambil jum_bil
KERJAKANSELAMA TIDAK konter < jum_bil
Siapkan untuk bilangan
Ambil bilangan
total = total + bilangan
konter = konter + 1
AKHIRKERJAKAN
rata = total / jum_bil
cetak total, rata
SELESAI
C. DESK CHECKING
i.
Data input :
jum_bil
Bilangan
Data uji
2
10
Bilangan
ii.
20
total
rata
iii.
Pernyataan
Tentukan
Ambil
#1
2
ya
KERJAKANSELAMA
Ambil
Hitung total
Konter
#2
KERJAKANSELAMA
Ambil
Hitung total
Konter
#3
10
10
1
ya
20
30
2
KERJAKANSELAMA
Hitung rata
Tampilkan
tidak
ya
15
ya
5. Rancang sebuah program yang akan menerima dua buah bilangan dan sebuah
bilangan kode. Kode tersebut harus 1, 2, 3 atau 4. Jika kode yang dimasukkan 1,
maka hitung jumlah dua bilangan. Jika kode 2, maka kurangi bilangan pertama
dengan bilangan kedua. Jika kode 3, maka kalikan dua bilangan. Jika kode 4 dan
bilangan kedua tidak sama dengan nol, maka bagi bilangan pertama dengan kedua.
Program kemudian mencetak dua bilangan, kode dan hasil perhitungan.
A. DIAGRAM DEFINISI
Input
Bil_1
Bil_2
Proses
Siapkan untuk bilangan
Ambil bilangan
Output
bil_1
bil_2
kode
Kode
Hasil
B. ALGORITMA SOLUSI
Proses_bilangan_dengan_kode
Siapkan untuk bil_1, bil_2
Ambil bil_1, bil_2
Siapkan untuk kode
Ambil kode
JIKA kode = 1 MAKA
hasil = bil_1 + bil_2
LAIN
JIKA kode = 2 MAKA
hasil = bil_1 - bil_2
LAIN
JIKA kode = 3 MAKA
hasil = bil_1 * bil_2
LAIN
JIKA (kode = 4) DAN (bil_2 TIDAK = 0) MAKA
hasil = bil_1 / bil_2
AKHIRJIKA
AKHIRJIKA
AKHIRJIKA
AKHIRJIKA
cetak bil_1, bil_2, kode, hasil
SELESAI
i.
C. DESK CHECKING
Data input :
Bil_1
Bil_2
kode
ii.
iii.
6. Rancang sebuah program yang akan membaca sebuah file catatan produk, dimana di
dalamnya terdapat nomor barang, nama barang, jumlah terjual tahun ini dan jumlah
terjual tahun lalu. Program diminta untuk menghasilkan laporan dengan judul
DAFTAR PRODUK yang menunjukkan nomor barang, nama barang serta jumlah
peningkatan atau penurunan barang yang terjual.
A. DIAGRAM DEFINISI
Input
Processing
Produk record
Cetak baris judul
. nomor
Baca record produk
Output
baris judul
Produk record
. nama
. jual_skrg
. jual_lalu
. nomor
. nama
. deviasi
B. ALGORITMA SOLUSI
Cetak_record_produk
Cetak judul DAFTAR PRODUK
Baca record produk
KERJAKANSELAMA masih ada record
deviasi = jual_skrg jual_lalu
Cetak nomor, nama, deviasi
Baca record
produk
AKHIRKERJAKAN
SELESAI
i.
C. DESK CHECKING
Data input :
nomor
Nama
jual_skrg
jual_lalu
ii.
iii.
Pernyataan
jual_lal
devias
judul KERJAKANSELA
MA
diproses ?
Cetak
ya
Baca
#1 KERJAKANSELAMA
Hitung deviasi
Cetak
Baca
#2 KERJAKANSELAMA
Hitung deviasi
Cetak
1000
750
ya
ya
400
ya
Ya
500
Ya
250
Ya
-100
Ya
ya
JIKA kode=4