Learn to code · Belajar memprogram
Code · Kode
Write real code and see it run — HTML, CSS, Python, Java, C, SQL, LaTeX, and Linux — with nothing to install. · Tulis kode sungguhan dan lihat jalannya — HTML, CSS, Python, Java, C, SQL, LaTeX, dan Linux — tanpa perlu instalasi apa pun.
17 coursesHTML/CSS · Python · Java · C · SQL · LaTeX · LinuxRuns in your browser · Berjalan di browser Anda
Today's work · Pekerjaan Hari Ini
Foundations · Dasar-dasar
Python Basics
Your very first steps in programming — no experience needed. · Langkah awal Anda dalam pemrograman — tidak perlu pengalaman.
22 Lessons · Pelajaran
Python Basics
Your very first steps in programming — no experience needed. · Langkah awal Anda dalam pemrograman — tidak perlu pengalaman.
Course overview and progress →
00
Run it! · Jalankan!
Your first program · Program pertamamu
Variables · Variabel
Numbers & operators · Angka & operator
Getting input · Mendapatkan input
Working with strings · Bekerja dengan string
Project: Mad Libs · Proyek: Mad Libs
Making decisions · Mengambil keputusan
Counting loops · Menghitung loop
While loops · Loop While
Project: Guess the number · Proyek: Tebak angka
Lists (1-D arrays) · Daftar (array 1-D)
Project: Quiz with a score · Proyek: Kuis dengan skor
Functions · Fungsi
Project: Rock, paper, scissors · Proyek: Batu, kertas, gunting
Scope & arguments · Skop & argumen
Dictionaries (records) · Diksi (rekaman)
Project: Text adventure · Proyek: Petualangan teks
Planning & pseudocode · Perencanaan & pseudocode
Errors & testing · Kesalahan & pengujian
Putting it all together · Menyatukan semuanya
Project: Hangman · Proyek: Hangman
A short history of Python · Sejarah singkat Python
What Python is used for · Apa Python digunakan untuk
Where to learn more · Di mana untuk belajar lebih lanjut
Set up your computer · Siapkan komputer Anda
Where to learn more · Di mana untuk belajar lebih lanjut
- freeCodeCamp — Learn Python · freeCodeCamp — Pelajari Python Free, hands-on Python certification · Sertifikasi Python gratis dan praktis
- PyChallenger Learn Python by solving bite-size challenges · Pelajari Python dengan memecahkan tantangan kecil-kecil
- CodeCombat Learn to code by playing a real game · Belajar coding dengan bermain game sungguhan
- Official Python Tutorial · Tutorial Resmi Python The clear, free, step-by-step intro from python.org · Pengenalan langkah demi langkah yang jelas dan gratis dari python.org
- Python for Everybody (free course) · Python for Everybody (kursus gratis) A beloved beginner course by Dr. Chuck · Kursus pemula favorit oleh Dr. Chuck
- Visual Studio Code The free editor for writing Python on your own computer · Editor gratis untuk menulis Python di komputer Anda sendiri
- A-Level Computer Science (this site) · A-Level Computer Science (situs ini) Take Python further, toward the Cambridge exam · Maju lebih jauh dengan Python, menuju ujian Cambridge
- AP CS Principles (this site) · AP CS Principles (situs ini) The big ideas of computing, in Python · Gagasan-gagasan besar komputasi, dalam Python
JavaScript
The language of the web. Make things happen — runs right in your browser. · Bahasa web. Buat sesuatu terjadi — berjalan langsung di browser Anda.
15 Lessons · Pelajaran
JavaScript
The language of the web. Make things happen — runs right in your browser. · Bahasa web. Buat sesuatu terjadi — berjalan langsung di browser Anda.
Course overview and progress →
A short history of JavaScript · Sejarah singkat JavaScript
What JavaScript is used for · Apa yang digunakan JavaScript untuk
Where to learn more · Di mana untuk belajar lebih lanjut
Run JavaScript anywhere · Jalankan JavaScript di mana saja
console.log and comments · console.log dan komentar
Variables — let and const · Variabel — let dan const
Numbers and maths · Angka dan matematika
Strings · String
Template literals · Template literal
Booleans and comparisons · Boolean dan perbandingan
if / else
for loops · loop for
while loops · loop while
Functions · Fungsi
Arrow functions · Fungsi panah
Arrays · Array
Array methods · Metode Array
Objects · Objek
Putting it together · Menggabungkannya
Where to learn more · Di mana untuk belajar lebih lanjut
- Web Basics — HTML & CSS (this site) · Dasar Web — HTML & CSS (situs ini) Build the page; JavaScript makes it move · Bangun halaman; JavaScript membuatnya bergerak
- MDN — JavaScript The reference every web developer uses · Referensi yang digunakan setiap pengembang web
C Programming · Pemrograman C
From printf to pointers, memory, and data structures — compile and run in your browser. · Dari printf hingga pointer, memori, dan struktur data — kompilasi dan jalankan di browser Anda.
23 Lessons · Pelajaran
C Programming · Pemrograman C
From printf to pointers, memory, and data structures — compile and run in your browser. · Dari printf hingga pointer, memori, dan struktur data — kompilasi dan jalankan di browser Anda.
Course overview and progress →
A short history of C · Sejarah singkat C
What C is used for · Apa C digunakan untuk
Where to learn more · Di mana untuk belajar lebih lanjut
Set up your computer · Siapkan komputer Anda
C basics: main, printf, and functions · Dasar C: main, printf, dan fungsi
Variables, types, and arithmetic · Variabel, tipe, dan aritmatika
Booleans and selection: if, else, switch · Boolean dan seleksi: if, else, switch
Loops: while, for, and accumulation · Perulangan: while, for, dan akumulasi
Functions, parameters, and return values · Fungsi, parameter, dan nilai pengembalian
Nested loops and patterns · Perulangan bersarang dan pola
1-D arrays: store, index, and traverse · Array 1-D: simpan, indeks, dan jelajahi
Pointers: &, *, and pass-by-pointer · Pointer: &, *, dan pass-by-pointer
Strings: char arrays and the null terminator · String: array char dan terminator null
Array algorithms: max, count, search, average · Algoritma array: maksimum, hitung, cari, rata-rata
2-D arrays: working with a grid · Array 2-D: bekerja dengan grid
Searching: linear and binary · Pencarian: linear dan biner
Sorting: bubble, selection, and insertion · Pengurutan: gelembung (*bubble*), seleksi, dan sisip
Recursion: base case and recursive case · Resursif: kasus dasar dan kasus rekursif
Structs and typedef: . vs ->
Dynamic memory: malloc, free, and realloc · Memori dinamis: malloc, free, dan realloc
Linked lists · Daftar terhubung (Linked lists)
Stacks and queues (array-backed) · Tumpukan dan antrean (berbasis array)
Text files: write then read · File teks: tulis lalu baca
Error handling with return codes · Penanganan kesalahan dengan kode pengembalian
Bits, binary, and bitwise operators · Bit, biner, dan operator bitwise
Run-length encoding (compression) · Pengkodean panjang-lari (kompresi)
Preprocessor, const, static, and enum · Preprocessor, const, static, dan enum
Where to learn more · Di mana untuk belajar lebih lanjut
- Learn-C.org Free, hands-on C lessons you run in the browser · Pelajaran C gratis, berbasis praktik, yang dijalankan di browser
- Exercism — C track · Exercism — lintasan C Small exercises with friendly mentor feedback · Latihan kecil dengan umpan balik mentor yang ramah
- HackerRank — C Practice problems, from easy to hard · Soal latihan, dari mudah hingga sulit
- cppreference — C The careful, free reference for every C function · Referensi teliti dan gratis untuk setiap fungsi C
- The C Programming Language (K&R) · Bahasa Pemrograman C (K&R) The classic book by the makers of C · Buku klasik oleh pencipta C
- Visual Studio Code The free editor for writing C on your own computer · Editor gratis untuk menulis C di komputer Anda sendiri
- C practice problems (this site) · Soal latihan C (situs ini) Extra C challenges to test yourself · Tantangan C tambahan untuk menguji diri sendiri
- AP CS A (this site) · AP CS A (situs ini) Learn Java, another close cousin of C · Belajar Java, kerabat dekat lainnya dari C
Web Basics — HTML & CSS · Dasar Web — HTML & CSS
Start from zero. Short steps. Build a real web page. · Mulai dari nol. Langkah-langkah singkat. Bangun halaman web nyata.
21 Lessons · Pelajaran
Web Basics — HTML & CSS · Dasar Web — HTML & CSS
Start from zero. Short steps. Build a real web page. · Mulai dari nol. Langkah-langkah singkat. Bangun halaman web nyata.
Course overview and progress →
A short history of the web · Sejarah singkat web
What a web page is made of · Apa saja penyusun halaman web
Where to learn more · Di mana untuk belajar lebih lanjut
What you need (almost nothing) · Yang Anda butuhkan (hampir tidak ada)
Your first web page · Halaman web pertama Anda
Headings and paragraphs
Bold, italic and line breaks · Bold, italic, dan baris baru
Lists · Daftar
Links
Images · Gambar
Make it a real page · Jadikan halaman ini sebagai halaman nyata
Comments and neat nesting
Tables · Tabel
Forms · Bentuk-bentuk
Boxes and sections · Kotak dan bagian
Add some style · Tambahkan sedikit gaya
Selectors — class and id · Pemilih — class dan id
Colours and backgrounds · Warna dan latar belakang
Styling text · Gaya teks
The box model · Model kotak
Spacing — margin and padding · Spasi — margin dan padding
Showing and hiding (display) · Menampilkan dan menyembunyikan (display)
Width and centering · Lebar dan perataan tengah
Rows with Flexbox · Baris dengan Flexbox
Mini-project: a profile card · Proyek mini: kartu profil
Where to learn more · Di mana untuk belajar lebih lanjut
- MDN — Learn web development · MDN — Pelajari pengembangan web The clear, free reference from Mozilla · Referensi jelas dan gratis dari Mozilla
- web.dev — Learn HTML · web.dev — Pelajari HTML A free, modern HTML course from Google · Kursus HTML modern dan gratis dari Google
- web.dev — Learn CSS · web.dev — Pelajari CSS A free, modern CSS course from Google · Kursus CSS modern dan gratis dari Google
- freeCodeCamp — Responsive Web Design · freeCodeCamp — Desain Web Responsif Free, hands-on HTML + CSS certification · Sertifikasi HTML + CSS gratis dan berbasis praktik langsung
- W3Schools — HTML Tutorial · W3Schools — Tutorial HTML Try-it-yourself examples for every tag · Contoh coba-coba sendiri untuk setiap tag
- Python Basics (this site) · Dasar Python (situs ini) New to coding? Try Python next · Baru belajar coding? Coba Python berikutnya
Exam courses · Kursus Ujian
Python for IGCSE CS · Python untuk IGCSE CS
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Pemrograman, algoritma, database dan logika untuk Cambridge IGCSE 0478.
14 Lessons · Pelajaran
Python for IGCSE CS · Python untuk IGCSE CS
Programming, algorithms, databases and logic for Cambridge IGCSE 0478. · Pemrograman, algoritma, database dan logika untuk Cambridge IGCSE 0478.
Course overview and progress →
Sequence, input & output · Urutan, input & output
Variables, constants & data types · Variabel, konstanta & tipe data
Selection — IF and CASE · Pemilihan — IF dan CASE
Iteration — loops · Iterasi — loop
Totalling & counting · Penjumlahan & penghitungan
Procedures & functions · Prosedur & fungsi
Validation & verification · Validasi & verifikasi
1-D arrays (lists) · Array 1-D (daftar)
2-D arrays · Array 2-D
Searching & max / min · Pencarian & max / min
Bubble sort
Text files · File teks
Databases & SQL · Database & SQL
Boolean logic & truth tables · Logika Boolean & tabel kebenaran
Where to learn more · Di mana untuk belajar lebih lanjut
- IGCSE CS handouts (this site) · Lembar kerja IGCSE CS (situs ini) Read the theory behind these topics — exam revision · Baca teori di balik topik-topik ini—persiapan ujian
- IGCSE CS Pseudocode (this site) · Pseudocode CS IGCSE (situs ini) The 0478 exam writes algorithms in pseudocode — practise it here · Ujian 0478 menulis algoritma dalam pseudocode — latihlah di sini
- Cambridge IGCSE Computer Science 0478 The official syllabus and past papers · Syllabus resmi dan soal-soal masa lalu
IGCSE CS Pseudocode · Pseudocode IGCSE CS
Write and run the pseudocode in the Cambridge IGCSE 0478 syllabus for 2026, 2027 and 2028. · Tulis dan jalankan pseudocode dalam kurikulum Cambridge IGCSE 0478 untuk tahun 2026, 2027, dan 2028.
19 Lessons · Pelajaran
IGCSE CS Pseudocode · Pseudocode IGCSE CS
Write and run the pseudocode in the Cambridge IGCSE 0478 syllabus for 2026, 2027 and 2028. · Tulis dan jalankan pseudocode dalam kurikulum Cambridge IGCSE 0478 untuk tahun 2026, 2027, dan 2028.
Course overview and progress →
OUTPUT and sequence · OUTPUT dan urutan
Variables, DECLARE and CONSTANT · Variabel, DECLARE dan CONSTANT
INPUT and data types · INPUT dan tipe data
Arithmetic, DIV and MOD · Aritmatika, DIV dan MOD
Selection: IF · Seleksi: IF
Selection: CASE · Seleksi: CASE
Iteration: FOR · Iterasi: FOR
Iteration: WHILE and REPEAT · Iterasi: WHILE dan REPEAT
String handling · Penanganan string
1-D arrays · Array 1-D
2-D arrays · Array 2-D
Procedures · Prosedur
Functions · Fungsi
Putting it together · Menggabungkannya
Text files · File teks
16
Logic: AND, OR, NOT · Logika: AND, OR, NOT
17
Nested decisions · Keputusan bersarang
18
ROUND, RANDOM and a trace · ROUND, RANDOM, dan jejak
19
Bubble sort
Where to learn more · Di mana untuk belajar lebih lanjut
- Pseudocode handout (this site) · Lembar kerja pseudocode (situs ini) The 0478 appendix for 2026–2028, with every example runnable · Lampiran 0478 untuk 2026–2028, dengan setiap contoh yang dapat dijalankan
- Python for IGCSE CS (this site) · Python untuk IGCSE CS (situs ini) The same ideas, written in Python you can run · Ide yang sama, ditulis dalam Python yang dapat Anda jalankan
- IGCSE CS handouts (this site) · Lembar kerja IGCSE CS (situs ini) Algorithm design and programming theory · Perancangan algoritma dan teori pemrograman
- AS-level CS Pseudocode (this site) · Pseudocode CS AS-level (situs ini) The 9618 guide, for the AS paper — different rules · Panduan 9618, untuk kertas AS — aturan berbeda
Python for A-Level CS · Python untuk CS A-Level
Data structures, algorithms, and OOP for Cambridge 9618. · Struktur data, algoritma, dan OOP untuk Cambridge 9618.
15 Lessons · Pelajaran
Python for A-Level CS · Python untuk CS A-Level
Data structures, algorithms, and OOP for Cambridge 9618. · Struktur data, algoritma, dan OOP untuk Cambridge 9618.
Course overview and progress →
Nested loops & 2-D lists · Perulangan bersarang & daftar 2-D
Text files · File teks
Exceptions · Pengecualian
Stacks · Tumpukan (Stacks)
Queues · Antrian (Queues)
Linked lists · Daftar terhubung (Linked lists)
Searching · Pencarian
Sorting · Pengurutan
Recursion
Classes & objects · Kelas & objek
Inheritance & encapsulation
Programming paradigms · Paradigma pemrograman
Hash tables · Tabel hash
Binary search trees · Pohon pencarian biner (BST)
Graphs · Graf
Where to learn more · Di mana untuk belajar lebih lanjut
- AS-level CS Pseudocode (this site) · Pseudocode CS AS-level (situs ini) The 9618 exam writes algorithms in pseudocode — practise it here · Ujian 9618 menulis algoritma dalam pseudocode—berlatihlah di sini
- Pseudocode handout (this site) · Lembar kerja pseudocode (situs ini) Every construct, and where 9618 differs from 0478 · Setiap konstruk, dan di mana 9618 berbeda dari 0478
- A-Level CS handouts (this site) · Lembar kerja CS A-Level (situs ini) Read the theory behind these topics — exam revision · Baca teori di balik topik-topik ini—persiapan ujian
AS-level CS Pseudocode · Pseudocode CS AS-level
Write and run the pseudocode in the Cambridge 9618 guide for exams in 2026, and for 2027, 2028 and 2029. · Tulis dan jalankan pseudocode dalam panduan Cambridge 9618 untuk ujian tahun 2026, serta untuk tahun 2027, 2028, dan 2029.
19 Lessons · Pelajaran
AS-level CS Pseudocode · Pseudocode CS AS-level
Write and run the pseudocode in the Cambridge 9618 guide for exams in 2026, and for 2027, 2028 and 2029. · Tulis dan jalankan pseudocode dalam panduan Cambridge 9618 untuk ujian tahun 2026, serta untuk tahun 2027, 2028, dan 2029.
Course overview and progress →
OUTPUT and sequence · OUTPUT dan urutan
Variables and DECLARE · Variabel dan DECLARE
Types and constants · Tipe dan konstanta
Arithmetic, DIV and MOD · Aritmatika, DIV dan MOD
Selection: IF · Seleksi: IF
Selection: CASE · Seleksi: CASE
Iteration: FOR · Iterasi: FOR
Iteration: WHILE and REPEAT · Iterasi: WHILE dan REPEAT
String handling · Penanganan string
1-D arrays · Array 1-D
2-D arrays · Array 2-D
Procedures and BYREF · Prosedur dan BYREF
Functions · Fungsi
Records · Catatan (Records)
Text files · File teks
Putting it together · Menggabungkannya
17
Linear search and bubble sort · Pencarian linear dan bubble sort
18
Built-in functions from the insert · Fungsi bawaan dari *insert*
19
Logic: AND, OR, NOT · Logika: AND, OR, NOT
Where to learn more · Di mana untuk belajar lebih lanjut
- Pseudocode handout (this site) · Lembar kerja pseudocode (situs ini) Topic 11 is where the 9618 guide differs from IGCSE 0478 · Topik 11 adalah bagian di mana panduan 9618 berbeda dari IGCSE 0478
- Python for A-Level CS (this site) · Python untuk CS A-Level (situs ini) The same ideas, written in Python you can run · Ide yang sama, ditulis dalam Python yang dapat Anda jalankan
- A-Level CS handouts (this site) · Lembar kerja CS A-Level (situs ini) Programming and data structures for 9618 · Pemrograman dan struktur data untuk 9618
- IGCSE CS Pseudocode (this site) · Pseudocode CS IGCSE (situs ini) The 0478 rules for 2026–2028 — they are not the same · Aturan 0478 untuk periode 2026–2028 — mereka tidak sama
Python for AP CS Principles · Python untuk Prinsip CS AP
Big ideas of computing — data, algorithms, the Internet, and impact. · Gagasan besar komputasi — data, algoritma, Internet, dan dampak.
15 Lessons · Pelajaran
Python for AP CS Principles · Python untuk Prinsip CS AP
Big ideas of computing — data, algorithms, the Internet, and impact. · Gagasan besar komputasi — data, algoritma, Internet, dan dampak.
Course overview and progress →
What computing is · Apa itu komputasi
Bits and binary · Bit dan biner
Data compression · Kompresi data
Variables and expressions · Variabel dan ekspresi
Lists and data abstraction · List dan abstraksi data
Selection · Seleksi
Iteration · Iterasi
Procedures and abstraction · Prosedur dan abstraksi
Algorithms: searching · Algoritma: pencarian
Randomness and simulation · Keacakan dan simulasi
Algorithmic efficiency · Efisiensi algoritma
The Internet and how data travels · Internet dan cara data bergerak
Parallel and distributed computing · Komputasi paralel dan terdistribusi
Impact of computing · Dampak komputasi
The Create Performance Task (guided) · Tugas Buat Kinerja (terpandu)
Java for AP CS A · Java untuk AP CS A
Java programming for the AP Computer Science A exam. · Pemrograman Java untuk ujian AP Computer Science A.
19 Lessons · Pelajaran
Java for AP CS A · Java untuk AP CS A
Java programming for the AP Computer Science A exam. · Pemrograman Java untuk ujian AP Computer Science A.
Course overview and progress →
A short history of Java · Sejarah singkat Java
What Java is used for · Apa Java digunakan untuk
Where to learn more · Di mana untuk belajar lebih lanjut
Set up your computer · Siapkan komputer Anda
Java basics: classes, main, and output · Dasar-dasar Java: kelas, main, dan output
Using objects: String, Math, and wrappers · Menggunakan objek: String, Math, dan wrapper
Booleans and selection: if/else and logic · Boolean dan seleksi: if/else dan logika
Loops: while, for, and accumulation · Perulangan: while, for, dan akumulasi
Strings and nested loops · String dan perulangan bersarang
Writing a class: fields, constructor, methods · Menulis kelas: bidang, konstruktor, metode
Encapsulation: private fields, getters, setters · Enkapsulasi: bidang privat, getter, setter
1-D arrays: store, index, and traverse · Array 1-D: simpan, indeks, dan jelajahi
Array algorithms: max, count, search, average · Algoritma array: maksimum, hitung, cari, rata-rata
ArrayList: a list that grows · ArrayList: daftar yang membesar
ArrayList algorithms: filter and the remove bug · Algoritma ArrayList: filter dan bug penghapusan
2-D arrays: working with a grid · Array 2-D: bekerja dengan grid
Searching: linear and binary · Pencarian: linear dan biner
Sorting: selection and insertion sort · Pengurutan: seleksi dan sisipan
Recursion: base case and recursive case · Resursif: kasus dasar dan kasus rekursif
Text files: write and read with Scanner · File teks: tulis dan baca dengan Scanner
Inheritance: extends, super, and overriding · Pewarisan: extends, super, dan overriding
Polymorphism: dynamic dispatch and toString() · Polimorfisme: penyaluran dinamis dan toString()
FRQ workshop: the 4 question types · Workshop FRQ: 4 jenis pertanyaan
Where to learn more · Di mana untuk belajar lebih lanjut
- Exercism — Java track · Exercism — lintasan Java Free coding exercises with friendly feedback · Latihan pemrograman gratis dengan umpan balik ramah
- CodinGame Learn Java by solving fun coding games · Pelajari Java dengan memecahkan permainan kode yang menyenangkan
- HackerRank — Java Short challenges, from easy to hard · Tantangan singkat, dari mudah hingga sulit
- dev.java (official) · dev.java (resmi) The official Java site, with clear guides for learners · Situs resmi Java, dengan panduan jelas untuk pembelajar
- The Java Tutorials · Tutorial Java Oracle's step-by-step lessons · Pelajaran bertahap dari Oracle
- Visual Studio Code The free editor for writing Java on your own computer · Editor gratis untuk menulis Java di komputer Anda sendiri
- Java practice problems (this site) · Soal latihan Java (situs ini) Exam-style questions to test your Java · Soal bergaya ujian untuk menguji kemampuan Java Anda
- AP CS Principles (this site) · AP CS Principles (situs ini) The big ideas of computing, in Python · Gagasan-gagasan besar komputasi, dalam Python
Topics & tools · Topik & Alat
Databases & SQL · Database & SQL
Query, design, and change relational databases — right in your browser, no setup. · Query, design, and change relational databases — langsung di browser Anda, tanpa setup.
17 Lessons · Pelajaran
Databases & SQL · Database & SQL
Query, design, and change relational databases — right in your browser, no setup. · Query, design, and change relational databases — langsung di browser Anda, tanpa setup.
Course overview and progress →
A short history of SQL · Sejarah singkat SQL
What SQL is used for · Apa SQL digunakan untuk
Where to learn more · Di mana untuk belajar lebih lanjut
Set up your computer · Siapkan komputer Anda
Databases and SELECT · Database dan SELECT
Choosing columns · Memilih kolom
Filtering with WHERE · Menyaring dengan WHERE
AND, OR, NOT
Sorting with ORDER BY · Pengurutan dengan ORDER BY
Counting and averaging · Menghitung dan rata-rata
LIKE, IN and BETWEEN · LIKE, IN dan BETWEEN
Grouping with GROUP BY · Pengelompokan dengan GROUP BY
Tables, keys and relationships · Tabel, kunci, dan relasi
INNER JOIN
Joins with grouping · Joins dengan grouping
Creating tables · Membuat tabel
Changing the schema · Mengubah skema
Inserting rows · Memasukkan baris
Updating rows · Memperbarui baris
Deleting rows · Menghapus baris
Normalisation · Normalisasi
Where to learn more · Di mana untuk belajar lebih lanjut
- SQLBolt Learn SQL step by step with interactive exercises · Pelajari SQL langkah demi langkah dengan latihan interaktif
- SQLZoo Practice real queries on real tables in your browser · Latihan query nyata pada tabel nyata di browser Anda
- Mode SQL Tutorial A friendly, hands-on tutorial from basic to advanced · Tutorial ramah dan hands-on dari dasar hingga lanjutan
- W3Schools SQL Short, clear pages for every SQL keyword · Halaman singkat dan jelas untuk setiap kata kunci SQL
- PostgreSQL Tutorial A thorough guide using a popular database · Panduan menyeluruh menggunakan database populer
- SQLite documentation · Dokumentasi SQLite The official docs for the database this course uses · Dokumen resmi untuk database yang digunakan kursus ini
- A-Level Computer Science (this site) · A-Level Computer Science (situs ini) Includes a unit on databases and SQL · Termasuk unit tentang database dan SQL
Linux & the command line · Linux & baris arahan
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · Kendalikan komputer dengan menaip. Latih perintah shell sebenar dalam terminal dalam pelayar web yang selamat.
14 Lessons · Pelajaran
Linux & the command line · Linux & baris arahan
Drive a computer by typing. Practise real shell commands in a safe in-browser terminal. · Kendalikan komputer dengan menaip. Latih perintah shell sebenar dalam terminal dalam pelayar web yang selamat.
Course overview and progress →
What is Linux? · Apa itu Linux?
Why learn the command line? · Mengapa belajar baris arahan?
Helpful resources · Sumber daya bermanfaat
Get a real terminal · Dapatkan terminal sebenar
01
The shell and the prompt · Shell dan prompt
02
Moving around · Bergerak
03
Reading files · Membaca file
04
Creating and removing · Membuat dan menghapus
05
Wildcards · Wildcard
06
Saving output to files · Menyimpan output ke file
07
Pipes — joining commands · Pipe — menggabungkan perintah
08
Searching with grep · Mencari dengan grep
09
Finding files with find · Menemukan file dengan find
10
Sorting and columns · Mengurutkan dan kolom
11
File permissions · Izin file
12
Users and sudo · Pengguna dan sudo
13
Programs and processes · Program dan proses
14
Software, settings, next steps · Perisian, tetapan, langkah seterusnya
Where to learn more · Di mana untuk belajar lebih lanjut
- explainshell Paste a command, see what every part does · L tampalkan sebuah perintah, lihat apa yang dilakukan oleh setiap bahagian
- The man pages · Halaman man The official manual for every command · Manual rasmi untuk setiap perintah
- tldr pages · halaman tldr Short, practical examples instead of long manuals · Contoh ringkas dan praktikal sebagai gantian manual panjang
- OverTheWire: Bandit Learn the shell by playing a hacking game · Pelajari shell dengan bermain permainan penembakan
- Linux Journey A friendly, free Linux course · Kursus Linux mesra dan percuma
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · Cetak dokumen dan matematika yang indah — tulis LaTeX, kompilasi di server kami, lihat PDF-nya.
14 Lessons · Pelajaran
LaTeX
Typeset beautiful documents and maths — write LaTeX, compile on our servers, see the PDF. · Cetak dokumen dan matematika yang indah — tulis LaTeX, kompilasi di server kami, lihat PDF-nya.
Course overview and progress →
What is LaTeX? · Apa itu LaTeX?
Where LaTeX is used · Di mana LaTeX digunakan
Helpful resources · Sumber daya bermanfaat
Use LaTeX on your own computer · Gunakan LaTeX di komputer Anda sendiri
01
Your first document · Dokumen pertama Anda
02
Sections and titles · Bagian dan judul
03
Bold, italic and emphasis · Tebal, miring dan penekanan
04
Bulleted and numbered lists · Daftar berpoin dan bernomor
05
Maths — your first formula · Matematika — rumus pertama Anda
06
Fractions, roots and sums · Pecahan, akar, dan penjumlahan
07
Aligning equations · Menyelaraskan persamaan
08
Tables · Tabel
09
Drawing with TikZ · Menggambar dengan TikZ
10
Labels and cross-references · Label dan referensi silang
11
Citations and bibliography · Sitasi dan daftar pustaka
12
Page layout and margins · Tata letak halaman dan margin
13
Colour and links · Warna dan tautan
14
Capstone: a one-page report · Proyek akhir: laporan satu halaman
Where to learn more · Di mana untuk belajar lebih lanjut
- Overleaf Write and compile LaTeX in your browser — no install · Tulis dan kompilasi LaTeX di browser Anda — tanpa instalasi
- Learn LaTeX in 30 minutes · Pelajari LaTeX dalam 30 menit Overleaf's friendly getting-started guide · Panduan permulaan ramah Overleaf
- Detexify Draw a symbol, get its LaTeX command · Gambar simbol, dapatkan perintah LaTeX-nya
- CTAN The archive of LaTeX packages · Arsip paket LaTeX
Cyber security · Keamanan siber
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · Bagaimana serangan bekerja dan cara menghentikannya — cipher, hashing, dan komputasi aman, praktik langsung.
16 Lessons · Pelajaran
Cyber security · Keamanan siber
How attacks work and how to stop them — ciphers, hashing, and safe computing, hands-on. · Bagaimana serangan bekerja dan cara menghentikannya — cipher, hashing, dan komputasi aman, praktik langsung.
Course overview and progress →
What is cyber security? · Apa itu keamanan siber?
Why it matters · Mengapa itu penting
Helpful resources · Sumber daya bermanfaat
Nothing to install · Tidak perlu instalasi
01
Security, privacy and integrity · Keamanan, privasi, dan integritas
02
Malware
03
Attacks and brute force · Serangan dan brute force
04
Social engineering · Rekayasa sosial
05
Defending a system · Mempertahankan sistem
06
Passwords and authentication · Kata sandi dan autentikasi
07
Storing passwords safely · Menyimpan kata sandi dengan aman
08
Encoding is not encryption · Pengkodean bukan enkripsi
09
Symmetric encryption · Enkripsi simetris
10
Asymmetric encryption · Enkripsi asimetris
11
Hashing and digital signatures · Hashing dan tanda tangan digital
12
HTTPS, SSL/TLS and certificates · HTTPS, SSL/TLS dan sertifikat
13
Data integrity · Integritas Data
14
SQL injection · Injeksi SQL
15
Access control and least privilege · Kontrol akses dan hak minimum
16
Ethics, law and staying safe · Etika, hukum dan tetap aman
Where to learn more · Di mana untuk belajar lebih lanjut
- A-Level CS security handouts (this site) · Lembar kerja keamanan A-Level CS (situs ini) Topics 6 Security, 7 Ethics, 17 Encryption — exam revision · Topik 6 Keamanan, 7 Etika, 17 Enkripsi — ujian tinjauan
- IGCSE CS handouts (this site) · Lembar kerja IGCSE CS (situs ini) Topics 2.3 Encryption and 5.3 Cyber security · Topik 2.3 Enkripsi dan 5.3 Keamanan Siber
- OWASP Top 10 The most common web security risks, explained · Risiko keamanan web paling umum, dijelaskan
- picoCTF Learn security by solving fun challenges · Pelajari keamanan dengan menyelesaikan tantangan seru
- Have I Been Pwned Check if your email appeared in a data breach · Periksa apakah email Anda muncul dalam pelanggaran data
Practice · Latihan
Sharpen your skills with challenges from 1★ to 5★. Pick a language. · Rajinlah keterampilan Anda dengan tantangan dari 1★ hingga 5★. Pilih bahasa.
01
Print a word · Cetak satu perkataan
★☆☆☆☆
02
Print another word · Cetak satu perkataan lagi
★☆☆☆☆
03
Print a sentence · Cetak satu ayat
★☆☆☆☆
04
Print with a ! · Cetak dengan !
★☆☆☆☆
05
Print two lines · Cetak dua baris
★☆☆☆☆
06
Print three lines · Cetak tiga baris
★☆☆☆☆
07
Print a number · Cetak satu nombor
★☆☆☆☆
08
Print a bigger number · Cetak angka yang lebih besar
★☆☆☆☆
09
Add two numbers · Tambah dua nombor
★☆☆☆☆
10
Add bigger numbers · Tambahkan angka yang lebih besar
★☆☆☆☆
11
Subtract · Tolak
★☆☆☆☆
12
Multiply · Darab
★☆☆☆☆
13
Divide · Bagi
★☆☆☆☆
14
Remainder · Baki
★☆☆☆☆
15
Use a variable · Gunakan variabel
★☆☆☆☆
16
A number variable · Pembolehubah nombor
★☆☆☆☆
17
Change a variable · Ubah nilai variabel
★☆☆☆☆
18
Add two variables · Tambah dua pembolehubah
★☆☆☆☆
19
Multiply two variables · Darab dua pembolehubah
★☆☆☆☆
20
Join two words · Gabungkan dua kata
★☆☆☆☆
21
Greet a name · Sapa seseorang dengan namanya
★☆☆☆☆
22
Repeat text · Ulangi teks
★☆☆☆☆
23
Ask for a name · Minta nama
★☆☆☆☆
24
Echo a number · Gema angka
★☆☆☆☆
105
Call a function · Panggil sebuah fungsi
★☆☆☆☆
106
Use what it gives back · Gunakan nilai yang dikembalikan
★☆☆☆☆
107
Finish the function · Selesaikan definisi fungsi
★☆☆☆☆
108
Write one yourself · Tulis sendiri satu fungsi
★★☆☆☆
25
Your first function · Fungsi pertama anda
★☆☆☆☆
26
Is it positive? · Adakah ia positif?
★☆☆☆☆
27
The bigger one · Yang lebih besar
★☆☆☆☆
28
The last item · Item terakhir
★☆☆☆☆
29
Is it even? · Apakah genap?
★☆☆☆☆
30
Sum a list · Jumlahkan daftar
★☆☆☆☆
31
Reverse a string · Balikkan string
★★☆☆☆
32
Count the vowels · Hitung huruf vokal
★★☆☆☆
33
FizzBuzz
★★★☆☆
34
Letter frequencies · Frekuensi huruf
★★★☆☆
35
Remove duplicates · Hapus duplikat
★★★☆☆
36
Second largest · Nilai terbesar kedua
★★★☆☆
37
Group anagrams · Kelompokkan anagram
★★★★☆
38
Flatten a nested list · Ratakan daftar bersarang
★★★★☆
39
RPN calculator · Kalkulator RPN
★★★★★
40
Run-length encoding · Pengkodean panjang rentang
★★★★★
41
Count to ten · Menghitung hingga sepuluh
★★☆☆☆
42
Even numbers · Angka genap
★★☆☆☆
43
Liftoff
★★☆☆☆
44
Star triangle · Segitiga bintang
★★☆☆☆
45
The 3 times table · Tabel kali 3
★★☆☆☆
46
Running total · Total berjalan
★★★☆☆
47
Largest without max · Terbesar tanpa max
★★★☆☆
48
Smallest without min · Terkecil tanpa min
★★★☆☆
49
Count the positives · Hitung yang positif
★★☆☆☆
50
Average of a list · Rata-rata sebuah daftar
★★★☆☆
51
Add up 1 to 100 · Jumlahkan 1 sampai 100
★★☆☆☆
52
Upside-down triangle · Segitiga terbalik
★★☆☆☆
53
FizzBuzz with 4 and 6 · FizzBuzz dengan 4 dan 6
★★★☆☆
54
Until you type stop · Hingga Anda mengetik stop
★★★☆☆
55
A list of squares · Daftar kuadrat
★★☆☆☆
56
Count a value · Hitung suatu nilai
★★☆☆☆
57
Keep the evens · Simpan yang genap
★★☆☆☆
58
Find the position · Temukan posisi
★★★☆☆
59
Smallest and largest · Terkecil dan terbesar
★★★☆☆
60
Above average · Di atas rata-rata
★★★☆☆
61
Binary to denary · Biner ke desimal
★★★★☆
62
Denary to binary · Desimal ke biner
★★★★☆
63
Digital root · Akar digital
★★★★☆
64
Caesar cipher · Kiper Caesar
★★★★☆
65
Bank account · Rekening bank
★★★★☆
66
Transpose a grid · Transposisi grid
★★★★☆
67
Most common word · Kata paling umum
★★★★★
68
Sieve of Eratosthenes · Saringan Eratosthenes
★★★★★
69
A row of Pascal's triangle · Baris segitiga Pascal
★★★★★
70
Tic-tac-toe winner · Pemenang tic-tac-toe
★★★★★
71
Is it big? · Apakah itu besar?
★☆☆☆☆
72
Pass or fail · Lulus atau gagal
★☆☆☆☆
73
Positive, negative or zero · Positif, negatif, atau nol
★☆☆☆☆
74
The bigger number · Angka yang lebih besar
★☆☆☆☆
75
Even or odd · Genap atau ganjil
★☆☆☆☆
76
Is it in range? · Apakah itu dalam rentang?
★★☆☆☆
77
Free entry · Masuk gratis
★★☆☆☆
78
Grade letter · Huruf nilai
★★☆☆☆
79
Divisible by both · Dapat dibagi keduanya
★★☆☆☆
80
Ticket price · Harga tiket
★★☆☆☆
81
Finish the countdown · Selesaikan hitungan mundur
★☆☆☆☆
82
The loop that never ends · Perulangan yang tidak pernah berhenti
★☆☆☆☆
83
Count up to five · Hitung naik hingga lima
★☆☆☆☆
84
Add up to five · Jumlahkan hingga lima
★☆☆☆☆
85
Double until it passes 100 · Gandakan hingga melewati 100
★★☆☆☆
86
Stop at the first over fifty · Berhenti pada yang pertama melebihi lima puluh
★★☆☆☆
87
Count down in twos · Hitung mundur dalam dua
★★☆☆☆
88
Until they type stop · Hingga mereka mengetik stop
★★☆☆☆
89
How many halvings? · Berapa banyak pembagian?
★★☆☆☆
90
A row of the times table · Baris dari tabel perkalian
★★☆☆☆
91
The first letter · Huruf pertama
★☆☆☆☆
92
The last letter · Huruf terakhir
★☆☆☆☆
93
The first three letters · Tiga huruf pertama
★☆☆☆☆
94
How long is it? · Seberapa panjangnya?
★☆☆☆☆
95
Shout it · Teriakkan
★☆☆☆☆
96
Initials · Inisial
★★☆☆☆
97
Ask for a name · Minta nama
★☆☆☆☆
98
Ask for two things · Minta dua hal
★☆☆☆☆
99
A number from input · Sebuah angka dari input
★☆☆☆☆
100
Add two numbers you were given · Jumlahkan dua angka yang diberikan kepada Anda
★★☆☆☆
101
Each letter on its own line · Setiap huruf pada baris tersendiri
★☆☆☆☆
102
Zero to four · Nol sampai empat
★☆☆☆☆
103
Count the letters · Hitung jumlah huruf
★☆☆☆☆
104
Add up one to five · Jumlahkan satu sampai lima
★☆☆☆☆
01
Print a word · Cetak satu perkataan
★☆☆☆☆
02
Print another word · Cetak satu perkataan lagi
★☆☆☆☆
03
Print a sentence · Cetak satu ayat
★☆☆☆☆
04
Print with a ! · Cetak dengan !
★☆☆☆☆
05
Print two lines · Cetak dua baris
★☆☆☆☆
06
Print a number · Cetak satu nombor
★☆☆☆☆
07
Add two numbers · Tambah dua nombor
★☆☆☆☆
08
Subtract · Tolak
★☆☆☆☆
09
Multiply · Darab
★☆☆☆☆
10
Divide · Bagi
★☆☆☆☆
11
Remainder · Baki
★☆☆☆☆
12
A number variable · Pembolehubah nombor
★☆☆☆☆
13
A text variable · Variabel teks
★☆☆☆☆
14
Add two variables · Tambah dua pembolehubah
★☆☆☆☆
15
Your first method · Metode pertamamu
★☆☆☆☆
16
Is it positive? · Adakah ia positif?
★☆☆☆☆
17
Cube a number · Kuasa tiga satu nombor
★☆☆☆☆
18
The smaller one · Yang lebih kecil
★☆☆☆☆
19
Square a number · Kuasa dua satu nombor
★☆☆☆☆
20
Largest of three · Terbesar bagi tiga nombor
★☆☆☆☆
21
Count the vowels · Hitung huruf vokal
★★☆☆☆
22
Reverse the word order · Balik urutan kata
★★☆☆☆
23
Palindrome check · Pengecekan palindrom
★★★☆☆
24
Running sum · Jumlah kumulatif
★★★☆☆
25
Most frequent character · Karakter paling sering muncul
★★★☆☆
26
Binary search · Pencarian biner
★★★☆☆
27
Factorial (mind the size) · Faktorial (perhatikan ukurannya)
★★★★☆
28
Count primes below n · Hitung bilangan prima di bawah n
★★★★☆
29
Roman numerals · Angka Romawi
★★★★★
30
Longest common prefix · Awalan umum terpanjang
★★★★★
01
Print a word · Cetak satu perkataan
★☆☆☆☆
02
Print another word · Cetak satu perkataan lagi
★☆☆☆☆
03
Print a sentence · Cetak satu ayat
★☆☆☆☆
04
Print with a ! · Cetak dengan !
★☆☆☆☆
05
Print two lines · Cetak dua baris
★☆☆☆☆
06
Print three lines · Cetak tiga baris
★☆☆☆☆
07
Print a number · Cetak satu nombor
★☆☆☆☆
08
Add two numbers · Tambah dua nombor
★☆☆☆☆
09
Subtract · Tolak
★☆☆☆☆
10
Multiply · Darab
★☆☆☆☆
11
Remainder · Baki
★☆☆☆☆
12
A number variable · Pembolehubah nombor
★☆☆☆☆
13
Add two variables · Tambah dua pembolehubah
★☆☆☆☆
14
Multiply two variables · Darab dua pembolehubah
★☆☆☆☆
15
Your first function · Fungsi pertama anda
★☆☆☆☆
16
Is it positive? · Adakah ia positif?
★☆☆☆☆
17
Cube a number · Kuasa tiga satu nombor
★☆☆☆☆
18
The smaller one · Yang lebih kecil
★☆☆☆☆
19
Square a number · Kuasa dua satu nombor
★☆☆☆☆
20
Sign of a number · Isyarat satu nombor
★☆☆☆☆
21
Largest of three · Terbesar bagi tiga nombor
★★☆☆☆
22
Factorial · Faktorial
★★☆☆☆
23
Greatest common divisor · Pengangka persekutuan terbesar
★★☆☆☆
24
Count the 1-bits · Kira bit 1
★★☆☆☆
25
Sum an array · Jumlahkan satu senarai
★★★☆☆
26
Swap two values · Tukar dua nilai
★★★☆☆
27
String length · Panjang string
★★★☆☆
28
Count a character · Kira satu karakter
★★★☆☆
29
Reverse in place · Undur di tempat
★★★★☆
30
Palindrome · Palindrom
★★★★☆
31
Bubble sort
★★★★☆
32
Points with a struct · Titik dengan struktur
★★★★☆
33
Binary search · Pencarian biner
★★★★★
34
Parse an integer · Huraikan integer
★★★★★
All courses, one page each · Semua kursus, satu halaman per kursus
- Python Basics
- Python for IGCSE CS · Python untuk IGCSE CS
- IGCSE CS Pseudocode · Pseudocode IGCSE CS
- Python for A-Level CS · Python untuk CS A-Level
- AS-level CS Pseudocode · Pseudocode CS AS-level
- Databases & SQL · Database & SQL
- Python for AP CS Principles · Python untuk Prinsip CS AP
- Java for AP CS A · Java untuk AP CS A
- C Programming · Pemrograman C
- Web Basics — HTML & CSS · Dasar Web — HTML & CSS
- JavaScript
- LaTeX
- Linux & the command line · Linux & baris arahan
- Cyber security · Keamanan siber
- Python Practice · Latihan Python
- Java Practice · Praktik Java
- C Practice · Praktis C