Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata

πŸ“˜ BAB 1 – Pengenalan Python

Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata


🧠 1.1 Apa Itu Python?

https://images.openai.com/static-rsc-4/Y3kls0nnsFDCHSnVv0D8Ykbhh2OxaN3lqRJJ7SKrxsYV_81qjh8PlFqbUb1DEFhoNkAXtdAoldWjgEjL2dITTuedMInC4fp1E7q4utvuVOf4mS9-Zed1EmIqG2JAEGL8dA8XUc7hVpQnoTfqLu-9eNHTVXARwbBS_KbZRdI-Zjam9fEd4l_7pkEZx8Eshuqu?purpose=fullsize
https://images.openai.com/static-rsc-4/7DlQZtTfRRD7mC35_druviXInTubv0pq-zj35fHKASvBC2NQDoMbCKdIDmI4pQ5Vj5U5SmaqeRmdX1gJ91A4GoqC-MeBEV7pfoTk0zpeZK19muFxgsxgsV1VCYUDOj63keKX3o8eyTm6VhqPXv2iNjRpyUUfjkUl-vSCR9fPYaeYEHb1FbW7ejx4ZpAEbxl4?purpose=fullsize
https://images.openai.com/static-rsc-4/2J4QABWanzlYTHACaAW_byWQ86ot9W8XGibQVADBGUxHdjcfHtlo-AbhC94DBYAfXHSVwSa_u052d3rX63RgojtAYBP00kyfoRnfe8ydJt2DktFivmRDwiuEYRIDK_Qax2Cm856O-oDj-0uKBuHgpDq6Rcmv_lXnKMc5GXh-JwmBoBzZA1md4LkW7VNF-K8e?purpose=fullsize

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

KarakteristikPenjelasan
🟒 Mudah DibacaSintaks sederhana, mirip bahasa manusia
⚑ InterpretedTidak perlu compile
πŸ”„ MultiplatformBisa di Windows, Linux, Mac
πŸ“¦ Banyak LibraryMendukung AI, Web, Data Science
🧩 OOP & ProceduralMendukung 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

https://images.openai.com/static-rsc-4/LQDwJWJ-DhJkEaxJhyV8GO-p0G_iNWpyq85p-nXrmyjm0DMy6mfnXSNim_2WiJZumyAt7_Cq713wR0P7eTG1TGlqkG-jD24_e0PkU9fxJaZwVqBzMO7dGWD1jKEr8WME_GBRPvjhkRAbn7Zz3tbVp_042xZ2htOIjyoU3ZCw7OfI7pVNXPADv4jrXAHgFEpv?purpose=fullsize
https://images.openai.com/static-rsc-4/ZiHd7IAc7TbVFslg3siwMgJODBHxPEH3nxZVMEsd4p6vGHOEYaJZ-DF7Zpmgvpp5TAgv-_0i-rzYtSmR5Cq0R3aE5xtXJMrKaovOW1jTtPQ4W0_bRGWfZOO5hsoyLlZdTXNImgxjV2Xxujx2-xin-0ITw_QW3W6ly72DmaNKgLzgNGOvU3H_Z_8CO6JU4c0K?purpose=fullsize
https://images.openai.com/static-rsc-4/DQ8JF6yAKaH66Mlq2Ng_x0OFPs2rUY4vfgpFXmXz8RvgmUCXO8LmRarwdcqZuHMVjT_7tvFjmUiLy_FdbZF3R4P2LU5G_kEQVJT4_AtEw3ec8GqTG1XdXxmvw_w-i7po9Ewnzx7ODbvIjREvRxroHu0NYNw77w4lPUtogYTjHpoY1bkuFplAWTRLWuIJajO_?purpose=fullsize

6

πŸ•°οΈ Sejarah Singkat Python

Python mulai dikembangkan pada akhir 1980-an oleh Guido van Rossum di Belanda.

πŸ“… Timeline Perkembangan:

TahunPeristiwa
1991Python versi pertama dirilis
2000Python 2.0 dirilis
2008Python 3.0 (versi modern)
SekarangPython 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

AspekPythonC++Java
SintaksMudahSulitSedang
KecepatanSedangCepatCepat
PembelajaranMudahSulitSedang
PenggunaanLuasSistemEnterprise

πŸ’» 1.3 Instalasi dan Setup Lingkungan

https://images.openai.com/static-rsc-4/I5HuJybnGEfPxBscO2JGotamuWJ48pWB11JJU8L5M9AgGZEygiHKXLPkYW1kQf-c-hN2zLk2sht9HargquKZ0aWMjMiw7J6gb2YyUz-YjYCyviAHF51JASKYMEiW1hBdV46mEIbiAyJqYEbx0iEXq2iLEBZXAYXN83KOaQ6YBdPJtgw1ACYVZJf5KJAro6kQ?purpose=fullsize
https://images.openai.com/static-rsc-4/uKRgKtcNXMRucvhdZVqYghRXAbQah6ZmpiEP9Xz-h2SrLPP9cgTWw6ghrXgzs8yajlmGwWW1PmX6iFaOSmXIWP5a6ZgjpqWN6ZfdaMSedOKSf7N_zVuAhKpufwBnYDrMQVXf4U4bxsDEJR3q9fGfHPUlLjbS9o2YtL6EzgbAlkR2piOSiuzCHu9Ggu_UsiZD?purpose=fullsize
https://images.openai.com/static-rsc-4/P-d_8pqIpfttDu1xgScXCCLFMZ0acbhQ-ct1Ot7qvzyZ2Up4RAmoLdx_Dy5z8a9p-12xF163qXJM4if9vgDkeDrz4rJWCIp9tqbtMNEUOR_NKFa6bY35PbysNroi5XNoNZcwn8PAAs2L0sVK4o6BcZ2uDMZ0QWLqyW8ZLMlMlPu32tKZtJMsZBy0v0fz0BXw?purpose=fullsize

5

🧰 Langkah Instalasi Python

1. πŸ”½ Download Python

  • Kunjungi situs resmi:
    πŸ‘‰ Python Software Foundation
  • Pilih versi terbaru Python 3

2. βš™οΈ Instalasi Python

Langkah:

  1. Jalankan file installer
  2. Centang β€œAdd Python to PATH”
  3. 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:

IDEKeterangan
Visual Studio CodeRingan dan populer
PyCharmKhusus Python
Jupyter NotebookCocok untuk data

βš™οΈ Setup VS Code untuk Python

  1. Install Visual Studio Code
  2. Install extension Python
  3. Buat file .py
  4. Jalankan program

πŸ§ͺ Uji Coba Program Pertama

print("Saya sedang belajar Python!")

πŸ”„ Diagram Alur Eksekusi Python

https://images.openai.com/static-rsc-4/AUUrBg1LboM7-xns-PGV5nuXLkiQEIAJpCk6LbpF5DVnzGvWQ_Nt1JLOQoIKX1kT2_o9uSFwCKPIQfCdoGVHllmw9binOo8bczu7DdzpTb8Z2GJblQVgm8EKOgkzqwKjk-T9EzH-yOhXzFvkkIBfYx00xpKw5wERgLFCv1Z_nnHn9raUJpWaWOIlDPOdrts_?purpose=fullsize
https://images.openai.com/static-rsc-4/2e7Q9-5SfpxYiUgi42KS0rTAXZBgSotpFOz827d51VXlmrA0u8M6S7rk_Fjxly-U5FB82aqMFy5us-3wKOsstbi42jk2nBRpBlY9U7jjZpBkNbUr8Vs9fgNpTFY0es4FLkork79yPO_jNWs2ztyvepBTs0nutcFYBJim0MdntRO5zidu-EcRLIQU4KfP7J9Z?purpose=fullsize
https://images.openai.com/static-rsc-4/8-JCOjvmLdsYKzNeom0_oqu9CQpAKHJ4F7Frn8XHbsCUEjFf2E0ZViFR7QVOfi2SWjdfnWrvLGjIGURbNK3KA-XLrMQfzMA8dbyDKxA4b8zijM5SK4NcER1h7mXSSOFLNZ8F5SddFPe-mw9RfllBqKCgl53UXgFkc8OYm6QZAl1FYCk3Ca03YvYpDlpV17MI?purpose=fullsize

6

πŸ“Œ Penjelasan:

  1. Programmer menulis kode
  2. Python interpreter membaca kode
  3. Kode dieksekusi
  4. 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

  1. Python termasuk bahasa …
    a. Low-level
    b. High-level
    c. Assembly
    d. Machine
  2. Siapa pencipta Python?
    a. Bill Gates
    b. Elon Musk
    c. Guido van Rossum
    d. Mark Zuckerberg

πŸ’» Praktik

  1. Install Python di komputer
  2. Jalankan perintah python --version
  3. 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:

  1. Variabel & Tipe Data β†’ cara menyimpan informasi
  2. Operator β†’ cara mengolah data
  3. Input & Output β†’ cara berinteraksi dengan pengguna

Tanpa tiga konsep ini, program tidak bisa bekerja secara dinamis.


πŸ”’ 2.1 Variabel dan Tipe Data

https://images.openai.com/static-rsc-4/2nymXgHEp-04bEFK7cogEVSg_13m8fBhK4IN1NSvAiUQ2hs1itCI1XMxCXsmP0VphZLKWYcBFYecqxuokKVwSMhmstTFEZitHRt4bPBJuMkxyyJiOb-zL3WtsV3wmteciMV6NWnH0OrPQjRGW0Bs0lBfMsKYJZl88BBQf2T3VWZuW7xkQMrZ5sjuvQ_nO4-A?purpose=fullsize
https://images.openai.com/static-rsc-4/dJajrZPSse3HPYJ5oey-tl9DByQ_reGszRlmIBuud_fpY_VLoH0xqgPT6iA0vxBlN4qP0UgAiOr5vTzJLy95lwA0IMwynPTrHuWdgcUE0dc1F_l7mUqWAvDHLC8hCq7_XOcKE6LdHq0n1Wqe9TVkpu99YEXitqx8Y5JHOH7JFrv7bDDN7XRx08uIWuZUGd9D?purpose=fullsize
https://images.openai.com/static-rsc-4/ABEUkKkdgy19wMh1bYo8nQD9qzekIC0BhcH1Ib6vnuPuoKZ_bbYGbKjjAGKTh2-Io8EImQ6MDxA_lwCx5iBHGlWQuztZ-AEYfy0jbf_28klCNJDBKcPH4RW7X1dvb5gW1H5VMEB-xN8g_rhwQfCsBv_2KxACvuSSmmXk5yfS9PicWL_wjI_rOl-x3BCGIGjs?purpose=fullsize

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:

  • nama menyimpan teks (string)
  • umur menyimpan angka bulat (integer)
  • tinggi menyimpan angka desimal (float)

βš™οΈ Aturan Penamaan Variabel

AturanContoh BenarContoh Salah
Tidak boleh spasinama_lengkapnama lengkap
Tidak diawali angkadata11data
Case-sensitiveNama β‰  nama

🧩 Tipe Data dalam Python

πŸ“Š Jenis Tipe Data Utama:

Tipe DataContohPenjelasan
int10Bilangan bulat
float3.14Bilangan desimal
str“Halo”Teks
boolTrue/FalseLogika

πŸ’» 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

https://images.openai.com/static-rsc-4/51unn1FJCXTO-VruIC3Zppcpvr8-zRmit6uf2oXiSmM7AZlI6t5X6K9twVuAGyuwL2qFPN5LnETBljKIxeJMQWXOrpr1QuKFXt7BAZGsDHceAwdnJVcW0UMvRN2vFOcW5jC9hUC-6m3Xe6ozFpPsrfieu2ekRB4EsXQUVm_XvxxlKfuzBUljV7KbiS4Pj0Ey?purpose=fullsize
https://images.openai.com/static-rsc-4/ADK84BbcDlWj6EdlIW2k-brhKm3UVXSTwZJhgIGpRecDGxYV50YGiEM_ILztKX_LfA3WGij2frNlei_HUAqg4zIICDCiN_0eMp3RP7Tlpyo6UGgLcajyVDml81usu1lbnQTYUsoyk8JUinHYnCWsQIKwL3x2qTxWe-NR2LfcKSdkNKHZkThISrEngoEGe8EJ?purpose=fullsize
https://images.openai.com/static-rsc-4/kJRd9Adz9i5WqZhscEnyssVW5h7ratL-hxgF_pU_tAFUpnf4a88G6v0IwEJKvUou4GshOOQPtE2chfOwJp-6zyXeziveccNNvb68amHXhSkfhWf8HtfJhgrnS6QASvIui3aqmxReWT2e5oC-SaOxfHt4UwRgYib0jm3GVVK6a61E6LuHstWugo5cbduibdwT?purpose=fullsize

5

πŸ“Œ Apa Itu Operator?

Operator adalah simbol yang digunakan untuk melakukan operasi pada data.


πŸ”’ 1. Operator Aritmatika

Digunakan untuk perhitungan matematika.

OperatorFungsiContoh
+Penjumlahan5 + 3 = 8
Pengurangan5 – 3 = 2
*Perkalian5 * 3 = 15
/Pembagian5 / 2 = 2.5
%Modulus5 % 2 = 1
**Pangkat2 ** 3 = 8

πŸ’» Contoh:

a = 10
b = 3print(a + b)
print(a % b)

βš–οΈ 2. Operator Perbandingan

Menghasilkan nilai True atau False.

OperatorArti
==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.

OperatorArti
andDAN
orATAU
notTIDAK

πŸ’» Contoh:

x = True
y = Falseprint(x and y) # False
print(x or y) # True

🧠 Diagram Konsep Operator

https://images.openai.com/static-rsc-4/pItlm7yYTH_koFIjN23oWSIUtEYn_6xrj0uoL8oXtKWztkeIZ7lWK0pk4XkEY-uIG_d8VBEnK9YPji9dMM2WejFXmyF0FcF1bmPzElLIwggFrNjB1Bw5266_chUCywu-MRBxw6DVAW5mgFy26PpmEvTnUPvaGpGFzd0dyYvQk1fVtCRhLyTqrmwq--VixNKR?purpose=fullsize
https://images.openai.com/static-rsc-4/Q5nOKj1Hl7-VNN0p5dwJY1MhHpANjEQ4P4J915IbHpReLk6FwV0_nOVomC6db6UZ8srju0SagLE8c-OeJ8_HiLHcUyEFgc6qeawKRrGNYu7UrQcBciOUtVx6rSSw9J6TyWtkabO5GY3Fpm207uq3uzJkJXfAiEOjQyqrtmljPadGWlhDbmSKKzo0RHyYvRam?purpose=fullsize
https://images.openai.com/static-rsc-4/kNSjtoUX0ssf2rdFKG26RS_BZX-X60mAtbroFdrgDKx92Sp1wVcFSaTbD4xGRjPvY_LC8NNYLCfDrOCA2dbNiK34AjGBFlAv7dgiuncY31EZfRXIokLGvQ43fyhGVP5kNkwcUcn1ZjQ3MZ7Kd2F_lJzxplbW-gmkk9rzqP5e8HzPJjofOo6N5mcl6SX5P8NI?purpose=fullsize

6

πŸ“Œ Operator bekerja dengan:

  1. Mengambil nilai (operand)
  2. Melakukan operasi
  3. Menghasilkan output

⌨️ 2.3 Input & Output

https://images.openai.com/static-rsc-4/hrdjEJCnIN_n9sH7K9lsKRZQZ1jqEMNb85NNQjU_Qn8wKE8lU8ByVpSos1iw9andX7MnoJL8DLspiWEyN0rEjhiCX86C3jdLx-R8bpa7XfOmYiuBTnKtkKfsB1SqXONj3jq7UEgD0HiptyOsAx4gVEy_wYls-OVFwGMrD6YZqtQ-uty1AVbESYq3BcfYzHVL?purpose=fullsize
https://images.openai.com/static-rsc-4/aASg80nmbKlqr6aIB8VheQBozrJpJFP3H6CZLZN9chqXgon6J_2P5nEHHIqiz054apWyQvTJgFxbkbp3nBdKuHLhcWLxPDJuDnCulVyvpsLY5UL3rGgfxk5Dm_vnBQG2Olh77q5Jka8apkC4MBZPqLjt1O_Lv_Xe-yAzPDESW_rV-gdLresF7PWIffIvw2BU?purpose=fullsize
https://images.openai.com/static-rsc-4/0U5GMMxV0YvmTlV71RVlSPjiHykQt0KRrGUXKW66SQHQrHOQkOMnU8eq5PLPQBHeMhpuxIfNUQWPdV06ozQLykcfXTRf8kBRrc_AyuA-8EKsugivn1wV-V5W19XIRRwbSKkg9sRy014EKzINjQPNOErMvETs32rUR8VtBlyqe54dQZ3RBbJg8QoCAUHFtMrK?purpose=fullsize

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)

FungsiKeterangan
int()ke integer
float()ke desimal
str()ke string

πŸ’» Contoh:

umur = int(input("Masukkan umur: "))
print(umur + 5)

πŸ” Alur Input β†’ Proses β†’ Output

https://images.openai.com/static-rsc-4/bbfllL-3epYLWb9o8gLilfgVQ900yAfSLG_QdhLFIjiN0EePTMT79eeJwKI120lA7uOCbwBLyspnqvhP5RwGB87IepSSzyd4mZKt3d_bePLb_YK49Zw9sOcDj73lPXuxfSsDAJKAfs_fxGuQfoncP5ChbOUyS3M_RM5j8Ux171TDw-_Hgu99C4Jmf2WvKGTZ?purpose=fullsize
https://images.openai.com/static-rsc-4/PmjQTQDtpkOtC3LfS1-2ih2erls3tgiG0yBQJCPrdne_kauVHHnIg61hlGd343W5w-HbERgqKhtx9u2rhsxwut0P7Qxga4PQ-WzdCfpR-yBzXaIBWf-ursTq11v8G6_OSQltXTPHMJJVAQO_YtDgrZZIQmBQj27WFqrgkaSOXaGeHo53VwVXOcxBdaYExdCQ?purpose=fullsize
https://images.openai.com/static-rsc-4/Ii2XoJcJsWdHmvDpIwxGYGv9W6nZGbVEwzajAGibBw4yED7_nzYZMUfqYkEGTF5fykblZ7HsQCOBuMrB4zScfQO2Ncpzbg7uFs00_nW-Vz24FJ01zb05uoRLQtfl2N-FSa4A1rLxSr8Kkh5ZC6glCG8UJkmHA9Kkwc1BidF6D3izHNj4v4fUF0dfl8peNbsp?purpose=fullsize

6

πŸ“Œ Penjelasan:

  1. User memasukkan data
  2. Program memproses
  3. 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

  1. Apa perbedaan int dan float?
  2. Jelaskan fungsi operator == dan !=
  3. Kenapa input() selalu menghasilkan string?

πŸ’» Praktik

  1. Buat program menghitung luas persegi
  2. Buat program input nama dan umur
  3. 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:

  1. Percabangan (if, else) β†’ memilih tindakan berdasarkan kondisi
  2. Perulangan (for, while) β†’ menjalankan aksi berulang kali

Tanpa struktur kontrol, program hanya berjalan lurus tanpa logika.


🌿 3.1 Percabangan (if, else)

https://images.openai.com/static-rsc-4/dGnsOT-dzmqymChd2LK2bTI5OYegxyfHobQYT0wizaqQXTRO9bR9VTqDC1pguvyi2fjFHfBHaDCz1ZJ8E1zP9BTOm-rx0KARKVNlGoSSCJFfpEBnftn08KT-IFkYiuhX8eoX9Ps_tqYryAiDlhPtWqMeoQzwRZ7ppJmN2mCWDr2KLrshRhMSuLeNNnmdffZ2?purpose=fullsize
https://images.openai.com/static-rsc-4/fZpmoUVvLQNeaFEBX9XDk1vp-ZvhMjwuYe-DoXy2cc84T8FRMaCWOoryIcZW3soJ7l93i6Pj1jayZqcBHrBmKjdSETL2Lk8yj5loECdU_PjFZL2Xu4Vi-jj0u50wwfFmPfLTPt4JP0yidM3uJRgDDpLZwNxnHMhKXdmIvhGj85Vn-tqHS6034g7ccN_BoLsq?purpose=fullsize
https://images.openai.com/static-rsc-4/iVC3WVbtRwOupbGU6RP1HYKOpd84xEAblM4KtRuTPL6Ts0gIZGaxTU51bp8xXYw9z5nZbfLZ5npd3Kc9yeoVVRXSPD3W2JfwkJVhx0dagv06yTs9FR_cUdmK5j2X85h7nLm3EkN4SCRU49Vd9t9M4yzGncrZiYn2piUwjvKGr4nR_MQwMCBcXC8JTVRibl94?purpose=fullsize

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

