sudah akan saya bahas. Berhubung ada acara keluarga, jadinya tertidur pulas
sekembalinya ke rumah, hahaha..
Berikut pembahasannya:
Jawaban: d
Penjelasan:
Untuk pilihan <a>, tidak tepat karena terdapat operator 'and' yang termasuk
operator logika. Begitu juga dengan pilihan <b>. Pilihan <c> dan <e>,
merupakan operator aritmatika.
Jawaban: e
Penjelasan:
Yang termasuk operator perbandingan adalah nomor <iii>, <iv>, dan <v>.
Nomor <i> adalah operator penugasan. Sedangkan nomor <ii> adalah
operator logika.
Jawaban: d
Penjelasan:Sudah jelas.
Jawaban: a
Penjelasan:
Operator '++' tidak terdapat pada freepascal.
Jawaban: e
Penjelasan:Sudah jelas.
Jawab: a
Penjelasan: Sudah jelas.
Jawab: d
Penjelasan: Untuk membandingkan string, operator yang digunakan sama seperti
membandingkan nilai angka.
Jawab: b
Penjelasan:
Jika bilangan bernilai 5, maka 2 + bil menjadi 7. Agar bernilai true, ekspresi
tersebut harus dalam bentuk 7 < 20.
Jawab: d
Penjelasan:
Pilihan <a> menggunakan operator penugasan (:=) , sehingga terjadi kesalahan
sintaks. Pada pilihan <b> digunakan operator yang tidak terdapat dalam
pascal, yaitu '=='. Pilihan <c> kehilangan kata 'then'. Sedangkan pilihan <e>,
penggunaan tanda kurung kurang lengkap, seharusnya (a=5) and (b=7).
Jawab: b
Penjelasan:
Pilihan <a> menggunakan operator penugasan, yang seharusnya tidak terdapat
dalam sebuah kondisi. Pilihan <c> terdapat kesalahan pada penggunaan
operator perbandingan, yaitu tertukarnya posisi = dan >. Pilihan <d> melupakan
kata 'and'. Sedangkan pilihan <e> terdapat kesalahan dalam kondisi. Seharusnya
kondisi bernilai true atau false, tidak bernilai angka.
Jawab: b
Penjelasan:
Dalam flowchart, percabangan digambarkan dengan lambang decision(belah ketupat),
yang memiliki 2 panah keluar. Satu bertuliskan 'Y' dan yang lain bertuliskan
'T'.
Jawab: a
Penjelasan:
Kondisi dalam percabangan adalah ekspresi yang bernilai true atau false saja.
Jawab:d
Penjelasan:
Nilai dari usia > 17 menjadi false karena usia bernilai 17. Nilai dari kondisi
status <> 'menikah' menjadi false. Sehingga nilai menjadi false or false,
yang hasilnya adalah false. Sehingga pernyataan if akan mengerjakan perintah
kedua.
Jawab: a dan b
Penjelasan:
Pilihan <d> dan <e> tidak perlu kita analisa lebih lanjut karena
perintah cetak yang akan dikerjakan bukan perintah yang kita inginkan. Yang
perlu kita perhatikan adalah pilihan <a>, <b>, dan <c>.
Pada tabel, dapat kita lihat bahwa hasil dari kedua ekspresi, yaitu waterflow =
0 dan outputvalue = 1, adalah false. Sehingga pada proses selanjutnya, yaitu
false AND false, akan dihasilkan nilai false. Jadi perintah cetak tidak akan
dikerjakan.
Pada pilihan <a> dan <b>, perintah cetak akan dikerjakan. karena
nilai akhir dari kondisi pada pilihan <a> dan <b> bernilai true.
Jawab: d
Penjelasan:
Lambang decision(belah ketupat) merupakan lambang yang harus ada. Karena decision
melambangkan if dalam program. Sedangkan lambang proses, input/output, preparation,
dan konektor, tidak harus ada.
Jawab: a
Penjelasan:
Pilihan <e> adalah pilihan pertama yang kita coret dari daftar kita,
karena menggunakan dua buah kata 'if'. Sedangkan sebuah kata 'if' mewakili
sebuah lambang decision.
Lambang decision di atas dapat kita terjemahkan menjadi
IF m mod n = 0 THEN
Lalu kita lihat pada panah yang tertera huruf 'Y'. Di sana terdapat perintah
output n faktor m, yang kita terjemahkan menjadi
writeln(n, ' faktor ' , m)
Pada arah panah 'T' terdapat perintah output n bukan faktor m, yang diterjemahkan
menjadi
writeln( n , ' bukan faktor ', m);
Jika digabungkan menjadi
IF m mod n = 0 THEN
writeln(n, ' faktor ' , m)
ELSE
writeln(n, ' bukan faktor ' , m);
Jawab: a
Penjelasan:
Percabangan CASE hanya bisa menggunakan tipe char dan tipe angka bulat (byte,
integer, longint,dll);
Jawab: c
Penjelasan:
Variabel abjad akan dibandingkan nilainya dengan karakter 'a', 'b', dan 'c'.
Sehingga harus memiliki tipe data yang sama, yaitu char.
Jawab: a dan e
Penjelasan:
Sintaks case adalah CASE <ekspresi> OF
Dari sintaks di atas, pilihan <b> bukan merupakan ekspresi yang benar
karena menggunakan operator penugasan. Pilihan <c> dan <d> mengandung
kesalahan sintaks yang jelas terlihat. Pilihan <a> dan <e> menggunakan
ekspresi yang benar.
Jawab: e
Penjelasan:
Perulangan FOR dan WHILE termasuk perulangan pretest loop, karena syarat terjadi perulangan diletakkan di atas. Sedangkan REPEAT disebut posttest loop, karena syarat perulangan diletakkan di bawah.
Jawab: a
Penjelasan:
Perulangan FOR dapat menggunakan tipe data untuk angka bulat dan char.
Jawab: b
Penjelasan:
Perulangan akan terjadi empat kali, karena untuk setiap bilangan yang ada di
antara 2 dan 5 akan terjadi sebuah perulangan. Karena dari bilangan 2 sampai
5 termasuk bilangna itu sendiri terdapat empat bilangan, maka akan terjadi
empat kali perulangan.
Jawab: d
Penjelasan:
Di antara bilangan 5 sampai -5 termasuk bilangan itu sendiri, terdapat 11 bilangan.
Jawab: e
Penjelasan:
Kita abaikan tipe data dari variabel kontrolnya (i, angka, abjad). Yang perlu kita perhatikan adalah sintaks dari FOR
FOR <variabel> := <awal> to <akhir> do
atau
FOR <variabel> := <akhir> downto <awal> do
Pilihan <a> terdapat kesalahan pada penggunaan '='. Pilihan <b> salah,
karena terdapat spasi diantara : (titik dua) dan = (sama dengan). Pilihan <c> dan <d> kurang kata 'do'. Pilihan <e> benar.
Jawab: e
Penjelasan:
Pada perulangan FOR tersebut, i akan memiliki nilai yang naik dari empat hingga
sembilan pada tiap kali terjadi perulangan. Pada setiap perulangan, perintah
if akan dikerjakan, sehingga terjadi output.
Pada perulangan pertama, i akan bernilai 4, sehingga ekspresi 4 mod 2 = 0
bernilai true. Karena kondisinya true maka komputer akan mengerjakan perintah
di bawah 'if'. Yaitu mencetak tanda pagar (#). Pada perulangan kedua, i akan
bernilai 5, sehingga ekspresi 5 mod 2 =0 akan bernilai false. Jadi komputer
akan mencetak tanda bintang(*). Begitu seterusnya sampai pada perulangan ke
enam. Output akhir dari program dapat kita lihat di baris ke enam, yaitu: #*#*#*.
Tidak ada komentar:
Posting Komentar