1.

Seorang pedagang barang elektronik menjual sebuah televisi berwarna layar datar seharga Rp.3.000.000, jika tarif pajak barang elektronik yang tergolong barang mewah tersebut adalah antara 5 % sampai 8 %, maka harga yang paling mungkin untuk televisi tersebut setelah ditambah pajak adalah : (A) Rp. 3.180.000 (B) Rp. 3.100.000 (C) Rp. 3.120.000 (D) Rp. 3.140.000 (E) Rp. 3.250.000 Pembahasan X = Rp 3.000.000 Tarif Pajak = 5% - 8% Harga televisi + pajak 5% = 3.150.000 6% = 3.180.000 7% = 3.210.000 8% = 3.240.000

2. Deklarasi prosedur manakah yang tidak dibenarkan? a. procedure hapus; b. procedure hapus(s:string); c. procedure hapus(var s:string); d. procedure hapus(s:string):boolean; e. procedure hapus(var data); Pembahasan: Untuk penulisan prosedur, tidak diperbolehkan adanya nilai kembali. Sedangkan parameter tanpa tipe data (pada opsi e), dapat dibenarkan. 5. Tipe variabel ekspresi manakah yang tidak dapat ditampilkan dengan procedure Writeln? a. Type T=Integer; b. Type T=String; c. Type C=Char; d. Type T=(Small, Medium, Large) e. Semua valid Pembahasan: Opsi d adalah tipe data enumerasi. Tipe data enumerasi tidak dapat ditampilkan dengan perintah Writeln. 3. Perhatikan program berikut : var s:string; begin s:='TOKI GO GET GOLD!'; delete(s,1,length(s)-12);

