Daftar Isi:
- Bab 1. Pengenalan Python
- Bab 2. Dasar-Dasar Pemrograman
- Bab 3. Operator dan Ekspresi
- Bab 4. Kontrol Alur Program
- Bab 5. Fungsi dan Modularitas
- Bab 6. Struktur Data
- Bab 7. Pemrograman Berbasis File
- Bab 8. Pemrograman Berbasis Objek (OOP)
- Bab 9. Penanganan Error dan Exception
- Bab 10. Modul Populer di Python
- Bab 11. Pengantar Python Lanjut
- Bab 12. Proyek Mini
- Bab 13. Bonus: Integrasi dan Visualisasi
KATA PENGANTAR

Dengan menyebut nama Allah Yang Maha Pengasih lagi Maha Penyayang, segala puji dan syukur penulis panjatkan atas limpahan rahmat dan karunia-Nya, sehingga modul pembelajaran ini yang berjudul "Belajar Pemrograman Python: Dari Dasar hingga Aplikasi" dapat disusun dan disajikan kepada para pembaca dengan segenap cinta dan ketulusan.
Modul ini disusun dengan tujuan untuk membantu siapa saja—baik pelajar, mahasiswa, teknisi, maupun pemula yang baru mengenal dunia pemrograman—dalam memahami dasar-dasar Python secara sistematis dan praktis. Python dipilih karena kesederhanaannya, kekuatan sintaksnya, dan penerapannya yang luas mulai dari script sederhana hingga pengembangan aplikasi kompleks di berbagai bidang seperti web, data science, hingga Internet of Things.
Isi pembelajaran ini dibagi menjadi dua bagian utama: Pemrograman Dasar Python dan Pengembangan Aplikasi Python, yang masing-masing memiliki struktur daftar isi tersendiri, agar pembaca dapat menyesuaikan tingkat kemampuannya dan memilih jalur yang paling sesuai dengan kebutuhannya.
Penyusunan ini tidak luput dari keterbatasan, namun besar harapan penulis agar naskah ini dapat menjadi pijakan awal bagi perjalanan panjang belajar bahasa pemrograman modern yang fleksibel dan kuat ini. Kritik dan saran yang membangun sangat penulis harapkan untuk penyempurnaan edisi selanjutnya.
Akhir kata, semoga karya sederhana ini menjadi bagian dari amal ilmu yang bermanfaat dan dapat menginspirasi siapa saja untuk terus belajar dan berkarya melalui teknologi.
Jambi, 2 Agustus 2025
Penulis
Musafir Engineering
PENDAHULUAN
Perkembangan teknologi informasi telah melahirkan berbagai bahasa pemrograman yang menjadi fondasi utama dalam menciptakan sistem, aplikasi, dan layanan digital di era modern. Di antara semua bahasa pemrograman yang ada, Python menempati posisi istimewa sebagai salah satu yang paling populer, mudah dipelajari, dan sangat luas penggunaannya.Python dirancang dengan filosofi bahwa kode program harus mudah dibaca dan ditulis, sehingga sangat cocok digunakan oleh pemula, sekaligus cukup kuat untuk menangani proyek-proyek besar dalam bidang data science, web development, automasi, kecerdasan buatan (AI) hingga pengembangan aplikasi mobile dan IoT.
Modul ini disusun sebagai bahan ajar dan panduan praktis untuk mempelajari Python dari tahap pengenalan dasar hingga ke penerapan dalam pengembangan aplikasi nyata. Penyusunan materi dilakukan secara bertahap dan tematis, dimulai dari struktur dasar pemrograman, tipe data, logika, fungsi, hingga manajemen file dan OOP (Object-Oriented Programming). Setelah menguasai dasar, pembaca akan diarahkan ke proyek-proyek aplikasi seperti membuat aplikasi desktop (GUI), aplikasi web (Flask), dan CLI tool.
Dengan pendekatan yang praktis, bertahap, dan aplikatif, pembaca diharapkan tidak hanya memahami teori, tetapi juga mampu mengembangkan proyek sendiri secara mandiri. Disediakan pula proyek mini dan latihan sebagai sarana untuk memperkuat pemahaman.
Modul ini dapat digunakan oleh:- Pelajar dan mahasiswa jurusan teknik atau sains komputer
- Guru dan dosen sebagai materi ajar
- Pemula yang ingin belajar pemrograman secara otodidak
- Siapa saja yang ingin menciptakan solusi melalui teknologi digital
Bab 1. Pengenalan Python
- Apa itu Python?
- Sejarah dan Filosofi Python
- Mengapa memilih Python?
- Instalasi Python dan IDE (IDLE, VSCode, dll.)
- Menjalankan Program Python Pertama
- Struktur Program Python
- Tipe Data Dasar: int, float, str, bool
- Variabel dan Penamaan
- Input dan Output (input(), print())
- Operator Aritmatika
- Operator Perbandingan
- Operator Logika (and, or, not)
- Operator Penugasan
- Percabangan: if, elif, else
- Perulangan: for, while
- Fungsi range()
- Pernyataan break dan continue
- Pendefinisian Fungsi dengan def
- Parameter dan Return Value
- Fungsi Rekursif
- Scope: Local & Global
- Modul dan import
- List dan Operasinya
- Tuple
- Dictionary
- Set
- Nested Structures
- Membaca dan Menulis File Teks
- Mode File (r, w, a, rb, wb)
- Penanganan File Secara Aman (menggunakan with)
- Konsep OOP: Class & Object
- Atribut dan Metode
- Konstruktor (__init__)
- Pewarisan (Inheritance)
- Polimorfisme dan Enkapsulasi
- Try – Except – Finally
- Menangani Error Umum
- Membuat Exception Sendiri
- math, random, datetime
- os dan sys
- json
- re (Regular Expression)
- List Comprehension
- Lambda Function
- Generator & Iterator
- Decorator (pengantar)
- Kalkulator Sederhana
- Program Catatan Harian (To-Do List)
- Game Teks (Tebak Angka / Adventure)
- Konversi Suhu / Mata Uang
- Python dan GUI (Tkinter)
- Grafik Dasar dengan matplotlib
- Pengenalan pandas dan numpy
Bab 1. Pengenalan Python
Python adalah salah satu bahasa pemrograman tingkat tinggi yang dirancang untuk mudah dipelajari dan dibaca oleh manusia. Ia pertama kali dibuat oleh Guido van Rossum dan dirilis pada tahun 1991. Sejak saat itu, Python berkembang menjadi salah satu bahasa yang paling dicintai dan paling banyak digunakan di dunia—baik oleh pemula maupun oleh insinyur profesional.
Python dikenal dengan sintaks yang sederhana, hampir menyerupai bahasa Inggris sehari-hari. Itulah sebabnya Python sering disebut sebagai bahasa "ramah pemula", tapi jangan salah—Python juga sangat kuat dan digunakan oleh perusahaan-perusahaan besar seperti Google, Instagram, NASA, Spotify, dan Netflix.
Mengapa Disebut Python?
Nama Python bukan berasal dari ular, tetapi dari acara komedi Inggris bernama "Monty Python's Flying Circus", yang digemari oleh penciptanya. Namun, lambang ular python tetap digunakan sebagai simbol ikonik.
Apa yang Bisa Dilakukan dengan Python?
Python bisa digunakan untuk:
- Pemrograman Dasar (logika, struktur data, fungsi)
- Aplikasi Desktop GUI (Tkinter, PyQt)
- Website (Flask, Django)
- Data Science dan Statistik
- Kecerdasan Buatan (AI) & Machine Learning
- Otomatisasi Tugas (Scripting)
- Pemrograman Jaringan dan IoT
- Game (menggunakan Pygame)
- Aplikasi Mobile (dengan Kivy atau BeeWare)
- Sintaks mudah dibaca
- Cocok untuk pemula dan profesional
- Komunitas besar dan dokumentasi lengkap
- Bisa digunakan di berbagai platform
- Banyak pustaka (library) siap pakai
2. Sejarah Python
Python diciptakan oleh Guido van Rossum, seorang programmer asal Belanda. Ia mulai mengembangkan Python pada akhir tahun 1989, saat bekerja di Centrum Wiskunde & Informatica (CWI), sebuah lembaga riset di Belanda. Tujuannya adalah menciptakan bahasa pemrograman yang mudah digunakan, terbaca seperti bahasa manusia, namun tetap bertenaga tinggi.
Python resmi dirilis pertama kali pada tahun 1991 sebagai Python versi 0.9.0. Bahasa ini menggabungkan fitur dari beberapa bahasa seperti ABC, Modula-3, C, dan Unix shell.
Mengapa Dinamakan Python?
Nama “Python” tidak diambil dari nama ular, melainkan dari acara komedi Inggris favorit Van Rossum, yaitu “Monty Python’s Flying Circus”. Ia ingin agar bahasa yang ia buat punya kesan yang menyenangkan, tidak kaku, dan tidak menakutkan.
Perkembangan Versi Python
- Python 1.0 (1991): Versi awal, sudah punya fungsi, pengecualian (exception), dan struktur data dasar.
- Python 2.0 (2000): Memperkenalkan garbage collection dan list comprehension.
- Python 3.0 (2008): Versi yang lebih modern dan bersih, tapi tidak kompatibel penuh dengan Python 2.
- Hingga kini (2025), versi stabil sudah mencapai Python 3.12+, dengan peningkatan performa dan keamanan.
Filosofi Python dirangkum dalam sebuah dokumen terkenal berjudul "The Zen of Python", yang bisa dilihat langsung di terminal Python dengan perintah: python
SalinEdit
import this
Beberapa prinsip dari Zen of Python
- Beautiful is better than ugly. (Indah lebih baik daripada buruk.)
- Explicit is better than implicit. (Jelas lebih baik daripada tersirat.)
- Simple is better than complex. (Sederhana lebih baik daripada rumit.)
- Readability counts. (Keterbacaan sangat penting.)
- Errors should never pass silently. (Kesalahan tidak boleh dibiarkan begitu saja.)
- Ringkas tapi jelas
- Mudah dipaham
- Tidak bertele-tele
- Mengutamakan kemudahan pemeliharaan kode jangka panjang
1. Sintaks Mudah Dipahami
Python meniru gaya bahasa manusia. Misalnya: python
if umur > 17:print("Kamu sudah dewasa.")
2. Cocok untuk Banyak Bidang
Python bukan hanya untuk belajar dasar-dasar logika, tetapi juga digunakan pada berbagai bidang profesional:
- Aplikasi Web: Flask, Django
- Data Science: pandas, numpy, matplotlib
- Machine Learning & AI: TensorFlow, PyTorch
- Otomatisasi (Automation): Scripting, bot
- Game & Multimedia: pygame
- IoT dan Robotik: Raspberry Pi
- Aplikasi Mobile: Kivy, BeeWare
Perusahaan seperti Google, Facebook, Instagram, Netflix, Spotify, NASA, hingga Bank Dunia menggunakan Python dalam sistem mereka. Itu artinya Python bukan hanya "untuk belajar", tapi juga dipakai sungguhan di dunia nyata.
4. Banyak Sumber Belajar & Komunitas
Dokumentasi Python sangat lengkap, dan ribuan tutorial tersedia gratis. Komunitasnya juga luas, jadi saat kamu menghadapi masalah, besar kemungkinan orang lain pernah mengalaminya dan berbagi solusinya.
5. Multiplatform dan Open Source
Python bisa dijalankan di Windows, Linux, Mac, bahkan Android (melalui Termux/Kivy). Kamu tidak perlu membayar lisensi apa pun — Python itu gratis dan open-source.
6. Meningkatkan Cara Berpikir
Python mendorong kamu untuk berpikir logis dan terstruktur. Karena sintaksnya rapi, kamu akan terbiasa menyusun alur program dengan baik — ini berguna bahkan di luar dunia pemrograman.
Kesimpulan
Jika kamu ingin belajar pemrograman tanpa stres dan dengan hasil nyata, Python adalah pilihan terbaik.
Dia bukan hanya bahasa, tapi juga jalan yang halus untuk mengungkapkan logika dan ide kreatifmu dalam bentuk nyata.
- Interpreter Python – Mesin yang menjalankan kode Python-mu.
- IDE / Editor – Tempat menulis dan mengelola kode dengan nyaman.
- Unduh Python
- Kunjungi situs resmi: https://www.python.org
- Pilih menu Downloads > Windows
- Klik tombol untuk versi terbaru Python 3.x.x (misalnya, Python 3.12)
- Centang opsi “Add Python to PATH” (sangat penting!)
- Klik “Install Now”
- Tunggu proses instalasi selesai.
- Buka Command Prompt (CMD)
- Ketik: css
python --version
IDLE – Editor Bawaan Python
Setelah instalasi, Python akan membawa serta IDLE (Integrated Development and Learning Environment)
Untuk membukanya:
- Cari “IDLE” di menu Start
- IDLE cocok untuk latihan ringan dan program sederhana
- Terdiri dari dua bagian:
- Shell: Tempat langsung mengetik dan melihat hasil
- Editor: Tempat menulis skrip .py lebih panjang
Untuk menulis program yang lebih kompleks, Nona sarankan menggunakan VSCode — editor modern dan ringan.
Cara instal:
- Unduh dari https://code.visualstudio.com
- Jalankan dan instal seperti biasa
- Setelah VSCode terpasang, instal ekstensi:
- Klik ikon Extensions di sidebar kiri (atau tekan Ctrl+Shift+X)
- Cari “Python” (by Microsoft) dan klik Install
- Tampilan bersih dan modern
- Auto-completion, saran kode, warna sintaks
- Bisa menjalankan file .py langsung dengan klik tombol ▶
- Mendukung banyak bahasa dan framework lain
- Thonny: Editor ringan dan cocok untuk pemula
- PyCharm: Editor profesional dari JetBrains (ada versi gratis: Community Edition)
- Jupyter Notebook: Untuk eksplorasi data dan AI
- Instal Python dulu dari situs resmi
- Gunakan IDLE untuk mulai belajar
- Beralih ke VSCode jika kamu mulai mengerjakan proyek lebih besar
- IDE hanyalah alat. Yang terpenting adalah logika dan semangat belajarmu, Sayang
Setelah Python dan editor seperti IDLE atau VSCode terinstal, saatnya menjalankan program Python pertama. Biasanya, program pertama yang ditulis adalah perintah sederhana untuk mencetak teks ke layar:
print("Hello, world!")
Langkah-langkah menjalankannya:
- Buka IDLE atau editor yang kamu pakai (misalnya VSCode).
- Tulis kode di editor:
print("Halo Dunia!")
- Simpan file dengan nama misalnya
halo.py
. - Jalankan program:
- Jika menggunakan IDLE: Tekan F5 atau klik Run > Run Module.
- Jika menggunakan terminal/command prompt, ketik perintah:
python halo.py
Jika semuanya berjalan dengan baik, maka akan muncul output seperti ini:
Halo Dunia!
Penjelasan Kode
print()
adalah fungsi bawaan di Python untuk mencetak teks ke layar. Teks yang ingin ditampilkan ditulis di dalam tanda kurung dan diapit oleh tanda kutip ganda ("
).
Kode ini sangat penting karena menjadi langkah awal untuk memahami bagaimana Python mengeksekusi perintah baris demi baris.
Bab 2. Dasar-Dasar Pemrograman
- Struktur Program Python
- Tipe Data Dasar: int, float, str, bool
- Variabel dan Penamaan
- Input dan Output (input(), print())
Dalam bahasa Python, struktur program sangat sederhana dan tidak menggunakan tanda kurung kurawal seperti C/C++. Python menggunakan indentasi untuk menunjukkan blok kode.
Contoh Struktur Program Sederhana:
# Program sederhana menampilkan ucapan selamat
def ucapan():
print("Selamat datang di dunia Python!")
print("Semoga belajar kita menyenangkan.")
# Pemanggilan fungsi
ucapan()
Penjelasan:
def ucapan():
→ Mendefinisikan fungsi bernamaucapan
.- Baris setelahnya diindentasi untuk menunjukkan isi dari fungsi.
print()
digunakan untuk mencetak teks ke layar.- Terakhir, kita memanggil fungsi dengan menuliskan
ucapan()
.
Struktur Umum Program Python:
# 1. Komentar
# Ini adalah komentar
# 2. Import modul
import math
# 3. Definisi fungsi
def luas_lingkaran(r):
return math.pi * r * r
# 4. Eksekusi utama
print("Luas:", luas_lingkaran(5))
2. Tipe Data Dasar - int
, float
, str
, bool
Python memiliki beberapa tipe data dasar yang sangat penting dalam pemrograman. Memahami tipe data ini akan memudahkan kita dalam mengelola input, proses, dan output dalam program.
1. int
(Integer)
x = 10
y = -5
print(type(x)) # Hasil:
2. float
(Floating Point)
a = 3.14
b = -0.75
print(type(a)) # Hasil:
3. str
(String)
nama = "Nona"
salam = 'Halo Dunia'
print(type(nama)) # Hasil:
4. bool
(Boolean)
benar = True
salah = False
print(type(benar)) # Hasil:
5. Mengecek Tipe Data dengan type()
print(type(123)) #
print(type(7.5)) #
print(type("Python")) #
print(type(False)) #
Kesimpulan:
int
→ bilangan bulatfloat
→ bilangan desimalstr
→ teksbool
→ logika benar/salah
3. Variabel dan Penamaan
Variabel digunakan untuk menyimpan data. Dalam Python, kita tidak perlu mendeklarasikan tipe data saat membuat variabel, karena Python akan mengenali tipe data secara otomatis berdasarkan nilai yang diberikan.
1. Cara Membuat Variabel
nama = "Ali"
usia = 21
tinggi = 1.72
is_mahasiswa = True
2. Aturan Penamaan Variabel
- Nama variabel harus diawali dengan huruf atau garis bawah
_
- Tidak boleh diawali dengan angka
- Tidak boleh mengandung spasi
- Tidak boleh menggunakan kata kunci Python seperti
if
,class
,def
, dll.
3. Penamaan yang Baik
# Penamaan yang baik
nama_siswa = "Siti"
nilai_akhir = 89.5
# Penamaan yang buruk
1nama = "Salah" # Salah: diawali angka
nilai akhir = 70 # Salah: ada spasi
if = 90 # Salah: menggunakan keyword
4. Huruf Besar dan Kecil Berbeda
nama = "Dina"
Nama = "Rina"
print(nama) # Dina
print(Nama) # Rina
5. Konvensi Umum
- Gunakan huruf kecil dan
_
untuk memisahkan kata - Untuk konstanta, gunakan huruf kapital semua:
PI = 3.14
Kesimpulan:
Variabel adalah tempat menyimpan data, dan penamaannya harus mengikuti aturan agar program mudah dibaca dan tidak error.
4. Input dan Output - input()
dan print()
Dalam Python, kita dapat berinteraksi dengan pengguna menggunakan fungsi input()
untuk menerima data, dan print()
untuk menampilkan hasil ke layar.
1. Fungsi print()
Digunakan untuk menampilkan teks atau nilai ke layar.
print("Halo Dunia")
print(100 + 50)
Output:
Halo Dunia
150
2. Fungsi input()
Digunakan untuk meminta masukan dari pengguna. Masukan selalu berupa str
(teks), meskipun pengguna mengetik angka.
nama = input("Siapa namamu? ")
print("Halo", nama)
Jika pengguna mengetik Ali
, maka outputnya:
Siapa namamu? Ali
Halo Ali
3. Mengubah Input ke int
atau float
Agar bisa digunakan untuk perhitungan matematis, data input perlu diubah dari str
menjadi angka:
umur = int(input("Masukkan umur: "))
tinggi = float(input("Masukkan tinggi badan (m): "))
print("Umur kamu:", umur)
print("Tinggi kamu:", tinggi, "meter")
4. Contoh Interaktif Sederhana
nama = input("Nama kamu siapa? ")
usia = int(input("Berapa usiamu? "))
print("Hai", nama, "- usiamu", usia, "tahun.")
Catatan:
- Semua input dari pengguna awalnya dianggap
str
. - Gunakan
int()
ataufloat()
jika ingin mengubahnya ke angka.
Kesimpulan:
print()
→ menampilkan hasilinput()
→ menerima masukan dari pengguna- Gunakan konversi tipe jika perlu memproses input sebagai angka
🔴Bab 3. Operator dan Ekspresi
- Operator Aritmatika
- Operator Perbandingan
- Operator Logika (and, or, not)
- Operator Penugasan
Operator adalah simbol khusus yang digunakan untuk melakukan operasi pada satu atau lebih operand. Dalam Python, terdapat beberapa jenis operator penting yang sering digunakan.
1. Operator Aritmatika
Digunakan untuk operasi matematika dasar:
Operator | Nama | Contoh | Hasil |
---|---|---|---|
+ | Penjumlahan | 5 + 3 | 8 |
- | Pengurangan | 10 - 2 | 8 |
* | Perkalian | 4 * 2 | 8 |
/ | Pembagian | 16 / 2 | 8.0 |
// | Pembagian bulat | 17 // 2 | 8 |
% | Sisa bagi | 17 % 3 | 2 |
** | Pangkat | 2 ** 3 | 8 |
a = 10
b = 3
print(a + b) # 13
print(a % b) # 1
print(a ** b) # 1000
2. Operator Perbandingan
Digunakan untuk membandingkan dua nilai dan menghasilkan nilai True
atau False
.
Operator | Nama | Contoh | Hasil |
---|---|---|---|
== | Sama dengan | 5 == 5 | True |
!= | Tidak sama | 5 != 3 | True |
> | Lebih besar | 5 > 2 | True |
< | Lebih kecil | 5 < 2 | False |
>= | Lebih besar atau sama | 5 >= 5 | True |
<= | Lebih kecil atau sama | 3 <= 2 | False |
x = 7
y = 10
print(x == y) # False
print(x < y) # True
3. Operator Logika
Digunakan untuk menggabungkan ekspresi logika (boolean).
Operator | Deskripsi | Contoh | Hasil |
---|---|---|---|
and | True jika keduanya True | True and False | False |
or | True jika salah satu True | True or False | True |
not | Kebalikan nilai | not True | False |
a = True
b = False
print(a and b) # False
print(a or b) # True
print(not b) # True
4. Operator Penugasan
Digunakan untuk memberikan nilai ke variabel dan memperbarui nilainya.
Operator | Contoh | Setara dengan |
---|---|---|
= | x = 5 | Penugasan langsung |
+= | x += 3 | x = x + 3 |
-= | x -= 2 | x = x - 2 |
*= | x *= 4 | x = x * 4 |
/= | x /= 2 | x = x / 2 |
%= | x %= 3 | x = x % 3 |
x = 10
x += 5
print(x) # 15
x *= 2
print(x) # 30
Kesimpulan:
- Gunakan operator aritmatika untuk hitung angka
- Gunakan operator perbandingan untuk membuat logika kondisi
- Operator logika berguna saat membuat
if
/while
- Operator penugasan mempercepat penulisan kode
Bab 4. Kontrol Alur Program
- Percabangan: if, elif, else
- Perulangan: for, while
- Fungsi range()
- Pernyataan break dan continue
1. Percabangan: if
, elif
, else
Percabangan digunakan untuk menjalankan kode secara selektif berdasarkan kondisi.
x = 10
if x > 0:
print("Positif")
elif x == 0:
print("Nol")
else:
print("Negatif")
2. Perulangan: for
dan while
Digunakan untuk mengulang blok kode beberapa kali.
for
loop:
for i in range(3):
print("Perulangan ke-", i)
while
loop:
i = 0
while i < 3:
print("Nilai i:", i)
i += 1
3. Fungsi range()
range()
digunakan untuk menghasilkan deret angka secara otomatis.
Contoh | Penjelasan |
---|---|
range(5) | 0, 1, 2, 3, 4 |
range(2, 6) | 2, 3, 4, 5 |
range(1, 10, 2) | 1, 3, 5, 7, 9 |
for x in range(1, 6):
print(x)
4. Pernyataan break
dan continue
break
menghentikan perulangan, sedangkan continue
melewati satu iterasi.
for i in range(5):
if i == 3:
break
print(i)
# Output: 0, 1, 2
for i in range(5):
if i == 2:
continue
print(i)
# Output: 0, 1, 3, 4
Kesimpulan:
if
,elif
,else
digunakan untuk membuat keputusanfor
danwhile
digunakan untuk perulanganrange()
membantu membuat deret angkabreak
dancontinue
mengatur alur perulangan
Bab5. Fungsi dan Modularitas
- Pendefinisian Fungsi dengan def
- Parameter dan Return Value
- Fungsi Rekursif
- Scope: Local & Global
- Modul dan import
1. Pendefinisian Fungsi dengan def
Fungsi didefinisikan dengan kata kunci def
, diikuti nama fungsi dan tanda kurung.
def sapa():
print("Halo, dunia!")
sapa()
# Output: Halo, dunia!
2. Parameter dan Return Value
Fungsi dapat menerima parameter dan mengembalikan nilai dengan return
.
def tambah(a, b):
return a + b
hasil = tambah(3, 5)
print(hasil)
# Output: 8
3. Fungsi Rekursif
Fungsi yang memanggil dirinya sendiri disebut rekursif. Contoh: faktorial.
def faktorial(n):
if n == 1:
return 1
else:
return n * faktorial(n - 1)
print(faktorial(4))
# Output: 24
4. Scope: Local & Global
Variabel bisa bersifat lokal (dalam fungsi) atau global (di luar fungsi).
x = 10 # variabel global
def tampil():
x = 5 # variabel lokal
print("Dalam fungsi:", x)
tampil()
print("Di luar fungsi:", x)
# Output:
# Dalam fungsi: 5
# Di luar fungsi: 10
5. Modul dan import
Modul adalah file Python eksternal yang bisa digunakan kembali.
# file: matematika.py
def kuadrat(x):
return x * x
# file utama
import matematika
print(matematika.kuadrat(3))
# Output: 9
Kesimpulan:
- Gunakan fungsi untuk mengorganisir dan menyederhanakan kode
- Manfaatkan parameter dan
return
untuk fleksibilitas - Rekursif berguna untuk masalah yang berulang
- Kenali perbedaan variabel lokal dan global
- Pecah program jadi modul agar mudah dirawat dan digunakan ulang
Bab 6. Struktur Data
- List dan Operasinya
- Tuple
- Dictionary
- Set
- Nested Structures
1. List dan Operasinya
List
adalah struktur data berurutan yang dapat diubah (mutable).
buah = ["apel", "jeruk", "mangga"]
print(buah[0]) # apel
buah.append("pisang")
print(buah) # ['apel', 'jeruk', 'mangga', 'pisang']
buah.remove("jeruk")
print(buah) # ['apel', 'mangga', 'pisang']
2. Tuple
Tuple
mirip dengan list, tetapi tidak dapat diubah (immutable).
angka = (1, 2, 3)
print(angka[1]) # 2
# angka[1] = 5 # Error: tuple tidak bisa diubah
3. Dictionary
Dictionary
menyimpan pasangan kunci dan nilai (key-value).
data = {"nama": "Ali", "umur": 21}
print(data["nama"]) # Ali
data["alamat"] = "Jambi"
print(data) # {'nama': 'Ali', 'umur': 21, 'alamat': 'Jambi'}
4. Set
Set
menyimpan elemen unik tanpa urutan.
angka = {1, 2, 3, 3, 2}
print(angka) # {1, 2, 3}
angka.add(4)
print(angka) # {1, 2, 3, 4}
5. Nested Structures
Struktur data bisa disarang satu di dalam lainnya (nested).
murid = {
"nama": "Budi",
"nilai": [80, 85, 90],
"alamat": {"kota": "Jambi", "kodepos": 36111}
}
print(murid["nilai"][1]) # 85
print(murid["alamat"]["kota"]) # Jambi
Kesimpulan:
List
: elemen berurutan dan bisa diubahTuple
: elemen tetap dan tidak bisa diubahDictionary
: pasangan key-value untuk data berstrukturSet
: kumpulan unik tanpa urutanNested
: struktur data di dalam struktur lain
Bab 7. Pemrograman Berbasis File
- Membaca dan Menulis File Teks
- Mode File (r, w, a, rb, wb)
- Penanganan File Secara Aman (menggunakan with)
Dalam bahasa Python, file bukan sekadar wadah data
ia adalah lembaran kisah, yang bisa kau tulis, baca, dan simpan dalam diam.
1. Membaca dan Menulis File Teks
Bayangkan sebuah buku… kau bisa membuka dan membaca lembar demi lembarnya, atau menulis puisi di sela-selanya.
file = open("namafile.txt", "r")
teks = file.read()
file.close()
Menulis pun semudah itu:
file = open("puisi.txt", "w")
file.write("Hati yang menanti, di balik jendela sunyi...")
file.close()
Dan jika ingin menambahkan tanpa menghapus isi lama:
file = open("catatan.txt", "a")
file.write("\nDan malam pun menyimpan rahasia...")
file.close()
2. Mode File
Setiap file memiliki mode, bagai pintu-pintu yang berbeda untuk memasuki dunia data:
Mode | Arti |
---|---|
"r" | Baca (read) |
"w" | Tulis (write) |
"a" | Tambah (append) |
"rb" | Baca dalam format biner |
"wb" | Tulis dalam format biner |
Catatan: Jika file tidak ditemukan dalam mode "r"
, maka akan muncul error.
Tetapi mode "w"
akan otomatis membuat file baru bila belum ada.
3. Penanganan File Secara Aman (dengan with
)
Dalam sunyi, Python berbisik: "Tutuplah jendela setelah engkau membukanya..."
Itulah sebabnya kita dianjurkan menggunakan with
, sebuah cara aman dan bijak:
with open("kisah.txt", "r") as file:
isi = file.read()
print(isi)
Dengan with
, file akan otomatis ditutup — seperti lampu yang padam saat kau tinggalkan.
Bab8. Pemrograman Berbasis Objek (OOP)
- Konsep OOP: Class & Object
- Atribut dan Metode
- Konstruktor (__init__)
- Pewarisan (Inheritance)
- Polimorfisme dan Enkapsulasi
1. Konsep OOP: Class & Object
OOP adalah pendekatan pemrograman yang berfokus pada objek dan class.
class Mobil:
pass
sedan = Mobil() # Object dari class Mobil
print(type(sedan))
2. Atribut dan Metode
Atribut adalah data, metode adalah fungsi dalam class.
class Mobil:
def __init__(self, merek):
self.merek = merek
def jalan(self):
print(f"{self.merek} sedang berjalan")
toyota = Mobil("Toyota")
toyota.jalan()
# Output: Toyota sedang berjalan
3. Konstruktor (__init__
)
__init__
adalah metode khusus yang otomatis dipanggil saat objek dibuat.
class Buku:
def __init__(self, judul):
self.judul = judul
b = Buku("Logika Python")
print(b.judul) # Logika Python
4. Pewarisan (Inheritance)
Class anak bisa mewarisi atribut dan metode dari class induk.
class Hewan:
def suara(self):
print("Bersuara")
class Kucing(Hewan):
def suara(self):
print("Meong")
k = Kucing()
k.suara() # Meong
5. Polimorfisme dan Enkapsulasi
Polimorfisme berarti satu nama metode bisa bekerja beda pada class berbeda.
Enkapsulasi menyembunyikan data agar tidak diakses langsung dari luar.
class Orang:
def __init__(self, nama):
self.__nama = nama # private
def tampilkan(self):
print("Nama:", self.__nama)
o = Orang("Aminah")
o.tampilkan()
# Output: Nama: Aminah
Kesimpulan:
- OOP membuat kode lebih rapi dan terstruktur
- Gunakan class untuk cetak biru, object untuk instansinya
- Pewarisan menghemat kode
- Polimorfisme memberi fleksibilitas
- Enkapsulasi melindungi data
Bab 9. Penanganan Error dan Exception
- Try – Except – Finally
- Menangani Error Umum
- Membuat Exception Sendiri
1. Try – Except – Finally
Blok try
digunakan untuk menjalankan kode yang mungkin menyebabkan error.
try:
x = 10 / 0
except ZeroDivisionError:
print("Tidak bisa membagi dengan nol!")
finally:
print("Bagian finally tetap dijalankan.")
2. Menangani Error Umum
Beberapa jenis error yang sering terjadi:
ZeroDivisionError
: Pembagian dengan nolValueError
: Tipe data salah (misalnya konversi string ke int)IndexError
: Akses indeks di luar batas
try:
angka = int("tiga")
except ValueError:
print("Format angka salah!")
3. Membuat Exception Sendiri
Kamu bisa mendefinisikan exception kustom menggunakan class.
class NilaiError(Exception):
pass
def cek_nilai(n):
if n < 0:
raise NilaiError("Nilai tidak boleh negatif!")
try:
cek_nilai(-5)
except NilaiError as e:
print("Terjadi Error:", e)
Kesimpulan:
- Gunakan
try-except
untuk mencegah program berhenti karena error - Gunakan
finally
jika ingin kode tetap berjalan di akhir - Exception kustom sangat berguna untuk validasi khusus
Bab 10. Modul Populer di Python
- math, random, datetime
- os dan sys
- json
- re (Regular Expression)
1. Modul math
, random
, dan datetime
Modul math
menyediakan fungsi matematika standar.
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592...
Modul random
berguna untuk menghasilkan nilai acak.
import random
print(random.randint(1, 10)) # Angka acak dari 1 sampai 10
Modul datetime
digunakan untuk menangani tanggal dan waktu.
from datetime import datetime
sekarang = datetime.now()
print(sekarang)
2. Modul os
dan sys
os
digunakan untuk interaksi dengan sistem operasi.
import os
print(os.getcwd()) # Menampilkan direktori kerja saat ini
sys
berguna untuk akses ke argumen baris perintah dan info interpreter.
import sys
print(sys.version)
3. Modul json
Modul json
digunakan untuk membaca dan menulis data dalam format JSON.
import json
data = {"nama": "Nona", "umur": 20}
json_str = json.dumps(data)
print(json_str)
data_balik = json.loads(json_str)
print(data_balik["nama"])
4. Modul re
(Regular Expression)
Modul re
digunakan untuk pencocokan pola dalam teks.
import re
teks = "Halo 123"
pola = r"\d+" # Cari angka
cocok = re.findall(pola, teks)
print(cocok) # ['123']
Kesimpulan:
math
danrandom
berguna untuk perhitungan dan angka acakdatetime
sangat penting untuk manajemen waktuos
dansys
mempermudah interaksi dengan sistemjson
digunakan untuk pertukaran datare
sangat berguna untuk analisis teks
Bab 11. Pengantar Python Lanjut
- List Comprehension
- Lambda Function
- Generator & Iterator
- Decorator (pengantar)
1. List Comprehension
List comprehension adalah cara singkat dan efisien untuk membuat list dari iterable.
angka = [x for x in range(5)]
print(angka) # [0, 1, 2, 3, 4]
genap = [x for x in range(10) if x % 2 == 0]
print(genap) # [0, 2, 4, 6, 8]
2. Lambda Function
Fungsi anonim yang didefinisikan dalam satu baris dengan kata kunci lambda
.
tambah = lambda x, y: x + y
print(tambah(3, 5)) # 8
3. Generator & Iterator
Generator adalah fungsi yang mengembalikan iterator menggunakan yield
.
def hitung():
for i in range(3):
yield i
for nilai in hitung():
print(nilai)
Iterator adalah objek yang dapat diiterasi satu per satu menggunakan next()
.
angka = iter([1, 2, 3])
print(next(angka)) # 1
print(next(angka)) # 2
4. Decorator (pengantar)
Decorator adalah fungsi yang membungkus fungsi lain untuk menambahkan fungsionalitas.
def dekorator(func):
def wrapper():
print("Sebelum fungsi dijalankan")
func()
print("Setelah fungsi dijalankan")
return wrapper
@dekorator
def halo():
print("Halo Dunia!")
halo()
Kesimpulan:
- List comprehension membuat list dengan cepat
- Lambda digunakan untuk fungsi singkat
- Generator dan iterator menghemat memori
- Decorator menambah fungsi tanpa mengubah aslinya
Bab 12. Proyek Mini
- Kalkulator Sederhana
- Program Catatan Harian (To-Do List)
- Game Teks (Tebak Angka / Adventure)
- Konversi Suhu / Mata Uang
Bab ini berisi latihan praktik dengan membuat program mini menggunakan konsep yang telah dipelajari. Cocok untuk memperkuat pemahaman pemula.
1. Kalkulator Sederhana
Membuat kalkulator dengan if-elif
dan input()
.
print("Operasi: +, -, *, /")
a = float(input("Angka pertama: "))
b = float(input("Angka kedua: "))
op = input("Pilih operator: ")
if op == '+':
print("Hasil:", a + b)
elif op == '-':
print("Hasil:", a - b)
elif op == '*':
print("Hasil:", a * b)
elif op == '/':
print("Hasil:", a / b)
else:
print("Operator tidak dikenal.")
2. Program Catatan Harian (To-Do List)
todos = []
while True:
tugas = input("Masukkan tugas (atau 'selesai'): ")
if tugas.lower() == 'selesai':
break
todos.append(tugas)
print("Daftar tugas:")
for i, t in enumerate(todos):
print(f"{i+1}. {t}")
3. Game Teks: Tebak Angka
import random
angka_rahasia = random.randint(1, 10)
tebakan = int(input("Tebak angka antara 1 dan 10: "))
if tebakan == angka_rahasia:
print("Benar!")
else:
print(f"Salah, angka yang benar adalah {angka_rahasia}")
4. Konversi Suhu / Mata Uang
Konversi Suhu:
c = float(input("Masukkan suhu Celsius: "))
f = (c * 9/5) + 32
print("Suhu dalam Fahrenheit:", f)
Konversi Mata Uang (simulasi):
rupiah = float(input("Jumlah dalam Rupiah: "))
dollar = rupiah / 15000
print("Setara Dollar:", round(dollar, 2))
Kesimpulan:
- Proyek mini membantu menghubungkan teori dengan praktik nyata
- Gunakan proyek sebagai latihan mandiri atau tugas belajar kelompok
Bab 13. Bonus: Integrasi dan Visualisasi
- Python dan GUI (Tkinter)
- Grafik Dasar dengan matplotlib
- Pengenalan pandas dan numpy
Bab bonus ini memperkenalkan fitur lanjutan Python yang sering digunakan untuk antarmuka pengguna dan visualisasi data. Cocok sebagai jembatan ke dunia Python tingkat menengah.
1. Python dan GUI (Tkinter)
Tkinter adalah library bawaan Python untuk membuat antarmuka grafis (GUI).
import tkinter as tk
window = tk.Tk()
window.title("Halo Dunia")
label = tk.Label(window, text="Selamat datang di GUI Python!")
label.pack()
window.mainloop()
2. Grafik Dasar dengan matplotlib
Matplotlib digunakan untuk membuat grafik garis, batang, pie chart, dll.
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [2, 4, 6, 8]
plt.plot(x, y)
plt.title("Grafik Garis")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
3. Pengenalan pandas dan numpy
Pandas dan Numpy sangat populer dalam analisis data dan komputasi ilmiah.
Pandas: digunakan untuk manipulasi data seperti Excel.
import pandas as pd
data = {"Nama": ["Ali", "Budi"], "Nilai": [80, 90]}
df = pd.DataFrame(data)
print(df)
Numpy: digunakan untuk perhitungan numerik dan array.
import numpy as np
a = np.array([1, 2, 3])
print(a * 2) # [2 4 6]
Catatan:
- Pastikan kamu telah menginstal
matplotlib
,pandas
, dannumpy
melaluipip
sebelum digunakan. - Ini adalah pengantar saja — materi lanjutan bisa dikembangkan di sesi lain.
Penutup
Modul Python dalam Logika Algoritma ini disusun untuk memberikan pemahaman dasar yang sistematis kepada pemula yang ingin belajar Python secara bertahap dan menyenangkan.
Dengan 13 Bab inti dan berbagai proyek mini, pembaca diharapkan dapat:
- Memahami logika pemrograman dasar
- Menulis program Python secara mandiri
- Membangun kepercayaan diri untuk lanjut ke tingkat menengah
Ilmu yang tidak diamalkan akan lekang oleh waktu. Mari jadikan coding sebagai ladang amal, manfaat, dan karya.
Tentang Penulis
Supriadi JI (dikenal juga sebagai Musafir Engineering) adalah seorang teknisi elektronik dan konsultan teknik mesin yang aktif menulis catatan teknis, risalah, dan panduan praktis untuk masyarakat umum, mahasiswa teknik, dan para perantau intelektual dari desa.
Melalui blog Musafir JI, beliau berbagi pengalaman teknis dan spiritual, mengajak pembaca untuk terus belajar, memperbaiki diri, dan bermanfaat di manapun berada.
Beliau percaya bahwa:
"Teknologi bukan sekadar alat, tapi jembatan menuju dakwah dan kehidupan yang lebih baik."
📌 Temui catatan-catatan lainnya di:
https://almuzafir.blogspot.com
Terima kasih telah membaca dan semoga bermanfaat. 🌱