https://images.openai.com/static-rsc-4/QFGrK2saI7yO4esUKioYMA7sZwXSR5wcNye_8nxv9qs-8v9g2C8RRNEAuU0AbcIv7uuZN0J7Y6m5ai2yxhP_u9p_BLxBABqyGinLmVuY_3Seyth64Ht_pNn0pS1QQT1MScITLRWehOnwZgdWAb5Ln4AOwwgYkcd2EZjgjaHCIMSpqhL9-lzZmIRqquufdoWj?purpose=fullsize
https://images.openai.com/static-rsc-4/iihgV-xegDGdbMvHs_6F-3YKr8FR9IehuMUhrnmXYavbyqx5vjfmdJaX4PiGRa4HIdAVdB-mJ4I0-ixFazcCfA6lkhonDz5fUf32ryj-SW5w90CRY1ekDde4_vVaPBQBcyoAxSJ8kAp1Gzwk0SE4oFDqXDm62qdHYxMr8ySlBak6xHq0v0YjbFeffxrbkjsa?purpose=fullsize
https://images.openai.com/static-rsc-4/2s-vIeuTuHjRZWXfUuLIE7rjg-t_CKMiRbXZE_ZRg89h76SlCqO7qSZVI0nWLtnU9878AYfmxcYGzZxoZgZAGvmQ5iNkH2ZFOeZP-Y_dCj8Ejxqgb-zNBcMwRm8eiGbGATZqf2GThKuGrVr5jyuRypgkpaBRwUuJSuIL4Gusqbver-TvWT5HM1qBYbMDVVOT?purpose=fullsize

6

πŸ“Œ Alur:

  1. Evaluasi kondisi
  2. Jika benar β†’ jalankan aksi
  3. Jika salah β†’ cek kondisi lain / else

⚠️ Kesalahan Umum

  • Salah indentasi
  • Salah operator (= vs ==)
  • Tidak menangani semua kondisi

πŸ” 3.2 Perulangan (Looping)

https://images.openai.com/static-rsc-4/7J8cU9TWUb0K6OtBEwiDW9_kMUJ6Pf5FIdk6XzzT6IeUixXF2vTvn_MDCn-zuLD4g-r2FItgqYTJZej6DRIdBckrUAwLlHz_wmZYb1Mqnzrc03YmMB9ENgy_hYsx3kgy0ZyFP71izB8Cs7LSDfM0Qlq2kzFFQ07DrVOnY0KUNuDwWZSqPzfXvjD7-1ww3Oqe?purpose=fullsize
https://images.openai.com/static-rsc-4/0x7RUSdVmba9KemqeMcbJqUFOcKHrdPIwUo_EQEAYvUwhKVAK_bQA97yowa-B2929zRbDUVuzqPWStdmQDHopxvMz4r2gFpsPrEpFMowb7I4YmTZx110YRkXU19yw6sFKnegIx7QkXbBxVR1cqqJ5AFpGCF-8YjFOiSb-tnrktnawb2F4RqzR6zce0JQjauP?purpose=fullsize
https://images.openai.com/static-rsc-4/7yTnKHHv9tgRsIE6HllK5oKJVDgFHszZulWN0qwg0e9Es_ZM8ZkCVl95zvwFbBdWo29n5Nqgao4PIvfIJkUONI7pfejmMIaPNEkFoMG8NyhmctyjngidIstJ1UyEtnRA_BMcqs_FU1hNKSsfcG2FDbmk2rHy0oBrwJHXq8-hL31BkSWfkl5a40j-cEWUGFcl?purpose=fullsize

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()

BentukArti
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

https://images.openai.com/static-rsc-4/dKfujZv1LHifxAKAioJafV0hmYu_Nf4evPnfCyyTILz7TMgAvHsSiYwtq3hxUNYtGYkFvylPuKwtjqopRORd6PpPIvHYxsxxfOiHvVM9WZOsl2P4yHAmjO347oxg0OLH8VDlnLgeBElF1LVosjWPDN1DpqoXBfvRpfdEyrtJb5tJoolCtHKXqs5zPf30s_2K?purpose=fullsize
https://images.openai.com/static-rsc-4/lEcHGS6y6TzfBVGdp5XZSVYG5ACYNyypb9POU0jwoT4C4K4_RF0zNRyYCnGiKGPTO4owesD1cKBu0eazp5yfJV7FY2gMUhAwo-ziOrkdS8qTcVeZMcQsvesOKFPHY1gCi0iZvhqSZMWm0mEocBC_hrgnhAnnNRNbndCy36Kyefxf4_cbxOzpnMDoO7k0nz-v?purpose=fullsize
https://images.openai.com/static-rsc-4/ZT3yO_6FlSIP2kSuJ-MEIaLU0zh12d0mlRHq--sLN1DO4Jiw51Q-n3YWSsUdpnSO1Nps2AM2VrwifDLrP4L5Sq7ZiPitm6Ut2TQ8Q5nLI6PuNLl2zlgtMVvKQ5nCZVvkxlPaEVuG6SCF4W6J_qgVxMQaxDzHbmSuQO-vidEJqaZMpOVJ3xdsU-UD_dLYpL54?purpose=fullsize

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

Aspekforwhile
PenggunaanJumlah pastiKondisi
RisikoRendahInfinite loop
KemudahanMudahLebih fleksibel

πŸ“Œ Rangkuman BAB 3

  • Percabangan digunakan untuk pengambilan keputusan
  • if, elif, else digunakan untuk kondisi
  • Perulangan digunakan untuk mengulang proses
  • for untuk jumlah tertentu
  • while untuk kondisi
  • break dan continue mengontrol loop

πŸ“ Latihan Soal

✏️ Teori

  1. Apa perbedaan if dan elif?
  2. Kapan menggunakan for dan while?
  3. Apa fungsi break?

πŸ’» Praktik

  1. Program menentukan nilai huruf (A, B, C)
  2. Program mencetak angka 1–20
  3. Program tabel perkalian sederhana
  4. 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)

https://images.openai.com/static-rsc-4/YZP4kIbnB9lQANG_Qf9K4bK8CIUtwoNjA2hqDLjO7OQU_xsemRm1bcSV5wy1-XqKFlpD895BC50hAkigM2pg2xNPdhZpLXvTE1nnUTyGkTOA_790JkJQ1zRIqrWEAisbbPtSDJQBhyDQ6nVhxKR21557X0TKBnC9PZK3jz0UPud_8FdVg6XpUOPIFfAn_gPa?purpose=fullsize
https://images.openai.com/static-rsc-4/ByLs3AF8uzPkuk0HxBRZLALFNqoPuMmi5UcorNaevqfdqoKHmnKuzHTXyllqiQermk4-xJYOE6inSMJyH8jI7WR3nHWmNYwoqCMbvnWoBRo7_EAdyvdmTeaTHSRMsBpqcI3qDMgVQUYRBa0Xsr59RMlQCXH_kKL-UQKlg-FCp7aouyhA8q5fRbTpy5uS5IyB?purpose=fullsize
https://images.openai.com/static-rsc-4/GEKzmy8jvugQuG3eQZ7zTrdGfAb4-7lVIFhyrR9HUkd5sBmL2iKCcZ5AHrFOuZiIpdYshwcxxCIAPxLVD4sviReUdvxhGyc5R4nC2aGsJOstp7v0HDoKGkaW7PelISCzyFA2vlS0LI2vMoXTqkzUsx0x-Yb5sjY8wnUF-DlO06LnxNCGWLUY8kRACN8w-j24?purpose=fullsize

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

https://images.openai.com/static-rsc-4/BxilMRUkgKTTM9OupWr7dJ6mSMuABwK6L8gj2CjdgnbzK3EJJwS19Bl-J6O1mE57vaXqifpQH6oVnbFpmhBCRAFSH6y8r3qaDzI4MnvJqdjk9Mpkf2TpTsYKQX3JHn043An5YVwpXg0jtFpmo7CfZh2ijnKPEsfoLtabrdSrSSdT2wBLoFHkxOunShfkdh86?purpose=fullsize
https://images.openai.com/static-rsc-4/vGKKosQ6511uromen4cJWXCwVxH-efaQ_qEf5IphLwCG0EJ7uCM37jUxP-eyEA2-hl7Q0evOiRWBptm9YV6BFI3Oo8lvxwSWSceIIstzYbJwX0B6VeRJWbo5FBhOEX6S1PQnPP2em4DeEfsKUbY0qvJjBEX6fFEluweyFSMpw5AHw9gfbkdvgIReqM1amTmc?purpose=fullsize
https://images.openai.com/static-rsc-4/OKikjrtsiMDaEgWgdroY6EjssR3a0uHvPE6J6I5bT8MdHhAZceEhQubqkqhiTMGStJ1ZBq7ApLM6Ez1RPfmxjRJDtX-aABRrNOibf_EZAI0xvspue5-P-OFNKwld13Zow0VXwqnMTcP0jNRnp0O-_9bbayWqZGJKVA43cHDHjhRuReE4QFjD7Qc9oq_ySro8?purpose=fullsize

6


🧩 4.2 Jenis Parameter dalam Fungsi

πŸ“Š Jenis Parameter

JenisPenjelasan
PositionalBerdasarkan urutan
KeywordBerdasarkan nama
DefaultMemiliki 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)

