Dalam bahasa pemrograman Python, struktur data set digunakan untuk menyimpan kumpulan data unik tanpa duplikasi. Set mirip dengan list atau tuple, namun memiliki perbedaan utama yaitu elemen-elemen di dalamnya tidak memiliki urutan dan tidak dapat diindeks.
Set sangat berguna ketika kita ingin menyimpan data yang unik, seperti daftar nama tanpa pengulangan, atau ketika kita ingin melakukan operasi himpunan seperti union, intersection, dan difference.
Cara Membuat Set di Python
Untuk membuat sebuah set, kita bisa menggunakan tanda kurung kurawal {} atau fungsi bawaan set(). Berikut contohnya:
# Membuat set dengan tanda kurung kurawal
buah = {"apel", "pisang", "jeruk"}
print(buah)
# Membuat set dari list
angka = set([1, 2, 3, 4, 4, 5])
print(angka)
Pada contoh di atas, meskipun angka 4 ditulis dua kali, set hanya menyimpannya satu kali karena elemen di dalam set harus unik.
Ciri-ciri Set di Python
- Set tidak memiliki urutan (unordered).
- Set tidak mendukung pengindeksan (unindexed).
- Set tidak boleh berisi elemen duplikat.
- Set bersifat mutable, artinya kita bisa menambah atau menghapus elemen.
Menambahkan Elemen ke Set
Untuk menambahkan elemen baru ke dalam set, gunakan metode add() atau update() jika ingin menambahkan beberapa elemen sekaligus.
buah = {"apel", "pisang"}
buah.add("jeruk")
print(buah)
# Menambahkan lebih dari satu elemen
buah.update(["mangga", "melon"])
print(buah)
Menghapus Elemen dari Set
Python menyediakan beberapa cara untuk menghapus elemen dari set:
remove()– Menghapus elemen tertentu, error jika elemen tidak ada.discard()– Menghapus elemen tanpa error jika tidak ditemukan.pop()– Menghapus elemen acak.clear()– Menghapus semua elemen.
buah = {"apel", "pisang", "jeruk", "mangga"}
buah.remove("jeruk")
print(buah)
buah.discard("nanas") # Tidak error walau tidak ada
print(buah)
buah.pop()
print(buah)
buah.clear()
print(buah)
Operasi Himpunan pada Set
Set mendukung operasi matematika himpunan seperti union (gabungan), intersection (irisan), difference (selisih), dan symmetric_difference (selisih simetris). Ini sangat berguna dalam analisis data.
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
print("Union:", A | B)
print("Intersection:", A & B)
print("Difference:", A - B)
print("Symmetric Difference:", A ^ B)
Penjelasan:
A | Bmenghasilkan semua elemen unik dari A dan B.A & Bmenghasilkan elemen yang sama di kedua set.A - Bmenghasilkan elemen yang hanya ada di A.A ^ Bmenghasilkan elemen yang ada di salah satu set tetapi tidak keduanya.
Perbedaan Set dan Frozenset
Selain set, Python juga memiliki frozenset yaitu versi immutable (tidak bisa diubah) dari set. Frozenset cocok digunakan sebagai kunci dictionary atau elemen dari set lain.
data = frozenset(["apel", "pisang", "jeruk"])
print(data)
# data.add("mangga") # Akan error karena tidak bisa diubah
Contoh Kasus: Menghapus Duplikasi dari List
Salah satu penggunaan paling umum dari set adalah untuk menghapus duplikasi pada list. Berikut contohnya:
angka = [1, 2, 2, 3, 4, 4, 5, 5]
unik = set(angka)
print(unik) # {1, 2, 3, 4, 5}
Jika kamu ingin mengembalikannya menjadi list lagi:
angka_unik = list(set(angka)) print(angka_unik)
Looping pada Set
Walaupun set tidak memiliki urutan, kita tetap bisa melakukan iterasi (looping) untuk membaca semua elemennya.
buah = {"apel", "pisang", "jeruk"}
for item in buah:
print(item)
Mengecek Keanggotaan Elemen
Kita bisa memeriksa apakah suatu elemen ada dalam set menggunakan operator in.
buah = {"apel", "pisang", "jeruk"}
print("apel" in buah)
print("mangga" not in buah)
Kesimpulan
Struktur data set di Python adalah alat yang sangat berguna untuk menangani kumpulan data unik tanpa duplikasi. Dengan dukungan operasi himpunan seperti union, intersection, dan difference, set membantu dalam analisis data dan manipulasi koleksi dengan efisien.
Gunakan set saat kamu membutuhkan kumpulan data tanpa elemen ganda, ingin menghapus duplikasi dari list, atau ingin melakukan operasi perbandingan antar kumpulan data. Memahami cara kerja set akan membantu kamu menulis kode Python yang lebih efisien dan bersih.