Materi KKA Kelas X Bab 4 Pengenalan dan Penerapan Pemrograman Teks

Table of Contents

Bab 4 Pengenalan dan Penerapan Pemrograman Teks: Materi Lengkap Python Kelas X SMK

Pendahuluan

Perkembangan teknologi digital membuat kemampuan pemrograman semakin dibutuhkan dalam berbagai bidang pekerjaan. Pemrograman tidak hanya digunakan untuk membuat aplikasi komputer, tetapi juga untuk mengolah data, mengembangkan website, mengotomatisasi pekerjaan, dan menyelesaikan berbagai permasalahan sehari-hari.

                        

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.

  1. Python, digunakan untuk pembelajaran pemrograman, otomatisasi, pengolahan data, kecerdasan buatan, dan pengembangan aplikasi.

  2. JavaScript, digunakan untuk membuat halaman web interaktif.

  3. Java, digunakan untuk mengembangkan berbagai aplikasi dan sistem perangkat lunak.

  4. C++, digunakan untuk aplikasi yang membutuhkan kinerja tinggi.

  5. 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:

  1. Tujuan penggunaan: apakah program digunakan untuk menghitung, mengolah data, membuat website, atau mengembangkan aplikasi.

  2. Kemudahan dipelajari: bahasa yang sederhana membantu pemula memahami konsep dasar.

  3. Ketersediaan perangkat: bahasa tersebut dapat dijalankan pada komputer atau lingkungan belajar yang tersedia.

  4. Dukungan komunitas: dokumentasi dan contoh program memudahkan proses belajar.

  5. 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 panjang
panjang = 10
lebar = 5
luas = panjang * lebar
print("Luas persegi panjang:", luas)

Hasil program:

Luas persegi panjang: 50

Penjelasan setiap bagian:

  1. # Program menghitung luas persegi panjang merupakan komentar yang menjelaskan tujuan program.

  2. panjang = 10 menyimpan nilai panjang.

  3. lebar = 5 menyimpan nilai lebar.

  4. luas = panjang * lebar menghitung luas dengan mengalikan panjang dan lebar.

  5. 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 = 85
if 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 = 85
if nilai >= 75:
print("Anda lulus")

Kode tersebut menimbulkan IndentationError karena perintah di dalam blok if tidak memiliki indentasi yang benar.

Perbaikannya:

nilai = 85
if 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 = 16
nilai = 88.5
print(nama)
print(umur)
print(nilai)

Hasil program:

Andi
16
88.5

Penjelasan:

  • nama merujuk pada teks "Andi".

  • umur merujuk pada bilangan bulat 16.

  • nilai merujuk pada bilangan desimal 88.5.

Python tidak mengharuskan programmer mendeklarasikan tipe variabel terlebih dahulu. Tipe nilai dikenali ketika nilai tersebut diberikan.

Aturan umum penamaan variabel dalam Python:

  1. Nama variabel dapat menggunakan huruf, angka, dan garis bawah.

  2. Nama variabel tidak boleh diawali angka.

  3. Nama variabel tidak boleh menggunakan kata kunci Python, seperti if, for, atau class.

  4. Nama variabel peka terhadap huruf besar dan kecil.

  5. Nama variabel sebaiknya menggambarkan informasi yang disimpan.

Contoh nama variabel yang benar:

nama_siswa = "Rina"
jumlah_barang = 10
nilai_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 dataFungsiContoh
strMenyimpan teks"Pekalongan"
intMenyimpan bilangan bulat20
floatMenyimpan bilangan desimal75.5
boolMenyimpan nilai logikaTrue
listMenyimpan kumpulan nilai yang dapat diubah[10, 20, 30]
tupleMenyimpan kumpulan nilai yang tidak dapat diubah(10, 20, 30)
dictMenyimpan pasangan kunci dan nilai{"nama": "Andi"}

Contoh penggunaan beberapa tipe data:

nama = "Siti"
umur = 17
tinggi = 158.5
sudah_mendaftar = True
print(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 = 5
harga_buku = 12500.0
lulus = True
print("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.

OperatorFungsiContohHasil
+Penjumlahan10 + 515
-Pengurangan10 - 55
*Perkalian10 * 550
/Pembagian10 / 52.0
//Pembagian bulat11 // 25
%Sisa pembagian11 % 21
**Pangkat2 ** 38

Contoh program:

angka1 = 20
angka2 = 6
print("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.

OperatorArti
==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 = 80
print(nilai == 80)
print(nilai > 75)
print(nilai < 60)
print(nilai != 100)

Hasil:

True
True
False
True

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: menghasilkan True jika kedua kondisi benar.

  • or: menghasilkan True jika setidaknya satu kondisi benar.

  • not: membalikkan nilai logika.

Contoh:

nilai = 85
kehadiran = 90
if 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.

OperatorContohMakna
=x = 10Memberikan nilai 10 kepada x
+=x += 5Menambahkan 5 pada x
-=x -= 2Mengurangi x sebanyak 2
*=x *= 3Mengalikan x dengan 3
/=x /= 2Membagi x dengan 2

Contoh:

uang = 50000
uang += 10000
uang -= 5000
print("Sisa uang:", uang)

Hasil:

Sisa uang: 55000

Operator 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 = 82
kehadiran = 90
lulus_nilai = nilai >= 75
lulus_kehadiran = kehadiran >= 80
if 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 .py jika 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:

  1. Tujuan kegiatan.

  2. Alat dan bahan yang digunakan.

  3. Kode program yang dibuat.

  4. Hasil eksekusi program.

  5. Kendala yang ditemukan dan cara mengatasinya.

  6. Kesimpulan kegiatan.

Pertanyaan Evaluasi Aktivitas 1

  1. Apa fungsi perintah print()?

  2. Mengapa teks ditulis di antara tanda petik?

  3. Apa perbedaan menjalankan kode di IDLE dan Google Colab?

  4. Apa yang terjadi jika tanda kurung penutup dihilangkan?

  5. 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 = 32
if suhu > 30:
print("Cuaca terasa panas")

Hasil:

Cuaca terasa panas

Penjelasan:

  1. Variabel suhu berisi nilai 32.

  2. Program memeriksa apakah suhu lebih besar dari 30.

  3. 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 = 68
if nilai >= 75:
print("Lulus")
else:
print("Belum lulus")

Hasil:

Belum lulus

Ketika 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 = 86
if nilai >= 90:
predikat = "A"
elif nilai >= 80:
predikat = "B"
elif nilai >= 70:
predikat = "C"
else:
predikat = "D"
print("Predikat:", predikat)

Hasil:

Predikat: B

Python 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:

Apel
Jeruk
Mangga

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:

1
2
3
4
5

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:

2
4
6
8
10

c. Perulangan while

Perulangan while menjalankan blok kode selama kondisi bernilai benar.

Contoh:

angka = 1
while angka <= 5:
print(angka)
angka += 1

Hasil:

1
2
3
4
5

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:
break
print(angka)

Hasil:

1
2
3
4

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:
continue
print(angka)

Hasil:

1
2
4
5

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, Andi
Halo, 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 * lebar
return luas
hasil = hitung_luas(10, 5)
print("Luas:", hasil)

Hasil:

Luas: 50

Nilai 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:

  1. Modul data barang.

  2. Fungsi perhitungan total belanja.

  3. Fungsi perhitungan diskon.

  4. Fungsi pembayaran.

  5. Bagian pembuatan laporan transaksi.

Contoh modularitas menggunakan fungsi:

def hitung_total(harga, jumlah):
return harga * jumlah
def hitung_diskon(total):
if total >= 100000:
return total * 0.10
return 0
harga = 25000
jumlah = 5
total = hitung_total(harga, jumlah)
diskon = hitung_diskon(total)
bayar = total - diskon
print("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: 10
Koordinat 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:

Andi
X
TKL

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:

XI

d. 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.py jika 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

  1. Apa fungsi perulangan for?

  2. Mengapa range(1, 11) menghasilkan sepuluh angka?

  3. Apa yang terjadi jika range(1, 11) diubah menjadi range(1, 11, 2)?

  4. Bagaimana cara menampilkan bilangan ganjil dari 1 sampai 19?

  5. Apa perbedaan penggunaan for dan while?

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 = 90
if 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 = 150000
def hitung_total():
pass

Contoh yang kurang jelas:

a = "Dina"
b = 150000
def 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 barang
harga = 20000
jumlah = 3
total = harga * jumlah
print("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 = 50000
jumlah_barang = 2
total = harga_barang * jumlah_barang
print("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=10
y=20
print(x+y)

Kode yang lebih rapi:

x = 10
y = 20
print(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 + angka2
elif operator == "-":
hasil = angka1 - angka2
elif operator == "*":
hasil = angka1 * angka2
elif operator == "/":
if angka2 != 0:
hasil = angka1 / angka2
else:
hasil = None
print("Kesalahan: pembagian dengan nol.")
else:
hasil = None
print("Operator tidak dikenal.")
if hasil is not None:
print("Hasil perhitungan:", hasil)

Penjelasan:

  1. Fungsi input() menerima masukan dari pengguna.

  2. Fungsi float() mengubah masukan menjadi bilangan desimal.

  3. Variabel operator menyimpan simbol operasi yang dipilih.

  4. Percabangan menentukan operasi yang akan dilakukan.

  5. Program memeriksa pembagian dengan nol.

  6. Hasil ditampilkan jika operasi berhasil dilakukan.

Contoh penggunaan:

Masukkan angka pertama: 20
Pilih operator (+, -, *, /): *
Masukkan angka kedua: 5
Hasil 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:

  1. Menggabungkan beberapa konsep pemrograman.

  2. Berlatih mengubah kebutuhan menjadi langkah penyelesaian.

  3. Memahami hubungan antara masukan, proses, dan keluaran.

  4. Menguji kode dengan berbagai data.

  5. 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 = 25000
pengeluaran_makan = 12000
pengeluaran_minum = 5000
total_pengeluaran = pengeluaran_makan + pengeluaran_minum
sisa_uang = uang_saku - total_pengeluaran
print("Uang saku:", uang_saku)
print("Total pengeluaran:", total_pengeluaran)
print("Sisa uang:", sisa_uang)

Hasil:

Uang saku: 25000
Total pengeluaran: 17000
Sisa 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 - pengeluaran
print("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: Andi
Sisa 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:

  1. Anggota pertama membuat rancangan alur program.

  2. Anggota kedua menulis kode perhitungan.

  3. Anggota ketiga mengembangkan tampilan masukan dan keluaran berbasis teks.

  4. Anggota keempat menguji program dan mencatat kesalahan.

  5. 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_makan adalah dictionary yang menyimpan nama waktu makan dan jamnya.

  • items() digunakan untuk memperoleh pasangan kunci dan nilai.

  • Perulangan for membaca setiap pasangan data.

  • print() menampilkan jadwal ke layar.

  • f-string memungkinkan nilai variabel dimasukkan ke dalam teks.

Langkah 5: Menjalankan program

Jalankan kode dan periksa hasilnya.

=== PENGINGAT JADWAL MAKAN ===
Makan Pagi: pukul 07.00
Makan Siang: pukul 12.00
Makan Malam: pukul 19.00
Jangan 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:

  1. Menambahkan pilihan jadwal makan.

  2. Mengubah jam makan.

  3. Menampilkan menu berdasarkan pilihan pengguna.

  4. 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 = 80
if nilai => 75:
print("Lulus")

Operator => tidak benar untuk perbandingan lebih besar dari atau sama dengan.

Perbaikannya:

nilai = 80
if nilai >= 75:
print("Lulus")

b. Runtime Error

Runtime error terjadi ketika program mengalami kesalahan saat dijalankan.

Contoh:

angka = 10
pembagi = 0
hasil = angka / pembagi
print(hasil)

Program menghasilkan ZeroDivisionError karena bilangan tidak dapat dibagi dengan nol.

Perbaikan:

angka = 10
pembagi = 0
if pembagi != 0:
hasil = angka / pembagi
print(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 = 10
lebar = 5
luas = panjang + lebar
print("Luas:", luas)

Program menghasilkan angka 15, padahal rumus luas persegi panjang adalah panjang dikalikan lebar.

Perbaikan:

panjang = 10
lebar = 5
luas = panjang * lebar
print("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:

  1. Perhatikan jenis error.

  2. Baca informasi baris yang disebutkan.

  3. Periksa kode di sekitar baris tersebut.

  4. Cari penyebab yang sesuai dengan pesan.

  5. 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 = 20000
jumlah = 3
print("Harga:", harga)
print("Jumlah:", jumlah)
total = harga * jumlah
print("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 logging
logging.basicConfig(level=logging.INFO)
logging.info("Program dimulai")
angka = 10
logging.info("Nilai angka: %s", angka)
print("Program selesai")

Contoh keluaran:

INFO:root:Program dimulai
INFO:root:Nilai angka: 10
Program 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 * lebar
print(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:

  1. Penjumlahan dua bilangan.

  2. Pengurangan dua bilangan.

  3. Perkalian dua bilangan.

  4. Pembagian dengan pembagi bukan nol.

  5. Pembagian dengan nol.

  6. 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:

BagianKeterangan
Nama programKalkulator sederhana
KesalahanProgram gagal saat pembagian dengan nol
PenyebabTidak ada pemeriksaan nilai pembagi
PerbaikanMenambahkan kondisi if pembagi != 0
PengujianPembagian normal dan pembagian dengan nol
HasilProgram 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

  1. Laptop atau komputer.

  2. Python dan editor kode, seperti IDLE atau Visual Studio Code.

  3. Modul pembelajaran.

  4. Buku catatan untuk mencatat kesalahan.

  5. Contoh kode yang mengandung kesalahan.

  6. 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 = 80
pembagi = 0
if nilai => 75
print("Siswa lulus")
hasil = 100 / pembagi
print("Hasil:", hasil)
panjang = 10
lebar = 5
luas = panjang + lebar
print("Luas:", luas)

Langkah 3: Menjalankan program

Jalankan program dan perhatikan pesan error pertama yang muncul.

Langkah 4: Mengidentifikasi kesalahan

Temukan kesalahan yang berkaitan dengan:

  1. Operator perbandingan.

  2. Tanda titik dua setelah kondisi if.

  3. Indentasi pada blok if.

  4. Pembagian dengan nol.

  5. 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 = 80
pembagi = 0
if nilai >= 75:
print("Siswa lulus")
else:
print("Siswa belum lulus")
if pembagi != 0:
hasil = 100 / pembagi
print("Hasil:", hasil)
else:
print("Pembagi tidak boleh nol.")
panjang = 10
lebar = 5
luas = panjang * lebar
print("Luas:", luas)

Hasil:

Siswa lulus
Pembagi 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 ditemukanJenis errorPerbaikan
1Operator =>Syntax errorMenggunakan >=
2Tanda titik dua hilangSyntax errorMenambahkan :
3Indentasi tidak tepatIndentationErrorMemperbaiki indentasi
4Pembagian dengan nolRuntime errorMemeriksa pembagi
5Penjumlahan untuk luasLogical errorMenggunakan perkalian

E. Pertanyaan Evaluasi

  1. Mengapa syntax error perlu diperbaiki sebelum menguji bagian program lainnya?

  2. Apa perbedaan runtime error dan logical error?

  3. Mengapa pembagian dengan nol harus ditangani?

  4. Bagaimana cara mengetahui bahwa hasil program sudah benar?

  5. 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:

  1. Memiliki tujuan dan permasalahan yang jelas.

  2. Menggunakan variabel dan tipe data yang tepat.

  3. Menerapkan percabangan atau perulangan.

  4. Menggunakan setidaknya satu fungsi.

  5. Memiliki proses pengujian dan debugging.

  6. Menyertakan dokumentasi dan laporan.

  7. Dipresentasikan di depan kelas.

Rubrik Penilaian Proyek

Aspek penilaianBobot
Ketepatan fungsi program30%
Penerapan konsep pemrograman25%
Kerapian dan keterbacaan kode15%
Pengujian dan debugging15%
Presentasi dan kerja sama15%
Total100%

Refleksi Pembelajaran

Setelah mempelajari Bab 4 Pengenalan dan Penerapan Pemrograman Teks, jawablah pertanyaan berikut dengan jujur.

  1. Apa yang saya pahami tentang pemrograman berbasis teks?

  2. Mengapa Python cocok digunakan untuk mempelajari dasar pemrograman?

  3. Apa perbedaan variabel, tipe data, dan operator?

  4. Kapan saya menggunakan percabangan if-else?

  5. Apa perbedaan perulangan for dan while?

  6. Mengapa fungsi dan modularitas penting dalam pembuatan program?

  7. Apa perbedaan list, tuple, dan dictionary?

  8. Bagaimana cara menemukan dan memperbaiki kesalahan pada program?

  9. Apa kontribusi saya dalam praktik atau proyek kelompok?

  10. 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 ....

A. HTML
B. Python
C. CSS
D. XML
E. SQL

2. Perintah Python yang digunakan untuk menampilkan informasi ke layar adalah ....

A. input()
B. type()
C. print()
D. range()
E. return

3. Tipe data yang tepat untuk menyimpan bilangan bulat adalah ....

A. str
B. bool
C. float
D. int
E. dict

4. Hasil dari operasi 17 % 5 adalah ....

A. 2
B. 3
C. 5
D. 12
E. 15

5. Operator logika yang menghasilkan True jika kedua kondisi benar adalah ....

A. or
B. not
C. and
D. !=
E. ==

6. Perhatikan kode berikut.

nilai = 70
if nilai >= 75:
print("Lulus")
else:
print("Belum lulus")

Keluaran program tersebut adalah ....

A. Lulus
B. Belum lulus
C. 70
D. True
E. Tidak ada keluaran

7. Perhatikan kode berikut.

for angka in range(1, 5):
print(angka)

Angka terakhir yang ditampilkan adalah ....

A. 1
B. 3
C. 4
D. 5
E. 6

8. Struktur perulangan yang berjalan selama kondisinya benar adalah ....

A. if
B. else
C. def
D. while
E. return

9. Kata kunci yang digunakan untuk mengembalikan nilai dari sebuah fungsi adalah ....

A. break
B. continue
C. return
D. input
E. import

10. Struktur data Python yang menyimpan pasangan kunci dan nilai adalah ....

A. List
B. Tuple
C. String
D. Integer
E. Dictionary

11. Kesalahan penulisan sintaks pada program disebut ....

A. Logical error
B. Syntax error
C. Runtime error
D. Hardware error
E. Network error

12. Program dapat dijalankan, tetapi hasil perhitungannya salah. Kesalahan tersebut termasuk ....

A. Syntax error
B. Runtime error
C. Logical error
D. Instalasi error
E. Sistem error

13. Fungsi utama debugger adalah ....

A. Menghapus semua variabel
B. Mengubah Python menjadi HTML
C. Mempercepat koneksi internet
D. Membantu menelusuri jalannya program dan memeriksa kesalahan
E. Mengganti sistem operasi

14. Salah satu manfaat fungsi dalam program adalah ....

A. Menghilangkan seluruh kesalahan
B. Membuat kode dapat digunakan kembali
C. Menghapus kebutuhan variabel
D. Menghindari semua perulangan
E. Mengubah seluruh data menjadi teks

15. Dalam Python, indentasi digunakan untuk ....

A. Menentukan warna program
B. Menyimpan data ke internet
C. Menunjukkan struktur blok kode
D. Menghapus komentar
E. Mengganti tipe data

16. Fungsi append() pada list digunakan untuk ....

A. Menghapus seluruh elemen
B. Menambahkan elemen ke bagian akhir list
C. Mengubah list menjadi tuple
D. Mengurutkan semua variabel
E. Menghentikan perulangan

17. Struktur data yang elemen-elemennya tidak dapat diubah melalui penugasan elemen setelah dibuat adalah ....

A. List
B. Dictionary
C. Tuple
D. Variabel integer
E. Fungsi

18. Perintah break dalam perulangan digunakan untuk ....

A. Mengulang program dari awal
B. Menghentikan perulangan
C. Menghapus variabel
D. Menambah nilai variabel
E. Menampilkan pesan

19. Tujuan utama debugging adalah ....

A. Membuat program semakin panjang
B. Mengubah semua variabel menjadi teks
C. Menemukan dan memperbaiki kesalahan program
D. Menghapus seluruh fungsi
E. Mengganti editor kode

20. Teknik yang dapat digunakan untuk memeriksa nilai variabel saat program berjalan adalah ....

A. Menghapus kode
B. Mengganti wallpaper
C. Menggunakan print() atau debugger
D. Mengganti nama berkas saja
E. Menutup editor

Kunci Jawaban Uji Kompetensi

No.JawabanNo.Jawaban
1B11B
2C12C
3D13D
4A14B
5C15C
6B16B
7C17C
8D18B
9C19C
10E20C

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