Seri : “Algoritma dan Pemrograman dengan Pascal”
Penulis : Fakhri Copyright © 2013 pelatihan-osn.com
Cetakan I : Oktober 2012
Diterbitkan oleh : Pelatihan-osn.com Kompleks Sawangan Permai Blok A5 No.12 A Sawangan, Depok, Jawa Barat 16511 Telp. 021-9321 1780 Email :
[email protected] ;
[email protected]
Dilarang Keras Mengutip, menjiplak, memfotokopi sebagaian atau seluruh isi buku ini serta memperjual belikannya tanpa izin tertulis dari pelatihan-osn.com
Kata Pengantar Olimpiade Sains Nasional merupakan ajang kompetisi yang sangat kompetitif dan menarik di kalangan siswa-siswi SMA maupun SMP. Perlombaan yang diikuti oleh ribuan siswa ini ternilai cukup sukses dalam meningkatkan semangat belajar siswa siswi di Indonesia. Melalui ajang ini pula Indonesia bisa memperoleh bibit – bibit unggul yang sukses mengharumkan nama Indonesia di kancah internasional. Olimpiade komputer merupakan salah satu bidang yang diperlombakan di Olimpiade Sains Nasional. Antusias siswa – siswi terhadap bidang olimpiade yang satu ini termasuk cukup tinggi di Indonesia dan prestasi – prestasi internasional dapat diraih Indonesia untuk bidang komputer tingkat pelajar. Dalam pembelajaran khususnya bidang olimpiade komputer tidak banyak sekolah yang memberikan materi yang sesuai dengan materi olimpiade komputer yaitu pemrograman Pascal, C, ataupun C++. Kebanyakan sekolah mengajarkan materi komputer berupa visual basic, microsoft office, dan lain-lain yang kebanyakan tidak menitikberatkan kepada pemrograman yang menunjang olimpiade. Untuk menunjang persiapan siswa dalam mengikuti olimpiade komptuter, maka buku ini diharapkan dapat membantu sebagai pengantar materi yang dapat menjadi sumber referensi singkat. Perlu diperhatikan bahwa buku ini bukanlah referensi yang tergolong sangat lengkap, sehingga tidak disarankan menganggap buku ini sebagai satu-satunya pegangan. Diharapkan kepada siswa – siswi yang menggunakan buku ini agar ikut dalam kontes – kontes komputer online yang sangat melatih kemampuan pemrograman, selain itu juga diharapkan untuk mengikuti pelatihan – pelatihan yang disediakan instansi –instansi pelatihan olimpiade. Buku atau modul ini akan sangat mendukung untuk pelatihan – pelatihan olimpiade yang memiliki pembimbing atau pengajar sebagai sumber materi. Walaupun pengajaran di buku ini menitikberatkan tentang pemrograman, materi analitik dan logika tetap akan terdukung. Soal olimpiade komputer memang terdiri dari begian analitik dan pemrograman, akan tetapi pada dasarnya materi analitik dan logika merupakan hal yang terkandung di dalam pemrograman juga. Perlu diperhatikan juga bahwa dengan mempelajari materi pemrograman maka tanpa disadari kemampuan seseorang di dalam materi analitik akan ikut meningkat, sehingga tidak perlu khawatir jika sebagai siswa peserta olimpiade komputer jika terus –menerus belajar dari segi pemrograman. Hal ini akan berjalan tentunya jika siswa tersebut tetap melakukan latihan rutin dan kerja keras dalam berlatih. Sebagai penulis, tentunya modul atau buku yang merupakan buatan manusia tetap tidak luput dari kesalahan sehingga melalui pembuka ini penulis meminta maaf jika ada kesalahan – kesalahan di dalam penulisan buku ini. Bandung, Februari 2013 Penulis
DAFTAR ISI Kata Pengantar Daftar Isi Bab 1 : Pengenalan Algoritma dan Pemrograman Pascal Pengenalan algoritma
2
Pemrograman komputer
4
Pemrograman pascal
5
Soal dan latihan
9
Bab 2 : Tipe Data dan Operator Dalam Pemrograman Tipe data
11
Operator
15
Soal dan latihan
22
Bab 3 : Percabangan If-then
25
If-then-else
26
If-else-if
27
Tambahan untuk if-then/if-then-else/if-else-if-else
30
Case
31
Soal dan latihan
33
Bab 4 : Perulangan For-to-do
36
Nested for/for bersarang
38
While-do
39
Repeat-until
40
Soal dan latihan
42
Bab 5 : Array Pengenalan array
45
Array satu dimensi
45
Array dua dimensi
47
Array n dimensi
48
Soal dan latihan Bab 6 : Procedure dan Function Procedure
53
Function
58
Variabel lokal dan global
61
Soal dan latihan
67
Bab 7 : Rekursif Pengenalan rekursif
70
Penggunaan rekursi
71
Soal dan latihan
75
Bab 8 : Pengurutan Pengenalan pengurutan
79
Bubble sort
79
Selection sort
80
Insertion sort
82
Quick sort
83
Soal dan latihan
86
Bab 9 : Pencarian Pengenalan pencarian
88
Sequential search
88
Binary search
89
Soal dan latihan
90
Solusi soal dan latihan Solusi bab 1
92
Solusi bab 2
95
Solusi bab 3
95
Solusi bab 4
96
Solusi bab 5
97
Solusi bab 6
99
Solusi bab 7
101
Solusi bab 8
102
Solusi bab 9
103
Penutup
106
Referensi
107
Bab1
Pengenalan Algoritma dan Pemrograman Pascal
1.1 Pengenalan Algoritma Algoritma adalah deretan instruksi dalam memecahkan suatu permasalahan. Contoh algoritma dalam kehidupan sehari – hari dapat kita amati melalui proses memasak, yaitu :
1. Pecahkan telur dan masukkan isinya ke mangkuk 2. Berikan garam, potongan cabe, dan potongan bawang ke mangkuk yang sama 3. Aduk telur dan campurannya hingga merata 4. Tuangkan minyak makan 5 cc ke atas kuali 5. Letakkan kuali di atas kompor yang menyala 6. Tunggu hingga minyak panas 7. Tuang adukan telur pada mangkuk ke kuali 8. Tunggu hingga bagian bawah telur matang 9. Balikkan telur sehingga posisi bawah menjadi atas 10. Tunggu hingga telur matang Urutan langkah di atas merupakan ‘algoritma dalam memasak telur’. Jadi dapat terlihat bahwa algoritma merupakan suatu proses pengerjaan. Pengerjaan algoritma untuk contoh di atas adalah manusia, tetapi pada pemrograman pelaksana algoritma adalah komputer. Karena komputer yang melaksanakan pengerjaan algoritmanya, tugas seorang programmer adalah merancang algoritma yang akan dikerjakan komputer dalam memecahkan masalah. Hal ini disebut juga sebagai problem solving. Algoritma – algoritma ini biasanya dibagi atas beberapa tipe, yaitu :
pernyataan (statement) yang dibagi atas, penerimaan input atau output dan assignment atau pengisian nilai. perulangan yang menyebabkan dilakukannya statement secara berulang kali, percabangan yang menyebabkan beberapa pernyataan tidak dilakukan karena suatu kondisi
Dalam penulisan algoritma dapat digunakan diagram alir (flow chart).
1.1.1 Diagram Alir Diagram alir merupakan diagram yang dirancang dengan tujuan pembacaan algoritma. Ada beberapa simbol yang digunakan dalam diagram alir, yaitu :
= Mulai / akhir
= perulangan
= proses/pernyataan
= input/output
= percabangan Contohnya aplikasi flow chart dari algoritma memasak telur : Mangkuk diisi potongan cabe dan bawang Aduk campuran telur
Mangkuk diisi telur
Hingga campuran telur merata
Mulai
Kuali diisi minyak
Kuali diletakkan di atas kompor nyala Kuali diisi dengan isi mangkuk
Hingga minyak panas
tunggu
Hingga bawah telur matang
tunggu
Hingga bawah telur matang
tunggu
Balikkan telur
Selesai
1.4 Soal dan Latihan 1. tuliskan tata cara : a. menyalakan komputer (PC) b. mematikan komputer dengan OS windows (PC) c. mencetak (print) dokumen di microsoft Word 2. berdasarkan soal nomor 1, tuliskan ketiga point tersebut dalam bentuk flowchart!
Solusi Bab 1 1) Menuliskan tata cara : a. Menyalakan komputer : i. Hubungkan CPU dan monitor ke sumber listrik ii. Tekan tombol on untuk CPU dan monitor iii. Tonggu proses booting selesai iv. Komputer dapat digunakan b. Mematikan komputer dengan OS Windows i. Klik start menu ii. Klik menu shut down iii. Tuggu proses hingga CPU mati iv. Tekan tombol off monitor monitor 2) Flowchart a. Menyalakan komputer
Mulai
Hubungkan CPU dan monitor dengan sumber listrik
Selesai
Tekan tombol ON pada CPU dan monitor Selagi booting
tunggu