Anda di halaman 1dari 7

BUKU BAHAN AJAR PERSIAPAN MENUJU OLIMPIADE SAINS

NASIONAL SMA

BAB I. MENGENAL BAHASA PEMROGRAMAN

Pada Bab 1 ini akan dibahas secara jelas tentang bahasa pemrograman sesuai dengan
fasilitas yang diberikan.bahasa pemrograman tersebut dibagi atas 6 bagian yaitu :
A. Fortran(Formula Translation)
Ditujukan untuk mempermudah pembuatan aplikasi matematika tetapi kode
sumbernya lebih sulit dipahami dibandingkan dengan bahasa pemrograman lainnya.
B. Cobol(Common Business oriented language)
Ditujukan untuk mempermudah pembuatan aplikasi dibidang bisnis.
C. Basic(Beginner all purpose symbolic intrruction code)
Digunakan sebagai pengajaran dasar untuk bahasa pemrograman
sederhana.keunggulan basic ini adalah kemudahannya untuk dipakai karena
penggunaannya dengan bahasa inggris yang mirip dengan kehidupan sehari-hari.
D. Pascal
Digunakan untuk memecahkan masalah sehari-hari dengan menggunakan
komputer.keunggulan bahasa pascal adalah keteraturan dalam pembuatan program
dan kelengkapan struktur data.
E. Bahasa C
Digunakan untuk menyusun sistem operasi linux dan unix.keunggulan bahasa C
adalah kemudahan akses terhadap hardware serta cepat dan efisien.
F. Bahasa Java
Adalah bahasa yang menyediakan sarana untuk membuat program yang dapat
berjalan pada web browser seperti Internet Explorer.

BAB II. FREE PASCAL

Pada bab II, dijelaskan alasan mengapa Pascal dipilih sebagai bahasa pemrograman
dalam OSN bidang komputer , yaitu diantaranya karena bahasa pascal adalah bahasa yang
sangat mudah dibaca dan dikelola dibandingkan bahasa C,Pascal tidak memerlukan
makefiles, kompilasi Pascal yang cepat, nama identifier tidak harus berbeda untuk tiap unit,
mempunyai Integrated Development Environment (IDE) yang dapat bekerja dalam beberapa
platform, integrasi yang baik dengan assembler,mensuport secara penuh OOP(Object
Oriented Programming), support database,smart linking dan, kompatibel dengan kompiler
Pascal lain.
Free Pascal didistribusikan secara gratis dibawah lisensi GNU Public . Free Pascal
tersedia untuk berbagai macam prosesor dan mendukung berbagai macam sistem operasi.
Untuk menginstal Free Pascal dibutuhkan hardware dengan prosesor intel 80386 atau yang
lebih tinggi, memori sedikitnya 4 Mb, free space di harddisk sedikitnya 3Mb. Cara
menginstal Free Pascal yaitu dengan menjalankan file INSTALL.EXE.
IDE menyediakan user interface yang nyaman untuk penulisan program. Pengeditan
teks pada IDE sama seperti pada editor lain. Secara standard, mode pengetikan pada IDE
Free Pascal adalah Insert Mode,artinya semua teks yang diketikkan akan diletakkan
disamping teks yang ada setelah posisi kursor, namun dapat diubah ke Overwrite mode
dengan Ctrl-V. Untuk memblok teks dapat menggunakan mouse dengan melakukan drag dan
menggunakan kombinasi tombol keyboard,diantaranya menggnakan tombol shift dan tanda
panah.Beberapa perintah yang berlaku pada saat pengeblokan diantaranya menghapus blok
(Ctrl-KY), menulis blok ke (Ctrl-KW).
Untuk menandai suatu posisi Free Pascal dapat memberikan tanda hingga 9
bookmark dalam sebuah file. Pemberian bookmark menggunakan Ctrl-K, sedangkan untuk
menuju ke tanda tersebut menggunakan Ctrl-Q. IDE Free Pascal menyediakan fasilitas
Syntax Highlight (warna yang berbeda untuk tiap Syntax).Code Completion pada Pascal
dimana editor akan memberikan kemungkinan perintah yang akan diketik untuk dilengkapi.
Tekan enter untuk menerima daftar kunci yang mungkin dimaksud oleh pengguna. Code
Templates adalah cara untuk memasukkan kode-kode perintah secara sekaligus, yaitu dengan
mengetikkan namanya lalu menekan Ctrl-J ketika kursor berada di posisi nama template.
Program yang telah dikompilasi dapat dijalankan langsung lewat IDE dengan
memilih menu run, lalu pilih run.Program akan terus berjalan dan berhenti apabila terjadi
error, adanya breakpoint, program direset oleh pengguna, berhenti secara normal, atau
program telah dikompilasi dengan debug information. Program telah dikompilasi dengan
debug information dapat dijalankan hingga baris tertentu dengan memilih menu run,
selanjutnya pilih Go to cursor.
Untuk menghentikan program, dapat dilakukan dengan memilih run, selanjutnya
pilih program reset. Dengan mendebug program, maka pengguna dapat menjalankan program
hingga baris tertentu (breakpoint), dan melihat isi variabel memori sementara program
berjalan.
Untuk menentukan breakpoint, dapat menggunakan menu Debug dan pilih
Breakpoint. Untuk menghapus, dapat menggunakan menu Debug. Fasilitas watch adalah
fasilitas untuk melihat isi variabel memori pada saat program dihentikan. Watch dapat
ditampilkan dengan memilih menu Debug, lalu pilih Add Watch dan untuk berpindah jendela
watch, dapat menggunakan tombol F6.
Call Stack adalah sebuah fasilitas di IDE untuk melihat eksekusi subrutin yang
sedang dijalankan program. Untuk menampilkan Call Stack dapat menggunakan menu
Debug, lalu pilih Call Stack. Dengan menekan spasi pada jendela Call Stack, baris program
akan diarahkan pada baris pemanggilan subrutin.
Tabel ASCII dapat ditampilkan lewat IDE dengan menggunakan menu Tools, lalu
pilih Ascii table. Calculator juga tersedia lewat menu Tools, lalu pilih Calculator. Kalkulator
ini mendukung operasi standar matematika.
Penggunaan shortcut pada IDE akan mempercepat pengeditan pada IDE. Shortcut
untuk jendela IDE dan Help, diantaranya perintah Help dengan shortcut F1. Shortcut untuk
me-RUN dan debugging diantaranya mereset program Ctrl-F2, menampilkan CallStack Ctrl-
F3. Shortcut untuk navigasi kursor scroll satu baris ke atas: Ctrl-W, scroll satu baris ke
bawah: Ctrl-Z shortcut yang digunakan untuk pengeditan diantaranya untuk menyisipkan
baris Ctrl-N,mode insert atau overwrite Ctrl-V, shortcut untuk blok diantaranya indentasi
blok satu kolom Ctrl-KI, menyisipkan teks dan clipboard Shift-Insert.

