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);

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

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

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

Wakil kamar dagang yang duduk di sebelah I b. 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. 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. Jadi tinggal pilihan (A) yang paling mungkin. (note: program ini merupakan Pascal-like pseudocode.m) menyebabkan x5=B. Jika wakil kamar dagang maka (B) salah karena H atase militer dan (C) salah karena B ada di depan G.Kemungkinan lainnya masih ada tapi tidak ada di kelima pilihan itu). 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). Atase militer yang duduk di sebelah I e. secara sintaks belum tentu sama dengan Pascal).B} atau {B. Jika atase militer maka (D) dan (E) salah karena sebelah y1 adalah H. function f(n: int) begin if n=0 then f:=0 else f := n + f(n-1). Berapakah nilai f(5) ? (A) 125 (B) 0 . 9.Manakah yang paling mungkin mengenai F berikut? a. Wakil kamar dagang yang duduk di sebelah H c. Wakil kamar dagang yang duduk berseberangan dengan B d. end.m dan B adalah a. atau F=y4 (wakil kamar dagang). Diberikan penggalan program sebagai berikut.x5} adalah {A. (Note: ini bukan satu-satunya kemungkinan.A} Dari (2) maka y5=G yang karena pernyataan (4) dan (5) (G bukan a.

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

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

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

begin if n > 0 then begin jalan(n div 5).jalan(9) ‐ jalan(1) ‐ jalan(0) ‐ write(2) ‐ write(5) . end. 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. 14.. Diberikan penggalan program berikut : procedure jalan(n: integer). write(n mod 5 + 1). end. end.write(5) Jadi. . jalan(49) : . write(n mod 5 + 1). yang akan tercetak adalah 255 15. karena terdapat begin … end di bawahnya jadi 2 statmen di antara begin . begin jalan(n div 5). end akan di jalankan. jika nilai n tersebut lebih besar dari nol maka statmen dibawahnya akan di jalankan.

Sign up to vote on this title
UsefulNot useful