Skip to main content

Set Methods - Operasi Himpunan

Pada materi sebelumnya, kita telah mempelajari konsep dasar Set, seperti membuat Set, menambahkan data, menghapus data, dan menghilangkan duplikat.

Set juga memiliki berbagai method yang dapat digunakan untuk melakukan operasi himpunan, seperti:

  • Selisih (difference).
  • Irisan (intersection).
  • Gabungan (union).
  • Subset.
  • Superset.
  • Memeriksa apakah dua Set saling terpisah.

Konsep ini sangat mirip dengan operasi himpunan dalam matematika.


1. Difference

Method .difference() digunakan untuk mencari elemen yang terdapat pada Set pertama tetapi tidak terdapat pada Set kedua.

Secara matematika, operasi ini dapat ditulis sebagai:

A - B

Contohnya:

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8}

result = my_set.difference(your_set)

print(result)

Hasil:

{1, 2, 3}

Artinya:

my_set
1 2 3 4 5

your_set
4 5 6 7 8

Perbedaan:
1 2 3

.difference() menghasilkan Set baru dan tidak mengubah Set asli.


2. Arah Difference

Operasi difference bergantung pada posisi Set.

Contohnya:

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8}

print(my_set.difference(your_set))
print(your_set.difference(my_set))

Hasil:

{1, 2, 3}
{6, 7, 8}

Jadi:

my_set.difference(your_set)

berbeda dengan:

your_set.difference(my_set)

3. .discard()

Method .discard() digunakan untuk menghapus elemen tertentu dari Set.

Contohnya:

my_set = {1, 2, 3, 4, 5}

my_set.discard(5)

print(my_set)

Hasil:

{1, 2, 3, 4}

.discard() bekerja secara in-place, sehingga Set asli berubah.


4. .discard() Jika Elemen Tidak Ada

Salah satu kelebihan .discard() adalah tidak menghasilkan error jika elemen yang ingin dihapus tidak terdapat di dalam Set.

Contohnya:

my_set = {1, 2, 3}

my_set.discard(10)

print(my_set)

Hasil:

{1, 2, 3}

Tidak terjadi error.

Hal ini berbeda dengan beberapa operasi penghapusan lain yang dapat menghasilkan error jika elemen tidak ditemukan.


5. .difference_update()

Method .difference_update() digunakan untuk menghapus elemen yang terdapat pada Set lain dari Set saat ini.

Contohnya:

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8}

my_set.difference_update(your_set)

print(my_set)

Hasil:

{1, 2, 3}

Berbeda dengan .difference(), method ini mengubah Set asli.


6. Perbedaan .difference() dan .difference_update()

MethodHasilMengubah Set Asli
.difference()Set baruTidak
.difference_update()Tidak menghasilkan Set baruYa

Contohnya:

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5}

result = my_set.difference(your_set)

print(result)
print(my_set)

Hasil:

{1, 2, 3}
{1, 2, 3, 4, 5}

Set asli tetap.

Sedangkan:

my_set.difference_update(your_set)

akan mengubah my_set.


7. Intersection

Intersection digunakan untuk mencari elemen yang terdapat pada kedua Set.

Secara matematika:

A ∩ B

Contohnya:

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8}

result = my_set.intersection(your_set)

print(result)

Hasil:

{4, 5}

Angka 4 dan 5 terdapat pada kedua Set.


8. Operator Intersection &

Selain menggunakan .intersection(), kita dapat menggunakan operator:

&

Contohnya:

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8}

print(my_set & your_set)

Hasil:

{4, 5}

Kedua bentuk berikut memiliki tujuan yang sama:

my_set.intersection(your_set)

dan:

my_set & your_set

9. isdisjoint()

Method .isdisjoint() digunakan untuk memeriksa apakah dua Set tidak memiliki elemen yang sama.

Hasilnya berupa Boolean:

True

atau:

False

Contohnya:

my_set = {1, 2, 3}
your_set = {4, 5, 6}

print(my_set.isdisjoint(your_set))

Hasil:

True

Karena tidak ada elemen yang sama.


10. isdisjoint() Jika Ada Elemen yang Sama

my_set = {1, 2, 3}
your_set = {3, 4, 5}

print(my_set.isdisjoint(your_set))

Hasil:

False

Karena kedua Set memiliki elemen yang sama:

3

11. Union

Union digunakan untuk menggabungkan seluruh elemen dari dua Set.

Secara matematika:

A ∪ B

Duplikat akan otomatis dihilangkan.

Contohnya:

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8}

result = my_set.union(your_set)

print(result)

Hasil:

{1, 2, 3, 4, 5, 6, 7, 8}

Angka 4 dan 5 tidak muncul dua kali karena Set hanya menyimpan nilai unik.


12. Operator Union |

Selain menggunakan .union(), kita dapat menggunakan operator:

|

Contohnya:

my_set = {1, 2, 3}
your_set = {3, 4, 5}

print(my_set | your_set)

Hasil:

{1, 2, 3, 4, 5}

Kedua bentuk berikut memiliki fungsi yang sama:

