🐍 Materi Dasar Python
Untuk SMK Jurusan Akuntansi & RPL
📋 Daftar Isi
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.
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, "!")
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)
- 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, -5 | Bilangan bulat |
Float (float) | 170.5, 3.14 | Bilangan desimal |
Boolean (bool) | True, False | Benar/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
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
- Buka colab.research.google.com di browser.
- Login dengan akun Google Anda.
- Klik File → New Notebook (atau "Notebook Baru").
- Akan muncul cell — kotak abu-abu besar untuk menulis kode.
- Ketik kode Python di dalam cell. Contoh:
print("Halo dari Google Colab!") - Tekan tombol ▶️ di kiri cell, atau tekan Shift + Enter untuk menjalankan.
- Hasilnya akan muncul di bawah cell.
- Untuk menambah cell baru, klik tombol + Code di toolbar.
- Untuk input dari pengguna, kotak input muncul di bawah cell — ketik jawaban lalu tekan Enter.
- Simpan hasil kerja otomatis di Google Drive, atau unduh via File → Download → Download .py.
- 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.
| Operator | Arti | Contoh | Hasil |
|---|---|---|---|
+ | Tambah | 7 + 2 | 9 |
- | Kurang | 7 - 2 | 5 |
* | Kali | 7 * 2 | 14 |
/ | Bagi (desimal) | 7 / 2 | 3.5 |
// | Bagi bulat | 7 // 2 | 3 |
% | Sisa bagi | 7 % 2 | 1 |
** | Pangkat | 2 ** 3 | 8 |
4.2 Operator Penugasan
Untuk memberi atau menyimpan nilai ke variabel.
| Operator | Arti | Sama dengan |
|---|---|---|
= | Memberi nilai | x = 10 |
+= | Tambah lalu simpan | x = x + 3 |
-= | Kurang lalu simpan | x = x - 3 |
*= | Kali lalu simpan | x = x * 3 |
/= | Bagi lalu simpan | x = x / 3 |
//= | Bagi bulat lalu simpan | x = x // 3 |
%= | Sisa bagi lalu simpan | x = x % 3 |
**= | Pangkat lalu simpan | x = 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.
| Operator | Arti | Contoh | Hasil |
|---|---|---|---|
> | Lebih besar | 10 > 5 | True |
< | Lebih kecil | 10 < 5 | False |
>= | Lebih besar/sama | 10 >= 10 | True |
<= | Lebih kecil/sama | 10 <= 5 | False |
4.6 Operator Kesamaan
Untuk mengecek apakah dua nilai sama.
| Operator | Arti | Contoh | Hasil |
|---|---|---|---|
== | Sama dengan | 10 == 10 | True |
!= | Tidak sama | 10 != 5 | True |
is | Sama identitas objek | x is None | True/False |
is not | Tidak sama identitas | x is not None | True/False |
= dan ==:= untuk memberi nilai (penugasan).== untuk membandingkan (kesamaan).Ini kesalahan paling umum pemula!
4.7 Operator Logika
Untuk menggabungkan dua atau lebih kondisi boolean.
| Operator | Arti | Aturan |
|---|---|---|
and | DAN | True jika keduanya True |
or | ATAU | True jika salah satu True |
not | BUKAN | Membalik 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")
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,4range(1, 6) → 1,2,3,4,5range(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.
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
| Jenis | Jumlah Iterasi | Kapan Pakai | Ciri |
|---|---|---|---|
for | Diketahui | Cetak 1–10, iterasi list | for i in range(...) |
while | Tidak diketahui | Game sampai menang, input validasi | while kondisi: |
do-while | Minimal 1 kali | Menu, input password | while True: + break |
Kontrol Loop: break, continue, else
break— menghentikan loop seketikacontinue— melewati satu iterasi, lanjut ke berikutnyaelsepada loop — dijalankan jika loop selesai tanpabreak
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)
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)
>= 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:
| Baris | Perintah | x | y |
|---|---|---|---|
| 1 | x = 10 | 10 | — |
| 2 | y = 3 | 10 | 3 |
| 3 | x = x + y | 13 | 3 |
| 4 | y = x * 2 | 13 | 26 |
| 5 | x = x - y | -13 | 26 |
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 Kode | Materi yang Dipakai |
|---|---|
input(), float(), int() | Input & tipe data |
def hitung_diskon() | Fungsi |
if-elif-else | Percabangan bertingkat |
* + - | Operator aritmatika |
>= | Operator relasional |
format_rupiah() | Fungsi + format string |
return | Nilai balik fungsi |
print() | Output |
- Tambahkan menu pilihan barang menggunakan
match-case. - Tambahkan perulangan agar pembeli bisa memasukkan lebih dari satu barang.
- Tambahkan input uang bayar dan hitung kembalian.
- 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