Modul 2 : Algoritma dan Pemrograman Lanjut
Selamat datang di kelas Koding! 🚀
Selama 7 pertemuan ke depan, kita tidak sekadar mengetik kode, tapi belajar merancang solusi. Di akhir modul ini, kamu akan mampu:
Menganalisis & Memecah Masalah
Membagi masalah besar menjadi fungsi-fungsi kecil (modular programming) menggunakan bahasa Python.
Menerapkan Algoritma
Menggunakan algoritma Searching dan Sorting untuk menyaring dan mengatur data seperti sistem di dunia nyata.
Membangun Proyek AI
Merancang aplikasi Rule-based AI/Chatbot sederhana secara berkolaborasi bersama temanmu.
Mari Berpikir Sejenak 🤔
Sebelum kita mulai menulis kode, coba renungkan dua hal berikut dalam keseharian kita.
"Pernah nggak kamu mikir, pas nyari nama kontak di HP, gimana cara HP-mu bisa menemukan satu nama itu dalam hitungan milidetik dari ribuan kontak yang ada?"
"Kalau kamu disuruh bikin aplikasi sekelas Gojek, mending nulis 10.000 baris kode numpuk di satu tempat, atau dibagi-bagi jadi kotak rapi seperti 'Fitur GoRide', 'Fitur GoFood'?"
Modular Programming
Bayangkan kode Python itu seperti Bongkar Pasang Lego atau Resep Nasi Goreng. Fungsi (Modular) ibarat bumbu dasar yang sudah diulek dan disimpan di kulkas. Kapan saja kamu butuh, tinggal ambil bumbunya. Kamu tidak perlu ngulek dari awal lagi!
-
Sintaks Dasar: Menggunakan
def nama_fungsi(parameter):lalu diakhiri denganreturn. - Kenapa penting? Agar kode rapi, gampang diperbaiki (debug), dan sangat memudahkan jika harus bekerja secara tim.
Blueprint Sintaks Proyek (Python)
Ini adalah gambaran kerangka kode yang akan kita gunakan pada proyek akhir (Chatbot). Perhatikan bagaimana masalah besar dipecah menjadi fungsi-fungsi kecil!
# 1. DATABASE (List Data) database = [ {"nama": "Kopi Senja", "harga": 15000}, {"nama": "Kafe Murah", "harga": 10000} ] # 2. FUNGSI MODULAR: Algoritma Searching def cari_kafe(keyword): hasil = [] for kafe in database: if keyword.lower() in kafe["nama"].lower(): hasil.append(kafe) return hasil # 3. FUNGSI MODULAR: Algoritma Sorting def urutkan_termurah(data): # (Terapkan Bubble Sort atau list.sort() di sini) return sorted(data, key=lambda x: x["harga"]) # 4. FUNGSI UTAMA (Menggabungkan semua fungsi) def mulai_chatbot(): keyword = input("Cari kafe apa? ") # Memanggil fungsi pencarian & pengurutan data_ketemu = cari_kafe(keyword) data_urut = urutkan_termurah(data_ketemu) print("Hasil Rekomendasi:", data_urut) # Jalankan program mulai_chatbot()
Algoritma
"Gimana caranya Spotify tahu lagu kesukaanmu lalu mengurutkannya dengan cepat?"
Searching (Mencari)
Ada Linear Search (dicek satu-satu berurutan dari awal sampai akhir) dan Binary Search (datanya dibelah dua biar cepat, tapi syaratnya data harus urut dulu).
Sorting (Mengurutkan)
Mengatur data yang acak jadi rapi. Contohnya Bubble Sort (membandingkan dua data bersebelahan, kalau posisinya salah, maka posisinya ditukar).
Aturan Emas Kelas Koding:
"Error is Normal. Google it first, ask later!"
Aktivitas A: Refaktor Kode Rahasia
Misi Utama: Kamu akan diberikan barisan kode Python yang berantakan tanpa fungsi. Tugas kelompokmu adalah merapikannya (refactoring) menjadi minimal 3 fungsi modular!
Latihan: Kita akan bermain dengan data tipe List. Kamu akan membuat sistem pencarian judul buku di perpustakaan maya dan mengurutkan nilai tryout dari yang tertinggi ke terendah.
Aktivitas B: Hackathon Proyek AI!
Sistem Kerja & Aturan:
- Berpasangan (Pair Programming): Satu jadi Driver (mengetik kode), satu jadi Navigator (memikirkan logika & alur).
- User (pengguna) akan mengetik keyword tertentu (contoh: "Kafe Murah").
- Programmu akan memanggil fungsi, menggunakan algoritma Searching untuk mencari keyword di dalam List database, lalu menampilkan hasilnya menggunakan algoritma Sorting berdasarkan harga termurah.
Showcase & Bug Journal
Saatnya pamer karya! Kita akan mencoba chatbot buatan teman-temanmu secara langsung di Pertemuan ke-7. Siapkan karyamu yang terbaik!
📝 Jurnal Refleksi (Format 3-2-1)
Setelah kegiatan showcase selesai, lengkapi jurnal di bawah ini di buku catatanmu:
-
3
Hal baru yang aku pelajari dari bikin program ini adalah...
-
2
Momen "AHA!" atau bagian paling seru pas ngoding...
-
1
Kesulitan/Bug paling ngeselin dan cara aku menyelesaikannya...
Rislyon Ripi
Modul AI • SMAK Barana © 2026

0 Komentar:
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda