Chapter 10: Modul, Bikin Proyek Lebih Teratur! 📦

"Modul itu kayak kotak penyimpanan, bikin proyek kita teratur dan gampang dikelola! 📦✨"
Doa: "Ya Tuhan, bantu kami mengatur proyek coding dengan rapi biar lebih efisien. Aamiin. 🙏"

Di chapter ini, kita bakal belajar tentang modul di Python, biar proyek kita lebih teratur dan gampang dikelola. Kita pake variabel (Chapter 2), operasi (Chapter 3), input (Chapter 4), pengkondisian (Chapter 5), perulangan (Chapter 6), list (Chapter 7), dictionary (Chapter 8), fungsi (Chapter 9), dan print (Chapter 1). Yuk, kita bikin modul bareng Arry Hutomo! 🚀

Catatan:

Untuk chapter ini, kita akan simulasi modul sebagai kode dalam satu file HTML, tapi dalam praktik aslinya, kamu harus pisah kode ke file Python terpisah (misalnya lingkungan.py) dan impor ke file utama. Karena kita di lingkungan ini, aku bakal tulis semua kode dalam satu tempat, tapi aku jelasin cara impornya.

Contoh Query Python: Modul buat Isu Lingkungan 🌍

1. Modul Sederhana dengan Fungsi (Super Gampang)

# Simulasi file lingkungan.py
def tanam_pohon():
    print("Arry Hutomo tanam pohon!")

# File utama
# import lingkungan  # Dalam praktik, ini impor modul
tanam_pohon()  # Memanggil fungsi dari modul

Output:

Arry Hutomo tanam pohon!

Penjelasan Output: Outputnya "Arry Hutomo tanam pohon!" karena kita panggil fungsi tanam_pohon() yang seharusnya ada di modul lingkungan. Fungsi ini cuma nampilin pesan pake print().

Penjelasan Query: Aku bikin query ini sederhana buat kenalin konsep modul. Dalam praktik, kamu harus buat file terpisah bernama lingkungan.py, isi dengan fungsi tanam_pohon, trus impor pake import lingkungan di file utama. Tema tanam pohon dipilih karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul, dan gampang diinget karena mirip kayak nyimpan alat di kotak! Yuk, coba di VSCode, pasti langsung bisa! 🌱

2. Modul dengan Fungsi dan Parameter (Gampang)

# Simulasi file lingkungan.py
def tanam_pohon(jenis):
    print(f"Arry Hutomo tanam pohon {jenis}!")

# File utama
# import lingkungan
tanam_pohon("Mangrove")

Output:

Arry Hutomo tanam pohon Mangrove!

Penjelasan Output: Outputnya "Arry Hutomo tanam pohon Mangrove!" karena kita panggil fungsi tanam_pohon("Mangrove") yang seharusnya ada di modul lingkungan. Fungsi nerima parameter jenis dan nampilin pesan.

Penjelasan Query: Aku bikin query ini buat nunjukin cara pake fungsi dengan parameter dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py, dan kita impor modulnya. Aku pilih parameter "Mangrove" biar realistis. Tema tanam pohon dipilih karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake fungsi dari modul, dan gampang diinget karena mirip kayak nyanyi lagu dari playlist! Coba di VSCode, gampang kok! 🌳

3. Modul dengan Fungsi dan Return (Gampang)

# Simulasi file lingkungan.py
def hitung_pohon(jumlah):
    return jumlah + 5

# File utama
# import lingkungan
hasil = hitung_pohon(10)
print(f"Arry Hutomo tanam {hasil} pohon!")

Output:

Arry Hutomo tanam 15 pohon!

Penjelasan Output: Outputnya "Arry Hutomo tanam 15 pohon!" karena kita panggil fungsi hitung_pohon(10) dari modul, yang nambah 5 ke parameter (10 + 5 = 15), trus simpen hasilnya dan tampilin.

Penjelasan Query: Aku bikin query ini buat nunjukin cara pake fungsi dengan return dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih fungsi hitung_pohon dengan parameter jumlah, dan tema tanam pohon karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake fungsi yang ngasih output dari modul, dan gampang diinget karena mirip kayak pake kalkulator dari kotak alat! Coba di VSCode, gampang kok! 🌳