https://images.openai.com/static-rsc-4/02g9rWScI5K6DafxscS0biyuggQp4sgrzzE-C367WxousZJZ41QhNJTwh8kyB9WRcCMmAsWmZuAaNCpVzzIs1a_MzCieiuGm8AzozvXUU5PvdMjpdcxqSz-UpJZlnls9OOPpdRD0oh-SQeUoxJ_cC9Mz3_AvP6yvAywNwmALfDAAhVxMcJmXobYlLTZeNl7_?purpose=fullsize
https://images.openai.com/static-rsc-4/WN8976kBUGiwC1ztRRMZ1bk2NG0MG_oeRZyLwJVeIrzD7-uNMfFeZ_968MaG1M6dnG53O5_5R588dR5-oL26tmgDVZz5oH2Yaig199VlIQn5F1lksHAW6fWv2O_mFKUAYNg-HezGUiX2GoEnlZARkxgVZjaMjNuGeSPGZVWzAUlz-3HoLgaVzRk8CfQTcDyR?purpose=fullsize
https://images.openai.com/static-rsc-4/TAdw6OliBSp6hlsi-S3mN262kEavciqjSasTa187yl7EUC-AUzJt69PDDOQC-FDzq8Ns3uK8WJw_dIIMDtMJPEhyAwV-qboDev-A3Zr-wVp0qEvxwq7fQ7oAPGR8Rp5nWMqXqiJrZr0iZKLYLJSCRhxZY0d50H4j4YEK_QM2vD-EOUHOtoTHdLERN2NAz4HU?purpose=fullsize

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

https://images.openai.com/static-rsc-4/p21rOgHoxaYd9IgmQ84UwSLiq_v9C2Q3HBnz0fs1VfqR9HxKVDjipRb9uaaWpsKJqzlxjXQgiyFUZYBkhKT2Qbptwuq33BQ0usBJycsNeG64HsSg3ucN-7gy89sOjf2oSTf4EIQpiPZWvPDcTPN3BSF0BFRbtyG5azGk9UuI4nSKOx7dolxw9SYBqhBEota8?purpose=fullsize
https://images.openai.com/static-rsc-4/WdVoeWRj1qzAQG0OBtsUwp4f85iZv04BYkwib2t4woFQDv0riuXjLDkm_0-WkDSF2J1OA-1AZa4hORz1hYtpmBCAJ9R8BniOpohv4mIclw6kjBh3aYSxQkaKcMKLr4_mFFx96TGbBdKTwDk5fDWNHqFFUHqIGOsDm7abmI53us6znTf-HnRXevEd0UcD_MB8?purpose=fullsize
https://images.openai.com/static-rsc-4/iymEc22NUUVsFz0WEcQIEmju-DO52DA1iy5tfpzZHBiiVSmjaNkU8I45MabpC6LcbCO_5OP_bhOXNm3yBmzj3KFdpZ93LLMef7liy90zrzg-_829jhZ28HTuJ6lt0By8D5g7gHHRQ-O3T_BZNNRT3XvWa37EWp7ftUW13Dx88K6J5NFqu8SRdh7imKcMBwyl?purpose=fullsize

7


πŸ“Š Perbandingan Tanpa vs Dengan Fungsi

AspekTanpa FungsiDengan Fungsi
KodePanjangRingkas
MaintenanceSulitMudah
ReusableTidakYa

πŸ“Œ 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

  1. Apa perbedaan parameter dan argument?
  2. Apa fungsi return?
  3. Apa itu modul?

πŸ’» Praktik

  1. Buat fungsi menghitung luas lingkaran
  2. Buat fungsi cek bilangan prima
  3. Buat modul matematika sederhana
  4. 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:

  1. List β†’ data berurutan & bisa diubah
  2. Tuple β†’ data berurutan tapi tetap (immutable)
  3. Set β†’ data unik (tanpa duplikasi)
  4. Dictionary β†’ data berbentuk pasangan key-value

πŸ“‹ 5.1 List (Daftar)

https://images.openai.com/static-rsc-4/-fY7fmdkhA7aZGz1cV_kWN8R0omLIulH5GY7KNNJrnzE8d_GAJ-QyKCM7AyATnPmZmOUldHQ5zXqXv4D9TBLSXaEVI0Ea0xJdTC6WFz3QzdanHVydQ2oMAvnRYKLBTRMtjkHM5dJ07QyYdFuckDvu1ZggdFUWwUBYSbBy0ZgxfjnBHIS28d799qvorYB7xFE?purpose=fullsize
https://images.openai.com/static-rsc-4/3umq4pkiEnsnPaz0V16L0FLvIRmx-cBjip5I4qQLSztOS6cjP83QT6hdHCt45QI3SsnDlfHKuWFqvesBEe0j4RnPiz65x1YzlNW-msPrIPvltKeanV2UtXEZdaYMacSkxyx8KV5LA0H6hnRwHME1Jqru8iujBdkXZbpG5-mMyA9zlbzdEeH4HmqZ3CqadT_3?purpose=fullsize
https://images.openai.com/static-rsc-4/VwQKO4EBavQO5DyY2V4bO4MQOmg0ZynVV15fkzX7ewjqKl927q3OdKhINzY_GnFyZYCvjsRHVrd_U6acYS02Yj1N-xgBBZBbDV8MpfH9LZy3mqZFYyLg4_2gkZyb_-99wRSwH8KuVGTrmMEUY0WBZJXmVjL2j0UHpGpXaPnNrT9ieWWg_e_6zAuI7VrYw-N-?purpose=fullsize

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

FiturContoh
Panjanglen(buah)
Iterasifor b in buah:
Sortingbuah.sort()

πŸ§ͺ Contoh Studi Kasus

nilai = [80, 75, 90, 60]total = sum(nilai)
rata = total / len(nilai)print("Rata-rata:", rata)

πŸ”’ 5.2 Tuple

https://images.openai.com/static-rsc-4/TmJSHe2_VBITv2NVuUZbSU9GhYjGcbHLWT8maC1ZLDuAbrSrIpcRzxYTcwSHpjz753zHK5bTxkC__b6CILxZu4sR7vycjJJbRtreqspFZfrNIikRCBUjoyDRiCXDHVH5T_FgLqZ7SZlJH-uHMlMRDZl4XDIPOcIFLoCEuYgHIFslfTR6DYt8lCLYmIw1rhow?purpose=fullsize
https://images.openai.com/static-rsc-4/9SFREaxStrEEVd12heqM5WQU7hEM-S7G-3-6fDLr6SB2y9L-F7aSn_VX_nLPcl65NWp0dI2mOyQIOoWwjmAn4Wz2FMneF3eQsT6Wmjua7RHm4pQnmJVwtE5-sPgCJfTAVeecWKLyX6R8bi-6RF42qAnCMzytP7lRCqly2cB5Nl7ezvUzp9WHS-FiE8rIJxCm?purpose=fullsize
https://images.openai.com/static-rsc-4/cPjRpq5TwWzux_0wR7ikC1IfFUJSsJUbHtoNd5dZz7HKOZZ3CsD6Mfl6wSfHG71iXv4Xk83JlIBcBKkiO4ov8K6mySOzw-_3liHAdRCUeXmtPwLPfV05jsrBTpy88CAQxbiqDjiJMJeRAL1ktgmdYmbuX4sDe2Wo5QgVeL6ka9JzaPLB0I9irBDsTNFmOK-z?purpose=fullsize

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

AspekListTuple
MutableYaTidak
Simbol[]()
KecepatanLebih lambatLebih cepat

🎯 Kapan Pakai Tuple?

  • Data tetap (koordinat, konfigurasi)
  • Data yang tidak boleh berubah

πŸ”„ 5.3 Set

https://images.openai.com/static-rsc-4/u6LYxAIIiWvuEPtBly7ssNTVbNVqZH6Hsx7CArZEBZi2KCPaFkrO9xJVQgaIsj9tGjXtbjvFScMzRaQnZX_Y-sie31kl53_gF1ueWSsxothNC9dZk2NjzN0-aiqC0MJAV9N_fe4qqBor6g6yefElHTgSy2EsIzfJIoZvU2x5kYRl1dh1Npklhmj42W1cFyeb?purpose=fullsize
https://images.openai.com/static-rsc-4/Fzq5G1gX8Y1vOcqwan1FJ6LErUtEoUcNwSK3auG9ig9QwYsk8ne6yIeJVTvwIQUoF30pBNyzJ_zw6EQ5NihsrO_MyGUM2UzImF8PG01meLVOZ5uVAA2JOmIEGL7_jeZOq-_J78uZwswE9Ybhf0EQOSJsbnuL_2wSfKnm3qXMX2IX2WWC02BXsgncVKPvRmAQ?purpose=fullsize
https://images.openai.com/static-rsc-4/9tSiyB6fXHwsf2EuaJqxOPSRUKUKS_96j9rBdPfWwM3eFwtjYEhtMI2r_NKJKANl8x6JDU77MLIaQqt1Cd5097nxre6jxB--TNlKCXy3dHOzksdY8kKSubGoPzbg3yQHogkAlJPzMejfU7AWk2RzHBol-KuCoJYc0LMN1OM4kc7vNGO64VTTwQRZtEIcqBxV?purpose=fullsize

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

OperasiFungsi
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

https://images.openai.com/static-rsc-4/CrxWRJPTQaKamkywKV8vz6NAU6bC0dcQqidIAWXqd0D3HxBrqxKrRaLlH33KqAiS9s_OR_R6V4PLot0qm8JGU-EyZ-3lcMRgkEOsxI5LD3HCj4aVgWCJBsWKk4NHMdZiyGLYmeKWWqjwReWIM15l3AZ59nIjLX3YfPYVRZDv8X4GsxnceKplzeOmDYLNtYDK?purpose=fullsize
https://images.openai.com/static-rsc-4/NFotudCdrDirHfFArf43tbmvGdpMy_8QPg2WTdsy3bFmAiDJ-UDJgdOaeBMvyu5t1qDBPy6SfRyylZUufL-QnBoHoKmb7eReYrFpEGZpIioMgTOpdP7d5hGPNXtH2MildlKYXrO79yxUdMxS2qG0bdehPFJTkZvmX4ufiJ-vmlFjnBOQ7Wx_l-9ijz65AeUW?purpose=fullsize
https://images.openai.com/static-rsc-4/kLp1fLJGC1UbINhQku-R1icOgfhqcV6DqqUFTv_d9qsEiZjG9z5ARbCPMJLgLgEs5Bdzl7uAUWxdpp-K2SYKUKjjw3DSmfZsqKYh90inJ9VVdE22beUG3RwByyy-gdyo7BlSmrEjimHErhd456kqhLX8n1Crr3TIglKk_SiTK1jqDrLcNZDkA6pF5XFOhkr4?purpose=fullsize

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