my_set.union(your_set)

dan:

my_set | your_set

13. Subset

Subset digunakan untuk memeriksa apakah semua elemen sebuah Set terdapat di dalam Set lainnya.

Method yang digunakan:

.issubset()

Contohnya:

my_set = {4, 5}
your_set = {4, 5, 6, 7, 8}

print(my_set.issubset(your_set))

Hasil:

True

Karena semua elemen my_set terdapat di dalam your_set.

Secara konsep:

my_set ⊆ your_set

14. Contoh Subset yang False

my_set = {4, 5, 10}
your_set = {4, 5, 6, 7, 8}

print(my_set.issubset(your_set))

Hasil:

False

Karena elemen 10 tidak terdapat di dalam your_set.


15. Superset

Superset merupakan kebalikan dari Subset.

Method yang digunakan:

.issuperset()

Method ini memeriksa apakah sebuah Set memiliki seluruh elemen dari Set lainnya.

Contohnya:

my_set = {4, 5}
your_set = {4, 5, 6, 7, 8}

print(your_set.issuperset(my_set))

Hasil:

True

Karena your_set memiliki semua elemen yang terdapat di my_set.


16. Perbedaan Subset dan Superset

Misalnya:

A = {1, 2}
B = {1, 2, 3, 4}

Maka:

A adalah subset dari B
B adalah superset dari A

Dalam Python:

print(A.issubset(B))

Hasil:

True

Sedangkan:

print(B.issuperset(A))

Hasil:

True

17. Ringkasan Operasi Set

OperasiMethodOperatorFungsi
Difference.difference()-Mencari perbedaan
Difference Update.difference_update()-Menghapus perbedaan dari Set asli
Intersection.intersection()&Mencari elemen yang sama
Union.union()``
Disjoint.isdisjoint()-Memeriksa apakah tidak ada elemen yang sama
Subset.issubset()<=Memeriksa apakah Set merupakan bagian dari Set lain
Superset.issuperset()>=Memeriksa apakah Set mencakup Set lain

18. Contoh Lengkap

my_set = {1, 2, 3, 4, 5}
your_set = {4, 5, 6, 7, 8}

# Difference
print(my_set.difference(your_set))

# Intersection
print(my_set.intersection(your_set))

# Union
print(my_set.union(your_set))

# Disjoint
print(my_set.isdisjoint(your_set))

# Subset
small_set = {4, 5}
print(small_set.issubset(your_set))

# Superset
print(your_set.issuperset(small_set))

Hasil secara konsep:

{1, 2, 3}
{4, 5}
{1, 2, 3, 4, 5, 6, 7, 8}
False
True
True

19. Gambaran Operasi Himpunan

Misalnya terdapat dua Set:

A = {1, 2, 3, 4}
B = {3, 4, 5, 6}

Difference

A - B = {1, 2}

Intersection

A ∩ B = {3, 4}

Union

A ∪ B = {1, 2, 3, 4, 5, 6}

Konsep ini sangat berguna ketika bekerja dengan data yang membutuhkan perbandingan antar kelompok.


20. Contoh Penggunaan dalam Pemrograman

Misalnya kita ingin mengetahui mata kuliah yang diambil oleh dua mahasiswa.

student_a = {
"Python",
"Database",
"Networking"
}

student_b = {
"Python",
"Cybersecurity",
"Networking"
}

Mata Kuliah yang Sama

print(student_a & student_b)

Hasil:

{"Python", "Networking"}

Mata Kuliah yang Hanya Diambil Mahasiswa A

print(student_a - student_b)

Hasil:

{"Database"}

Semua Mata Kuliah

print(student_a | student_b)

Hasilnya berisi seluruh mata kuliah tanpa duplikat.


21. Ringkasan

Beberapa operasi Set yang penting:

Difference

A.difference(B)

Mencari elemen yang hanya terdapat di A.

Difference Update

A.difference_update(B)

Menghapus elemen yang juga terdapat di B dari A.

Intersection

A.intersection(B)

Mencari elemen yang terdapat pada kedua Set.

Union

A.union(B)

Menggabungkan kedua Set tanpa duplikat.

Disjoint

A.isdisjoint(B)

Memeriksa apakah kedua Set tidak memiliki elemen yang sama.

Subset

A.issubset(B)

Memeriksa apakah seluruh elemen A terdapat di B.

Superset

A.issuperset(B)

Memeriksa apakah A memiliki seluruh elemen B.


Kesimpulan

Set tidak hanya berguna untuk menghilangkan duplikat. Set juga menyediakan berbagai operasi untuk membandingkan dan mengolah kumpulan data.

Operasi yang paling penting untuk dipahami adalah:

Difference      → A - B
Intersection → A & B
Union → A | B
Subset → A.issubset(B)
Superset → A.issuperset(B)
Disjoint → A.isdisjoint(B)
info

Intinya: Set sangat cocok digunakan ketika kita perlu membandingkan dua kelompok data, mencari data yang sama, mencari data yang berbeda, atau menggabungkan data tanpa duplikat.