2
Daftar Isi
Kata Pengantar ....................................................................................................... Daftar Isi ................................................................................................................ Daftar Padan Kata Inggris - Indonesia .................................................................
iii v ix
1. Pengantar ke Algoritma ..........................................
1
1.1 1.2 1.3 1.4 1.5 1.6 1.7
Pendahuluan ........................................................................................ Program Komputer dan Algoritma .................................................... Algoritma Merupakan Jantung Informatika ...................................... Mekanisme Pelaksanaan Program oleh Komputer ........................... Belajar Memprogram dan Belajar Bahasa Pemrograman ................ Notasi Algoritmik ............................................................................... Pemrograman Prosedural ....................................................................
1 4 11 13 14 16 18
2. Dasar-dasar Algoritma ...........................................
21
2.1 Pernyataan dan Aksi ........................................................................... 2.2 Struktur Dasar Algoritma ................................................................... 2.2.1 Runtunan .................................................................................. 2.2.2 Pemilihan ................................................................................. 2.2.3 Pengulangan ............................................................................ 2.3 Strategi Perancangan Puncak-Turun ...................................................
21 22 22 24 26 30
3. Notasi Algoritmik ....................................................
35
3.1 Struktur Teks Algoritma ..................................................................... 3.1.1 Judul ......................................................................................... 3.1.2 Deklarasi .................................................................................. 3.1.3 Algoritma ................................................................................. 3.2 Translasi Teks Algoritma ke dalam Teks Program Pascal dan C .... 3.3 Kompilator Bahasa Pascal dan C .......................................................
36 38 39 40 41 45
4. Tipe, Operator, dan Ekspresi ..................................
49
4.1 Tipe Dasar ........................................................................................... 4.1.1 Bilangan Lojik ......................................................................... 4.1.2 Bilangan Bulat .........................................................................
49 50 51
Daftar Isi
v
4.2
4.3 4.4 4.5
4.6
5
6
vi
53 55 56 57 57 58 62 65 72 72 72 77 78 78 81 81 81 83
R u n t u n a n .........................................................
89
5.1 Pendahuluan ........................................................................................ 5.2 Contoh-contoh Runtunan .................................................................... 5.3 Membaca/Menulis dari/ke Arsip.........................................................
89 89 102
P e m i l i h a n ........................................................
111
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10
7
4.1.3 Bilangan Riil ............................................................................ 4.1.4 Karakter ................................................................................... 4.1.5 String ........................................................................................ Tipe Bentukan ..................................................................................... 4.2.1 Tipe Dasar yang Diberi Nama Tipe Baru .............................. 4.2.2 Tipe Terstruktur ...................................................................... Nama .................................................................................................... Tabel Translasi Notasi Algoritma ke dalam Notasi Bahasa Pascal dan C .................................................................................................... Nilai ...................................................................................................... 4.5.1 Pengisian Nilai ke dalam Nama Peubah ............................... 4.5.1.1 Pengisian Nilai Secara Langsung .......................... 4.5.1.2 Pembacaan .............................................................. 4.5.2 Ekspresi ................................................................................... 4.5.2.1 Ekspresi Aritmetik ................................................. 4.5.2.2 Ekspresi Relasional ................................................ 4.5.2.3 Ekspresi String ....................................................... 4.5.3 Menuliskan Nilai ke Piranti Keluaran ................................... Tabel Translasi Notasi Algoritma Pengisian Nilai, Pembacaan, dan Penulisan ke dalam Notasi Bahasa Pascal dan C ........................
Pendahuluan ........................................................................................ Satu Kasus ........................................................................................... Contoh-contoh Masalah dengan Satu Kasus ..................................... Dua Kasus ............................................................................................ Contoh-contoh Masalah dengan Dua Kasus ..................................... Tiga Kasus atau Lebih ........................................................................ Contoh-contoh Masalah dengan Tiga Kasus/Lebih ......................... Struktur CASE .................................................................................... Contoh-contoh Tambahan .................................................................. Tabel Translasi Notasi Algoritma Struktur Pemilihan Kasus ke Notasi Pascal dan C .........................................................................................
111 113 114 115 116 122 123 128 132 138
P e n g u l a n g a n .................................................
153
Algoritma dan Pemrograman
7.1 7.2 7.3 7.4 7.5 7.6
Struktur Pengulangan .......................................................................... Pernyataan FOR .................................................................................. Pernyataan WHILE ............................................................................. Pernyataan REPEAT ........................................................................... WHILE atau REPEAT ? ...................................................................... Tabel Translasi Notasi Algoritmik Struktur Pengulangan ke Notasi Pascal dan C ....................................................................................... 7.7 Membaca/Menulis dari/ke Arsip ........................................................
153 154 160 165 168
Contoh-contoh Pemecahan Masalah ( Bagian I ) .....
191
Contoh Masalah 8.1 ..................................................................................... Contoh Masalah 8.2 ..................................................................................... Contoh Masalah 8.3 ..................................................................................... Contoh Masalah 8.4 ..................................................................................... Contoh Masalah 8.5 ..................................................................................... Contoh Masalah 8.6 ..................................................................................... Contoh Masalah 8.7 ..................................................................................... Contoh Masalah 8.8 ..................................................................................... Contoh Masalah 8.9 ..................................................................................... Contoh Masalah 8.10 ................................................................................... Contoh Masalah 8.11 ................................................................................... Contoh Masalah 8.12 ................................................................................... Contoh Masalah 8.13 ................................................................................... Contoh Masalah 8.14 ................................................................................... Contoh Masalah 8.15 ................................................................................... Contoh Masalah 8.16 .................................................................................... Contoh Masalah 8.17 ................................................................................... Contoh Masalah 8.18 ................................................................................... Contoh Masalah 8.19 ................................................................................... Contoh Masalah 8.20 ................................................................................... Contoh Masalah 8.21 ................................................................................... Contoh Masalah 8.22 ...................................................................................
191 192 193 194 196 198 199 200 202 203 204 206 206 207 208 210 211 212 213 214 215 216
Pengantar Pemrograman Modular ..........................
219
9.1 Contoh Pemrograman Modular .......................................................... 9.2 Keuntungan Pemrograman Modular ..................................................
219 222
10 P r o s e d u r ..........................................................
225
8
9
10.1 10.2 10.3 10.4
Daftar Isi
Pendefinisian Prosedur ....................................................................... Pemanggilan Prosedur ........................................................................ Nama Global, Nama Lokal, dan Lingkup........................................... Parameter .............................................................................................
175 184
226 227 228 230
vii
10.4.1 Parameter Masukan ................................................................ 10.4.2 Parameter Keluaran ................................................................ 10.4.3 Parameter Masukan/Keluaran ............................................... 10.4.4 Program dengan Prosedur atau Tanpa Prosedur? ................. 10.4.5 Prosedur dengan Parameter atau Tanpa Parameter? ............ 10.4.6 Parameter Masukan atau Parameter Keluaran? .................... 10.5 Translasi Notasi Algoritma Prosedur ke dalam Notasi Bahasa Pascal dan C ....................................................................................................
231 234 237 245 245 245
11 F u n g s i ................................................................
261
11.1 11.2 11.3 11.4 11.5 11.5
245
Definisi Fungsi .................................................................................... Pendefinisian Fungsi ........................................................................... Pemanggilan Fungsi ............................................................................ Prosedur atau Fungsi? ......................................................................... Contoh-contoh Tambahan .................................................................. Translasi Notasi Algoritmik untuk Fungsi ke dalam Notasi Bahasa Pascal dan Bahasa C ...........................................................................
261 262 269 275 277
12 Model Pengaksesan Beruntun ................................
293
12.1 12.2 12.3 12.4 12.5
280
Definisi Teks ....................................................................................... Tanda Akhir Teks ................................................................................ Definisi Teks Kosong ......................................................................... Pembacaan Teks .................................................................................. Pemrosesan Teks dalam Bahasa Pascal dan C ..................................
293 294 295 295 307
13 L a r i k ...................................................................
321
13.1 13.2 13.3 13.4
viii
Apakah Larik Itu? ............................................................................... Mendeklarasikan Larik........................................................................ Cara Mengacu Elemen Larik .............................................................. Pemrosesan Larik ................................................................................ 13.4.1 Ukuran Efektif Larik............................................................... 13.4.2 Menginisialisasi Larik ............................................................ 13.4.3 Mengisi Elemen Larik dengan Pembacaan ........................... 13.4.4 Mencetak Elemen-elemen Larik ............................................ 13.4.5 Menghitung Nilai Rata-rata ................................................... 13.4.6 Kapan Menggunakan Larik? ................................................. 13.4.7 Mencari Nilai Maksimum Larik ............................................ 13.4.8 Mencari Nilai Minimum Larik .............................................. 13.4.9 Mencari Nilai Tertentu di dalam Larik ................................. 13.4.10 Menyalin Larik ....................................................................... 13.4.11 Menguji Kesamaan Dua Buah Larik .....................................
322 323 324 325 326 327 329 331 331 333 334 339 341 345 345
Algoritma dan Pemrograman
13.5 13.6 13.7 13.8
Larik Bertipe Terstruktur .................................................................... Bekerja dengan Dua Buah Larik ........................................................ Contoh-contoh Tambahan .................................................................. Translasi Notasi Algoritmik Larik ke dalam Notasi Bahasa Pascal dan Bahasa C .............................................................................................. 13.9 String sebagai Larik Karakter .............................................................
346 349 344
14 Contoh-contoh Pemecahan Masalah ( Bagian 2 ) ....
369
Contoh Masalah 14.1 ................................................................................... Contoh Masalah 14.2 ................................................................................... Contoh Masalah 14.3 ................................................................................... Contoh Masalah 14.4 ................................................................................... Contoh Masalah 14.5 ................................................................................... Contoh Masalah 14.6 ................................................................................... Contoh Masalah 14.7 ................................................................................... Contoh Masalah 14.8 ................................................................................... Contoh Masalah 14.9 ................................................................................... Contoh Masalah 14.10 ................................................................................. Contoh Masalah 14.11 ................................................................................. Contoh Masalah 14.12 .................................................................................
369 370 371 372 373 374 376 380 382 382 385 386
Daftar Pustaka .......................................................................................................
389
351 362
Daftar Padan Daftar Isi
ix
Kata Inggris - Indonesia eberapa istilah dalam Bahasa Inggris dicoba diganti dengan padanan katanya dalam Bahasa Indonesia. Tujuan penggunaan kata padanan tersebut adalah untuk memasyarakatkan penggunaan Bahasa Indonesia sebagai bahasa IPTEKS (Ilmu Pengetahuan, Teknologi, dan Seni). Kata padanan untuk istilah asing digali dari Kamus Besar Bahasa Indonesia. Jika anda kurang berkenan dengan kata padanan tersebut, anda tetap dapat menggunakan kata dalam bahasa Inggris-nya atau kata serapannya. Beberapa padan kata yang digunakan di dalam buku ini didaftarkan di bawah ini.
B
Bahasa Inggris ambiguous application array assembly assumption consistent constant detail effective efficient execute file input list mouse negation output peripheral plotter printer prototype record scanner sequence sequential sub variable
x
Bahasa Indonesia berarti-dua terapan larik rakitan andaian taat-asas konstanta rinci sangkil mangkus melaksanakan arsip, berkas masukan senarai tetikus ingkaran keluaran piranti perajah pencetak purwarupa rekaman pemindai runtunan beruntun upa peubah
Algoritma dan Pemrograman