Ekskul CSSE · SMAS St. John — BINUSPertemuan 15
15
Pertemuan 15 dari 17 · Sesi 15 — AI-Assisted Coding
Introduction to
AI-Assisted Coding

Ada asisten yang bisa menulis kode dalam 3 detik. Hari ini kamu belajar jadi bosnya — bukan budaknya.

TUJUAN 01
Jelaskan apa itu AI coding assistant & cara kerjanya
TUJUAN 02
Menulis prompt KBT — Konteks, Bahasa, Tujuan
TUJUAN 03
Verifikasi kode hasil AI — jangan salin buta
Target hari ini — jadi bos dari asisten tercepat

AI menulis kodenya, kamu yang bertanggung jawab

Tujuan Pembelajaran
  • Menjelaskan apa itu AI coding assistant & cara kerjanya
  • Menulis prompt KBT: Konteks · Bahasa · Tujuan
  • Verifikasi kode AI: jalankan, cek error, uji kasus tepi
  • Etika: AI membantu, kamu yang paham — tes paham tutup-laptop
AI assistantprompt KBTverifikasianti salin buta

* prompt = perintah teks yang kamu tulis untuk AI · kasus tepi = input di batas aturan: nilai pas 75, nilai negatif, nilai di atas 100.

!
Janji inti sesi ini

AI boleh menulis kode.
Pemahaman tidak boleh ikut di-outsource.

Catatan kelas offline

Hari ini tanpa internet — hasil AI ditampilkan sebagai teks simulasi di layar. Yang dilatih adalah keterampilannya: menulis prompt, membaca hasil, memverifikasi. Prompt-mu tetap sah dipakai di rumah.

Sebelum gas — minggu lalu kamu baru saja bikin apa?

Rekap Sesi 14 · Mini Project 2

Yang sudah kamu pegang
  • Aplikasi menu + list + file — proyek utuh, jalan end-to-end
  • Modular — 1 menu = 1 fungsi yang tanggung jawabnya jelas
  • File I/O + try-except — data selamat, input nakal tertahan

Proyek Mini Project 2 itu bahan latihan kita hari ini — semua contoh AI di sesi ini diambil dari dunia yang barusan kamu tinggali: fungsi nilai, menu, data siswa.

Kuis kilat — jawab dulu sebelum lanjut!
AKalau AI bisa menulis fungsi untukmu dalam 3 detik, skill apa yang justru makin penting dimiliki?
jawaban slide berikutnya Kalau kepala-mu kepikiran "yang bisa memeriksa hasilnya" — kamu sudah berpikir seperti developer senior. AI menulis cepat; memverifikasi tetap kerjaan manusia.
!

Peta perjalanan: kamu di barisan ke-15 dari 17 — sudah 88% perjalanan!

Yang ngetiknya cepat banget — dia siapa sebenarnya?

AI coding assistant = autocomplete super

Kenalan dulu — 3 pekerjaan yang bisa dibantunya
PekerjaanContoh nyatanya
autocompleteKamu ketik def sta — dia lanjutkan jadi status_nilai(nilai): sebelum kamu minta
generateKamu minta "fungsi luas persegi" — dia tuliskan fungsi utuh + contoh pemanggilan
debugKamu tempel error ValueError — dia tunjuk baris yang salah dan alasan kenapanya
Analogi hari ini

AI = asisten magang yang baca buku secepat kilat. Kamu minta, dia tulis rapi dalam 3 detik. Tapi magang tetap magang — hasilnya wajib diperiksa bosnya.

Dari mana dia "bisa"?
  • Kamusnya bukan kata — tapi jutaan kode open source yang pernah ditulis orang
  • Dia menebak kode berikutnya yang paling masuk akal — persis autocomplete di HP saat kamu chat
  • Masuk akal ≠ benar. Tebakannya bisa jalan, bisa salah logika
!

Bos yang curiga = developer yang bagus. Mulai hari ini, perlakukan semua kode AI sebagai dugaan, bukan fakta.

Asisten semahir apa pun meleset kalau perintahnya asal

Prompt KBT — Konteks · Bahasa · Tujuan

Pola prompt yang bisa dihafal
K — Konteks: kamu siapa