FungsiKeterangan
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

https://images.openai.com/static-rsc-4/7cNT1XsCNyMqM1DR4ZT7H_xILvDQmYTfo9N-d_YyrTP3WXyTVtXwsnYGpQtUDt3tCZI7oeVi9p4DWoFsnyWlvdQJ6fx02fvo_qJ-I72E0zWlEcQjbdKs5oZISW_oZOQ4TsPK9U0SB7d6Ax0HkJK6w7GRexT3hY0VDZgT0SCRyUzB0KdwmfVkRcW8DrzPVmwS?purpose=fullsize
https://images.openai.com/static-rsc-4/GBONK2SNbsThwBB-aonWkMbtWtTRRfnF9E7T7S9lZWnwmf7xIAhPbndHfbhe6IVcVWWEeLdegApl6jZr1-dZ6MCh2jvxSx26rz6o6GJsWBB75m5rZAWBEAA_7UL-X9Vk_LTP0ZHwiFXVmpmfbiXskco9Iwob7lAQ9FaA8ipUhQjpkIl68aRaNP-qpdy6WSVV?purpose=fullsize
https://images.openai.com/static-rsc-4/xnPLcqzs_NfwZN5uGqcd8IFL4yxrHh80_34VbTPuFehiZRrlb2s-RSQDz-Mx9UtDEyGgjr0M0TmOIt8rUIfYtRuPcfNsnWpaDyhrY43j9zlZoaCk_I1bM4edpQ3J1RVgAdlroa9RLi63IgpcmgpNHvYQnrlRK-SST--g88PhgpOfB2Dy5ldfkRkPBnG1-xUQ?purpose=fullsize

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

JenisKegunaan
Line ChartTren
Bar ChartPerbandingan
Pie ChartPersentase

πŸ§ͺ 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

StrukturCiriKapan Digunakan
ListBerurutanData dinamis
TupleTetapData konstan
SetUnikHapus duplikasi
DictionaryKey-ValueData 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

  1. Apa perbedaan List dan Tuple?
  2. Apa fungsi Set?
  3. Kapan menggunakan Dictionary?

πŸ’» Praktik

  1. Buat list nilai mahasiswa
  2. Hitung nilai rata-rata
  3. Hapus duplikasi data
  4. 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

https://images.openai.com/static-rsc-4/5ADsVpEdm6fQ5X79gDqSIDI6xTQWUz9Sx1YZF20rusQe5FjK3MzaWFUU7WQX4jJ5Qjnazwl9p1_y79mT4USBTnJ5E6c1KP6WL-yOiSDGFuNkSSPVOBcqegUUD9pBSJbmCx78StPXW0WjnCP-3fKFtgpHQh-VKPehVp64MO3tz0nvET7_hL6PTQP7mdfF-K9I?purpose=fullsize
https://images.openai.com/static-rsc-4/UyB8ZE30Jy_QocPK7YSxDno6xqj6tuHFIGicAuh8kbjAsxcQaRxR-Ekmey1uvhMaPaR8N-z5ZCT42ApXNYVKzHDIKbsKpYT1SWwH7hmsx9UyElygVIxU26ooiV8wD5OolMlurMnTgovkJwylCd-USPj7VdvADl9XsQBjjBNRRCjMg1Z-FtUxNvM_IMJVpmF9?purpose=fullsize
https://images.openai.com/static-rsc-4/lwzkX6KhSGHcDuocRzSftGuIHH3yYBF3-lphs_jb2Ne8azJm2nXMnaFuPbbxYTT156-tSlVSd3mlibcr3oX_DVkfBfVyckBvqtr4oSXn2zdlAFmqPJERfeCDziMVQ0LANlxq53--CmTW_5riizg-pwCuaLvTf815zLxoTPO-Ab2WD2_P6OxVY2Ci7KtUnCPL?purpose=fullsize

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

MethodFungsi
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

https://images.openai.com/static-rsc-4/8VlaT5TfJNqUWWvS0ZmI2C0e7OnGw5ddDLBFrz7OGxRCsGrxBgD5zwVX91lyRYuB1DUPjVRKtLsaGLjshBlSsTKm290cEPcQTnX0QTHiEALihuEmxotNT2lTL5fuM4gLPVe5sOgzrXsGeJGUykG0i3RzUz15NjXTs4uugLaUkjWcKWg3EIqyztWE7tqlt-5w?purpose=fullsize
https://images.openai.com/static-rsc-4/NCXMy39PpBOUfooEXJJeZjUA8l5ZIJuDZptZ_3XOtW4gzml3WCk5_PKO-cK_BIGk3fi_RHKrsW9KrSFrTY6q3_v-hG1nc_4OYhvtBOBfyoOjQ_KKQxn4EguMk77Cv_7A8TSs6jvQh1qIGvxHVHWKeTtqRbFhXSgoO-_mUF3YVjc-j5SKU7IjXGbsuiobNT2n?purpose=fullsize
https://images.openai.com/static-rsc-4/Lm5vYRASISBGswK_wW5VrTzXCjH1i1wfA-bBMpEkEQf6A3IYxV8pLb96JayBG5z0gYQykhHxIUd0L2a7XtkPdMuthytDWkSpWl477kMqb_5sV0m5ptbO7CunYODe1BGUCGVdQH-AVacCy42qRifFB6WNDHlnZsue2LCwAsi_msPrk4RRkA-bE5u-YwNgkNi-?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/FCOtndnu7eZQ17TxObPewUNW2CgntioTvMJ8aP8B3ddJSDQDCT4-9dRw3p3QCsx4C8z4tLWl9sPaPBQp2DJ4Mz815woU-6C3yvDa36ap7H0dvi0HPBgZDy5azEKtGvv-wekUp3k93zooCTZMO5zg-gwFnbeJ_4__AVMifg9GpGBxld-yOoXXR0JZKs6akjOj?purpose=fullsize
https://images.openai.com/static-rsc-4/OppR0BOGOLvsiVwVFYQ_bJU8j6K2DlCz0VplTB5BstN1JHvdYMfGMpP0CP4aaTkxkJt-NnZEbc5pDAOzZ2E6Sk3AwZ1tfP46w8jnotad0BYgEQD_gJFJZ5KZLDKS740vVyM1SbxsnZMejIXCi1bkYluMC4o-o8UrVOHX0pbx8cthDEWqboSn8Vw_gQy2nFXF?purpose=fullsize
https://images.openai.com/static-rsc-4/5EJH69Wo-uqSz0MQehXPNIH9G9wa9glFr6U9Clpkfnypl1_sT-o94f1sq7DtixTsZjXkR9XxU3mVubiHxMU8nso-4BEiCumQ8AInOtzFC9h9GVvy3M5-TSL1Dkl6r-RLNPrKyFPkIwIWXa8GFa8TvRhgw0A7IMb-SZs-LRLJ77pPYtFJ-rZXl2tncNyEiTaJ?purpose=fullsize

7

πŸ“Œ Apa Itu File Handling?

File handling adalah proses:

  • Membaca file
  • Menulis file
  • Menyimpan data

πŸ“‚ Mode File

ModeFungsi
rRead (baca)
wWrite (tulis, overwrite)
aAppend (tambah)
xCreate 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

https://images.openai.com/static-rsc-4/FCOtndnu7eZQ17TxObPewUNW2CgntioTvMJ8aP8B3ddJSDQDCT4-9dRw3p3QCsx4C8z4tLWl9sPaPBQp2DJ4Mz815woU-6C3yvDa36ap7H0dvi0HPBgZDy5azEKtGvv-wekUp3k93zooCTZMO5zg-gwFnbeJ_4__AVMifg9GpGBxld-yOoXXR0JZKs6akjOj?purpose=fullsize
https://images.openai.com/static-rsc-4/1AOfV6amRSuo7HBx4EESoeSyUaPmAWlilBUhKUvodBYDcoKxrZfC3IKLlQQOI2amOFqA7wQL2hYQvb4jE5FL0aUij2TSzdQEuJMsY8egaPtUjk6gQpGyYlud3XsRjSr5ZNcwRUgzij-gLJrrN_bkhbQudriIIw5gF9ylW57kF54delBRQvIC0Ffg728TFv7r?purpose=fullsize
https://images.openai.com/static-rsc-4/aASg80nmbKlqr6aIB8VheQBozrJpJFP3H6CZLZN9chqXgon6J_2P5nEHHIqiz054apWyQvTJgFxbkbp3nBdKuHLhcWLxPDJuDnCulVyvpsLY5UL3rGgfxk5Dm_vnBQG2Olh77q5Jka8apkC4MBZPqLjt1O_Lv_Xe-yAzPDESW_rV-gdLresF7PWIffIvw2BU?purpose=fullsize

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

OperasiFungsi
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

  1. Apa itu string?
  2. Apa perbedaan read() dan readline()?
  3. Apa fungsi mode a?

πŸ’» Praktik

  1. Buat program manipulasi string
  2. Simpan data ke file
  3. Baca data dari file
  4. 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

https://images.openai.com/static-rsc-4/Melj0a6sXIcKPRcNsT9GKYzyd7sww0-8hY9k0CpZADm2FFpBYQPxVuNMRw09WaEyO2WW4DuzLTDXAp6T-RhGQsB6H5IlP4ek5zKiptwfcAubI4gUXWBOP5C8Gratg8EpJMj9mhPodNpsiQL2cs49KAt1P74jdfwYT-dKkOwFhNrhOsmAo9cAyxXCghdTraEh?purpose=fullsize
https://images.openai.com/static-rsc-4/BSCJIXzpQa-oGSwvBfFYGDM16hrXS_05D1EH8ikJQQm_n1_UTm4eqKdSwsUzXs5CChrWgTuw4Siz7Qnt2rhaC6GPxeX_meMczTULObsOIXYHDnNANSgZ2iPv47Kh2KCC_s2Re9MYIOdNWVjriE154EUqj4aDskKbwuNPfMY26FiwCpJ1w867rbUqc_YXtpVW?purpose=fullsize
https://images.openai.com/static-rsc-4/7-bt5MY1PCU0N-gcTnfScpX0bsi04JzEM8g7B8MGmp_t-ya7RcHp5F7uzZG2U-hQkSKriqq54zY5D7T0I7U_x6E4rhffqhkMoJ_4_2yXXY0U37V9nOaoULc5bfRZ_KRb8ksN8_XtjF6xb0A_Bi_uxbfeQ6KP5XQkgi9ZqxC4TRilyGA-h4out-m5zOFl3jh1?purpose=fullsize

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

