xKyro Labs
CURRICULUM · VISUAL LAB

xKyro Visual Lab

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.

Math7 lessons · Pemula

EUCLIDEAN GCD

MathPemula
Fase C–FE1E5

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

Complexity O(log(min(a, b)))

BINARY TO DECIMAL

MathPemula
Fase C–FE1E5

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.

Complexity O(jumlah bit)

Collatz Conjecture

MathPemula
Fase C–FE1E5

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.

Complexity O(panjang lintasan), tanpa batas yang terbukti

FAST EXPONENTIATION

MathPemula
Fase C–FE1E5

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

Complexity O(log n)

MONTE CARLO PI

MathPemula
Fase C–FE1E5E6

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

Complexity O(n) untuk n titik

PRIME SIEVE

MathPemula
Fase C–FE1E5

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

Complexity O(n log log n)

Pascal's Triangle

MathPemula
Fase C–FE1E5

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.

Complexity O(baris kuadrat) untuk membangun

Sorting5 lessons · Pemula

BEAD SORT

SortingPemula
Fase C–FE1E5

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

Complexity O(n * maks)

BUBBLE SORT

SortingPemula
Fase C–FE1E5

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.

Objectives
  • ·Memahami prinsip bandingkan-dan-tukar antar elemen bersebelahan
  • ·Menjelaskan mengapa nilai terbesar 'mengapung' ke belakang tiap sapuan
  • ·Menerapkan penghentian dini saat satu sapuan tanpa pertukaran
How It Works
  • ·Bandingkan elemen ke-i dengan tetangga kanannya
  • ·Tukar keduanya bila urutannya terbalik
  • ·Ulangi sampai ujung array untuk satu sapuan penuh
  • ·Nilai terbesar kini berada di posisi paling kanan
  • ·Berhenti lebih awal bila satu sapuan berlalu tanpa pertukaran
Real-World Uses
  • ·Menyusun ulang beberapa kartu remi di tangan dengan tukar tetangga
  • ·Merapikan daftar skor pendek yang isinya cuma sedikit

Complexity O(n^2)

COUNTING SORT

SortingPemula
Fase C–FE1E5

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

Complexity O(n + k)

INSERTION SORT

SortingPemula
Fase C–FE1E5

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

Complexity O(n^2)

SELECTION SORT

SortingPemula
Fase C–FE1E5

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

Complexity O(n^2)

Searching2 lessons · Pemula

BINARY SEARCH

SearchingPemula
Fase C–FE1E5

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'

Complexity O(log n)

LINEAR SEARCH

SearchingPemula
Fase C–FE1E5

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

Complexity O(n)

Data Structures4 lessons · Pemula

Balanced Brackets

Data StructuresPemula
Fase C–FE1E5

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.
Prerequisites
  • ·Perulangan pada karakter
  • ·Konsep tumpukan (LIFO)
Real-World Uses
  • ·Pengecek sintaks di editor kode seperti VS Code.
  • ·Validasi rumus dan ekspresi matematika.
  • ·Penguraian (parsing) berkas HTML dan JSON.

Complexity O(panjang teks)

Linked List

Data StructuresPemula
Fase C–FE1E5

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.

Complexity O(1) menyisip atau menghapus bila posisinya diketahui

QUEUE

Data StructuresPemula
Fase C–FE1E5

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.
  • ·Daftar tunggu pesanan ojek dan makanan online.
  • ·Antrean lagu berikutnya di playlist musik.

Complexity O(1) per operasi

STACK

Data StructuresPemula
Fase C–FE1E5

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.

Complexity O(1) per operasi

Recursion1 lessons · Pemula

RECURSIVE TREE

RecursionPemula
Fase C–FE1E5

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

Complexity Tergantung masalah; fraktal pohon O(2^depth) cabang

Graphs1 lessons · Pemula

FLOOD FILL

GraphsPemula
Fase C–FE1E5

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

Complexity O(N) dengan N jumlah sel dalam area

Dynamic Programming1 lessons · Pemula

COIN CHANGE

Dynamic ProgrammingPemula
Fase C–FE1E5

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
How It Works
  • ·Buat tabel dp berukuran nominal + 1, isi dp[0] = 0
  • ·Untuk tiap nilai v dari kecil ke besar, coba semua jenis koin
  • ·Ambil dp[v] = 1 + nilai minimum dari dp[v - koin] yang valid
  • ·Simpan koin mana yang dipakai agar bisa ditelusuri balik
  • ·dp pada nominal akhir adalah jumlah koin minimum
Prerequisites
  • ·Array
  • ·Rekursi atau perulangan
Real-World Uses
  • ·Mesin kasir menghitung kembalian dengan lembar uang paling sedikit
  • ·Fitur split bill membagi tagihan jadi pecahan uang yang praktis
  • ·Menyusun top-up pulsa dari kombinasi voucher termurah

Complexity O(nominal x jumlah jenis koin)

Greedy1 lessons · Pemula

Activity Selection

GreedyPemula
Fase C–FE1E5

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.
  • ·Mengatur pekerjaan pada satu mesin/prosesor.
  • ·Menyusun agenda acara agar tidak bentrok.

Complexity O(n log n) karena pengurutan

Strings2 lessons · Pemula

NAIVE STRING MATCH

StringsPemula
Fase C–FE1E5

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.

Complexity O(n*m)

Run-Length Encoding

StringsPemula
Fase C–FE1E5

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.
  • ·Format ikon dan faks lama.
  • ·Bagian dari format berkas seperti BMP dan PCX.

Complexity O(panjang data)

AI Literacy & Ethics2 lessons · Pemula

AI Must Help, Not Harm

AI Literacy & EthicsPemula
Fase C–FE3E1

Prinsip dasar KA: dibangun untuk menyejahterakan manusia, bukan merugikan. Perancang yang beretika menjaga manfaatnya jauh lebih besar dari bahayanya.

Example use case

AI bantu tunanetra 'melihat' jalan (baik) vs AI yang menipu atau mengucilkan orang (buruk).

Syllabus

AI dibuat untuk membantu manusia. Timbang manfaat vs bahaya; rancang agar tak merugikan.

Objectives
  • ·Memahami prinsip AI untuk kesejahteraan manusia
  • ·Menimbang manfaat dan bahaya sebuah penggunaan AI
  • ·Sikap empati & tidak merugikan orang lain
How It Works
  • ·Tiap AI punya sisi manfaat dan sisi bahaya
  • ·Rancangan beretika memperbesar manfaat, memperkecil bahaya
  • ·Yang merugikan/menipu melanggar prinsip
  • ·Manusia (dan perancang) bertanggung jawab menjaganya
Real-World Uses
  • ·AI bantu disabilitas & kesehatan
  • ·AI deteksi bencana dini
  • ·vs penipuan/manipulasi berbasis AI

Key message AI harus membantu, bukan merugikan. Timbang manfaat vs bahaya.

Smart Machine vs Ordinary Machine

AI Literacy & EthicsPemula
Fase C–FE3E1

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 message Mesin biasa = aturan tetap. Mesin cerdas = pola dari contoh.

Physics7 lessons · Pemula

Archimedes' Principle

PhysicsPemula
Fase C–FE1

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 formula F_apung = ρ_air × V_tercelup × g ; terapung bila F_apung ≥ berat

Pendulum

PhysicsPemula
Fase C–FE1

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.
Prerequisites
  • ·Konsep waktu dan periode
  • ·Akar kuadrat (dasar)
Real-World Uses
  • ·Jam bandul.
  • ·Ayunan di taman bermain.
  • ·Metronom penjaga tempo musik.

Key formula T = 2π√(L/g)

Newton's Second Law

PhysicsPemula
Fase C–FE1

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.
  • ·Ditulis ulang menjadi F = m × a.
Prerequisites
  • ·Konsep gaya
  • ·Pembagian dan perkalian
Real-World Uses
  • ·Truk berat butuh jarak pengereman lebih jauh.
  • ·Mobil balap dibuat ringan agar cepat dipercepat.
  • ·Roket butuh dorongan besar untuk massa besar.

Key formula a = F / m ; F = m × a