"Aku siswa SMA, belajar Python dasar, baru sampai function." — AI menyesuaikan level jawabannya.

B — Bahasa: tulis pakai apa

"Jawab dengan kode Python, singkat, pakai komentar." — biar nggak dikasih JavaScript atau C++.

T — Tujuan: mau ke mana

"Buat fungsi luas_persegi_panjang(panjang, lebar) yang mengembalikan hasil kali keduanya." — AI tahu persis mau ke mana.

Makin lengkap KBT, makin tepat hasil

Prompt cuma bilang "buatin kode nilai" — AI bakal nebak: nilai apa? rata-rata? huruf A–E? status lulus? Bisa jadi yang keluar bukan yang kamu mau, padahal kodenya terlihat keren.

prompt buruk → AI nebakprompt KBT → AI tepat
→

Perhatikan satu KBT penuh di layar — lalu Tugas 1 langsung pakai pola ini untuk fungsi pertamamu.

Demo AI — prompt di papan, hasilnya di layar

Tugas 1 · Jalankan & periksa hasil "AI"

Kerjakan berurutan — 3 level
  1. Baca prompt KBT-nya — Konteks, Bahasa, Tujuan — tunjuk bagian mana yang mana
  2. Salin kode Python-nya (bukan prompt-nya) ke file demo_ai.py → Run ▶
  3. Cocokkan output dengan yang dijanjikan — lalu ganti pemanggilannya jadi luas_persegi_panjang(7, 3) dan tebak dulu hasilnya sebelum Run ▶
Kebiasaan yang dilatih hari ini

Klaim di komentar vs output nyata — dua hal yang wajib selalu kamu cocokkan. Itu inti dari verifikasi.

Hasil AI (teks simulasi) — salin bagian Python-nya
# Hasil AI (disimulasikan sebagai teks):
def luas_persegi_panjang(panjang, lebar):
    # fungsi mengembalikan luas = panjang * lebar
    return panjang * lebar

hasil_ai = luas_persegi_panjang(4, 5)
print("Hasil contoh:", hasil_ai)
!

Waktu: 10 menit. Dari nol jadi fungsi dalam hitungan detik — kalau promptnya jelas. Sekarang bagian bosnya: periksa!

Kode AI itu dugaan — jadi apa tiga alat uji bos?

Verifikasi = jalankan, cek error, cek logika

Run ▶ dulu — jangan percaya sebelum kamu lihat sendiri outputnya. Kode yang tidak pernah dijalankan itu belum terbukti apa-apa.

Uji 2 · Cek error

Error = alarm, bukan aib. Baca dari baris teratas: error apa, di baris berapa. Sering salin-tempel kacau — indentasi campur tab-spasi = IndentationError.

Uji 3 · Cek logika

Yang paling licik: kode jalan tanpa error tapi jawabannya salah. Satu-satunya obat: uji kasus tepi — nilai pas 75, nilai -10, nilai 150.

Ingat pelajaran Sesi 14: logical error itu jenis error tersulit — tidak ada alarm bunyi. Makanya langkah 3 dilakukan lewat uji, bukan lewat nebak.

Kode AI ini terlihat benar — atau cuma terlihat?

Jadi bos yang curiga — uji 3 kasus tepi

Hasil AI (teks simulasi) — prompt KBT untuk status nilai
# Hasil AI (disimulasikan sebagai teks):
def status_nilai(nilai):
    if nilai >= 75:
        return "Lulus"
    else:
        return "Remedial"

print(status_nilai(82))   # Lulus
print(status_nilai(40))   # Remedial
print(status_nilai(75))   # Lulus
Bos yang curiga akan menemukan
  • Nilai pas 75 → Lulus — karena >=. Kalau aturanmu bilang 75 masih remedial, prompt-nya yang diubah, bukan nebak-nebak hasil AI
  • Nilai aneh -10 dan 150 → tetap dijawab Remedial/Lulus — AI tidak menambahkan pengecekan karena kamu tidak minta!
  • Input bukan angka "delapan puluh" → meledak TypeError — alarm bagus menuju try-except di Final Project
!

Kesimpulan: AI tidak tahu aturanmu kecuali kamu tulis di prompt — prompt lebih baik minta validasi: 0–100 saja.

