Set¶
Set adalah sebuah struktur data dalam Python yang tidak terurut (unordered), immutable, dan setiap elemennya unik. Oleh karena setiap elemen dalam set
adalah unik, maka tidak ada duplikat di dalamny, meskipun kita “dengan sengaja” mendefinisikan set
dengan nilai duplikat.
Mendefinisikan Set dengan {}
¶
Cara pertama untuk mendefinisikan set
adalah dengan mendaftarkan objek-objek yang memiliki nilai hash di dalam {}
dan setiap elemennya dipisahkan dengan ,
.
Note
Nilai hash adalah nilai atau kode hasil dari enkripsi (fungsi) yang nilainya tidak akan berubah selamanya. Nilai hash, pada bidang ilmu komputer, digunakan untuk mengakses suatu data, yang memakan banyak memori, dengan efisien.
Semua objek immutable dalam Python, yaitu angka, string, dan tuple, memiliki nilai hash yang berarti hashable. Sehingga, objek-objek tersebut bisa kita masukkan dalam set
dan objek selain itu tidak bisa [Fou21d].
Perhatikan contoh kode dan luarannya di bawah ini.
set_is_unique = {1, 2, 3, 4, 4, 5, 1} # akan menghasilkan {1, 2, 3, 4, 5}
string_in_set = {"Bob", "Michael", "Kevin", "Stuart", "Bob", "Stuart"}
print(set_is_unique, type(set_is_unique))
print(string_in_set, type(string_in_set))
{1, 2, 3, 4, 5} <class 'set'>
{'Kevin', 'Bob', 'Michael', 'Stuart'} <class 'set'>
Tipe data set
merepresentasikan arti sebenarnya, yaitu himpunan. Di matematika, kita mengenal ciri-ciri himpunan dan juga operasi yang melibatkan himpunan, seperti irisan, gabungan, dan lainnya.
Untuk mendukung operasi tersebut, Python sudah menyediakan beberapa fungsi dan metode bawaan. Silakan baca dokumentasi Python ini. Mari kita coba implementasikan beberapa pada kuis berikut.
Eksplorasi
Menggunakan fungsi dan metode bawaan untuk set
, jawab/implementasikan soal di bawah ini:
Definisikan 2 set menurut gambar di atas, dengan nama variabel
female_names
(kiri) danmale_names
(kanan).Tampilkan 2 variabel tersebut dan jumlah masing-masing elemen.
Buat variabel
all_names
yang berisikan semua nama gabungan darifemale_names
danmale_names
.Buat variabel
female_male_names
yang memuat nama yang bisa termasuk dalam dua himpunan tersebut.Buat variabel
only_females
danonly_males
yang memuat nama-nama dalamfemale_names
yang tidak ada dalammale_names
dan sebaliknya, secara beruturut-turut.
# KETIK DI SINI
Mendefinisikan Set dengan Fungsi set()
¶
Sama dengan tuple
dan list
, untuk mendefinisikan set, Python menyediakan fungsi bawaan set()
yang bisa digunakan untuk mendefinisikan set kosong (empty set) dan mengonversi objek dengan tipe data lain menjadi set.
Mari kita coba implementasi kode di bawah ini.
empty_set = set()
purchased_history = ["batman", "robin", "iron man", "robin", "captain america",
"iron man", "iron man", "superman", "batman", "superman"]
unique_purchased = set(purchased_history)
Note
Kita hanya bisa mendefinisikan set kosong dengan fungsi set()
. Jika kita mendefinisikan set kosong seperti list dan tuple sebelumnya, yaitu dengan {}
, maka kita akan mendapat sebuah dictionary
yang akan kita bahas setelah bagian ini.