Di dunia Python, ada satu struktur data yang sangat unik, yang nggak suka dengan hal-hal yang duplikat. Ya, ini adalah Set! Bayangkan kamu sedang datang ke sebuah pesta, dan ada orang yang suka banget dengan konsep "tidak ada dua orang yang sama"—artinya, kalau ada orang yang datang ke pesta dan sudah ada di dalam, dia nggak akan diperbolehkan masuk lagi! Itulah yang terjadi di Set di Python—semuanya unik, nggak ada yang duplikat, dan dia nggak akan menerima dua hal yang sama.
1. Apa Itu Set? – Klub Khusus Tanpa Duplikat
Set itu seperti klub eksklusif di mana hanya ada satu orang untuk setiap nama. Kalau kamu sudah masuk ke klub ini, kamu nggak bisa masuk dua kali. Bahkan, jika kamu mencoba masuk dua kali, pintu akan tetap tertutup untukmu! Set hanya berisi elemen yang unik, dan duplikat? "No way!" kata Set.
Misalnya, kamu ingin membuat Set yang berisi angka-angka berikut:
angka = {1, 2, 3, 4, 5, 5, 4}
print(angka)
Output:
{1, 2, 3, 4, 5}
Lihat, meskipun kamu menambahkan angka 5 dan 4 dua kali, Set cuma mau satu angka itu saja! Set itu seperti pemilik klub yang dengan tegas bilang, "Satu kali cukup, kamu nggak bisa masuk lagi!"
2. Mengakses Elemen Set – Si Detektif Unik
Di Set, kamu tidak bisa mengakses elemen secara langsung menggunakan indeks. Set tidak suka dengan urutan—semuanya sama pentingnya! Jadi, kalau kamu ingin mencari elemen tertentu di Set, kamu harus menjadi seorang detektif yang teliti menggunakan perulangan (loop) atau operator in.
Misalnya, jika kamu ingin memeriksa apakah angka 3 ada di dalam Set:
if 3 in angka:
print("Angka 3 ada di Set!")
else:
print("Angka 3 tidak ada di Set!")
Output:
Angka 3 ada di Set!
Detektif Set berhasil menemukan angka 3, karena dalam Set, semua angka adalah sama pentingnya!
3. Menambah Elemen – Si Penerima Tamu
Meskipun Set tidak suka dengan duplikasi, dia tetap menerima tamu baru! Kamu bisa menambah elemen baru ke dalam Set kapan saja, seperti seorang penerima tamu yang siap menyambut orang baru.
angka.add(6)
print(angka)
Output:
{1, 2, 3, 4, 5, 6}
Lihat, angka 6 berhasil diterima dengan hangat di dalam Set, dan Set tetap menjaga agar tidak ada duplikasi!
4. Menghapus Elemen – Si Pembersih Klub
Terkadang, kamu mungkin ingin menghapus seorang tamu dari klub—misalnya, kalau tamu tersebut tidak sopan atau tidak sesuai dengan tema pesta! Di Set, kamu bisa menghapus elemen dengan dua cara: menggunakan remove() atau discard(). Bedanya, kalau kamu pakai remove() dan elemen yang ingin kamu hapus tidak ada, Python akan protes (membuat error). Tapi kalau pakai discard(), dia tetap tenang, bahkan kalau elemen tidak ada!
angka.remove(4)
print(angka)
Output:
{1, 2, 3, 5, 6}
Set dengan mudah menghapus angka 4, dan klub menjadi lebih rapi. Kalau kamu menggunakan discard() untuk menghapus angka yang sudah tidak ada, Python tidak akan marah!
angka.discard(7) # Tidak ada error meski 7 tidak ada
print(angka)
Output:
{1, 2, 3, 5, 6}
Tidak ada masalah! Set sangat chill tentang tamu yang sudah tidak ada!
5. Operasi Set – Si Penyatu dan Pemisah
Salah satu hal paling keren tentang Set adalah kemampuannya untuk melakukan operasi matematika seperti union (gabungan), intersection (irisan), dan difference (selisih). Ini seperti klub yang bisa bekerja sama dengan klub-klub lain atau membatasi keanggotaan hanya untuk yang benar-benar cocok!
- Union (Gabungan): Gabungkan dua Set dan dapatkan semua elemen tanpa duplikasi.
set_a = {1, 2, 3}
set_b = {3, 4, 5}
gabungan = set_a | set_b # Union menggunakan |
print(gabungan)
Output:
{1, 2, 3, 4, 5}
- Intersection (Irisan): Ambil elemen yang ada di kedua Set.
irisan = set_a & set_b # Intersection menggunakan &
print(irisan)
Output:
{3}
- Difference (Selisih): Ambil elemen yang hanya ada di Set pertama.
selisih = set_a - set_b # Difference menggunakan -
print(selisih)
Output:
{1, 2}
Lihat, Set bisa bekerja dengan sangat baik untuk menggabungkan atau membandingkan dua kelompok—seperti mengadakan pesta gabungan antara dua klub yang memiliki beberapa anggota yang sama dan beberapa yang berbeda!
6. Set dan Immutability – Si Klub yang Tidak Dapat Diubah
Sekali kamu membuat Set, kamu bisa menambah elemen, tetapi Set itu sendiri tidak bisa diubah menjadi Set lain yang berisi elemen berbeda. Maksudnya, Set itu seperti sebuah klub yang punya aturan ketat: setelah kamu menjadi anggota, kamu tetap jadi anggota klub yang sama—kamu nggak bisa secara tiba-tiba pindah ke klub yang berbeda!
Namun, ada yang namanya frozenset—yaitu versi Set yang immutable. Jadi, frozenset ini seperti klub eksklusif yang tidak pernah menerima perubahan.
frozen_angka = frozenset([1, 2, 3, 4])
print(frozen_angka)
Output:
frozenset({1, 2, 3, 4})
FrozenSet nggak bisa diubah! Kalau kamu coba menambah atau menghapus elemen, Python akan memberikan protes keras!
frozen_angka.add(5) # Ini bakal error!
Error:
AttributeError: 'frozenset' object has no attribute 'add'
FrozenSet itu seperti klub yang nggak mau ada yang mengubah anggotanya setelah daftar—begitu kamu masuk, kamu sudah jadi anggota tetap!
7. Set dalam Fungsi – Si Pembawa Hadiah
Sama seperti dictionary, kamu juga bisa mengembalikan Set dari sebuah fungsi! Jadi, jika kamu ingin memberikan sekumpulan hadiah untuk orang yang berbeda, kamu bisa gunakan Set untuk menyimpannya!
def cari_unik(angka_list):
return set(angka_list)
angka_list = [1, 2, 3, 3, 4, 5, 1]
hasil = cari_unik(angka_list)
print(hasil)
Output:
{1, 2, 3, 4, 5}
Fungsi ini akan memastikan bahwa tidak ada angka yang duplikat di dalam Set!
Kesimpulan – Klub Eksklusif Python:
- Set adalah koleksi elemen yang unik, nggak ada duplikat di dalamnya.
- Kamu bisa menambah dan menghapus elemen dengan mudah, tetapi Set nggak suka dengan hal-hal yang duplikat.
- Set memiliki kemampuan untuk melakukan operasi matematika seperti union, intersection, dan difference.
- FrozenSet adalah versi Set yang immutable, jadi kalau kamu butuh klub yang nggak bisa diubah, pilih yang ini!
- Set adalah pilihan yang tepat kalau kamu membutuhkan koleksi elemen yang unik dan bebas duplikasi!
Jadi, kalau kamu ingin menghindari masalah duplikasi dalam kode Pythonmu, dan hanya ingin menyimpan data yang unik, Set adalah pilihan yang sempurna!
0 Comments