A collection of xKyro-styled visualizations — algorithms, physics, and robotics. Each video explains how it works, an example use case, and its key formula or reference code.
Algoritma Euclid mencari FPB (Faktor Persekutuan terBesar) dua bilangan lewat sisa pembagian berulang: FPB(a, b) = FPB(b, a mod b). Diulang sampai sisa nol; bilangan terakhir yang bukan nol itulah FPB-nya. Jauh lebih cepat daripada mencoba semua faktor.
Example use case
Menyederhanakan pecahan ke bentuk paling sederhana (mis. 272/153 dibagi FPB 17 menjadi 16/9) — dipakai kalkulator dan pustaka bilangan rasional.
Syllabus
Mencari FPB dua bilangan lewat sisa pembagian berulang: FPB(a, b) = FPB(b, a mod b) sampai sisanya nol.
Objectives
·Memahami hubungan FPB(a, b) dengan sisa pembagian a mod b
·Menjelaskan mengapa proses berhenti saat sisa nol
·Menerapkan Euclid untuk menyederhanakan pecahan
How It Works
·Ambil dua bilangan a dan b
·Hitung sisa pembagian a dibagi b
·Ganti a dengan b, dan b dengan sisa tadi
·Ulangi sampai sisanya menjadi nol
·Bilangan terakhir yang bukan nol itulah FPB-nya
Prerequisites
·Operasi modulo (sisa bagi)
Real-World Uses
·Menyederhanakan pecahan, misalnya 272/153 menjadi 16/9
·Membagi rata benda ke beberapa orang tanpa sisa berlebih
Konversi biner ke desimal menunjukkan cara komputer menyimpan angka hanya dengan 0 dan 1 melalui deretan lampu bit. Tiap posisi bit mewakili nilai kelipatan dua (1, 2, 4, 8, dan seterusnya), dan angka desimal diperoleh dengan menjumlahkan nilai posisi tempat bitnya menyala. Visualisasi menampilkan delapan lampu bit yang menyala atau mati beserta hasil penjumlahan nilainya menjadi angka desimal.
Example use case
Memahami kenapa komputer dan HP menghitung semua angka hanya dengan sakelar on dan off di dalam cipnya.
Syllabus
Komputer menghitung dengan deretan bit 0 dan 1, tempat tiap posisi bernilai kelipatan dua.
Objectives
·Memahami cara komputer menyimpan angka hanya dengan 0 dan 1
·Menjelaskan nilai tempat tiap bit sebagai kelipatan dua
·Menerapkan konversi antara bilangan biner dan desimal
How It Works
·Susun delapan lampu bit, tiap posisi bernilai 1, 2, 4, 8, dan seterusnya.
·Lampu menyala berarti bit 1, lampu mati berarti bit 0.
·Jumlahkan nilai posisi tempat lampunya menyala untuk mendapat angka desimal.
·Untuk mengubah desimal ke biner, nyalakan bit dari nilai terbesar yang muat lalu sisakan selebihnya.
Prerequisites
·Penjumlahan
·Perpangkatan dua sederhana
Real-World Uses
·Dasar cara komputer dan HP menyimpan semua angka lewat sakelar on-off.
·Alasan ukuran file dihitung dalam kelipatan seperti kilobyte dan megabyte.
·Kode warna dan sinyal digital yang tersusun dari deretan bit.
Dugaan Collatz adalah aturan sederhana yang menyimpan misteri besar. Ambil angka apa pun: bila genap bagi 2, bila ganjil kalikan 3 lalu tambah 1, dan ulangi. Setiap angka yang pernah dicoba selalu berakhir di 1 — tetapi hingga kini belum ada yang bisa membuktikannya benar untuk semua angka. Visualisasi melacak lintasan hujan es sebuah angka yang melonjak tinggi lalu jatuh ke 1.
Example use case
Contoh bahwa aturan matematika sesederhana apa pun bisa melahirkan masalah yang belum terpecahkan hingga sekarang.
Syllabus
Genap dibagi 2, ganjil dikali 3 tambah 1, ulangi; selalu berakhir di 1 walau belum terbukti untuk semua angka.
Objectives
·Memahami proses iteratif berbasis aturan
·Menjelaskan mengapa sebuah masalah bisa disebut belum terpecahkan
·Membaca lintasan angka yang naik dan turun
How It Works
·Mulai dari sebuah angka n.
·Bila n genap, bagi 2; bila ganjil, kalikan 3 lalu tambah 1.
·Catat tiap nilai — lintasannya bisa melonjak sangat tinggi sebelum turun.
·Berhenti ketika mencapai 1.
Prerequisites
·Konsep ganjil, genap, dan operasi modulo
·Perulangan while
Real-World Uses
·Contoh masalah terbuka dalam matematika yang berhadiah riset.
·Bahan uji untuk generator bilangan dan komputasi.
·Pengantar berpikir komputasional di kelas.
ComplexityO(panjang lintasan), tanpa batas yang terbukti
Fast Exponentiation menghitung pangkat dengan mengkuadratkan basis dan membagi dua eksponen, memakai bit biner eksponen. Jadi O(log n) perkalian, bukan O(n). Fondasi kriptografi (mis. RSA) yang memakai pangkat bilangan sangat besar.
Example use case
Kriptografi RSA: menghitung pangkat modular bilangan raksasa secara efisien untuk enkripsi.
Syllabus
Menghitung pangkat dengan mengkuadratkan basis dan membagi dua eksponen, jadi jauh lebih sedikit perkalian.
Objectives
·Memahami cara memecah pangkat memakai bit biner eksponen
·Menjelaskan mengapa jumlah perkalian turun jadi O(log n)
·Menerapkan teknik ini untuk pangkat modular yang besar
How It Works
·Lihat eksponen dalam bentuk biner
·Kuadratkan basis di tiap langkah
·Bagi dua eksponen tiap langkah
·Kalikan hasil hanya saat bit eksponen bernilai 1
·Selesai setelah semua bit eksponen habis diproses
Prerequisites
·Perpangkatan
·Representasi biner
Real-World Uses
·Kriptografi RSA yang mengamankan chat dan transaksi online
·Menghitung pangkat besar cepat di kalkulator atau game
Metode Monte Carlo menebar titik acak di persegi yang memuat lingkaran. Rasio titik yang jatuh di dalam lingkaran mendekati rasio luas (pi/4), jadi pi ~= 4 x dalam/total. Makin banyak titik, makin akurat. Pengantar probabilitas dan simulasi.
Example use case
Estimasi nilai atau luas rumit lewat simulasi acak ketika rumus eksaknya sulit dihitung.
Syllabus
Menebar titik acak di persegi berisi lingkaran; rasio titik di dalam lingkaran menaksir nilai pi.
Objectives
·Memahami cara menaksir nilai lewat percobaan acak
·Menjelaskan hubungan rasio titik dengan rasio luas (pi/4)
·Menerapkan simulasi Monte Carlo untuk estimasi pi
How It Works
·Gambar lingkaran di dalam sebuah persegi
·Tebar banyak titik acak di dalam persegi
·Hitung berapa titik yang jatuh di dalam lingkaran
·Bagi jumlah titik dalam lingkaran dengan total titik
·Kalikan rasio itu dengan 4 untuk memperkirakan pi
Prerequisites
·Luas lingkaran dan persegi
·Konsep probabilitas dasar
Real-World Uses
·Menaksir peluang menang di game lewat ribuan percobaan acak
·Memperkirakan hasil rumit yang susah dihitung dengan rumus pasti
Prime Sieve (Saringan Eratosthenes) mencari semua bilangan prima hingga n dengan menandai kelipatan setiap bilangan prima sebagai bukan prima. Mulai dari p=2, semua kelipatannya dicoret, lalu lanjut ke bilangan berikutnya yang belum tercoret. Visualisasi memperlihatkan angka-angka yang dicoret (tanda X) satu per satu hingga hanya bilangan prima yang tersisa.
Example use case
Menghasilkan tabel bilangan prima untuk pembangkitan kunci awal pada eksperimen kriptografi RSA.
Syllabus
Menemukan semua bilangan prima sampai n dengan mencoret kelipatan tiap prima, menyisakan angka yang tak pernah tercoret.
Objectives
·Memahami cara menandai kelipatan sebagai bukan prima
·Menjelaskan mengapa angka tersisa pasti bilangan prima
·Menerapkan saringan untuk membangkitkan daftar prima
How It Works
·Tulis semua angka dari 2 sampai n
·Mulai dari 2, coret semua kelipatannya
·Lanjut ke angka berikutnya yang belum tercoret (3, lalu 5, ...)
·Coret semua kelipatan angka prima itu juga
·Angka yang tersisa tanpa coretan adalah bilangan prima
Prerequisites
·Bilangan prima
·Kelipatan
Real-World Uses
·Menyiapkan bilangan prima besar untuk kunci kriptografi RSA
·Membuat tabel prima untuk soal-soal lomba pemrograman
Segitiga Pascal dibangun dengan aturan sederhana: tiap angka adalah jumlah dua angka tepat di atasnya, dengan tepi selalu 1. Dari aturan sesederhana itu muncul pola yang kaya: tiap baris adalah koefisien binomial C(n,k) — banyaknya cara memilih k benda dari n — dan sekaligus menggambarkan peluang, misalnya hasil lemparan koin. Visualisasi membangun segitiga baris demi baris dan menyorot satu sel = jumlah dua induknya.
Example use case
Menghitung berapa cara memilih anggota tim dari sekelompok orang, atau peluang mendapat sejumlah gambar saat melempar koin beberapa kali.
Syllabus
Tiap angka = jumlah dua angka di atasnya (tepi = 1); baris ke-n = koefisien C(n,k) dan pola peluang.
Objectives
·Memahami pola rekursif yang sederhana
·Mengaitkan baris dengan kombinasi C(n,k)
·Melihat hubungannya dengan peluang (lempar koin)
How It Works
·Mulai dari puncak: satu angka 1.
·Tiap baris baru: tepi kiri dan kanan selalu 1.
·Tiap angka di dalam = jumlah dua angka tepat di atasnya.
·Baris ke-n memberi koefisien C(n,0), C(n,1), ... = cara memilih k dari n.
Prerequisites
·Penjumlahan
·Konsep baris dan pola
·Ide dasar peluang
Real-World Uses
·Menghitung banyaknya cara memilih (kombinasi).
·Peluang hasil lemparan koin berulang.
·Muncul di aljabar (binomial) dan pola fraktal Segitiga Sierpinski.
Rotate Image 90° memutar matriks persegi searah jarum jam dengan dua fase in-place: pertama transpose (tukar elemen m[i][j] dengan m[j][i]), lalu balik (reverse) setiap baris memakai dua pointer. Kombinasi kedua operasi ini setara dengan rotasi 90 derajat tanpa memakai matriks tambahan. Visualisasi menampilkan fase transpose di sepanjang diagonal lalu pembalikan tiap baris hingga matriks selesai diputar.
Example use case
Fitur putar foto 90 derajat pada aplikasi editor gambar yang bekerja langsung pada array piksel.
Syllabus
Memutar matriks persegi 90 derajat searah jarum jam lewat dua langkah in-place: transpose lalu balik tiap baris.
Objectives
·Memahami dua fase rotasi: transpose dan reverse baris
Bead Sort (sortir manik / gravitasi) adalah algoritma pengurutan bilangan bulat non-negatif. Tiap angka digambarkan sebagai deretan manik pada satu baris (rata kiri). Saat "gravitasi" diterapkan, manik pada tiap kolom jatuh ke dasar. Setelah semua manik jatuh, tinggi (jumlah manik) tiap baris dari atas ke bawah menjadi terurut menaik. Kompleksitas O(n * maks).
Example use case
Ilustrasi "sorting network" / analog abacus: tiap kolom bekerja mandiri sehingga dapat diparalelkan atau diimplementasi di perangkat keras. Contoh: [4,2,5,1,3] -> gravitasi -> [1,2,3,4,5]. Terbatas untuk bilangan bulat non-negatif yang kecil.
Syllabus
Menggambarkan tiap angka sebagai tumpukan manik lalu membiarkan gravitasi menjatuhkannya, sehingga baris otomatis terurut menaik.
Objectives
·Memahami cara merepresentasikan bilangan sebagai deretan manik
·Menjelaskan bagaimana 'gravitasi' per kolom menghasilkan urutan
·Menerapkan idenya pada bilangan bulat non-negatif yang kecil
How It Works
·Tiap angka jadi satu baris manik, rata kiri
·Bayangkan gravitasi menarik semua manik ke bawah
·Manik di tiap kolom jatuh mengisi baris paling bawah dulu
·Setelah semua jatuh, hitung manik tiap baris dari atas
·Tinggi baris kini terurut menaik: [4,2,5,1,3] jadi [1,2,3,4,5]
Prerequisites
·Bilangan bulat non-negatif
Real-World Uses
·Analog sempoa (abacus) yang manik-maniknya turun sendiri
·Ilustrasi tiap kolom bekerja mandiri seperti mesin sederhana
Bubble Sort mengurutkan array dengan membandingkan pasangan bersebelahan dan menukarnya bila urutannya salah. Tiap sapuan penuh mengapungkan nilai terbesar ke ujung. Bila satu sapuan berlalu tanpa pertukaran, array sudah urut dan proses berhenti lebih awal.
Example use case
Alat ajar dasar pengurutan: paling mudah dipahami untuk memperkenalkan konsep bandingkan-dan-tukar sebelum masuk algoritma yang lebih cepat.
Syllabus
Berulang kali membandingkan dua tetangga dan menukarnya bila salah urut, sampai nilai terbesar mengapung ke ujung.
Counting Sort mengurutkan tanpa membandingkan elemen: hitung berapa kali tiap nilai muncul ke dalam bucket, lalu keluarkan nilai sesuai hitungannya secara berurutan. Sangat cepat O(n+k) bila rentang nilai kecil.
Example use case
Mengurutkan nilai ujian 0-100 ribuan siswa: cukup hitung frekuensi tiap nilai lalu tuliskan berurutan.
Syllabus
Mengurutkan tanpa membandingkan elemen, cukup menghitung frekuensi tiap nilai lalu menuliskannya kembali secara berurutan.
Objectives
·Memahami pengurutan berbasis hitungan, bukan perbandingan
·Menjelaskan kapan Counting Sort lebih cepat dari sorting biasa
·Menerapkan bucket frekuensi untuk rentang nilai yang kecil
How It Works
·Siapkan bucket hitungan untuk tiap nilai yang mungkin
·Telusuri data, tambah hitungan pada bucket nilainya
·Baca bucket dari nilai terkecil ke terbesar
·Tuliskan tiap nilai sebanyak hitungannya
·Hasilnya array terurut tanpa satu pun perbandingan
Prerequisites
·Array
·Konsep frekuensi
Real-World Uses
·Menyusun nilai ujian 0-100 dari ribuan siswa sekelas
·Menghitung dan merapikan umur peserta lomba yang seragam rentangnya
Insertion Sort mengurutkan larik dengan membangun bagian terurut di depan lalu menyisipkan tiap elemen baru ke posisi yang tepat. Elemen kunci diangkat, elemen sebelah kiri yang lebih besar digeser ke kanan, kemudian kunci diletakkan di celah yang terbentuk. Visualisasi batang menyoroti kunci yang sedang diangkat dan digeser sampai seluruh larik terurut naik.
Example use case
Mengurutkan kartu di tangan saat bermain, atau menyisipkan data baru ke dalam daftar kecil yang sudah hampir terurut.
Syllabus
Membangun bagian terurut di depan lalu menyisipkan tiap elemen baru ke celah yang tepat, seperti menyusun kartu di tangan.
Objectives
·Memahami cara menyisipkan elemen ke bagian yang sudah terurut
·Menjelaskan proses menggeser elemen lebih besar ke kanan
·Menerapkan Insertion Sort pada data kecil atau hampir terurut
How It Works
·Anggap elemen pertama sebagai bagian terurut
·Angkat elemen kunci berikutnya dari bagian belum terurut
·Geser elemen kiri yang lebih besar ke kanan
·Letakkan kunci di celah yang terbentuk
·Ulangi sampai semua elemen tersisip pada posisi benar
Prerequisites
·Array
Real-World Uses
·Menyusun kartu remi di tangan satu per satu saat main
·Menyelipkan kontak baru ke daftar nama yang sudah rapi
Selection Sort mengurutkan array dengan berulang mencari elemen TERKECIL di bagian yang belum urut, lalu menukarnya ke posisi terdepan. Setelah tiap putaran, satu elemen terkunci di tempatnya. Sederhana tapi selalu O(n^2) karena tetap memindai sisa array walau sudah hampir urut.
Example use case
Memilih juara 1, 2, 3 secara berurutan dari daftar skor: cari nilai tertinggi, sisihkan, ulangi untuk sisanya.
Syllabus
Berulang mencari elemen terkecil di sisa array lalu menukarnya ke depan, mengunci satu elemen terurut tiap putaran.
Objectives
·Memahami cara mencari elemen minimum di bagian belum terurut
·Menjelaskan mengapa kompleksitasnya selalu O(n^2)
·Menerapkan penukaran minimum ke posisi terdepan
How It Works
·Pindai bagian yang belum terurut untuk cari nilai terkecil
·Tukar nilai terkecil itu ke posisi terdepan yang belum terisi
·Elemen di posisi itu kini terkunci sebagai terurut
·Ulangi pada sisa array yang tersisa
·Selalu memindai penuh walau data sudah hampir urut
Prerequisites
·Array
Real-World Uses
·Memilih juara 1, 2, 3 berurutan dari daftar skor lomba
·Mengambil kartu tertinggi satu per satu sampai tersusun
Merge Sort adalah algoritma pengurutan divide-and-conquer yang membagi array menjadi dua bagian secara rekursif hingga tersisa satu elemen, lalu menggabungkan (merge) kembali bagian-bagian tersebut dalam urutan terurut. Proses penggabungan selalu mengambil elemen terkecil dari kepala kedua bagian. Visualisasi menampilkan batang-batang yang dipecah menjadi setengah lalu digabung kembali hingga seluruh array terurut.
Example use case
Mengurutkan daftar besar transaksi atau file log secara efisien dan stabil di sistem basis data.
Syllabus
Membagi array jadi dua terus-menerus sampai satu elemen, lalu menggabungkannya kembali secara terurut (divide and conquer).
Objectives
·Memahami strategi divide and conquer pada pengurutan
·Menjelaskan cara menggabungkan dua bagian terurut jadi satu
·Menerapkan Merge Sort untuk data besar yang butuh stabil
How It Works
·Bagi array menjadi dua bagian secara berulang
·Terus bagi hingga tiap bagian tinggal satu elemen
·Gabungkan dua bagian dengan mengambil kepala terkecil dulu
·Salin sisa elemen bagian yang belum habis
·Naik bertahap hingga seluruh array tergabung terurut
Prerequisites
·Array
·Rekursi
Real-World Uses
·Menggabungkan file log terurut dari beberapa server sekaligus
·Mengurutkan daftar besar transaksi Shopee secara stabil
Quick Sort mengurutkan array dengan strategi divide-and-conquer memakai elemen pivot. Elemen yang lebih kecil dari pivot dipindah ke kiri dan yang lebih besar ke kanan (partisi), lalu tiap sub-bagian diurutkan secara rekursif. Visualisasi batang menampilkan proses partisi, pertukaran elemen, dan rekursi hingga seluruh array terurut.
Example use case
Mengurutkan daftar transaksi berdasarkan nominal di sistem laporan keuangan, karena Quick Sort cepat dan efisien untuk data besar di memori.
Syllabus
Memilih pivot, memisahkan elemen lebih kecil ke kiri dan lebih besar ke kanan, lalu mengurutkan tiap sisi secara rekursif.
Objectives
·Memahami peran pivot dalam proses partisi
·Menjelaskan bagaimana partisi memisahkan elemen kecil dan besar
·Menerapkan rekursi untuk mengurutkan tiap sub-bagian
How It Works
·Pilih satu elemen sebagai pivot
·Pindahkan elemen lebih kecil dari pivot ke kiri
·Pindahkan elemen lebih besar dari pivot ke kanan
·Pivot kini berada di posisi akhirnya yang benar
·Ulangi partisi secara rekursif pada sisi kiri dan kanan
Prerequisites
·Array
·Rekursi
Real-World Uses
·Mengurutkan daftar transaksi berdasarkan nominal di aplikasi keuangan
·Menyusun cepat data besar di memori, seperti daftar harga produk
Radix Sort mengurutkan angka tanpa membandingkan nilai secara langsung, melainkan dengan mengelompokkan berdasarkan digit dari satuan ke puluhan. Tiap iterasi menaruh setiap angka ke bucket sesuai digit pada posisi tertentu lalu menggabungkannya kembali secara berurutan. Visualisasi menampilkan bucket ONES dan TENS serta pergerakan angka antar bucket sampai seluruh larik terurut.
Example use case
Menyortir jutaan nomor pelanggan atau kode pos secara cepat dalam sistem basis data karena panjang digitnya tetap.
Syllabus
Mengurutkan angka digit demi digit dari satuan ke puluhan lewat bucket, tanpa pernah membandingkan nilai secara langsung.
Objectives
·Memahami pengurutan bertahap berdasarkan posisi digit
·Menjelaskan peran bucket per digit dalam menyusun urutan
·Menerapkan Radix Sort pada data berdigit tetap seperti kode pos
How It Works
·Mulai dari digit satuan tiap angka
·Masukkan tiap angka ke bucket sesuai digit itu
·Gabungkan kembali angka dari bucket secara berurutan
·Ulangi untuk digit puluhan, ratusan, dan seterusnya
·Setelah digit tertinggi diproses, seluruh larik terurut
Prerequisites
·Counting Sort
·Sistem bilangan desimal
Real-World Uses
·Menyortir jutaan nomor pelanggan atau kode pos dengan cepat
Binary Search mencari sebuah nilai target di dalam larik yang sudah terurut dengan membagi dua rentang pencarian secara berulang. Setiap langkah memeriksa elemen tengah: jika cocok selesai, jika target lebih besar rentang bawah dinaikkan, jika lebih kecil rentang atas diturunkan. Visualisasi menampilkan penyempitan rentang l..r dan penunjuk MID sampai target 71 ditemukan.
Example use case
Mencari kata dalam kamus digital atau data pelanggan terurut sehingga pencarian jauh lebih cepat daripada memeriksa satu per satu.
Syllabus
Mencari nilai di data terurut dengan membelah dua rentang berulang kali, membuang separuh yang pasti salah setiap langkah.
Objectives
·Memahami syarat data harus terurut sebelum dicari
·Menjelaskan cara memeriksa elemen tengah untuk mempersempit rentang
·Menerapkan pembelahan rentang l..r hingga target ditemukan
How It Works
·Tentukan batas kiri (l) dan kanan (r) seluruh data
·Periksa elemen di tengah rentang
·Bila cocok, pencarian selesai
·Bila target lebih besar, naikkan batas kiri melewati tengah
·Bila target lebih kecil, turunkan batas kanan sebelum tengah
Prerequisites
·Array terurut
Real-World Uses
·Mencari kata dalam kamus digital tanpa buka satu-satu
·Menebak angka 1-100 dengan strategi 'lebih besar/lebih kecil'
Linear Search memeriksa elemen satu per satu dari kiri ke kanan sampai menemukan target. Tidak butuh data terurut, tapi paling lambat: rata-rata memeriksa separuh data. Pembanding yang menjelaskan kenapa Binary Search jauh lebih cepat pada data terurut.
Example use case
Mencari nama di daftar yang tidak berurutan: baca dari atas ke bawah sampai ketemu.
Syllabus
Memeriksa elemen satu per satu dari awal sampai target ketemu; sederhana tapi paling lambat dan tak butuh data terurut.
Objectives
·Memahami pencarian berurutan dari kiri ke kanan
·Menjelaskan mengapa rata-rata memeriksa separuh data
·Membandingkan kelambatannya dengan Binary Search pada data terurut
How It Works
·Mulai dari elemen paling depan
·Bandingkan elemen sekarang dengan target
·Bila cocok, hentikan dan laporkan posisinya
·Bila tidak, lanjut ke elemen berikutnya
·Bila sampai ujung tanpa cocok, berarti target tidak ada
Real-World Uses
·Mencari nama teman di daftar chat yang tidak berurutan
·Menelusuri isi tas satu per satu sampai ketemu barang dicari
Memeriksa apakah kurung buka dan tutup berpasangan rapi adalah contoh klasik penggunaan Stack. Setiap kurung buka didorong ke stack; setiap kurung tutup harus cocok dengan yang terakhir masuk (paling atas stack). Bila cocok sampai habis dan stack kosong, teks dinyatakan seimbang. Visualisasi mendorong dan mengeluarkan kurung dari stack sampai vonis akhir.
Example use case
Fitur editor kode yang menandai kurung tutup yang hilang saat kamu menulis program bekerja persis dengan cara ini.
Syllabus
Dorong kurung buka ke stack; cocokkan tiap kurung tutup dengan yang paling atas — kosong di akhir berarti seimbang.
Objectives
·Memahami struktur data Stack (masuk terakhir, keluar pertama)
·Menerapkan stack untuk mencocokkan pasangan
·Menghubungkan konsep ini dengan alat pemrograman nyata
How It Works
·Telusuri teks karakter demi karakter.
·Bila menemukan kurung buka, dorong (push) ke stack.
·Bila menemukan kurung tutup, ambil (pop) atas stack dan cek pasangannya cocok.
·Di akhir, teks seimbang bila stack kosong dan tak ada yang tak cocok.
Linked List menyimpan data sebagai rantai node, di mana tiap node menunjuk ke node berikutnya lewat sebuah panah (pointer). Menyisipkan atau menghapus di tengah cukup dengan mengubah beberapa panah — tak perlu menggeser seluruh elemen seperti pada array. Visualisasi menyisipkan node baru hanya dengan mengubah dua panah.
Example use case
Struktur yang cocok saat data sering disisipkan atau dihapus di tengah, seperti daftar putar lagu atau riwayat undo dan redo.
Syllabus
Data sebagai rantai node ber-panah; menyisip atau menghapus cukup mengubah beberapa panah, bukan menggeser semua.
Objectives
·Memahami node dan pointer (panah next)
·Membandingkan linked list dengan array
·Menerapkan penyisipan dengan mengubah pointer
How It Works
·Tiap node menyimpan sebuah nilai dan panah ke node berikutnya.
·Untuk menyisipkan X setelah B, arahkan panah X ke node yang tadinya setelah B.
·Lalu arahkan panah B ke X.
·Selesai — hanya dua panah berubah, elemen lain tak bergeser.
Prerequisites
·Konsep variabel dan referensi
·Array (sebagai pembanding)
Real-World Uses
·Riwayat undo dan redo di aplikasi.
·Daftar putar musik dengan tombol next dan prev.
·Pengelolaan memori di sistem operasi.
ComplexityO(1) menyisip atau menghapus bila posisinya diketahui
Queue adalah struktur data bergaya antrian dengan aturan FIFO, yaitu yang pertama datang menjadi yang pertama dilayani. Elemen baru selalu masuk di ujung belakang (enqueue) dan elemen yang keluar selalu dari ujung depan (dequeue), persis seperti antre di loket. Visualisasi menampilkan elemen yang berbaris dari belakang ke depan dan yang paling depan keluar lebih dulu.
Example use case
Cara antrian di loket tiket atau daftar tunggu ojek online melayani orang sesuai urutan kedatangannya.
Syllabus
Simpan data bergaya antrian loket: yang pertama datang adalah yang pertama dilayani.
Objectives
·Memahami aturan FIFO pada struktur data antrian
·Menjelaskan operasi enqueue (masuk belakang) dan dequeue (keluar depan)
·Menerapkan queue untuk melayani tugas sesuai urutan datang
How It Works
·Bayangkan orang yang mengantre di depan satu loket.
·Enqueue berarti pendatang baru berdiri di ujung paling belakang.
·Dequeue berarti orang di ujung paling depan dilayani lalu keluar.
·Karena depan yang dilayani, urutan datang sama dengan urutan keluar.
Prerequisites
·Array atau list
Real-World Uses
·Antrian nomor di loket bank atau kasir minimarket.
Stack adalah struktur data bergaya tumpukan dengan aturan LIFO, yaitu barang yang terakhir masuk menjadi yang pertama keluar. Menambah barang (push) selalu meletakkannya di puncak, dan mengambil barang (pop) juga selalu dari puncak, persis seperti tumpukan piring. Visualisasi menampilkan elemen yang ditumpuk ke atas saat push dan diangkat dari puncak saat pop.
Example use case
Cara tombol Undo (Ctrl+Z) dan tombol Back di browser mengembalikanmu ke langkah terakhir lebih dulu.
Syllabus
Simpan data bergaya tumpukan piring: yang terakhir masuk adalah yang pertama keluar.
Objectives
·Memahami aturan LIFO pada struktur data tumpukan
·Menjelaskan operasi push (menaruh) dan pop (mengambil) di puncak
·Menerapkan stack untuk fitur seperti Undo dan tombol Back
How It Works
·Bayangkan tumpukan piring yang hanya bisa disentuh dari atas.
·Push berarti menaruh satu elemen baru di puncak tumpukan.
·Pop berarti mengangkat satu elemen dari puncak tumpukan.
·Karena hanya puncak yang diakses, elemen terakhir masuk keluar lebih dulu.
Prerequisites
·Array atau list
Real-World Uses
·Fitur Undo (Ctrl+Z) yang membatalkan aksi terakhirmu lebih dulu.
·Tombol Back di browser yang membuka halaman sebelumnya.
·Riwayat langkah pada game atau aplikasi edit foto.
Priority Queue adalah antrian di mana yang dilayani lebih dulu bukan yang datang paling awal, melainkan yang prioritasnya paling tinggi. Setiap item masuk membawa nilai prioritas dan disisipkan pada posisi yang menjaga urutan; pengambilan selalu dari yang paling penting. Visualisasi menyisipkan tugas berprioritas dan melayani yang tertinggi lebih dulu.
Example use case
Triase IGD melayani pasien gawat lebih dulu, atau proses boarding pesawat yang mendahulukan penumpang prioritas.
Syllabus
Yang dilayani lebih dulu adalah prioritas tertinggi, bukan yang datang paling awal.
Objectives
·Membedakan queue biasa dari priority queue
·Memahami penyisipan yang menjaga urutan prioritas
·Mengenali kasus nyata penjadwalan berbasis prioritas
How It Works
·Setiap item masuk membawa nilai prioritas.
·Sisipkan item pada posisi yang menjaga prioritas tertinggi tetap di depan.
·Layani (ambil) selalu dari depan, yaitu prioritas tertinggi.
·Ulangi; item mendesak selalu didahulukan meski datang belakangan.
Bloom filter memeriksa apakah sebuah item pernah dilihat dengan memori sangat kecil. Tiap item dipetakan oleh beberapa fungsi hash ke beberapa posisi bit yang lalu di-set menjadi 1. Saat mengecek, bila ada satu saja bit yang 0, item PASTI belum pernah ada; bila semua 1, item MUNGKIN ada (bisa keliru alias false positive). Ia menukar sedikit ketidakpastian demi kecepatan dan hemat memori yang luar biasa. Visualisasi menambah item lalu menunjukkan sebuah false positive.
Example use case
Cara aplikasi cek cepat apakah username sudah dipakai, atau apakah sebuah URL masuk daftar berbahaya, tanpa menyimpan seluruh daftarnya.
Syllabus
Beberapa hash menyalakan bit; ada bit 0 = PASTI tidak ada, semua bit 1 = MUNGKIN ada (bisa false positive).
Objectives
·Memahami struktur data probabilistik
·Menjelaskan mengapa false positive mungkin tapi false negative tidak
·Menilai tukar-untung memori melawan kepastian
How It Works
·Sediakan array bit kosong dan beberapa fungsi hash.
·Menambah item: set bit menjadi 1 di semua posisi hasil hash-nya.
·Mengecek: lihat semua posisi hash item itu.
·Bila ada bit 0 -> pasti tidak ada; bila semua 1 -> mungkin ada (bisa keliru).
Prerequisites
·Fungsi hash
·Array bit
·Operasi bit sederhana
Real-World Uses
·Cek cepat apakah username sudah dipakai.
·Filter URL berbahaya di peramban (Google Safe Browsing).
·Menghemat query database dan cache berukuran besar.
ComplexityO(k) per operasi (k = jumlah fungsi hash)
Algoritma Floyd (tortoise and hare) mendeteksi siklus pada linked list menggunakan dua pointer: slow bergerak satu langkah dan fast bergerak dua langkah setiap iterasi. Jika kedua pointer bertemu, berarti terdapat loop; jika fast mencapai akhir list, tidak ada siklus. Visualisasi menampilkan linked list berbentuk lingkaran dengan kedua pointer yang saling mengejar hingga bertemu di titik siklus.
Example use case
Mendeteksi loop tak terhingga pada struktur data terhubung atau siklus dalam graf dependensi.
Syllabus
Dua pointer berlari beda kecepatan pada linked list; bila yang cepat menyusul yang lambat, berarti ada siklus.
Objectives
·Memahami teknik dua pointer slow dan fast
·Menjelaskan mengapa pertemuan pointer menandakan adanya loop
·Menerapkan deteksi siklus pada struktur data terhubung
How It Works
·Tempatkan pointer slow dan fast di awal list
·Gerakkan slow satu langkah tiap iterasi
·Gerakkan fast dua langkah tiap iterasi
·Bila keduanya bertemu di titik sama, ada siklus
·Bila fast mencapai ujung list, tidak ada siklus
Prerequisites
·Linked list
·Konsep pointer
Real-World Uses
·Mendeteksi loop tak berujung di rantai data yang saling menunjuk
·Menemukan siklus di graf dependensi agar program tidak macet
Hash Table memetakan kunci ke indeks bucket lewat fungsi hash sehingga pencarian rata-rata O(1). Bila dua kunci jatuh ke bucket sama (tabrakan), keduanya disambung dalam rantai (chaining). Cara kerja dictionary/map di balik layar.
Example use case
Struktur dictionary di banyak bahasa pemrograman: menyimpan dan mencari nilai berdasarkan kunci secara instan.
Syllabus
Fungsi hash memetakan kunci langsung ke lokasi bucket, sehingga menyimpan dan mencari data rata-rata secepat O(1).
Objectives
·Memahami peran fungsi hash mengubah kunci jadi indeks bucket
·Menjelaskan cara menangani tabrakan lewat rantai (chaining)
·Menerapkan hash table sebagai dictionary/map
How It Works
·Ubah kunci menjadi indeks bucket lewat fungsi hash
·Simpan nilai pada bucket sesuai indeks tersebut
·Untuk mencari, hitung ulang hash kunci lalu buka bucketnya
·Bila dua kunci jatuh ke bucket sama, sambung dalam rantai
·Telusuri rantai bucket itu untuk temukan kunci yang tepat
Prerequisites
·Array
·Konsep fungsi
Real-World Uses
·Struktur dictionary/map di balik banyak aplikasi dan bahasa program
·Cache username agar cek ketersediaan akun terasa instan
LRU Cache adalah penyimpanan cepat berukuran terbatas yang membuang item paling lama tidak dipakai ketika ruangnya penuh. Tiap kali sebuah item diakses, ia ditandai sebagai yang paling baru dipakai, sehingga item yang menganggur paling lama berada di urutan buang berikutnya. Visualisasi menampilkan daftar item yang urutannya berubah tiap akses dan item terlama yang tersingkir saat item baru masuk.
Example use case
Alasan HP dengan RAM kecil menutup sendiri aplikasi yang lama tidak kamu buka saat kamu membuka game berat.
Syllabus
Simpan item terbatas di memori cepat, lalu buang yang paling lama tak dipakai saat penuh.
Objectives
·Memahami kenapa memori cepat harus dibatasi dan dikelola
·Menjelaskan aturan buang item yang paling lama tidak dipakai (LRU)
·Menerapkan pembaruan urutan pakai setiap kali item diakses
How It Works
·Sediakan tempat penyimpanan cepat dengan kapasitas terbatas.
·Tiap kali sebuah item dipakai, tandai ia sebagai yang paling baru.
·Item yang paling lama tidak disentuh menempati urutan buang berikutnya.
·Saat penuh dan ada item baru, singkirkan item paling lama tak dipakai untuk memberi ruang.
Prerequisites
·List atau antrian
·Konsep memori terbatas
Real-World Uses
·HP RAM kecil yang menutup aplikasi lama saat membuka game berat.
·Cache browser yang menyimpan halaman sering dibuka agar cepat.
·Riwayat aplikasi terakhir yang tersingkir saat memori menipis.
Quadtree adalah struktur data pohon yang membagi ruang 2D menjadi empat kuadran secara rekursif setiap kali sebuah wilayah memuat lebih dari satu titik. Proses subdivisi berhenti ketika tiap sel hanya berisi paling banyak satu titik. Visualisasi menunjukkan kotak yang terus terbelah menjadi empat bagian lebih kecil seiring titik-titik memaksa wilayah tersebut dipecah, beserta kedalaman (depth) pohon.
Example use case
Deteksi tabrakan (collision detection) pada game 2D dengan mempartisi objek ke wilayah spasial agar pengecekan lebih efisien.
Syllabus
Pohon yang membagi ruang 2D jadi empat kuadran berulang kali, memecah wilayah hanya saat memuat lebih dari satu titik.
Objectives
·Memahami pembagian ruang 2D menjadi empat kuadran
·Menjelaskan kapan sebuah sel perlu dipecah lagi
·Menerapkan quadtree untuk mempercepat pengecekan spasial
How It Works
·Mulai dari satu kotak besar yang meliputi seluruh ruang
·Bila sebuah wilayah memuat lebih dari satu titik, pecah jadi empat
·Tiap kuadran bisa dipecah lagi secara rekursif
·Subdivisi berhenti saat tiap sel berisi paling banyak satu titik
·Kedalaman pohon menunjukkan seberapa padat titik di area itu
Prerequisites
·Pohon
·Koordinat 2D
·Rekursi
Real-World Uses
·Deteksi tabrakan di game 2D agar cek antar objek lebih hemat
·Peta digital yang memuat titik lokasi sesuai tingkat zoom
Union-Find (Disjoint Set) melacak pengelompokan yang terus berubah dengan sangat cepat. Operasi UNION menggabungkan dua kelompok menjadi satu; operasi FIND menelusuri induk sebuah anggota sampai ke akar kelompoknya. Dua anggota terhubung bila akarnya sama. Dengan trik union-by-rank dan path-compression, keduanya nyaris seketika. Visualisasi menggabungkan orang menjadi lingkaran pertemanan lalu menjawab apakah dua orang terhubung.
Example use case
Menentukan apakah dua orang berada di lingkaran pertemanan yang sama di media sosial, atau apakah dua titik terhubung dalam satu jaringan.
Syllabus
Tiap kelompok punya satu akar; dua anggota terhubung bila akarnya sama. UNION menggabung, FIND menelusuri akar.
Objectives
·Memahami struktur himpunan-terpisah (disjoint set)
·Menjelaskan operasi UNION dan FIND
·Mengaitkan dengan konektivitas jaringan dan pertemanan
How It Works
·Awalnya tiap orang adalah kelompoknya sendiri.
·UNION(a, b): sambungkan akar satu kelompok ke akar kelompok lain.
·FIND(x): telusuri induk x sampai ke akar kelompoknya.
·Dua orang terhubung bila FIND(a) == FIND(b).
Prerequisites
·Konsep pointer / induk
·Pohon sederhana
·Perbandingan
Real-World Uses
·Cek apakah dua orang satu lingkaran pertemanan di media sosial.
·Deteksi komponen terhubung dalam jaringan.
·Dipakai algoritma Kruskal untuk membangun jaringan termurah.
Complexityhampir O(1) per operasi (dengan path-compression)
Binary heap adalah pohon biner lengkap dengan satu aturan: tiap induk selalu lebih besar (atau lebih kecil) dari anak-anaknya, sehingga nilai ekstrem selalu berada di akar. Menyisip nilai baru berarti menaruhnya di ujung lalu menaikkannya (sift-up) menukar dengan induk selama lebih besar; mengambil nilai teratas berarti mengeluarkan akar, memindahkan node terakhir ke atas, lalu menurunkannya (sift-down). Inilah mesin di balik Antrian Prioritas. Visualisasi membangun heap lalu mengambil nilai maksimum.
Example use case
Struktur yang membuat Antrian Prioritas cepat: triase IGD, penjadwal tugas sistem, dan algoritma Dijkstra semuanya memakai heap di dalamnya.
Syllabus
Pohon dengan aturan induk >= anak, jadi nilai maksimum selalu di akar; sisip = naik, ambil = turun, keduanya O(log n).
Objectives
·Memahami sifat heap (induk >= anak)
·Menjelaskan sift-up saat menyisip dan sift-down saat mengambil
·Mengaitkan heap dengan Antrian Prioritas
How It Works
·Simpan pohon biner lengkap sebagai array (anak indeks i = 2i+1 dan 2i+2).
·Sisip: taruh di ujung, tukar ke atas (sift-up) selama lebih besar dari induk.
·Ambil-max: keluarkan akar, node terakhir ke akar, turunkan (sift-down) tukar anak terbesar.
·Nilai maksimum selalu siap diambil di akar.
Prerequisites
·Pohon biner
·Array sebagai representasi pohon
·Perbandingan nilai
Real-World Uses
·Mesin di dalam Antrian Prioritas (triase, penjadwalan).
Binary Search Tree menyimpan nilai secara terurut: tiap node punya anak kiri yang lebih kecil dan anak kanan yang lebih besar. Menyisip atau mencari cukup menuruni satu jalur — ke kiri bila lebih kecil, ke kanan bila lebih besar — sehingga biayanya O(tinggi pohon). Penelusuran in-order menghasilkan data terurut.
Example use case
Struktur indeks untuk pencarian cepat: kamus atau buku telepon digital yang menjaga data tetap terurut sambil tetap murah menambah entri baru.
Syllabus
Pohon yang menyimpan data terurut: anak kiri lebih kecil, anak kanan lebih besar, sehingga cari dan sisip cukup menuruni satu jalur.
Objectives
·Memahami aturan kiri-lebih-kecil, kanan-lebih-besar pada BST
·Menjelaskan cara mencari dan menyisip dengan menuruni satu jalur
·Menerapkan penelusuran in-order untuk membaca data terurut
How It Works
·Mulai dari akar pohon
·Bila nilai dicari lebih kecil, turun ke anak kiri
·Bila lebih besar, turun ke anak kanan
·Berhenti saat nilai ketemu atau menemukan tempat kosong untuk sisip
·Penelusuran in-order menghasilkan semua data dalam urutan menaik
Prerequisites
·Pohon biner
·Rekursi
Real-World Uses
·Indeks buku telepon digital yang tetap terurut saat entri ditambah
·Kamus digital yang cepat dicari sekaligus mudah disisipi kata baru
Trie menyimpan kata huruf-per-huruf sebagai pohon prefix; kata dengan awalan sama berbagi jalur node yang sama. Menelusuri sebuah prefix langsung memberi semua kata yang berawalan itu. Dasar autocomplete dan kamus digital.
Example use case
Saran autocomplete: mengetik AP langsung memunculkan API dan APEL yang berbagi awalan sama.
Syllabus
Pohon prefix yang menyimpan kata huruf per huruf, sehingga kata berawalan sama berbagi jalur dan prefix bisa dicari instan.
Objectives
·Memahami penyimpanan kata sebagai jalur huruf pada pohon
·Menjelaskan bagaimana awalan sama berbagi node yang sama
·Menerapkan penelusuran prefix untuk fitur autocomplete
How It Works
·Mulai dari node akar kosong
·Tiap huruf kata menjadi satu langkah turun ke node anak
·Kata dengan awalan sama memakai jalur node yang sama
·Tandai node terakhir sebagai akhir sebuah kata
·Telusuri sebuah prefix untuk mendapat semua kata di bawahnya
Prerequisites
·Pohon
·String
Real-World Uses
·Saran autocomplete: ketik 'AP' langsung muncul 'API' dan 'APEL'
Ini adalah demonstrasi rekursi murni yang menggambar fraktal pohon: fungsi menggambar satu cabang lalu memanggil dirinya sendiri dua kali untuk membuat cabang kiri dan kanan yang lebih pendek dan miring. Rekursi berhenti ketika kedalaman (depth) mencapai nol sebagai base case. Visualisasi menampilkan pohon yang tumbuh semakin rimbun seiring bertambahnya level rekursi.
Example use case
Pembuatan grafik fraktal, ornamen prosedural, atau model pertumbuhan tanaman dalam game dan animasi.
Syllabus
Rekursi adalah fungsi yang memanggil dirinya sendiri pada bagian yang lebih kecil, dan berhenti saat mencapai base case.
Objectives
·Memahami konsep fungsi yang memanggil dirinya sendiri
·Menjelaskan pentingnya base case sebagai syarat berhenti
·Menerapkan rekursi untuk membuat pola bercabang seperti fraktal
How It Works
·Fungsi mengerjakan satu bagian kecil dari masalah
·Lalu memanggil dirinya sendiri untuk bagian yang lebih kecil
·Tiap panggilan membuat versi masalah semakin mengecil
·Base case menghentikan pemanggilan saat masalah cukup sederhana
·Hasil tiap panggilan digabung membentuk solusi utuh (mis. pohon fraktal)
Prerequisites
·Fungsi
·Dasar pemrograman
Real-World Uses
·Menggambar pola fraktal atau ornamen bercabang di aplikasi seni
·Model pertumbuhan pohon dan tanaman di game
·Efek visual bercabang seperti petir atau akar di animasi
ComplexityTergantung masalah; fraktal pohon O(2^depth) cabang
Fibonacci naif menghitung ulang subpohon yang sama berkali-kali sehingga pohon rekursi meledak. Memoization menyimpan hasil tiap nilai sekali (cache), sehingga panggilan berulang langsung dipakai ulang. Gerbang paling halus dari rekursi menuju Dynamic Programming.
Example use case
Optimasi fungsi rekursif apa pun yang menghitung ulang hal sama: simpan hasil agar tak dihitung dua kali.
Syllabus
Memoization menyimpan hasil tiap perhitungan sekali di cache, mengubah Fibonacci naif yang meledak jadi sangat cepat.
Objectives
·Memahami kenapa Fibonacci naif menghitung ulang hal yang sama
·Menjelaskan cara cache menyimpan hasil agar dipakai ulang
·Menerapkan memoization sebagai jembatan ke Dynamic Programming
How It Works
·Fibonacci naif memanggil dirinya dua kali sehingga subpohon berulang
·Siapkan cache untuk menyimpan hasil tiap nilai yang sudah dihitung
·Sebelum menghitung, cek dulu apakah hasilnya sudah ada di cache
·Bila ada, langsung pakai; bila belum, hitung lalu simpan ke cache
·Perhitungan berulang jadi hilang sehingga jauh lebih cepat
Prerequisites
·Rekursi
·Array atau map
Real-World Uses
·Menyimpan hasil perhitungan berat agar tidak diulang di aplikasi
·Cache skor atau data yang sering diminta ulang di game
·Mempercepat fungsi yang dipanggil berkali-kali dengan input sama
ComplexityO(n) dengan memo, dibanding O(2^n) versi naif
Tower of Hanoi memindahkan tumpukan enam cakram dari tiang A ke tiang C dengan aturan cakram besar tidak boleh di atas cakram kecil. Algoritma memecah masalah secara rekursif: pindahkan n-1 cakram ke tiang bantu, pindahkan cakram terbesar ke tujuan, lalu pindahkan n-1 cakram ke atasnya. Visualisasi menunjukkan tiga tiang dengan cakram bergerak satu per satu hingga selesai dalam 63 langkah rekursif.
Example use case
Menghitung urutan langkah minimal pada teka-teki pemindahan barang atau backup data berjenjang yang harus dipindah tanpa melewati batas kapasitas.
Syllabus
Tower of Hanoi memindahkan tumpukan cakram antar tiang dengan aturan cakram besar tak boleh di atas cakram kecil, diselesaikan secara rekursif.
Objectives
·Memahami aturan pemindahan cakram besar dan kecil
·Menjelaskan pemecahan rekursif jadi tiga langkah
·Menerapkan rumus 2^n - 1 untuk menghitung langkah minimum
How It Works
·Untuk memindahkan n cakram, selesaikan dalam tiga tahap
·Pindahkan n-1 cakram teratas ke tiang bantu (rekursif)
·Pindahkan cakram terbesar langsung ke tiang tujuan
·Pindahkan n-1 cakram tadi dari tiang bantu ke tiang tujuan
·Total langkah minimum selalu 2^n - 1
Prerequisites
·Rekursi
Real-World Uses
·Teka-teki pemindahan barang bertingkat tanpa melewati batas kapasitas
·Strategi rotasi backup data berjenjang di komputer
Flood Fill menyebarkan satu warna baru ke semua sel yang terhubung dan memiliki warna awal yang sama. Algoritma memakai antrian (BFS): ambil sel dari antrian, lewati bila warnanya berbeda dari warna asal, ubah menjadi warna baru, lalu masukkan tetangga valid ke antrian. Visualisasi grid menandai sel painted, queue, dan source sampai seluruh area terhubung terisi.
Example use case
Fitur ember cat (bucket fill) pada aplikasi menggambar seperti Paint yang mewarnai satu area tertutup dengan sekali klik.
Syllabus
Flood Fill mengganti warna semua sel yang terhubung dan berwarna sama, persis seperti tombol ember cat.
Objectives
·Memahami arti sel terhubung dengan warna yang sama
·Menjelaskan cara antrian menyebarkan warna baru ke area
·Menerapkan Flood Fill untuk mewarnai satu area tertutup
How It Works
·Catat warna asal sel yang diklik sebagai patokan
·Masukkan sel awal ke antrian
·Ambil sel dari antrian; lewati bila warnanya beda dari warna asal
·Ubah sel jadi warna baru, lalu masukkan tetangganya ke antrian
·Ulangi sampai antrian kosong dan seluruh area terhubung terisi
Prerequisites
·Antrian (queue)
·Grid 2D
Real-World Uses
·Tombol ember cat di Paint mewarnai satu area dengan sekali klik
·Game seperti Minesweeper membuka petak kosong yang bersebelahan
·Fitur pilih area warna serupa di aplikasi edit foto
Bellman-Ford mencari jalur terpendek dari satu sumber dengan merelaksasi SEMUA sisi sebanyak V-1 kali. Berbeda dari Dijkstra, ia menangani bobot negatif dan bisa mendeteksi siklus negatif. Lebih lambat, tapi lebih umum.
Example use case
Rute dengan biaya bisa negatif (mis. subsidi atau diskon di ruas tertentu) yang tak bisa ditangani Dijkstra.
Syllabus
Bellman-Ford mencari jalur terpendek dengan me-relaksasi semua sisi berkali-kali, dan sanggup menangani bobot negatif yang tak bisa dipakai Dijkstra.
Objectives
·Memahami proses relaksasi semua sisi sebanyak V-1 kali
·Menjelaskan kelebihan Bellman-Ford saat ada bobot negatif
·Menerapkan deteksi siklus negatif pada graf
How It Works
·Awali jarak semua simpul sebagai tak hingga kecuali sumber = 0
·Relaksasi setiap sisi: perbarui jarak tujuan bila lewat sisi itu lebih murah
·Ulangi relaksasi semua sisi sebanyak V-1 kali
·Bila masih ada jarak yang bisa turun pada iterasi ekstra, berarti ada siklus negatif
·Hasil akhir adalah jarak terpendek dari sumber ke semua simpul
Prerequisites
·Graf berbobot
·Dijkstra
Real-World Uses
·Rute yang punya diskon atau subsidi di ruas tertentu (biaya bisa minus)
·Cari peluang tukar mata uang yang untung berulang di aplikasi trading
·Hitung ongkos jaringan saat sebagian jalur justru menambah saldo
DFS Maze menelusuri labirin secara mendalam (Depth-First Search) dengan menjelajah satu jalur sejauh mungkin sebelum mundur dari jalan buntu. Setiap sel ditandai lalu rekursi masuk ke tetangga yang masih bebas; jika mencapai tujuan jalur dicatat, jika buntu algoritma backtrack ke persimpangan sebelumnya. Visualisasi menandai sel yang dikunjungi, dead end, dan jalur solusi hingga jalur terkunci dari awal ke tujuan.
Example use case
Menelusuri semua kemungkinan cabang untuk menemukan jalan keluar labirin, atau crawler yang menjelajah tautan situs secara mendalam.
Syllabus
DFS menjelajah satu jalur sedalam mungkin dulu, lalu mundur (backtrack) dari jalan buntu untuk mencoba cabang lain.
Objectives
·Memahami cara DFS masuk sedalam mungkin sebelum mundur
·Menjelaskan peran backtracking saat menemui jalan buntu
·Menerapkan DFS untuk menelusuri labirin atau cabang
How It Works
·Mulai dari satu simpul, tandai sudah dikunjungi
·Masuk ke salah satu tetangga yang belum dikunjungi secara rekursif
·Terus melaju sejauh mungkin menyusuri satu cabang
·Saat mentok jalan buntu, mundur ke persimpangan sebelumnya
·Coba cabang lain sampai semua simpul terjelajahi atau target ketemu
Prerequisites
·Rekursi
·Graf
Real-World Uses
·Menelusuri semua cabang labirin untuk menemukan jalan keluar
·Crawler menjelajahi tautan sebuah situs sampai ke halaman terdalam
·Mengecek semua kemungkinan langkah di game teka-teki
Dijkstra adalah algoritma graf yang mencari rute termurah dari simpul awal ke tujuan pada graf berbobot non-negatif. Ia selalu mengambil simpul dengan jarak sementara terkecil dari antrean prioritas, lalu melakukan relaksasi (memperbarui) jarak ke tetangganya bila ditemukan jalur lebih pendek. Visualisasi menampilkan graf berbobot dengan simpul yang diproses dan jalur optimal yang ditelusuri di akhir.
Example use case
Navigasi Google Maps mencari rute tercepat antar persimpangan pada jaringan jalan.
Syllabus
Dijkstra mencari rute termurah pada graf berbobot non-negatif dengan selalu memproses simpul berjarak terkecil dari antrean prioritas.
Objectives
·Memahami peran priority queue dalam memilih simpul terdekat
·Menjelaskan proses relaksasi jarak ke tetangga
·Menerapkan Dijkstra untuk menghitung rute tercepat
How It Works
·Set jarak sumber = 0 dan simpul lain = tak hingga
·Ambil simpul dengan jarak sementara terkecil dari priority queue
·Relaksasi tetangga: perbarui jaraknya bila lewat simpul ini lebih pendek
·Tandai simpul sebagai selesai agar tidak diproses ulang
·Ulangi sampai tujuan tercapai atau semua simpul selesai
Prerequisites
·Graf berbobot
·Priority queue (min-heap)
Real-World Uses
·Google Maps hitung rute tercepat antar persimpangan berdasarkan waktu tempuh
·Aplikasi ojek online cari jalur dengan ongkos jarak paling murah
·Jaringan internet memilih jalur data dengan latency terkecil
Breadth-First Search menelusuri labirin lapis demi lapis untuk menemukan jalur terpendek pada grid tanpa bobot. Ia memakai antrian (queue) FIFO dan himpunan sel yang sudah dikunjungi agar setiap sel diproses satu kali. Visualisasi menampilkan gelombang sel yang dikunjungi meluas dari titik awal hingga mencapai target, lalu menyorot jalur terpendek.
Example use case
Fitur pathfinding pada game agar karakter musuh menemukan rute terpendek menuju pemain di peta berbasis petak.
Syllabus
BFS menelusuri graf lapis demi lapis pakai antrian, sehingga selalu menemukan jalur terpendek pada peta tanpa bobot.
Objectives
·Memahami cara antrian FIFO memproses simpul lapis demi lapis
·Menjelaskan kenapa BFS menjamin jalur terpendek tanpa bobot
·Menerapkan BFS untuk mencari rute pada labirin grid
How It Works
·Masukkan simpul awal ke antrian dan tandai sudah dikunjungi
·Ambil simpul dari depan antrian, lalu proses
·Masukkan semua tetangga yang belum dikunjungi ke belakang antrian
·Ulangi sampai antrian kosong atau target tercapai
·Karena diproses lapis demi lapis, target pertama kali ditemui via jalur terpendek
Prerequisites
·Antrian (queue)
·Graf
Real-World Uses
·Musuh di game menemukan rute terpendek ke pemain di peta petak
·Simulasi evakuasi menghitung jalan keluar tercepat saat api menyebar
·Cari teman-terdekat sejauh 2 langkah di jejaring sosial
PageRank menilai pentingnya sebuah halaman dari siapa saja yang menautnya. Tiap link dihitung sebagai suara, tetapi suara dari halaman penting bernilai lebih besar, dan tiap halaman membagi pengaruhnya rata ke semua yang ia taut. Nilai ini dihitung berulang sampai stabil. Halaman yang ditaut banyak halaman penting mendapat peringkat tertinggi. Visualisasi mengalirkan rank antar halaman sampai satu halaman jelas menang.
Example use case
Mesin pencari Google mengurutkan hasil pencarian, dan algoritma sejenis dipakai untuk menilai akun atau konten mana yang paling berpengaruh di media sosial.
Syllabus
Halaman penting = ditaut banyak halaman yang juga penting; hitung berulang sampai peringkat stabil.
Objectives
·Memahami analisis link sebagai suara berbobot
·Menjelaskan proses iteratif sampai angka stabil
·Mengaitkan dengan cara mesin pencari & feed menilai konten
How It Works
·Beri semua halaman rank awal yang sama.
·Tiap halaman membagi rank-nya rata ke semua halaman yang ia taut.
·Rank baru tiap halaman = jumlah suara yang masuk (plus faktor peredam).
·Ulangi sampai angka berhenti berubah — itulah peringkat akhir.
Prerequisites
·Graf berarah (node dan panah)
·Pecahan dan persentase
·Perulangan
Real-World Uses
·Pengurutan hasil pada mesin pencari Google.
·Menilai akun atau konten paling berpengaruh di media sosial.
·Analisis jaringan sitasi ilmiah dan sistem rekomendasi.
Pembangkitan labirin berbasis algoritma Prim menumbuhkan lorong mulai dari satu sel benih. Dinding di sekitar sel yang telah dikunjungi ditambahkan ke frontier; algoritma memilih dinding secara acak, dan jika sel di seberangnya belum dikunjungi, dinding tersebut dibuka menjadi lorong dan dinding baru ditambahkan ke frontier. Proses berlanjut hingga seluruh sel terhubung. Visualisasi menampilkan grid dengan lorong yang tumbuh sampai labirin lengkap.
Example use case
Pembangkitan peta labirin acak secara prosedural pada game atau level generator.
Syllabus
Prim menumbuhkan labirin dari satu sel benih, memperluas lorong dengan membuka dinding acak dari daftar frontier.
Objectives
·Memahami konsep frontier sebagai daftar dinding kandidat
·Menjelaskan cara lorong tumbuh dari satu sel awal
·Menerapkan Prim untuk membangkitkan labirin acak
How It Works
·Pilih satu sel benih dan tandai sudah dikunjungi
·Tambahkan dinding di sekitar sel itu ke daftar frontier
·Pilih satu dinding acak dari frontier
·Bila sel di seberangnya belum dikunjungi, buka dinding jadi lorong
·Tambahkan dinding baru ke frontier, ulangi sampai semua sel terhubung
Prerequisites
·Graf
·Grid 2D
Real-World Uses
·Membangkitkan peta labirin acak secara prosedural di game
·Level generator yang bikin stage baru tiap kali main
·Membuat pola maze unik untuk teka-teki di aplikasi
ComplexityO(V log V) atau O(E) tergantung struktur frontier
Topological Sort mengurutkan simpul pada graf berarah tanpa siklus (DAG) sehingga setiap prasyarat muncul sebelum yang membutuhkannya. Algoritma Kahn: ambil simpul tanpa prasyarat (in-degree 0), keluarkan, hapus panah keluarnya, ulangi. Hasilnya urutan yang valid.
Example use case
Menyusun urutan mata pelajaran: Matematika Dasar harus sebelum Fisika, Fisika sebelum materi lanjutannya.
Syllabus
Topological Sort mengurutkan simpul pada graf berarah tanpa siklus (DAG) sehingga setiap prasyarat selalu muncul sebelum yang membutuhkannya.
Objectives
·Memahami arti DAG dan konsep prasyarat antar simpul
·Menjelaskan cara kerja algoritma Kahn lewat in-degree
·Menerapkan urutan topologis untuk menyusun langkah bertahap
How It Works
·Hitung in-degree tiap simpul (berapa panah masuk = jumlah prasyarat)
·Ambil semua simpul dengan in-degree 0 (tanpa prasyarat)
·Keluarkan simpul itu ke hasil urutan, hapus panah keluarnya
·Kurangi in-degree tetangga; yang jadi 0 masuk antrean berikutnya
·Ulangi sampai semua simpul terurut menjadi rangkaian yang valid
Prerequisites
·Graf berarah (directed graph)
·Antrian (queue)
Real-World Uses
·Menyusun urutan mata pelajaran: Matematika Dasar sebelum Fisika
·Build tool menentukan file mana dikompilasi lebih dulu
·Urutan misi di game yang mengunci quest lanjutan sampai prasyarat selesai
Coin Change mencari jumlah koin MINIMUM untuk suatu nominal. Dynamic Programming mengisi dp dari nilai kecil ke besar: dp[v] = 1 + min(dp[v - tiap koin]). Telusur balik menunjukkan koin mana yang dipakai. Relatable lewat masalah kembalian.
Example use case
Mesin kasir menghitung kembalian dengan jumlah lembar atau keping uang paling sedikit.
Syllabus
Coin Change mencari jumlah koin paling sedikit untuk suatu nominal dengan membangun jawaban dari nilai kecil ke besar.
Objectives
·Memahami cara memecah nominal besar menjadi sub-nominal kecil
·Menjelaskan rumus dp[v] = 1 + min(dp[v - koin])
·Menerapkan DP untuk menghitung kembalian paling hemat
Edit Distance menghitung jumlah minimal operasi (sisip, hapus, ganti) untuk mengubah satu kata jadi kata lain. Dynamic Programming mengisi tabel: tiap sel = biaya termurah dari tiga tetangganya. Ini otak di balik autocorrect dan saran ejaan.
Example use case
Autocorrect: mengukur seberapa mirip kata yang salah ketik dengan kandidat perbaikan untuk memilih yang paling dekat.
Syllabus
Edit Distance menghitung jumlah minimal operasi sisip, hapus, atau ganti untuk mengubah satu kata menjadi kata lain.
Objectives
·Memahami tiga operasi dasar: sisip, hapus, dan ganti huruf
·Menjelaskan cara tabel DP mengambil biaya termurah dari tetangga
·Menerapkan Edit Distance untuk mengukur kemiripan dua kata
How It Works
·Buat tabel di mana baris dan kolom mewakili tiap huruf kedua kata
·Isi baris dan kolom pertama dengan biaya mengubah dari/ke kata kosong
·Bila dua huruf sama, salin nilai diagonal (tanpa biaya tambahan)
·Bila beda, ambil 1 + minimum dari sisip, hapus, atau ganti
·Nilai di pojok kanan bawah adalah jarak edit minimum
Prerequisites
·Tabel 2D (matriks)
·String
Real-World Uses
·Autocorrect memilih koreksi paling mirip dengan kata yang salah ketik
·Fitur saran ejaan saat mengetik pesan di HP
·Mesin pencari menebak maksud saat kata kunci typo
Algoritma Kadane mencari deret bagian (subarray) berurutan dengan jumlah terbesar, hanya dalam satu kali telusur. Idenya sederhana: di tiap langkah, pilih memperpanjang deret sebelumnya atau memulai deret baru dari titik ini — mana yang lebih menguntungkan. Dengan begitu jumlah terbaik ditemukan tanpa mengecek semua kemungkinan. Visualisasi menjalankan dompet berjalan dan menyorot jendela paling untung.
Example use case
Mencari rentang hari beli dan jual yang memberi keuntungan maksimal dari sederet naik-turun harga harian.
Syllabus
Di tiap langkah, perpanjang deret atau mulai baru — mana yang lebih untung; lacak nilai terbaik.
Objectives
·Memahami ide dasar pemrograman dinamis
·Menjelaskan pilihan lanjut atau mulai ulang di tiap langkah
·Menemukan subarray berjumlah maksimum dalam satu telusur
How It Works
·Jalankan dompet berjalan mulai dari 0.
·Di tiap elemen, dompet menjadi nilai maksimum antara elemen itu sendiri dan dompet ditambah elemen.
·Bila dompet menjadi negatif, buang dan mulai deret baru.
·Catat nilai dompet terbesar yang pernah dicapai sebagai jawaban.
LCS mencari deret huruf terpanjang yang muncul di dua teks dengan urutan yang sama (boleh diselang-seling). Sebuah tabel dinamis diisi: bila dua huruf cocok, nilainya = diagonal kiri-atas + 1; bila beda, ambil yang terbesar dari atas atau kiri. Menelusuri balik tabel memberi deret bersama itu. Inilah inti dari membandingkan dua versi teks. Visualisasi mengisi tabel dan menyorot sel-sel yang cocok.
Example use case
Fitur git diff yang menandai perbedaan dua versi kode, dan alat pendeteksi plagiat yang mencari bagian yang sama antara dua dokumen.
Syllabus
Isi tabel: huruf cocok = diagonal+1, huruf beda = max(atas, kiri); telusuri balik untuk deret bersamanya.
Objectives
·Memahami pemrograman dinamis pada dua dimensi
·Menjelaskan aturan sel cocok vs sel beda
·Menelusuri balik solusi dari tabel yang sudah terisi
How It Works
·Buat tabel (panjang X+1) × (panjang Y+1) berisi 0.
·Untuk tiap pasang huruf: bila SAMA, sel = diagonal kiri-atas + 1.
·Bila BEDA, sel = nilai terbesar dari atas atau kiri.
·Telusuri balik dari pojok kanan-bawah — huruf-huruf cocok menyusun LCS.
Activity Selection adalah masalah greedy klasik: dari sekumpulan kegiatan dengan waktu mulai dan selesai, pilih sebanyak mungkin yang tidak bertabrakan. Kuncinya, urutkan kegiatan berdasarkan waktu SELESAI paling awal, lalu pilih setiap kegiatan yang mulainya tidak menabrak kegiatan terpilih terakhir. Selalu mengambil yang selesai paling dulu menyisakan waktu terbanyak untuk sisanya. Visualisasi menyusun kegiatan di garis waktu dan memilih yang muat.
Example use case
Menyusun jadwal kegiatan OSIS atau ekskul agar satu ruangan bisa dipakai untuk sebanyak mungkin acara dalam sehari.
Syllabus
Urutkan berdasarkan waktu selesai; pilih tiap kegiatan yang mulainya tidak menabrak yang terakhir dipilih.
Objectives
·Memahami strategi greedy (pilihan terbaik lokal)
·Menjelaskan mengapa memilih yang selesai paling awal itu optimal
·Menerapkan pengecekan tumpang-tindih waktu
How It Works
·Urutkan semua kegiatan berdasarkan waktu selesai paling awal.
·Pilih kegiatan pertama (yang selesai paling dulu).
·Untuk sisanya, pilih bila mulainya >= selesai kegiatan terakhir yang dipilih.
·Lewati yang bertabrakan — hasilnya jumlah kegiatan maksimum.
Prerequisites
·Interval waktu (mulai, selesai)
·Pengurutan
·Perbandingan
Real-World Uses
·Menjadwalkan pemakaian satu ruangan atau lapangan.
Huffman Coding membangun kode biner hemat dengan berulang menggabung dua frekuensi terkecil menjadi satu pohon. Simbol yang sering muncul dapat kode pendek, yang jarang dapat kode panjang. Dasar kompresi seperti ZIP dan JPEG.
Example use case
Kompresi teks atau berkas: huruf yang sering muncul (mis. spasi, e) diberi kode terpendek agar ukuran total mengecil.
Syllabus
Huffman Coding memberi kode pendek untuk simbol yang sering muncul dan kode panjang untuk yang jarang, agar total ukuran data mengecil.
Objectives
·Memahami hubungan frekuensi simbol dengan panjang kodenya
·Menjelaskan cara menggabung dua frekuensi terkecil jadi pohon
·Menerapkan Huffman untuk mengompresi data teks
How It Works
·Hitung frekuensi kemunculan tiap simbol
·Masukkan tiap simbol sebagai simpul ke priority queue
·Gabung dua simpul berfrekuensi terkecil jadi satu simpul induk
·Ulangi penggabungan sampai tersisa satu pohon
·Baca jalur kiri/kanan sebagai bit 0/1 untuk membentuk kode tiap simbol
Prerequisites
·Pohon biner
·Priority queue
Real-World Uses
·Kompresi file ZIP agar ukuran unduhan lebih kecil
·Format gambar JPEG memampatkan data foto
·Streaming musik menghemat kuota dengan memampatkan audio
Traveling Salesman versi heuristik serakah: dari kota sekarang selalu lompat ke kota terdekat yang belum dikunjungi, lalu kembali ke awal. Cepat dan mudah, walau tak selalu optimal. Contoh klasik trade-off antara kecepatan dan kualitas solusi.
Example use case
Menyusun rute pengantaran cepat: dari titik sekarang menuju pelanggan terdekat berikutnya.
Syllabus
TSP Nearest-Neighbor menyusun rute keliling dengan selalu melompat ke kota terdekat yang belum dikunjungi, cepat tapi belum tentu paling optimal.
Objectives
·Memahami strategi serakah memilih kota terdekat berikutnya
·Menjelaskan trade-off antara kecepatan dan kualitas solusi
·Menerapkan heuristik nearest-neighbor untuk menyusun rute
How It Works
·Mulai dari satu kota sebagai titik awal
·Dari kota sekarang, pilih kota terdekat yang belum dikunjungi
·Pindah ke kota itu dan tandai sudah dikunjungi
·Ulangi sampai semua kota terlewati
·Kembali ke kota awal untuk menutup rute keliling
Prerequisites
·Graf berbobot
·Algoritma greedy
Real-World Uses
·Kurir menyusun urutan antar paket ke pelanggan terdekat berikutnya
·Driver Gojek mengambil orderan terdekat agar cepat sampai
·Merencanakan urutan kunjungan tempat wisata paling dekat saat liburan
Graph Coloring memberi warna pada setiap simpul graf sehingga tidak ada dua simpul bertetangga yang berwarna sama, menggunakan pendekatan backtracking. Untuk tiap node dicoba warna dari palet; jika aman (tidak bentrok dengan tetangga) lanjut ke node berikutnya, jika buntu warna dibatalkan dan mundur untuk mencoba pilihan lain. Visualisasi menampilkan simpul yang diwarnai bergantian, konflik yang ditandai, hingga solusi valid terkunci.
Example use case
Penjadwalan ujian agar mata kuliah dengan mahasiswa yang sama tidak dijadwalkan pada slot waktu bersamaan.
Syllabus
Graph Coloring memberi warna tiap simpul agar tak ada tetangga berwarna sama, memakai backtracking saat menemui jalan buntu.
Objectives
·Memahami aturan dua simpul bertetangga tak boleh sewarna
·Menjelaskan cara backtracking membatalkan warna yang gagal
·Menerapkan pewarnaan graf untuk masalah penjadwalan
How It Works
·Ambil satu simpul yang belum diwarnai
·Coba beri warna dari palet yang tersedia
·Cek aman: warna itu tidak sama dengan tetangga manapun
·Bila aman lanjut ke simpul berikutnya secara rekursif
·Bila buntu, batalkan warna (backtrack) dan coba pilihan lain sampai valid
Prerequisites
·Graf
·Backtracking
Real-World Uses
·Penjadwalan ujian agar mata kuliah dengan siswa sama tak bentrok slot
·Mengalokasikan frekuensi pemancar agar stasiun berdekatan tak saling ganggu
·Mewarnai peta wilayah agar daerah bersebelahan beda warna
Rat Maze menyelesaikan labirin dengan backtracking: tikus maju sel demi sel menandai jalur, dan bila menemui jalan buntu atau sel terhalang, ia mundur (menghapus sel dari path) lalu mencoba arah lain. Proses maju-mundur-coba lagi berlanjut sampai sel keluar (exit) tercapai. Visualisasi menampilkan jalur yang dijelajahi, sel yang ditolak/di-backtrack, hingga jalur solusi akhir terkunci.
Example use case
Penyelesaian labirin otomatis atau robot penelusur maze yang mencoba tiap cabang dan mundur saat menemui jalan buntu.
Syllabus
Rat in a Maze menyelesaikan labirin dengan backtracking: tikus maju menandai jalur dan mundur mencoba arah lain saat mentok.
Objectives
·Memahami cara menandai dan membatalkan jalur saat menjelajah
·Menjelaskan pola maju-mundur-coba lagi pada backtracking
·Menerapkan backtracking untuk menemukan jalur keluar labirin
How It Works
·Tikus maju satu sel dan menandainya sebagai bagian jalur
·Coba arah berikutnya yang bebas dan belum dilewati
·Bila menemui jalan buntu atau sel terhalang, mundur
·Hapus sel dari jalur saat mundur lalu coba arah lain
·Ulangi sampai sel keluar (exit) tercapai dan jalur solusi terbentuk
Prerequisites
·Backtracking
·Grid 2D
Real-World Uses
·Robot penelusur maze mencoba tiap cabang dan mundur saat buntu
·Penyelesaian labirin otomatis di game teka-teki
·Mencari jalan keluar pada peta bercabang secara sistematis
Naive String Matching menggeser pola sepanjang teks dan membandingkan huruf per posisi di tiap offset. Bila cocok semua, pola ditemukan; bila ada yang beda, geser satu langkah dan ulang. Versi paling sederhana dari fitur Ctrl+F.
Example use case
Fitur Cari (Ctrl+F) paling dasar: menggeser kata yang dicari sepanjang dokumen sampai cocok.
Syllabus
Cari pola di dalam teks dengan menggesernya satu per satu lalu mencocokkan huruf per huruf.
Objectives
·Memahami cara kerja pencarian teks paling dasar seperti Ctrl+F
·Menjelaskan proses geser-dan-bandingkan di tiap posisi teks
·Menerapkan pencocokan huruf per huruf untuk menemukan sebuah kata
How It Works
·Tempelkan pola di awal teks, lalu bandingkan huruf demi huruf.
·Kalau semua huruf cocok, berarti pola ditemukan di posisi itu.
·Kalau ada satu huruf yang beda, langsung geser pola satu langkah ke kanan.
·Ulangi terus sampai pola ditemukan atau teks sudah habis.
Prerequisites
·Array atau string
·Perulangan (loop)
Real-World Uses
·Fitur Cari (Ctrl+F) saat kamu mencari satu kata di catatan atau PDF tugas.
·Kolom search di aplikasi chat untuk menemukan pesan lama.
·Filter nama produk saat kamu ketik di kotak pencarian Shopee.
Run-Length Encoding (RLE) memampatkan data dengan mengganti rentetan nilai yang sama dengan pasangan (jumlah, nilai). Deret AAAAA cukup ditulis 5A. Semakin panjang rentetan berulang, semakin besar penghematannya. Metode ini sederhana, cepat, dan tanpa kehilangan data, cocok untuk gambar atau data dengan banyak area seragam. Visualisasi memindai sebaris piksel dan meruntuhkan tiap rentetan menjadi satu token.
Example use case
Mengompres gambar atau stiker dengan area warna solid, dan format ikon/faks lama yang menyimpan garis piksel berulang secara ringkas.
Syllabus
Ganti rentetan nilai identik dengan pasangan (jumlah, nilai) — makin panjang rentetan, makin hemat.
Objectives
·Memahami konsep kompresi tanpa kehilangan (lossless)
·Menerapkan penghitungan rentetan berturut
·Menilai kapan RLE efektif dan kapan tidak
How It Works
·Pindai data dari kiri ke kanan.
·Hitung berapa kali nilai yang sama berulang beruntun.
·Tulis satu token (jumlah, nilai), lalu lanjut ke nilai berikutnya.
·Hasilnya jauh lebih pendek bila banyak rentetan panjang.
Prerequisites
·Perulangan pada deret
·Membandingkan elemen bertetangga
Real-World Uses
·Kompres gambar dan stiker dengan area warna solid.
KMP mencari pola di dalam teks tanpa pernah mengecek ulang huruf yang sudah cocok. Rahasianya adalah tabel LPS (awalan yang sekaligus akhiran) yang dihitung dari pola: saat terjadi ketidakcocokan, pola digeser jauh sesuai LPS, bukan hanya satu langkah seperti cara naif. Alhasil pencarian jauh lebih cepat pada teks panjang. Visualisasi menggeser pola dan menunjukkan lompatan yang dilewati.
Example use case
Fitur Ctrl+F di editor kode dan peramban, serta mesin pencari yang menemukan kata di dalam dokumen panjang secara instan.
Syllabus
Saat tak cocok, geser pola sesuai tabel LPS (bukan +1) — huruf yang sudah cocok tak pernah dicek ulang.
k-NN mengklasifikasikan titik baru dari k tetangga terdekatnya. Hitung jarak ke semua titik latih, ambil k yang paling dekat, lalu voting mayoritas kelas mereka menentukan label titik baru. Tidak ada tahap latih terpisah — semua kerja terjadi saat prediksi.
Example use case
Rekomendasi sederhana: menandai sebuah film sebagai disukai atau tidak berdasarkan mayoritas dari beberapa film paling mirip yang sudah dinilai pengguna.
Syllabus
Tentukan kelas sebuah data baru dengan voting mayoritas dari k tetangga terdekatnya.
Objectives
·Memahami cara memberi label lewat kemiripan dengan data terdekat
·Menjelaskan peran jumlah tetangga k dalam pengambilan keputusan
·Menerapkan voting mayoritas untuk mengklasifikasi data baru
How It Works
·Hitung jarak data baru ke semua data yang sudah punya label.
·Ambil k data yang jaraknya paling dekat.
·Lihat kelas mayoritas di antara k tetangga itu.
·Kelas terbanyak jadi label untuk data baru; tidak ada tahap latih terpisah.
Prerequisites
·Koordinat dan jarak antar titik
Real-World Uses
·Rekomendasi film Netflix berdasarkan judul mirip yang sudah kamu suka.
·AI menandai satu lagu cocok atau tidak dari lagu-lagu termirip di riwayatmu.
·Filter foto yang menebak jenis objek dari gambar yang paling serupa.
Collaborative Filtering adalah mesin rekomendasi yang menebak kesukaanmu dari orang lain yang seleranya mirip. Algoritma mencari pengguna dengan pola suka yang paling dekat denganmu, lalu menyarankan hal yang mereka sukai tetapi belum kamu lihat. Visualisasi menampilkan tabel pengguna dan barang, pencocokan selera antar pengguna, hingga munculnya daftar rekomendasi.
Example use case
Cara FYP TikTok dan baris kamu mungkin suka di Shopee memilih video atau barang berikutnya untukmu.
Syllabus
Rekomendasikan sesuatu dengan mencari pengguna lain yang seleranya paling mirip denganmu.
Objectives
·Memahami cara AI merekomendasikan konten dari selera pengguna mirip
·Menjelaskan cara mengukur kemiripan antar pengguna dari pola suka
·Menerapkan penyaringan barang untuk menghasilkan rekomendasi baru
How It Works
·Catat barang atau video yang disukai tiap pengguna dalam sebuah tabel.
·Untukmu, cari pengguna lain yang pola sukanya paling mirip.
·Lihat hal yang mereka sukai tetapi belum pernah kamu buka.
·Sarankan hal itu kepadamu sebagai rekomendasi.
·Makin banyak yang kamu suka, makin akurat tebakan berikutnya.
Prerequisites
·Tabel atau matriks sederhana
·Konsep kemiripan atau kedekatan
Real-World Uses
·FYP TikTok yang menyajikan video mirip selera penonton serupa.
·Baris kamu mungkin suka di Shopee dan Tokopedia.
·Rekomendasi lagu Spotify dari pendengar yang seleranya mirip.
Convolution adalah operasi inti computer vision yang menyapukan jendela kecil 3x3 (kernel) ke seluruh piksel gambar. Di tiap posisi, nilai piksel dikalikan dengan angka pada kernel lalu dijumlahkan sehingga perubahan warna yang tajam menonjol sebagai tepi objek. Visualisasi menampilkan jendela yang bergeser sel demi sel dan peta tepi yang perlahan terbentuk dari gambar asli.
Example use case
Cara filter kamera TikTok dan fitur face-unlock HP menemukan garis wajah sebelum mengenali siapa pemiliknya.
Syllabus
Sapukan jendela kecil ke seluruh piksel untuk menonjolkan tepi dan pola pada gambar.
Objectives
·Memahami cara AI melihat gambar melalui jendela piksel kecil
·Menjelaskan proses kalikan-lalu-jumlahkan antara kernel dan piksel
·Menerapkan deteksi tepi sebagai langkah awal pengenalan objek
How It Works
·Tempatkan jendela 3x3 (kernel) di atas sekelompok piksel.
·Kalikan tiap piksel dengan angka pada kernel, lalu jumlahkan semuanya.
·Hasil penjumlahan menjadi nilai piksel baru di peta keluaran.
·Geser jendela satu piksel dan ulangi sampai seluruh gambar tersapu.
·Tepi objek muncul terang karena di sanalah warna berubah paling tajam.
Prerequisites
·Grid dua dimensi
·Perkalian dan penjumlahan dasar
Real-World Uses
·Filter dan efek wajah di TikTok atau Instagram yang perlu menemukan wajah dulu.
·Face-unlock HP yang mengenali garis wajah sebelum membuka kunci.
·Fitur pertajam dan kaburkan foto pada aplikasi editor gambar.
Decision Tree adalah model machine learning yang mengklasifikasi data dengan menyusun serangkaian pertanyaan ya/tidak menjadi sebuah pohon. Di tiap simpul, algoritma memilih pertanyaan yang paling memisahkan data ke kelompok yang lebih murni, lalu bercabang sampai mencapai daun yang berisi jawaban akhir. Visualisasi menampilkan pohon pertanyaan yang tumbuh dan jalur keputusan yang diikuti hingga sebuah data diberi label.
Example use case
Aplikasi AI yang menebak jenis hewan peliharaan dari beberapa pertanyaan seperti berbulu atau tidak dan bisa terbang atau tidak.
Syllabus
Klasifikasikan data dengan menyusun pertanyaan ya/tidak menjadi pohon yang bercabang ke jawaban.
Objectives
·Memahami cara AI mengambil keputusan lewat rangkaian pertanyaan sederhana
·Menjelaskan cara pohon memilih pertanyaan yang paling memisahkan data
·Menerapkan penelusuran cabang untuk memberi label pada data baru
How It Works
·Mulai dari satu pertanyaan di akar yang paling memisahkan data.
·Setiap jawaban ya atau tidak membawa data ke cabang yang berbeda.
·Di tiap cabang, ajukan pertanyaan lanjutan yang mempersempit kemungkinan.
·Berhenti di daun ketika data sudah cukup seragam, lalu berikan label jawaban.
Prerequisites
·Percabangan (if-else)
·Konsep pohon (tree) sederhana
Real-World Uses
·AI galeri HP yang menebak isi foto dari beberapa ciri sederhana.
·Sistem penyaring pengajuan yang memutuskan lolos atau tidak lewat cek bertahap.
·Kuis online yang menebak karakter favoritmu dari jawaban ya atau tidak.
Gradient Descent mencari titik minimum sebuah fungsi dengan bergerak melawan arah kemiringan (turunan). Tiap langkah: hitung kemiringan di posisi sekarang, lalu geser x sebesar laju-belajar dikali kemiringan. Makin dekat dasar, kemiringan mengecil sehingga langkah makin kecil sampai berhenti.
Example use case
Inti pelatihan model AI: menyetel bobot jaringan saraf agar galat prediksi (loss) sekecil mungkin, satu langkah turun sedikit demi sedikit.
Syllabus
Cari titik terendah sebuah fungsi dengan terus melangkah turun melawan arah kemiringan.
Objectives
·Memahami cara AI menyetel dirinya agar prediksi makin akurat
·Menjelaskan hubungan kemiringan (turunan) dengan arah langkah
·Menerapkan langkah kecil berulang untuk menurunkan galat (loss)
How It Works
·Bayangkan bola di lereng bukit yang ingin turun ke dasar lembah.
·Di posisi sekarang, hitung ke arah mana lereng menurun.
·Geser sedikit ke arah turun sebesar laju-belajar dikali kemiringan.
·Makin dekat dasar, kemiringan makin landai sehingga langkah mengecil.
·Berhenti saat sudah sampai titik paling rendah.
Prerequisites
·Fungsi dan grafik
·Konsep kemiringan atau turunan
Real-World Uses
·Inti latihan model AI seperti ChatGPT: menyetel bobot agar makin pintar.
·Cara FYP TikTok belajar dari kesalahan tebakan supaya rekomendasi makin pas.
·Sistem filter foto yang pelan-pelan mengecilkan error sampai hasilnya rapi.
Jaringan saraf tiruan meniru cara neuron di otak bekerja. Angka masukan mengalir lewat lapisan-lapisan node; tiap node menjumlahkan sinyal berbobot yang masuk, melewatkannya lewat fungsi aktivasi, lalu meneruskannya ke lapisan berikutnya. Di ujung, node dengan nilai tertinggi menyala sebagai jawaban. Visualisasi mengalirkan sinyal dari input sampai output yang menyala.
Example use case
Otak tiruan di balik ChatGPT serta fitur yang mengenali wajah atau tulisan tangan bekerja dengan aliran sinyal berbobot seperti ini.
Syllabus
Sinyal masukan mengalir lewat lapisan node berbobot; node ujung dengan nilai tertinggi menjadi jawaban.
Objectives
·Memahami struktur lapisan input, hidden, dan output
·Menjelaskan cara sebuah node menjumlahkan sinyal berbobot
·Mengaitkan forward pass dengan cara AI modern menebak jawaban
How It Works
·Kalikan tiap masukan dengan bobotnya lalu jumlahkan pada tiap node.
·Lewatkan hasilnya lewat fungsi aktivasi (misalnya ReLU) menjadi sinyal untuk lapisan berikut.
·Ulangi lapis demi lapis sampai lapisan output.
·Node output dengan nilai tertinggi dipilih sebagai jawaban.
K-Means mengelompokkan data ke dalam K klaster tanpa label. Tiap iterasi berjalan dua fase: ASSIGN — setiap titik ikut centroid terdekat (jarak Euclidean); MOVE — tiap centroid pindah ke rata-rata anggotanya. Kedua fase diulang sampai penempatan tak berubah lagi (konvergen).
Example use case
Segmentasi pelanggan toko online: mengelompokkan pembeli berdasarkan frekuensi dan nilai belanja menjadi beberapa segmen untuk penargetan promo per segmen.
Syllabus
Kelompokkan data tanpa label ke dalam K klaster berdasarkan kedekatannya ke pusat kelompok.
Objectives
·Memahami cara AI mengelompokkan data mirip tanpa contoh jawaban
·Menjelaskan dua fase berulang: ASSIGN (ikut pusat terdekat) dan MOVE (geser pusat)
·Menerapkan konsep jarak untuk membentuk segmen atau kelompok
How It Works
·Tentukan K titik pusat (centroid) secara acak sebagai awal.
·ASSIGN: tiap data ikut centroid yang paling dekat dengannya.
·MOVE: tiap centroid pindah ke posisi rata-rata anggotanya.
·Ulangi ASSIGN dan MOVE sampai pengelompokan tidak berubah lagi (konvergen).
Prerequisites
·Koordinat dan jarak antar titik
Real-World Uses
·Shopee mengelompokkan pembeli jadi segmen untuk kirim promo yang pas.
·Spotify atau TikTok mengelompokkan lagu bergaya mirip jadi satu playlist.
·AI galeri HP yang otomatis mengumpulkan foto orang yang sama.
Logistic Regression memprediksi peluang, bukan sekadar jawaban ya atau tidak. Ia menghitung skor linear dari fitur lalu menekannya ke rentang 0 sampai 1 lewat fungsi sigmoid berbentuk S. Hasilnya adalah peluang sebuah data masuk ke satu kelas; sebuah ambang (biasanya 0,5) yang memutuskan labelnya. Visualisasi menggambar kurva S dan menempatkan sebuah data pada peluangnya.
Example use case
Menaksir peluang sebuah email adalah spam, atau peluang seorang siswa lulus berdasarkan nilai-nilai latihannya.
Syllabus
Ubah skor linear menjadi peluang 0 sampai 1 lewat kurva sigmoid berbentuk S.
Objectives
·Membedakan prediksi peluang dari klasifikasi yang kaku
·Memahami peran fungsi sigmoid
·Menjelaskan cara ambang keputusan bekerja
How It Works
·Hitung skor linear z = w kali x tambah b dari fitur.
·Lewatkan z lewat sigmoid menjadi peluang p antara 0 dan 1.
·Bandingkan p dengan ambang (misalnya 0,5).
·Beri label kelas 1 bila p di atas ambang, kelas 0 bila di bawahnya.
Naive Bayes adalah model machine learning yang mengklasifikasi teks dengan menjumlahkan bukti dari tiap kata secara terpisah. Kata pemicu seperti gratis atau menang menambah skor ke arah SPAM, sedangkan kata biasa menariknya ke arah AMAN, lalu kelas dengan skor tertinggi dipilih. Visualisasi menampilkan sebuah pesan yang dipindai kata demi kata beserta skor yang naik hingga diberi label SPAM atau AMAN.
Example use case
Cara email Gmail dan filter chat otomatis memisahkan pesan promo atau penipuan dari pesan penting temanmu.
Syllabus
Klasifikasikan pesan dengan menjumlahkan skor tiap kata menuju kelas SPAM atau AMAN.
Objectives
·Memahami cara AI menyaring spam dari kata-kata pemicunya
·Menjelaskan cara tiap kata menambah atau mengurangi skor sebuah kelas
·Menerapkan pemilihan kelas berdasarkan skor bukti tertinggi
How It Works
·Pelajari kata mana yang sering muncul di pesan spam dan mana di pesan aman.
·Untuk pesan baru, mulai dari skor awal untuk tiap kelas.
·Tiap kata pemicu menambah skor ke kelas yang cocok dengannya.
·Anggap tiap kata berdiri sendiri agar penjumlahan skor jadi sederhana.
·Pilih kelas dengan skor akhir tertinggi sebagai keputusan SPAM atau AMAN.
Prerequisites
·Penjumlahan skor
·Konsep peluang sederhana
Real-World Uses
·Filter spam di Gmail yang memindahkan email promo ke folder terpisah.
·Deteksi pesan penipuan berhadiah palsu di aplikasi chat.
·Penyaring komentar berisi tautan judi di kolom komentar media sosial.
Perceptron mencari GARIS pemisah dua kelas titik. Untuk tiap titik yang salah klasifikasi, bobot digeser sedikit ke arah yang benar sehingga garis berputar. Bila data terpisah linear, dijamin konvergen. Cikal-bakal neuron pada jaringan saraf.
Example use case
Klasifikasi biner sederhana: memisahkan email spam vs bukan-spam dengan satu garis keputusan yang terus diperbaiki.
Syllabus
Cari satu garis pemisah dua kelas dengan menggeser bobot tiap kali ada titik yang salah tebak.
Objectives
·Memahami unit dasar penyusun jaringan saraf (neuron buatan)
·Menjelaskan cara garis keputusan diperbaiki dari kesalahan
·Menerapkan klasifikasi biner dengan satu garis pemisah
How It Works
·Mulai dengan sebuah garis pemisah tebakan awal.
·Cek tiap titik: sudah berada di sisi yang benar atau belum.
·Untuk titik yang salah klasifikasi, geser bobot sedikit ke arah yang benar.
·Garis ikut berputar; ulangi sampai semua titik terpisah rapi (konvergen bila data terpisah linear).
Prerequisites
·Koordinat dan garis pada bidang
·Konsep bobot atau penjumlahan berbobot
Real-World Uses
·Memisahkan email spam vs bukan-spam dengan satu garis keputusan.
·Cikal-bakal neuron di balik AI generatif dan filter wajah masa kini.
·Deteksi komentar toxic vs aman di kolom komentar media sosial.
Regresi linear mencari satu garis lurus yang paling pas melewati sekumpulan titik data, lalu memakainya untuk memprediksi. Paling pas berarti jarak vertikal (error) dari tiap titik ke garis, dijumlahkan dan dikuadratkan, sekecil mungkin — metode kuadrat terkecil. Setelah garis ketemu, kita bisa menaksir nilai untuk masukan baru. Visualisasi memiringkan garis sampai total error terkecil lalu memprediksi sebuah nilai.
Example use case
Menaksir nilai ujian dari jam belajar, atau memperkirakan harga rumah dari luasnya, berdasarkan pola data yang sudah ada.
Syllabus
Cari garis lurus dengan total jarak-kuadrat ke semua titik terkecil, lalu pakai untuk memprediksi.
Objectives
·Memahami ide garis best-fit
·Menjelaskan error sebagai jarak titik ke garis
·Memakai garis untuk memprediksi nilai baru
How It Works
·Sebar titik data pada bidang (misal jam belajar vs nilai).
·Ukur error = jarak vertikal tiap titik ke garis.
·Miringkan garis sampai total error-kuadrat paling kecil (kuadrat terkecil).
·Pakai garis final untuk memprediksi nilai dari masukan baru.
Mesin biasa hanya mengikuti aturan tetap. Mesin cerdas (AI) mengenali pola dari contoh, dan 'mengindra' dunia lewat kamera & mikrofon — cara yang berbeda dari indra manusia.
Example use case
Kalkulator selalu ikut aturan yang sama; asisten AI mengenali suara & wajah yang belum pernah persis ia lihat.
Syllabus
Mesin biasa mengikuti aturan tetap; mesin cerdas mengenali pola dari contoh.
Objectives
·Membedakan mesin cerdas dan mesin non-cerdas
·Memahami cara komputer 'mengindra' (kamera, mikrofon) vs indra manusia
·Mengenali AI di sekitar sehari-hari
How It Works
·Manusia mengindra lewat mata & telinga; komputer lewat kamera (piksel) & mikrofon (gelombang)
·Mesin biasa: input sama → output sama, selalu
·Mesin cerdas: mengenali pola sehingga bisa menghadapi contoh baru
Real-World Uses
·Buka kunci HP dengan wajah
·Asisten suara
·Kalkulator vs asisten AI
Key messageMesin biasa = aturan tetap. Mesin cerdas = pola dari contoh.
AI belajar dari data. Kalau datanya berat sebelah, keputusannya jadi tidak adil bagi kelompok yang jarang muncul di data — bias bisa merugikan orang sungguhan.
Example use case
Filter wajah yang sulit mengenali kulit gelap karena dilatih dari wajah yang kurang beragam.
Syllabus
Data timpang di dalam, keputusan tak adil di luar. Kualitas data = kualitas keadilan.
Objectives
·Memahami hubungan kualitas data dengan bias AI
·Mengenali bias sebagai persoalan etika, bukan cuma teknis
·Tahu bahwa memperbaiki data memperbaiki keadilan
How It Works
·AI menarik garis keputusan dari data latih
·Data berat sebelah menarik garis ke kelompok mayoritas
·Kelompok minoritas jadi lebih sering salah dinilai
·Menyeimbangkan data meluruskan garisnya
Prerequisites
·Bagaimana AI Belajar
Real-World Uses
·Face-unlock & filter wajah
·Seleksi lamaran kerja otomatis
·Skoring pinjol
Key messageAI seadil datanya. Data timpang menghasilkan keputusan bias.
Media palsu buatan AI makin mirip aslinya. Tapi sering ada kejanggalan kecil yang membongkarnya — kalau kita berhenti sejenak dan memeriksa sebelum percaya.
Example use case
Video atau voice-note palsu artis/guru; face-swap teman sekelas; iklan 'endorse' AI yang menipu.
Syllabus
Deepfake makin meyakinkan; jeda, cari kejanggalan, dan telusuri sumber aslinya sebelum percaya.
Objectives
·Memahami bahwa media (foto/suara/video) bisa dibuat AI
·Mengenali tanda-tanda kejanggalan deepfake
·Terbiasa memverifikasi sebelum percaya & membagikan
How It Works
·AI menyusun wajah/suara palsu dari banyak contoh
·Detailnya sering tak konsisten: jari, tepi, kedip, bayangan
·Menyapu dan mencocokkan detail membongkar yang palsu
·Ragu? Cari sumber aslinya
Prerequisites
·Bagaimana AI Belajar
Real-World Uses
·Video palsu tokoh publik
·Penipuan suara 'orang tua minta transfer'
·Face-swap tanpa izin
Key messageYang mirip belum tentu asli. Jeda, periksa kejanggalan, cek sumber.
Algoritma rekomendasi belajar dari apa yang kamu tonton, lalu menampilkan lebih banyak hal serupa — perlahan mempersempit ragam konten yang kamu lihat. Inilah filter bubble atau echo chamber.
Example use case
Tonton beberapa video game yang sama, dan dalam sehari seluruh FYP-mu jadi game itu saja — kamu berhenti melihat hal lain.
Syllabus
Feed-mu bukan cermin dunia; ia cermin kebiasaanmu — dan makin lama makin sempit.
Objectives
·Memahami cara algoritma rekomendasi belajar dari perilakumu
·Menyadari efek filter bubble pada cara pandang
·Terbiasa sengaja mencari sudut pandang berbeda
How It Works
·Tiap tontonan menaikkan bobot topik itu
·Konten serupa muncul lebih sering, yang lain memudar
·Lama-lama ragam konten menyempit ke satu tema
Prerequisites
·Terbiasa memakai media sosial / aplikasi video
Real-World Uses
·FYP TikTok/Reels
·Rekomendasi YouTube & toko online
·Timeline berita
Key messageRekomendasi mempersempit; sengaja jelajahi hal baru untuk melawannya.
Kabar bohong menyebar seperti virus lewat jaringan pertemanan — makin banyak yang membagikan, makin cepat menular. Satu orang yang mengecek fakta bisa memutus rantainya.
Example use case
Hoaks 'besok libur sekolah' diteruskan di grup WA kelas, sampai satu orang mengeceknya dan berhenti membagikan.
Syllabus
Hoaks menular lewat 'bagikan'. Berhenti sejenak untuk cek = memutus rantai penularan.
Objectives
·Memahami penyebaran misinformasi sebagai penularan di jaringan
·Menyadari peran tiap orang dalam meneruskan/menghentikan
·Terbiasa jeda dan verifikasi sebelum membagikan
How It Works
·Satu sumber hoaks membagikan ke tetangganya
·Tiap penerima yang ikut membagikan menulari lagi (eksponensial)
·Orang yang cek-fakta tidak meneruskan → tetangganya aman
Caesar Cipher adalah teknik enkripsi klasik yang menyembunyikan pesan dengan menggeser tiap huruf sejauh angka tertentu di dalam alfabet, misalnya geser tiga sehingga A menjadi D. Penerima yang tahu angka gesernya bisa mengembalikan huruf ke posisi semula untuk membaca pesan asli. Visualisasi menampilkan tiap huruf yang bergeser di sepanjang alfabet dari teks asli menjadi teks tersandi.
Example use case
Menulis pesan rahasia ke teman sebangku agar isinya tidak langsung terbaca kalau kertasnya jatuh ke tangan orang lain.
Syllabus
Sembunyikan pesan dengan menggeser tiap huruf sejauh angka rahasia di dalam alfabet.
Objectives
·Memahami ide dasar enkripsi: mengubah pesan agar tidak terbaca langsung
·Menjelaskan cara pergeseran huruf menyandi dan membuka pesan
·Menerapkan penyandian dan pembacaan pesan dengan kunci geser
How It Works
·Sepakati satu angka geser sebagai kunci rahasia, misalnya tiga.
·Geser tiap huruf pesan maju sejauh angka itu di alfabet.
·Huruf di ujung alfabet berputar kembali ke awal (Z kembali ke A).
·Untuk membaca, penerima menggeser tiap huruf mundur sejauh angka yang sama.
Prerequisites
·Urutan huruf alfabet
·Penjumlahan dan sisa bagi (modulo) sederhana
Real-World Uses
·Menyandikan pesan rahasia antarteman agar tidak langsung terbaca.
·Contoh awal untuk memahami kenapa chat modern perlu enkripsi.
·Teka-teki sandi geser pada permainan atau kegiatan pramuka.
Algoritma Luhn adalah rumus sederhana yang memeriksa apakah sebuah nomor kartu masuk akal sebelum diproses. Digit ditelusuri dari kanan secara selang-seling (digit di posisi tertentu digandakan), lalu semuanya dijumlahkan; bila total habis dibagi 10, nomor lolos pemeriksaan. Cara ini menangkap salah ketik satu digit secara instan. Visualisasi menandai digit yang digandakan dan menjumlahkan sampai lolos bagi 10.
Example use case
Saat kamu salah mengetik satu angka nomor kartu di aplikasi OVO atau GoPay, sistem langsung menolaknya tanpa perlu menghubungi bank.
Syllabus
Gandakan digit selang-seling dari kanan lalu jumlahkan; nomor valid bila totalnya habis dibagi 10.
Objectives
·Memahami konsep checksum untuk mendeteksi kesalahan
·Menerapkan langkah-langkah Luhn pada sederet digit
·Menjelaskan mengapa validasi lokal menghemat waktu dan biaya
How It Works
·Telusuri digit dari paling kanan ke kiri.
·Gandakan tiap digit di posisi selang-seling (bila hasilnya lebih dari 9, kurangi 9).
·Jumlahkan semua digit hasilnya.
·Bila total mod 10 sama dengan 0, nomor dinyatakan valid.
Prerequisites
·Operasi modulo (sisa bagi)
·Perulangan pada digit angka
Real-World Uses
·Validasi nomor kartu kredit dan debit di situs belanja.
Fungsi hash mengubah teks apa pun menjadi sidik jari angka berukuran tetap. Efek avalanche membuat perubahan satu huruf saja mengubah sekitar setengah bit hasilnya — tak ada pola yang bocor dari input ke output. Inilah alasan hash tak bisa dibalik menjadi teks aslinya. Visualisasi membandingkan dua teks yang nyaris sama dan menyalakan bit-bit yang berubah.
Example use case
Password kamu disimpan sebagai hash, bukan teks asli. Situs hanya mencocokkan hash-nya, sehingga bocornya database tidak langsung membocorkan password.
Syllabus
Ubah satu huruf, setengah bit hasil hash berubah total — sidik jari tetap yang mustahil dibalik.
Objectives
·Memahami apa itu fungsi hash dan sifat satu-arahnya
·Menjelaskan efek avalanche dan mengapa penting untuk keamanan
·Mengaitkan hash dengan cara password disimpan dengan aman
How It Works
·Ambil teks masukan huruf demi huruf.
·Aduk tiap huruf ke sebuah angka besar 64-bit lewat operasi campur.
·Perubahan satu huruf menyebar ke seluruh bit (efek avalanche).
·Hasil akhir adalah sidik jari tetap yang tampak acak dan tak bisa dikembalikan ke teks asli.
Prerequisites
·Sistem bilangan biner (bit)
·Konsep fungsi (input menghasilkan output)
Real-World Uses
·Menyimpan password di server tanpa mengetahui teks aslinya.
·Memastikan file unduhan tidak diubah lewat pencocokan sidik jari.
One-Time Pad mengenkripsi pesan dengan meng-XOR tiap karakter memakai kunci acak sekali pakai. XOR punya sifat khusus: meng-XOR dua kali dengan kunci yang sama akan mengembalikan pesan asli. Selama kunci benar-benar acak, sepanjang pesan, dan hanya dipakai sekali, sandi ini secara teori mustahil dipecahkan. Visualisasi menyandikan lalu membuka kembali pesan dengan kunci yang sama.
Example use case
Dua orang yang sudah bertukar buku kunci acak identik bisa berkirim pesan rahasia yang secara teori tak bisa dibongkar pihak ketiga.
Syllabus
XOR pesan dengan kunci acak; XOR lagi dengan kunci yang sama membuka pesannya — sempurna bila kunci sekali pakai.
Objectives
·Memahami operasi XOR dan sifat reversibelnya
·Menjelaskan syarat One-Time Pad yang tak terpecahkan
·Membedakan enkripsi (bisa dibalik) dari hashing (satu arah)
How It Works
·Ubah tiap karakter pesan menjadi angka atau bit.
·XOR-kan dengan karakter kunci di posisi yang sama untuk menghasilkan sandi.
·Kirim sandi; penerima meng-XOR lagi dengan kunci yang sama.
·Karena a XOR k XOR k sama dengan a, pesan asli muncul kembali.
Prerequisites
·Operasi bit (AND, OR, XOR)
·Representasi karakter sebagai angka (ASCII)
Real-World Uses
·Dasar konsep di balik enkripsi modern (AES memakai XOR di dalamnya).
·Saluran komunikasi rahasia era Perang Dingin.
·Menyembunyikan data dengan kunci di banyak game dan aplikasi.
Hukum Archimedes menyatakan bahwa benda dalam air mendapat gaya apung ke atas sebesar berat air yang dipindahkannya (F_apung = ρ_air × V_tercelup × g). Sebuah benda terapung bila gaya apung ini mampu mengimbangi beratnya. Itulah paradoks kapal baja: baja pejal tenggelam karena volumenya kecil, tetapi kapal dibuat berongga sehingga memindahkan banyak air — gaya apungnya jadi cukup besar untuk menahan seluruh berat kapal. Visualisasi membandingkan balok baja pejal yang tenggelam dengan kapal berongga yang terapung.
Example use case
Kapal baja raksasa yang terapung, dan sebaliknya sebuah paku besi kecil yang langsung tenggelam.
Syllabus
Gaya apung = berat air yang dipindahkan; terapung bila gaya apung ≥ berat benda.
Objectives
·Memahami gaya apung dan air yang dipindahkan
·Menjelaskan mengapa bentuk berongga bisa terapung
·Membandingkan benda pejal dengan benda berongga
How It Works
·Benda dalam air mendapat gaya apung ke atas.
·Besarnya = berat air yang dipindahkan (F = ρ_air × V_tercelup × g).
·Baja pejal: volume kecil → air dipindahkan sedikit → gaya apung < berat → tenggelam.
·Kapal berongga: memindahkan banyak air → gaya apung = berat → terapung.
Prerequisites
·Konsep berat dan gaya
·Volume
Real-World Uses
·Kapal dan tongkang baja.
·Kapal selam yang mengatur daya apung.
·Pelampung dan jaket keselamatan.
Key formulaF_apung = ρ_air × V_tercelup × g ; terapung bila F_apung ≥ berat
Bandul adalah beban yang tergantung pada tali dan berayun bolak-balik. Yang mengejutkan, waktu satu ayunan penuh (periode) hanya bergantung pada panjang tali dan gravitasi — bukan pada massa beban atau seberapa jauh diayun (untuk sudut kecil). Tali yang lebih panjang berayun lebih lambat. Karena keteraturan inilah bandul dipakai pada jam. Visualisasi membandingkan bandul tali pendek dan panjang serta menghitung periodenya.
Example use case
Jam bandul kuno, ayunan di taman bermain, dan metronom yang menjaga tempo musik.
Syllabus
Periode T = 2π√(L/g); hanya bergantung panjang tali dan gravitasi, bukan massa atau amplitudo.
Objectives
·Memahami periode dan ayunan bandul
·Menjelaskan mengapa massa tak memengaruhi periode
·Mengaitkan panjang tali dengan kecepatan ayunan
How It Works
·Beban tergantung pada tali berayun bolak-balik.
·Periode (waktu satu ayunan) = 2π√(L/g).
·Massa beban dan amplitudo (untuk sudut kecil) tidak mengubah periode.
·Tali lebih panjang → periode lebih besar → ayunan lebih lambat.
Hukum II Newton menghubungkan gaya, massa, dan percepatan: percepatan sebuah benda sama dengan gaya yang mendorongnya dibagi massanya (a = F/m), atau ditulis F = m·a. Artinya gaya yang sama menghasilkan percepatan lebih kecil pada benda yang lebih berat. Itulah sebabnya mobil atau truk berat lebih susah direm dan butuh mesin lebih kuat untuk melaju secepat kendaraan ringan. Visualisasi mendorong benda ringan dan berat dengan gaya sama lalu membandingkan percepatannya.
Example use case
Kenapa truk bermuatan penuh butuh jarak lebih jauh untuk berhenti dibanding motor, dan kenapa mobil balap dibuat seringan mungkin.
Syllabus
a = F/m (atau F = m·a); gaya sama pada massa lebih besar menghasilkan percepatan lebih kecil.
Objectives
·Memahami hubungan gaya, massa, dan percepatan
·Menjelaskan mengapa benda berat lebih lambat dipercepat
·Menerapkan rumus F = m·a
How It Works
·Gaya mendorong benda bermassa m.
·Percepatan a = F/m: makin besar gaya, makin besar percepatan.
·Massa lebih besar melawan percepatan → a lebih kecil untuk gaya yang sama.
Hukum Ohm menghubungkan tegangan (V), arus (I), dan hambatan (R): I = V/R. Makin besar hambatan, makin kecil arus yang mengalir pada tegangan yang sama. Inilah alasan sebuah LED selalu dipasang seri dengan resistor: tanpa resistor, hambatan nyaris nol membuat arus melonjak dan LED terbakar; resistor yang tepat menahan arus ke tingkat aman. Visualisasi mengalirkan arus pada rangkaian dan membandingkan tanpa-resistor dengan resistor yang benar.
Example use case
Menghitung nilai resistor untuk menyalakan LED dengan aman dari pin 5V Arduino tanpa merusaknya.
Syllabus
I = V/R; hambatan lebih besar → arus lebih kecil. Resistor membatasi arus agar komponen aman.
Objectives
·Memahami hubungan tegangan, arus, dan hambatan
·Menjelaskan mengapa LED butuh resistor
·Menghitung arus dari tegangan dan hambatan
How It Works
·Tegangan mendorong arus mengalir dalam rangkaian.
·Arus I = V / R.
·Tanpa resistor (R mendekati 0), arus melonjak → LED terbakar.
·Resistor yang tepat menahan arus ke tingkat aman.
Pesawat sederhana memudahkan kerja dengan menukar jarak dengan gaya. Pada tuas, gaya kecil di lengan panjang bisa mengangkat beban besar di lengan pendek, seimbang saat gaya dikali lengan di kedua sisi sama. Katrol membagi gaya lewat beberapa tali, dan bidang miring menukar jarak tempuh dengan gaya angkat. Keuntungan mekanis mengukur seberapa besar gaya dilipatgandakan — tetapi usaha totalnya tetap sama. Visualisasi menyeimbangkan tuas lalu menunjukkan katrol dan bidang miring.
Example use case
Gerobak dorong, katrol pada sumur atau tiang bendera, dan pembuka tutup botol.
Syllabus
Tukar jarak dengan gaya; tuas seimbang saat gaya × lengan sama di kedua sisi; usaha total tetap.
Objectives
·Memahami tuas, katrol, dan bidang miring
·Menjelaskan keuntungan mekanis
·Menyadari usaha total tidak berubah
How It Works
·Tuas: gaya kecil di lengan panjang mengangkat beban besar di lengan pendek.
·Seimbang saat gaya_kuasa × lengan_kuasa = gaya_beban × lengan_beban.
·Katrol membagi gaya lewat beberapa tali; bidang miring menukar jarak dengan gaya.
·Keuntungan mekanis = seberapa besar gaya dilipatgandakan.
Ada dua cara merangkai komponen listrik. Pada rangkaian SERI, semua berbagi satu jalur: hambatan dijumlahkan sehingga arus lebih kecil, dan bila satu lampu putus seluruhnya padam. Pada rangkaian PARALEL, tiap komponen punya cabang sendiri: hambatan total justru mengecil, arus lebih besar, dan bila satu putus yang lain tetap menyala. Itu sebabnya colokan rumah dipasang paralel. Visualisasi membandingkan kedua rangkaian saat satu lampu putus.
Example use case
Lampu hias natal murah yang mati semua bila satu putus (seri) versus colokan rumah yang mandiri (paralel).
Syllabus
Seri = satu jalur, R dijumlah, satu putus mati semua; paralel = bercabang, R mengecil, mandiri.
Objectives
·Membedakan rangkaian seri dan paralel
·Menghitung hambatan total tiap susunan
·Menjelaskan mengapa colokan rumah dipasang paralel
How It Works
·Seri: komponen dalam satu jalur; R_total = R1 + R2 (arus kecil).
·Bila satu putus di seri, rangkaian terputus → semua padam.
·Paralel: tiap komponen punya cabang; R_total lebih kecil dari tiap R (arus besar).
·Bila satu putus di paralel, cabang lain tetap menyala.
Prerequisites
·Konsep arus dan hambatan
·Hukum Ohm dasar
Real-World Uses
·Lampu hias natal (seri) vs colokan rumah (paralel).
Torsi adalah gaya putar: besarnya sama dengan gaya dikali panjang lengan (jarak dari titik putar). Karena itu mendorong gagang pintu jauh dari engsel jauh lebih mudah, dan kunci pas yang panjang memutar baut lebih kuat. Sebuah jungkat-jungkit seimbang ketika torsi di kedua sisi sama — anak berat dekat poros bisa mengimbangi anak ringan yang jauh. Visualisasi menyeimbangkan jungkat-jungkit lalu menjelaskan lengan gaya.
Example use case
Jungkat-jungkit, gagang pintu yang dipasang jauh dari engsel, dan kunci pas panjang untuk baut keras.
Syllabus
Torsi = gaya × lengan; makin panjang lengan makin besar torsi; seimbang saat torsi kedua sisi sama.
Objectives
·Memahami torsi sebagai gaya putar
·Menjelaskan peran panjang lengan
·Menerapkan syarat kesetimbangan
How It Works
·Torsi = gaya × panjang lengan dari titik putar.
·Lengan lebih panjang menghasilkan torsi lebih besar untuk gaya yang sama.
·Jungkat-jungkit seimbang saat torsi kiri = torsi kanan.
·Anak berat dekat poros mengimbangi anak ringan yang jauh.
Prerequisites
·Konsep gaya
·Jarak dan perkalian
Real-World Uses
·Jungkat-jungkit dan gagang pintu.
·Kunci pas dan tuas panjang.
·Torsi motor dan roda gigi.
Key formulaτ = gaya × lengan ; seimbang saat τ_kiri = τ_kanan
Elektromagnet dibuat dengan mengalirkan arus listrik lewat kawat yang digulung (kumparan) mengelilingi inti besi. Arus itu menghasilkan medan magnet dengan kutub Utara dan Selatan, persis seperti magnet biasa — tetapi dengan dua kelebihan: bisa dinyalakan dan dimatikan lewat saklar, dan kekuatannya bisa diatur dengan menambah jumlah lilitan atau memperbesar arus. Inilah prinsip di balik bel listrik, speaker, motor, dan crane pengangkat besi. Visualisasi menyalakan arus lalu menarik besi, dan menunjukkan magnet hilang saat arus dimatikan.
Example use case
Crane raksasa di tempat rongsokan yang mengangkat mobil dengan magnet lalu menjatuhkannya cukup dengan mematikan arus.
Syllabus
Arus lewat kumparan menghasilkan medan magnet (kutub U & S); bisa dinyala-matikan dan diatur lewat lilitan × arus.
Objectives
·Memahami listrik dapat menghasilkan magnet
·Menjelaskan keunggulan bisa dinyala-matikan dan diatur
·Mengaitkan dengan motor, speaker, dan crane
How It Works
·Kawat digulung (kumparan) mengelilingi inti besi.
·Alirkan arus → muncul medan magnet dengan kutub U dan S.
·Matikan arus → medan magnet hilang seketika.
·Perbanyak lilitan atau perbesar arus → medan makin kuat.
Prerequisites
·Konsep arus listrik
·Konsep magnet dan kutub
Real-World Uses
·Crane pengangkat besi di tempat rongsokan.
·Bel listrik, speaker, dan mikrofon.
·Motor listrik dan relay.
Key formulaarus × kumparan → medan magnet; kekuatan ~ lilitan × arus
Gelombang adalah rambatan energi tanpa memindahkan materi secara keseluruhan — yang bergerak adalah polanya. Panjang gelombang (λ) adalah jarak antara dua puncak, frekuensi (f) adalah banyaknya gelombang per detik, dan cepat rambatnya v = f × λ. Jadi pada tali yang sama, memperbesar frekuensi memendekkan panjang gelombang. Visualisasi menjalankan gelombang sinus pada tali dan melacak satu puncak yang bergerak.
Example use case
Ombak laut, getaran pada senar gitar, dan gelombang suara yang merambat di udara.
Syllabus
Gelombang merambatkan energi; cepat rambat v = frekuensi × panjang gelombang (v = f·λ).
Objectives
·Memahami panjang gelombang, frekuensi, dan amplitudo
·Menjelaskan cepat rambat v = f·λ
·Menyadari yang merambat adalah pola/energi, bukan materi
How It Works
·Pola gelombang bergerak sepanjang medium (misal tali).
·Panjang gelombang λ = jarak antara dua puncak.
·Frekuensi f = jumlah gelombang per detik.
·Cepat rambat v = f × λ.
Prerequisites
·Konsep frekuensi (per detik)
·Jarak dan kecepatan
Real-World Uses
·Ombak laut dan riak air.
·Getaran senar gitar dan alat musik.
·Gelombang suara dan radio.
Key formulav = f × λ (cepat rambat = frekuensi × panjang gelombang)
Gerak parabola adalah lintasan melengkung sebuah benda yang dilempar: gerak mendatar (kecepatan tetap) dan gerak vertikal (dipercepat gravitasi) terjadi bersamaan. Kecepatan horizontal vx tetap sepanjang lintasan, sedangkan kecepatan vertikal vy berkurang saat naik, nol di puncak, lalu bertambah saat turun. Karena itu lintasannya berbentuk parabola simetris. Visualisasi melempar bola pada sudut 45 derajat dan menandai puncak serta jangkauannya.
Example use case
Menghitung sudut tembak di game seperti Angry Birds, atau lengkung lemparan bola basket agar masuk ring.
Syllabus
Gerak mendatar (tetap) dan gerak vertikal (dipercepat gravitasi) terjadi bersamaan → lintasan parabola simetris.
Objectives
·Memisahkan gerak menjadi komponen horizontal dan vertikal
·Memahami vy = 0 di puncak lintasan
·Menghitung jangkauan dan tinggi maksimum
How It Works
·Pisahkan kecepatan awal menjadi vx (mendatar) dan vy (vertikal).
·vx tetap; vy berkurang oleh gravitasi, nol di puncak, lalu bertambah saat turun.
·Lintasan naik-turun membentuk parabola simetris.
·Jangkauan maksimum tercapai pada sudut 45 derajat.
Prerequisites
·Kecepatan dan percepatan
·Sudut dan komponen (sin/cos dasar)
Real-World Uses
·Sudut tembak di game (Angry Birds).
·Lemparan bola basket dan lempar lembing.
·Lintasan air mancur dan roket sederhana.
Key formulaR = v0²·sin(2θ)/g ; H = (v0·sinθ)²/(2g)
Momentum adalah hasil kali massa dan kecepatan (p = m·v), dan dalam setiap tumbukan momentum TOTAL selalu kekal: jumlah sebelum sama dengan jumlah sesudah. Untuk dua benda bermassa sama yang bertumbukan lenting sempurna, keduanya justru bertukar kecepatan — yang menabrak berhenti, yang diam melaju. Inilah yang terlihat pada Newton's cradle dan bola biliar. Visualisasi menabrakkan dua bola dan melacak momentum sebelum serta sesudahnya.
Example use case
Bola biliar yang berhenti saat menabrak bola lain yang lalu melaju, dan ayunan Newton's cradle.
Syllabus
p = massa × kecepatan; momentum total sebelum = total sesudah (kekal).
Objectives
·Memahami momentum sebagai massa kali kecepatan
·Menjelaskan kekekalan momentum dalam tumbukan
·Melihat pertukaran kecepatan pada tumbukan lenting
How It Works
·Hitung momentum tiap benda: p = massa × kecepatan.
Motor DC mengubah listrik menjadi gerak putar. Kawat berarus di dalam medan magnet mengalami gaya (F = B·I·L, arahnya lewat aturan tangan kiri). Pada kumparan, kedua sisi mendapat gaya berlawanan sehingga menghasilkan torsi yang memutarnya. Saat kumparan tegak dan torsi menghilang, komutator membalik arah arus agar putaran terus berlanjut satu arah. Visualisasi menjalankan kumparan berputar di antara kutub magnet.
Example use case
Motor yang sama menggerakkan roda mBot, kipas angin, drone, dan mobil listrik.
Syllabus
Arus dalam medan magnet menghasilkan gaya; dua sisi kumparan → torsi → putar; komutator menjaga putaran kontinu.
Objectives
·Memahami gaya pada kawat berarus (F = B·I·L)
·Menjelaskan bagaimana gaya menjadi torsi
·Mengetahui peran komutator
How It Works
·Alirkan arus ke kumparan di antara kutub magnet.
·Tiap sisi kumparan mendapat gaya F = B·I·L (aturan tangan kiri).
·Dua gaya berlawanan menghasilkan torsi, kumparan berputar.
·Komutator membalik arus tiap setengah putaran agar torsi tetap searah.
Prerequisites
·Konsep arus listrik dan medan magnet
·Gaya dan torsi
Real-World Uses
·Roda penggerak mBot dan robot.
·Kipas angin dan pompa.
·Drone dan mobil listrik.
Key formulaF = B · I · L (gaya pada kawat berarus)
Energi tidak hilang, hanya berubah bentuk. Di puncak lintasan, sebuah benda menyimpan energi potensial (EP = m·g·h); saat meluncur turun, EP berubah menjadi energi kinetik (EK = ½·m·v²), sementara totalnya tetap. Itulah sebabnya benda yang jatuh makin cepat: energi potensialnya berpindah menjadi gerak. Di dasar, seluruh energi menjadi kinetik dan kecepatannya maksimum. Visualisasi menjalankan kereta roller-coaster sambil menampilkan tukar-menukar EP dan EK.
Example use case
Roller coaster yang melaju paling cepat di titik terendah, dan pembangkit listrik tenaga air (PLTA).
Syllabus
EP + EK tetap; energi potensial berubah jadi kinetik saat turun — itu sebabnya jatuh makin cepat.
Objectives
·Memahami energi potensial dan kinetik
·Menjelaskan kekekalan energi
·Mengaitkan tinggi, kecepatan, dan energi
How It Works
·Di puncak, energi tersimpan sebagai potensial EP = m·g·h.
·Saat turun, EP berubah menjadi kinetik EK = ½·m·v².
·Total EP + EK tetap sepanjang lintasan.
·Di dasar, semua menjadi kinetik → kecepatan maksimum.
Prerequisites
·Konsep energi
·Massa, tinggi, dan kecepatan
Real-World Uses
·Roller coaster dan perosotan.
·Pembangkit listrik tenaga air (PLTA).
·Bandul dan lompat galah.
Key formulaEP = m·g·h ; EK = ½·m·v² ; EP + EK = tetap
Rasio gigi adalah perbandingan jumlah gigi antara dua roda gigi yang bersinggungan. Karena gigi yang lewat titik singgung harus sama banyak di kedua roda, roda yang lebih besar berputar lebih lambat — tetapi dengan torsi (gaya putar) yang lebih besar. Menukar kecepatan menjadi torsi, atau sebaliknya, inilah dasar setiap transmisi: sepeda, mobil, dan lengan robot. Visualisasi memutar sepasang gigi 3:1 dan menunjukkan pertukaran torsi dan kecepatan.
Example use case
Gigi ringan pada sepeda membuat kita kuat menanjak (torsi besar, pelan), sementara gigi berat memberi laju cepat di jalan datar.
Syllabus
Roda besar berputar lebih lambat tapi torsinya lebih besar; rasio = gigi besar / gigi kecil.
Objectives
·Memahami perbandingan gigi (rasio)
·Menjelaskan pertukaran torsi melawan kecepatan
·Mengaitkan dengan gigi sepeda dan transmisi robot
How It Works
·Dua roda gigi bersinggungan; gigi yang lewat titik singgung sama banyak.
·Roda besar (lebih banyak gigi) berputar lebih lambat sebanyak rasio.
·Sebagai gantinya, torsinya naik sebanyak rasio.
·Pilih rasio besar untuk tenaga (menanjak), rasio kecil untuk kecepatan.
Encoder membuat robot tahu seberapa jauh rodanya berputar. Sebuah cakram bercelah (atau bergaris) berputar melewati sensor; setiap celah yang lewat menghasilkan satu pulsa (tick). Dengan menghitung tick dan mengetahui berapa tick per putaran, robot bisa menghitung jumlah putaran, lalu mengalikannya dengan keliling roda untuk mendapat jarak tempuh. Visualisasi memutar cakram, mencacah pulsa, dan menghitung jaraknya.
Example use case
Cara robot beroda (dan mBot) mengukur seberapa jauh ia telah melaju, serta penggulung kertas printer.
Syllabus
Tiap celah cakram yang lewat sensor = satu tick; putaran = tick / tick-per-putaran; jarak = putaran × keliling.
Objectives
·Memahami cara encoder menghasilkan pulsa
·Menghitung putaran dari jumlah tick
·Mengubah putaran menjadi jarak tempuh
How It Works
·Cakram bercelah berputar melewati sebuah sensor.
·Tiap celah lewat menghasilkan satu pulsa (tick).
·Jumlah putaran = jumlah tick / tick per putaran.
·Jarak tempuh = jumlah putaran × keliling roda.
Prerequisites
·Konsep putaran dan keliling
·Pembagian dan perkalian
Real-World Uses
·Odometri robot beroda dan mBot.
·Penggulung kertas printer.
·Kenop volume dan roda mouse.
Key formulaputaran = tick / (tick per putaran) ; jarak = putaran × keliling
Sabuk yang melilit dua puli meneruskan putaran dari satu poros ke poros lain yang berjauhan — tanpa gigi yang beradu. Perbandingan kecepatannya ditentukan oleh diameter puli: puli kecil yang memutar puli besar membuatnya berputar lebih lambat tetapi dengan tenaga lebih besar, mirip roda gigi tetapi bisa melintasi jarak. Visualisasi memutar dua puli berbeda diameter dan menghitung rasionya.
Example use case
Penggerak pada conveyor pabrik, mesin cuci, dan sabuk pada mesin sepeda motor.
Robot pengikut garis memakai sensor inframerah di bawah bodinya untuk membedakan garis hitam dari lantai terang. Saat garis bergeser ke bawah salah satu sensor, robot membelok ke arah itu untuk menariknya kembali ke tengah. Koreksi kecil yang terus-menerus membuatnya tetap mengikuti garis — dan versi yang lebih halus memakai kontrol PID. Visualisasi menjalankan robot lurus, lalu membelok saat garis bergeser.
Example use case
Cara mBot mengikuti garis di lantai pada lomba robot line-follower.
Syllabus
Sensor baca hitam/putih; garis bergeser ke satu sensor → belok ke arah itu untuk kembali ke tengah.
Objectives
·Memahami sensor inframerah membaca kontras warna
·Menjelaskan koreksi setir dari bacaan sensor
·Mengaitkan dengan kontrol umpan balik (PID)
How It Works
·Dua sensor inframerah di bawah robot membaca hitam (garis) atau putih (lantai).
·Bila kedua sensor di putih, robot melaju lurus.
·Bila garis di bawah sensor kiri, robot belok kiri.
·Koreksi kecil terus-menerus menjaga robot tetap di garis.
Prerequisites
·Konsep sensor dan kontras warna
·Ide belok kiri dan kanan
Real-World Uses
·Robot line-follower mBot dan lomba robotik.
·AGV (kendaraan pemandu otomatis) di pabrik.
·Dasar dari kontrol PID.
Key formulasensor di garis → belok ke arah itu → kembali ke tengah
Sensor ultrasonik mengukur jarak dengan gema, persis seperti kelelawar dan sonar. Ia menembakkan pulsa suara yang merambat, memantul dari objek, lalu kembali; sebuah pewaktu mengukur waktu pulang-pergi. Jarak dihitung dari kecepatan suara dikali waktu, lalu dibagi dua karena pulsa menempuh jarak itu dua kali (pergi dan pulang). Visualisasi menembakkan pulsa ke dinding dan menghitung jaraknya.
Example use case
Cara mBot dan robot penghindar tabrakan mengukur jarak ke dinding, dan sensor parkir mobil.
Syllabus
Jarak = (kecepatan suara × waktu) ÷ 2; dibagi dua karena gema menempuh lintasan bolak-balik.
Objectives
·Memahami pengukuran jarak dengan gema
·Menjelaskan mengapa waktu dibagi dua
·Mengaitkan dengan sonar dan ekolokasi kelelawar
How It Works
·Sensor menembakkan pulsa suara ultrasonik.
·Pulsa merambat, memantul dari objek, lalu kembali.
·Pewaktu mengukur waktu pulang-pergi.
·Jarak = (kecepatan suara × waktu) ÷ 2 (dibagi dua karena bolak-balik).
Umpan balik adalah kontrol paling sederhana: ukur, bandingkan dengan target, lalu nyalakan atau matikan. Sebuah termostat menyalakan pemanas saat suhu di bawah target dan mematikannya saat di atas — sehingga suhu bergoyang naik-turun kecil di sekitar target dalam pola gigi-gergaji. Goyangannya selalu terkendali dan tak pernah lari jauh; sederhana dan murah. Versi yang lebih halus tanpa goyangan memakai kontrol PID. Visualisasi menjalankan suhu yang berosilasi di sekitar garis target.
Example use case
Termostat AC dan kulkas, setrika, dan pemanas air yang menyala-mati untuk menjaga suhu.
Syllabus
Ukur → bandingkan target → ON/OFF; di bawah target nyala, di atas mati; suhu bergoyang kecil di sekitar target.
Objectives
·Memahami kontrol umpan balik paling sederhana (on-off)
·Menjelaskan pola gigi-gergaji di sekitar target
·Membandingkan dengan kontrol PID yang lebih halus
How It Works
·Ukur besaran (misalnya suhu ruang).
·Bila di bawah target → nyalakan pemanas.
·Bila di atas target → matikan pemanas.
·Suhu naik-turun kecil (gigi-gergaji) di sekitar target.
Prerequisites
·Konsep target dan pengukuran
·Perbandingan
Real-World Uses
·Termostat AC, kulkas, dan setrika.
·Pengisi daya baterai.
·Pengontrol level air tangki.
Key formulasuhu < target → ON ; suhu > target → OFF
Differential drive adalah cara robot beroda dua berbelok tanpa setir: cukup dengan mengatur kecepatan roda kiri dan kanan secara berbeda. Bila kedua roda sama cepat, robot melaju lurus; bila salah satu lebih lambat, robot melengkung ke sisi yang lebih lambat; bila keduanya berlawanan arah, robot berputar di tempat. Arah dan radius belok lahir sepenuhnya dari selisih kecepatan roda. Visualisasi menjalankan robot lurus, belok, dan berputar sesuai kecepatan rodanya.
Example use case
Cara mBot dan robot-robot beroda (juga tank) berbelok — semuanya hanya dari perbedaan kecepatan dua roda penggeraknya.
Syllabus
Beda kecepatan roda kiri dan kanan menentukan arah dan radius belok; tak perlu setir.
Objectives
·Memahami kinematika robot dua roda
·Menjelaskan lurus, belok, dan putar dari kecepatan roda
·Menghitung laju maju dan laju putar
How It Works
·Tiap roda punya motor sendiri (kiri dan kanan).
·Laju maju v = (vL + vR)/2; laju putar ω = (vR − vL)/L.
IMU (Inertial Measurement Unit) memberi tahu robot bagaimana orientasinya. Akselerometer mengukur arah gravitasi sehingga bisa menghitung sudut kemiringan, sedangkan giroskop mengukur laju putaran. Digabungkan, keduanya memberi orientasi yang akurat dan stabil. Inilah sensor yang membuat HP tahu kapan dimiringkan dan drone menjaga dirinya tetap datar. Visualisasi memiringkan sebuah papan dan menampilkan sudut yang terukur.
Example use case
Cara HP tahu harus memutar layar saat dimiringkan, dan cara drone menjaga keseimbangan.
Syllabus
Akselerometer beri arah gravitasi (sudut miring), giroskop beri laju putar; gabungan = orientasi.
Objectives
·Memahami peran akselerometer dan giroskop
·Menjelaskan cara arah gravitasi memberi sudut miring
·Mengaitkan dengan kestabilan drone dan auto-rotate HP
How It Works
·Akselerometer mengukur komponen gravitasi pada tiap sumbu.
·Dari komponen itu dihitung sudut kemiringan (arah gravitasi).
·Giroskop mengukur laju putaran.
·Keduanya digabung menjadi orientasi yang stabil dan akurat.
Kinematika maju menghitung posisi ujung lengan robot (gripper) dari sudut tiap sendinya. Untuk lengan dua sendi, posisi ujung didapat dengan menjumlahkan panjang tiap segmen ke arah sudutnya: x = L1·cos(θ1) + L2·cos(θ1+θ2) dan y = L1·sin(θ1) + L2·sin(θ1+θ2). Jadi begitu sudut sendi diketahui, trigonometri langsung memberi titik yang dicapai. Kebalikannya — mencari sudut agar ujung sampai ke target tertentu — disebut kinematika balik. Visualisasi memutar dua sendi lalu menghitung posisi grippernya.
Example use case
Cara lengan robot industri (misalnya lengan las di pabrik) mengetahui di mana ujungnya berada dari pembacaan sudut motor tiap sendi.
Syllabus
Dari sudut tiap sendi, trigonometri memberi posisi ujung lengan: jumlahkan tiap segmen ke arah sudutnya.
Objectives
·Memahami hubungan sudut sendi dan posisi ujung
·Menerapkan trigonometri pada lengan dua sendi
·Membedakan kinematika maju dan kinematika balik
How It Works
·Lengan punya beberapa sendi, masing-masing bersudut.
·Ujung link 1 berada di arah θ1 sejauh L1.
·Ujung link 2 (gripper) = tambah arah (θ1+θ2) sejauh L2.
Berbeda dari motor biasa yang berputar bebas, motor stepper bergerak dalam langkah-langkah sudut yang tepat. Dengan menyalakan kumparan secara bergiliran (A, B, C, D), rotor tertarik maju satu langkah tetap setiap pulsa. Menghitung jumlah pulsa berarti mengontrol sudut putaran dengan presisi tinggi tanpa perlu sensor posisi. Inilah alasan printer 3D dan mesin CNC memakainya. Visualisasi menyalakan kumparan bergiliran dan menggerakkan rotor selangkah demi selangkah.
Example use case
Printer 3D dan mesin CNC yang menggerakkan kepala cetak ke posisi sangat presisi, serta penggerak lensa kamera.
Syllabus
Nyalakan kumparan bergiliran → rotor maju satu sudut tetap per pulsa; jumlah pulsa = sudut presisi.
Objectives
·Membedakan motor stepper dari motor biasa
·Memahami langkah sudut tetap per pulsa
·Mengaitkan dengan presisi tanpa sensor
How It Works
·Ada beberapa kumparan mengelilingi rotor.
·Nyalakan kumparan secara bergiliran (A → B → C → D).
·Tiap pulsa menarik rotor maju satu langkah sudut tetap.
·Jumlah pulsa × sudut per langkah = total putaran (presisi, tanpa sensor).
Prerequisites
·Konsep motor dan kumparan
·Sudut dan penjumlahan
Real-World Uses
·Printer 3D dan mesin CNC.
·Penggerak lensa dan kamera.
·Jam dan alat ukur presisi.
Key formulatotal sudut = jumlah pulsa × sudut per langkah
PWM (Pulse-Width Modulation) mengatur daya dengan menyalakan dan mematikan sinyal digital sangat cepat, lalu mengubah proporsi waktu ON-nya (duty cycle). Tegangan puncak tidak pernah berubah — hanya lebar pulsanya. Karena LED dan motor merasakan nilai rata-rata, duty cycle 60% memberi daya seperti 60% tegangan penuh. Inilah cara pin digital yang cuma bisa ON/OFF mengatur kecerahan dan kecepatan secara halus. Visualisasi menaikkan duty cycle dan menunjukkan respons LED serta motor.
Example use case
Perintah analogWrite() di Arduino atau mBot yang mengatur kecerahan LED dan kecepatan motor tanpa mengubah tegangan sumber.
Servo bukan motor biasa: ia diberi sudut PERINTAH lalu memakai umpan balik posisi untuk mencapai dan MENAHAN sudut itu. Di dalamnya, sebuah potensiometer membaca posisi horn saat ini; servo menghitung error = target dikurangi posisi, memutar motor untuk mengecilkan error, lalu berhenti dan menahan ketika error nol. Bila didorong keluar, ia langsung mengoreksi kembali. Visualisasi memerintah servo ke 90 derajat lalu menunjukkan koreksi saat diganggu.
Example use case
Sendi lengan robot, kemudi mobil RC, dan penggerak kepala atau ekor robot yang harus berhenti tepat di sudut tertentu.
Syllabus
error = target dikurangi posisi; putar motor sampai error nol lalu tahan; koreksi lagi bila diganggu.
Objectives
·Membedakan servo dari motor biasa
·Memahami umpan balik posisi
·Menjelaskan cara servo menahan sudut
How It Works
·Servo diberi sudut perintah (target).
·Potensiometer internal membaca posisi horn sekarang.
·error = target dikurangi posisi; motor berputar mengecilkan error.
·Saat error nol, motor berhenti dan menahan; bila didorong, mengoreksi lagi.
Prerequisites
·Konsep sudut
·Ide error dan umpan balik
Real-World Uses
·Sendi lengan robot.
·Kemudi mobil dan pesawat RC.
·Penggerak kamera dan kepala robot.
Key formulaerror = target − posisi; putar sampai error = 0, lalu tahan
Ini mendemonstrasikan logika inti permainan Snake: ular bergerak satu sel per langkah dengan menyisipkan kepala baru dan membuang ekor. Bila sel berikutnya adalah makanan, ekor tidak dibuang sehingga ular bertambah panjang, sedangkan jika sel terhalang permainan kalah. Visualisasi menampilkan grid dengan ular yang bergerak, memakan makanan, dan tumbuh dari panjang 4 hingga 7.
Example use case
Implementasi mekanik gerak dan pertumbuhan pada game Snake klasik di ponsel atau konsol arcade.
Syllabus
Ular bergerak dengan menambah kepala baru dan membuang ekor, tapi memanjang saat memakan makanan.
Objectives
·Memahami mekanik gerak dan pertumbuhan pada game Snake
·Menjelaskan trik sisip-kepala dan buang-ekor untuk menggerakkan ular
·Menerapkan aturan tumbuh saat makan dan kalah saat menabrak
How It Works
·Tubuh ular disimpan sebagai deretan sel; kepala di depan, ekor di belakang.
·Tiap langkah, sisipkan kepala baru di arah gerak lalu buang sel ekor.
·Bila kepala mengenai makanan, ekor TIDAK dibuang sehingga ular memanjang.
·Bila kepala menabrak dinding atau tubuh sendiri, permainan kalah.
Prerequisites
·Array atau list
·Grid dua dimensi
Real-World Uses
·Game Snake klasik yang dulu ada di HP Nokia dan kini banyak di aplikasi.
·Mekanik dasar game arcade yang sering jadi proyek koding pertama.
·Logika ekor-mengikuti pada berbagai game bertema ular atau kereta.
Algoritma traversal matriks spiral mengisi grid n x n dengan berjalan searah jarum jam: baris atas, kolom kanan, baris bawah, lalu kolom kiri, sambil menyusutkan batas atas/bawah/kiri/kanan setiap putaran. Proses berlanjut ke dalam hingga seluruh sel terisi. Visualisasi menampilkan angka yang ditulis mengikuti pola spiral menuju pusat grid.
Example use case
Pemrosesan data citra atau tata letak antarmuka yang mengakses sel matriks dalam pola melingkar.
Syllabus
Isi grid dengan berjalan searah jarum jam sambil menyusutkan batas tiap putaran hingga sampai pusat.
Objectives
·Memahami cara menelusuri matriks dalam pola spiral
·Menjelaskan penyusutan batas atas, bawah, kiri, dan kanan tiap putaran
·Menerapkan pengisian grid mengikuti pola melingkar ke dalam
How It Works
·Jalan di baris atas dari kiri ke kanan, lalu turunkan batas atas.
·Jalan di kolom kanan dari atas ke bawah, lalu kecilkan batas kanan.
·Jalan di baris bawah dari kanan ke kiri, lalu naikkan batas bawah.
·Jalan di kolom kiri dari bawah ke atas, lalu geser batas kiri.
·Ulangi memutar ke dalam sampai seluruh sel terisi di pusat.
Prerequisites
·Grid dua dimensi
·Perulangan bersarang
Real-World Uses
·Pemrosesan piksel citra dalam pola melingkar pada aplikasi kamera.
·Tata letak antarmuka yang mengisi kotak secara memutar.
·Efek animasi angka atau ubin yang muncul berpola spiral di game.
Algoritma ini adalah simulasi berbasis aturan (rule-based simulation) yang memproses urutan tendangan penalti satu per satu. Untuk setiap tendangan, ia menentukan apakah gol terjadi dengan membandingkan arah tendangan terhadap arah dive kiper dan area gawang, lalu memperbarui skor kedua tim. Visualisasi menampilkan animasi penendang, kiper, arah bola, papan skor, dan pemenang akhir.
Example use case
Simulasi hasil adu penalti pertandingan sepak bola untuk game atau prediksi statistik olahraga.
Syllabus
Simulasi berbasis aturan yang memproses tiap tendangan penalti untuk menentukan gol dan pemenang.
Objectives
·Memahami konsep simulasi berbasis aturan (rule-based)
·Menjelaskan cara membandingkan arah tendangan dengan arah dive kiper
·Menerapkan pembaruan skor bertahap sampai pemenang ditentukan
How It Works
·Proses tendangan penalti satu per satu secara bergiliran.
·Tentukan arah tendangan dan arah kiper melompat (dive).
·Gol terjadi bila bola masuk area gawang dan tidak searah dengan dive kiper.
·Perbarui skor kedua tim tiap tendangan, lalu tentukan pemenang di akhir.
Prerequisites
·Percabangan (if-else)
Real-World Uses
·Fitur adu penalti di game bola seperti eFootball atau FIFA Mobile.
·Prediksi statistik hasil adu penalti pertandingan sepak bola.
·Mini-game shootout sederhana yang bisa dibuat sendiri untuk latihan koding.
Game of Life adalah automata seluler: nasib tiap sel ditentukan jumlah tetangga hidupnya. Aturannya — sel hidup dengan 2 sampai 3 tetangga bertahan, sel mati dengan tepat 3 tetangga lahir, selain itu mati. Dari aturan sederhana ini muncul pola bergerak (glider) dan berdenyut (blinker).
Example use case
Simulasi pola pada grid untuk mengajarkan emergent behavior: aturan lokal yang sederhana menghasilkan pola global yang kompleks.
Syllabus
Pola global yang kompleks lahir dari aturan lokal sederhana berdasarkan jumlah tetangga hidup tiap sel.
Objectives
·Memahami konsep automata seluler (cellular automata)
·Menjelaskan aturan hidup, mati, dan lahir berdasarkan tetangga
·Menerapkan simulasi grid untuk menghasilkan pola bergerak dan berdenyut
How It Works
·Tiap sel berstatus hidup atau mati di atas grid.
·Sel hidup dengan 2 atau 3 tetangga hidup akan bertahan.
·Sel mati dengan tepat 3 tetangga hidup akan lahir.
·Selain itu sel mati (kesepian atau terlalu padat).
·Semua sel diperbarui bersamaan tiap langkah, memunculkan pola seperti glider dan blinker.
Prerequisites
·Grid dua dimensi
·Konsep tetangga sel
Real-World Uses
·Contoh klasik emergent behavior: aturan simpel jadi pola rumit.
·Inspirasi efek partikel dan pola prosedural di game.
·Simulasi penyebaran pola sederhana untuk belajar sistem kompleks.
Model kebakaran hutan menunjukkan bagaimana sesuatu menyebar hanya lewat sentuhan langsung. Api mulai di satu sisi dan tiap ronde menjalar ke pohon tetangga yang bersentuhan; pohon yang terbakar menjadi abu. Bila ada celah kosong, api terputus dan berhenti. Apakah api menembus dari atas ke bawah bergantung pada seberapa rapat pohon terhubung — inilah konsep perkolasi. Visualisasi menjalarkan api ronde demi ronde sampai padam.
Example use case
Pola yang sama menjelaskan penyebaran virus lewat kontak, kebakaran nyata yang berhenti di sekat bakar, dan gosip yang viral lewat pertemanan.
Syllabus
Api menjalar hanya ke tetangga bersentuhan; celah kosong memutus rambatan — tembus atau tidak = perkolasi.
Objectives
·Memahami simulasi penyebaran berbasis grid
·Menjelaskan peran celah (sekat bakar) dalam memutus rambatan
·Mengenali konsep perkolasi (tembus atau tidak)
How It Works
·Isi hutan dengan pohon dan sebagian celah kosong.
·Api mulai dari satu sisi (baris atas).
·Tiap ronde, api menjalar ke pohon tetangga yang bersentuhan; pohon terbakar jadi abu.
·Celah kosong memutus api sampai rambatan berhenti.
Model SIR adalah simulasi penyebaran penyakit yang membagi populasi menjadi tiga keadaan: Susceptible (rentan), Infected (terinfeksi), dan Recovered (sembuh). Tiap langkah, orang terinfeksi bisa menulari tetangga yang rentan lalu akhirnya sembuh dan kebal, sehingga jumlah kasus naik dulu kemudian turun membentuk kurva. Visualisasi menampilkan grid warna yang berubah seiring wabah menyebar beserta kurva jumlah kasus dari waktu ke waktu.
Example use case
Cara memodelkan naik-turunnya kasus COVID-19 di satu lingkungan untuk memperkirakan kapan puncak wabah terjadi.
Syllabus
Modelkan wabah dengan membagi orang jadi rentan, terinfeksi, dan sembuh, lalu lihat kurvanya naik-turun.
Objectives
·Memahami cara wabah dimodelkan lewat tiga keadaan penduduk
·Menjelaskan perpindahan dari rentan ke terinfeksi lalu sembuh
·Menerapkan simulasi grid untuk melihat kurva kasus naik lalu turun
How It Works
·Tandai tiap orang di grid sebagai rentan, terinfeksi, atau sembuh.
·Tiap langkah, orang terinfeksi berpeluang menulari tetangga yang rentan.
·Setelah beberapa waktu, orang terinfeksi berpindah menjadi sembuh dan kebal.
·Jumlah kasus naik saat penularan cepat, lalu turun saat banyak yang sembuh.
·Kurva keseluruhan membentuk gundukan naik kemudian melandai.
Prerequisites
·Grid dua dimensi
·Konsep peluang sederhana
Real-World Uses
·Perkiraan naik-turunnya kasus COVID-19 di sebuah wilayah.
·Alasan menjaga jarak dan vaksin bisa menekan puncak wabah.
·Model penyebaran informasi atau tren viral yang mirip pola wabah.
Model Lotka-Volterra menjelaskan naik-turunnya populasi predator dan mangsa yang saling bergantung. Ketika rusa (mangsa) banyak, serigala (predator) punya banyak makanan sehingga jumlahnya naik; tetapi terlalu banyak serigala membuat rusa berkurang, lalu serigala pun ikut turun karena kelaparan, dan rusa kembali naik. Hasilnya dua gelombang yang berulang, dengan puncak serigala selalu tertinggal di belakang puncak rusa. Visualisasi menggambar kedua siklus populasi yang saling mengejar.
Example use case
Menjelaskan mengapa populasi hewan di alam naik-turun secara berkala, seperti kelinci dan rubah, atau hama pertanian dan pemangsanya.
Syllabus
Mangsa banyak -> predator naik -> mangsa turun -> predator turun -> mangsa naik; siklus berulang, puncak predator tertinggal.
Objectives
·Memahami sistem dinamis yang saling bergantung
·Menjelaskan jeda fase (predator mengikuti mangsa)
·Melihat keseimbangan siklus di alam
How It Works
·Mulai dari sejumlah rusa dan serigala.
·Banyak rusa membuat serigala berkembang (makanan melimpah).
·Banyak serigala menekan jumlah rusa.
·Rusa sedikit membuat serigala kelaparan dan menurun, lalu rusa naik lagi — siklus berulang.
Prerequisites
·Grafik terhadap waktu
·Konsep laju naik dan turun
·Perkalian sederhana
Real-World Uses
·Naik-turun populasi hewan di alam (kelinci dan rubah).
Model Schelling menunjukkan bagaimana preferensi individu yang ringan bisa menghasilkan pemisahan kelompok yang tajam. Tiap agen pada grid merasa tak nyaman bila terlalu sedikit tetangganya yang sekelompok, lalu pindah ke sel kosong. Walau tak seorang pun menginginkan segregasi ekstrem, pola akhirnya sangat terpisah. Visualisasi menjalankan ronde perpindahan sampai grid membeku dalam keadaan tersegregasi.
Example use case
Menjelaskan bagaimana geng pertemanan di sekolah atau bubble FYP media sosial terbentuk dari pilihan-pilihan kecil.
Syllabus
Preferensi kecil untuk sedikit tetangga sekelompok bisa menghasilkan segregasi besar yang tak diinginkan siapa pun.
Objectives
·Memahami simulasi berbasis agen (agent-based)
·Menjelaskan bagaimana pola global muncul dari aturan lokal
·Mengaitkan model dengan fenomena sosial nyata
How It Works
·Isi grid dengan dua kelompok dan sebagian sel dibiarkan kosong.
·Seorang agen merasa tak nyaman bila tetangga sekelompoknya di bawah ambang tertentu.
·Agen yang tak nyaman pindah ke sel kosong secara acak.
·Ulangi tiap ronde sampai tak ada yang pindah — grid membeku dalam keadaan tersegregasi.
Prerequisites
·Grid dua dimensi
·Konsep tetangga dan perulangan
Real-World Uses
·Pola pemukiman dan segregasi di kota.
·Terbentuknya echo chamber dan bubble di media sosial.
Langton's Ant adalah automata seluler dengan aturan sangat sederhana: pada sel hitam semut berbelok kanan, pada sel putih berbelok kiri, lalu membalik warna sel saat ini dan bergerak maju. Meski aturannya minimal, pola kompleks dan jejak teratur (emergent behavior) muncul setelah ribuan langkah. Visualisasi menampilkan grid dengan semut yang bergerak dan pola sel yang perlahan terbentuk.
Example use case
Studi emergent behavior dan sistem kompleks, atau pembangkitan pola prosedural pada seni generatif.
Syllabus
Semut dengan dua aturan warna sederhana perlahan membentuk pola teratur yang mengejutkan.
Objectives
·Memahami emergent behavior dari aturan sangat minimal
·Menjelaskan aturan belok dan pembalikan warna sel
·Menerapkan automata seluler untuk membangkitkan pola
How It Works
·Semut berada di sebuah sel dan menghadap satu arah.
·Di sel hitam semut belok kanan; di sel putih semut belok kiri.
·Setelah belok, warna sel saat ini dibalik (hitam jadi putih atau sebaliknya).
·Semut maju satu sel, lalu aturan diulang; setelah ribuan langkah muncul jejak teratur.
Prerequisites
·Grid dua dimensi
·Konsep arah hadap dan gerak
Real-World Uses
·Contoh sistem kompleks: aturan super simpel menghasilkan pola rumit.
·Pembangkitan pola prosedural pada seni generatif dan wallpaper digital.
·Studi bagaimana perilaku teratur bisa muncul dari langkah acak sederhana.
Model Nagel-Schreckenberg adalah simulasi lalu lintas yang menggerakkan banyak mobil di sepanjang jalan menurut aturan sederhana: percepat bila ada ruang, rem bila terlalu dekat mobil depan, dan sesekali melambat secara acak. Satu pengereman kecil di jalan padat bisa menjalar mundur menjadi kemacetan hantu yang muncul tanpa kecelakaan atau halangan apa pun. Visualisasi menampilkan barisan mobil yang bergerak dan gelombang macet yang merambat mundur di jalan yang padat.
Example use case
Alasan macet tiba-tiba muncul di jalan protokol Medan yang padat meski tidak ada kecelakaan, cukup satu mobil mengerem.
Syllabus
Kemacetan hantu bisa muncul dari jalan yang padat plus satu pengereman kecil, tanpa halangan apa pun.
Objectives
·Memahami cara lalu lintas dimodelkan dengan aturan mobil sederhana
·Menjelaskan bagaimana kepadatan dan satu rem memicu macet hantu
·Menerapkan simulasi untuk melihat gelombang macet merambat mundur
How It Works
·Taruh banyak mobil di sepanjang jalur satu lajur.
·Tiap langkah, mobil mempercepat bila ada ruang kosong di depannya.
·Mobil mengerem bila jaraknya terlalu dekat dengan mobil depan.
·Sesekali mobil melambat sedikit secara acak seperti pengemudi sungguhan.
·Di jalan padat, satu rem menjalar mundur jadi kemacetan hantu.
Prerequisites
·Konsep kecepatan dan jarak
·Peluang atau keacakan sederhana
Real-World Uses
·Macet tiba-tiba di jalan Medan yang padat tanpa ada kecelakaan.
·Kemacetan beruntun di jalan tol saat kendaraan terlalu rapat.
·Dasar pemodelan lalu lintas untuk merancang jalan dan lampu.
Tetris Clear mensimulasikan mekanik inti Tetris: sebuah piece jatuh selama masih bisa turun (can_fall), lalu dikunci (lock) ke papan. Setelah terkunci, baris yang penuh terdeteksi dan dibersihkan sehingga baris di atasnya turun (gravity). Visualisasi menampilkan tumpukan blok yang bertambah, baris penuh yang hilang, dan sisa tumpukan yang jatuh mengisi ruang kosong.
Example use case
Logika inti game Tetris yang mendeteksi dan menghapus baris penuh lalu menjatuhkan sisa tumpukan.
Syllabus
Blok jatuh dan terkunci di papan, lalu baris penuh dibersihkan sehingga tumpukan di atasnya turun.
Objectives
·Memahami mekanik inti game Tetris
·Menjelaskan proses jatuh, kunci, deteksi baris penuh, dan gravity
·Menerapkan pembersihan baris dan penurunan tumpukan sisa
How It Works
·Sebuah piece terus jatuh selama sel di bawahnya masih kosong.
·Saat tidak bisa turun lagi, piece dikunci menjadi bagian papan.
·Cek tiap baris: bila terisi penuh, baris itu dihapus.
·Baris di atas baris yang terhapus turun mengisi ruang kosong (gravity).
Prerequisites
·Grid dua dimensi
·Percabangan (if-else)
Real-World Uses
·Logika inti game Tetris yang populer di HP dan konsol.
·Mekanik puzzle 'susun dan bersihkan baris' di banyak game sejenis.
·Contoh proyek koding untuk belajar manipulasi grid dan skor.