Ohm's Law

PhysicsPemula
Fase C–FE1

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.
Prerequisites
  • ·Konsep arus dan tegangan listrik
  • ·Pembagian
Real-World Uses
  • ·Menyalakan LED dengan aman dari pin Arduino.
  • ·Memilih resistor pembatas arus.
  • ·Dasar semua rangkaian elektronik.

Key formula I = V / R (mis. 5V / 250Ω = 20 mA)

Simple Machines

PhysicsPemula
Fase C–FE1

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.
Prerequisites
  • ·Konsep gaya
  • ·Perkalian dan perbandingan
Real-World Uses
  • ·Gerobak dorong dan tuas pembuka botol.
  • ·Katrol sumur dan tiang bendera.
  • ·Bidang miring untuk menaikkan barang berat.

Key formula F_kuasa × lengan_kuasa = F_beban × lengan_beban ; KM = lengan_kuasa/lengan_beban

Series vs Parallel

PhysicsPemula
Fase C–FE1

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).
  • ·Baterai disusun seri untuk tegangan lebih besar.
  • ·Rangkaian listrik rumah dan gedung.

Key formula R_seri = R1 + R2 ; R_paralel = (R1·R2)/(R1+R2)

Torque & Balance

PhysicsPemula
Fase C–FE1

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

Robotics6 lessons · Pemula

Gear Ratio

RoboticsPemula
Fase C–FE1E5

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.
Prerequisites
  • ·Konsep putaran dan kecepatan
  • ·Perbandingan / pecahan
Real-World Uses
  • ·Gigi sepeda (ringan vs berat).
  • ·Transmisi mobil dan motor.
  • ·Gearbox pada lengan dan roda robot.

Key formula rasio = gigi_besar / gigi_kecil; kecepatan ÷ rasio, torsi × rasio

Rotary Encoder

RoboticsPemula
Fase C–FE1E5

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 formula putaran = tick / (tick per putaran) ; jarak = putaran × keliling

Belt & Pulley

RoboticsPemula
Fase C–FE1E5

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.

Syllabus

Sabuk meneruskan putaran antar puli; rasio kecepatan = diameter penggerak / diameter digerakkan.

Objectives
  • ·Memahami transmisi sabuk-puli
  • ·Menghitung rasio dari diameter puli
  • ·Membandingkan dengan roda gigi
How It Works
  • ·Sabuk melilit dua puli pada poros yang berbeda.
  • ·Putaran diteruskan tanpa gigi beradu, bisa melintasi jarak.
  • ·Rasio kecepatan = D_penggerak / D_digerakkan.
  • ·Puli kecil memutar puli besar: lebih lambat tetapi lebih bertenaga.
Prerequisites
  • ·Konsep putaran dan diameter
  • ·Perbandingan
Real-World Uses
  • ·Conveyor pabrik dan mesin cuci.
  • ·Sabuk penggerak mesin motor.
  • ·Alternator dan pompa di mesin mobil.

Key formula rasio = D_penggerak / D_digerakkan

Line Follower

RoboticsPemula
Fase C–FE1E5

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 formula sensor di garis → belok ke arah itu → kembali ke tengah

Ultrasonic Sensor

RoboticsPemula
Fase C–FE1E5

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).
Prerequisites
  • ·Kecepatan, jarak, dan waktu
  • ·Pembagian
Real-World Uses
  • ·Sensor jarak mBot dan robot penghindar tabrakan.
  • ·Sensor parkir mobil.
  • ·Sonar kapal dan ekolokasi kelelawar.

Key formula jarak = (340 m/s × waktu) ÷ 2

Feedback Loop

RoboticsPemula
Fase C–FE1E5

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 formula suhu < target → ON ; suhu > target → OFF

Other3 lessons · Pemula

SNAKE LOGIC

OtherPemula
Fase C–FE1E5

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.

Complexity O(1) per langkah

SPIRAL MATRIX

OtherPemula
Fase C–FE1E5

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.

Complexity O(baris * kolom)

PENALTY SHOOTOUT

OtherPemula
Fase C–FE1

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.

Complexity O(n)