Monday, 2 November 2026

LATIHAN PHYTON DASAR

Materi Dasar Python — SMK Akuntansi & RPL

🐍 Materi Dasar Python

Untuk SMK Jurusan Akuntansi & RPL

1. Pengenalan Python

Apa Itu Python?

Python adalah bahasa pemrograman tingkat tinggi yang dibuat oleh Guido van Rossum dan pertama dirilis tahun 1991. Nama "Python" bukan diambil dari ular, melainkan dari grup komedi Inggris Monty Python.

💡 Filosofi Python: "Kode harus mudah dibaca seperti bahasa Inggris." Itulah mengapa Python menjadi bahasa paling ramah pemula di dunia.

Kenapa Belajar Python?

  • Sintaks sederhana — tidak perlu titik koma atau kurung kurawal
  • Mudah dibaca — mirip bahasa Inggris sehari-hari
  • Serbaguna — web, data science, AI, otomasi, game
  • Banyak dipakai industri — Google, Instagram, Netflix, Tokopedia
  • Komunitas besar — mudah mencari bantuan
  • Gratis & open source

2. Konsep Dasar Python

2.1 Output — Menampilkan Sesuatu

Gunakan print() untuk menampilkan teks atau nilai ke layar.

print("Halo, dunia!")
print("Nama saya Budi")
print("Saya belajar Python")

Output:

Halo, dunia!
Nama saya Budi
Saya belajar Python

2.2 Input — Menerima Data dari Pengguna

Gunakan input() untuk menerima masukan dari pengguna.

nama = input("Siapa nama kamu? ")
print("Halo,", nama, "!")
⚠️ Penting: input() selalu menghasilkan string (teks). Jika ingin dihitung sebagai angka, ubah dengan int() atau float().
umur = int(input("Umur: "))
print("Tahun depan umurmu", umur + 1)

2.3 Variabel — Kotak Penyimpanan

Variabel adalah tempat menyimpan nilai agar bisa dipakai lagi.

nama = "Budi"
umur = 17
tinggi = 170.5
is_siswa = True

print("Nama:", nama)
print("Umur:", umur)
📝 Aturan nama variabel:
  • Tidak boleh diawali angka (1nama ❌, nama1 ✅)
  • Tidak boleh pakai spasi (gunakan _)
  • Case-sensitive: nama ≠ Nama

2.4 Tipe Data

Tipe Contoh Keterangan
String (str)"Budi", 'Halo'Teks
Integer (int)17, -5Bilangan bulat
Float (float)170.5, 3.14Bilangan desimal
Boolean (bool)True, FalseBenar/salah
List[1, 2, 3]Kumpulan data berurutan
Dictionary{"nama": "Budi"}Data berpasangan kunci-nilai

2.5 Fungsi — Blok Kode yang Bisa Dipakai Ulang

Fungsi dibuat dengan def, bisa menerima parameter, dan mengembalikan nilai dengan return.

def sapa(nama):
    return "Halo, " + nama

def hitung_luas(panjang, lebar):
    return panjang * lebar

print(sapa("Budi"))
print("Luas:", hitung_luas(5, 3))

Output:

Halo, Budi
Luas: 15
💡 Manfaat fungsi: menghindari pengulangan kode, membuat program terstruktur, dan mudah diperbaiki.

3. Latihan Python di Google Colab

Google Colab adalah platform gratis dari Google untuk menulis dan menjalankan kode Python langsung di browser — tanpa perlu instalasi apa pun.

Langkah demi Langkah

  1. Buka colab.research.google.com di browser.
  2. Login dengan akun Google Anda.
  3. Klik File → New Notebook (atau "Notebook Baru").
  4. Akan muncul cell — kotak abu-abu besar untuk menulis kode.
  5. Ketik kode Python di dalam cell. Contoh:
    print("Halo dari Google Colab!")
  6. Tekan tombol ▶️ di kiri cell, atau tekan Shift + Enter untuk menjalankan.
  7. Hasilnya akan muncul di bawah cell.
  8. Untuk menambah cell baru, klik tombol + Code di toolbar.
  9. Untuk input dari pengguna, kotak input muncul di bawah cell — ketik jawaban lalu tekan Enter.
  10. Simpan hasil kerja otomatis di Google Drive, atau unduh via File → Download → Download .py.
