You are on page 1of 3

SOAL OSTN SMK 2010 PROVINSI JAWA TENGAH

Bidang Informatika (ICT)

SESI II
Waktu : 120 menit

I. ISIAN SINGKAT
BOBOT 5 POIN PER NOMOR

Isilah bagian titik-titik bernomor dalam narasi berikut!

Sebuah program terdiri atas (1)… dan struktur data, sebagaimana yang didefinisikan oleh
Niklaus Wirth. Data yang diolah dalam sebuah program dikelompokkan berdasarkan (2)… yang
mana setiap kelompok memiliki karakteristik dan operator tertentu. Data tersebut
direpresentasikan dan dikenali dalam bentuk (3)… yang dapat diberikan isi tertentu. Program
dapat mengelola data dan menampilkan (4)… dari data tersebut.
Selama program dijalankan, keadaan data dapat berubah karena adanya aksi tertentu. Aksi yang
menyebabkan perubahan kondisi data antara lain (5)… dan instruksi masukan dari keyboard.
Perubahan data dapat dibuat teratur menggunakan konsep perulangan(loop). Struktur perulangan
terdiri atas lima komponen yaitu kondisi awal, kondisi akhir, proses yang diulang, (6)…, dan
(7)…. Perulangan terus-menerus tanpa henti yang disebut juga (8)… dapat menyebabkan
computer (9)….. Seorang programmer harus mampu menjaga agar program dapat berhenti dan
menghasilkan keluaran yang benar sesuai dengan (10)… program yang ditentukan sebelumnya.

II. SOAL URAIAN


BOBOT 10 POIN PER NOMOR

Soal 1
Seorang pelatih renang mengelompokkan para atlet binaannya menjadi 3 berdasarkan bentuk
badan. Kelompok I terdiri atas atlet dengan ukuran lingkar dada dan lingkar panggul berselisih
kurang dari atau sama dengan 5 cm. Kelompok A berisi atlet yang ukuran lingkar dadanya lebih
kecil daripada lingkar panggul dengan selisih lebih dari 5 cm. Kelompok V merupakan
kumpulan atlet yang ukuran lingkar dadanya lebih besar daripada lingkar panggul dengan selisih
lebih besar dari 5 cm.
Buatlah rancangan program computer untuk menangani masalah di atas dengan masukan berupa
lingkar dada (LD) dan lingkar panggul (LP) dan keluaran berupa kelompok atlet.

Soal 2
Seorang pelatih renang melatih gaya renang berdasarkan kelompok atletnya. Terdapat tiga
kelompok yaitu I,A, dan V. Gaya Dada untuk kelompok A dan I. Gaya Kupu-kupu untuk
kelompok I dan V. Gaya Punggung untuk kelompok A dan V. Gaya Bebas untuk semua
kelompok.

Halaman 1 dari 3
Buatlah rancangan program yang menerima masukan kelompok atlet (KA) seorang atlet
kemudian menampilkan rekomendasi gaya-gaya renang untuk atlet tersebut berdasarkan
penjelasan di atas.

Soal 3
Sebuah bank membuka layanan tabungan dengan syarat sebagai berikut:
- Saldo kurang dari 1 juta rupiah tidak mendapat bunga
- Saldo mulai 1 juta rupiah sampai sama dengan 10 juta rupiah mendapat setengah persen
sebulan
- Saldo di atas 10 juta rupiah mendapat bunga 0,7 persen perbulan.
Buatlah rancangan program bank tersebut dengan masukan saldo awal (SA) dan lama waktu (W)
dalam bulan, kemudian program menghitung saldo akhir sesuai ketentuan di atas.

Soal 4
Sebuah operator telepon seluler menawarkan paket Internet dengan ketentuan berikut:
- Biaya akses Internet 0,5 rupiah per kilo byte data yang ditransfer.
- Pulsa Internet minimal bernilai 100 rupiah.
Buatlah rancangan program sesuai kondisi di atas, dengan masukan berupa pulsa awal (PA),
diikuti masukan-masukan sesuai pemakaian internet(PI) yang berulang.

Soal 5
Sebuah operator telepon seluler menghitung pemakaian telepon dengan satuan pulsa. Satu pulsa
sama dengan 30 detik waktu bicara dengan pembulatan waktu ke atas. Untuk 5 menit pertama
dikenai tariff 5 rupiah per menit. Lebih dari 5 menit tariff menjadi 1 rupiah per menit.
Buatlah rancangan program sesuai penjelasan di atas dengan nilai pulsa awal 100 ribu rupiah,
selanjutnya ada masukan-masukan lama waktu bicara(WB) dari keyboard.

Soal 6
Toko A memberlakukan potongan harga sebesar 60% untuk barang tertentu. Toko B bermaksud
menyaingi dengan memberlakukan diskon 50% lalu didiskon lagi 20% untuk barang yang juga
didiskon di Toko A. Seorang pelanggan memilih untuk membeli barang yang didiskon di toko A
daripada toko B. Jika barang yang dimaksud bernilai N rupiah (masukan dari keyboard), buatlah
rancangan program yang mampu menghitung selisih keuntungan atau kerugian yang dialami
pelanggan tersebut dan menampilkan hasilnya.

Soal 7
Buatlah program diskon yang menerima masukan harga satuan barang dan banyak barang yang
dibeli kemudian menghitung potongan harga berdasarkan banyak barang yang dibeli, aturannya:
- beli 1 maka harga total tidak didiskon
- beli 2 maka harga total didiskon 5%
- beli >2 maka harga total didiskon 10%

Soal 8

Halaman 2 dari 3
Di tepi telaga disediakan sebuah ember berkapasitas empat liter dan sebuah ember berkapasitas
lima liter. Ali ingin mendapatkan air sebanyak dua liter hanya dengan menggunakan kedua
ember tersebut. Buatlah serangkaian aksi yang harus dilakukan Ali untuk mencapai tujuannya.

Soal 9
Perhatikan realisasi sebuah fungsi dalam bahasa Pascal berikut:
function isPrima(X:integer):Boolean;
{prasyarat: X > 1}
{mengembalikan true jika X adalah bilangan prima}
var {KAMUS LOKAL}
n : integer;
hasil : boolean;
begin {ALGORITMA}
n := 2;
hasil := true;
while (n < X) and hasil do
begin
if (X mod n = 0) then
hasil := false
else
n := n + 1;
end; {n≥X or hasil=true}
isPrima := hasil;
end;
Jalankan iterasi nilai n untuk X=9 dan X=11 sampai mendapatkan hasil.

Soal 10
Jika didefinisikan f(n) = n f(n-1) untuk setiap n>0 dan f(0) = 1,
Maka jelaskan bagaimana proses menghitung (82! X 38!)/ (41! X 77!) dan mendapatkan hasilnya
secara efisien.

Halaman 3 dari 3

You might also like