You are on page 1of 9

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

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

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

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

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

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

11. Ibu Guru mengajarkan kursus Bahasa Inggris. Ada tiga kelas tingkat pemula dan dua kelas tingkat lanjutan. Dari hasil ujian pertama dan kedua, walaupun total murid yang mendapatkan nilai 10 bertambah 8%, namun jumlah murid dari kelas pemula yang mendapatkan nilai 10 berkurang. Kalimat manakah yang dapat disimpulkan dari uraian di atas: (A) Ibu Guru memiliki jumlah murid di kelas lanjutan lebih banyak daripada di kelas pemula. (B) Ibu Guru memiliki jumlah murid di kelas lanjutan lebih sedikit daripada di kelas pemula. (C) Jumlah murid di tiap kelas lanjutan yang mendapat nilai 10 naik lebih dari 8%. (D) Paling tidak satu dari kelas lanjutan memiliki kenaikan mendapat nilai 10 lebih dari 8%. (E) Jumlah murid kelas lanjutan yang mendapat nilai 10 naik lebih banyak dibanding murid kelas pemula. Jawaban soal nomor 16: Untuk menjawab pertanyaan ini, kita tinjau alternatif jawaban yang disediakan satu per satu. Jawaban (A) dan (B) tidak mungkin benar, karena soal tidak menyinggung tentang jumlah murid per kelas. Jawaban (C) : tidak bisa dipastikan bahwa jumlah murid tiap kelas lanjutan yang mendapat nilai 10 naik lebih dari 8%, jadi jawaban (C) ini salah. Jawaban (D) : ada kemungkinan benar, karena mungkin saja dari total kenaikan 8% tersebut, salah satu dari kelas lanjutan mendapat nilai lebih dari 8%. Jawaban (E) : pernyataan ini pasti benar. Dari pernyataan pada soal diketahui bahwa total murid yang mendapat nilai 10 naik 8%, tetapi murid kelas pemula yang dapat nilai 10 turun. Ini berarti bahwa jumlah murid kelas lanjutan yang mendapat nilai 10 naik lebih banyak daripada murid kelas pemula. Dari alternatif jawaban yang disediakan, alternatif jawaban yang paling benar adalah (E) Jumlah murid kelas lanjutan yang mendapat nilai 10 naik lebih banyak dibanding murid kelas pemula. 12. Hanya pada hari Sabtu, Maya makan bakso, sesudah itu pergi ke bioskop. Bila kalimat tersebut benar, manakah kalimat berikut ini yang juga harus benar? I. Jika bukan Hari Sabtu, maka Maya tidak makan bakso dan tidak pergi ke bioskop. II. Jika suatu hari Maya makan bakso dan pergi ke bioskop maka hari itu adalah hari sabtu. III. Jika Maya makan bakso dan tidak pergi ke bioskop maka hari itu bukan 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, Maya makan bakso, sesudah itu pergi ke bioskop. Dari tiga pernyataan tambahan, kita diminta untuk menentukan pernyataan yang sesuai dengan pernyataan pada soal. Untuk keperluan ini, kita harus menganalisis pernyataan-pernyataan lain tersebut, yaitu sebagai berikut: I. Jika bukan hari Sabtu, maka Maya tidak makan bakso dan tidak pergi ke bioskop. (Pernyataan ini salah, karena bisa saja Maya makan bakso ataupun pergi ke bioskop di hari selain Sabtu. Perhatikan pernyataan pada soal mengandung arti bahwa Hanya pada hari Sabtu, Maya makan bakso, sesudah itu pergi ke bioskop, bukannya Hanya pada hari Sabtu, Maya makan bakso dan pergi ke bioskop) II. Jika suatu hari Maya makan bakso dan pergi ke bioskop, maka hari itu adalah hari Sabtu. (Pernyataan ini benar. Sesuai pernyataan pada soal, kalau Maya makan bakso dan pergi ke bioskop, maka hari itu pastilah hari Sabtu) III. Jika Maya makan bakso dan tidak pergi ke bioskop, maka hari itu bukan hari Sabtu. (Pernyataan ini benar. Maya hanya makan bakso, dan dia tidak pergi ke bisokop. Berarti hari itu bukan hari Sabtu) Dengan demikian, pernyataan yang benar adalah pernyataan II dan III, dan berarti jawaban yang benar adalah (E) hanya II dan III. 13. Gedung-gedung asrama dibangun dengan 2 hingga 6 lantai. Setiap kamar pada setiap gedung mulai dari lantai ke 2 terus ke atas, harus memiliki tangga darurat untuk menghadapi kemungkinan kebakaran. Jika hal itu benar, manakah dari berikut ini yang benar? (A) Kamar-kamar di lantai ke dua tidak memiliki tangga darurat. (B) Kamar-kamar di lantai ke tiga tidak memiliki tangga darurat. (C) Hanya kamar-kamar di atas lantai ke dua yang memiliki tangga darurat. (D) Kamar-kamar di lantai ke empat memiliki tangga darurat. (E) Beberapa dari gedung-gedung asrama berlantai dua tidak memiliki tangga darurat.

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); begin if n > 0 then begin jalan(n div 5); write(n mod 5 + 1); end; end; Pada pemanggilan jalan(49) pada procedure di atas ini apa yang akan dicetaknya kemudian? Pembahasan perhatian dengan baik program tersebut, jika nilai n tersebut lebih besar dari nol maka statmen dibawahnya akan di jalankan. karena terdapat begin end di bawahnya jadi 2 statmen di antara begin .. end akan di jalankan. begin jalan(n div 5); write(n mod 5 + 1); end; jalan(49) : - jalan(9) jalan(1) jalan(0) write(2) write(5) - write(5) Jadi, yang akan tercetak adalah 255
15.

You might also like