4. Modul dengan Impor Spesifik (Masih Gampang)

# Simulasi file lingkungan.py
def tanam_pohon():
    print("Arry Hutomo tanam pohon!")

# File utama
# from lingkungan import tanam_pohon  # Impor spesifik
tanam_pohon()

Output:

Arry Hutomo tanam pohon!

Penjelasan Output: Outputnya "Arry Hutomo tanam pohon!" karena kita panggil fungsi tanam_pohon() yang diimpor spesifik dari modul lingkungan pake from ... import.

Penjelasan Query: Aku bikin query ini buat nunjukin cara impor spesifik pake from ... import. Dalam praktik, kita cuma impor fungsi tanam_pohon dari file lingkungan.py, jadi ga perlu tulis nama modul pas manggil. Tema tanam pohon dipilih karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara impor spesifik, dan gampang diinget karena mirip kayak ambil alat spesifik dari kotak! Coba di VSCode, gampang kok! 🌳

5. Modul dengan Input (Mulai Agak Menantang)

# Simulasi file lingkungan.py
def tanam_pohon(jenis):
    print(f"Arry Hutomo tanam pohon {jenis}!")

# File utama
# from lingkungan import tanam_pohon
pohon = input("Masukkan jenis pohon: ")
tanam_pohon(pohon)

Output (misalnya user masukkan "Mangrove"):

Masukkan jenis pohon: Mangrove
Arry Hutomo tanam pohon Mangrove!

Penjelasan Output: Outputnya dimulai dengan prompt "Masukkan jenis pohon: ", user masukin "Mangrove", trus kita panggil fungsi tanam_pohon() dari modul dengan input user.

Penjelasan Query: Aku bikin query ini buat gabungin input() sama fungsi dari modul, biar kamu paham cara bikin fungsi interaktif yang diimpor. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul interaktif, dan gampang diinget karena mirip kayak ngasih perintah ke robot dari kotak alat! Coba di VSCode, gampang kok! 🌳

6. Modul dengan For Loop (Agak Menantang)

# Simulasi file lingkungan.py
def tanam_banyak(jumlah):
    for i in range(jumlah):
        print("Arry Hutomo tanam pohon!")

# File utama
# from lingkungan import tanam_banyak
tanam_banyak(3)

Output:

Arry Hutomo tanam pohon!
Arry Hutomo tanam pohon!
Arry Hutomo tanam pohon!

Penjelasan Output: Outputnya mencetak "Arry Hutomo tanam pohon!" tiga kali karena kita panggil fungsi tanam_banyak(3) dari modul, yang pake for loop untuk ulang 3 kali.

Penjelasan Query: Aku bikin query ini buat gabungin fungsi dari modul sama for loop, biar kamu paham cara pake fungsi yang ngulang dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul yang ngulang, dan gampang diinget karena mirip kayak nyanyi lagu dari playlist! Coba di VSCode, gampang kok! 🌳

7. Modul dengan While Loop (Agak Menantang)

# Simulasi file lingkungan.py
def daur_ulang_sampah(berat):
    i = 0
    while i < berat:
        print("Arry Hutomo daur ulang 1 kg!")
        i = i + 1

# File utama
# from lingkungan import daur_ulang_sampah
daur_ulang_sampah(3)

Output:

Arry Hutomo daur ulang 1 kg!
Arry Hutomo daur ulang 1 kg!
Arry Hutomo daur ulang 1 kg!

Penjelasan Output: Outputnya mencetak "Arry Hutomo daur ulang 1 kg!" tiga kali karena kita panggil fungsi daur_ulang_sampah(3) dari modul, yang pake while loop untuk ulang 3 kali.

Penjelasan Query: Aku bikin query ini buat gabungin fungsi dari modul sama while loop, biar kamu paham cara pake fungsi yang ngulang berdasarkan kondisi dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema daur ulang karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul yang ngulang, dan gampang diinget karena mirip kayak ngitung sisa sampah dari kotak alat! Coba di VSCode, gampang kok! ♻️

