Dalam Python, set adalah tipe data koleksi yang tidak terurut dan tidak memiliki indeks. Karakteristik utamanya adalah setiap elemen di dalam set harus unik—artinya, tidak ada elemen yang duplikat. Ini membuat set sangat efisien untuk operasi matematika seperti mencari irisan (intersection), gabungan (union), dan selisih (difference) antara dua koleksi data.
Cara Membuat Set
Set dibuat menggunakan kurung kurawal {} atau fungsi set(). Anda bisa memasukkan elemen-elemen yang dipisahkan oleh koma.
# Membuat set dengan kurung kurawal
buah = {"apel", "mangga", "anggur"}
print(buah)
# Output: {'anggur', 'mangga', 'apel'}
# Perhatikan bahwa urutan elemen bisa berbeda karena set tidak terurut
Jika Anda mencoba membuat set dari sebuah list yang memiliki elemen duplikat, Python secara otomatis akan menghapus duplikat tersebut.
angka_list = [1, 5, 2, 5, 1, 3]
angka_set = set(angka_list)
print(angka_set)
# Output: {1, 2, 3, 5}
# Angka 1 dan 5 yang duplikat telah dihapus
Penting: Untuk membuat set kosong, Anda harus menggunakan fungsi set(). Menggunakan {} akan membuat dictionary kosong.
set_kosong = set()
print(type(set_kosong)) # Output: <class 'set'>
dict_kosong = {}
print(type(dict_kosong)) # Output: <class 'dict'>
Properti Utama Set
- Tidak Berurut (Unordered): Elemen dalam set tidak disimpan dalam urutan tertentu. Oleh karena itu, Anda tidak bisa mengakses elemennya menggunakan indeks (misalnya
set[0]). - Tidak Terindeks (Unindexed): Karena tidak berurut, set juga tidak memiliki indeks. Anda harus mengulang (loop) seluruh elemen untuk mencari nilai tertentu.
- Unik (Unique): Setiap elemen dalam set adalah unik. Jika Anda menambahkan elemen yang sudah ada, tidak akan terjadi perubahan pada set.
- Dapat Diubah (Mutable): Meskipun elemennya tidak terurut, Anda dapat menambah atau menghapus elemen dari sebuah set.
Operasi Dasar pada Set
Menambah Elemen
Gunakan metode add() untuk menambah satu elemen, dan update() untuk menambah beberapa elemen dari iterable lain seperti list atau tuple.
warna = {"merah", "hijau"}
# Menambah satu elemen
warna.add("biru")
print(warna) # Output: {'merah', 'hijau', 'biru'}
# Menambah beberapa elemen dari list
warna.update(["kuning", "putih"])
print(warna) # Output: {'merah', 'hijau', 'biru', 'kuning', 'putih'}
Menghapus Elemen
Ada dua metode untuk menghapus elemen: remove() dan discard(). Perbedaannya, jika elemen yang ingin dihapus tidak ada, remove() akan menghasilkan KeyError, sedangkan discard() tidak.
angka = {1, 2, 3, 4}
# Menghapus elemen yang ada
angka.remove(2)
print(angka) # Output: {1, 3, 4}
# Menghapus elemen yang tidak ada (akan error)
# angka.remove(5) # KeyError: 5
# Menghapus elemen yang tidak ada (tidak error)
angka.discard(5)
print(angka) # Output: {1, 3, 4} (set tidak berubah)
Anda juga bisa menggunakan pop() untuk menghapus elemen secara acak, karena set tidak berurut.
Operasi Matematika pada Set
Set sangat berguna untuk operasi matematika.
Gabungan (Union)
Menggabungkan dua set dan menghasilkan set baru yang berisi semua elemen dari kedua set.
set_a = {1, 2, 3}
set_b = {3, 4, 5}
gabungan = set_a.union(set_b)
print(gabungan) # Output: {1, 2, 3, 4, 5}
Irisan (Intersection)
Mengambil elemen yang ada di kedua set.
set_a = {1, 2, 3}
set_b = {3, 4, 5}
irisan = set_a.intersection(set_b)
print(irisan) # Output: {3}
Selisih (Difference)
Mengambil elemen yang ada di satu set tetapi tidak ada di set lainnya.
set_a = {1, 2, 3}
set_b = {3, 4, 5}
selisih = set_a.difference(set_b)
print(selisih) # Output: {1, 2}
Dengan memahami karakteristik dan operasi-operasi ini, Anda bisa menggunakan set untuk memecahkan masalah yang berkaitan dengan data unik dan analisis koleksi dengan lebih efisien.