BAB III. COMPILER PADA FREE PASCAL

Pada Bab 3 akan dibahas secara mendalam mengenai bahasa Pascal terutama
masalah Compiler.Pada program pascal terdapat 3 bagian pokok yaitu:

A. Nama program adalah judul dari program yang dibuat.nama ini tidak mempunyai arti apa-
apa dalam proses kompilasi.
B. Deklarasi adalah bagian terpenting dalam rangka penyusunan sebuah program yang
terstruktur.
C. Program utama adalah bagian yang berisi statement atau pernyataan.
Bagian deklarasi program terdapat 6 macam yaitu
- Deklarasi Var yang berguna untuk menyatakan variable yang digunakan dalam program
- Deklarasi Const yang berguna untuk mendeklarasikan nama konstanta yang merupakan
suatu pengenal.
- Deklarasi Type yang berguna untuk menyusun suatu bentuk tipe data yang baru dari tipe
data yang sudah ada.
- Deklarasi Label yang berguna untuk menjelaskan adanya label yang bisa melompatkan
jalannya program.
- Deklarasi Function yang berguna untuk melakukan tugas tertentu dan menghasilkan nilai.
- Deklarasi Procedure yang berfungsi melakukan aksi tertentu.
Program Pascal dapat ditulis dengan cara antar statement/perintah dibatasi tanda titik
koma(;),akhir dari program ditandai dengan tanda titik dan juga perintah END,spasi antar
pengenal diabaikan.
Pada Pascal dikenal berbagai symbol seperti huruf(A……Z),digit(0……9),digit
heksadesimal(0…9),karakter khusus(+-*/=),pasangan karakter{:= <=(**)}.
Kata tercadang adalah bagian dari bahasa pascal dan tidak dapat digunakan untuk
kegunaan lain dalam program.Pengenal atau identifier adalah nama yang diberikan kepada
setiap bagian di program pascal yang dibuat.syarat pemberian nama sebuah identifier adalah
dapat sepanjang apapun,diawali dengan huruf atau underscore,tidak boleh ada 2 identifier
yang sama.
Ada macam-macam penulisan angka yang dikenal pascal :
- Normal
- Heksadesimal
- Oktal
- Biner
Ada beberapa macam tipe pada program pascal yaitu :
-Tipe Enumerasi yaitu tipe yang mendefinisikan nilai yang berurutan ke suatu elemen dalam
suatu daftar identifier.
- Tipe Subjangkauan yaitu tipe yang mendefinisikan suatu elemen dari nilai terkecil sampai
nilai terbesar.
- Tipe Boolean yaitu sebuah tipe yang hanya dapat bernilai False atau True.
- Tipe Character yaitu tipe data yang digunakan untuk menyimpan karakter ASCII.
- Tipe Ansistring yaitu tipe string dengan panjang tanpa batas.
- Tipe Terstruktur punya karakteristik yaitu dapat menyimpan lebih dari 1 nilai.
- Tipe Array yaitu suatu tipe yang dapat menampung beberapa nilai dengan tipe yang sama.
- Tipe Set yaitu sekumpulan nilai dari tipe ordinal yang sama.
- Tipe File yaitu sekumpulan data yang mempunyai tipe data yang sama.
- Tipe Pointer yaitu jenis data yang menunjuk ke suatu alamat memori.
Variabel merupakan identifier yang nilainya dapat diubah pada saat program sedang
berjalan.
Identifier list merupakan kumpulan identifier yang dipisahkan dengan tanda koma.
BAB IV. OPERASI PASCAL