8. Modul dengan If-Else (Menantang)

# Simulasi file lingkungan.py
def cek_pohon(jumlah):
    if jumlah > 7:
        print(f"Arry Hutomo tanam {jumlah} pohon, banyak!")
    else:
        print(f"Arry Hutomo tanam {jumlah} pohon, tambah lagi!")

# File utama
# from lingkungan import cek_pohon
cek_pohon(10)

Output:

Arry Hutomo tanam 10 pohon, banyak!

Penjelasan Output: Outputnya "Arry Hutomo tanam 10 pohon, banyak!" karena kita panggil fungsi cek_pohon(10) dari modul, yang cek jumlah > 7 dan masuk ke blok if.

Penjelasan Query: Aku bikin query ini buat gabungin fungsi dari modul sama if-else, biar kamu paham cara pake fungsi dengan keputusan dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul dengan keputusan, dan gampang diinget karena mirip kayak pake alat cerdas dari kotak! Coba di VSCode, gampang kok! 🌳

9. Modul dengan Input dan For Loop (Menantang)

# Simulasi file lingkungan.py
def tanam_banyak(jumlah):
    for i in range(jumlah):
        print(f"Arry Hutomo tanam pohon ke-{i+1}!")

# File utama
# from lingkungan import tanam_banyak
jumlah = int(input("Masukkan jumlah pohon: "))
tanam_banyak(jumlah)

Output (misalnya user masukkan 3):

Masukkan jumlah pohon: 3
Arry Hutomo tanam pohon ke-1!
Arry Hutomo tanam pohon ke-2!
Arry Hutomo tanam pohon ke-3!

Penjelasan Output: Outputnya dimulai dengan prompt "Masukkan jumlah pohon: ", user masukin 3, trus kita panggil fungsi tanam_banyak() dari modul, yang ulang 3 kali pake for loop.

Penjelasan Query: Aku bikin query ini buat gabungin input(), for loop, dan fungsi dari modul, biar kamu paham cara bikin fungsi interaktif yang ngulang dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul interaktif yang ngulang, dan gampang diinget karena mirip kayak nyanyi lagu sesuai jumlah dari playlist! Coba di VSCode, gampang kok! 🌳

10. Modul dengan List dan Return (Agak Sulit)

# Simulasi file lingkungan.py
def hitung_total_pohon(pohon_list):
    total = 0
    for jumlah in pohon_list:
        total = total + jumlah
    return total

# File utama
# from lingkungan import hitung_total_pohon
pohon_list = [10, 5, 8]
hasil = hitung_total_pohon(pohon_list)
print(f"Arry Hutomo tanam {hasil} pohon!")

Output:

Arry Hutomo tanam 23 pohon!

Penjelasan Output: Outputnya "Arry Hutomo tanam 23 pohon!" karena kita panggil fungsi hitung_total_pohon() dari modul dengan list [10, 5, 8]. Fungsi jumlahkan elemen dan kembalikan total 23.

Penjelasan Query: Aku bikin query ini buat gabungin fungsi dari modul sama list dan return, biar kamu paham cara pake fungsi yang ngolah list dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul yang ngolah list, dan gampang diinget karena mirip kayak njumlahin daftar belanja dari kotak alat! Coba di VSCode, gampang kok! 🌳

11. Modul dengan Dictionary dan Return (Agak Sulit)

# Simulasi file lingkungan.py
def hitung_total_sampah(berat_dict):
    total = 0
    for berat in berat_dict.values():
        total = total + berat
    return total

# File utama
# from lingkungan import hitung_total_sampah
berat_dict = {"Plastik": 5.5, "Kertas": 3.0, "Organik": 2.5}
hasil = hitung_total_sampah(berat_dict)
print(f"Arry Hutomo daur ulang {hasil} kg!")

Output:

Arry Hutomo daur ulang 11.0 kg!

