Kurikulum Pemrograman

Pemrograman Pascal dan Algoritma:
Dari Dasar hingga Mahir

Kursus terstruktur 50 modul yang memadukan teori algoritma, perancangan flowchart, dan implementasi kode Pascal (Free Pascal / Turbo Pascal) secara mendetail. Setiap modul memuat tujuan pembelajaran, materi teori, algoritma dan flowchart, pseudocode, contoh kode lengkap dengan penjelasan baris per baris, latihan bertingkat, studi kasus, rangkuman, dan referensi.

50 Modul Terstruktur 4 Fase Pembelajaran Free Pascal / Turbo Pascal Flowchart Mermaid.js
50Modul Ajar
4Fase Bertingkat
150+Latihan Soal
50Studi Kasus

Peta Jalan Pembelajaran

Perjalanan belajar dibagi menjadi empat fase yang saling berjenjang. Setiap fase dibangun di atas kompetensi fase sebelumnya, sehingga mahasiswa dapat mengikuti alur secara berurutan tanpa lompatan konsep.

Fase 1

Fondasi Algoritma dan Sintaks Pascal

Berpikir komputasional, struktur program, tipe data, operator, input/output, percabangan, dan perulangan.

Modul 1 - 10
Fase 2

Subprogram dan Struktur Data Dasar

Prosedur, fungsi, parameter, scope, rekursi, array, pencarian, pengurutan, record, set, dan enumerasi.

Modul 11 - 22
Fase 3

Modularisasi, Memori, dan Algoritma Lanjutan

String, unit, file handling, pointer, linked list, stack, queue, divide and conquer, sorting lanjutan, kompleksitas.

Modul 23 - 35
Fase 4

Object Pascal dan Rekayasa Perangkat Lunak

Class, enkapsulasi, inheritance, polymorphism, interface, exception, generic, graph, dynamic programming, proyek akhir.

Modul 36 - 50

Tidak ada modul yang cocok dengan kata kunci tersebut. Coba kata kunci lain.

FASE 1

Fondasi Algoritma dan Sintaks Pascal

Membangun dasar berpikir algoritmik dan penguasaan sintaks dasar bahasa Pascal.

Modul 1 - 10

Definisi algoritma, ciri algoritma yang baik, representasi algoritma (narasi, pseudocode, flowchart), simbol-simbol flowchart, serta sejarah dan kedudukan bahasa Pascal.

PrasyaratTidak ada

Aturan penamaan identifier, reserved words, deklarasi var dan const, tipe data sederhana (integer, real, char, string, boolean), serta rentang nilai dan ukuran memori tiap tipe.

PrasyaratModul 2

Operator aritmatika, relasional, logika, bitwise, dan set; prioritas operator; aturan kompatibilitas tipe; konversi implisit dan eksplisit; serta kesalahan umum pembagian bilangan bulat.

PrasyaratModul 3

Prosedur read, readln, write, writeln; pengaturan lebar field dan jumlah desimal; karakter escape; serta penanganan masalah umum saat membaca input dari keyboard.

PrasyaratModul 4

Struktur seleksi satu arah, dua arah, dan bersarang; aturan pasangan else; penggunaan blok begin...end; serta kesalahan logika umum pada kondisi majemuk.

PrasyaratModul 5

Seleksi berbasis nilai ordinal, sintaks case, klausa else, penggunaan rentang nilai, batasan tipe yang diizinkan, serta perbandingan efisiensi case dengan rangkaian if.

PrasyaratModul 6

Perulangan terkendali dengan pencacah, arah naik (to) dan turun (downto), tipe data pencacah yang sah, larangan mengubah pencacah di dalam blok, serta pola akumulasi dan pencacahan.

PrasyaratModul 7

Perulangan tak terkendali berbasis kondisi, perbedaan uji di awal (while) dan uji di akhir (repeat), risiko infinite loop, serta teknik validasi input berulang.

PrasyaratModul 8

Kombinasi for, while, dan repeat bersarang, analisis jumlah iterasi, pembentukan pola bintang, segitiga, dan tabel perkalian sebagai latihan penalaran iteratif.

PrasyaratModul 9
FASE 2

Subprogram dan Struktur Data Dasar

Memecah masalah menjadi subprogram dan mengelola kumpulan data secara terstruktur.

Modul 11 - 22

Konsep subprogram, sintaks deklarasi dan pemanggilan prosedur, prosedur tanpa parameter, ruang lingkup, serta manfaat modularisasi dalam keterbacaan dan pemeliharaan kode.

PrasyaratModul 10
12

Fungsi

Perbedaan fungsi dan prosedur, penentuan tipe hasil, penugasan nilai balik melalui nama fungsi, serta pembuatan pustaka fungsi matematika dan teks sederhana.

PrasyaratModul 11

