Soal Program Pascal

26
Program Pascal Bahasa pascal adalah bahasa pemrograman tingkat tinggi yang dikembangkan oleh Niklaus Wirth di Zurich pada akhir 1960-an hingga awal 1970-an. Pascal merupakan bahasa pemrograman yang terstruktur, sehingga sering digunakan sebagai sarana awal untuk mempelajari teknik pemrograman komputer. ---------- Mata kuliah Komputer II memperkenalkan Anda pada algoritma dan pemrograman komputer secara sederhana dengan bahasa Pascal dan C++, dan memberikan beberapa contoh penggunaan algoritma dan pemrograman dengan bahasa Pascal dan C++ dalam bidang matematika maupun bidang umum. Mata kuliah ini merupakan lanjutan dari mata kuliah Komputer I, oleh karena itu penguasaan materi mata kuliah Komputer I merupakan prasyarat mengikuti mata kuliah ini. Mata kuliah ini berbobot 2 sks yang disajikan dalam 6 modul. Setelah mempelajari mata kuliah ini, diharapkan Anda dapat membuat algoritma dan pemrogramannya dalam bahasa Pascal dan C++. Tujuan mata kuliah ini dirinci menjadi tujuan instruksional umum (TIU) untuk setiap modul yaitu Anda dapat: menjelaskan pengertian dari algoritma dan pemrograman dalam bahasa Pascal dan C++; membuat algoritma sequential dan conditional serta pemrogramannya sebagai metode pemecahan masalah matematika; membuat algoritma pengulangan dan pemrogramannya sebagai metode pemecahan masalah matematika; membuat algoritma tentang prosedur dan fungsi serta pemrogramannya dalam bahasa Pascal dan C++; membuat algoritma dengan data array serta pemrogramannya dalam bahasa Pascal dan C++; membuat algoritma pemecahan masalah di bidang pendidikan dan non pendidikan serta pemrogramannya dalam bahasa Pascal dan C++.

description

soal 2

Transcript of Soal Program Pascal

Page 1: Soal Program Pascal

Program PascalBahasa pascal adalah bahasa pemrograman tingkat tinggi yang dikembangkan

oleh Niklaus Wirth di Zurich pada akhir 1960-an hingga awal 1970-an. Pascal merupakan bahasa pemrograman yang terstruktur, sehingga sering digunakan sebagai sarana awal untuk mempelajari teknik pemrograman komputer.

----------Mata kuliah Komputer II memperkenalkan Anda pada algoritma dan pemrograman komputer secara sederhana dengan bahasa Pascal dan C++, dan memberikan beberapa contoh penggunaan algoritma dan pemrograman dengan bahasa Pascal dan C++ dalam bidang matematika maupun bidang umum. Mata kuliah ini merupakan lanjutan dari mata kuliah Komputer I, oleh karena itu penguasaan materi mata kuliah Komputer I merupakan prasyarat mengikuti mata kuliah ini.

Mata kuliah ini berbobot 2 sks yang disajikan dalam 6 modul. Setelah mempelajari mata kuliah ini, diharapkan Anda dapat membuat algoritma dan pemrogramannya dalam bahasa Pascal dan C++. Tujuan mata kuliah ini dirinci menjadi tujuan instruksional umum (TIU) untuk setiap modul yaitu Anda dapat:

menjelaskan pengertian dari algoritma dan pemrograman dalam bahasa Pascal dan C++; membuat algoritma sequential dan conditional serta pemrogramannya sebagai metode pemecahan masalah matematika; membuat algoritma pengulangan dan pemrogramannya sebagai metode pemecahan masalah matematika; membuat algoritma tentang prosedur dan fungsi serta pemrogramannya dalam bahasa Pascal dan C++; membuat algoritma dengan data array serta pemrogramannya dalam bahasa Pascal dan C++; membuat algoritma pemecahan masalah di bidang pendidikan dan non pendidikan serta pemrogramannya dalam bahasa Pascal dan C++. Berdasarkan kompetensi yang akan dicapai tersebut, maka untuk mengikuti mata kuliah ini Anda harus banyak melakukan praktek dengan menggunakan perangkat komputer dan perangkat lunak (software) Pascal dan C++. Materi yang disajikan tiap modul berdasarkan TIU yang dijabarkan adalah:

Pengantar Pemrograman Pemecahan Masalah Matematika I Pemecahan Masalah Matematika II Pemecahan Masalah Matematika III Pemecahan Masalah Matematika IV Pemecahan Masalah Aplikasi Materi pada modul 6 tentang Pemecahan Masalah Aplikasi merupakan materi pengayaan mata kuliah Komputer II yang diperuntukkan bagi Anda penggemar pemrograman komputer. Oleh karena itu, Ujian Akhir Semester (UAS) untuk mata kuliah ini tidak mencakup materi pada modul 6.

Page 2: Soal Program Pascal

Selanjutnya agar Anda berhasil dalam mempelajari materi yang tersaji pada mata kuliah ini, perhatikan dan turutilah beberapa saran berikut:

Bacalah setiap modul secara bertahap dan berulang-ulang, serta mempraktekkan semua teori yang memerlukan praktek; Jangan sekali-kali menganggap mudah atau ringan sesuatu pokok bahasan atau topik; Kerjakan latihan yang disediakan dengan tertib dan sungguh-sungguh; Jangan malu bertanya kepada siapapun yang diperkirakan dapat memberi penjelasan; Gunakan pertemuan kelompok dengan teman-teman sejawat untuk memantapkan penguasaan atas materi tertentu. Selamat belajar, semoga sukses!

Materi referensi:

BAHASA PASCALhttp://www.rey1024.com/?p=12apakah belajar pascal itu berguna?http://www.gamexeon.com/forum/computer-s…komputer IIhttp://pustaka.ut.ac.id/puslata/online.p…

6 bulan lalu

Page 3: Soal Program Pascal

Contoh Soal Dan Pembahasan Olimpiade Komputer Materi For To Do2008 April 7tags: Olimpiade Komputerby Doantara yasa

untuk soal 1 -2y := 10;x := 0;for i := 0 to y-1 dobegin x:=x+ 2 * i;end;Writeln (x);

1. Berapakah output dari program diatas?a. 112b. 110c. 90d. 72e. 45   

PembahasanProgram diatas akan mengulang pernyataan x:=x +2*i sebanyak 10 kali dari i = 0 sampai 9.0 + 2*0 = 00 + 2*1= 22 + 2*2 = 66 + 2*3 = 1212 + 2*4= 2020 + 2*5= 3030 + 2*6= 4242 + 2*7= 5656 + 2*8= 72 76 + 2*9= 90jadi nilai x yang akan dimunculkan adalah 90.2. jika baris kelima (x:=x+2*i) diganti dengan x:= x + iBerapakah output program tersebut?a. 112b. 110c. 90d. 72e. 45

Pembahasan0 = 0 + 01 = 0 + 13 = 1 + 2

Page 4: Soal Program Pascal

6 = 3 + 310 = 6 + 415 = 10 + 521 = 15 + 628 = 21 + 736 = 28 + 845 = 36 + 9jadi output nya adalah 45.untuk soal no 3program x;vari,j,k,l : integer;beginfor i:= 1 to 2 dofor j := 1 to 2 dowrite (i*j);end.

3. output program diatas adalah?a. 4b. 6c. 9d. 123246369e. 1     2     3     2     4     6     3     6     9

Pembahasana             i  *  j1) —>  1 * 1 = 1             2 * 1 = 2             3 * 1 = 32) —>  1 * 2 = 2             2 * 2 = 4             3 * 2 = 63) —>  1 * 3 = 3             2 * 3 = 6             3 * 3 = 9karena write jadi hasil yang akan dimunculkan berjejeer ke samping 123246369. Trims

Page 5: Soal Program Pascal

Var i, j, k,: integer;beginj:= 3;k:= 1;repeatdec(j) ;for I := 1 to j do k:= I + 5 * K;dec(j) :until j < 0;writeln(K);end.

apakah output dari program berikut..??

hasilnya 32

tapi saya ingin tahu penjelasannya?????

Doantara Yasa Berkata:Sebelumnya mohon maaf jika ada kesalahan dalam pembahasan, karena keterbatasan saya. saya hanya orang baru yang mencoba bergelut dibidang olimpiade ini karena tugas untuk membimbing siswa dalam olimpiade komputer, mohon juga masukannya. semoga blog ini bermanfaat.. salam kenal dan trimkasih buat komentarnya.lanjut ke permasalahan..