JenisTerjadi SaatDampak
SyntaxSebelum runProgram gagal
RuntimeSaat runProgram berhenti
LogicalSetelah runOutput salah

πŸ›‘οΈ 7.2 Try–Except (Error Handling)

https://images.openai.com/static-rsc-4/tBajyuxaRhAudue9qShTvw8DG45Vkkz4b9Z-9aqfLHqUx_kzjYc3m-7aCJi-7Y9AHI3quXsH7FUbjLFLNDPg4azRO7jjg4x-U-_abcrVNcHXh5582A6c4d3uFD1Ftz_TdYXwxxrh1ZsJ2e2PLCf4J7DUIk6CiKfyHduGky1F1YXfNU3HNyY2xqQMPFWc0BZV?purpose=fullsize
https://images.openai.com/static-rsc-4/wJdzQuJWTUqbP_69eDV9KNUowJgPnd1oUaM-d1ErvlUA52kMg_zGzGuHMl93ki03frSs9b1B9Khw7lqc1MLfM9vFb3LlzHRFSOcMQDArg_OhH1d0xyL408fudocdWRu1VZGl5ILTw_cmkpqcwc_CmPTLvp4KOyl9AJBek3LHXmEgAZhIXKR0zfUWZXmRiRTY?purpose=fullsize
https://images.openai.com/static-rsc-4/x2R4jWNtMPGmeXI66IhiDQO276B2fSGrPDN3J_dH5p36Ow2tk4zknQX2uI9b_eYzHybMSUGeRS28pQA7eFJ6wQ9_yz-HRWLb75_pG7lGGiphJmpEGcvwFZa0IlUnYjjqgjzdWo4RH8YqQ0YkrwXA0ybTK-q4f4nKUslePZU_iB_Bo7msj34QoHawLWzoy3pC?purpose=fullsize

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

https://images.openai.com/static-rsc-4/tBajyuxaRhAudue9qShTvw8DG45Vkkz4b9Z-9aqfLHqUx_kzjYc3m-7aCJi-7Y9AHI3quXsH7FUbjLFLNDPg4azRO7jjg4x-U-_abcrVNcHXh5582A6c4d3uFD1Ftz_TdYXwxxrh1ZsJ2e2PLCf4J7DUIk6CiKfyHduGky1F1YXfNU3HNyY2xqQMPFWc0BZV?purpose=fullsize
https://images.openai.com/static-rsc-4/WtVDkAuikeOGowjIX3oAil4_4Q6uM42VgnMn1FwACAWeRS9XW7DpGuKMtGo99dy4qgjBFaWCubMh0nyWDQXjf3XW6Y2GMao78wWBYNz34r7QUq8gnW1Om1-7GoAecaBM94GjHyUmHvctS_CqEPL52UZgxrgZvhrJzACdyrWqDr2fc6qBluLA2AHdLM9xDDrW?purpose=fullsize
https://images.openai.com/static-rsc-4/r-J7XJuNc93b4POKz1CG899msvB00dhvy3VYurQBz4NuKYxrCclO7wfDqQYVyuDbqsSvNE90qA-tm7GdBXi1P-NHCgiGwq5QeCICiIB86Q9yYRUA4UcU5HDgv9LNhwSmP7w6vmYH1mIn7aIhQEsT6tiXq0dnUX_yVk5dpY39wP4LqJ7yM1-iIou7Sv6HPL2x?purpose=fullsize

5


🐞 7.3 Debugging

https://images.openai.com/static-rsc-4/p9uF9mZdCoRpTYkCwzrsDcOX0nr-_Ba3IqJ5LFvv5f2hT3WaaZR-I0jkRFQuXFi4jdfyIpOEDxjhaAlQUuj8QYXDlXTgUH5i1DYqVC8u5plS3kuDE1b4fWpUO0dpfkWjelXEBNqUnBVEtFyINflUXkUXxEZRLrvJwfAZ2gxDcZdKyDjSgcp_LN0cnhzPbo62?purpose=fullsize
https://images.openai.com/static-rsc-4/JdHyv_NJtiLMODpLIzsD-20NRgPV8-Mgu1fZw1MywWHpNwiGuXLMYwks94Ixqqo8R6o2heST8BB1DM8otC-AhY9czKLQcK1VQJ8FuZQDTxZRQxKDJVPkF8E-qZurqGq6eweHQ8RMB2oezn9r46I5pimFskpxteXwIjZ9uGhnKlS_YCZxmzvzPYo_gKuiPik3?purpose=fullsize
https://images.openai.com/static-rsc-4/-fGwPfWdo6eBiOS_wmvQDP0wcnhRtGVg_lUlQY91XNUA7xuVBkt88Ui9-LxlW0v3s_Hp2rMvFSmrlJrLEYroIy91kF59uXkbm0P3WnCJq6NsQFYFrFpi1M8bsWMiJZyqAUwdO2i7dcBLnuxJT3-dafTwTc3yCqZ8EWeAx8TsEmLv7Ujv8B60VwOMgs1WxFnG?purpose=fullsize

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

ToolsKeterangan
Visual Studio CodeDebugger lengkap
PyCharmDebugging 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

https://images.openai.com/static-rsc-4/YZHEPdLNF5HctjLoLAK8wlfiWAH6ppA_48D8uBgbMTsSynAeR52WPTcVxU1VIw6A9GeMJs-UFV8z8YWXF4xtrlzQeBIIbGsD32Y_XMQ-rIgREyMfCPJY5PuPyqEAwpGpa-3s5VQrwpdtVDkvn6chyWHcUmtMfboBHRewM648tH5wwpv8WkyzZvU1r6arZvDv?purpose=fullsize
https://images.openai.com/static-rsc-4/NM8Sk483VJnALgYGtpFUFLqVsww9-HUblNsHenRocwZB2T7KmIuLZzXr3RwR5pdQATjmZ0-VKcDpJt1qfVdSP9sD0oWRVFZ_uIY2gGfcmMbc3L_RFaBENObwR-O-pCK6xcJS1T9jSjOPdtkGj1LyVPs_jKCTkHggcA_2hv37tvrluqqJUxi03P-eNjkNTHZV?purpose=fullsize
https://images.openai.com/static-rsc-4/bLhDjyFrdBonxPcNXgLqYHPgOV6OT_ux7chKI2v7KirxTi337AsfyFoLH7sChg65ge_ENyMOEzWUVKpHNJDhUKIPpBc6fiYiQtRgT6CMDWzfMRdeiPTZQsUSNwn-a26uTP9HYkxy_UOiO6R98DnePUYYhVnpNVRBotkQTqiggI5SwaDVrR6a6uLGS8jL33RQ?purpose=fullsize

7


πŸ“Š Perbandingan Program

Tanpa HandlingDengan Handling
Mudah crashStabil
Tidak user-friendlyAman
Sulit debuggingLebih 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

  1. Apa perbedaan Syntax dan Runtime Error?
  2. Apa fungsi try-except?
  3. Apa itu debugging?

πŸ’» Praktik

  1. Buat program input angka aman
  2. Buat kalkulator dengan error handling
  3. 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

https://images.openai.com/static-rsc-4/xaSoIrwmNPlMJkgm1CussYcPftzWMxIJRru7HJSeUf7AFUYAex6mreCZNELT3Mu5a3u8OZ12gUFgRY-UjcD9V8qW7HLaaq6rHdW_HPxBYzi1w_mSKGEjaaerLfKbtoAFtcDAvsv30FgeQDBYYZJwp-ZbZ2FVNg4siljriavoPVFY8f4JSymHnKFICBHqovmN?purpose=fullsize
https://images.openai.com/static-rsc-4/R19eSHUNQF3BqjOEOakBEl0EhwF3takFMZ9a0EfuuNtyJ2LgpcDPW7y2XtCrcmmpIv5mSmOkZECyk7ADFkT3AWXrywAMcykP-jreHj63vfdDGeYUpaPWp96fz8EZzjJA_t8Gkp4SfqXM3bt1VTyUXFXpjNoAEfm-ODnqSjKX6ZVnnwX-DvV0p-U6pw7VDLAX?purpose=fullsize
https://images.openai.com/static-rsc-4/9dnZ_2yZabFhBbo689QEj3TTb11BtkvVANYW8LOYuRNMxiuvWOtOem2qu83mUOGYJLlIv6sLeOZVe0lUrRCTJu0T8DD1Sr0VWQACCk6bFm2Jw1cmGOLR-U4FZYIfXoAhEfPKDqnvva-HkGQsrsNrpjEL-iN7497MPm76U2_6SisPH1tCksZOVLEfk_KvLXRY?purpose=fullsize

7

πŸ“Œ Apa Itu OOP?

OOP adalah paradigma pemrograman yang berbasis pada:

  • Object (objek) β†’ entitas nyata
  • Class (kelas) β†’ blueprint dari objek

🧱 Komponen Utama OOP

KonsepPenjelasan
ClassCetak biru objek
ObjectInstance dari class
AttributeData (variabel)
MethodFungsi dalam class

πŸ“– Analogi Dunia Nyata

Class: Mobil πŸš—
Object: Mobil Andi, Mobil Budi
Attribute: warna, kecepatan
Method: jalan(), berhenti()


πŸ—οΈ 8.2 Class dan Object