Mekanisme pengiriman parameter nilai dan referensi, kata kunci var, const, dan out, efek samping perubahan nilai, serta pemilihan mode parameter yang tepat.

PrasyaratModul 12

Prinsip rekursi, base case dan recursive case, penelusuran call stack, contoh faktorial, Fibonacci, dan penjumlahan deret, serta perbandingan pendekatan rekursif dan iteratif.

PrasyaratModul 14

Deklarasi array, indeks dan batas, inisialisasi, penelusuran, pencarian nilai maksimum dan minimum, penghitungan rata-rata, serta kesalahan umum index out of range.

PrasyaratModul 15

Array dua dimensi dan lebih, penelusuran baris dan kolom, operasi matriks (penjumlahan, perkalian, transpose), serta alokasi memori array berdimensi besar.

PrasyaratModul 16

Pencarian linear pada array, pencarian seluruh kemunculan, teknik sentinel, analisis kasus terbaik dan terburuk, serta implementasi dalam bentuk fungsi yang dapat dipakai ulang.

PrasyaratModul 17

Bubble sort, selection sort, dan insertion sort: logika langkah, pseudocode, flowchart, penelusuran tabel, penghitungan jumlah perbandingan dan pertukaran, serta perbandingan performa.

PrasyaratModul 18

Mendefinisikan tipe record, mengakses field, record bersarang, with, array of record, serta penerapan pada pengelolaan data mahasiswa dan inventaris sederhana.

PrasyaratModul 19

Mendefinisikan tipe enumerasi, urutan ordinal, konversi dengan ord dan succ, operasi himpunan (union, intersection, difference, membership), serta batasan jumlah anggota set.

PrasyaratModul 20

Tipe subrange dan kegunaannya untuk validasi, deklarasi type kustom, aturan kompatibilitas dan kesetaraan tipe, konversi tipe eksplisit, serta praktik terbaik pendefinisian tipe.

PrasyaratModul 21
FASE 3

Modularisasi, Memori, dan Algoritma Lanjutan

Mengelola data dinamis, berkas, modul program, dan algoritma berperforma tinggi.

Modul 23 - 35

Tipe string dan shortstring, fungsi standar (length, copy, pos, concat), prosedur manipulasi (delete, insert, str, val), serta studi kasus validasi dan penguraian teks.

PrasyaratModul 22

Struktur unit Pascal (interface dan implementation), klausa uses, unit standar, pembuatan pustaka sendiri, serta strategi memecah program besar menjadi modul terkelola.

PrasyaratModul 23

Konsep berkas, deklarasi variabel file, prosedur assign, rewrite, reset, append, close, pembacaan hingga eof, serta studi kasus pencatatan data sederhana.

PrasyaratModul 24

Perbedaan file teks dan file biner, file of record, akses acak dengan seek, filepos, dan filesize, pembaruan data di posisi tertentu, serta pertimbangan efisiensi dan portabilitas.

PrasyaratModul 25

Konsep alamat memori, deklarasi pointer, operator ^ dan @, prosedur new dan dispose, pointer nil, dangling pointer, serta bahaya memory leak.

PrasyaratModul 26

Struktur node dan penunjuk, senarai tunggal, operasi penyisipan di awal/tengah/akhir, penghapusan, penelusuran, pembalikan senarai, serta perbandingan linked list dengan array.

PrasyaratModul 27

Prinsip LIFO dan FIFO, implementasi stack dan queue dengan array serta linked list, operasi dasar, aplikasi pada konversi notasi dan simulasi antrian, serta analisis kompleksitas operasi.

PrasyaratModul 28

Menara Hanoi, permutasi dan kombinasi, pencarian maksimum dengan pendekatan bagi-dua, analisis relasi rekurens sederhana, serta teknik mengubah rekursi menjadi iterasi.

PrasyaratModul 29

Syarat data terurut, pencarian biner iteratif dan rekursif, analisis kompleksitas logaritmik, pengantar fungsi hash, penanganan collision sederhana, serta kapan hashing lebih unggul dari pencarian biner.

PrasyaratModul 30

Strategi partisi dan pivot pada quick sort, pemilihan pivot, proses penggabungan pada merge sort, penelusuran langkah, analisis kasus rata-rata dan terburuk, serta perbandingan keduanya.

PrasyaratModul 31

Struktur heap biner, operasi sift up dan sift down, membangun heap, heap sort, serta implementasi priority queue sebagai dasar algoritma lanjutan dan penjadwalan.

PrasyaratModul 32

Notasi Big-O, Omega, dan Theta, analisis waktu dan ruang, perhitungan kompleksitas perulangan bersarang, perbandingan pertumbuhan fungsi, serta cara memilih algoritma berdasarkan kebutuhan.

PrasyaratModul 33

Jenis kesalahan (sintaks, runtime, logika), membaca pesan kompilator, penggunaan breakpoint dan watch, penelusuran manual dengan tabel, serta strategi sistematis menemukan akar masalah.

