Materi KKA Kelas X Bab 4 Pengenalan dan Penerapan Pemrograman Teks
Bab 4 Pengenalan dan Penerapan Pemrograman Teks: Materi Lengkap Python Kelas X SMK
Pendahuluan
Pemrograman teks merupakan salah satu cara mempelajari pemrograman dengan menuliskan instruksi menggunakan bahasa pemrograman tertentu. Melalui kegiatan ini, siswa belajar menyusun perintah secara sistematis agar komputer dapat menjalankan tugas sesuai tujuan.
Dalam Bab 4 Pengenalan dan Penerapan Pemrograman Teks, siswa kelas X SMK akan mempelajari dasar-dasar pemrograman menggunakan Python. Bahasa ini dipilih karena sintaksnya relatif sederhana, mudah dibaca, dan dapat digunakan untuk membuat berbagai program sederhana.
Materi meliputi konsep bahasa pemrograman, penggunaan editor dan IDE, variabel, tipe data, operator, percabangan, perulangan, fungsi, struktur data, penulisan kode yang baik, kolaborasi, serta teknik debugging.
Setelah mempelajari bab ini, siswa diharapkan mampu menulis program sederhana, memahami alur kerja program, menguji hasil eksekusi, dan memperbaiki kesalahan secara mandiri maupun berkelompok.
A. Pemrograman Berbasis Teks: Konsep Dasar
1. Bahasa Pemrograman
Bahasa pemrograman adalah bahasa formal yang digunakan untuk memberikan instruksi kepada komputer. Instruksi tersebut disusun berdasarkan aturan atau sintaks tertentu agar dapat dipahami dan dijalankan oleh sistem komputer.
Komputer tidak memahami perintah manusia secara langsung seperti percakapan sehari-hari. Oleh karena itu, programmer perlu menuliskan instruksi menggunakan bahasa yang sesuai dengan kebutuhan aplikasi.
Contohnya, ketika seseorang ingin menghitung luas persegi panjang, langkah yang dilakukan dapat diterjemahkan menjadi program yang menerima nilai panjang dan lebar, melakukan perkalian, kemudian menampilkan hasilnya.
a. Bahasa Pemrograman Teks
Bahasa pemrograman teks adalah bahasa pemrograman yang instruksinya ditulis menggunakan karakter, kata, simbol, dan aturan sintaks tertentu.
Berbeda dengan pemrograman visual yang menggunakan blok-blok perintah, pemrograman teks mengharuskan programmer menulis kode secara langsung.
Beberapa contoh bahasa pemrograman teks adalah sebagai berikut.
Python, digunakan untuk pembelajaran pemrograman, otomatisasi, pengolahan data, kecerdasan buatan, dan pengembangan aplikasi.
JavaScript, digunakan untuk membuat halaman web interaktif.
Java, digunakan untuk mengembangkan berbagai aplikasi dan sistem perangkat lunak.
C++, digunakan untuk aplikasi yang membutuhkan kinerja tinggi.
PHP, digunakan untuk pengembangan aplikasi web sisi server.
Setiap bahasa memiliki karakteristik dan kegunaan yang berbeda. Pemilihan bahasa pemrograman harus disesuaikan dengan tujuan pengembangan program.
Berikut contoh program menggunakan Python.
print("Selamat datang di kelas pemrograman!")Hasil program:
Selamat datang di kelas pemrograman!Penjelasan:
print()merupakan fungsi untuk menampilkan informasi ke layar.Teks di antara tanda petik merupakan pesan yang ingin ditampilkan.
Tanda kurung digunakan untuk menuliskan argumen fungsi.
Ketika program dijalankan, komputer menampilkan pesan sesuai instruksi.
Contoh tersebut menunjukkan bahwa program sederhana dapat dibuat hanya dengan satu baris kode.
b. Pemilihan Bahasa Pemrograman
Pemilihan bahasa pemrograman perlu mempertimbangkan beberapa hal, seperti tujuan program, tingkat kesulitan, kebutuhan pengguna, ketersediaan perangkat pendukung, dan kemampuan programmer.
Sebagai contoh, Python cocok digunakan untuk mempelajari dasar pemrograman karena sintaksnya mudah dibaca. JavaScript lebih sesuai ketika tujuan pembelajaran adalah membuat halaman web interaktif.
Beberapa pertimbangan dalam memilih bahasa pemrograman adalah:
Tujuan penggunaan: apakah program digunakan untuk menghitung, mengolah data, membuat website, atau mengembangkan aplikasi.
Kemudahan dipelajari: bahasa yang sederhana membantu pemula memahami konsep dasar.
Ketersediaan perangkat: bahasa tersebut dapat dijalankan pada komputer atau lingkungan belajar yang tersedia.
Dukungan komunitas: dokumentasi dan contoh program memudahkan proses belajar.
Kebutuhan pengembangan: bahasa harus mendukung fitur yang dibutuhkan dalam proyek.
Untuk pembelajaran kelas X SMK, Python dapat menjadi pilihan awal karena siswa dapat berfokus pada logika pemrograman tanpa harus menghadapi sintaks yang terlalu rumit.
2. Editor dan IDE
Untuk menulis program, programmer membutuhkan perangkat lunak yang digunakan untuk membuat, mengedit, dan menjalankan kode. Dua istilah yang sering digunakan adalah editor teks dan IDE.
a. Editor Teks
Editor teks adalah aplikasi yang digunakan untuk membuat dan mengubah berkas teks, termasuk kode program.
Editor kode biasanya dilengkapi fitur tambahan, seperti pewarnaan sintaks, penomoran baris, pelengkapan kode, dan pencarian teks.
Contoh editor yang dapat digunakan untuk belajar Python:
Visual Studio Code.
Notepad++.
IDLE Python.
Notepad biasa juga dapat digunakan untuk menulis kode Python, tetapi tidak menyediakan fitur pemrograman selengkap editor kode khusus.
Sebagai contoh, siswa dapat membuat berkas bernama hello_world.py, kemudian menuliskan kode berikut:
print("Hello, World!")Berkas tersebut disimpan dengan ekstensi .py agar dikenali sebagai berkas program Python.
b. IDE (Integrated Development Environment)
IDE adalah lingkungan pengembangan terpadu yang menggabungkan beberapa alat pemrograman dalam satu aplikasi.
IDE dapat menyediakan editor kode, fasilitas menjalankan program, debugger, pengelolaan proyek, dan berbagai fitur pendukung lainnya.
Contoh lingkungan pengembangan Python antara lain:
IDLE: lingkungan sederhana yang tersedia bersama instalasi Python standar.
PyCharm: lingkungan pengembangan yang menyediakan berbagai fitur untuk proyek Python.
Visual Studio Code: editor kode yang dapat dikembangkan menjadi lingkungan pemrograman dengan memasang ekstensi Python.
Perbedaan utama editor teks dan IDE terletak pada integrasi fitur yang tersedia. Editor teks berfokus pada penyuntingan kode, sedangkan IDE menyediakan berbagai fasilitas untuk mendukung proses pengembangan program.
Bagi siswa pemula, IDLE atau Visual Studio Code dapat digunakan sesuai fasilitas komputer sekolah.
3. Struktur Dasar Program
Program komputer disusun dari instruksi yang memiliki urutan dan aturan tertentu. Struktur program yang baik membantu programmer memahami alur kerja dan memudahkan proses perbaikan ketika terjadi kesalahan.
a. Struktur Program
Program Python dapat terdiri atas komentar, variabel, proses pengolahan data, percabangan, perulangan, fungsi, dan perintah keluaran.
Contoh program menghitung luas persegi panjang:
# Program menghitung luas persegi panjangpanjang = 10lebar = 5luas = panjang * lebarprint("Luas persegi panjang:", luas)
Hasil program:
Luas persegi panjang: 50Penjelasan setiap bagian:
# Program menghitung luas persegi panjangmerupakan komentar yang menjelaskan tujuan program.panjang = 10menyimpan nilai panjang.lebar = 5menyimpan nilai lebar.luas = panjang * lebarmenghitung luas dengan mengalikan panjang dan lebar.print()menampilkan hasil perhitungan.
Program tersebut menjalankan instruksi dari atas ke bawah.
b. Penggunaan Identasi dan Blok
Dalam Python, istilah yang benar adalah indentasi, yaitu jarak menjorok pada awal baris kode. Indentasi digunakan untuk menunjukkan bahwa suatu instruksi menjadi bagian dari blok tertentu.
Contoh:
nilai = 85if nilai >= 75:print("Selamat, Anda lulus!")print("Pertahankan prestasi Anda.")print("Program selesai.")
Hasil program:
Selamat, Anda lulus!Pertahankan prestasi Anda.Program selesai.
Dua perintah print() pertama berada dalam blok if, sedangkan perintah terakhir berada di luar blok tersebut.
Python umumnya menggunakan empat spasi untuk satu tingkat indentasi.
Contoh penulisan yang salah:
nilai = 85if nilai >= 75:print("Anda lulus")
Kode tersebut menimbulkan IndentationError karena perintah di dalam blok if tidak memiliki indentasi yang benar.
Perbaikannya:
nilai = 85if nilai >= 75:print("Anda lulus")
Indentasi harus diperhatikan sejak awal karena berpengaruh terhadap struktur dan jalannya program Python.
4. Variabel dan Tipe Data
a. Variabel
Variabel adalah nama yang digunakan untuk merujuk pada suatu nilai dalam program. Variabel membantu programmer menyimpan dan menggunakan informasi selama program berjalan.
Contoh:
nama = "Andi"umur = 16nilai = 88.5print(nama)print(umur)print(nilai)
Hasil program:
Andi1688.5
Penjelasan:
namamerujuk pada teks"Andi".umurmerujuk pada bilangan bulat16.nilaimerujuk pada bilangan desimal88.5.
Python tidak mengharuskan programmer mendeklarasikan tipe variabel terlebih dahulu. Tipe nilai dikenali ketika nilai tersebut diberikan.
Aturan umum penamaan variabel dalam Python:
Nama variabel dapat menggunakan huruf, angka, dan garis bawah.
Nama variabel tidak boleh diawali angka.
Nama variabel tidak boleh menggunakan kata kunci Python, seperti
if,for, atauclass.Nama variabel peka terhadap huruf besar dan kecil.
Nama variabel sebaiknya menggambarkan informasi yang disimpan.
Contoh nama variabel yang benar:
nama_siswa = "Rina"jumlah_barang = 10nilai_akhir = 92
Contoh yang salah:
2nama = "Rina"Nama variabel tersebut salah karena diawali angka.
b. Tipe Data
Tipe data menentukan jenis nilai yang disimpan dan operasi yang dapat dilakukan terhadap nilai tersebut.
Berikut beberapa tipe data dasar Python.
| Tipe data | Fungsi | Contoh |
|---|---|---|
str | Menyimpan teks | "Pekalongan" |
int | Menyimpan bilangan bulat | 20 |
float | Menyimpan bilangan desimal | 75.5 |
bool | Menyimpan nilai logika | True |
list | Menyimpan kumpulan nilai yang dapat diubah | [10, 20, 30] |
tuple | Menyimpan kumpulan nilai yang tidak dapat diubah | (10, 20, 30) |
dict | Menyimpan pasangan kunci dan nilai | {"nama": "Andi"} |
Contoh penggunaan beberapa tipe data:
nama = "Siti"umur = 17tinggi = 158.5sudah_mendaftar = Trueprint(type(nama))print(type(umur))print(type(tinggi))print(type(sudah_mendaftar))
Fungsi type() digunakan untuk mengetahui tipe data suatu nilai.
Hasilnya menunjukkan bahwa nama bertipe str, umur bertipe int, tinggi bertipe float, dan sudah_mendaftar bertipe bool.
c. Penggunaan Tipe Data yang Tepat
Pemilihan tipe data perlu disesuaikan dengan tujuan penyimpanan informasi.
Contohnya, nama siswa sebaiknya disimpan sebagai teks, jumlah buku dapat disimpan sebagai bilangan bulat, dan status kelulusan dapat disimpan sebagai nilai logika.
Perhatikan contoh berikut:
nama_siswa = "Andi"jumlah_buku = 5harga_buku = 12500.0lulus = Trueprint("Nama:", nama_siswa)print("Jumlah buku:", jumlah_buku)print("Harga buku:", harga_buku)print("Status kelulusan:", lulus)
Nomor telepon sebaiknya disimpan sebagai teks, bukan bilangan untuk perhitungan. Hal ini karena nomor telepon dapat diawali angka nol dan bukan merupakan nilai yang perlu dijumlahkan atau dikalikan.
Contoh:
nomor_telepon = "081234567890"print(nomor_telepon)
Penggunaan tipe data yang tepat membuat program lebih mudah dipahami dan mengurangi risiko kesalahan pengolahan informasi.
5. Operasi Dasar
Operator adalah simbol atau kata khusus yang digunakan untuk melakukan operasi terhadap nilai atau variabel.
a. Operasi Aritmatika
Operator aritmatika digunakan untuk melakukan perhitungan matematika.
| Operator | Fungsi | Contoh | Hasil |
|---|---|---|---|
+ | Penjumlahan | 10 + 5 | 15 |
- | Pengurangan | 10 - 5 | 5 |
* | Perkalian | 10 * 5 | 50 |
/ | Pembagian | 10 / 5 | 2.0 |
// | Pembagian bulat | 11 // 2 | 5 |
% | Sisa pembagian | 11 % 2 | 1 |
** | Pangkat | 2 ** 3 | 8 |
Contoh program:
angka1 = 20angka2 = 6print("Penjumlahan:", angka1 + angka2)print("Pengurangan:", angka1 - angka2)print("Perkalian:", angka1 * angka2)print("Pembagian:", angka1 / angka2)print("Sisa pembagian:", angka1 % angka2)
Operator aritmatika dapat digunakan untuk menghitung total belanja, nilai rata-rata, luas bangun, dan berbagai kebutuhan perhitungan lainnya.
b. Operasi Perbandingan
Operator perbandingan digunakan untuk membandingkan dua nilai. Hasilnya berupa nilai logika True atau False.
| Operator | Arti |
|---|---|
== | Sama dengan |
!= | Tidak sama dengan |
> | Lebih besar dari |
< | Lebih kecil dari |
>= | Lebih besar dari atau sama dengan |
<= | Lebih kecil dari atau sama dengan |
Contoh:
nilai = 80print(nilai == 80)print(nilai > 75)print(nilai < 60)print(nilai != 100)
Hasil:
TrueTrueFalseTrue
Perhatikan bahwa = dan == memiliki fungsi berbeda. Operator = digunakan untuk memberikan nilai kepada variabel, sedangkan == digunakan untuk membandingkan dua nilai.
c. Operasi Logika
Operator logika digunakan untuk menggabungkan atau membalikkan kondisi.
and: menghasilkanTruejika kedua kondisi benar.or: menghasilkanTruejika setidaknya satu kondisi benar.not: membalikkan nilai logika.
Contoh:
nilai = 85kehadiran = 90if nilai >= 75 and kehadiran >= 80:print("Memenuhi syarat")else:print("Belum memenuhi syarat")
Program memeriksa dua kondisi sekaligus. Siswa harus memiliki nilai minimal 75 dan kehadiran minimal 80 agar memenuhi syarat yang ditentukan dalam contoh tersebut.
d. Operasi Penugasan
Operator penugasan digunakan untuk memberikan atau memperbarui nilai variabel.
| Operator | Contoh | Makna |
|---|---|---|
= | x = 10 | Memberikan nilai 10 kepada x |
+= | x += 5 | Menambahkan 5 pada x |
-= | x -= 2 | Mengurangi x sebanyak 2 |
*= | x *= 3 | Mengalikan x dengan 3 |
/= | x /= 2 | Membagi x dengan 2 |
Contoh:
uang = 50000uang += 10000uang -= 5000print("Sisa uang:", uang)
Hasil:
Sisa uang: 55000Operator penugasan sering digunakan untuk memperbarui saldo, menghitung jumlah barang, dan mengakumulasi nilai dalam perulangan.
e. Pemahaman terhadap Berbagai Operasi
Berbagai operator dapat dikombinasikan untuk menyelesaikan permasalahan.
Contoh program menentukan apakah seorang siswa memenuhi syarat berdasarkan nilai dan kehadiran:
nilai = 82kehadiran = 90lulus_nilai = nilai >= 75lulus_kehadiran = kehadiran >= 80if lulus_nilai and lulus_kehadiran:print("Memenuhi syarat kelulusan")else:print("Belum memenuhi syarat kelulusan")
Program menggunakan operator perbandingan untuk memeriksa nilai dan kehadiran, kemudian menggunakan operator logika and untuk menggabungkan kedua kondisi.
Dari contoh tersebut, dapat dipahami bahwa operator merupakan bagian penting dalam pembuatan program yang mampu melakukan perhitungan dan pengambilan keputusan.
Aktivitas 1: Membuat Program Hello, World! Sederhana
Aktivitas ini bertujuan mengenalkan proses menulis, menyimpan, dan menjalankan program Python untuk pertama kali.
A. Alat dan Bahan
Siapkan perlengkapan berikut sebelum memulai praktik.
1. Perangkat keras
Komputer atau laptop yang berfungsi dengan baik.
Keyboard untuk menulis kode program.
Mouse atau touchpad untuk mengoperasikan aplikasi.
Monitor atau layar untuk melihat kode dan hasil program.
Komputer dengan spesifikasi dasar umumnya cukup untuk menjalankan program Python sederhana. Tidak diperlukan komputer dengan spesifikasi tinggi untuk aktivitas ini.
2. Perangkat lunak
Pilih salah satu lingkungan berikut.
Python dan IDLE yang terpasang pada komputer.
Python dan Visual Studio Code yang telah dikonfigurasi untuk menjalankan Python.
Google Colab yang dapat diakses melalui browser dan koneksi internet.
Jika menggunakan komputer sekolah, pastikan siswa memiliki izin untuk memasang perangkat lunak. Jika tidak tersedia hak administrator, lingkungan Python daring dapat menjadi alternatif.
3. Bahan praktik
Modul atau petunjuk praktikum.
Buku catatan untuk menulis hasil pengamatan.
Berkas kode program dengan ekstensi
.pyjika menggunakan editor lokal.Contoh teks yang akan ditampilkan, yaitu
Hello, World!.
4. Pengetahuan awal
Siswa perlu mengetahui cara membuka aplikasi, mengetik teks, menyimpan berkas, dan menjalankan perintah sederhana pada komputer.
B. Cara Kerja
Langkah 1: Membuka lingkungan pemrograman
Jika Python dan IDLE telah terpasang, buka menu Start pada Windows, cari IDLE, lalu jalankan aplikasi tersebut.
Jika menggunakan Visual Studio Code, buka aplikasi dan buat berkas baru. Pastikan Python sudah terpasang dan ekstensi Python tersedia.
Jika menggunakan Google Colab, buka situs Google Colab melalui browser dan buat notebook baru.
Langkah 2: Membuat program
Tuliskan kode berikut:
print("Hello, World!")print("Saya siswa kelas X SMK.")print("Saya sedang belajar pemrograman Python.")
Perhatikan penggunaan tanda kurung, tanda petik, dan penulisan kata print.
Langkah 3: Menyimpan program
Jika menggunakan editor lokal, simpan berkas dengan nama hello_world.py.
Pastikan ekstensi berkas benar-benar .py, bukan .py.txt.
Jika menggunakan Google Colab, notebook akan menyimpan kode dalam sel notebook sehingga tidak perlu menyimpan berkas .py pada langkah awal.
Langkah 4: Menjalankan program
Pada IDLE, pilih menu Run, kemudian Run Module. Pada Visual Studio Code, jalankan berkas menggunakan fitur Run Python File atau terminal.
Pada Google Colab, klik tombol Run pada sel kode.
Langkah 5: Mengamati hasil
Hasil yang diharapkan:
Hello, World!Saya siswa kelas X SMK.Saya sedang belajar pemrograman Python.
Jika hasil tidak sesuai, periksa penulisan kode, tanda petik, dan cara menjalankan program.
Langkah 6: Memodifikasi program
Ubah kode menjadi:
nama = "Nama Siswa"kelas = "X"print("Nama saya:", nama)print("Saya duduk di kelas", kelas)print("Saya siap belajar coding!")
Ganti nilai variabel nama dengan nama sendiri. Jalankan kembali program dan amati perbedaannya.
Langkah 7: Membuat laporan praktik
Tuliskan:
Tujuan kegiatan.
Alat dan bahan yang digunakan.
Kode program yang dibuat.
Hasil eksekusi program.
Kendala yang ditemukan dan cara mengatasinya.
Kesimpulan kegiatan.
Pertanyaan Evaluasi Aktivitas 1
Apa fungsi perintah
print()?Mengapa teks ditulis di antara tanda petik?
Apa perbedaan menjalankan kode di IDLE dan Google Colab?
Apa yang terjadi jika tanda kurung penutup dihilangkan?
Mengapa berkas Python lokal menggunakan ekstensi
.py?
B. Struktur Dasar Pemrograman
Struktur dasar pemrograman memungkinkan program melakukan tindakan berbeda berdasarkan kondisi, menjalankan perintah secara berulang, mengelompokkan kode ke dalam fungsi, dan menyimpan banyak data secara teratur.
1. Percabangan (if, else)
Percabangan adalah struktur kontrol yang digunakan untuk menentukan tindakan berdasarkan kondisi tertentu. Struktur ini memungkinkan program memberikan hasil berbeda sesuai masukan atau keadaan.
a. Percabangan if
Percabangan if digunakan untuk menjalankan blok kode jika kondisi bernilai benar.
Contoh:
suhu = 32if suhu > 30:print("Cuaca terasa panas")
Hasil:
Cuaca terasa panasPenjelasan:
Variabel
suhuberisi nilai 32.Program memeriksa apakah suhu lebih besar dari 30.
Karena kondisi benar, perintah
print()dijalankan.
Jika nilai suhu diubah menjadi 25, pesan tersebut tidak akan ditampilkan karena kondisi bernilai salah.
b. Percabangan if-else
Percabangan if-else digunakan ketika terdapat dua kemungkinan tindakan.
Contoh menentukan kelulusan:
nilai = 68if nilai >= 75:print("Lulus")else:print("Belum lulus")
Hasil:
Belum lulusKetika nilai minimal 75, program menampilkan pesan Lulus. Jika nilai kurang dari 75, program menampilkan pesan Belum lulus.
Contoh ini merupakan simulasi sederhana. Kriteria kelulusan sebenarnya harus mengikuti ketentuan penilaian yang berlaku.
c. Percabangan if-elif-else
Struktur if-elif-else digunakan ketika program harus memilih satu dari beberapa kemungkinan.
Contoh menentukan predikat nilai:
nilai = 86if nilai >= 90:predikat = "A"elif nilai >= 80:predikat = "B"elif nilai >= 70:predikat = "C"else:predikat = "D"print("Predikat:", predikat)
Hasil:
Predikat: BPython memeriksa kondisi dari atas ke bawah. Ketika menemukan kondisi yang benar, blok tersebut dijalankan dan kondisi berikutnya dilewati.
Urutan kondisi penting karena memengaruhi hasil program.
2. Perulangan (for, while)
Perulangan adalah struktur kontrol yang memungkinkan suatu instruksi dijalankan berkali-kali. Perulangan bermanfaat untuk menampilkan daftar, menghitung jumlah, memproses data, dan melakukan pekerjaan berulang.
a. Perulangan for
Perulangan for digunakan untuk mengambil setiap elemen dari suatu kumpulan data.
Contoh:
buah = ["Apel", "Jeruk", "Mangga"]for nama_buah in buah:print(nama_buah)
Hasil:
ApelJerukMangga
Pada setiap putaran, variabel nama_buah menerima satu elemen dari list buah.
Perulangan for sangat berguna ketika jumlah data yang akan diproses sudah tersedia dalam suatu kumpulan.
b. Perulangan for dengan range()
Fungsi range() digunakan untuk menghasilkan urutan bilangan yang dapat diproses melalui perulangan.
Contoh:
for angka in range(1, 6):print(angka)
Hasil:
12345
Pada range(1, 6), angka awal adalah 1 dan batas akhir 6 tidak disertakan.
Bentuk range() yang sering digunakan adalah:
range(5): menghasilkan 0 sampai 4.range(1, 6): menghasilkan 1 sampai 5.range(2, 11, 2): menghasilkan 2, 4, 6, 8, dan 10.
Contoh menampilkan bilangan genap:
for angka in range(2, 11, 2):print(angka)
Hasil:
246810
c. Perulangan while
Perulangan while menjalankan blok kode selama kondisi bernilai benar.
Contoh:
angka = 1while angka <= 5:print(angka)angka += 1
Hasil:
12345
Variabel angka dimulai dari 1. Setiap putaran, nilainya bertambah satu hingga kondisi angka <= 5 menjadi salah.
Jika nilai variabel tidak pernah berubah dan kondisi terus benar, perulangan dapat berjalan tanpa berhenti. Keadaan ini disebut perulangan tak berujung atau infinite loop.
d. Penggunaan break dan continue
Perintah break menghentikan perulangan secara langsung.
Contoh:
for angka in range(1, 10):if angka == 5:breakprint(angka)
Hasil:
1234
Ketika angka mencapai 5, perulangan dihentikan.
Sementara itu, continue melewati sisa instruksi pada putaran saat ini dan melanjutkan ke putaran berikutnya.
Contoh:
for angka in range(1, 6):if angka == 3:continueprint(angka)
Hasil:
1245
Angka 3 tidak ditampilkan karena perintah continue melewati perintah print() pada putaran tersebut.
3. Fungsi dan Modularitas
a. Definisi dan Pemanggilan Fungsi
Fungsi merupakan blok kode yang dibuat untuk menjalankan tugas tertentu. Fungsi didefinisikan menggunakan kata kunci def dan dijalankan dengan cara memanggil nama fungsi tersebut.
Contoh:
def salam():print("Selamat pagi!")print("Selamat belajar Python.")salam()
Hasil:
Selamat pagi!Selamat belajar Python.
Fungsi salam() dapat dipanggil berkali-kali tanpa perlu menuliskan kembali semua perintah di dalamnya.
Fungsi juga dapat menerima parameter.
def salam(nama):print("Halo,", nama)salam("Andi")salam("Rina")
Hasil:
Halo, AndiHalo, Rina
Parameter nama memungkinkan fungsi digunakan dengan nilai yang berbeda.
b. Fungsi dengan Nilai Kembali (return)
Kata kunci return digunakan untuk mengembalikan hasil dari suatu fungsi agar dapat digunakan oleh bagian program lainnya.
Contoh:
def hitung_luas(panjang, lebar):luas = panjang * lebarreturn luashasil = hitung_luas(10, 5)print("Luas:", hasil)
Hasil:
Luas: 50Nilai yang dikembalikan fungsi disimpan ke dalam variabel hasil, kemudian ditampilkan.
Perlu diingat bahwa print() dan return memiliki fungsi berbeda. print() menampilkan informasi, sedangkan return mengembalikan nilai kepada bagian program yang memanggil fungsi.
c. Modularitas dalam Pemrograman
Modularitas adalah cara menyusun program menjadi bagian-bagian yang memiliki tugas khusus. Setiap bagian dapat dibuat dalam bentuk fungsi atau modul sehingga keseluruhan program lebih terorganisasi.
Sebagai contoh, aplikasi kasir dapat dibagi menjadi beberapa bagian:
Modul data barang.
Fungsi perhitungan total belanja.
Fungsi perhitungan diskon.
Fungsi pembayaran.
Bagian pembuatan laporan transaksi.
Contoh modularitas menggunakan fungsi:
def hitung_total(harga, jumlah):return harga * jumlahdef hitung_diskon(total):if total >= 100000:return total * 0.10return 0harga = 25000jumlah = 5total = hitung_total(harga, jumlah)diskon = hitung_diskon(total)bayar = total - diskonprint("Total belanja:", total)print("Diskon:", diskon)print("Total pembayaran:", bayar)
Program memisahkan perhitungan total dan diskon ke dalam fungsi yang berbeda. Dengan cara ini, masing-masing bagian lebih mudah dipahami dan diuji.
d. Manfaat Modularitas
1. Pemeliharaan lebih mudah
Ketika terdapat kesalahan dalam perhitungan diskon, programmer dapat memperbaiki fungsi diskon tanpa mengubah seluruh bagian program.
2. Reusabilitas kode
Fungsi dapat dipanggil berkali-kali dan digunakan dalam berbagai bagian aplikasi.
3. Kolaborasi tim
Pekerjaan dapat dibagi menjadi beberapa bagian sehingga setiap anggota tim bertanggung jawab terhadap modul tertentu.
4. Peningkatan skalabilitas
Program lebih mudah dikembangkan ketika kebutuhan pengguna bertambah. Modul baru dapat ditambahkan tanpa harus menulis ulang seluruh program.
4. Struktur Data Sederhana
Struktur data adalah cara mengatur dan menyimpan informasi agar dapat digunakan secara efektif oleh program. Python menyediakan beberapa struktur data yang cocok untuk pemula, seperti list, tuple, dan dictionary.
a. List (Daftar)
List digunakan untuk menyimpan beberapa nilai dalam satu variabel. Elemen list dapat ditambah, dihapus, atau diubah.
Contoh:
nama_siswa = ["Andi", "Budi", "Citra"]print(nama_siswa)print(nama_siswa[0])nama_siswa.append("Dina")print(nama_siswa)
Hasil:
['Andi', 'Budi', 'Citra']Andi['Andi', 'Budi', 'Citra', 'Dina']
Indeks list dimulai dari 0. Artinya, elemen pertama berada pada indeks 0, elemen kedua pada indeks 1, dan seterusnya.
Fungsi append() menambahkan elemen ke bagian akhir list.
b. Tuple
Tuple menyimpan beberapa nilai dalam satu struktur, tetapi elemen yang sudah disimpan tidak dapat diubah melalui operasi penugasan elemen.
Contoh:
koordinat = (10, 20)print("Koordinat X:", koordinat[0])print("Koordinat Y:", koordinat[1])
Hasil:
Koordinat X: 10Koordinat Y: 20
Tuple cocok untuk menyimpan sekumpulan nilai yang diperlakukan sebagai satu kesatuan dan tidak perlu diubah, seperti koordinat tertentu.
c. Dictionary (Kamus)
Dictionary menyimpan data dalam bentuk pasangan kunci dan nilai. Setiap kunci digunakan untuk mengakses nilai yang terkait.
Contoh:
siswa = {"nama": "Andi","kelas": "X","jurusan": "TKL"}print(siswa["nama"])print(siswa["kelas"])print(siswa["jurusan"])
Hasil:
AndiXTKL
Dictionary cocok digunakan untuk menyimpan informasi siswa, produk, pelanggan, dan berbagai data yang memiliki atribut tertentu.
Nilai pada dictionary dapat diperbarui.
siswa["kelas"] = "XI"print(siswa["kelas"])
Hasil:
XId. Manfaat Struktur Data Sederhana
1. Organisasi data
Data yang saling berhubungan dapat disimpan dalam satu struktur sehingga lebih teratur.
2. Efisiensi akses
List dapat diakses melalui indeks, sedangkan dictionary dapat diakses menggunakan kunci.
3. Fleksibilitas
Programmer dapat memilih struktur data sesuai kebutuhan. List cocok untuk daftar yang dapat berubah, tuple untuk kumpulan nilai yang tidak perlu diubah, dan dictionary untuk pasangan kunci dan nilai.
4. Mempercepat pengembangan
Struktur data mengurangi kebutuhan membuat banyak variabel terpisah dan membantu program memproses informasi secara sistematis.
Aktivitas 2: Membuat Program Perulangan (For Loop)
Aktivitas ini bertujuan agar siswa memahami penggunaan perulangan for, fungsi range(), dan cara mengubah kode sesuai kebutuhan.
A. Alat dan Bahan
1. Perangkat keras
Laptop atau komputer yang dapat menjalankan aplikasi pemrograman.
Keyboard untuk menuliskan kode.
Mouse atau touchpad untuk mengoperasikan editor.
Monitor untuk mengamati hasil eksekusi.
2. Perangkat lunak
Pilih salah satu:
Python dan IDLE.
Python dan Visual Studio Code.
Google Colab melalui browser.
Untuk penggunaan editor lokal, pastikan Python dapat dijalankan. Jika menggunakan Google Colab, pastikan tersedia koneksi internet.
3. Bahan praktik
Modul pembelajaran.
Buku catatan.
Contoh kode perulangan
for.Berkas
for_loop.pyjika menggunakan editor lokal.
4. Pengetahuan awal
Siswa sudah memahami variabel, fungsi print(), dan cara menjalankan program Python sederhana.
B. Cara Kerja
Langkah 1: Membuat berkas program
Buka editor Python dan buat berkas baru bernama for_loop.py.
Langkah 2: Menuliskan kode
Masukkan kode berikut:
print("DAFTAR NOMOR URUT SISWA")for nomor in range(1, 11):print("Siswa nomor", nomor)
Langkah 3: Menyimpan program
Simpan berkas dengan nama for_loop.py. Jika menggunakan Google Colab, tuliskan kode pada sel notebook.
Langkah 4: Menjalankan program
Jalankan kode dan amati hasilnya. Program akan menampilkan nomor urut dari 1 sampai 10.
Langkah 5: Menganalisis hasil
Perhatikan bagian range(1, 11). Angka 1 merupakan nilai awal, sedangkan angka 11 menjadi batas yang tidak ikut ditampilkan.
Langkah 6: Memodifikasi program
Ubah kode menjadi:
for nomor in range(1, 21):print("Nomor:", nomor)
Jalankan kembali program. Hasilnya menampilkan nomor 1 sampai 20.
Langkah 7: Membuat variasi
Buat program yang menampilkan bilangan genap dari 2 sampai 20.
Petunjuk:
for angka in range(2, 21, 2):print(angka)
Langkah 8: Menyusun laporan
Tuliskan tujuan, kode, hasil eksekusi, analisis fungsi range(), dan kesimpulan praktik.
Pertanyaan Praktik
Apa fungsi perulangan
for?Mengapa
range(1, 11)menghasilkan sepuluh angka?Apa yang terjadi jika
range(1, 11)diubah menjadirange(1, 11, 2)?Bagaimana cara menampilkan bilangan ganjil dari 1 sampai 19?
Apa perbedaan penggunaan
fordanwhile?
C. Penulisan Kode dan Praktik Sederhana
Penulisan kode yang baik merupakan kebiasaan penting bagi programmer. Kode tidak hanya perlu menghasilkan keluaran yang benar, tetapi juga harus mudah dibaca, dipahami, diuji, dan diperbaiki.
1. Format Penulisan Kode
a. Identasi dan Struktur Blok
Indentasi menunjukkan bagian kode yang termasuk dalam suatu blok. Pada Python, indentasi umumnya menggunakan empat spasi.
Contoh:
nilai = 90if nilai >= 75:print("Lulus")print("Pertahankan prestasi")
Kedua perintah print() menjadi bagian dari blok if.
Gunakan indentasi secara konsisten dan hindari mencampurkan penggunaan tab dan spasi secara sembarangan.
b. Penamaan Variabel dan Fungsi
Gunakan nama variabel dan fungsi yang menjelaskan tujuan penggunaannya.
Contoh yang baik:
nama_siswa = "Dina"total_belanja = 150000def hitung_total():pass
Contoh yang kurang jelas:
a = "Dina"b = 150000def f():pass
Nama singkat memang dapat digunakan untuk situasi tertentu, tetapi nama yang deskriptif memudahkan pembaca memahami program.
Dalam Python, snake_case lazim digunakan untuk nama variabel dan fungsi, misalnya jumlah_barang dan hitung_total.
c. Penulisan Komentar
Komentar digunakan untuk menjelaskan tujuan atau alasan suatu bagian kode. Komentar satu baris dalam Python diawali dengan tanda #.
Contoh:
# Menghitung total harga barangharga = 20000jumlah = 3total = harga * jumlahprint("Total:", total)
Komentar membantu programmer lain memahami kode. Namun, komentar sebaiknya tidak sekadar mengulang instruksi yang sudah jelas.
d. Spasi dan Baris Kosong
Spasi dan baris kosong membantu memisahkan bagian program agar lebih mudah dibaca.
Contoh:
harga_barang = 50000jumlah_barang = 2total = harga_barang * jumlah_barangprint("Total pembayaran:", total)
Kode tersebut memisahkan bagian penentuan nilai, proses perhitungan, dan keluaran.
Gunakan spasi secara konsisten, terutama di sekitar operator seperti =, +, dan *.
e. Penggunaan Standar atau Linter
PEP 8 merupakan panduan gaya penulisan kode Python. Panduan ini membantu programmer menulis kode dengan format yang konsisten.
Linter adalah alat yang memeriksa kode untuk menemukan masalah gaya penulisan dan sejumlah pola yang berpotensi menimbulkan kesalahan.
Contoh alat yang dapat digunakan:
Ruff.
Flake8.
Fitur pemeriksaan kode pada editor atau IDE.
Sebagai contoh, kode berikut sulit dibaca:
x=10y=20print(x+y)
Kode yang lebih rapi:
x = 10y = 20print(x + y)
Linter membantu meningkatkan kualitas kode, tetapi hasil pemeriksaannya tetap perlu dipahami dan ditinjau oleh programmer.
2. Proyek Mini: Hello World dan Kalkulator
Proyek mini adalah proyek sederhana yang digunakan untuk melatih penerapan beberapa konsep pemrograman dalam satu program.
a. Hello World
Program Hello World merupakan latihan awal untuk memahami penulisan dan eksekusi kode.
print("Hello, World!")Program tersebut menampilkan satu baris teks. Walaupun sederhana, latihan ini membantu siswa memahami bahwa instruksi harus ditulis sesuai aturan bahasa pemrograman.
b. Kalkulator Sederhana
Kalkulator sederhana merupakan proyek yang menggabungkan input, variabel, operator, dan percabangan.
Contoh kode:
angka1 = float(input("Masukkan angka pertama: "))operator = input("Pilih operator (+, -, *, /): ")angka2 = float(input("Masukkan angka kedua: "))if operator == "+":hasil = angka1 + angka2elif operator == "-":hasil = angka1 - angka2elif operator == "*":hasil = angka1 * angka2elif operator == "/":if angka2 != 0:hasil = angka1 / angka2else:hasil = Noneprint("Kesalahan: pembagian dengan nol.")else:hasil = Noneprint("Operator tidak dikenal.")if hasil is not None:print("Hasil perhitungan:", hasil)
Penjelasan:
Fungsi
input()menerima masukan dari pengguna.Fungsi
float()mengubah masukan menjadi bilangan desimal.Variabel
operatormenyimpan simbol operasi yang dipilih.Percabangan menentukan operasi yang akan dilakukan.
Program memeriksa pembagian dengan nol.
Hasil ditampilkan jika operasi berhasil dilakukan.
Contoh penggunaan:
Masukkan angka pertama: 20Pilih operator (+, -, *, /): *Masukkan angka kedua: 5Hasil perhitungan: 100.0
Catatan: program ini mengasumsikan pengguna memasukkan angka yang valid. Penanganan masukan bukan angka dapat ditambahkan menggunakan try-except.
c. Manfaat Proyek Mini
Proyek mini memberikan kesempatan kepada siswa untuk:
Menggabungkan beberapa konsep pemrograman.
Berlatih mengubah kebutuhan menjadi langkah penyelesaian.
Memahami hubungan antara masukan, proses, dan keluaran.
Menguji kode dengan berbagai data.
Mengembangkan kepercayaan diri sebelum membuat proyek yang lebih kompleks.
3. Simulasi Masalah Kehidupan Nyata
Pemrograman akan lebih mudah dipahami ketika digunakan untuk menyelesaikan persoalan yang dekat dengan kehidupan siswa.
a. Contoh Simulasi Pengelolaan Uang Saku
Misalnya, seorang siswa memiliki uang saku Rp25.000. Ia menggunakan Rp12.000 untuk makan dan Rp5.000 untuk minum.
Program berikut menghitung total pengeluaran dan sisa uang.
uang_saku = 25000pengeluaran_makan = 12000pengeluaran_minum = 5000total_pengeluaran = pengeluaran_makan + pengeluaran_minumsisa_uang = uang_saku - total_pengeluaranprint("Uang saku:", uang_saku)print("Total pengeluaran:", total_pengeluaran)print("Sisa uang:", sisa_uang)
Hasil:
Uang saku: 25000Total pengeluaran: 17000Sisa uang: 8000
Program dapat dikembangkan agar pengguna memasukkan nominal uang saku dan pengeluaran sendiri.
uang_saku = int(input("Masukkan uang saku: "))pengeluaran = int(input("Masukkan total pengeluaran: "))sisa_uang = uang_saku - pengeluaranprint("Sisa uang:", sisa_uang)if sisa_uang < 0:print("Pengeluaran melebihi uang saku.")elif sisa_uang == 0:print("Uang saku telah habis.")else:print("Masih ada uang yang tersisa.")
Contoh ini menggunakan variabel, operasi aritmatika, input, dan percabangan.
b. Contoh Simulasi Sistem Antrean
Sistem antrean digunakan pada berbagai tempat, seperti loket, kantin, dan pelayanan administrasi.
Dalam simulasi sederhana, orang yang datang lebih dahulu akan dilayani lebih dahulu.
antrean = ["Andi", "Budi", "Citra"]print("Antrean awal:", antrean)antrean.append("Dina")print("Setelah Dina bergabung:", antrean)dilayani = antrean.pop(0)print("Pelanggan yang dilayani:", dilayani)print("Sisa antrean:", antrean)
Hasil:
Antrean awal: ['Andi', 'Budi', 'Citra']Setelah Dina bergabung: ['Andi', 'Budi', 'Citra', 'Dina']Pelanggan yang dilayani: AndiSisa antrean: ['Budi', 'Citra', 'Dina']
Fungsi append() menambahkan orang ke bagian akhir antrean, sedangkan pop(0) mengambil dan menghapus elemen pertama.
Contoh ini menunjukkan penerapan struktur data list untuk menggambarkan sistem antrean sederhana.
c. Manfaat Simulasi Kehidupan Nyata
Simulasi membantu siswa memahami cara menerapkan konsep pemrograman pada persoalan sehari-hari.
Manfaatnya antara lain:
Membantu melatih pemecahan masalah.
Memudahkan pengujian berbagai kondisi.
Meningkatkan pemahaman tentang logika program.
Menunjukkan kegunaan variabel, operator, percabangan, dan struktur data.
Menjadi dasar untuk membuat aplikasi yang lebih kompleks.
4. Kolaborasi dalam Penulisan Kode
a. Penerapan Kolaborasi di Kelas
Kolaborasi adalah kegiatan bekerja bersama untuk mencapai tujuan tertentu. Dalam pembelajaran pemrograman, kolaborasi membantu siswa bertukar ide, membagi tugas, dan memperbaiki kode secara bersama-sama.
Misalnya, kelompok membuat aplikasi kalkulator. Pembagian tugas dapat dilakukan sebagai berikut:
Anggota pertama membuat rancangan alur program.
Anggota kedua menulis kode perhitungan.
Anggota ketiga mengembangkan tampilan masukan dan keluaran berbasis teks.
Anggota keempat menguji program dan mencatat kesalahan.
Seluruh anggota meninjau kode dan menyiapkan presentasi.
Setiap anggota perlu memahami keseluruhan cara kerja program, bukan hanya bagian yang dikerjakan sendiri.
b. Penggunaan Platform Kolaborasi
Beberapa platform yang dapat mendukung pembelajaran pemrograman adalah:
1. GitHub
GitHub digunakan untuk menyimpan repositori kode, melacak perubahan, dan bekerja bersama melalui fitur seperti branch dan pull request.
2. Google Colab
Google Colab memungkinkan siswa menulis dan menjalankan Python melalui browser. Notebook dapat dibagikan sehingga anggota kelompok dapat mempelajari kode yang sama.
3. Replit
Replit menyediakan lingkungan pemrograman daring untuk menulis dan menjalankan kode tanpa harus menyiapkan seluruh perangkat pengembangan pada komputer lokal.
4. Visual Studio Code
Visual Studio Code dapat digunakan untuk mengedit kode secara lokal dan dilengkapi ekstensi yang mendukung berbagai kebutuhan pemrograman.
Pemilihan platform sebaiknya disesuaikan dengan ketersediaan internet, fasilitas sekolah, dan tingkat kemampuan siswa.
Aktivitas 3: Proyek Mini Simulasi Pengingat Jadwal Makan
A. Alat dan Bahan
1. Perangkat keras
Laptop atau komputer.
Keyboard dan mouse atau touchpad.
Monitor untuk melihat hasil program.
2. Perangkat lunak
Pilih Python dengan IDLE, Visual Studio Code, atau Google Colab.
3. Bahan praktik
Daftar jadwal makan harian.
Contoh kode Python.
Buku catatan atau dokumen laporan.
Editor untuk menulis dan menguji kode.
4. Pengetahuan awal
Siswa sudah memahami variabel, dictionary, perulangan for, dan fungsi print().
B. Cara Kerja
Langkah 1: Menentukan tujuan program
Program dibuat untuk menampilkan jadwal makan harian yang terdiri atas waktu makan pagi, siang, dan malam.
Langkah 2: Membuat berkas program
Buat berkas pengingat_makan.py jika menggunakan editor lokal. Jika menggunakan Google Colab, buat sel kode baru.
Langkah 3: Menuliskan kode
jadwal_makan = {"Pagi": "07.00","Siang": "12.00","Malam": "19.00"}print("=== PENGINGAT JADWAL MAKAN ===")for waktu, jam in jadwal_makan.items():print(f"Makan {waktu}: pukul {jam}")print("Jangan lupa makan tepat waktu!")
Langkah 4: Memahami kode
jadwal_makanadalah dictionary yang menyimpan nama waktu makan dan jamnya.items()digunakan untuk memperoleh pasangan kunci dan nilai.Perulangan
formembaca setiap pasangan data.print()menampilkan jadwal ke layar.f-stringmemungkinkan nilai variabel dimasukkan ke dalam teks.
Langkah 5: Menjalankan program
Jalankan kode dan periksa hasilnya.
=== PENGINGAT JADWAL MAKAN ===Makan Pagi: pukul 07.00Makan Siang: pukul 12.00Makan Malam: pukul 19.00Jangan lupa makan tepat waktu!
Langkah 6: Memodifikasi jadwal
Tambahkan jadwal baru, misalnya:
jadwal_makan["Camilan"] = "15.30"Jalankan kembali program. Jadwal camilan akan ikut ditampilkan karena perulangan membaca seluruh isi dictionary.
Langkah 7: Mengembangkan program
Siswa dapat menambahkan fitur berikut:
Menambahkan pilihan jadwal makan.
Mengubah jam makan.
Menampilkan menu berdasarkan pilihan pengguna.
Memeriksa apakah jadwal yang dimasukkan tersedia.
Catatan penting: Program ini baru menampilkan jadwal ketika dijalankan. Program belum mengirim notifikasi otomatis pada waktu yang ditentukan. Pengingat otomatis memerlukan fitur penjadwalan tambahan.
Langkah 8: Menyusun laporan
Tuliskan tujuan proyek, kode program, hasil eksekusi, fitur yang berhasil dibuat, kendala, dan rencana pengembangan.
D. Teknik Debugging
Debugging adalah proses menemukan, menganalisis, dan memperbaiki kesalahan pada program. Kegiatan ini merupakan bagian penting dalam pemrograman karena kode yang terlihat benar belum tentu menghasilkan keluaran yang sesuai dengan tujuan.
Programmer perlu menguji kode, memahami pesan kesalahan, dan memeriksa hasil secara sistematis.
1. Jenis Error pada Program
a. Syntax Error
Syntax error terjadi ketika penulisan kode tidak mengikuti aturan sintaks bahasa pemrograman.
Contoh kode yang salah:
print("Selamat belajar Python"Tanda kurung penutup belum dituliskan.
Perbaikan:
print("Selamat belajar Python")Pada contoh lain, penulisan operator atau struktur percabangan yang tidak sesuai juga dapat menyebabkan syntax error.
nilai = 80if nilai => 75:print("Lulus")
Operator => tidak benar untuk perbandingan lebih besar dari atau sama dengan.
Perbaikannya:
nilai = 80if nilai >= 75:print("Lulus")
b. Runtime Error
Runtime error terjadi ketika program mengalami kesalahan saat dijalankan.
Contoh:
angka = 10pembagi = 0hasil = angka / pembagiprint(hasil)
Program menghasilkan ZeroDivisionError karena bilangan tidak dapat dibagi dengan nol.
Perbaikan:
angka = 10pembagi = 0if pembagi != 0:hasil = angka / pembagiprint(hasil)else:print("Pembagi tidak boleh nol.")
Pemeriksaan kondisi sebelum pembagian mencegah kesalahan tersebut.
c. Logical Error
Logical error terjadi ketika program dapat berjalan, tetapi hasilnya tidak sesuai dengan tujuan.
Contoh:
panjang = 10lebar = 5luas = panjang + lebarprint("Luas:", luas)
Program menghasilkan angka 15, padahal rumus luas persegi panjang adalah panjang dikalikan lebar.
Perbaikan:
panjang = 10lebar = 5luas = panjang * lebarprint("Luas:", luas)
Hasil yang benar adalah 50.
Logical error sering kali membutuhkan pemeriksaan logika, rumus, dan hasil pengujian karena program tidak selalu menampilkan pesan error.
2. Teknik Identifikasi Kesalahan
a. Membaca Pesan Error
Python biasanya menampilkan pesan kesalahan yang berisi jenis error dan lokasi baris kode yang perlu diperiksa.
Sebagai contoh, SyntaxError menunjukkan adanya masalah sintaks, sedangkan ZeroDivisionError menunjukkan operasi pembagian dengan nol.
Cara membaca pesan error:
Perhatikan jenis error.
Baca informasi baris yang disebutkan.
Periksa kode di sekitar baris tersebut.
Cari penyebab yang sesuai dengan pesan.
Perbaiki kode dan jalankan kembali program.
Pesan error merupakan petunjuk, bukan selalu penjelasan lengkap tentang akar masalah. Programmer tetap perlu memahami konteks kode.
b. Penggunaan print Statement
Perintah print() dapat membantu memeriksa nilai variabel di beberapa bagian program.
Contoh:
harga = 20000jumlah = 3print("Harga:", harga)print("Jumlah:", jumlah)total = harga * jumlahprint("Total:", total)
Jika hasil perhitungan tidak sesuai, programmer dapat memeriksa nilai harga, jumlah, dan total.
Teknik ini sederhana dan cocok digunakan oleh pemula.
c. Membaca Ulang Kode Secara Teliti
Pemeriksaan manual dapat dilakukan dengan memperhatikan:
Ejaan nama variabel.
Tanda kurung dan tanda petik.
Operator aritmatika dan perbandingan.
Struktur percabangan dan perulangan.
Indentasi.
Nilai awal dan perubahan variabel.
Hasil yang seharusnya diperoleh.
Contohnya, variabel total_harga dan total_harga_barang adalah dua nama berbeda. Kesalahan penulisan nama dapat membuat program menggunakan variabel yang salah atau menghasilkan NameError.
3. Tool untuk Debugging
a. Debugger Bawaan IDE
Debugger membantu programmer menjalankan program secara bertahap dan memeriksa nilai variabel pada titik tertentu.
Beberapa fitur debugger antara lain:
Breakpoint: menghentikan sementara program pada baris tertentu.
Step over: menjalankan instruksi berikutnya tanpa masuk ke fungsi yang dipanggil.
Step into: masuk ke dalam fungsi untuk memeriksa prosesnya.
Variables: melihat nilai variabel saat program berhenti.
Debugger tersedia pada berbagai IDE dan editor yang mendukung Python, termasuk IDLE dan Visual Studio Code.
b. Linting Tools
Linting tools membantu menemukan masalah penulisan kode, pola yang berpotensi menimbulkan kesalahan, dan ketidakkonsistenan gaya penulisan.
Contohnya Ruff dan Flake8.
Linter dapat memberikan peringatan mengenai variabel yang tidak digunakan, masalah gaya kode, atau pola tertentu yang perlu diperiksa.
Namun, linter tidak selalu dapat mendeteksi kesalahan logika karena program mungkin tetap berjalan meskipun perhitungannya salah.
c. Logging Framework
Logging digunakan untuk mencatat informasi selama program berjalan. Pencatatan ini bermanfaat untuk memahami alur program dan menelusuri kesalahan.
Python menyediakan modul bawaan logging.
Contoh:
import logginglogging.basicConfig(level=logging.INFO)logging.info("Program dimulai")angka = 10logging.info("Nilai angka: %s", angka)print("Program selesai")
Contoh keluaran:
INFO:root:Program dimulaiINFO:root:Nilai angka: 10Program selesai
Logging dapat digunakan untuk mencatat informasi, peringatan, dan kesalahan. Pada program yang lebih besar, pencatatan ini lebih mudah dikelola daripada menambahkan banyak perintah print().
4. Praktik Perbaikan Kode
a. Refactoring Kode
Refactoring adalah proses memperbaiki struktur internal kode agar lebih mudah dibaca, digunakan kembali, dan dipelihara tanpa mengubah perilaku yang diharapkan.
Contoh sebelum refactoring:
print(10 * 5)print(10 * 7)print(10 * 9)
Contoh setelah refactoring:
def hitung_luas(panjang, lebar):return panjang * lebarprint(hitung_luas(10, 5))print(hitung_luas(10, 7))print(hitung_luas(10, 9))
Fungsi hitung_luas() membuat proses perhitungan lebih mudah digunakan kembali.
Refactoring bukan sekadar membuat kode lebih pendek. Tujuan utamanya adalah memperbaiki struktur dan keterbacaan dengan tetap menjaga hasil yang diharapkan.
b. Uji Coba Ulang (Retesting)
Setelah kode diperbaiki, jalankan program kembali untuk memastikan kesalahan sudah teratasi.
Sebagai contoh, kalkulator perlu diuji menggunakan:
Penjumlahan dua bilangan.
Pengurangan dua bilangan.
Perkalian dua bilangan.
Pembagian dengan pembagi bukan nol.
Pembagian dengan nol.
Masukan operator yang tidak dikenal.
Retesting memastikan bahwa perbaikan tidak menimbulkan kesalahan baru pada fungsi lainnya.
c. Pendokumentasian Perubahan
Dokumentasi perubahan adalah pencatatan masalah yang ditemukan, penyebabnya, perbaikan yang dilakukan, dan hasil pengujian.
Contoh dokumentasi:
| Bagian | Keterangan |
|---|---|
| Nama program | Kalkulator sederhana |
| Kesalahan | Program gagal saat pembagian dengan nol |
| Penyebab | Tidak ada pemeriksaan nilai pembagi |
| Perbaikan | Menambahkan kondisi if pembagi != 0 |
| Pengujian | Pembagian normal dan pembagian dengan nol |
| Hasil | Program memberikan pesan yang sesuai |
Dokumentasi membantu programmer memahami riwayat perbaikan dan mempermudah kerja sama dalam kelompok.
Aktivitas 4: Tantangan Debugging — Temukan dan Perbaiki
Aktivitas ini bertujuan melatih kemampuan siswa mengenali syntax error, runtime error, dan logical error melalui praktik langsung.
A. Alat dan Bahan
Laptop atau komputer.
Python dan editor kode, seperti IDLE atau Visual Studio Code.
Modul pembelajaran.
Buku catatan untuk mencatat kesalahan.
Contoh kode yang mengandung kesalahan.
Tabel dokumentasi hasil debugging.
B. Cara Kerja
Langkah 1: Membuat berkas praktik
Buat berkas bernama tantangan_debugging.py.
Langkah 2: Menyalin kode yang salah
Salin kode berikut tanpa memperbaikinya terlebih dahulu.
nilai = 80pembagi = 0if nilai => 75print("Siswa lulus")hasil = 100 / pembagiprint("Hasil:", hasil)panjang = 10lebar = 5luas = panjang + lebarprint("Luas:", luas)
Langkah 3: Menjalankan program
Jalankan program dan perhatikan pesan error pertama yang muncul.
Langkah 4: Mengidentifikasi kesalahan
Temukan kesalahan yang berkaitan dengan:
Operator perbandingan.
Tanda titik dua setelah kondisi
if.Indentasi pada blok
if.Pembagian dengan nol.
Rumus luas persegi panjang.
Langkah 5: Memperbaiki kode
Lakukan perbaikan secara bertahap. Perbaiki syntax error terlebih dahulu agar program dapat melanjutkan proses eksekusi, kemudian tangani runtime error dan periksa logika perhitungannya.
Langkah 6: Menjalankan ulang program
Setelah setiap perbaikan, jalankan kembali program dan amati apakah masih terdapat kesalahan.
Langkah 7: Menguji hasil
Gunakan nilai dan pembagi yang berbeda untuk memastikan program bekerja sesuai tujuan.
C. Contoh Kode Setelah Diperbaiki
nilai = 80pembagi = 0if nilai >= 75:print("Siswa lulus")else:print("Siswa belum lulus")if pembagi != 0:hasil = 100 / pembagiprint("Hasil:", hasil)else:print("Pembagi tidak boleh nol.")panjang = 10lebar = 5luas = panjang * lebarprint("Luas:", luas)
Hasil:
Siswa lulusPembagi tidak boleh nol.Luas: 50
Kode tersebut telah diperbaiki agar sintaksnya benar, pembagian dengan nol ditangani, dan perhitungan luas menggunakan rumus yang tepat.
D. Lembar Dokumentasi Debugging
Siswa mengisi tabel berikut berdasarkan hasil praktik.
| No. | Kesalahan yang ditemukan | Jenis error | Perbaikan |
|---|---|---|---|
| 1 | Operator => | Syntax error | Menggunakan >= |
| 2 | Tanda titik dua hilang | Syntax error | Menambahkan : |
| 3 | Indentasi tidak tepat | IndentationError | Memperbaiki indentasi |
| 4 | Pembagian dengan nol | Runtime error | Memeriksa pembagi |
| 5 | Penjumlahan untuk luas | Logical error | Menggunakan perkalian |
E. Pertanyaan Evaluasi
Mengapa syntax error perlu diperbaiki sebelum menguji bagian program lainnya?
Apa perbedaan runtime error dan logical error?
Mengapa pembagian dengan nol harus ditangani?
Bagaimana cara mengetahui bahwa hasil program sudah benar?
Apa manfaat mendokumentasikan perubahan kode?
Tugas Mandiri
Kerjakan soal berikut secara individu menggunakan Python. Setiap program harus disimpan, dijalankan, dan diuji sebelum dikumpulkan.
Tugas 1: Identitas Siswa
Buat program yang menampilkan nama, kelas, jurusan, dan cita-cita menggunakan variabel.
Tugas 2: Kalkulator Sederhana
Buat program yang menerima dua angka dan satu operator. Program harus mendukung penjumlahan, pengurangan, perkalian, dan pembagian serta menangani pembagian dengan nol.
Tugas 3: Menentukan Bilangan Genap atau Ganjil
Buat program yang menerima satu bilangan bulat. Gunakan operator modulus untuk menentukan apakah bilangan tersebut genap atau ganjil.
Tugas 4: Perulangan
Gunakan for dan range() untuk menampilkan bilangan 1 sampai 20. Buat variasi untuk menampilkan bilangan ganjil saja.
Tugas 5: Pengelolaan Uang Saku
Buat program untuk memasukkan uang saku, pengeluaran makan, dan pengeluaran transportasi. Hitung total pengeluaran dan sisa uang.
Tugas 6: Fungsi
Buat fungsi hitung_luas(panjang, lebar) yang mengembalikan hasil perkalian panjang dan lebar menggunakan return.
Tugas 7: Struktur Data
Simpan lima nama teman dalam list, kemudian tampilkan seluruh nama menggunakan perulangan.
Tugas 8: Debugging
Buat sebuah program sederhana yang mengandung setidaknya dua kesalahan. Catat jenis kesalahan, penyebab, perbaikan, dan hasil pengujian setelah diperbaiki.
Ketentuan pengumpulan:
Kode program yang dapat dijalankan.
Tangkapan layar hasil eksekusi.
Penjelasan singkat mengenai cara kerja.
Kesimpulan mengenai konsep yang dipelajari.
Tugas Kelompok
Bentuk kelompok yang terdiri atas tiga sampai lima siswa. Pilih satu proyek berikut dan kembangkan menggunakan konsep pemrograman yang telah dipelajari.
Proyek 1: Aplikasi Pengelolaan Uang Saku
Buat aplikasi sederhana yang dapat menerima uang saku, mencatat beberapa pengeluaran, menghitung total pengeluaran, dan menampilkan sisa uang.
Program setidaknya menggunakan variabel, tipe data, operator aritmatika, perulangan, dan fungsi.
Proyek 2: Simulasi Sistem Antrean
Buat program untuk menambahkan nama ke antrean, menampilkan daftar antrean, dan melayani orang berdasarkan urutan kedatangan.
Gunakan list dan perulangan untuk mengelola antrean.
Proyek 3: Pengingat Jadwal Harian
Buat program yang menyimpan jadwal belajar, makan, atau kegiatan harian menggunakan dictionary.
Program harus mampu menampilkan seluruh jadwal dan memungkinkan pengguna memilih jadwal tertentu.
Proyek 4: Kalkulator Nilai Siswa
Buat program untuk memasukkan beberapa nilai, menghitung rata-rata, dan menentukan predikat berdasarkan kriteria yang ditetapkan kelompok.
Gunakan list untuk menyimpan nilai dan fungsi untuk menghitung rata-rata.
Ketentuan Proyek Kelompok
Setiap proyek harus memenuhi ketentuan berikut:
Memiliki tujuan dan permasalahan yang jelas.
Menggunakan variabel dan tipe data yang tepat.
Menerapkan percabangan atau perulangan.
Menggunakan setidaknya satu fungsi.
Memiliki proses pengujian dan debugging.
Menyertakan dokumentasi dan laporan.
Dipresentasikan di depan kelas.
Rubrik Penilaian Proyek
| Aspek penilaian | Bobot |
|---|---|
| Ketepatan fungsi program | 30% |
| Penerapan konsep pemrograman | 25% |
| Kerapian dan keterbacaan kode | 15% |
| Pengujian dan debugging | 15% |
| Presentasi dan kerja sama | 15% |
| Total | 100% |
Refleksi Pembelajaran
Setelah mempelajari Bab 4 Pengenalan dan Penerapan Pemrograman Teks, jawablah pertanyaan berikut dengan jujur.
Apa yang saya pahami tentang pemrograman berbasis teks?
Mengapa Python cocok digunakan untuk mempelajari dasar pemrograman?
Apa perbedaan variabel, tipe data, dan operator?
Kapan saya menggunakan percabangan
if-else?Apa perbedaan perulangan
fordanwhile?Mengapa fungsi dan modularitas penting dalam pembuatan program?
Apa perbedaan list, tuple, dan dictionary?
Bagaimana cara menemukan dan memperbaiki kesalahan pada program?
Apa kontribusi saya dalam praktik atau proyek kelompok?
Keterampilan pemrograman apa yang ingin saya tingkatkan?
Tuliskan juga satu hal yang sudah dikuasai, satu hal yang masih sulit dipahami, dan satu tindakan yang akan dilakukan untuk meningkatkan kemampuan pemrograman.
Uji Kompetensi Bab 4
Pilihlah satu jawaban yang paling tepat untuk setiap pertanyaan berikut.
1. Bahasa pemrograman yang memiliki sintaks relatif sederhana dan banyak digunakan untuk pembelajaran pemrograman adalah ....
2. Perintah Python yang digunakan untuk menampilkan informasi ke layar adalah ....
input()type()print()range()return3. Tipe data yang tepat untuk menyimpan bilangan bulat adalah ....
strboolfloatintdict4. Hasil dari operasi 17 % 5 adalah ....
5. Operator logika yang menghasilkan True jika kedua kondisi benar adalah ....
ornotand!===6. Perhatikan kode berikut.
nilai = 70if nilai >= 75:print("Lulus")else:print("Belum lulus")
Keluaran program tersebut adalah ....
7. Perhatikan kode berikut.
for angka in range(1, 5):print(angka)
Angka terakhir yang ditampilkan adalah ....
8. Struktur perulangan yang berjalan selama kondisinya benar adalah ....
ifelsedefwhilereturn9. Kata kunci yang digunakan untuk mengembalikan nilai dari sebuah fungsi adalah ....
breakcontinuereturninputimport10. Struktur data Python yang menyimpan pasangan kunci dan nilai adalah ....
11. Kesalahan penulisan sintaks pada program disebut ....
12. Program dapat dijalankan, tetapi hasil perhitungannya salah. Kesalahan tersebut termasuk ....
13. Fungsi utama debugger adalah ....
14. Salah satu manfaat fungsi dalam program adalah ....
15. Dalam Python, indentasi digunakan untuk ....
16. Fungsi append() pada list digunakan untuk ....
17. Struktur data yang elemen-elemennya tidak dapat diubah melalui penugasan elemen setelah dibuat adalah ....
18. Perintah break dalam perulangan digunakan untuk ....
19. Tujuan utama debugging adalah ....
20. Teknik yang dapat digunakan untuk memeriksa nilai variabel saat program berjalan adalah ....
print() atau debuggerKunci Jawaban Uji Kompetensi
| No. | Jawaban | No. | Jawaban |
|---|---|---|---|
| 1 | B | 11 | B |
| 2 | C | 12 | C |
| 3 | D | 13 | D |
| 4 | A | 14 | B |
| 5 | C | 15 | C |
| 6 | B | 16 | B |
| 7 | C | 17 | C |
| 8 | D | 18 | B |
| 9 | C | 19 | C |
| 10 | E | 20 | C |
Kesimpulan Bab 4
Pemrograman teks merupakan keterampilan dasar yang membantu siswa memahami cara komputer menjalankan instruksi. Dengan menggunakan Python, siswa dapat mempelajari berbagai konsep, mulai dari variabel dan tipe data hingga percabangan, perulangan, fungsi, dan struktur data.
Selain memahami konsep, siswa perlu membiasakan diri menulis kode yang rapi, menggunakan struktur program yang tepat, bekerja sama dalam kelompok, serta melakukan debugging ketika terjadi kesalahan.
Melalui kegiatan praktik dan proyek mini, siswa dapat menghubungkan teori dengan permasalahan sehari-hari, seperti pengelolaan uang saku, sistem antrean, kalkulator, dan pengingat jadwal.
Kemampuan pemrograman berkembang melalui latihan yang konsisten. Oleh karena itu, teruslah mencoba, menguji kode, memperbaiki kesalahan, dan mengembangkan ide menjadi program yang bermanfaat.
Rekomendasi Materi Lanjutan
Setelah menyelesaikan Bab 4, siswa dapat melanjutkan pembelajaran dengan topik berikut:
Algoritma dan pemecahan masalah.
Pemrograman Python tingkat dasar.
Pengolahan data menggunakan Python.
Pengenalan basis data.
Pembuatan aplikasi sederhana.
Pengembangan proyek pemrograman secara kolaboratif.
Dengan memahami dasar pemrograman teks, siswa memiliki bekal untuk mempelajari teknologi yang lebih kompleks dan menerapkan keterampilan komputasional sesuai kompetensi keahlian masing-masing.
Kata kunci: Bab 4 Pengenalan dan Penerapan Pemrograman Teks, materi Python kelas X SMK, belajar coding untuk pemula, dasar pemrograman Python, percabangan Python, perulangan Python, fungsi Python, struktur data Python, dan teknik debugging.

Post a Comment