| Kandidat harus mampu: | Catatan dan panduan |
|---|---|
| 1 Pahami siklus pengembangan program, terbatas pada: analisis, desain, pemrograman dan pengujian | • Termasuk mengidentifikasi setiap tahap dan melakukan tugas-tugas berikut untuk setiap tahap: – analisis: abstraksi, dekomposisi masalah, identifikasi masalah dan kebutuhan – desain: dekomposisi, diagram struktur, flowchart, pseudocode – pemrograman: penulisan kode program dan pengujian iteratif – pengujian: pengujian kode program dengan penggunaan data uji |
| 2 (a) Pahami bahwa setiap sistem komputer terdiri dari sub-sistem, yang terdiri dari sub-sistem lebih lanjut (b) Pahami bagaimana suatu masalah dapat didekomposisi menjadi bagian-bagian penyusunnya | • Termasuk: – input – proses – output – penyimpanan |
| (c) Gunakan berbagai metode untuk merancang dan membangun solusi atas suatu masalah | • Termasuk: – diagram struktur – flowchart – pseudocode |
| 3 Jelaskan tujuan dari algoritma tertentu | • Termasuk: – menyatakan tujuan algoritma – menjelaskan proses-proses yang terlibat dalam algoritma |
| 4 Pahami metode penyelesaian standar | • Terbatas pada: – pencarian linear – sorting gelembung – penjumlahan total – penghitungan – menemukan nilai maksimum, minimum, dan rata-rata |
| 5 (a) Pahami perlunya pemeriksaan validasi pada data masuk dan jenis-jenis pemeriksaan validasi | • Termasuk: – pemeriksaan rentang – pemeriksaan panjang – pemeriksaan tipe – pemeriksaan keberadaan – pemeriksaan format – digit pengecek |
| (b) Pahami perlunya pemeriksaan verifikasi pada data masuk dan jenis-jenis pemeriksaan verifikasi | • Termasuk: – pemeriksaan visual – pemeriksaan entri ganda |
| 6 Sarankan dan terapkan data uji yang sesuai | • Terbatas pada: – normal – tidak normal – ekstrem – batas • Data ekstrem adalah nilai terbesar/terkecil yang dapat diterima • Data batas adalah nilai terbesar/terkecil yang dapat diterima dan nilai terkecil/terbesar yang ditolak yang bersesuaian |
| 7 Lengkapi tabel pelacakan untuk mendokumentasikan dry-run (jalur kering) dari sebuah algoritma | • Termasuk, pada setiap langkah dalam algoritma: – variabel – output – prompt pengguna |
| 8 Identifikasi kesalahan dalam algoritma yang diberikan dan sarankan cara memperbaiki kesalahan tersebut | |
| 9 Tulis dan ubah algoritma untuk masalah atau skenario tertentu, menggunakan: pseudocode, kode program, dan flowchart | • Presisi diperlukan saat menulis algoritma, mis. x > y dapat diterima tetapi x is greater than y tidak dapat diterima • Lihat bagian 4 untuk simbol flowchart • Lihat bagian 4 untuk pseudocode |
Desain algoritma dan pemecahan masalah
Ilmu Komputer IGCSE · Topik 7
9:17
Siklus Hidup Pengembangan Program
Setiap aplikasi di telepon Anda ditulis oleh seseorang seperti ini. Namun mereka tidak mulai dengan mengetik kode. Sebelum baris pertama, masalah dipelajari, solusinya dirumuskan…
Narasi bahasa Inggris · Subtitle bahasa Inggris + 中文 disematkan langsung
Silabus
Sumber: Silabus Cambridge International
7.1
Siklus hidup pengembangan program
Siklus hidup pengembangan program adalah serangkaian tahap yang digunakan untuk membuat sebuah program. Ada empat tahap.
*Perangkat lunak ditulis oleh para pemrogram, yang mengikuti siklus pengembangan
| Tahap | Apa yang Anda lakukan |
|---|---|
| analisis | pelajari masalah dan tentukan apa yang diperlukan |
| desain | rencanakan bagaimana program akan bekerja |
| pengkodean | tulis kode program dan uji seiring jalannya proses |
| pengujian | jalankan program selesai dengan data uji untuk menemukan kesalahan |
*Empat tahap pengembangan program; pengujian memberikan umpan balik untuk memperbaiki dan menyempurnakan desain
*Diagram alir program menggambarkan langkah-langkah dan keputusan program selama tahap desain
Analisis
Dalam analisis, Anda memahami masalah. Dua keterampilan kunci membantu:
- abstraksi — pertahankan hanya detail penting dan abaikan sisanya;
- dekomposisi — pecahkan masalah besar menjadi bagian-bagian yang lebih kecil dan mudah.
Desain
Dalam desain, Anda merencanakan solusi, sering menggunakan dekomposisi. Anda dapat menampilkan bagian-bagian sebagai sub-sistem dalam diagram struktur (grafik yang memecah sistem menjadi kotak-kotak yang lebih kecil).
Pengkodean dan pengujian
Dalam pengkodean, Anda menulis kode program. Anda menggunakan pengujian iteratif — menguji bagian-bagian kecil berkali-kali saat Anda membangunnya. Dalam pengujian, Anda menjalankan seluruh program dengan data uji untuk memastikan program berfungsi.
| English | Bahasa Indonesia |
|---|---|
| program development life cycle/ˈprəʊɡræm dɪˈveləpmənt laɪf ˈsaɪkl/ | siklus hidup pengembangan program |
| analysis/əˈnæləsɪs/ | analisis |
| design/dɪˈzaɪn/ | desain |
| coding/ˈkəʊdɪŋ/ | pemrograman |
| testing/ˈtestɪŋ/ | pengujian |
| abstraction/əbˈstrækʃn/ | abstraksi |
| decomposition/ˌdiːkɒmpəˈzɪʃn/ | dekomposisi |
| sub-systems/sʌb ˈsɪstəmz/ | sub-sistem |
| structure diagram/ˈstrʌktʃə ˈdaɪəɡræm/ | diagram struktur |
| iterative testing/ˈɪtərətɪv ˈtestɪŋ/ | pengujian iteratif |
| test data/test ˈdeɪtə/ | data uji |
| flowchart/ˈfləʊtʃɑːt/ | flowchart |
7.2
Alat desain
Anda dapat merencanakan solusi dengan tiga cara utama.
- diagram struktur — menunjukkan bagian-bagian sistem dan bagaimana mereka saling terkait;
- diagram alir — diagram menggunakan kotak dan panah untuk menunjukkan langkah-langkah secara berurutan;
- pseudokode — langkah-langkah yang ditulis dalam bahasa Inggris sederhana yang menyerupai kode (bukan bahasa nyata).

| English | Bahasa Indonesia |
|---|---|
| input/ˈɪnpʊt/ | input |
| processing/ˈprəʊsesɪŋ/ | pemrosesan |
7.3
Algoritma
Sebuah algoritma adalah serangkaian langkah, dalam urutan yang benar, yang memecahkan masalah. Setiap algoritma dapat dibagi menjadi tiga bagian:
- input — data yang masuk;
- pemrosesan — pekerjaan yang dilakukan pada data;
- output — hasil yang keluar.
Ini disebut dekomposisi menjadi input, proses, dan output. Misalnya, untuk "temukan rata-rata dari tiga nilai ujian": inputnya adalah tiga nilai ujian; pemrosesannya adalah menjumlahkannya dan membagi dengan 3; outputnya adalah rata-ratanya.
*Setiap algoritma terurai menjadi input, pemrosesan, dan output — di sini, menemukan rata-rata dari tiga nilai ujian
| English | Bahasa Indonesia |
|---|---|
| output/ˈaʊtpʊt/ | output |
| validation/ˌvælɪˈdeɪʃn/ | validasi |
| bubble sort/ˈbʌbl sɔːt/ | bubble sort |
| totalling/ˈtəʊtəlɪŋ/ | penjumlahan total |
| counting/ˈkaʊntɪŋ/ | menghitung |
| maximum/ˈmæksɪməm/ | maksimum |
7.4
Validasi dan verifikasi
Ketika data dimasukkan, Anda memeriksanya untuk mengurangi kesalahan.
Validasi memeriksa apakah data masuk akal dan mematuhi aturan. Validasi tidak dapat memastikan data benar, hanya bahwa data tersebut diperbolehkan.
| Pengecekan validasi | Apa yang dicek |
|---|---|
| range check | nilai berada di antara batas minimum dan maksimum yang diperbolehkan |
| length check | jumlah karakter diperbolehkan (misalnya: kata sandi ≥ 8) |
| type check | data memiliki tipe yang tepat (misalnya: angka, bukan huruf) |
| presence check | sesuatu benar-benar telah dimasukkan (tidak dibiarkan kosong) |
| format check | data berada dalam pola yang tepat (misalnya: tanggal sebagai dd/mm/yyyy) |
| check digit | digit tambahan mengonfirmasi bahwa nomor telah dimasukkan dengan benar |
Verifikasi memeriksa apakah data telah disalin atau dimasukkan dengan benar (tanpa kesalahan saat mengetiknya). Dua metode:
- visual check — seseorang membandingkan data yang diketik dengan data asli;
- double entry — data dimasukkan dua kali dan kedua salibannya dibandingkan.
| English | Bahasa Indonesia |
|---|---|
| range check/reɪndʒ tʃek/ | pemeriksaan rentang |
| length check/leŋθ tʃek/ | pemeriksaan panjang |
| type check/taɪp tʃek/ | pemeriksaan tipe |
| presence check/ˈprezəns tʃek/ | pemeriksaan kehadiran |
| format check/ˈfɔːmæt tʃek/ | pemeriksaan format |
| check digit/tʃek ˈdɪdʒɪt/ | digit pengecek |
| verification/ˌverɪfɪˈkeɪʃn/ | verifikasi |
| visual check/ˈvɪʒuːəl tʃek/ | pemeriksaan visual |
| double entry/ˈdʌbl ˈentri/ | entri ganda |
| minimum/ˈmɪnɪməm/ | minimum |
7.5
Tabel pelacakan
Sebuah tabel pelacakan mencatat nilai setiap variabel saat algoritma berjalan, langkah demi langkah. Ini membantu Anda:

- memeriksa apakah algoritma bekerja dengan benar;
- menentukan apa yang dilakukan algoritma dengan melacaknya menggunakan data yang diberikan.
Contoh: lacak algoritma ini dengan input 5.
INPUT N
Total ← 0
FOR I ← 1 TO N
Total ← Total + I
NEXT I
OUTPUT Total
| i | total | OUTPUT |
|---|---|---|
| 1 | 1 | |
| 2 | 3 | |
| 3 | 6 | |
| 4 | 10 | |
| 5 | 15 | 15 |
Pelacakan menunjukkan algoritma menjumlahkan 1 hingga n. Dengan input 5, output adalah 15.
Contoh terpecahkan. Lacak algoritma ini dan berikan output-nya.
X ← 20
Count ← 0
WHILE X > 1
X ← DIV(X, 2)
Count ← Count + 1
ENDWHILE
OUTPUT Count
DIV memberikan hanya bagian bilangan bulat dari sebuah pembagian. Ambil satu baris per putaran: x menjadi 10 (count 1), kemudian 5 (count 2), kemudian 2 (count 3), kemudian 1 (count 4). Sekarang x > 1 bernilai salah, sehingga loop berhenti dan outputnya adalah 4. Dua kebiasaan melindungi nilai ini: uji kondisi sebelum setiap putaran daripada setelah, dan tulis baris baru untuk setiap putaran - mencoba menyimpan nilai-nilai dalam ingatan adalah penyebab kesalahan pada pelacakan.
Tabel jejak
Langkahkan melalui loop dan isi tabel jejak, satu baris per putaran.
| English | Bahasa Indonesia |
|---|---|
| pseudocode/ˈsuːdəʊkəʊd/ | pseudocode |
| algorithm/ˈælɡərɪθəm/ | algoritma |
| trace table/treɪs ˈteɪbl/ | tabel jejak |
7.6
Data uji
Data uji adalah data yang Anda gunakan untuk menguji sebuah program. Ada empat jenis yang harus Anda ketahui.
| Jenis | Makna | Contoh (usia 0–120 diperbolehkan) |
|---|---|---|
| normal | data masuk akal yang seharusnya diterima | 25 |
| abnormal | data yang salah yang seharusnya ditolak | -4 atau "cat" |
| extreme | nilai terbesar dan terkecil yang masih diperbolehkan | 0 dan 120 |
| boundary | nilai di kedua sisi batas (satu diperbolehkan, satu tidak) | 120 dan 121 |
| English | Bahasa Indonesia |
|---|---|
| normal/ˈnɔːml/ | normal |
| abnormal/əbˈnɔːml/ | tidak normal |
| extreme/ekˈstriːm/ | ekstrem |
| boundary/ˈbaʊndəri/ | batas |
7.7
Metode standar penyelesaian
Anda harus mengetahui algoritma-algoritma umum ini.
Pencarian linear
Pencarian linear (linear search) memeriksa setiap item dalam daftar, satu per satu, hingga menemukan nilai yang diinginkan atau mencapai akhir.
Found ← FALSE
FOR I ← 0 TO 9
IF List[I] = SearchValue
THEN
Found ← TRUE
ENDIF
NEXT I
OUTPUT Found