https://images.openai.com/static-rsc-4/chTASByKpFpca6m4MM100LmbR2pd57MEBo1KYBT_fatvDbkEjZT4qN59PlAgE9eIsLw25lA0XIk3Zrp5_vBWfcm1x6IdahYc5uK0w1eEJd43JsKUM6-KfgA6LowaeECYEDsfQFiMmZBWoH0nnjUGTm4XxzOHa1BqamFuneKAploJpBnjtHSZ8-7YuNn0stFz?purpose=fullsize
https://images.openai.com/static-rsc-4/to4GbogA8LmVefp_pL1ouDedSg23ksPt-FH4s1AoVdhOQXjPmtaEjMgGpylK5k-dbBTizgoRtKVSSB_lNHXQAD_6cnEm7dTjXJ8WoPspgQov8xPMSyMXbC5npabc-nnZ0zm7kT7dbpXC67mRjpxy3XVNSAnKkBClsJqKBjDQoXXOw6fBQabralG0Njh5NVgs?purpose=fullsize
https://images.openai.com/static-rsc-4/BVr_O1fNpthgh8KdunyTpo9q9WoSg2-haqYdsYOjpV8b8o-fGSHI2oDKDmciOOwWWRT5vnnUoDyqKKfSvT9hSYldMfjr6pXcLav-GBEgMl6TkowJWa4t2LlK6M_IP_L-FeLM3y8vRECZso6fHr65ysMByqPgJWOgxVRhYfBH8BoTnHMLqwtAnNLNjnA3VWiQ?purpose=fullsize

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

BagianFungsi
initKonstruktor
selfReferensi objek
attributeData
methodFungsi

βš™οΈ 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

JenisKeterangan
Instance MethodGunakan self
Class MethodGunakan cls
Static MethodTanpa self

πŸ”’ 8.4 Encapsulation (Enkapsulasi)

https://images.openai.com/static-rsc-4/OS9oJw03qspQrlwf2QYcvow6uc2bVis5xE0vtspK2AIZHNFsvw8BQ-D-n5ytL6I5mFDmsanv-aBbMtQu3eOqyEUQKCcsXizY-w90P3hIrOvSYNmmCaiMsvL3dCreDDpw-a1hhDs8jQdZoR4NiBUWDSwn9irKGqNrh9yVsHEZzqAsfVcpFCuck8zV0A4QMQ9-?purpose=fullsize
https://images.openai.com/static-rsc-4/HUNME8n51duI4zWom7jG3ls2AScoVBC9O1QX5c7zKVa6Yh_GVanxmfUxUyhO_tp8mD_oHx4EdScdR6I8m85EP4ygT8uRGsOPw2eSOtXTC4Ph16qHEIzPKC_80Nrqv_NYR1TUbWC8Sw7dYHeA8zHJIYhDiBPCuMmq7OIivA-knYJsLh3xyvPfyJ8anhie3KQQ?purpose=fullsize
https://images.openai.com/static-rsc-4/FAIuJ81uEiw3Mke2oV8enLI_1B1tgGjyPxyK0KHSPzkMrNqQzUHjZ8ubDA1kOFVhe4p4fEAuWnk5LBn16WD7iFwps6imENISdZXH5MAsterN2S504pP1BioOb393VDAvctRCbkLFskbCdfkoy9HpyXzdi1N2Kd0rRaQgPqldc9THlvmhq3a1a7KU-f10UHWW?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/cZ3uWJwuDz4R85Ng3LR5tUmfW0kF3Y0M95De9JG6Ygfa-p4PnMEwrhjJfMKlfP0k1Q68mYyYsE1Sj1x4OksL8U24mleat0tNSdgp5jd7ByNWhvkJ_RCLiA-8LZZ2XFXLp7ACKoj67iEh-5PkFNjlsNCivFdALUald7n9b005o8JB-ZBC_2v1Q02iaxwbGkli?purpose=fullsize
https://images.openai.com/static-rsc-4/jyx7irKaj_4Ni4UIb65jJD6zL_3kyWSdkZUUqMbzsF6rIIuCUOrzIj7yOadTeg4pOxgzOsrJhn9tODaKQX1SaCZQH2hwb6ZGlg-yoto0DPqB52ZPygn24L58Is8GmN28YRSr62ZCQErGq2tsAyu9Lgmjy7i-sBbTsqMDBZWNteSYDossdDYBDPpSzz3NuEP3?purpose=fullsize
https://images.openai.com/static-rsc-4/bxhl95T2dT3Ahuo1ID_4JDqfiXEkuKtt1mum2abgBKajGDG-hlK7vAS8BoxthF22KI6ZVQ9oF1IbpKB88vvIrB1oL0jLSTZMt6xN3WEyLu5RnaHEs6rE5Sp0EVT5781FxV2aOrbexNDNkHJM7fZDSDOeYzzGy19YrsD1C9BqyCyVwzYDpWuzZdUnt0glA6l0?purpose=fullsize

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

IstilahPenjelasan
Parent ClassKelas induk
Child ClassKelas turunan
OverrideMengganti 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

https://images.openai.com/static-rsc-4/gpZu5TipGiPEZ9t9SzzEFGktNBPyBncffN8vCbLOhPcaPY3VJfeyTIXtUhL16z2UXodhujuCCCNRv9ErP0gjWNsFCcWN23b6LLZITm6L21f3LDa2BnE8qiHnQ_evIDDA_VeTrsLmkGZxC2pVZZWiIkttKopjTuqLQkOrbOQnW_W-_ujNRjpRB_jAtFQNSylC?purpose=fullsize
https://images.openai.com/static-rsc-4/ro_nwp-44yXZcPkihtrkKD8-5mQXE-pId4PPlVL7RwhJIREkIUmX8vdjgB3Sv6DpmgDv8p87cB1q3I0gz1fWgXxsvq2sN2_Ioc_GU-swWnpn_2vkXUygeKB0sDk2MbtRow0483TDR55NJ3cZIyBCRWOqn0V9BgtOB3_VB2A974daZXohLzKUt7M1qlLE_8u8?purpose=fullsize
https://images.openai.com/static-rsc-4/sOf09uuI8sexKoWjaUruTqEuoIpAgYhMurBixoqZuU7pnsYrZR26PKbh0GpSr8YB_R8GtYy8TY8dFWbRt_4_CZvxvs60WjXXI-xVGcC8PZn-ufxUgG1GjpJVOgahXFW9xQI6rGBEWaocuq8YVT5FxRNMHBNSFBQo3cpW16e1SqZrB5GpA8tT0sNx1XyhqVe2?purpose=fullsize

5


πŸ“Š Perbandingan Procedural vs OOP

AspekProceduralOOP
StrukturFungsiClass
ReusabilityRendahTinggi
KompleksitasSulitLebih 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

  1. Apa perbedaan class dan object?
  2. Apa fungsi __init__?
  3. Apa itu inheritance?

πŸ’» Praktik

  1. Buat class kendaraan
  2. Buat class mahasiswa
  3. Gunakan inheritance
  4. 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?

https://images.openai.com/static-rsc-4/D79B0C17FD9eeiv1Te5mu0YHyoC7eedpFg5_GYnOEPW9luB4PHEJfBU7gcIDCnPF8q-oRd5dfq1lULLunR4PQdNEX0PrV1gU5itLiwnZ2ztJNyV6807JGuee4CkTJzkYG-Z0UobQ75oTPKP2cSsRLn_gGiMcvLZVLqjm6EUo2t2lboRev15mZXHOlB6a2N1h?purpose=fullsize
https://images.openai.com/static-rsc-4/XuOXoGBprh7mbm5fOpew494472oV7aVjRlS0vmvpWwf8JICy5h5vebD8UXmu_hXFCatFDRZ12eQamu_WbDT2IPdPcDTv6v38oPFoagIsP7mIexJ8nV5NA-s7YP4HOpqFfXV0JQ2OfmdL_m-27dAOgF0YGLFR8waMnfJXShKq2c0rkCB7LYNDIL9PyyyQM7tB?purpose=fullsize
https://images.openai.com/static-rsc-4/jxNkdx7C-4TKujr15U8JFi1YgU6-azcLAYqwD64pPcsEaxIoInyP8T9DCgG-uboEyG_CjhETvz_DqiQCfGN_hDr2za1xFTf4eRfIZ4kxu9zvOmBrORjeF6q6MzGsFS9V16SjSG0fqgkCImAUTp213o_MBzqeNBNhn84jqEWRLowbaXHCgzMzc1CqKhTp_Wn7?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/V-e6BfgYcNfz8SG5KwanUoxwvUw1Q0jjPnSFbSbPI8VqK_7KKX5hYMCDjbm0Ppnrgr4Gl-hjBjDBff_Hfq-z3QLy7ywSowi9A9C0Q995QxY8g4L6J896Csr6wHa8UDzZq6xXfyNsYm7tHLcep0P080eFOh3NR2pdXHs17iNu1JktYukKpUFCqn_2w3BuZzPn?purpose=fullsize
https://images.openai.com/static-rsc-4/O2OVkRdp3U-LtusraNERsoUJgofxgd7Qz3maS9ImS8m00JpyZCyCPYW-zLhDC8lUEFkyQ2wIUZYvmeGZhnetUeq1bdhBGdg6tgcIKRMCU0hSqDKBqaMPM9OJpW50mAN3OhYg9lR3FguFcWv-Y824L8f36CkFIKEegPiShvGe52X-ThbUAKI8Cp-eaJHtPOiw?purpose=fullsize
https://images.openai.com/static-rsc-4/dmNVVZIYV9ljXjZKZzZrxqCuoz0LN_y2Zl9PQxRDM21AfR58tjeSsaVlNXIoV3oWVTVG65c7qCuD-fBeiLDXRzr4Hyq-xWYUXWkHVCQsQNzpHeuQiTnHixEUqjYnGrrevbQ-1x3tnquH5uMtdB46RWJa2QTR1Ad6dIlwXSm2q-SvT_-19JbS5R1jocKHFLDg?purpose=fullsize

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

AspekListNumPy
KecepatanLambatCepat
Operasi matematikaTerbatasLengkap
Data besarKurang efisienEfisien

🎯 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)

