Dalam Python, set merupakan struktur data yang digunakan untuk menyimpan koleksi elemen unik. Tidak seperti list atau tuple, set tidak memperhatikan urutan elemen dan tidak mengizinkan duplikasi. Setelah memahami dasar pembuatan set pada artikel sebelumnya, kali ini kita akan mempelajari operasi pada set yaitu union, intersection, dan difference.
Apa Itu Set di Python?
Set di Python digunakan untuk mengelola data yang bersifat unik. Elemen di dalam set bisa berupa angka, string, atau kombinasi keduanya. Berikut contoh dasar pembuatan set:
# Membuat set sederhana
buah = {"apel", "jeruk", "mangga", "apel"}
print(buah) # Output: {'apel', 'jeruk', 'mangga'}
Pada contoh di atas, elemen 'apel' hanya muncul sekali meskipun ditulis dua kali, karena set secara otomatis menghapus duplikasi.
1. Operasi Union (Gabungan)
Operasi union digunakan untuk menggabungkan dua set dan mengembalikan semua elemen unik dari keduanya. Dalam Python, operasi ini dapat dilakukan dengan operator | atau metode union().
# Contoh Union
setA = {1, 2, 3, 4}
setB = {3, 4, 5, 6}
# Menggunakan operator |
gabungan = setA | setB
print("Union (|):", gabungan)
# Menggunakan method union()
gabungan2 = setA.union(setB)
print("Union (method):", gabungan2)
Output:
Union (|): {1, 2, 3, 4, 5, 6}
Union (method): {1, 2, 3, 4, 5, 6}
Baik operator | maupun metode union() menghasilkan hasil yang sama, yaitu menggabungkan semua elemen tanpa duplikasi.
2. Operasi Intersection (Irisan)
Operasi intersection digunakan untuk mendapatkan elemen yang ada di kedua set. Dalam Python, dapat dilakukan dengan operator & atau metode intersection().
# Contoh Intersection
setA = {1, 2, 3, 4}
setB = {3, 4, 5, 6}
# Menggunakan operator &
irisan = setA & setB
print("Intersection (&):", irisan)
# Menggunakan method intersection()
irisan2 = setA.intersection(setB)
print("Intersection (method):", irisan2)
Output:
Intersection (&): {3, 4}
Intersection (method): {3, 4}
Hasilnya adalah elemen yang sama di kedua set, yaitu 3 dan 4.
3. Operasi Difference (Selisih)
Operasi difference digunakan untuk mencari elemen yang ada di set pertama tapi tidak ada di set kedua. Dapat dilakukan dengan operator - atau metode difference().
# Contoh Difference
setA = {1, 2, 3, 4}
setB = {3, 4, 5, 6}
# Menggunakan operator -
selisih = setA - setB
print("Difference (A - B):", selisih)
# Menggunakan method difference()
selisih2 = setA.difference(setB)
print("Difference (method):", selisih2)
Output:
Difference (A - B): {1, 2}
Difference (method): {1, 2}
Artinya, hanya elemen 1 dan 2 yang ada di setA dan tidak ada di setB.
4. Operasi Difference Symmetric (Selisih Simetris)
Selain tiga operasi utama di atas, Python juga memiliki symmetric difference yang mengembalikan elemen yang ada di salah satu set, tetapi tidak di keduanya. Dapat dilakukan dengan operator ^ atau metode symmetric_difference().
# Contoh Symmetric Difference
setA = {1, 2, 3, 4}
setB = {3, 4, 5, 6}
# Menggunakan operator ^
simetris = setA ^ setB
print("Symmetric Difference (^):", simetris)
# Menggunakan method symmetric_difference()
simetris2 = setA.symmetric_difference(setB)
print("Symmetric Difference (method):", simetris2)
Output:
Symmetric Difference (^): {1, 2, 5, 6}
Symmetric Difference (method): {1, 2, 5, 6}
Operasi ini berguna untuk mencari elemen yang hanya muncul di salah satu set, tetapi tidak keduanya.
5. Menggunakan Update untuk Memodifikasi Set
Python juga menyediakan metode untuk memperbarui set secara langsung tanpa membuat variabel baru. Beberapa metode yang bisa digunakan antara lain:
update()— memperbarui set dengan hasil unionintersection_update()— memperbarui set dengan hasil intersectiondifference_update()— memperbarui set dengan hasil differencesymmetric_difference_update()— memperbarui set dengan hasil symmetric difference
setA = {1, 2, 3, 4}
setB = {3, 4, 5, 6}
setA.update(setB)
print("Update (Union):", setA)
setA = {1, 2, 3, 4}
setA.intersection_update(setB)
print("Update (Intersection):", setA)
Output:
Update (Union): {1, 2, 3, 4, 5, 6}
Update (Intersection): {3, 4}
Kesimpulan
Operasi pada set di Python sangat penting untuk pengolahan data yang memerlukan keunikan dan logika himpunan, seperti menghitung data yang sama, menggabungkan daftar tanpa duplikasi, atau mencari elemen yang berbeda antara dua kumpulan data.
Berikut ringkasan operasi set di Python:
| Operasi | Operator | Metode |
|---|---|---|
| Union | | | union() |
| Intersection | & | intersection() |
| Difference | – | difference() |
| Symmetric Difference | ^ | symmetric_difference() |
Dengan memahami seluruh operasi ini, Anda dapat memanfaatkan kekuatan set Python untuk berbagai kasus, mulai dari analisis data hingga pengolahan logika kompleks dalam program Anda.