⚠️ Catatan Colab:
  • Kotak input input() muncul di bawah cell — scroll jika tidak terlihat.
  • Program yang memakai input() akan menunggu sampai Anda mengetik dan menekan Enter.
  • Jika program berhenti, klik Runtime → Restart session lalu jalankan ulang.

Latihan Pertama di Colab

print("Halo, saya sedang belajar Python!")

nama = input("Siapa namamu? ")
umur = int(input("Berapa umurmu? "))

print("Halo,", nama)
print("Tahun depan umurmu", umur + 1, "tahun")

Jalankan dan masukkan nama + umur Anda. Lihat hasilnya!

4. Operator (7 Kelompok)

Operator adalah simbol untuk melakukan operasi terhadap nilai atau variabel (disebut operand).

4.1 Operator Aritmatika

Untuk operasi matematika dasar.

OperatorArtiContohHasil
+Tambah7 + 29
-Kurang7 - 25
*Kali7 * 214
/Bagi (desimal)7 / 23.5
//Bagi bulat7 // 23
%Sisa bagi7 % 21
**Pangkat2 ** 38

4.2 Operator Penugasan

Untuk memberi atau menyimpan nilai ke variabel.

OperatorArtiSama dengan
=Memberi nilaix = 10
+=Tambah lalu simpanx = x + 3
-=Kurang lalu simpanx = x - 3
*=Kali lalu simpanx = x * 3
/=Bagi lalu simpanx = x / 3
//=Bagi bulat lalu simpanx = x // 3
%=Sisa bagi lalu simpanx = x % 3
**=Pangkat lalu simpanx = x ** 3

4.3 Operator Increment

Untuk menambah nilai 1. Python tidak punya ++ — gunakan += 1.

skor = 5
skor += 1   # skor = 6
print(skor)

4.4 Operator Decrement

Untuk mengurangi nilai 1. Python tidak punya -- — gunakan -= 1.

nyawa = 3
nyawa -= 1  # nyawa = 2
print(nyawa)

4.5 Operator Relasional

Untuk membandingkan besaran — hasilnya True atau False.

OperatorArtiContohHasil
>Lebih besar10 > 5True
<Lebih kecil10 < 5False
>=Lebih besar/sama10 >= 10True
<=Lebih kecil/sama10 <= 5False

4.6 Operator Kesamaan

Untuk mengecek apakah dua nilai sama.

OperatorArtiContohHasil
==Sama dengan10 == 10True
!=Tidak sama10 != 5True
isSama identitas objekx is NoneTrue/False
is notTidak sama identitasx is not NoneTrue/False
⚠️ Beda = dan ==:
= untuk memberi nilai (penugasan).
== untuk membandingkan (kesamaan).
Ini kesalahan paling umum pemula!

4.7 Operator Logika

Untuk menggabungkan dua atau lebih kondisi boolean.

OperatorArtiAturan
andDANTrue jika keduanya True
orATAUTrue jika salah satu True
notBUKANMembalik nilai
umur = 17
punya_sim = True

if umur >= 17 and punya_sim:
    print("Boleh mengemudi")

5. Percabangan (5 Jenis)

Percabangan membuat program bisa mengambil keputusan berdasarkan kondisi.

5.1 if — Satu Kondisi

Kapan pakai: ketika hanya ada satu kondisi yang perlu dicek. Blok kode hanya jalan jika kondisi True.

umur = 20
if umur >= 18:
    print("Kamu sudah dewasa")

5.2 if-else — Dua Pilihan

Kapan pakai: ketika ada dua kemungkinan dan salah satu pasti dijalankan.

nilai = 80
if nilai >= 75:
    print("LULUS")
else:
    print("TIDAK LULUS")

5.3 if-elif-else — Banyak Pilihan Berjenjang

Kapan pakai: ketika ada lebih dari dua kemungkinan. Kondisi dicek berurutan — berhenti saat kondisi pertama True.

nilai = 85
if nilai >= 90:
    print("Grade A")
elif nilai >= 80:
    print("Grade B")
elif nilai >= 70:
    print("Grade C")
else:
    print("Grade D")
❌ Kesalahan umum: pakai if berulang padahal maksudnya elif → semua kondisi dicek, hasil bisa salah.

5.4 match-case — Cocokkan Satu Nilai (Pengganti switch-case)

Kapan pakai: untuk mencocokkan satu nilai ke banyak pilihan tetap (menu, nama hari, kode). Tersedia di Python 3.10+.