PrasyaratModul 34
FASE 4

Object Pascal dan Rekayasa Perangkat Lunak

Membangun aplikasi berorientasi objek, algoritma tingkat lanjut, dan proyek terpadu.

Modul 36 - 50

Paradigma berorientasi objek, deklarasi class, field dan method, constructor dan destructor, instansiasi objek, serta perbedaan record dan class dalam pengelolaan memori.

PrasyaratModul 35

Bagian private, protected, public, published, teknik penyembunyian data, penulisan properti dengan read dan write, serta praktik perancangan antarmuka kelas yang bersih.

PrasyaratModul 36

Kelas dasar dan kelas turunan, kata kunci inherited, penulisan ulang method, hierarki kelas, serta perancangan hierarki yang benar untuk menghindari duplikasi kode.

PrasyaratModul 37

Method statis dan virtual, kata kunci virtual, override, dan abstract, pengikatan dinamis, penggunaan variabel bertipe kelas dasar, serta contoh nyata polimorfisme.

PrasyaratModul 38

Kelas abstrak sebagai kerangka umum, deklarasi interface sebagai kontrak perilaku, perbedaan interface dan kelas abstrak, serta penerapan pada perancangan sistem yang mudah diperluas.

PrasyaratModul 39

Konsep penanganan kesalahan terstruktur, blok try...except dan try...finally, objek exception, raise, pembuatan kelas exception sendiri, serta pola penanganan yang aman.

PrasyaratModul 40

Pemrograman generik pada Free Pascal dan Object Pascal, deklarasi generic dan specialize, penulisan struktur data yang dapat dipakai ulang untuk berbagai tipe, serta batasan implementasinya.

PrasyaratModul 41

Penataan folder proyek berskala menengah, pemisahan lapisan logika dan antarmuka, penggunaan berkas konfigurasi, otomatisasi kompilasi, serta dokumentasi kode dan penomoran versi.

PrasyaratModul 42

Pointer ke pointer, pointer ke record dan class, manipulasi memori terkontrol, teknik menghindari kebocoran memori, serta pengelolaan sumber daya dengan pola yang aman dan terukur.

PrasyaratModul 43

Konsep graf berarah dan tak berarah, representasi matriks ketetanggaan dan senarai ketetanggaan, penelusuran BFS dengan queue dan DFS dengan stack atau rekursi, serta aplikasinya.

PrasyaratModul 44

Prinsip optimal substructure dan overlapping subproblems, pendekatan memoization dan tabulasi, studi kasus knapsack, longest common subsequence, serta perbandingan dengan rekursi biasa.

PrasyaratModul 46

Pola perancangan yang umum digunakan: Singleton, Factory, Observer, Strategy, dan Model-View-Controller, disertai contoh implementasi Pascal serta kapan sebaiknya digunakan.

PrasyaratModul 47

Pengujian unit sederhana, pengujian batas dan kasus ekstrem, teknik refactoring, pengukuran waktu eksekusi, optimasi algoritma dan struktur data, serta penyusunan kode yang mudah dirawat.

PrasyaratModul 48

Perancangan dan implementasi aplikasi lengkap berorientasi objek: analisis kebutuhan, perancangan kelas, penyimpanan berkas, antarmuka teks, pengujian, dan dokumentasi proyek akhir.

PrasyaratModul 49

Cara Menggunakan Roadmap Ini

Setiap modul dirancang mandiri namun tetap terhubung. Ikuti urutan fase untuk hasil pembelajaran yang paling optimal, atau lompat langsung ke modul tertentu bila prasyaratnya sudah dikuasai.

Struktur Setiap Modul

  • Tujuan dan capaian pembelajaran
  • Materi teori secara mendetail
  • Algoritma, flowchart, dan pseudocode
  • Contoh kode Pascal lengkap
  • Penjelasan kode baris per baris
  • Latihan bertingkat dan studi kasus
  • Rangkuman dan referensi

Perangkat yang Disarankan

  • Free Pascal Compiler versi 3.x dengan IDE
  • Turbo Pascal 7 atau Pascal ABC untuk perbandingan
  • Editor teks dengan penomoran baris
  • Peramban modern untuk merender flowchart

Estimasi Waktu Belajar

  • Fase 1: sekitar 20 jam belajar
  • Fase 2: sekitar 28 jam belajar
  • Fase 3: sekitar 34 jam belajar
  • Fase 4: sekitar 38 jam belajar
  • Total sekitar 120 jam termasuk latihan

Tips Belajar Efektif

  • Ketik ulang setiap contoh kode, jangan hanya membaca
  • Gambar ulang flowchart sebelum melihat jawaban
  • Kerjakan latihan sebelum membaca studi kasus
  • Catat setiap pesan kesalahan kompilator yang muncul
  • Ulangi modul prasyarat bila konsep terasa belum kokoh