https://images.openai.com/static-rsc-4/jSrdiGc7uFXQydfHqkwICAlPvwZvQzXu6wq6QY0_dMSDSSSLGbM0HHrLeNJHgqbokkpBJMWf57FXZd4OM5QcBk76buwLBc81xiStQkbZbLJTfYl6HakFMMDNzUD9S_3ms1_X9Knh1XDP_nAL211IQ3EmVRhrGBXsRC5-HRteIL4ESII-kbqfQpzx8qAmmyme?purpose=fullsize
https://images.openai.com/static-rsc-4/xP_eqRQRQRDiU0RSJIVLGV2hOkW54U_0BfTdIo7g9P8zmYHltkU2s2OBM5Nscy-K16D5yQ7QNQv_roJs91FJWCF0JNZGXduDpJMisii0XvTHxEuOqqp1g2VPCSHTkNt8KgVANI9j7cbeyFUNYO_THryjAK6_Tg2p81EpONTgbwbA8SOaWzamrKPoe2WLm0wj?purpose=fullsize
https://images.openai.com/static-rsc-4/-Bvyhe9607yQsqlKBdgtTOVlMN2dp5XTgLvazbKJeHHhNSHUuLQs6e80lXBltjH4xSO1hyJhqZ6E9U6x6MUq2Xn61PSg-0iuxFSJcsfX__BiBC9nEBvfwWOxvzJYAhxDN-CQLOn22tcvWkJWY8HxkAoPP9tnXBg4Lw0YtRoeJ9186eaa5tarpPfoPkAbRPrj?purpose=fullsize

6

πŸ“Œ Apa Itu Pandas?

Pandas digunakan untuk:

  • Mengelola data tabel
  • Membaca file (CSV, Excel)
  • Analisis data

🧾 Struktur Data Pandas

StrukturPenjelasan
Series1 kolom
DataFrameTabel

πŸ’» 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)

https://images.openai.com/static-rsc-4/fChMnsbAaU41XUrPYYObccp_MI0MCPW6iQTyW9wrG4vXFCWWB20_Mkb9PYlyNb2aL4iU6Ak40ONISKcIEN_7CYGCM6TuhJHNQnU6x0y0TjUB1SqTGomuoymp3_5x3FcANooY9b3MlZJoD3Kiyq_whlzA8YNEqkMmN0A6etC7P6MyIcFEk1WkGYZXKWcec2oJ?purpose=fullsize
https://images.openai.com/static-rsc-4/7cNT1XsCNyMqM1DR4ZT7H_xILvDQmYTfo9N-d_YyrTP3WXyTVtXwsnYGpQtUDt3tCZI7oeVi9p4DWoFsnyWlvdQJ6fx02fvo_qJ-I72E0zWlEcQjbdKs5oZISW_oZOQ4TsPK9U0SB7d6Ax0HkJK6w7GRexT3hY0VDZgT0SCRyUzB0KdwmfVkRcW8DrzPVmwS?purpose=fullsize
https://images.openai.com/static-rsc-4/InJGWbqk9u0zvAbYd-uYfdHYDu5RUg7kbS94_PRNU8Lk70qtY4qErvm3qzGM_4kL7Uwvzso-PUn1_hoQ1HxkZH_pYkEyOsvKCj9l0V7yoK-mz5swPIXjitujIP5G8kZtOd09EyuUc48qVxV-ABlOUU8-QGTzSKU1_W4w5lAqG4zg2liWQCNaM8pIlDZO6Edu?purpose=fullsize

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

https://images.openai.com/static-rsc-4/M4weWMrw902XK62y4KHO9-D7mgI1z-EC_6bSRcTdHYVfJwKdhbJaLS-keGq_Invi11fKkPZW14cAG0cVJpvyC2SSItAdqhjON9J4hOs0oogsmNNdpMARV7XaWvXtEt0g-ZkBE-OE-T08RwjUtJn74j13NAXDICpuA9MO9F--XtoHsINXhMqff1T76yUdCBBw?purpose=fullsize
https://images.openai.com/static-rsc-4/wichGP9yHiV0QjmV0JGOw-jMeTkU5FJBN-ugI4lHuc--WHVsMGQH_AD8prIhuMZVU6AKTIr9x4QZppSAVGxpebmmO_t_W4jxxhOXv8bt39YDW3-SL6E0fKESUPAP9WgxxR0SW8uwcL3Ae0drdCE9SVE-foWuhn61rpdebWjSJwHMQHkGm_4tk6SVBeKytxfb?purpose=fullsize
https://images.openai.com/static-rsc-4/QPyp5H9vVUwDaYLcvWe31dTOq6jDHjCEdhlzESiYWhT9KRe1xIo9GFQVYtL94_SuWfcsZgKb63qcCjLh9EXFbtUoZkOlFVTOOUr6icENFPiaTE-Y46o86SAPUfIoQV3poSosAVfymW-Cf2DttyWhT0T3eIMYHGgzgnYDf2rUw0tPNf3uIu-pWu2DvyYvxqnW?purpose=fullsize

7

πŸ“Œ Tahapan

  1. Kumpulkan data
  2. Olah data (Pandas)
  3. Analisis (NumPy)
  4. 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

LibraryFungsi
NumPyKomputasi numerik
PandasData analisis
MatplotlibVisualisasi

πŸ“Œ Rangkuman BAB 9

  • Library mempercepat pengembangan
  • NumPy untuk perhitungan cepat
  • Pandas untuk analisis data
  • Matplotlib untuk visualisasi
  • Digunakan dalam Data Science

πŸ“ Latihan Soal

✏️ Teori

  1. Apa itu NumPy?
  2. Apa fungsi Pandas?
  3. Apa kegunaan Matplotlib?

πŸ’» Praktik

  1. Buat array NumPy
  2. Buat DataFrame Pandas
  3. 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

https://images.openai.com/static-rsc-4/6UCkK65rkoGHmyJ4bF9x0GRq3MtDNxQiTXmXjdT0NSFJmyHiUXnLyRj-aVwsYtPCBEITzn5OiUoU6UrDHfoSRx5RYRSPRW9VRGKJ67MDA1HxxlHryP4OuY4t0BZS2s95PFA76cLz_SgT1HW5dHXHTyzalLOpnaKVFy1KBQEqc0-hXcV1xCsfoxWqJ3o1ebKP?purpose=fullsize
https://images.openai.com/static-rsc-4/hjt-mzbZsCvqYC0GJ0XhDW1x69vgitbHrIjoFUq3lJWJ-Fvv2iBfHdcPWQoLmjJf6Bs2DEJMAXjdUO73sKsCSIC3HdgTGbtRQoyrCHDwJP41qM39CVHIAGnjzuTGMpIIWo8YmGA5xzBAbBxqCVbzF3J_HTJtDhDWg8r2V5o9O_o94RIU-Q9vX8YgKmBrWYIh?purpose=fullsize
https://images.openai.com/static-rsc-4/uhvX4wACuqm3yPXL_VxzYnh1O1Jkt5xDKWEuEQFxZQFeXVUDQozFMMfLF-3E6L4pUWpqA6f68Txax_1uzGAjZgpEFb-ltX_Y9jB_Oy8E2xjOZKjk2M0BnE-qo3PcTU3KyanVhuQjQxNIPIqNMYWq3qflmjXPdQN7Lri7tdxNlWpsgim6PKBAGcJXKBJJJNel?purpose=fullsize

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

  1. Input data
  2. Simpan ke file
  3. Baca data
  4. Proses data
  5. 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

https://images.openai.com/static-rsc-4/Wtn4HKMH6DWjRUkixuMM1CC9cGZGVokKulKRQxGxge1Kf60SGLj4e3kiPItK3ILwXUygGO11QHUTIOwm1QrOHqWJhf7vSPwZy4H2goJ9Kd_LHHZvUo6KNDjtfrAwNQZD3hVb219TvsmoQR6Gd5KGmsXa1j2LAV8Dl_6TKjYrYrfO3xpbKUEVgM7pCUv4irQH?purpose=fullsize
https://images.openai.com/static-rsc-4/3MWu_ZYq7bEvrLLs063Xkpq9iqUMut75X7SyDLXjBo-N2AF0w16MLgq-6xLQtQCpjjJVEnXM7rxHTO21SHIy8IQ3XvDfkxIbuP3roAvCoGJ37_556sMI7147kNLDVYn2J4nW8l7VY5SlcWRvk-_vw27O7bQkpoXfuVvggdoxHXTymedzbGqW6Hw7nvKitSnZ?purpose=fullsize
https://images.openai.com/static-rsc-4/DANLw17VZ_DsQuXjOOsHFYquDGWu8ermi3zLlXBXZasCvDwJ0YXq8JW3cyFlT_jQh6CbJhqxCBWd0TalSGPMJC7txUOhtfpQHH3T2HG5PH4gs2GklApXRPMuYD7zBzUAyFa4KXnKruF28DsXD5LUxIo2P8Xmwwp6EFE4M_1fuUcz72PU0ajCEkBPpPM6FDZZ?purpose=fullsize

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

https://images.openai.com/static-rsc-4/-pzjzWEZX3zi30WZlzGPM5EXHEKRo6pVVQhbgL-frRLjaYuOcal7iVEDPG0HFSrE0F9dBRj4m-dKRiyJgjZZjQ9JJMnfKrS4KW4feZeE-my9CZIIqQjm8XXpx0pMRCaMONQ28wIoKWwktrYRL3Ovxv658OE4thqEDExIAGGEsot16ZtrzuShFKtD0Pqxh9xM?purpose=fullsize
https://images.openai.com/static-rsc-4/Axa1Z8Chwufq2P59nerAgxkz0-WXoohE1WsSZU4WmGEj7qPwy6UZbYPGxV7R9nSkwkfuFnQC_2pT-q-fLqKWlS0SNk9OLSrIW8iLSxJFDINoP3eRkHER8nzlX75Gk0ga0L-Cq1sjozEuCkKqkfJTCUTZkLO1OVXPUaKzl556_4BNvqzL-8pR0ncetqICujv0?purpose=fullsize
https://images.openai.com/static-rsc-4/2YcDYjsHC-QeyDCMZGlv1xMF31xv9r19z-Y8I8Yjl87Vs0YGzNR70v_Sg9RMHopNhUveCK_l0xdmp9ujyJXN0rDeGiKs42Muw9D1Kv_A3Vnnje28WLNY3lQVPci1c1_t3RIAgOIshga4ylSJm0320qoOgzrxKuyh4HLTLojety_GMxlQw8E0hrVUi1ULVppJ?purpose=fullsize

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

AspekPenilaian
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