Sekarang kamu yang tulis prompt-nya

Tugas 2 · Tulis prompt KBT-mu sendiri

Kerjakan berurutan — 3 level
  1. Pilih fungsi dari Mini Project 2-mu — misal tambah_data(), statistik(), atau validasi input nilai
  2. Tulis prompt KBT lengkap di kertas/editor — Konteks (siswa SMA, Python dasar) + Bahasa (Python) + Tujuan (fungsi apa, perilaku persis seperti apa)
  3. Sebut kasus tepinya — tulis di prompt: "sertakan contoh pemanggilan: nilai normal, nilai pas batas, dan input aneh"
Cek mutu prompt-mu

Tunjuk ke teman sebangku: mana K-nya? mana B-nya? mana T-nya? Kalau ada yang hilang, prompt-mu bakal bikin AI nebak.

Contoh target — pola yang dikejar
[Konteks] Aku siswa SMA, Python dasar,
  sudah kenal list & function
[Bahasa] Python, singkat, pakai komentar
[Tujuan] Buat fungsi status_nilai(nilai) yang
  mengembalikan "Lulus" jika 75 <= nilai <= 100,
  "Remedial" jika 0 <= nilai < 75, dan
  "Nilai tidak valid" untuk input lain
+ 3 contoh pemanggilan: 82, 40, 75
!

Waktu: 10 menit. PR minggu ini satu sama dengan ini: 1 prompt KBT untuk fitur Final Project-mu — dipakai langsung minggu depan.

Semua kode punya pemilik — dan pemiliknya harus paham

Etika AI — boleh minta bantuan, wajib paham

Boleh — saat AI jadi tutor
  • Belajar mandiri: minta contoh & minta jelaskan error
  • Refactor kode buatanmu sendiri biar lebih rapi
  • Cari ide saat ngerjain proyek pribadi — AI asisten, kamu bos

Tes sederhana: kamu bisa menjelaskan tiap barisnya ke teman.

Jangan — saat yang dinilai adalah kamu
  • Tugas/ujian yang justru menilai kemampuanmu sendiri
  • Salin buta tanpa baca — kode jadi barang titipan, bukan ilmu
  • Biar AI gendong terus — otot coding-mu nggak pernah tumbuh

Otot coding kayak otot fisik: kalau selalu minta digendong, ototnya tidak tumbuh.

?

Pertanyaan jujurnya: kalau besok tanpa AI, kamu masih bisa nulis status_nilai sendiri? Harusnya bisa — itu target hari ini. Ukurannya satu: tes paham — tutup laptop, jelaskan kode ke teman tanpa melihat layar.

Tantangan pamungkas — AI bikin salah, bos yang menangkapnya

Challenge · Perbaiki bug di kode AI

Misi — 3 langkah detektif
  1. Salin kode di samping ke file bug_ai.py → Run ▶
  2. Uji kasus tepi: panggil status_nilai(75) — output-nya apa? Harusnya apa?
  3. Perbaiki satu karakter yang salah, Run ▶ lagi, buktikan 75 sekarang Lulus — lalu jelaskan bug-nya ke teman tanpa melihat layar
Alat yang kamu pegang

Semua dari sesi lalu: baca error, uji kasus tepi, cocokkan output dengan aturan di prompt. Ini digabung, bukan dipelajari baru.

Kode AI — katanya sih sudah benar
def status_nilai(nilai):
    if nilai > 75:
        return "Lulus"
    else:
        return "Remedial"

print(status_nilai(75))   # AI klaim: Lulus
!

Waktu: 10 menit. Kode ini jalan tanpa SyntaxError — bug-nya murni logika. Mentok? Slide ke-12 bongkar jawabannya.

Gimana cara menyelesaikannya?

Pembahasan Challenge — bugnya di satu karakter

Bug: > vs >= — pas 75 jatuh ke sisi salah
def status_nilai(nilai):
    if nilai > 75:      # 75 masuk sini? TIDAK!
        return "Lulus"
    else:
        return "Remedial"

print(status_nilai(75))   # Remedial - SALAH! harusnya Lulus