Penjelasan Output: Outputnya "Arry Hutomo daur ulang 11.0 kg!" karena kita panggil fungsi hitung_total_sampah() dari modul dengan dictionary {"Plastik": 5.5, "Kertas": 3.0, "Organik": 2.5}. Fungsi jumlahkan nilai dan kembalikan total 11.0.

Penjelasan Query: Aku bikin query ini buat gabungin fungsi dari modul sama dictionary dan return, biar kamu paham cara pake fungsi yang ngolah dictionary dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema daur ulang karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul yang ngolah dictionary, dan gampang diinget karena mirip kayak njumlahin catatan dari kotak alat! Coba di VSCode, gampang kok! ♻️

12. Modul dengan If-Else dan List (Sulit)

# Simulasi file lingkungan.py
def cek_pohon_list(pohon_list):
    for jumlah in pohon_list:
        if jumlah > 7:
            print(f"Arry Hutomo tanam {jumlah} pohon, banyak!")
        else:
            print(f"Arry Hutomo tanam {jumlah} pohon, tambah lagi!")

# File utama
# from lingkungan import cek_pohon_list
pohon_list = [10, 5, 8]
cek_pohon_list(pohon_list)

Output:

Arry Hutomo tanam 10 pohon, banyak!
Arry Hutomo tanam 5 pohon, tambah lagi!
Arry Hutomo tanam 8 pohon, banyak!

Penjelasan Output: Outputnya mencetak tiga baris karena kita panggil fungsi cek_pohon_list() dari modul dengan list [10, 5, 8]. Fungsi iterasi list, cek tiap elemen: kalo > 7, cetak "banyak"; kalo ga, cetak "tambah lagi".

Penjelasan Query: Aku bikin query ini buat gabungin fungsi dari modul, list, for loop, dan if-else, biar kamu paham cara pake fungsi dengan keputusan yang ngolah list dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema tanam pohon karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul dengan keputusan, dan gampang diinget karena mirip kayak ngecek daftar dari kotak alat! Coba di VSCode, gampang kok! 🌳

13. Modul dengan Dictionary, While Loop, dan Return (Sulit)

# Simulasi file lingkungan.py
def hitung_sampah_dict(berat_dict):
    keys = list(berat_dict.keys())
    i = 0
    total = 0
    while i < len(keys):
        total = total + berat_dict[keys[i]]
        i = i + 1
    return total

# File utama
# from lingkungan import hitung_sampah_dict
berat_dict = {"Plastik": 5.5, "Kertas": 3.0, "Organik": 2.5}
hasil = hitung_sampah_dict(berat_dict)
print(f"Arry Hutomo daur ulang {hasil} kg!")

Output:

Arry Hutomo daur ulang 11.0 kg!

Penjelasan Output: Outputnya "Arry Hutomo daur ulang 11.0 kg!" karena kita panggil fungsi hitung_sampah_dict() dari modul dengan dictionary {"Plastik": 5.5, "Kertas": 3.0, "Organik": 2.5}. Fungsi jumlahkan nilai pake while loop dan kembalikan total 11.0.

Penjelasan Query: Aku bikin query ini buat gabungin fungsi dari modul, dictionary, while loop, dan return, biar kamu paham cara pake fungsi yang ngolah dictionary pake indeks dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema daur ulang karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul yang ngolah dictionary, dan gampang diinget karena mirip kayak njumlahin catatan dari kotak alat! Coba di VSCode, gampang kok! ♻️

14. Modul dengan Input, If-Else, dan Chapter 1 (Lebih Sulit)

# Simulasi file lingkungan.py
def cek_donasi(jumlah):
    if jumlah > 150000:
        print(f"Arry Hutomo donasi Rp {jumlah}!\nBanyak ", "buat komunitas!", sep="=>", end="")
        print("yuk!")
    else:
        print(f"Arry Hutomo donasi Rp {jumlah}!\nTambah ", "buat komunitas!", sep="=>", end="")
        print("yuk!")

# File utama
# from lingkungan import cek_donasi
donasi = int(input("Masukkan jumlah donasi (Rp): "))
cek_donasi(donasi)

Output (misalnya user masukkan 200000):