pilihan = 2
match pilihan:
    case 1:
        print("Nasi Goreng")
    case 2:
        print("Mie Ayam")
    case 3:
        print("Es Teh")
    case _:
        print("Pilihan tidak tersedia")

Output: Mie Ayam

5.5 Nested if — If Bersarang

Kapan pakai: ketika pengecekan bertingkat — kondisi dalam hanya dicek jika kondisi luar terpenuhi.

username = "admin"
password = "12345"

if username == "admin":
    if password == "12345":
        print("Login berhasil")
    else:
        print("Password salah")
else:
    print("Username tidak dikenal")

6. Perulangan (3 Jenis)

Perulangan membuat program menjalankan blok kode berkali-kali.

6.1 for — Jumlah Iterasi Diketahui

Kapan pakai: ketika jumlah pengulangan sudah diketahui (misal: cetak 1–10, iterasi list).

Ciri: menggunakan range() atau iterasi objek (list, string, dictionary).

for i in range(5):
    print("Halo ke-", i + 1)

buah = ["apel", "jeruk", "mangga"]
for b in buah:
    print("Saya suka", b)
💡 range() lengkap:
range(5) → 0,1,2,3,4
range(1, 6) → 1,2,3,4,5
range(1, 10, 2) → 1,3,5,7,9

6.2 while — Jumlah Iterasi Tidak Diketahui

Kapan pakai: ketika pengulangan bergantung pada kondisi yang belum tentu berapa kali (misal: game sampai menang, input sampai benar).

Ciri: ada kondisi yang harus berubah agar loop berhenti — jika tidak, jadi infinite loop.

angka = 1
while angka <= 5:
    print("Angka:", angka)
    angka += 1

6.3 do-while — Minimal Jalan Sekali

Kapan pakai: ketika blok kode harus dijalankan minimal sekali, baru kondisi dicek (misal: menu, validasi input).

Ciri: blok dijalankan dulu, baru dicek apakah lanjut atau berhenti.

⚠️ Python tidak punya do-while. Simulasikan dengan while True + break.
while True:
    pilihan = input("Pilih menu (ketik 'keluar' untuk berhenti): ")
    if pilihan == "keluar":
        break
    print("Anda memilih:", pilihan)

Menu di atas pasti tampil minimal sekali, lalu diulang sampai user mengetik "keluar".

Perbandingan 3 Jenis Perulangan

JenisJumlah IterasiKapan PakaiCiri
forDiketahuiCetak 1–10, iterasi listfor i in range(...)
whileTidak diketahuiGame sampai menang, input validasiwhile kondisi:
do-whileMinimal 1 kaliMenu, input passwordwhile True: + break

Kontrol Loop: break, continue, else

  • break — menghentikan loop seketika
  • continue — melewati satu iterasi, lanjut ke berikutnya
  • else pada loop — dijalankan jika loop selesai tanpa break

7. Latihan Praktik

Latihan 1: IPO (Input, Process, Output)

Tujuan: memahami alur dasar program — terima input, olah, tampilkan output.

# ===== INPUT =====
panjang = float(input("Masukkan panjang: "))
lebar = float(input("Masukkan lebar: "))

# ===== PROCESS =====
luas = panjang * lebar
keliling = 2 * (panjang + lebar)

# ===== OUTPUT =====
print("Luas     :", luas)
print("Keliling :", keliling)
💡 Yang dipelajari: alur Input → Process → Output, cara memakai float(input()), dan menampilkan hasil.

Latihan 2: Cek Kelulusan Siswa

Tujuan: memahami percabangan if-else dengan kasus nyata.

nama = input("Nama siswa: ")
nilai = float(input("Nilai siswa: "))

if nilai >= 75:
    status = "LULUS"
else:
    status = "TIDAK LULUS"

print("Nama  :", nama)
print("Nilai :", nilai)
print("Status:", status)
⚠️ Perhatikan: gunakan >= bukan >. Jika pakai >, siswa dengan nilai tepat 75 akan dianggap tidak lulus — padahal seharusnya lulus.

Latihan 3: Tracing Perubahan Nilai

Tujuan: melacak nilai variabel baris demi baris untuk menentukan output akhir.

Kode:

x = 10
y = 3

x = x + y       # x = ?
y = x * 2      # y = ?
x = x - y       # x = ?

print(x, y)

Tracing langkah demi langkah:

BarisPerintahxy
1x = 1010—
2y = 3103
3x = x + y133
4y = x * 21326
5x = x - y-1326

