Coding dan Kecerdasan Artifisial

Semester 2

17 modul ajar · X TJKT · Fase E

1

CONTROL FLOW

2 minggu — percabangan dan perulangan

1× JP

Isi Pokok

• Operator aritmatika: +, -, *, /, //, % • Operator perbandingan: ==, !=, >, < • Operator logika: and, or, not • Percabangan: if, if-else, if-elif-else

Kegiatan Praktik

• Praktik operator aritmatika • Buat program penentuan ganjil/genap • Buat program nilai huruf (A/B/C/D)

Buka modul →
Pertemuan 2

Perulangan

1× JP

Isi Pokok

• For loop: `for i in range(10):` • While loop: `while kondisi:` • Range: start, stop, step • Break & Continue

Kegiatan Praktik

• Cetak angka 1-10 dengan for loop • Hitung jumlah bilangan genap dengan while • Eksperimen break vs continue

Buka modul →
2

PYTHON MENENGAH

5 minggu — function, data structure, file

Pertemuan 3

Function

1× JP

Isi Pokok

• `def nama_fungsi(parameter):` • Parameter & return • Scope: global vs local • Default parameter

Kegiatan Praktik

• Buat fungsi penjumlahan • Buat fungsi dengan return value • Eksperimen scope global vs local

Buka modul →
Pertemuan 4

List & Tuple

1× JP

Isi Pokok

• List: `[1, 2, 3]` — mutable • Operasi: append, remove, index, sorting • Slicing: `list[awal:akhir]` • List comprehension

Kegiatan Praktik

• Buat list nama siswa • Praktik append, remove, sort • Buat list comprehension sederhana

Buka modul →
Pertemuan 5

Dictionary & Set

1× JP

Isi Pokok

• Dictionary: `{"nama": "Budi"}` — key: value • Operasi dict: akses, tambah, hapus • Set: `{1, 2, 3}` — unik • Operasi set: union, intersection

Kegiatan Praktik

• Buat dictionary data siswa • Praktik operasi dictionary • Eksperimen set (hapus duplikat)

Buka modul →
1× JP

Isi Pokok

• Method: split(), join(), replace() • upper(), lower(), strip() • find(), count() • f-string untuk format

Kegiatan Praktik

• Praktik split nama depan/belakang • Ganti kata dalam kalimat • Format output dengan f-string

Buka modul →
Pertemuan 7

File Handling

1× JP

Isi Pokok

• `open("file.txt", "r")` — baca • `open("file.txt", "w")` — tulis • `with open(...) as f:` — context manager • Format: TXT, CSV

Kegiatan Praktik

• Tulis data siswa ke file • Baca isi file • Simpan data dalam format CSV

Buka modul →
3

COMPUTATIONAL THINKING LANJUT

2 minggu — rekursi dan graf

Pertemuan 8

Rekursi

1× JP

Isi Pokok

• Fungsi yang memanggil diri sendiri • Base case: kondisi berhenti • Faktorial: `n * faktorial(n-1)` • Fibonacci: `fib(n-1) + fib(n-2)`

Kegiatan Praktik

• Visualisasi pemanggilan rekursi • Praktik fungsi faktorial • Praktik fungsi fibonacci • Bandingkan vs perulangan

Buka modul →
Pertemuan 9

Graf Sederhana

1× JP

Isi Pokok

• Node & edge • Graf berarah vs tidak berarah • Adjacency list/matrix • BFS: mencari dari terdekat • DFS: mencari sampai mentok

Kegiatan Praktik

• Buat graf peta sekolah • Implementasi BFS sederhana • Implementasi DFS sederhana • Bandingkan BFS vs DFS

Buka modul →
4

MINI PROYEK

3 minggu — praktik coding

1× JP

Isi Pokok

• Penjumlahan, pengurangan, perkalian, pembagian • Pangkat, modulus • Input dari user dengan menu • Error handling: pembagian nol

Kegiatan Praktik

• Buat program kalkulator lengkap • Tambah menu pilihan • Handle error pembagian nol

Buka modul →
1× JP

Isi Pokok

• Angka acak 1-100 • Input tebakan dari user • Clue: lebih besar/kecil • Batas percobaan

Kegiatan Praktik

• Buat game tebak angka • Tambah clue untuk user • Batasi jumlah percobaan

Buka modul →
1× JP

Isi Pokok

• Tambah, hapus, lihat, tandai selesai • Simpan data di list/dictionary • Simpan ke file agar tidak hilang • Menu pilihan untuk user

Kegiatan Praktik

• Buat program to-do list • Tambah fitur simpan ke file • Buat menu interaktif

Buka modul →
5

OOP & MINI PROYEK LENGKAP

4 minggu — OOP + proyek integrasi

Pertemuan 13

OOP Dasar

1× JP

Isi Pokok

• Class: blueprint/cetakan • Object: instance dari class • Method: fungsi di class • `__init__`: constructor