Var i, j, k,: integer;beginj:= 3;k:= 1;repeatdec(j) ;for i := 1 to j dok:= i + 5 * k;dec(j) :until j < 0;writeln(k);end.

apakah output dari program berikut..??

hasilnya 32

PembahasanSebelumnya perlu diketahui arti atau guna dari fungsi dec(j).

dec (fungsi) : mengurangi (decrements) nilai suatu variabelsintaks : dec (x, i); i >= 1x adalah varaibel yang dikurangii adalah nilai pengurang

Page 6: Soal Program Pascal

dalam penggalan program diatas terdapat dec (j) artinya pengurangan variabel j sebanyak 1 (karena ketentuan nilai pengurang lebih besar sama

dengan 1.Berikutnya mari kita coba untuk menjalankan pernyatan yang terdapat dalam begin end.repeatdec (3) = 2untuk i = 1k = 1 + 5 * 1k = 6dec (2) = 11 < 0 <—false {program masih dijalankan}

dec (1) = 0untuk i = 2k = 2 + 5 * 6k = 32dec (0) = -1-1 < 0 <— True {program berhenti dijalankan}

Jadi output program diatas adalah 32. Trims

www.toki.or.idhttp://olimpiade.orghttp://artofmathematics.wordpress.com

Contoh Soal Dan Pembahasan Olimpiade Komputer Materi Fungsi Dalam Turbo Pascal2008 April 4tags: soal olimpiade komputerby Doantara yasa

Untuk soal 1 – 2FUNCTION fak (x, y: integer) : Integer;BEGIN   if y:= 0 then fak := 1   else      fak := x * fak (x, y-1);END;Writeln (fak(5, 3)); 1. Apa hasil dari program di atas!   a. 125   b. 8

Page 7: Soal Program Pascal

   c. 81   d. 3   e. 15

Pembahasan :Ini adalah contoh kasus fungsi dengan mempergunakan rekursi (fungsi yang mampu memangil dirinya sendiri)Nilai x awal adalah 5, nilai  y awal adalah 3 makafak (5,3) —> 5 * fak (5, 3-1) = 5 * 25 = 125fak (5,2) —> 5 * fak (5, 2-1) = 5 * 5 = 25fak (5,1) —> 5 * fak (5,1-1) = 5 * 1 = 5fak (5,0) (proses selesai karena y =0)Jadi yang muncul adalah125

2. Jika writeln (fak(5,3)) diganti menjadi writeln (fak(4,5)), hasil dimunculkan adalah…    a. 20    b. 9    c. 1024    d. 64    e. 5

Pembahasan:Kasus ini sama seperti pada soal 1Nilai x awal adalah 4, nilai  y awal adalah 5 makafak (4,5) —> 4 * fak (4, 5-1) dengan mempergunakan hasil fak ( 4,4) –>  4 * 256 = 1024fak (4,4) —> 4 * fak (4, 4-1) dengan mempergunakan hasil fak ( 4,3) –>  4 * 64 = 256fak (4,3) —> 4 * fak (4,3-1) dengan mempergunakan hasil fak ( 4,2) –>  4 * 16 = 64fak (4,2) —> 4 * fak (4,2-1) dengan mempergunakan hasil fak ( 4,1) –>  4 * 4  = 16fak (4,1) —> 4 * fak (4,1-1) = 4 * 1 = 4fak (4,0) (proses selesai karena y =0)Jadi yang muncul adalah1024

3. Manakah yang salah dari deklarasi dibawah ini  a. function info(a:byte):real;  b. function info:byte;  c. function info(a,b:byte) : real;  d. function info(a: real; b:integer):real;  e. function info(a:real);

PembahasanIngat bentuk dekelarasi dari suatu fungsiFUNCTION nama_fungsi(daftar_fungsi):tipe;- daftar parameter berisi sejumlah parameter- tipe menyatakan tipe dari hasil fungsi- Jika fungsi tidak memiliki parameter, tanda () tidak perlu disertakan.jadi jawabannya adalah e.function info(a:real); 

Page 8: Soal Program Pascal

PETUNJUK KHUSUS :

I. Pilihlah salah satu jawaban yang tepat dengan memberi tanda silang (x) pada salah satu huruf jawaban a, b, c, d, dan e pada lembar jawaban.

1. Gambar yang membentuk sejumlah obyek garis dan kurva secara matematis disebut …..

a. Format c. Obyek Vektor e. Vektor

b. obyek d. Bitmap

2. Gambar yang membentuk obyek berdasarkan komposisi unsur warna, ttik, raster disebut…..

a. Format c. Vektor e. Obyek Bitmap

b. Bitmap d. Obyek

3. ruang penyimpanan format vektor relatif … daripada format bitmap

a. Lebih besar c. Lebih rendah e. sama

b. Lebih kecil d. Lebih PEndek

4. Software yang berhubungan dengan format vektor adalah….

a. Paint brush c. Corel Photo Show e. Macromedia Freehand

b. adobe Photoshop d. Movie Maker

5. Objek dua Dimensi kecuali….

a. garis c. lingkaran e. bujur sangkar

b. Balok d. Persegi

6. Dalam Toolbox di aplikasi CorelDraw Grapic terdapat ikon yang berguna untuk menggambar Secara bebas. Nama ikon tersebut adalah ….

a. Shape c. Smartdrawing e. Freehand

b. Pick d. Fill

7. Dalam Toolbox di aplikasi CorelDraw Grapic terdapat ikon yang berguna untuk menggambar obyek simetris. Nama ikon tersebut adalah …..

a. Shape c. Smartdrawing e. Freehand

Page 9: Soal Program Pascal

b. Pick d. Fill

8. Dalam Toolbox di aplikasi CorelDraw Grapic terdapat ikon yang berguna untuk menggambar obyek yang disediakan program nama ikon tersebut adalah….

a. Shape c. Smartdrawing e. Freehand

b. BasicShape d. Fill

9. Dalam Toolbox di aplikasi CorelDraw Grapic terdapat ikon yang berguna untuk mewarnai obyek. Nama ikon tersebut adalah….

a. Shape c. Smartdrawing e. Freehand

b. Pick d. Fill

10. Gambar yang membentuk obyek berdasarkan komposisi unsur warna, ttik, raster disebut…..

a. Format c. Vektor e. Obyek Bitmap

b. Bitmap d. Obyek

11. Dalam Toolbox di aplikasi CorelDraw Grapic terdapat ikon yang berguna untuk membuat obyek 3D. Nama ikon tersebut ….

a. Interactive blend c. Rectangle e. Paint

b. basic shape d. Smartdrawing

12. Fungsi Sub menu 3D effect dalam program coreldraw graphics adalah….

a. Membuat efek 3D dimensi d. membuat halaman baru

b. memberi warna pada benda 3 Dimensi e. Membuat tampilan 3D menjadi 2 D

c. Menggambar dengan bebas semua benda 3 dimensi

13. Berikut ini adalah menu-menu yang terdapat dalam corel Draw graphic kecuali….

a. File c. Utilities e. Effects

b. edit d. Bitmap

14. Hal-hal berikut yang paling tepat dilakukan dalam program Corel Draw Graphic adalah….

a. Membuat desain web c. Menulis naskah e. membuat presentasi

b. Mengolah Teks d. Membuat bentuk gambar garis

Page 10: Soal Program Pascal

15. Berikut ini yang tidak dapat dilakukan dari Corel Draw Graphic adalah….

a. Membuat dokumen d. Menggambar bentuk 3 dimensi

b. Mencetak dokumen e. Membuat desain web

c. Mengatur ukuran dokumen

16. Untuk membuat teks atau tulisan dalam Corel Draw Graphic Digunakan fasilitas

a. Type tool c. Text Tool e. Pen Tool

b. Transtool d. Teks Tool

17. Untuk menggambar kotak Corel Draw Graphic menggunakan….

a. Elipse Tool c. Poligon Tool e. Rectangle Tool

b. 2D Tool d. Shape Tool

18. Untuk mengganti tipe huruf dalam Corel Draw Graphic menggunakan fasilitas ….

a. Font setup c. Font Bold e. Font size

b. Font Tipe d. Font Artistic

19. Teknik Untuk memasukkan gambar dalam Corel Draw Graphic menggunakan perintah….

a. Open c. Export e. Cut

b. Insert d. Import

20. Fasilitas yang ada di Corel Draw Graphic untuk menggabungkan dua gambar menjadi satu, sehingga gambar tersebut dapat menjadi satu menggunakan perintah….

a. arrange c. combine e. group

b. tranfomation d. Lock Objek

II. Jawablah pertanyaan di bawah ini dengan benar

1. Jelaskan Kegunaan Corel Draw Graphic dan Adobe Photoshop, serta bedanya kedua program tersebut?

2. Jelaskan kegunaan Ikon Pick Tool dalam Corel Draw Graphic?

Page 11: Soal Program Pascal

3. Terangkan cara memasukkan gambar dalam Corel Draw

4. sebuah foto Gunung, bagaimana cara kita untuk menggambil gambar gunung, tanpa ada gambar yang lain.

5. Jelaskan kegunaan menu layer pada Adobe Photosop?

Materi Olimpiade Komputer, FOR TO dan FOR DOWNTO dalam Turbo Pacal2008 April 5by Doantara yasa

PERNYATAAN FOR  TOPernyataan FOR biasa digunakan untuk melakukan pengulangan yang jumlahnya telah diketahui sebelumnya, dengan proses mencacah naik.

Bentuk pernyatan for  sebagai berikut:              FOR variabel := nilai_awal TO nilai akhir DO pernyataan;

 berdasarkan  gambar, variabel bertindak sebagai variabel pengontrol perulangan. variabel akan diisi dengan nilai, dimulai dari nilai_awal hingga nilai_akhir untuk setiap putaran, dan untuk setiap putaran pernyataan akan dijalankan. variabel nilai_awal dan nilai_akhir harus bertipe sama dan harus berupa tipe ordinal dengan nilai_awal harus lebih atau sama dengan nilai_akhir

contoh program:

PROGRAM For1;Uses Crt;Var     x : integer;BEGIN    FOR x := 1 TO 10 DO

Page 12: Soal Program Pascal

         Writeln (‘Saya mencoba pernyataan FOR TO’);END.

Perogram diatas akan memunculkan dilayar Saya mencoba pernyataan FOR TO sebanyak 10 tulisan.

contoh program lainnya.PROGRAM For2;Uses Crt;Var     x : integer;BEGIN    FOR x := 1 TO 10 DO         Writeln (x);END.

HASIL12345678910

tetapi jika writeln(x) diganti dengan write (x) akan menghasilkan 1 2 3 4 5 6 7 8 9 10

PERNYATAAN FOR  DOWNTOPernyatan FOR DOWNTO merupakan kebalikan dari pernyataan FOR TO.

Bentuk pernyatan for  sebagai berikut:              FOR variabel := nilai_awal DOWNTO nilai akhir DO pernyataan;

PROGRAM ForDOWNTO1;Uses Crt;Var     x : integer;BEGIN    FOR x := 10 TO 1 DO         Write (x);END.

HASIL10 9 8 7 6 5 4 3 2 1

contoh program gabungan FOR TO dengan FOR DOWNTO

Page 13: Soal Program Pascal

PROGRAM Lat1;Uses crt;Var x,y,z : integer;BEGIN   FOR  x := 1 TO 4 DO              y :=  4  DOWNTO x DO    Write(x);Readln;END.

HASIL 4444333221

contoh soal olimpiade materi FOR DO segaera di post. Trims

SOAL & PEMBAHASAN SELEKSI TAHAP 1 OLIMPIADE KOMPUTER SMAN 1 METRO TAHUN 2009

SCORE PENILAIAN :BENAR = +4SALAH = -1TIDAK MENJAWAB = 0

Soal dan Pembahasan Seleksi I1. 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.000PembahasanX = Rp 3.000.000Tarif Pajak = 5% - 8%Harga televisi + pajak 5% = 3.150.0006% = 3.180.0007% = 3.210.0008% = 3.240.000

2. Manakah yang mendeklarasikan tipe enumerasi dengan tepat?a. Type a=integer;b. Type a=1..300;c. Type a=(baik, jelek, buruk);d. Type a=[baik, jelek, buruk];e. Type a=baik, jelek, buruk;

Page 14: Soal Program Pascal

3. Tipe di bawah ini mana yang tidak dapat melakukan operasi aritmatika?a. Integerb. Bytec. Reald. booleane. word

4. 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 validPembahasan:Opsi d adalah tipe data enumerasi. Tipe data enumerasi tidak dapat ditampilkan dengan perintah Writeln.

6. Perhatikan program berikut :var s:string;begins:='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 GETe. TOKI GO GEPembahasan: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.

Page 15: Soal Program Pascal

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!

7. Perhatikan penggalan program berikut :var i,k: integer;begini:=5; k:=0;k:=trunc(sqrt(i))+1;writeln(k);end.Apa keluaran program di atas ?a. 3b. 2.24c. 2d. 0e. program tidak dapat dijalankanPembahasan:Fungsi sqrt :Deklarasi : Function Sqrt (X : Real) : Real;Keterangan : menghasilkan akar pangkat dua dari x, di mana x harus positifFungsi 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.23Trunc(2.23) akan menghasilkan 2Sehingga k:=trunc(sqrt(i))+1; akan menghasilkan 3

8. Mengacu pada program berikut :varA,B:string;C:string[10];beginA:='TOKI MEMANG';B:='HEBAT';C:=A+B;if (Pos(B)>0) thenBeginWriteln('A');end elseWriteln('B');end.Apa yang terjadi jika program di atas di jalankan...a. Huruf ‘A’ tercetakb. Huruf ‘B’ tercetakc. Tidak dapat dipastikand. Terjadi errore. Tidak bisa di compile

Page 16: Soal Program Pascal

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.

9. Jika n dan p adalah dua bilangan bulat, dan n + p berharga ganjil, manakah dari berikut ini bil ganjil?a. n – p + 1b. np c. n2 + p2 – 1d. 3p + 5ne. (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.

10. vari,j : integer;beginfor i :=1 to 3 dofor j :=i to 3 dowrite(‘*’);writeln;end.Output program di atas :a. * *****

b. *********

c. ******

d. ******

Page 17: Soal Program Pascal

11. Perhatikan potongan program berikut :beginwriteln(round(frac(3.7)));end.Apa keluaran program di atas ?a. 0b . 1c. 2d. 3e. 4Pembahasan:Fungsi frac (lihat pembahasan di atas)Fungsi roundDeklarasi : Function Round (X : Real) : Longint;Keterangan : membulatkan bilangan X, yang mungkin lebih besar atau lebih kecil dari X.Frac(3.7) akan menghasilkan 0.7Round(0.7) akan menghasilkan 1

12. 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 Ib. Wakil kamar dagang yang duduk di sebelah Hc. Wakil kamar dagang yang duduk berseberangan dengan Bd. Atase militer yang duduk di sebelah Ie. Atase militer yang duduk di sebelah J

PembahasanDibuat diagram sbbx1–x2–x3–x4–x5 negara Wy1–y2–y3–y4–y5 negara RDari (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 –x2–x3–x4– By1–y2–y3–y4–G

Page 18: Soal Program Pascal

Dari pernyataan (6) dan (4) diperoleh C = x2 dan y2 = H, sehinggaA –C –x3–x4– By1–H –y3–y4–GDari pernyataan (3) dan diagram di atas D = x4 dan F = y1 atau y4A –C –E –D –By1–H –y3–y4– GJadi 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).

13. Berapakah jangkauan tipe data Word?a. 0…255b. 0…65536c. 0…65535d. -32768…32767e. Salah semua

14. Tipe data manakah yang dapat memuat bilangan pecahan?a. Byte b. Integer c. Booleand. Reale. LongInt

15. Dalam potongan program berikut,var Z1, Z2, Z3, Z4: set of Byte;beginZ1 := [1, 2, 6, 8, 9];Z2 := [3, 6, 8, 12, 14];Z3 := Z1 + Z2;Z4 := Z1 * Z2;end.Berapakah nilai akhir Z3 dan Z4?a. Z3 = [6, 7, 8]Z4 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]b. Z3 = [6, 8]Z4 = [1, 2, 3, 6, 8, 9, 12, 14]c. Z3 = [1, 2, 3, 6, 6, 8, 8, 9, 12, 14]Z4 = [6, 6, 8, 8]d. Z3 = [1, 2, 3, 6, 8, 9, 12, 14]Z4 = [6, 8]e. Salah semua

Soal di bawah ini untuk no. 16 s.d 186 orang pengusaha P – Q – R – S – T & U mengadakan rapat tertutup. Dgn formasi kursi diatur berjarak sama satu sama lain mengelilingi meja, sedemikian sehingga setiap kursi di seberangnya:

Page 19: Soal Program Pascal

- P tidak boleh ditempatkan di samping Q- R tidak boleh ditempatkan di samping S- T harus ditempatkan di samping S16. Jika R duduk di seberang Q, ada berapa kombinasi urutan keempat pengusaha lainnya dapat didudukana. 5b. 4c. 3d. 2e. 1

PembahasanUrutan 1 : R,P,U,Q,T,SUrutan 2 : P,U,Q,T,S,R

17. Jika P duduk di seberang T, siapa yg duduk di seberang S?a. Pb. Qc. Sd. Te. UPembahasanUrutan 1 : P, U,R,T,S,Q

18. Jika P duduk di seberang Q, siapa yang dapat ditempatkan di seberang T, jika I.S II.R III. U?a. Hanya IIb. Hanya III d. I, II dan IIIc. Hanya I dan IId. Hanya II dan IIIe. I, II dan III

PembahasanUrutan 1 : P,T,S,Q,R,UUrutan 2 : T,S,Q,R,U,PUrutan 3 : S,Q,R,U,P,TUrutan 4 : Q,R,U,P,T,S

19. Deklarasi manakah yang benar?a. type Anggota = recordNama: String[40];NomorAnggota: Word;End;b. type Anggota: recordNama = String;NomorAnggota = Word;End;c. type Anggota := recordNama := String[20];NomorAnggota := Word;

Page 20: Soal Program Pascal

End;d. Type Anggota = recordNama: String[];NomorAnggota: Word;end;e. Semua deklarasi di atas salah

20. Tipe data mana yang sanggup memuat numerik hingga 75000?a. Wordb. Integerc. Reald. Longinte. String

21. Seorang manajer perusahaan kecil sedang mengatur Jadwal kerja para pegawainya. Setiap hari kerja (Senin s.d Jumat, lima hari kerja seminggu) diperlukan paling sedikit tiga orang pegawai. Karena perusahaan ini masih kecil, jumlah pegawainya hanya ada lima orang yang bekerja secara paruh waktu (part time, artinya tidak masuk setiap hari lima hari seminggu), Ali hanya bisa masuk kerja pada hari Senin, Rabu, dan Jumat. Baiquini tidak bisa masuk kerja pada hari Rabu. Chali hanya bisa masuk kerja pada hari Selasa dan Rabu. Dita tidak bisa masuk kerja pada hari Jumat. Eko bisa masuk kerja kapan saja kecuali setiap hari Senin pertama dan setiap hari Kamis pertama dalam setiap bulan. Siapa saja yang selalu dapat masuk kerja pada hari Senin ?a. Dita, Baiquini, dan Alib. Ali, Eko, dan Chalic. Baiquini, Eko, dan Chalid. Eko, Chali, dan Ditae. Baiquini, Chali, dan Dita

PembahasanAli : Senin,Rabu,JumatBaiquini : Senin,Selasa,Kamis,JumatChali : Selasa, RabuDita : Senin,Selasa,Rabu,Kamis,Eko : Selasa, Rabu, Jumat

22. Siapa saja yang selalu dapat masuk kerja pada hari Jumat?a. Ali, Baiquini, dan Dita.b. Ali, Chali, dan Dita.c. Baiquini, Chali, dan Eko.d. Chali, Baiquini, dan Ali.e. Ali, Baiquni, dan Eko.

23. Pada hari apa kemungkinan sang manajer menghadapi kesulitan untuk mendapatkan minimum tiga orang pegawai ?a. Seninb. Selasac. Rabud. Kamis

Page 21: Soal Program Pascal

e. Jumat

PembahasanSenin = 3 pegawai pastiSelasa & Rabu = 4 pegawai siapKamis = 2 pegawai (Eko tidak dapat hadir senin dan minggu pertama)Jumat = 3 pegawai pasti

24. Pada hari apa sang manajer harus (tidak ada pilihan lain) untuk meminta Eko masuk kerja ?a. Seninb. Selasac. Rabud. Kamise. Jumat