Chapter 10: Sets and Frozensets in Python

Kasus Nyata: Mengelola Jenis Teknologi Energi Keterbaruan Eco Techno Leader

Eco Techno Leader ingin mengelola daftar jenis teknologi energi keterbaruan yang unik, seperti panel surya, turbin angin, dll. Kita akan gunakan set untuk data unik dan frozenset untuk data yang gak boleh diubah.

Level Beginner: Membuat Set Sederhana

Set adalah kumpulan data unik (gak boleh duplikat).

teknologi_energi = {"panel surya", "turbin angin", "panel surya"}  # duplikat akan dihapus
print("Jenis teknologi energi:", teknologi_energi)

Hasil di Command Prompt:

Jenis teknologi energi: {'panel surya', 'turbin angin'}

Do: Gunakan set untuk data yang harus unik.

Don't: Jangan pake set kalau urutan data penting, soalnya set gak urut.

Level Intermediate: Operasi Set

Kita bandingkan teknologi yang digunakan di dua proyek.

teknologi_proyek1 = {"panel surya", "turbin angin"}
teknologi_proyek2 = {"turbin angin", "biomassa"}
teknologi_sama = teknologi_proyek1.intersection(teknologi_proyek2)
teknologi_semua = teknologi_proyek1.union(teknologi_proyek2)
print("Teknologi yang sama:", teknologi_sama)
print("Semua teknologi:", teknologi_semua)

Hasil di Command Prompt:

Teknologi yang sama: {'turbin angin'}
Semua teknologi: {'panel surya', 'turbin angin', 'biomassa'}

Do: Gunakan intersection() untuk data yang sama, dan union() untuk gabungkan data.

Don't: Jangan ubah set saat sedang diulang (misalnya, dalam for loop), soalnya bisa error.

Level Advanced: Frozenset untuk Data Tetap

Kita gunakan frozenset untuk teknologi standar yang gak boleh diubah.

teknologi_standar = frozenset(["panel surya", "turbin angin"])
teknologi_proyek = {"panel surya", "biomassa"}
teknologi_belum_standar = teknologi_proyek.difference(teknologi_standar)
print("Teknologi standar:", teknologi_standar)
print("Teknologi yang belum standar:", teknologi_belum_standar)

Hasil di Command Prompt:

Teknologi standar: frozenset({'panel surya', 'turbin angin'})
Teknologi yang belum standar: {'biomassa'}

Do: Gunakan frozenset untuk data yang gak boleh diubah sama sekali.

Don't: Jangan coba ubah frozenset (misalnya, dengan add()), soalnya akan error.

"Keunikan dalam setiap langkahmu adalah anugerah dari Tuhan. Teruslah belajar untuk menciptakan solusi yang bermanfaat! 🌞"