Anda di halaman 1dari 14

KODE SOAL : A

1.
PILIHAN GANDA (Bobot 40%)
1.

2.

3.

4.

5.

6.

7.

8.

9.

Dalam metode perancangan program terdapat 3 (tiga) jenis


program kendali (kontrol), yaitu :
A. Input, Proses, Output
C. Inisiasi, Proses, Penghentian
B. Iterasi, Rekursif, Pengulangan
D.
Urutan,
Seleksi,
Pengulangan
Penggunaan pengulangan (if .. goto) sebaiknya dihindari, dan
digantikan dengan :
A. FOR ... ENDFOR
C. REPEAT ... UNTIL
B. DOWHILE ... ENDDO
D. CASE ... ENDCASE
Diberikan penggalan program :
IF x > 25 GOTO 1
x=x+5
1: x = x + 2
Penggalan instruksi tersebut sebaiknya ditulis menjadi :
A. IF x <= 25 THEN
C. IF x <= 25 THEN
x=x+2
x=x+5
ELSE
ELSE
x=x+5
x=x+2
ENDIF
ENDIF
B. IF x > 25 THEN
D. B dan C benar
x=x+2
ELSE
x= x+5
ENDIF
Pengulangan pekerjaan beberapa instruksi dengan menggunakan
pencacah (counter) sebaiknya menggunakan struktur loop :
A. IF THEN ELSE ENDIF
C. IF ... GOTO
B. CASE OF ENDCASE
D. FOR ... ENDFOR
Pengulangan beberapa instruksi selama kondisi persyaratan yang
benar, sebaiknya menggunakan struktur loop :
A. IF (kondisi) THEN ELSE ENDIF C. CASE (kondisi) OF ENDCASE
B. REPEAT ... UNTIL (kondisi)
D. DOWHILE (kondisi) ENDDO
Pengulangan beberapa instruksi sampai mencapai kondisi
persyaratan yang benar, sebaiknya menggunakan struktur loop :
A. IF (kondisi) THEN ELSE ENDIF C. CASE (kondisi) OF ENDCASE
B. REPEAT ... UNTIL (kondisi)
D. DOWHILE (kondisi) ENDDO
Di dalam analisis awal, permasalahan dapat dibagi menjadi tiga
komponen, yaitu kecuali :
A. Proses
C. Output
B. Input
D. Data
Di dalam teorema struktur terdapat tiga struktur kontrol dasar,
yaitu kecuali :
A. Sequence
C. Condition
B. Selection
D. Repetition
Teorema struktur merevolusi desain program dengan menghilangkan
pernyataan :

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

B. ESSAY (BOBOT 60%)


PILIH 2 DIANTARA 7 SOAL DI BAWAH INI, SOAL NOMOR 1 MERUPAKAN
SOAL WAJIB YANG HARUS DIKERJAKAN.
Rancanglah algoritma solusi untuk permasalahan-permasalahan di bawah
ini dengan membuat diagram definisi, struktur kontrol yang diperlukan dan
variabel tambahan, algoritma solusi serta tabel desk checking dengan
menggunakan 2 buah set data uji. Algoritma boleh menggunakan
pseudocode atau diagram N-S.
1. Diketahui 10 buah segitiga, masing-masing memiliki tinggi dan panjang
alas. Hitunglah luasnya kemudian tampilkan hasilnya di layar.
2. Sebuah program diminta untuk menerima tiga bilangan dan menampilkan
di layar jumlah, perkalian dan rata-ratanya.
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.
4. Sebuah program diminta untuk menerima serangkaian bilangan. Bilangan
pertama akan menentukan berapa banyak bilangan yang akan diterima.
Algoritma diminta untuk menghitung dan mencetak jumlah dan rata-rata
dari bilangan-bilangan tersebut kecuali bilangan pertama.
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.
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.
7. Buatlah algoritma untuk menentukan sebuah bilangan dapat diketahui
Prima atau Tidak Prima. Contoh jika data input 4, bilangan tersebut Tidak
Prima, jika data input 13, bilangan tersebut Prima.
=== SELAMAT MENGERJAKAN ===

Kunci:

Rancanglah algoritma solusi untuk permasalahan-permasalahan di bawah ini dengan


membuat diagram definisi, struktur kontrol yang diperlukan dan variabel tambahan,
algoritma solusi serta tabel desk checking.
JAWABAN essay
1. Diketahui 10 buah segitiga, masing-masing memiliki tinggi dan panjang alas.
Hitunglah luasnya kemudian tampilkan hasilnya di layar.
A. DIAGRAM DEFINISI
Input
Proses
alas
Ambil alas, tinggi
tinggi
Hitung Luas
(10 kali)
Tampilkan luas

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

Data uji pertama


2
3

Data uji kedua


10
20

Hasil yang diharapkan :


Data uji pertama
3

Data uji kedua


100

iii.

Table desk checking :

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

Tampilkan jumlah, kali, rata


SELESAI
i.

C. DESK CHECKING
Data input :
Data uji pertama
1
2
3

Bil_1
Bil_2
Bil_3
ii.

Hasil yang diharapkan :


Data uji pertama
6
6
2

Jumlah
Kali
Rata
iii.

Data uji kedua


10
20
30

Data uji kedua


60
6000
20

Table desk checking :


Pernyataan
Ambil
Hitung jumlah
Hitung kali
Hitung rata
Tampilkan
Ambil
Hitung jumlah
Hitung kali
Hitung rata
Tampilkan

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.

Data uji kedua


40000

Hasil yang diharapkan :


euro
dollar

iii.

Data uji pertama


8000

Data uji pertama


2
1

Data uji kedua


10
5

Table desk checking :


Pernyataan

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

4. Sebuah program diminta untuk menerima serangkaian bilangan. Bilangan pertama


akan menentukan berapa banyak bilangan yang akan diterima. Algoritma diminta
untuk menghitung dan mencetak jumlah dan rata-rata dari bilangan-bilangan tersebut
kecuali bilangan pertama.
A. DIAGRAM DEFINISI
Input
Proses
jum_bil
Siapkan untuk jum_bil
bilangan
Ambil jum_bil
Siapkan untuk bilangan
Ambil bilangan
Hitung total
Hitung rata-rata
Cetak total, rata

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

Hasil yang diharapkan :


Data uji
30
15

total
rata

iii.

Table desk checking :

Pernyataan

jum_bil konter bilangan total rata KERJAKANSELAMA


diproses ?

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

Siapkan untuk kode


Ambil kode
Hitung jumlah
Hitung pengurangan
Hitung perkalian
Hitung pembagian
Cetak bil_1, bil_2, kode, hasil

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.

Data uji kedua


20
10
4

Hasil yang diharapkan :


Hasil

iii.

Data uji pertama


8
2
3

Data uji pertama


16

Data uji kedua


2

Table desk checking :


Pernyataan
#1 Ambil
Ambil
JIKA
Hitung hasil
Cetak
#2 Ambil
Ambil
JIKA
Hitung hasil
Cetak

bil_1 bil_2 kode hasil JIKA diproses


8
2
3
JIKA kode=3
16
ya
ya
ya
ya
20
10
4
JIKA kode=4
2
ya
ya
ya
ya

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

Cetak nomor, nama, deviasi

. 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.

Data uji pertama


10
Produk A
1000
750

Data uji kedua


20
Produk B
400
500

Hasil yang diharapkan :


Deviasi

iii.
Pernyataan

Data uji pertama


250

Data uji kedua


-100

Table desk checking :


jual_skr

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

Anda mungkin juga menyukai