Pengurutan gelembung
Sortir gelembung (bubble sort) menyusun daftar agar tersusun. Algoritma ini membandingkan setiap pasangan item yang berdampingan dan menukarnya jika urutannya salah. Algoritma ini mengulangi proses ini hingga tidak ada lagi penukaran yang diperlukan.
FOR I ← 0 TO 8
IF List[I] > List[I + 1]
THEN
Temp ← List[I]
List[I] ← List[I + 1]
List[I + 1] ← Temp
ENDIF
NEXT I

Penjumlahan dan Penghitungan
- penjumlahan — terus menambahkan nilai ke total kumulatif (
Total ← Total + Value). - penghitungan — tambahkan 1 ke penghitung setiap kali suatu hal terjadi (
Count ← Count + 1).
Maksimum, Minimum, dan Rata-rata
- untuk menemukan maksimum: simpan nilai terbesar yang terlihat sejauh ini.
- untuk menemukan minimum: simpan nilai terkecil yang terlihat sejauh ini.
- untuk menemukan rata-rata: bagi total dengan berapa banyak nilai yang ada.
Total ← 0
FOR I ← 0 TO 9
Total ← Total + List[I]
NEXT I
Average ← Total / 10
OUTPUT Average
| English | Bahasa Indonesia |
|---|---|
| linear search/ˈlɪnɪə sɜːtʃ/ | pencarian linear |
| average/ˈævrɪdʒ/ | rata-rata |
7.8
Tips ujian
- Pelajari empat tahap siklus hidup: analisis → desain → penulisan kode → pengujian. Abstraksi hanya mempertahankan detail penting; dekomposisi memecah masalah menjadi bagian-bagian yang lebih kecil.
- Validasi memeriksa data masuk akal (pemeriksaan range, panjang, tipe, kehadiran, format); verifikasi memeriksa data tersebut disalin dengan benar (pemeriksaan visual atau entri ganda).
- Pelajari empat jenis data uji: normal (diterima), abnormal (ditolak), ekstrem (nilai terbesar/terkecil yang masih diperbolehkan), batas (nilai di kedua sisi limit).
- Untuk menentukan apa yang dilakukan algoritma, isi tabel pelacakan — tuliskan nilai setiap variabel pada setiap langkah.
- Kenali algoritma standar: pencarian linear (periksa setiap item secara berurutan) dan sortir gelembung (tukar pasangan yang berdampingan hingga tidak ada lagi penukaran yang diperlukan).
Pelajaran interaktif untuk topik ini
Kerjakan langkah demi langkah, dengan latihan pengecekan instan.