program tidak dapat dijalankan Pembahasan: Fungsi sqrt : Deklarasi : Function Sqrt (X : Real) : Real. Jika S tidak berisi apa-apa maka akan menghasilkan 0.23 . Keterangan : procedure delete akan menghapus S sebanyak count karakter. yaitu 17-12 = 5. di mana x harus positif Fungsi trunc: Deklarasi : Function Trunc (X : Real) : Longint. Apa keluaran program di atas ? a. Apa keluaran program di atas ? a. end.writeln(s). bernilai antara 0 sampai dengan 255. GO GET GOLD! c. writeln(k). 3 b. Perhatikan penggalan program berikut : var i. 2. Keterangan : menghasilkan bilangan bulat dari X.24 c. akan selalu lebih kecil atau sama dengan X. 2 d. TOKI GO GE Pembahasan: Procedure delete: Deklarasi : procedure Delete(var S: String. Count:Integer). begin i:=5. k:=0. Sehingga yang dihapus adalah karakter ‘TOKI ‘ dan s akan bernilai GO GET GOLD! 4. 0 e. GO GET GOLD! b.length(s)-12) akan menghapus s dari posisi 1 sebanyak panjang s. Keterangan : Length menghasilkan panjang dari S. Keterangan : menghasilkan akar pangkat dua dari x. TOKI GO GET e.1. k:=trunc(sqrt(i))+1. Statement delete(s. Function length: Deklarasi : Function Length (S : String) : Integer.k: integer. Sqrt(5) akan menghasilkan 2. Index: Integer. GET GOLD! d. end. dimulai dari posisi Index.

karena (n+p) adalah ganjil maka dari n dan p salah satu ganjil dan yang lain genap. begin A:='TOKI MEMANG'. Huruf ‘B’ tercetak c. if (Pos(B)>0) then Begin Writeln('A'). A bukan. np c. Jika n dan p adalah dua bilangan bulat. Keterangan : function pos akan menghasilkan urutan atau posisi substr di S.Trunc(2. Huruf ‘A’ tercetak b. manakah dari berikut ini bil ganjil? a. Tidak dapat dipastikan d. dan n + p berharga ganjil. 6. Selisih antara n dan p pasti ganjil sehingga jika ditambah 1 menjadi genap. C:=A+B. n2 + p2 – 1 d. end else Writeln('B'). Jika tidak ditemukan. (p – n)(n – p) Pembahasan . B:='HEBAT'. maka akan menghasilkan 0.23) akan menghasilkan 2 Sehingga k:=trunc(sqrt(i))+1. C:string[10]. Tidak bisa di compile Pembahasan: Kesalahan pertama yang akan ditemui program adalah pada function pos. Pada program function pos hanya terdiri dari 1 parameter saja sehingga program tidak akan dapat dijalankan. Terjadi error e. Apa yang terjadi jika program di atas di jalankan. .B:string. Deklarasi : Function Pos (Substr : String. 3p + 5n e. end. akan menghasilkan 3 5. a. n – p + 1 b. S : String) : Integer.. Mengacu pada program berikut : var A..

Keterangan : membulatkan bilangan X. H. I.B bukan karena perkalian antara suatu bilangan genap dengan bilangan apapun akan menjadi genap. yang mungkin lebih besar atau lebih kecil dari X. tetap genap. dua atase militer dan dua wakil kamar dagang negara masing-masing. duduk berseberangan dgn H. dan ganjil tetap ganjil. E benar.7) akan menghasilkan 1 8. 7. 4 Pembahasan: Fungsi frac (lihat pembahasan di atas) Fungsi round Deklarasi : Function Round (X : Real) : Longint.dan tidak ada satupun yang berseberangan dengan atase militer R · G bukan atase militer. C. · Kuping kanan G tuli shg ia harus paling kanan dari delegasi R. B. dan E. dan jumlah dua bilangan ganjil menjadi genap. 2 d. G. D. · Baik D maupun F bukan ketua. Delegasi-delegasi dari negara W dan negara R duduk berhadap-hadapan pada meja perundingan. Delegasi R beranggotakan F. 0 b.7))). Frac(3. Apa keluaran program di atas ? a. 3 e. . dan J. kemudian ganjil ditambah genap dan dikurang ganjil menjadi genap. · Para atase militer W.1 c. · C wakil dari kamar dagang. Delegasi W beranggotakan A. Masing-masing delegasi terdiri atas seorang ketua.7 Round(0. C bukan karena pangkat bulat positif berapapun dari bilangan genap. Perhatikan potongan program berikut : begin writeln(round(frac(3. karena perkalian antara dua bilangan ganjil menghasilkan bilangan ganjil. didudukkan berdampingan. end. D bukan karena pangkat bulat positif berapapun dari bilangan ganjil tetap bilangan ganjil. Masing-masing delegasi berada pada sisi-sisi memanjang berlainan (satu negara pada sisi yang sama dan ketua duduk di tengah delegasinya). Batasan dalam mengatur urutan duduk mereka: · Delegasi W menempatkan A dan B di kedua ujung barisannya.7) akan menghasilkan 0. salah seorangnya B.

Jadi tinggal pilihan (A) yang paling mungkin. Atase militer yang duduk di sebelah J Pembahasan Dibuat diagram sbb x1–x2–x3–x4–x5 negara W y1–y2–y3–y4–y5 negara R Dari (1) kemungkinan {x1.A} Dari (2) maka y5=G yang karena pernyataan (4) dan (5) (G bukan a.Manakah yang paling mungkin mengenai F berikut? a. (Note: ini bukan satu-satunya kemungkinan. atau F=y4 (wakil kamar dagang).m dan B adalah a. Jika atase militer maka (D) dan (E) salah karena sebelah y1 adalah H.x5} adalah {A. 9. end. secara sintaks belum tentu sama dengan Pascal). Atase militer yang duduk di sebelah I e. Jika wakil kamar dagang maka (B) salah karena H atase militer dan (C) salah karena B ada di depan G. sehingga (atase militer dengan bold) A –x2–x3–x4– B y1–y2–y3–y4–G Dari pernyataan (6) dan (4) diperoleh C = x2 dan y2 = H. Wakil kamar dagang yang duduk berseberangan dengan B d. Wakil kamar dagang yang duduk di sebelah I b.B} atau {B. function f(n: int) begin if n=0 then f:=0 else f := n + f(n-1). Wakil kamar dagang yang duduk di sebelah H c. Diberikan penggalan program sebagai berikut. Berapakah nilai f(5) ? (A) 125 (B) 0 .m) menyebabkan x5=B. sehingga A –C –x3–x4– B y1–H –y3–y4–G Dari pernyataan (3) dan diagram di atas D = x4 dan F = y1 atau y4 A –C –E –D –B y1–H –y3–y4– G Jadi tinggal 2 kemungkinan F=y1 (atase militer). (note: program ini merupakan Pascal-like pseudocode.Kemungkinan lainnya masih ada tapi tidak ada di kelima pilihan itu).

kita lihat pernyataan yang disampaikan oleh B. yaitu mereka berdua adalah penipu. yang berarti bila nilai n ≠ 0. Di sebuah pulau terdapat dua golongan penduduk. Jika Anda bertemu dengan dua orang A dan B. (B) A adalah seorang penipu dan B adalah seorang ksatria. B mengatakan “Golongan kami berbeda?” Hal ini mengandung arti bahwa golongan A dan B adalah sama. jawaban yang benar adalah (D) 15 10. dimana n = 5. Jawaban soal nomor 10: Perhatikan deskripsi pertanyaan di atas! A mengatakan bahwa B adalah seorang ksatria (kalau hal ini benar. secara awam artinya adalah bila nilai n = 0. maka nilai f = n + f (n-1) Berapa nilai f(5)…? Perhitungan : f(5). (D) Terkadang A dan B dapat berganti golongan. Dengan demikian. (E) Keduanya adalah penipu. berarti A dan B adalah penipu karena A sudah berbohong dengan mengatakan bahwa B adalah seorang ksatria padahal sebenarnya B adalah penipu). . Golongan apakah yang tepat untuk A dan B jika A berkata “B adalah seorang ksatria” dan B berkata “Golongan kami berbeda”? (A) A adalah seorang ksatria dan B adalah seorang penipu. dan yang lain adalah penipu yang selalu berbohong. maka f = 5 + f(4) = 5 + (4 + f(3)) = 5 + 4 + (3 + f(2)) = 5 + 4 + 3 + (2 + f(1)) = 5 + 4 + 3 + 2 + 1 + 0 = 15 Dengan demikian. Untuk memastikannya.(C) 5 (D) 15 (E) 25 Jawaban soal nomor 9: Soal ini merupakan soal algoritma pemrograman mengenai function. berarti A juga seorang ksatria (jujur). tetapi kalau ini tidak benar. ksatria yang selalu bicara jujur. maka nilai f = 0 else f:= n + f (n-1) . Inti soal di atas adalah sebagai berikut : if n=0 then f:=0 . jawabannya adalah (E) Keduanya adalah penipu. (C) Keduanya adalah ksatria.

walaupun total murid yang mendapatkan nilai 10 bertambah 8%. Jawaban soal nomor 16: Untuk menjawab pertanyaan ini. Jawaban (C) : tidak bisa dipastikan bahwa jumlah murid tiap kelas lanjutan yang mendapat nilai 10 naik lebih dari 8%.11. maka Maya tidak makan bakso dan tidak pergi ke bioskop. Jawaban (E) : pernyataan ini pasti benar. karena mungkin saja dari total kenaikan 8% tersebut. . sesudah itu pergi ke bioskop. Kalimat manakah yang dapat disimpulkan dari uraian di atas: (A) Ibu Guru memiliki jumlah murid di kelas lanjutan lebih banyak daripada di kelas pemula. salah satu dari kelas lanjutan mendapat nilai lebih dari 8%. tetapi murid kelas pemula yang dapat nilai 10 turun. alternatif jawaban yang paling benar adalah (E) Jumlah murid kelas lanjutan yang mendapat nilai 10 naik lebih banyak dibanding murid kelas pemula. III. Dari pernyataan pada soal diketahui bahwa total murid yang mendapat nilai 10 naik 8%.” Bila kalimat tersebut benar. (B) Ibu Guru memiliki jumlah murid di kelas lanjutan lebih sedikit daripada di kelas pemula. Jika Maya makan bakso dan tidak pergi ke bioskop maka hari itu bukan hari Sabtu. karena soal tidak menyinggung tentang jumlah murid per kelas. Jika suatu hari Maya makan bakso dan pergi ke bioskop maka hari itu adalah hari sabtu. Maya makan bakso. (C) Jumlah murid di tiap kelas lanjutan yang mendapat nilai 10 naik lebih dari 8%. Ibu Guru mengajarkan kursus Bahasa Inggris. (D) Paling tidak satu dari kelas lanjutan memiliki kenaikan mendapat nilai 10 lebih dari 8%. Jika bukan Hari Sabtu. Dari hasil ujian pertama dan kedua. Dari alternatif jawaban yang disediakan. Ada tiga kelas tingkat pemula dan dua kelas tingkat lanjutan. kita tinjau alternatif jawaban yang disediakan satu per satu. (E) Jumlah murid kelas lanjutan yang mendapat nilai 10 naik lebih banyak dibanding murid kelas pemula. II. Ini berarti bahwa jumlah murid kelas lanjutan yang mendapat nilai 10 naik lebih banyak daripada murid kelas pemula. namun jumlah murid dari kelas pemula yang mendapatkan nilai 10 berkurang. Jawaban (A) dan (B) tidak mungkin benar. manakah kalimat berikut ini yang juga harus benar? I. 12. Jawaban (D) : ada kemungkinan benar. ”Hanya pada hari Sabtu. jadi jawaban (C) ini salah.

Untuk keperluan ini. Jika hal itu benar.(A) (B) (C) (D) (E) hanya I hanya II hanya II hanya I dan III hanya II dan III Jawaban soal nomor 11: Pernyataan pada soal adalah: “Hanya pada hari Sabtu. sesudah itu pergi ke bioskop”. Jika suatu hari Maya makan bakso dan pergi ke bioskop. (E) Beberapa dari gedung-gedung asrama berlantai dua tidak memiliki tangga darurat. maka hari itu bukan hari Sabtu. Maya hanya makan bakso. Maya makan bakso dan pergi ke bioskop”) II. . (Pernyataan ini benar. (B) Kamar-kamar di lantai ke tiga tidak memiliki tangga darurat. manakah dari berikut ini yang benar? (A) Kamar-kamar di lantai ke dua tidak memiliki tangga darurat. (C) Hanya kamar-kamar di atas lantai ke dua yang memiliki tangga darurat. Maya makan bakso. Berarti hari itu bukan hari Sabtu) Dengan demikian. dan dia tidak pergi ke bisokop. yaitu sebagai berikut: I. Dari tiga pernyataan tambahan. pernyataan yang benar adalah pernyataan II dan III. kita diminta untuk menentukan pernyataan yang sesuai dengan pernyataan pada soal. (D) Kamar-kamar di lantai ke empat memiliki tangga darurat. Setiap kamar pada setiap gedung mulai dari lantai ke 2 terus ke atas. Maya makan bakso. kalau Maya makan bakso dan pergi ke bioskop. maka Maya tidak makan bakso dan tidak pergi ke bioskop. Gedung-gedung asrama dibangun dengan 2 hingga 6 lantai. Perhatikan pernyataan pada soal mengandung arti bahwa ”Hanya pada hari Sabtu. Sesuai pernyataan pada soal. Jika Maya makan bakso dan tidak pergi ke bioskop. dan berarti jawaban yang benar adalah (E) hanya II dan III. kita harus menganalisis pernyataan-pernyataan lain tersebut. 13. harus memiliki tangga darurat untuk menghadapi kemungkinan kebakaran. (Pernyataan ini salah. maka hari itu pastilah hari Sabtu) III. karena bisa saja Maya makan bakso ataupun pergi ke bioskop di hari selain Sabtu. Jika bukan hari Sabtu. sesudah itu pergi ke bioskop”. maka hari itu adalah hari Sabtu. bukannya ”Hanya pada hari Sabtu. (Pernyataan ini benar.

end.write(5) Jadi. Pada pemanggilan jalan(49) pada procedure di atas ini apa yang akan dicetaknya kemudian? Pembahasan perhatian dengan baik program tersebut.Jawaban soal nomor 18: Pernyataan jawaban yang paling sesuai dengan pernyataan pada soal adalah jawaban (D) Kamar-kamar di lantai ke empat memiliki tangga darurat. begin jalan(n div 5). begin if n > 0 then begin jalan(n div 5). end. Diberikan penggalan program berikut : procedure jalan(n: integer). write(n mod 5 + 1). yang akan tercetak adalah 255 15. write(n mod 5 + 1). end akan di jalankan. 14.. jalan(49) : . jika nilai n tersebut lebih besar dari nol maka statmen dibawahnya akan di jalankan. end.jalan(9) ‐ jalan(1) ‐ jalan(0) ‐ write(2) ‐ write(5) . karena terdapat begin … end di bawahnya jadi 2 statmen di antara begin . .

Sign up to vote on this title
UsefulNot useful