untuk soal 1 -2
y := 10;
x := 0;
for i := 0 to y-1 do
begin
x:=x+ 2 * i;
end;
Writeln (x);
Pembahasan
Program diatas akan mengulang pernyataan x:=x +2*i sebanyak 10 kali dari i = 0 sampai 9.
0 = 0 + 2*0
2 = 0 + 2*1
6 = 2 + 2*2
12 = 6 + 2*3
20 = 12 + 2*4
30 = 20 + 2*5
42 = 30 + 2*6
56 = 42 + 2*7
72 = 56 + 2*8
90 = 76 + 2*9
jadi nilai x yang akan dimunculkan adalah 90.
Pembahasan
0=0+0
1=0+1
3=1+2
6=3+3
10 = 6 + 4
15 = 10 + 5
21 = 15 + 6
28 = 21 + 7
36 = 28 + 8
45 = 36 + 9
jadi output nya adalah 45.
untuk soal no 3
program x;
var
i,j,k,l : integer;
begin
for i:= 1 to 2 do
for j := 1 to 2 do
write (i*j);
end.
Pembahasan
i * j
1) —> 1 * 1 = 1
2*1=2
3*1=3
2) —> 1 * 2 = 2
2*2=4
3*2=6
3) —> 1 * 3 = 3
2*3=6
3*3=9
karena write jadi hasil yang akan dimunculkan berjejeer ke samping 123246369. Trims
Pembahasan
Sebelumnya perlu diketahui arti atau guna dari fungsi dec(j).
dec (fungsi) : mengurangi (decrements) nilai suatu variabel
sintaks : dec (x, i); i >= 1
x adalah varaibel yang dikurangi
i adalah nilai pengurang
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.
repeat
dec (3) = 2
untuk i = 1
k=1+5*1
k=6
dec (2) = 1
1 < 0 <—false {program masih dijalankan}
dec (1) = 0
untuk i = 2
k=2+5*6
k = 32
dec (0) = -1
-1 < 0 <— True {program berhenti dijalankan}
Jadi output program diatas adalah 32. Trims
Untuk soal 1 – 2
FUNCTION fak (x, y: integer) : Integer;
BEGIN
if y:= 0 then fak := 1
else
fak := x * fak (x, y-1);
END;
Writeln (fak(5, 3));
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 maka
fak (5,3) —> 5 * fak (5, 3-1) = 5 * 25 = 125
fak (5,2) —> 5 * fak (5, 2-1) = 5 * 5 = 25
fak (5,1) —> 5 * fak (5,1-1) = 5 * 1 = 5
fak (5,0) (proses selesai karena y =0)
Jadi yang muncul adalah
125
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 1
Nilai x awal adalah 4, nilai y awal adalah 5 maka
fak (4,5) —> 4 * fak (4, 5-1) dengan mempergunakan hasil fak ( 4,4) –> 4 * 256 = 1024
fak (4,4) —> 4 * fak (4, 4-1) dengan mempergunakan hasil fak ( 4,3) –> 4 * 64 = 256
fak (4,3) —> 4 * fak (4,3-1) dengan mempergunakan hasil fak ( 4,2) –> 4 * 16 = 64
fak (4,2) —> 4 * fak (4,2-1) dengan mempergunakan hasil fak ( 4,1) –> 4 * 4 = 16
fak (4,1) —> 4 * fak (4,1-1) = 4 * 1 = 4
fak (4,0) (proses selesai karena y =0)
Jadi yang muncul adalah
1024
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);
Pembahasan
Ingat bentuk dekelarasi dari suatu fungsi
FUNCTION 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);
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
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
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
1. Jelaskan Kegunaan Corel Draw Graphic dan Adobe Photoshop, serta bedanya kedua program
tersebut?
2. Jelaskan kegunaan Ikon Pick Tool dalam Corel Draw Graphic?
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 Pacal
PERNYATAAN FOR TO
Pernyataan 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
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.
HASIL
1
2
3
4
5
6
7
8
9
10
tetapi jika writeln(x) diganti dengan write (x) akan menghasilkan 1 2 3 4 5 6 7 8 9 10
PERNYATAAN FOR DOWNTO
Pernyatan 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.
HASIL
10 9 8 7 6 5 4 3 2 1
contoh program gabungan FOR TO dengan FOR DOWNTO
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 = +4
SALAH = -1
TIDAK MENJAWAB = 0
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
3. Tipe di bawah ini mana yang tidak dapat melakukan operasi aritmatika?
a. Integer
b. Byte
c. Real
d. boolean
e. 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 valid
Pembahasan:
Opsi d adalah tipe data enumerasi. Tipe data enumerasi tidak dapat ditampilkan dengan perintah
Writeln.
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!
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
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 + 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.
10. var
i,j : integer;
begin
for i :=1 to 3 do
for j :=i to 3 do
write(‘*’);
writeln;
end.
Output program di atas :
a. *
**
***
b. ***
***
***
c. ***
**
*
d. ******
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
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.
Pembahasan
Urutan 1 : R,P,U,Q,T,S
Urutan 2 : P,U,Q,T,S,R
18. Jika P duduk di seberang Q, siapa yang dapat ditempatkan di seberang T, jika I.S II.R III. U?
a. Hanya II
b. Hanya III d. I, II dan III
c. Hanya I dan II
d. Hanya II dan III
e. I, II dan III
Pembahasan
Urutan 1 : P,T,S,Q,R,U
Urutan 2 : T,S,Q,R,U,P
Urutan 3 : S,Q,R,U,P,T
Urutan 4 : Q,R,U,P,T,S
20. Tipe data mana yang sanggup memuat numerik hingga 75000?
a. Word
b. Integer
c. Real
d. Longint
e. 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 Ali
b. Ali, Eko, dan Chali
c. Baiquini, Eko, dan Chali
d. Eko, Chali, dan Dita
e. Baiquini, Chali, dan Dita
Pembahasan
Ali : Senin,Rabu,Jumat
Baiquini : Senin,Selasa,Kamis,Jumat
Chali : Selasa, Rabu
Dita : 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. Senin
b. Selasa
c. Rabu
d. Kamis
e. Jumat
Pembahasan
Senin = 3 pegawai pasti
Selasa & Rabu = 4 pegawai siap
Kamis = 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. Senin
b. Selasa
c. Rabu
d. Kamis
e. Jumat