Kegiatan Praktik

• Buat class Siswa • Buat object dari class • Tambah method dan attribute

Buka modul →
1× JP

Isi Pokok

• Pemilihan topik proyek • Dekomposisi masalah • Menulis algoritma • Merancang struktur program

Kegiatan Praktik

• Pilih topik dari daftar • Pecah menjadi sub-tugas • Tulis algoritma untuk setiap tugas • Rancang struktur program

Buka modul →

Isi Pokok

• Coding: implementasi kode • Testing: uji dengan berbagai input • Debugging: perbaiki error • Optimasi: sederhanakan kode

Kegiatan Praktik

• Implementasi kode Python • Test program • Perbaiki bug • Optimasi performa

Buka modul →
Pertemuan 16

Presentasi & Ujian

1× JP

Isi Pokok

• Presentasi proyek per kelompok • Tanya jawab • Ujian praktik: function, list, file, rekursi, graf • Review materi

Kegiatan Praktik

• Presentasi 5 menit per kelompok • Siswa lain bertanya • Ujian praktik • Review akhir

Buka modul →
17 Modul16 Pertemuan

Daftar Modul

Pertemuan 1

Operator & Percabangan

Mengenal operator dan percabangan (if-elif-else) dalam Python.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonoperatorpercabangan+1
Pertemuan 2

Perulangan

Mengenal for loop dan while loop dalam Python.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonperulanganfor loop+1
Pertemuan 3

Function

Mengenal fungsi dalam Python: def, parameter, return, scope.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonfunctiondef+2
Pertemuan 4

List & Tuple

Mengenal list dan tuple sebagai struktur data dalam Python.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonlisttuple+1
Pertemuan 5

Dictionary & Set

Mengenal dictionary dan set sebagai struktur data dalam Python: key-value pairs, operasi dictionary, set unik, union/intersection/difference.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythondictionaryset+4
Pertemuan 6

String Manipulation

Mengenal operasi string lanjutan dalam Python: methods (split, join, replace, upper, lower, strip), find, count, startswith, endswith, f-string, dan slicing.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonstringmanipulasi+4
Pertemuan 7

File Handling

Mengenal operasi file dalam Python: open, read, write, append, context manager (with), format txt dan csv.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonfileread+4
Pertemuan 8

Mini Proyek Python Menengah

Mengintegrasikan semua konsep Python menengah dalam proyek nyata: kalkulator dengan menu, operasi aritmatika, error handling, dan penyimpanan riwayat.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonmini proyekkalkulator+3
Pertemuan 9

Rekursi: Konsep Dasar

Mengenal rekursi sebagai teknik pemrograman di mana fungsi memanggil dirinya sendiri, termasuk base case, recursive case, dan visualisasi stack.

1 Pertemuan × 4 JP (JP = 45 menit)
Baca
rekursikonsep dasarbase case+2
Pertemuan 10

Rekursi: Fibonacci & Factorial

Menerapkan rekursi pada kasus nyata: Fibonacci dan Factorial, termasuk optimasi memoization dan perbandingan performa.

1 Pertemuan × 4 JP (JP = 45 menit)
Baca
rekursifibonaccifactorial+2
Pertemuan 11

Graf: Konsep Dasar

Mengenal graf sebagai struktur data: definisi node/edge, jenis graf berarah/tidak berarah, dan representasi adjacency list/matrix.

1 Pertemuan × 4 JP (JP = 45 menit)
Baca
grafnodeedge+2
Pertemuan 12

Graf: BFS & DFS

Mengimplementasikan algoritma BFS (Breadth-First Search) dan DFS (Depth-First Search) untuk menjelajahi graf, termasuk implementasi Python dan aplikasi pencarian path.

1 Pertemuan × 4 JP (JP = 45 menit)
Baca
grafbfsdfs+2
Pertemuan 13

Mini Proyek: Rekursi & Graf

Mengintegrasikan rekursi dan graf dalam proyek nyata — maze solver, pathfinding, dan pencarian rute terpendek.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
rekursigrafmini proyek+4
Pertemuan 14

OOP: Class & Object

Mengenal Object-Oriented Programming: class, object, method, constructor __init__, attribute, dan self.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonoopclass+5
Pertemuan 15

OOP: Inheritance & Polymorphism

Mengenal inheritance, method overriding, super(), polymorphism, dan isinstance dalam Python.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
pythonoopinheritance+4
Pertemuan 16

Ujian Praktik Semester 2

Evaluasi akhir kompetensi Python menengah: function, list, file handling, rekursi, graf, dan OOP.

1 Pertemuan × 4 JP (1 JP = 45 menit)
Baca
ujianevaluasipython menengah+6
Pertemuan NaN

Timeline Pembelajaran — Semester 2

Timeline dan rangkuman pembelajaran Koding dan Kecerdasan Artifisial Kelas X Semester 2: Python Menengah & Problem Solving

Baca
timelinepythonfunction+4