Pada bab 4 akan dijelaskan tentang operasi di pascal. Operasi pascal dibagi atas beberapa
operasi yaitu
• Operasi Aritmatika
Bab ini menjelaskan bahwa operasi aritmatika adalah operasi untuk
melaksanakan suatu proses perhitungan. Ada beberapa yang perlu
diperhatikan dalam operator aritmatika adalah
 Tipe bilangan bulat dapat diberikan kepada tipe real,tapi
tidak berlaku sebaliknya.
 Tipe bolean ada dua atau lebih operator yang berurutan
dalam sebuah ekspresi aritmatika.
• Operasi Logika
Bab ini menjelaskan bahwa operasi logika menggunakan sistem
bilangan biner untuk perhitungan.
• Operasi Boolean
Bab ini menjelaskan bahwa operasi boolean menggunakan operand
yang bertipe boolean serta hasil boolean untuk operasinya.
• Operasi String
Bab ini menjelaskan bahwa operasi string pada pascal hanya
mengenal sebuah operator yaitu operator +atau penggabungan antar
string.
• Operasi Himpunan
Bab ini menjelaskan bahwa operasi himpunan selalu menggunakan
tipe data himpunan untuk operator maupun operannya. Ada 3 macam
operasi himpunan yaitu union, selisih, interseksi.
• Operasi Relasi
Bab ini menjelaskan bahwa operasi relasi digunakan untuk
melakukan perbandingan dan menghasilkan boolean yang
menunjukkan perbandingan tersebut bernilai benar atau salah.

BAB V. STATEMENT

Pada bab 5 akan dijelaskan mengenai Statement. Statement itu adalah perintah yag dikenal
oleh pascal. Beberapa statement yang dikenal pascal adalah statement Goto dan inline.
Statement goto adalah statement yang tidak sesuai dengan konsep pemprograman terstruktur
sehingga jarang digunakan. Sedangkan statement inline adalah statement yang digunakan
untuk menjalankan instruksi bahasa mesin.

• Assignment (pemberian nilai)


Statement Assignment digunakan untuk memberikan nilai pada
sebuah variabel.
• Compound Statement
Digunakan untuk menggabungkan beberapa statement.
• IF-THEN-ELSE Statement
Merupakan perintah percabangan yang akan menjalankan statement
sesuai dengan kondisi yang ada.
• FOR-TO/DOWNTO-DO Statement
Digunakan untuk mengubah statement. Selama pengulangan,nilai
variabel akan bernilai dari awal sampai akhir.
• Case of Statement
Statement Case digunakan untuk perintah percabangan dengan
banyak kondisi.

