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