Masukkan jumlah donasi (Rp): 200000
Arry Hutomo donasi Rp 200000!
Banyak =>buat komunitas!yuk!

Penjelasan Output: Outputnya dimulai dengan prompt "Masukkan jumlah donasi (Rp): ", user masukin 200000, trus kita panggil fungsi cek_donasi() dari modul. Fungsi cek jumlah > 150000, masuk ke blok if, dan cetak pesan dengan format sep dan end.

Penjelasan Query: Aku bikin query ini buat gabungin input(), fungsi dari modul, if-else, dan \n, sep, end, biar kamu paham cara pake fungsi interaktif dengan keputusan dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema donasi karena Arry Hutomo peduli sosial, sesuai isu sosial. Struktur ini bikin kamu paham cara pake modul interaktif, dan gampang diinget karena mirip kayak ngecek donasi dari kotak alat! Coba di VSCode, gampang kok! 💸

15. Semua Digabung (Paling Sulit)

# Simulasi file lingkungan.py
def hitung_dan_cek_sampah(berat_dict):
    total = 0
    i = 0
    keys = list(berat_dict.keys())
    while i < len(keys):
        jenis = keys[i]
        total = total + berat_dict[jenis]
        if total > 10:
            print(f"Arry Hutomo daur ulang {total} kg!\nCukup ", f"{jenis} banyak!", sep="=>", end="")
            print("yuk!")
        else:
            print(f"Arry Hutomo daur ulang {total} kg!\nTambah ", f"{jenis} kurang!", sep="=>", end="")
            print("yuk!")
        i = i + 1
    return total

# File utama
# from lingkungan import hitung_dan_cek_sampah
berat_dict = {}
for i in range(3):
    jenis = input(f"Masukkan jenis sampah ke-{i+1}: ")
    berat = float(input(f"Masukkan berat {jenis} (kg): "))
    berat_dict[jenis] = berat
hasil = hitung_dan_cek_sampah(berat_dict)
print(f"Total akhir: {hasil} kg!")

Output (misalnya user masukkan "Plastik", 5.5, "Kertas", 3.0, "Organik", 2.5):

Masukkan jenis sampah ke-1: Plastik
Masukkan berat Plastik (kg): 5.5
Masukkan jenis sampah ke-2: Kertas
Masukkan berat Kertas (kg): 3.0
Masukkan jenis sampah ke-3: Organik
Masukkan berat Organik (kg): 2.5
Arry Hutomo daur ulang 5.5 kg!
Tambah =>Plastik kurang!yuk!
Arry Hutomo daur ulang 8.5 kg!
Tambah =>Kertas kurang!yuk!
Arry Hutomo daur ulang 11.0 kg!
Cukup =>Organik banyak!yuk!
Total akhir: 11.0 kg!

Penjelasan Output: Outputnya dimulai dengan tiga prompt: user masukin "Plastik", 5.5, "Kertas", 3.0, "Organik", 2.5. Dictionary berat_dict diisi, trus kita panggil fungsi hitung_dan_cek_sampah() dari modul. Fungsi jumlahkan nilai, cek total > 10, dan cetak pesan dengan format. Terakhir, tampilin total akhir.

Penjelasan Query: Aku bikin query ini buat gabungin semua konsep: input(), for loop, while loop, dictionary, operasi +, if-else, return, plus \n, sep, dan end, biar kamu paham cara pake fungsi kompleks dari modul. Dalam praktik, fungsi ini ada di file lingkungan.py. Aku pilih tema daur ulang karena Arry Hutomo peduli lingkungan, sesuai isu lingkungan. Struktur ini bikin kamu paham cara pake modul canggih, dan gampang diinget karena mirip kayak bikin laporan dari kotak alat! Coba di VSCode, bakal bangga sama hasilnya! ♻️

Do and Don'ts

"Setiap modul yang kamu buat adalah langkah menuju proyek yang lebih teratur! 🚀✨"
Doa: "Ya Tuhan, bantu kami terus belajar coding dengan semangat. Aamiin. 🙏"

✨ Sharing oleh Arry Hutomo dan ECC Team ✨