BAB VI. PROCEDURE,FUNCTION DAN REKURSI

Pada Bab 6 ini akan dijalankan secara terperinci tentang procedure,function dan
rekursi.

A. Procedure
Procedure mempunyai struktur yang sama dengan struktur program yang terdiri
dari nama prosedur,deklarasi dan bagian utama dari prosedur itu sendiri.prosedur ini
merupakan subprogram yang berfungsi sebagai pengembalian suatu nilai.

B. Function
Sebenarnya secara prinsip,function sama dengan prosedur(sama-sama merupakan
subprogram).perbedaannya bahwa function dapat langsung memberikan nilai
kembali sedangkan prosedur menggunakan parameter perubah agar dapat
memberikan suatu nilai.

C. Rekursi
Merupakan suatu proses dimana sebuah subprogram dapat memanggil dirinya
sendiri.penggunaan rekursi ini akan sangat membantu pemecahan soal yang tidak
dapat diselesaikan dengan menggunakan teknik iterasi biasa.cara kerja rekursi adalah
secara terbalik/mundur.sehingga terbentuk dengan proses terminasi.setelah terbentuk
dengan point sentinel,maka prosesnya akan berjalan maju dengan proses perhitungan
pada saat proses terbentuk dengan point sentinel tadi.
PENDAHULUAN
KONSEP PEMROGRAMAN

Pada dasarnya,sebuah komputer tidak dapat mengerjakan apapun tanpa adanya


perintah dari manusia.perintah-perintah yang terstruktur dan sistematis untuk
membuat komputer bekerja sesuai dengan apa yang diinginkan disebut program.apa
yang dapat dilakukan oleh program komputer?kompter dapat diprogram untuk
berbagai hal,misalnya di program untuk melakukan perhitungan suatu ekspresi
matematika dan menampilkan hasilnya di layar monitor,di program untuk memainkan
sebuah lagu,di program untuk mengurutkan data(misalnya mengurutkan data nama
siswa,data nilai siswa),di program untuk permainan,di program untuk menggambar
dan sebagainya.program0program semacam itu di buat oleh manusia,syarat utama
dalam membuat program adalah perintah-perintah yang diberikan dalam program
tersebut harus dimengerti oleh komputer.
Sayangnya,komputer hanya dapat mengerti sebuah bahasa yang disebut bahasa
mesin,bahasa yang sangat berbeda dari bahasa manusia dan terlebih lagi akan amat
menyulitkan untuk membuat sebuah program dalam bahasa mesin ini.manusia
menginginkan sebuah bahasa komputer yang sederhana yang dapat dimengerti dan
mudah dipelajari oleh manusia sekaligus dapat dimengerti oleh komputer.
Bahasa komputer tersebut disebut bahasa pemrograman(programming
language).yang perlu diingat,konsep bahasa pemrograman adalah
merubah/menerjemahkan perintah-perintah(program)yang diberikan manusia ke
dalam bahasa mesin yang dapat dimengerti komputer.jadi bahasa pemrograman
adalah sarana interaksi antara manusia dengan komputer.seperti tujuan semula,
bahasa pemrograman dibuat mudah dipelajari dan dimengerti agar manusia dapat
mudah membuat program komputer dengan bahasa pemrograman ini(tak perlu
menggunakan bahasa mesin untuk membuat program komputer).
Pada intinya,bahasa pemrograman ini digunakan untuk mempermudah manusia
dalam berinteraksi dengan komputer.syarat utama untuk membuat program komputer
adalah dengan menggunakannya sesuai dengan kaidah-kaidah yang berlaku dalam
bahasa pemrograman tersebut.masing-masing bahasa pemrograman mempunyai ciri
khas/kaidah tersendiri.karena itu,sebelum membuat sebuah program dengan
menggunakan bahasa pemrograman,sangat wajib untuk mengerti tentang aturan
penulisan bahasa pemrograman tersebut.
RANGKUMAN BUKU OLIMPIADE KOMPUTER

Disusun Untuk Memenuhi Tugas Bahasa Indonesia


oleh

Kelompok 6

Ketua : S.Eben Ezer Nababan


Anggota : Anri Panjaitan
Eko Manurung
Fadly Saragi

Kelas XI IPA 2

SEKOLAH MENENGAH ATAS NEGERI SATU SIDIKALANG


TP 2011/2012