
π BAB 1 β Pengenalan Python
Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata
π§ 1.1 Apa Itu Python?
5
π Definisi Python
Python adalah bahasa pemrograman tingkat tinggi (high-level programming language) yang dirancang untuk mudah dibaca, dipahami, dan digunakan oleh manusia. Python bersifat interpreted, artinya kode dijalankan baris demi baris tanpa perlu proses kompilasi yang rumit.
Python dikembangkan oleh Guido van Rossum dan pertama kali dirilis pada tahun 1991.
π‘ Karakteristik Utama Python
| Karakteristik | Penjelasan |
|---|---|
| π’ Mudah Dibaca | Sintaks sederhana, mirip bahasa manusia |
| β‘ Interpreted | Tidak perlu compile |
| π Multiplatform | Bisa di Windows, Linux, Mac |
| π¦ Banyak Library | Mendukung AI, Web, Data Science |
| π§© OOP & Procedural | Mendukung berbagai paradigma |
π§Ύ Contoh Kode Python Sederhana
print("Hello, World!")
π Penjelasan:
print()adalah fungsi untuk menampilkan output ke layar- String ditulis dalam tanda kutip
" "
π― Kenapa Python Populer?
- Digunakan di AI & Machine Learning
- Digunakan dalam Web Development
- Banyak dipakai oleh perusahaan besar seperti Google, Netflix, dan Instagram
π 1.2 Sejarah dan Keunggulan Python
6
π°οΈ Sejarah Singkat Python
Python mulai dikembangkan pada akhir 1980-an oleh Guido van Rossum di Belanda.
π Timeline Perkembangan:
| Tahun | Peristiwa |
|---|---|
| 1991 | Python versi pertama dirilis |
| 2000 | Python 2.0 dirilis |
| 2008 | Python 3.0 (versi modern) |
| Sekarang | Python jadi bahasa populer dunia |
π Keunggulan Python
Berikut adalah kelebihan utama Python dibanding bahasa lain:
1. π§© Mudah Dipelajari
Sintaks Python sangat sederhana, cocok untuk pemula.
2. π Library Sangat Lengkap
Contoh:
- Data Science β NumPy, Pandas
- AI β TensorFlow
- Web β Django
3. π Komunitas Besar
Banyak forum, dokumentasi, dan tutorial online.
4. π Fleksibel & Multiguna
Python bisa digunakan untuk:
- Web Development
- Data Analysis
- Artificial Intelligence
- Automation
βοΈ Perbandingan Python dengan Bahasa Lain
| Aspek | Python | C++ | Java |
|---|---|---|---|
| Sintaks | Mudah | Sulit | Sedang |
| Kecepatan | Sedang | Cepat | Cepat |
| Pembelajaran | Mudah | Sulit | Sedang |
| Penggunaan | Luas | Sistem | Enterprise |
π» 1.3 Instalasi dan Setup Lingkungan
5
π§° Langkah Instalasi Python
1. π½ Download Python
- Kunjungi situs resmi:
π Python Software Foundation - Pilih versi terbaru Python 3
2. βοΈ Instalasi Python
Langkah:
- Jalankan file installer
- Centang βAdd Python to PATHβ
- Klik Install Now
π Catatan:
PATH penting agar Python bisa dijalankan dari command prompt
3. β Cek Instalasi
Buka Command Prompt / Terminal:
python --version
Jika berhasil, akan muncul versi Python.
π§βπ» Setup Lingkungan Pengembangan (IDE)
π οΈ Pilihan IDE Populer:
| IDE | Keterangan |
|---|---|
| Visual Studio Code | Ringan dan populer |
| PyCharm | Khusus Python |
| Jupyter Notebook | Cocok untuk data |
βοΈ Setup VS Code untuk Python
- Install Visual Studio Code
- Install extension Python
- Buat file
.py - Jalankan program
π§ͺ Uji Coba Program Pertama
print("Saya sedang belajar Python!")
π Diagram Alur Eksekusi Python
6
π Penjelasan:
- Programmer menulis kode
- Python interpreter membaca kode
- Kode dieksekusi
- Output ditampilkan
π Rangkuman BAB 1
- Python adalah bahasa pemrograman yang mudah dipelajari
- Dikembangkan oleh Guido van Rossum
- Memiliki banyak keunggulan (mudah, fleksibel, powerful)
- Instalasi Python cukup mudah dan cepat
- Banyak tools/IDE yang mendukung Python
π Latihan Soal
βοΈ Pilihan Ganda
- Python termasuk bahasa β¦
a. Low-level
b. High-level
c. Assembly
d. Machine - Siapa pencipta Python?
a. Bill Gates
b. Elon Musk
c. Guido van Rossum
d. Mark Zuckerberg
π» Praktik
- Install Python di komputer
- Jalankan perintah
python --version - Buat program sederhana βHello Worldβ
π BAB 2 β Dasar Pemrograman Python
Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata
π§ Pendahuluan BAB 2
Pada bab ini, kita mulai benar-benar βmenulis programβ. Fokusnya ada pada tiga fondasi utama:
- Variabel & Tipe Data β cara menyimpan informasi
- Operator β cara mengolah data
- Input & Output β cara berinteraksi dengan pengguna
Tanpa tiga konsep ini, program tidak bisa bekerja secara dinamis.
π’ 2.1 Variabel dan Tipe Data
7
π Apa Itu Variabel?
Variabel adalah wadah untuk menyimpan data dalam program.
Bayangkan variabel seperti kotak berlabel:
- Nama variabel = label kotak
- Nilai variabel = isi kotak
π§Ύ Contoh Variabel di Python
nama = "Andi"
umur = 20
tinggi = 170.5
π Penjelasan:
namamenyimpan teks (string)umurmenyimpan angka bulat (integer)tinggimenyimpan angka desimal (float)
βοΈ Aturan Penamaan Variabel
| Aturan | Contoh Benar | Contoh Salah |
|---|---|---|
| Tidak boleh spasi | nama_lengkap | nama lengkap |
| Tidak diawali angka | data1 | 1data |
| Case-sensitive | Nama β nama | – |
π§© Tipe Data dalam Python
π Jenis Tipe Data Utama:
| Tipe Data | Contoh | Penjelasan |
|---|---|---|
int | 10 | Bilangan bulat |
float | 3.14 | Bilangan desimal |
str | “Halo” | Teks |
bool | True/False | Logika |
π» Contoh Penggunaan Tipe Data
is_active = True
nilai = 85
pi = 3.14
pesan = "Belajar Python"
π Cek Tipe Data
print(type(nilai))
π Output:
<class 'int'>
π§ Konsep Penting
Python adalah dynamically typed language:
- Tidak perlu deklarasi tipe data
- Tipe otomatis ditentukan dari nilai
β 2.2 Operator dalam Python
5
π Apa Itu Operator?
Operator adalah simbol yang digunakan untuk melakukan operasi pada data.
π’ 1. Operator Aritmatika
Digunakan untuk perhitungan matematika.
| Operator | Fungsi | Contoh |
|---|---|---|
| + | Penjumlahan | 5 + 3 = 8 |
| – | Pengurangan | 5 – 3 = 2 |
| * | Perkalian | 5 * 3 = 15 |
| / | Pembagian | 5 / 2 = 2.5 |
| % | Modulus | 5 % 2 = 1 |
| ** | Pangkat | 2 ** 3 = 8 |
π» Contoh:
a = 10
b = 3print(a + b)
print(a % b)
βοΈ 2. Operator Perbandingan
Menghasilkan nilai True atau False.
| Operator | Arti |
|---|---|
| == | Sama dengan |
| != | Tidak sama |
| > | Lebih besar |
| < | Lebih kecil |
| >= | Lebih besar sama |
| <= | Lebih kecil sama |
π» Contoh:
print(10 > 5) # True
print(10 == 5) # False
π 3. Operator Logika
Digunakan untuk logika kondisi.
| Operator | Arti |
|---|---|
| and | DAN |
| or | ATAU |
| not | TIDAK |
π» Contoh:
x = True
y = Falseprint(x and y) # False
print(x or y) # True
π§ Diagram Konsep Operator
6
π Operator bekerja dengan:
- Mengambil nilai (operand)
- Melakukan operasi
- Menghasilkan output
β¨οΈ 2.3 Input & Output
6
π Apa Itu Input & Output?
- Input β data dari pengguna
- Output β hasil yang ditampilkan program
π₯οΈ 1. Output dengan print()
print("Hello Python")
π Fungsi print() digunakan untuk menampilkan teks.
β¨οΈ 2. Input dengan input()
nama = input("Masukkan nama: ")
print("Halo", nama)
β οΈ Penting: Input Selalu String
umur = input("Masukkan umur: ")
print(type(umur))
Output:
<class 'str'>
π Konversi Tipe Data (Casting)
| Fungsi | Keterangan |
|---|---|
| int() | ke integer |
| float() | ke desimal |
| str() | ke string |
π» Contoh:
umur = int(input("Masukkan umur: "))
print(umur + 5)
π Alur Input β Proses β Output
6
π Penjelasan:
- User memasukkan data
- Program memproses
- Hasil ditampilkan
π§ͺ Contoh Program Lengkap
nama = input("Masukkan nama: ")
umur = int(input("Masukkan umur: "))tahun_depan = umur + 1print("Halo", nama)
print("Tahun depan umur kamu:", tahun_depan)
π Rangkuman BAB 2
- Variabel digunakan untuk menyimpan data
- Python memiliki berbagai tipe data (int, float, str, bool)
- Operator digunakan untuk mengolah data
- Input & Output memungkinkan interaksi dengan pengguna
- Casting penting untuk mengubah tipe data
π Latihan Soal
βοΈ Teori
- Apa perbedaan
intdanfloat? - Jelaskan fungsi operator
==dan!= - Kenapa
input()selalu menghasilkan string?
π» Praktik
- Buat program menghitung luas persegi
- Buat program input nama dan umur
- Buat kalkulator sederhana (+, -, *, /)
π BAB 3 β Struktur Kontrol
Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata
π§ Pendahuluan BAB 3
Struktur kontrol adalah βotakβ dari sebuah program. Di sinilah program mulai mengambil keputusan dan mengulang pekerjaan secara otomatis.
Dua konsep utama:
- Percabangan (if, else) β memilih tindakan berdasarkan kondisi
- Perulangan (for, while) β menjalankan aksi berulang kali
Tanpa struktur kontrol, program hanya berjalan lurus tanpa logika.
πΏ 3.1 Percabangan (if, else)
5
π Apa Itu Percabangan?
Percabangan adalah mekanisme untuk mengambil keputusan berdasarkan kondisi tertentu.
π Analogi:
Seperti memilih jalan:
- Jika hujan β bawa payung
- Jika tidak β tidak perlu
βοΈ Struktur Dasar if
if kondisi:
aksi
π» Contoh:
umur = 18if umur >= 17:
print("Boleh membuat KTP")
π Jika kondisi benar (True), maka kode dijalankan.
π if β else
Digunakan untuk dua kemungkinan.
if kondisi:
aksi_true
else:
aksi_false
π» Contoh:
nilai = 60if nilai >= 75:
print("Lulus")
else:
print("Tidak lulus")
π if β elif β else
Untuk banyak kondisi.
if kondisi1:
aksi1
elif kondisi2:
aksi2
else:
aksi_default
π» Contoh:
nilai = 85if nilai >= 90:
print("A")
elif nilai >= 75:
print("B")
elif nilai >= 60:
print("C")
else:
print("D")
π§ Diagram Logika Percabangan
6
π Alur:
- Evaluasi kondisi
- Jika benar β jalankan aksi
- Jika salah β cek kondisi lain / else
β οΈ Kesalahan Umum
- Salah indentasi
- Salah operator (
=vs==) - Tidak menangani semua kondisi
π 3.2 Perulangan (Looping)
6
π Apa Itu Perulangan?
Perulangan adalah proses mengulang perintah selama kondisi terpenuhi.
π Analogi:
- Menghitung 1β10
- Mengulang latihan 5 kali
π A. Perulangan for
π Digunakan untuk:
- Mengulang berdasarkan jumlah tertentu
- Mengakses data dalam list/string
βοΈ Struktur for
for variabel in range(n):
aksi
π» Contoh:
for i in range(5):
print(i)
π Output:
0
1
2
3
4
π Penjelasan range()
| Bentuk | Arti |
|---|---|
| range(5) | 0β4 |
| range(1, 5) | 1β4 |
| range(1, 10, 2) | 1,3,5,7,9 |
π» Contoh:
for i in range(1, 10, 2):
print(i)
π‘ Looping pada String
for huruf in "Python":
print(huruf)
π B. Perulangan while
π Digunakan untuk:
- Mengulang selama kondisi benar
βοΈ Struktur while
while kondisi:
aksi
π» Contoh:
i = 0while i < 5:
print(i)
i += 1
β οΈ Hati-hati Infinite Loop
while True:
print("Loop terus")
π Ini akan berjalan tanpa henti!
π§ Diagram Perulangan while
8
β break dan continue
π΄ break
Menghentikan loop
for i in range(10):
if i == 5:
break
print(i)
π΅ continue
Melanjutkan ke iterasi berikutnya
for i in range(5):
if i == 2:
continue
print(i)
π§ͺ Contoh Program Lengkap
π― Program Menentukan Bilangan Genap/Ganjil
angka = int(input("Masukkan angka: "))if angka % 2 == 0:
print("Genap")
else:
print("Ganjil")
π Program Perulangan
for i in range(1, 6):
print("Perulangan ke-", i)
π Kombinasi Loop + Percabangan
for i in range(1, 11):
if i % 2 == 0:
print(i, "Genap")
else:
print(i, "Ganjil")
π Perbandingan for vs while
| Aspek | for | while |
|---|---|---|
| Penggunaan | Jumlah pasti | Kondisi |
| Risiko | Rendah | Infinite loop |
| Kemudahan | Mudah | Lebih fleksibel |
π Rangkuman BAB 3
- Percabangan digunakan untuk pengambilan keputusan
if,elif,elsedigunakan untuk kondisi- Perulangan digunakan untuk mengulang proses
foruntuk jumlah tertentuwhileuntuk kondisibreakdancontinuemengontrol loop
π Latihan Soal
βοΈ Teori
- Apa perbedaan
ifdanelif? - Kapan menggunakan
fordanwhile? - Apa fungsi
break?
π» Praktik
- Program menentukan nilai huruf (A, B, C)
- Program mencetak angka 1β20
- Program tabel perkalian sederhana
- Program login sederhana (pakai while)
π BAB 4 β Fungsi dan Modularisasi
Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata
π§ Pendahuluan BAB 4
Seiring program makin besar, menulis kode βlangsung semua di satu tempatβ akan cepat berantakan.
Di sinilah fungsi (function) dan modularisasi (module) jadi kunci:
- Fungsi β memecah program jadi bagian kecil yang bisa digunakan ulang
- Modul β mengorganisasi kode dalam file terpisah
π Tujuan utama:
- Kode lebih rapi
- Mudah dipahami
- Bisa digunakan kembali (reusable)
- Mudah diuji dan dirawat (maintainable)
π§ 4.1 Konsep Fungsi (Function)
7
π Apa Itu Fungsi?
Fungsi adalah blok kode yang dapat dipanggil kembali untuk menjalankan tugas tertentu.
π Analogi:
Seperti mesin kopi β
- Input β air & kopi
- Proses β diseduh
- Output β kopi siap minum
βοΈ Struktur Fungsi
def nama_fungsi(parameter):
# isi fungsi
return hasil
π» Contoh Fungsi Sederhana
def sapa():
print("Halo, selamat belajar Python!")sapa()
π₯ Fungsi dengan Parameter
def sapa(nama):
print("Halo", nama)sapa("Andi")
π Parameter = data yang masuk ke fungsi
π€ Fungsi dengan Return
def tambah(a, b):
return a + bhasil = tambah(5, 3)
print(hasil)
π return digunakan untuk mengembalikan nilai
π§ Diagram Fungsi
6
π§© 4.2 Jenis Parameter dalam Fungsi
π Jenis Parameter
| Jenis | Penjelasan |
|---|---|
| Positional | Berdasarkan urutan |
| Keyword | Berdasarkan nama |
| Default | Memiliki nilai awal |
π» Contoh:
def biodata(nama, umur=18):
print("Nama:", nama)
print("Umur:", umur)biodata("Budi")
π Keyword Argument
biodata(umur=20, nama="Siti")
π 4.3 Scope Variabel (Lokal vs Global)
π Scope
Scope adalah jangkauan variabel dalam program.
π Variabel Lokal
def fungsi():
x = 10
print(x)
π Variabel Global
x = 5def fungsi():
print(x)
β οΈ Catatan:
- Variabel lokal hanya bisa diakses dalam fungsi
- Gunakan global dengan hati-hati
π¦ 4.4 Modularisasi (Module & Package)
7
π Apa Itu Modul?
Modul adalah file Python (.py) yang berisi fungsi/kode yang bisa digunakan kembali.
π Contoh Modul
file: matematika.py
def tambah(a, b):
return a + b
π₯ Menggunakan Modul
import matematikaprint(matematika.tambah(2, 3))
π Import dengan Alias
import matematika as mprint(m.tambah(2, 3))
π― Import Spesifik
from matematika import tambah
π¦ Package
Package = kumpulan modul dalam folder
π§ͺ 4.5 Studi Kasus Nyata
π― Program Kalkulator Modular
π Struktur:
kalkulator/
βββ operasi.py
βββ main.py
πΉ operasi.py
def tambah(a, b):
return a + bdef kurang(a, b):
return a - b
πΉ main.py
import operasia = int(input("Masukkan angka pertama: "))
b = int(input("Masukkan angka kedua: "))print("Hasil tambah:", operasi.tambah(a, b))
print("Hasil kurang:", operasi.kurang(a, b))
π Analisis
- Fungsi dipisah β lebih rapi
- Mudah dikembangkan
- Bisa dipakai ulang
β 4.6 Best Practice Coding
β 1. Gunakan Nama Fungsi Jelas
β f1()
β
hitung_luas()
β 2. Satu Fungsi Satu Tugas
Jangan terlalu banyak logika dalam satu fungsi
β 3. Gunakan Return (hindari print berlebihan)
Fungsi sebaiknya mengembalikan nilai
β 4. Dokumentasi Fungsi (Docstring)
def tambah(a, b):
"""Menghitung penjumlahan dua angka"""
return a + b
β 5. Gunakan Modularisasi
Pisahkan kode sesuai fungsi
π Diagram Modularisasi
7
π Perbandingan Tanpa vs Dengan Fungsi
| Aspek | Tanpa Fungsi | Dengan Fungsi |
|---|---|---|
| Kode | Panjang | Ringkas |
| Maintenance | Sulit | Mudah |
| Reusable | Tidak | Ya |
π Rangkuman BAB 4
- Fungsi membantu membuat kode lebih modular
- Parameter & return penting dalam fungsi
- Scope menentukan jangkauan variabel
- Modul membantu mengorganisasi kode
- Best practice meningkatkan kualitas program
π Latihan Soal
βοΈ Teori
- Apa perbedaan parameter dan argument?
- Apa fungsi
return? - Apa itu modul?
π» Praktik
- Buat fungsi menghitung luas lingkaran
- Buat fungsi cek bilangan prima
- Buat modul matematika sederhana
- Buat program kasir modular
π Tantangan
Buat program:
- Input data mahasiswa
- Hitung nilai rata-rata
- Tentukan grade (pakai fungsi + modul)
π BAB 5 β Struktur Data dalam Python
List, Tuple, Set, Dictionary + Studi Kasus & Visualisasi
π§ Pendahuluan BAB 5
Dalam pemrograman, data jarang berdiri sendiri. Kita sering perlu menyimpan banyak nilai sekaligusβmisalnya daftar nilai mahasiswa, kumpulan produk, atau data pengguna.
Struktur data Python membantu kita:
- Menyimpan data secara terorganisir
- Mengakses dan memanipulasi data dengan mudah
- Membuat program lebih efisien dan scalable
Empat struktur data utama:
- List β data berurutan & bisa diubah
- Tuple β data berurutan tapi tetap (immutable)
- Set β data unik (tanpa duplikasi)
- Dictionary β data berbentuk pasangan key-value
π 5.1 List (Daftar)
5
π Apa Itu List?
List adalah struktur data yang menyimpan kumpulan nilai dalam satu variabel dan dapat diubah (mutable).
π» Contoh List
buah = ["apel", "jeruk", "mangga"]
print(buah)
π Akses Data (Indexing)
print(buah[0]) # apel
π Index dimulai dari 0
π Operasi List
buah.append("pisang") # tambah
buah.remove("jeruk") # hapus
buah[1] = "anggur" # ubah
π Fitur Penting List
| Fitur | Contoh |
|---|---|
| Panjang | len(buah) |
| Iterasi | for b in buah: |
| Sorting | buah.sort() |
π§ͺ Contoh Studi Kasus
nilai = [80, 75, 90, 60]total = sum(nilai)
rata = total / len(nilai)print("Rata-rata:", rata)
π 5.2 Tuple
7
π Apa Itu Tuple?
Tuple adalah struktur data seperti list, tetapi tidak bisa diubah (immutable).
π» Contoh Tuple
koordinat = (10, 20)
print(koordinat)
β οΈ Ciri Utama
- Tidak bisa diubah
- Lebih aman untuk data tetap
π Perbandingan List vs Tuple
| Aspek | List | Tuple |
|---|---|---|
| Mutable | Ya | Tidak |
| Simbol | [] | () |
| Kecepatan | Lebih lambat | Lebih cepat |
π― Kapan Pakai Tuple?
- Data tetap (koordinat, konfigurasi)
- Data yang tidak boleh berubah
π 5.3 Set
5
π Apa Itu Set?
Set adalah struktur data yang menyimpan nilai unik (tanpa duplikasi).
π» Contoh Set
angka = {1, 2, 3, 3, 4}
print(angka)
π Output:
{1, 2, 3, 4}
π§ Operasi Set
A = {1, 2, 3}
B = {3, 4, 5}print(A.union(B)) # gabungan
print(A.intersection(B)) # irisan
π Operasi Set
| Operasi | Fungsi |
|---|---|
| union() | Gabungan |
| intersection() | Irisan |
| difference() | Selisih |
π― Studi Kasus
Menghapus duplikasi data:
data = [1,2,2,3,3,4]
unik = set(data)
print(unik)
ποΈ 5.4 Dictionary
6
π Apa Itu Dictionary?
Dictionary adalah struktur data yang menyimpan data dalam bentuk pasangan key-value.
π» Contoh Dictionary
mahasiswa = {
"nama": "Andi",
"umur": 20,
"jurusan": "Informatika"
}
π Akses Data
print(mahasiswa["nama"])
π Operasi Dictionary
mahasiswa["umur"] = 21
mahasiswa["alamat"] = "Bandung"
π Fitur Dictionary
| Fungsi | Keterangan |
|---|---|
| keys() | Ambil semua key |
| values() | Ambil semua nilai |
| items() | Ambil pasangan |
π― Studi Kasus
data = {
"nilai1": 80,
"nilai2": 90
}rata = sum(data.values()) / len(data)
print(rata)
π 5.5 Visualisasi Data Sederhana
7
π Mengapa Visualisasi?
Visualisasi membantu:
- Memahami data lebih cepat
- Menampilkan informasi secara menarik
π» Contoh Grafik Sederhana
import matplotlib.pyplot as pltnilai = [80, 75, 90, 60]
plt.plot(nilai)
plt.show()
π Jenis Visualisasi
| Jenis | Kegunaan |
|---|---|
| Line Chart | Tren |
| Bar Chart | Perbandingan |
| Pie Chart | Persentase |
π§ͺ Studi Kasus Lengkap
π― Program Data Mahasiswa
mahasiswa = [
{"nama": "Andi", "nilai": 80},
{"nama": "Budi", "nilai": 75},
{"nama": "Siti", "nilai": 90}
]for m in mahasiswa:
print(m["nama"], ":", m["nilai"])
π Analisis
- List β menyimpan banyak data
- Dictionary β menyimpan detail data
π Perbandingan Struktur Data
| Struktur | Ciri | Kapan Digunakan |
|---|---|---|
| List | Berurutan | Data dinamis |
| Tuple | Tetap | Data konstan |
| Set | Unik | Hapus duplikasi |
| Dictionary | Key-Value | Data kompleks |
π Rangkuman BAB 5
- Struktur data penting untuk mengelola data
- List fleksibel dan sering digunakan
- Tuple untuk data tetap
- Set untuk data unik
- Dictionary untuk data kompleks
- Visualisasi membantu analisis data
π Latihan Soal
βοΈ Teori
- Apa perbedaan List dan Tuple?
- Apa fungsi Set?
- Kapan menggunakan Dictionary?
π» Praktik
- Buat list nilai mahasiswa
- Hitung nilai rata-rata
- Hapus duplikasi data
- Buat dictionary biodata
π Tantangan
Buat program:
- Input data mahasiswa
- Simpan dalam list + dictionary
- Hitung rata-rata
- Tampilkan grafik
π BAB 6 β String dan File Handling
Manipulasi Teks + Baca/Tulis File + Studi Kasus Nyata
π§ Pendahuluan BAB 6
Pada bab ini, kita akan belajar bagaimana Python:
- Mengolah teks (string) secara fleksibel
- Menyimpan dan membaca data dari file
- Mengaplikasikan keduanya dalam studi kasus nyata
π Kenapa penting?
Karena hampir semua aplikasi:
- Menampilkan teks (UI, laporan)
- Menyimpan data (file, database)
π€ 6.1 String dalam Python
6
π Apa Itu String?
String adalah tipe data untuk menyimpan teks.
π» Contoh String
teks = "Belajar Python"
print(teks)
π Akses Karakter (Indexing)
print(teks[0]) # B
print(teks[-1]) # n
π Index:
- Positif β dari depan
- Negatif β dari belakang
βοΈ Slicing String
print(teks[0:7]) # Belajar
π§ Operasi String
a = "Hello"
b = "World"print(a + " " + b) # Gabung
print(a * 3) # Ulang
π§° Method String Penting
| Method | Fungsi |
|---|---|
| upper() | Huruf besar |
| lower() | Huruf kecil |
| strip() | Hapus spasi |
| replace() | Ganti teks |
| split() | Pisah string |
π» Contoh:
teks = "python dasar"
print(teks.upper())
print(teks.replace("dasar", "lanjut"))
π§ Diagram Manipulasi String
6
π 6.2 Formatting String
π Apa Itu Formatting?
Formatting digunakan untuk menyusun teks dengan variabel.
π» Cara 1: f-string (Disarankan)
nama = "Andi"
umur = 20print(f"Nama saya {nama}, umur {umur}")
π» Cara 2: format()
print("Nama: {}, Umur: {}".format(nama, umur))
π» Cara 3: % formatting
print("Umur: %d" % umur)
π 6.3 File Handling (Baca & Tulis File)
7
π Apa Itu File Handling?
File handling adalah proses:
- Membaca file
- Menulis file
- Menyimpan data
π Mode File
| Mode | Fungsi |
|---|---|
| r | Read (baca) |
| w | Write (tulis, overwrite) |
| a | Append (tambah) |
| x | Create file baru |
π Membaca File
file = open("data.txt", "r")
isi = file.read()
print(isi)
file.close()
βοΈ Menulis File
file = open("data.txt", "w")
file.write("Belajar Python")
file.close()
β Menambah Isi File
file = open("data.txt", "a")
file.write("\nData baru")
file.close()
β Best Practice: with
with open("data.txt", "r") as file:
isi = file.read()
print(isi)
π Tidak perlu close()
π Diagram File Handling
6
π§ͺ 6.4 Studi Kasus Nyata
π― Program Menyimpan Data Mahasiswa
π» Input & Simpan ke File
nama = input("Masukkan nama: ")
nilai = input("Masukkan nilai: ")with open("mahasiswa.txt", "a") as file:
file.write(f"{nama},{nilai}\n")
π Membaca Data
with open("mahasiswa.txt", "r") as file:
for baris in file:
print(baris)
π Analisis
- Data disimpan dalam file
- Bisa dibaca ulang
- Cocok untuk aplikasi sederhana
π§© 6.5 Studi Kasus Lanjutan
π― Program Pengolahan Data Nilai
with open("nilai.txt", "r") as file:
total = 0
count = 0 for line in file:
nilai = int(line.strip())
total += nilai
count += 1rata = total / count
print("Rata-rata:", rata)
β 6.6 Best Practice
β
Gunakan with open()
Lebih aman dan otomatis close file
β Gunakan format data konsisten
Contoh: CSV (nama,nilai)
β Validasi input
Hindari error saat membaca file
β Gunakan encoding
open("file.txt", "r", encoding="utf-8")
π Perbandingan Operasi File
| Operasi | Fungsi |
|---|---|
| read() | Baca semua |
| readline() | Baca satu baris |
| readlines() | Baca semua baris |
π Rangkuman BAB 6
- String digunakan untuk mengolah teks
- Banyak method untuk manipulasi string
- File handling untuk menyimpan data
- Gunakan
with open()untuk keamanan - Bisa digunakan untuk aplikasi nyata
π Latihan Soal
βοΈ Teori
- Apa itu string?
- Apa perbedaan
read()danreadline()? - Apa fungsi mode
a?
π» Praktik
- Buat program manipulasi string
- Simpan data ke file
- Baca data dari file
- Hitung jumlah kata dalam file
π Tantangan
Buat program:
- Input biodata
- Simpan ke file
- Baca dan tampilkan
- Hitung rata-rata nilai
π BAB 7 β Error Handling & Debugging
TryβExcept, Jenis Error, Tools Debugging, dan Studi Kasus Nyata
π§ Pendahuluan BAB 7
Saat menulis program, error (kesalahan) itu pasti terjadi. Yang membedakan programmer pemula dan profesional adalah cara menangani error tersebut.
Pada bab ini, Anda akan belajar:
- Mengenali berbagai jenis error
- Menangani error dengan tryβexcept
- Melakukan debugging (mencari & memperbaiki bug)
- Menerapkan praktik terbaik pada studi kasus nyata
β οΈ 7.1 Jenis-Jenis Error dalam Python
6
π Apa Itu Error?
Error adalah kondisi ketika program:
- Tidak bisa dijalankan, atau
- Menghasilkan output yang salah
π Tiga Jenis Error Utama
1. β Syntax Error
Kesalahan penulisan kode (tidak sesuai aturan Python)
print("Hello"
π Kurang tanda ) β program gagal dijalankan
2. β‘ Runtime Error
Error saat program berjalan
x = 10 / 0
π Error: division by zero
3. π§ Logical Error
Program berjalan, tapi hasilnya salah
# Harusnya tambah, tapi malah kurang
hasil = 5 - 3
π Perbandingan Error
| Jenis | Terjadi Saat | Dampak |
|---|---|---|
| Syntax | Sebelum run | Program gagal |
| Runtime | Saat run | Program berhenti |
| Logical | Setelah run | Output salah |
π‘οΈ 7.2 TryβExcept (Error Handling)
5
π Apa Itu TryβExcept?
Digunakan untuk menangani error agar program tidak crash.
βοΈ Struktur Dasar
try:
# kode berisiko error
except:
# penanganan error
π» Contoh Sederhana
try:
x = int(input("Masukkan angka: "))
print(10 / x)
except:
print("Terjadi kesalahan!")
π― Menangani Error Spesifik
try:
x = int(input("Masukkan angka: "))
print(10 / x)
except ZeroDivisionError:
print("Tidak boleh dibagi nol!")
except ValueError:
print("Input harus angka!")
β Else dan Finally
try:
x = int(input("Masukkan angka: "))
except ValueError:
print("Input salah")
else:
print("Input benar")
finally:
print("Program selesai")
π§ Alur TryβExcept
5
π 7.3 Debugging
7
π Apa Itu Debugging?
Debugging adalah proses:
- Mencari bug (kesalahan)
- Memperbaiki bug
π§ Teknik Debugging Dasar
1. π¨οΈ Print Debugging
x = 5
print("Nilai x:", x)
2. π Membaca Error Message
Contoh:
ValueError: invalid literal for int()
π Artinya input bukan angka
3. π§© Gunakan Step-by-Step
Jalankan kode sedikit demi sedikit
π οΈ Tools Debugging Populer
| Tools | Keterangan |
|---|---|
| Visual Studio Code | Debugger lengkap |
| PyCharm | Debugging profesional |
| print() | Cara sederhana |
π§ͺ 7.4 Studi Kasus Nyata
π― Program Input Aman
while True:
try:
umur = int(input("Masukkan umur: "))
print("Umur:", umur)
break
except ValueError:
print("Masukkan angka yang benar!")
π Program tidak akan crash meskipun input salah
π― Program Pembagian Aman
try:
a = int(input("Angka pertama: "))
b = int(input("Angka kedua: "))
hasil = a / b
print("Hasil:", hasil)
except ZeroDivisionError:
print("Tidak boleh bagi nol!")
except ValueError:
print("Input harus angka!")
π― Debugging Logical Error
nilai = 80if nilai > 90:
print("A")
elif nilai > 75:
print("B")
π Debug:
- Tambahkan print untuk cek nilai
β 7.5 Best Practice Error Handling
β Tangani error spesifik
Jangan pakai except: terlalu umum
β Jangan sembunyikan error
Gunakan pesan yang jelas
β Gunakan logging (lanjutan)
Untuk aplikasi besar
β Validasi input
Cegah error sejak awal
π Diagram Proses Error Handling
7
π Perbandingan Program
| Tanpa Handling | Dengan Handling |
|---|---|
| Mudah crash | Stabil |
| Tidak user-friendly | Aman |
| Sulit debugging | Lebih jelas |
π Rangkuman BAB 7
- Error adalah bagian dari proses coding
- Ada 3 jenis error utama
- Tryβexcept mencegah program crash
- Debugging penting untuk menemukan bug
- Gunakan best practice untuk kode yang stabil
π Latihan Soal
βοΈ Teori
- Apa perbedaan Syntax dan Runtime Error?
- Apa fungsi
try-except? - Apa itu debugging?
π» Praktik
- Buat program input angka aman
- Buat kalkulator dengan error handling
- Debug program yang salah
π Tantangan
Buat program:
- Login sederhana
- Validasi input
- Error handling
- Loop hingga benar
π BAB 8 β Object-Oriented Programming (OOP)
Class, Object, Inheritance + Studi Kasus Nyata
π§ Pendahuluan BAB 8
Seiring kompleksitas program meningkat, pendekatan prosedural saja sering tidak cukup.
Object-Oriented Programming (OOP) membantu kita memodelkan program seperti dunia nyata: ada objek, atribut, dan perilaku.
π Manfaat OOP:
- Kode lebih terstruktur
- Mudah dikembangkan
- Reusable (bisa digunakan ulang)
- Lebih dekat dengan konsep dunia nyata
π§© 8.1 Konsep Dasar OOP
7
π Apa Itu OOP?
OOP adalah paradigma pemrograman yang berbasis pada:
- Object (objek) β entitas nyata
- Class (kelas) β blueprint dari objek
π§± Komponen Utama OOP
| Konsep | Penjelasan |
|---|---|
| Class | Cetak biru objek |
| Object | Instance dari class |
| Attribute | Data (variabel) |
| Method | Fungsi dalam class |
π Analogi Dunia Nyata
Class: Mobil π
Object: Mobil Andi, Mobil Budi
Attribute: warna, kecepatan
Method: jalan(), berhenti()
ποΈ 8.2 Class dan Object
6
π Membuat Class
class Mahasiswa:
nama = "Andi"
π Membuat Object
mhs1 = Mahasiswa()
print(mhs1.nama)
βοΈ Constructor (init)
Digunakan untuk inisialisasi data
class Mahasiswa:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umurmhs1 = Mahasiswa("Budi", 20)
print(mhs1.nama)
π self = referensi ke objek itu sendiri
π§ Struktur Class
| Bagian | Fungsi |
|---|---|
| init | Konstruktor |
| self | Referensi objek |
| attribute | Data |
| method | Fungsi |
βοΈ 8.3 Method dalam Class
π Apa Itu Method?
Method adalah fungsi yang ada di dalam class.
π» Contoh:
class Mahasiswa:
def __init__(self, nama):
self.nama = nama def sapa(self):
print("Halo, saya", self.nama)mhs = Mahasiswa("Siti")
mhs.sapa()
π Jenis Method
| Jenis | Keterangan |
|---|---|
| Instance Method | Gunakan self |
| Class Method | Gunakan cls |
| Static Method | Tanpa self |
π 8.4 Encapsulation (Enkapsulasi)
7
π Apa Itu Encapsulation?
Menyembunyikan data agar tidak diakses sembarangan.
π» Contoh:
class Akun:
def __init__(self, saldo):
self.__saldo = saldo def tampilkan_saldo(self):
print(self.__saldo)
π __saldo = private
𧬠8.5 Inheritance (Pewarisan)
7
π Apa Itu Inheritance?
Inheritance adalah kemampuan class untuk mewarisi sifat dari class lain.
π» Contoh:
class Hewan:
def suara(self):
print("Hewan bersuara")class Kucing(Hewan):
def suara(self):
print("Meong")k = Kucing()
k.suara()
π Konsep Inheritance
| Istilah | Penjelasan |
|---|---|
| Parent Class | Kelas induk |
| Child Class | Kelas turunan |
| Override | Mengganti method |
π 8.6 Polymorphism (Tambahan Penting)
π Apa Itu Polymorphism?
Kemampuan objek memiliki banyak bentuk.
π» Contoh:
class Burung:
def suara(self):
print("Cuit")class Bebek:
def suara(self):
print("Kwek")for hewan in [Burung(), Bebek()]:
hewan.suara()
π§ͺ 8.7 Studi Kasus Nyata
π― Sistem Data Mahasiswa
class Mahasiswa:
def __init__(self, nama, nilai):
self.nama = nama
self.nilai = nilai def grade(self):
if self.nilai >= 80:
return "A"
elif self.nilai >= 70:
return "B"
else:
return "C"m1 = Mahasiswa("Andi", 85)
print(m1.nama, m1.grade())
π― Studi Kasus Inheritance (Karyawan)
class Karyawan:
def __init__(self, nama, gaji):
self.nama = nama
self.gaji = gajiclass Manager(Karyawan):
def bonus(self):
return self.gaji * 0.2m = Manager("Budi", 10000000)
print(m.bonus())
π Analisis
- Class memodelkan objek nyata
- Inheritance mengurangi duplikasi kode
- Method membuat program dinamis
β 8.8 Best Practice OOP
β Gunakan nama class kapital (PascalCase)
Contoh: Mahasiswa
β Pisahkan class dalam file (modular)
Agar rapi
β Gunakan encapsulation
Lindungi data penting
β Hindari class terlalu besar
Gunakan prinsip:
π Single Responsibility Principle
π Diagram Hubungan OOP
5
π Perbandingan Procedural vs OOP
| Aspek | Procedural | OOP |
|---|---|---|
| Struktur | Fungsi | Class |
| Reusability | Rendah | Tinggi |
| Kompleksitas | Sulit | Lebih terorganisir |
π Rangkuman BAB 8
- OOP memodelkan dunia nyata dalam program
- Class adalah blueprint, object adalah instance
- Method = fungsi dalam class
- Encapsulation melindungi data
- Inheritance memungkinkan pewarisan
- Polymorphism memberi fleksibilitas
π Latihan Soal
βοΈ Teori
- Apa perbedaan class dan object?
- Apa fungsi
__init__? - Apa itu inheritance?
π» Praktik
- Buat class kendaraan
- Buat class mahasiswa
- Gunakan inheritance
- Tambahkan method
π Tantangan
Buat program:
- Sistem kasir berbasis class
- Gunakan inheritance
- Gunakan encapsulation
- Tampilkan laporan
π BAB 9 β Library Populer Python
NumPy, Pandas, Matplotlib + Studi Kasus Data Science Sederhana
π§ Pendahuluan BAB 9
Salah satu kekuatan terbesar Python adalah ekosistem library yang sangat luas. Dengan library, kita tidak perlu membuat semuanya dari nolβcukup gunakan fungsi yang sudah tersedia.
Pada bab ini, kita fokus pada 3 library penting:
- NumPy β komputasi numerik
- Pandas β pengolahan data
- Matplotlib β visualisasi data
π Ketiganya adalah fondasi utama dalam Data Science.
π¦ 9.1 Apa Itu Library Python?
6
π Definisi
Library adalah kumpulan kode/fungsi siap pakai yang membantu mempercepat pengembangan program.
βοΈ Cara Install Library
Gunakan pip:
pip install numpy pandas matplotlib
π₯ Import Library
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
π’ 9.2 NumPy (Numerical Python)
7
π Apa Itu NumPy?
NumPy adalah library untuk:
- Operasi matematika
- Pengolahan array
- Komputasi cepat
π§© Array NumPy
import numpy as npdata = np.array([1, 2, 3, 4])
print(data)
β‘ Operasi NumPy
data = np.array([1, 2, 3])print(data + 2)
print(data * 2)
π Perbandingan List vs NumPy
| Aspek | List | NumPy |
|---|---|---|
| Kecepatan | Lambat | Cepat |
| Operasi matematika | Terbatas | Lengkap |
| Data besar | Kurang efisien | Efisien |
π― Studi Kasus NumPy
nilai = np.array([80, 75, 90, 60])print("Rata-rata:", np.mean(nilai))
print("Max:", np.max(nilai))
ποΈ 9.3 Pandas (Data Analysis)
6
π Apa Itu Pandas?
Pandas digunakan untuk:
- Mengelola data tabel
- Membaca file (CSV, Excel)
- Analisis data
π§Ύ Struktur Data Pandas
| Struktur | Penjelasan |
|---|---|
| Series | 1 kolom |
| DataFrame | Tabel |
π» Contoh DataFrame
import pandas as pddata = {
"Nama": ["Andi", "Budi", "Siti"],
"Nilai": [80, 75, 90]
}df = pd.DataFrame(data)
print(df)
π₯ Membaca File CSV
df = pd.read_csv("data.csv")
π Operasi Pandas
print(df["Nilai"].mean())
print(df.head())
π― Studi Kasus Pandas
df["Grade"] = df["Nilai"].apply(lambda x: "A" if x >= 80 else "B")
print(df)
π 9.4 Matplotlib (Visualisasi Data)
6
π Apa Itu Matplotlib?
Library untuk membuat grafik seperti:
- Line chart
- Bar chart
- Pie chart
π Contoh Grafik Garis
import matplotlib.pyplot as pltnilai = [80, 75, 90, 60]plt.plot(nilai)
plt.title("Grafik Nilai")
plt.show()
π Contoh Bar Chart
nama = ["Andi", "Budi", "Siti"]
nilai = [80, 75, 90]plt.bar(nama, nilai)
plt.show()
π 9.5 Alur Data Science Sederhana
7
π Tahapan
- Kumpulkan data
- Olah data (Pandas)
- Analisis (NumPy)
- Visualisasi (Matplotlib)
π§ͺ 9.6 Studi Kasus Lengkap
π― Analisis Nilai Mahasiswa
import pandas as pd
import matplotlib.pyplot as pltdata = {
"Nama": ["Andi", "Budi", "Siti"],
"Nilai": [80, 75, 90]
}df = pd.DataFrame(data)# Rata-rata
print("Rata-rata:", df["Nilai"].mean())# Grafik
plt.bar(df["Nama"], df["Nilai"])
plt.title("Nilai Mahasiswa")
plt.show()
π Analisis
- Pandas β struktur data
- NumPy β hitung statistik
- Matplotlib β visualisasi
β 9.7 Best Practice
β Gunakan alias standar
import numpy as np
import pandas as pd
β Pisahkan data dan logika
Jangan campur semuanya dalam satu blok
β Gunakan visualisasi untuk insight
Grafik lebih mudah dipahami
β Bersihkan data (data cleaning)
Hapus data kosong atau salah
π Perbandingan Library
| Library | Fungsi |
|---|---|
| NumPy | Komputasi numerik |
| Pandas | Data analisis |
| Matplotlib | Visualisasi |
π Rangkuman BAB 9
- Library mempercepat pengembangan
- NumPy untuk perhitungan cepat
- Pandas untuk analisis data
- Matplotlib untuk visualisasi
- Digunakan dalam Data Science
π Latihan Soal
βοΈ Teori
- Apa itu NumPy?
- Apa fungsi Pandas?
- Apa kegunaan Matplotlib?
π» Praktik
- Buat array NumPy
- Buat DataFrame Pandas
- Buat grafik sederhana
π Tantangan
Buat program:
- Input data nilai
- Simpan ke DataFrame
- Hitung rata-rata
- Tampilkan grafik
π BAB 10 β Proyek Akhir
Mini Project Python: Dari Nol sampai Aplikasi Nyata
π§ Pendahuluan BAB 10
Setelah mempelajari konsep dasar hingga lanjutan Python, saatnya menggabungkan semuanya dalam proyek nyata.
Pada bab ini, kita akan:
- Membangun aplikasi sederhana dari nol
- Menggunakan fungsi, struktur data, OOP, file handling
- Menerapkan best practice coding
- Menghasilkan program yang bisa digunakan di dunia nyata
π― 10.1 Tujuan Proyek
Proyek akhir ini bertujuan untuk:
- Melatih logika pemrograman
- Mengintegrasikan semua materi sebelumnya
- Membuat aplikasi berbasis kasus nyata
π‘ 10.2 Studi Kasus: Sistem Manajemen Nilai Mahasiswa
6
π Fitur Aplikasi
- Input data mahasiswa
- Menyimpan data ke file
- Menampilkan data
- Menghitung rata-rata
- Menentukan grade
- Menampilkan grafik sederhana
π§© 10.3 Desain Sistem
π Alur Program
- Input data
- Simpan ke file
- Baca data
- Proses data
- Tampilkan hasil
π Struktur Data
- List β menyimpan banyak mahasiswa
- Dictionary β menyimpan detail data
ποΈ 10.4 Implementasi Program
πΉ 1. Fungsi Tambah Data
def tambah_data():
nama = input("Nama: ")
nilai = int(input("Nilai: ")) with open("data_mahasiswa.txt", "a") as file:
file.write(f"{nama},{nilai}\n")
πΉ 2. Fungsi Baca Data
def baca_data():
data = [] with open("data_mahasiswa.txt", "r") as file:
for line in file:
nama, nilai = line.strip().split(",")
data.append({"nama": nama, "nilai": int(nilai)}) return data
πΉ 3. Fungsi Hitung Rata-rata
def hitung_rata(data):
total = sum([m["nilai"] for m in data])
return total / len(data)
πΉ 4. Fungsi Tentukan Grade
def grade(nilai):
if nilai >= 80:
return "A"
elif nilai >= 70:
return "B"
else:
return "C"
πΉ 5. Tampilkan Data
def tampilkan(data):
for m in data:
print(m["nama"], m["nilai"], grade(m["nilai"]))
π 10.5 Visualisasi Data
6
import matplotlib.pyplot as pltdef grafik(data):
nama = [m["nama"] for m in data]
nilai = [m["nilai"] for m in data] plt.bar(nama, nilai)
plt.title("Grafik Nilai Mahasiswa")
plt.show()
π§ͺ 10.6 Program Utama (Main Program)
while True:
print("\n1. Tambah Data")
print("2. Tampilkan Data")
print("3. Rata-rata")
print("4. Grafik")
print("5. Keluar") pilihan = input("Pilih menu: ") if pilihan == "1":
tambah_data()
elif pilihan == "2":
data = baca_data()
tampilkan(data)
elif pilihan == "3":
data = baca_data()
print("Rata-rata:", hitung_rata(data))
elif pilihan == "4":
data = baca_data()
grafik(data)
elif pilihan == "5":
break
else:
print("Pilihan tidak valid")
π Diagram Alur Program
7
β 10.7 Best Practice dalam Proyek
β Modularisasi
Pisahkan fungsi-fungsi
β Gunakan try-except
Tambahkan error handling
β Gunakan nama variabel jelas
Contoh: data_mahasiswa
β Gunakan struktur data tepat
List + Dictionary
β Tambahkan validasi input
π 10.8 Pengembangan Lanjutan
Setelah proyek ini, kamu bisa upgrade menjadi:
πΉ Versi GUI
Gunakan:
- Tkinter
- PyQt
πΉ Versi Web
Gunakan:
- Flask
- Django
πΉ Versi Database
Gunakan:
- SQLite
- MySQL
π Evaluasi Proyek
| Aspek | Penilaian |
|---|---|
| Fungsionalitas | β |
| Struktur kode | β |
| Keterbacaan | β |
| Error handling | β |
π Rangkuman BAB 10
- Proyek akhir menggabungkan semua materi
- Menggunakan fungsi, file, dan struktur data
- Bisa dikembangkan menjadi aplikasi nyata
- Penting untuk melatih skill praktis
π Latihan & Tugas Akhir
π» Tugas Wajib
Buat program:
- Sistem kasir
ATAU - Sistem manajemen mahasiswa
π Tantangan Besar
Tambahkan fitur:
- Login user
- Edit & hapus data
- Penyimpanan database
- GUI sederhana
π Penutup
Jika kamu sudah sampai BAB ini dan memahami semua materinya, berarti kamu sudah:
- Menguasai dasar Python
- Siap masuk ke level intermediate
- Siap belajar AI, Data Science, Web Development