Output: -13 26

Latihan 4: Pertukaran Dua Nilai

Tujuan: memahami cara menukar nilai dua variabel.

a = 5
b = 10

# Cara 1: pakai variabel bantu
temp = a
a = b
b = temp

print("Setelah ditukar:", a, b)  # 10 5

# Cara 2: Python khas
a, b = b, a
print("Ditukar lagi:", a, b)     # 5 10

8. Latihan Praktik: Pencetakan Struk Belanja

Tujuan: menggabungkan semua materi (input, variabel, operator, percabangan, fungsi, dan format output) dalam satu program nyata — relevan untuk jurusan Akuntansi dan RPL.

Kode Program

# ============================================
# PROGRAM STRUK BELANJA SEDERHANA
# Menggabungkan: Input, Process, Output,
# Variabel, Operator, Percabangan, Fungsi
# ============================================

def hitung_diskon(total):
    """Hitung diskon berdasarkan total belanja."""
    if total >= 500000:
        return 0.20   # 20%
    elif total >= 250000:
        return 0.10   # 10%
    elif total >= 100000:
        return 0.05   # 5%
    else:
        return 0

def format_rupiah(angka):
    """Format angka menjadi format Rupiah."""
    return f"Rp {angka:,.0f}"

# ===== INPUT =====
print("=" * 40)
print("     TOKO SERBA ADA")
print("=" * 40)

nama_pembeli = input("Nama pembeli : ")
nama_barang  = input("Nama barang  : ")
harga        = float(input("Harga satuan : "))
jumlah       = int(input("Jumlah beli  : "))

# ===== PROCESS =====
total = harga * jumlah
diskon_persen = hitung_diskon(total)
potongan = total * diskon_persen
subtotal = total - potongan

# PPN 11% (opsional)
ppn = subtotal * 0.11
total_akhir = subtotal + ppn

# ===== OUTPUT =====
print()
print("=" * 40)
print("          STRUK BELANJA")
print("=" * 40)
print("Pembeli       :", nama_pembeli)
print("Barang        :", nama_barang)
print("Harga satuan  :", format_rupiah(harga))
print("Jumlah beli   :", jumlah)
print("-" * 40)
print("Total         :", format_rupiah(total))
print("Diskon        :", format_rupiah(potongan), f"({diskon_persen*100:.0f}%)")
print("Subtotal      :", format_rupiah(subtotal))
print("PPN 11%       :", format_rupiah(ppn))
print("-" * 40)
print("TOTAL BAYAR   :", format_rupiah(total_akhir))
print("=" * 40)
print("  Terima kasih telah berbelanja!")
print("=" * 40)

Contoh Output

========================================
     TOKO SERBA ADA
========================================
Nama pembeli : Budi
Nama barang  : Buku Tulis
Harga satuan : 50000
Jumlah beli  : 8

========================================
          STRUK BELANJA
========================================
Pembeli       : Budi
Barang        : Buku Tulis
Harga satuan  : Rp 50,000
Jumlah beli   : 8
----------------------------------------
Total         : Rp 400,000
Diskon        : Rp 20,000 (5%)
Subtotal      : Rp 380,000
PPN 11%       : Rp 41,800
----------------------------------------
TOTAL BAYAR   : Rp 421,800
========================================
  Terima kasih telah berbelanja!
========================================

Penjelasan Materi yang Dipakai

Bagian KodeMateri yang Dipakai
input(), float(), int()Input & tipe data
def hitung_diskon()Fungsi
if-elif-elsePercabangan bertingkat
* + -Operator aritmatika
>=Operator relasional
format_rupiah()Fungsi + format string
returnNilai balik fungsi
print()Output
🎯 Tantangan untuk Siswa:
  1. Tambahkan menu pilihan barang menggunakan match-case.
  2. Tambahkan perulangan agar pembeli bisa memasukkan lebih dari satu barang.
  3. Tambahkan input uang bayar dan hitung kembalian.
  4. Simpan struk ke file teks dengan open(..., "w").

No comments:

Post a Comment

Selamat datang di blog handrizakk.blogspot.com, Mari berbagi dengan tulisan. Sahabat bisa temukan saya di f: Handri Zakki Pratama | t: @handrizakk

LATIHAN PHYTON DASAR

Materi Dasar Python — SMK Akuntansi & RPL 🐍 Materi Dasar Python Untuk SMK Jurusan Akuntansi & RPL ...