# Perbaikan: satu karakter saja
def status_nilai(nilai):
    if nilai >= 75:     # sekarang 75 = Lulus
        return "Lulus"
    else:
        return "Remedial"
Kenapa bug ini licik?
  • Logical error — kode sah, Run ▶ lancar, tidak ada pesan error sama sekali
  • Hanya ketahuan kalau kamu uji kasus tepi: 75 pas di batas
  • AI klaim di komentar bilang Lulus — klaim ≠ kenyataan, cocokkan selalu
Framing yang benar

Menemukan bug di kode AI bukan bukti AI jelek — itu bukti verifikasimu bekerja. Bos yang curiga = developer yang bagus.

!

Yang sampai sini dengan usaha sendiri — kamu sudah punya otot verifikasi yang tidak bisa diberikan siapa pun.

Cara paling cepat jadi developer yang nggak berkembang

Kotak masalah — 3 jebakan pemakai AI

Jebakan 01
Salin-tempel tanpa baca
# Ctrl+V, Run, "udah selesai"
# ...lalu guru tanya: baris ini buat apa?
# ...diam.

Gejala: kode jalan tapi nggak bisa dijelaskan. Obatnya tes paham: tutup laptop, jelaskan tiap baris ke teman. Belum bisa = belum selesai.

Jebakan 02
Prompt tanpa konteks
# prompt: "buatin kode nilai"
# AI bingung: nilai apa?
# rata-rata? huruf? lulus?

Gejala: hasil meleset jauh dari maumu padahal terlihat keren. Obat: KBT — Konteks + Bahasa + Tujuan, lengkap.

Jebakan 03
Percaya output tanpa uji
# "kodenya jalan, berarti bener"
# jalan ≠ benar — logical error
# tidak bunyi alarm apa-apa

Gejala: bug ketemu malam sebelum deadline. Obat: uji kasus tepi — pas batas, nilai aneh, input nakal — sebelum kode dinyatakan selesai.

Satu kalimat penangkal: AI membantu, kamu yang paham. Tiga jebakan di atas semuanya bocor di kata yang sama — "paham".

Rangkuman · Yang kita bawa pulang

5 poin hari ini — kamu bos, AI asisten

01
AI coding assistant = autocomplete super — belajar dari jutaan kode, menebak yang paling masuk akal; masuk akal ≠ benar
02
Prompt KBT — Konteks (siapa kamu) + Bahasa (Python) + Tujuan (fungsi apa, perilaku apa); makin lengkap, makin tepat
03
Verifikasi 3 langkah — jalankan, cek error, cek logika; uji kasus tepi: nilai pas 75, nilai aneh, input nakal
04
Etika: AI membantu, kamu yang paham — tes paham tutup-laptop; boleh minta bantuan, haram salin buta
05
Otot coding — kerjakan sendiri dulu, AI jadi asisten bukan gendongan; kalau besok tanpa AI, kamu tetap bisa
Asisten sudah kamu kuasai — sekarang proyek besar!Next → Final Project Development
Next & Referensi — langkah selanjutnya

Minggu depan:
Final Project Development

Sesi 16 — Final Project Development (120 menit)

Semua bekal 15 pertemuan dirangkai jadi satu aplikasi utuh — Pengelola Data: menu + list[dict] + file.

Pilih domainmu minggu ini: Nilai Siswa (default) · Perpustakaan Mini · Kasir Warung · Kontak · Todo-Agenda. Bawa 1 prompt KBT untuk satu fiturnya — PR tadi langsung terpakai.

intip kerangka minggu depan:
data = [] # list[dict]
while True:
  print("1. Lihat  2. Tambah  3. Cari
    4. Hapus  5. Statistik  6. Keluar")
menu while Truelist[dict]file I/O · try-except
PR iseng (opsional)
  • Tulis 1 prompt KBT untuk 1 fitur Final Project — domain bebas dari 5 pilihan di atas
  • Latihan tes paham: jelaskan status_nilai hasil AI ke orang rumah tanpa melihat layar
  • Refleksi jujur: fitur mana dari Mini Project 2 yang masih kamu tulis sendiri dari nol?
Sampai jumpa di Sesi 16! prompt KBT · verifikasi · tes paham