Olympiade Komputer? Siapkan dirimu....

Komputer bukanlah sesuatu yang asing lagi untuk kita. Maka dalam hal ini pelajaran TIK yang telah diterapkan mulai bangku SMP harusnya telah menjadi pelajaran yang membangkitkan minat dan pengetahuan dasar dari bagaimana sejarah, struktur dan penerapan komputer disetiap lini kehidupan ini. Mungkin masih banyak rekan-rekan khususnya yang mempunyai rencana untuk mengambil sekolah kejuruan yang berhubungan dengan komputer ataupun sekolah universitas komputer, ada baiknya mengetahui dahulu seluk beluk dan dasar dari komputer itu sendiri.

Posting kali ini saya ingin mengulas mengenai olympiade komputer yang mungkin masih terdengar asing pada tahun 2000an. Karena setahu saya olympiade ini mulai di lombakan khususnya tingkat SMA Sederajat pada tahun 2004 di tingkat kota Palangkaraya.


Dengan seiringnya waktu, pelaksanaan olympiade komputer mulai lebih bergengsi lagi dan tidak kalah dengan olympiade lainnya seperti olympiade matematika yang soal-soalnya ditakuti.. :P Singkat saja, khususnya bagi anak didik yang gemar dan ingin mempersiapkan diri untuk mengikuti olympiade komputer tersebut, ada baiknya jauh-jauh hari telah belajar dan tidak hanya menunggu dilaksanakannya TC (Trainning Center) di sekolahnya.

Yang perlu diperhatikan dalam olympiade komputer khususnya tingkat SMA, kalian harus memperkuat logika matematika karena soal-soal yang disajikan nantinya bukanlah soal seperti pada mata pelajaran TIK waktu di SMP atau SMA yang membahas mengenai bagaimana menggunakan berbagai aplikasi komputer saat ini. Olympiade komputer merupakan kompetisi untuk mennyelesaikan suatu permasalahan dalam bentuk logika dan algoritma, dengan menggunakan kata kunci tertentu. Disarankan untuk mengenal bagaimana penggunaan kata kunci seperti IF, ELSE, serta tanda-tanda matematika lainnya.

Yeah, intinya apabila kita bisa menguasai algoritma dan lgika matematika itu telah menjadi modal yang cukup. Pembahasan mengenai algoritma dan logika ini akan saya bahas nanti secara khusus pada postingan selanjutnya. Apabila telah menguasai hal itu, maka kemampuan kita akan diterapkan pada suatu bahasa pemrograman. Oke untuk lebih jelas dan biar mata kita lebih melek lagi, saya sajikan contoh-contoh soal yang akan dilombakan pada olympiade komputer yang merupakan materi fungsi dalam bahasa pemrograman Pascal.


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

1. Apa hasil dari program di atas!
   a. 125
   b. 8
   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 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); 

Itu dulu yang dapat saya ulas pada posting kali ini. Untuk lebih dalamnya lagi mengenai olympiade komputer tunggu postingan saya selanjutnya. 

Tidak ada komentar:

Posting Komentar

Related Articel