Tutorial belajar Python Duniailkom kali ini akan lanjut membahas tipe data Set. Apa beda tipe data set ini dengan tipe data "array" Python lain seperti List dan Tuple? Mari kita lihat.
Pengertian Tipe Data Set Python
Tipe data Set Python adalah tipe data yang berisi kumpulan tipe data dan dipakai untuk mengolah himpunan (set). Jika dibandingkan dengan tipe data berbentuk array lain di Python, tipe data set berbeda dalam hal index, pengurutan dan keunikan nilai (unique value).
Tipe data set tidak memiliki index, sehingga tidak ada mekanisme pengurutan. Maksudnya, ketika kita menginput beberapa nilai ke dalam tipe data set, posisi nilai tersebut bisa berada di mana saja, tidak persis seperti apa yang tertulis. Akibat tidak memiliki index, maka kita tidak bisa menambah nilai baru ke dalam tipe data set dengan cara menulis nomor index (seperti di dalam tipe data list)
Ciri khas selanjutnya dari tipe data set adalah tidak bisa menerima nilai ganda, setiap nilai di dalam set harus unik. Jika kita menginput beberapa nilai yang sama, hanya satu yang tersimpan di dalam set.
Untuk memahami lebih lanjut pengertian tipe data set Python ini, kita akan bahas dengan contoh kode program.
Note: Selain Python, bahasa pemrograman lain yang juga memiliki tipe data set adalah Pascal: Pengertian dan Cara Penggunaan Tipe Data Set Pascal.
Cara Pembuatan Tipe Data Set Python
Untuk membuat tipe data set, gunakan tanda kurung kurawal, kemudian setiap anggota set dipisah dengan tanda koma. Berikut contohnya:
foo = {"Belajar", "Python", "di", "Duniailkom"} bar = {100, 200, 300, 400} baz = {"Python", 200, 6.99, True} print(foo) print(bar) print(baz)
Hasil kode program python:
{'Belajar', 'di', 'Duniailkom', 'Python'} {200, 100, 400, 300} {200, True, 6.99, 'Python'}
Selain perbedaan tanda kurung, cara penulisan tipe data set tidak berbeda dengan tipe data list dan tuple yang sudah kita pelajari sebelum ini.
Perhatikan urutan data yang tampil, hampir semuanya tidak terurut sesuai penulisan. Ini karena di dalam tipe data set setiap anggota atau element tidak memiliki index sehingga posisinya tidak bisa dipastikan.
Menggunakan function type(), kita bisa melihat perbedaan cara penulisan tipe data list, tuple dan set dalam bahasa Python:
foo = ["Belajar", "Python", "di", "Duniailkom"] print(type(foo)) foo = ("Belajar", "Python", "di", "Duniailkom") print(type(foo)) foo = {"Belajar", "Python", "di", "Duniailkom"} print(type(foo))
Hasil kode program python:
<class 'list'> <class 'tuple'> <class 'set'>
Pada kode program diatas, baris 1 adalah cara pembuatan tipe data list, baris 4 pembuatan tipe data tuple, dan baris 7 adalah cara pembuatan tipe data set.
Sifat Tipe Data Set Python
Seperti yang dibahas pada bagian pengertian, sifat dari tipe data set adalah tidak ber-index dan hanya bisa menerima anggota dengan nilai yang berbeda (unique value). Mari lihat dengan contoh kode program:
foo = {"Belajar", "Python", "di", "Duniailkom", "di"} bar = {100, 200, 300, 400, 200, 300} print(foo) print(bar)
Hasil kode program python:
{'Python', 'di', 'Duniailkom', 'Belajar'} {200, 100, 400, 300}
Untuk variabel foo saya menginput string "di" sebanyak 2 kali namun yang masuk hanya 1 buah. Begitu pula untuk variabel bar yang saya input dua kali nilai 200 dan 300 (total 6 element). Namun yang ditampung hanya 4 element saja dimana angka 200 dan 300 muncul hanya 1 kali. Selain itu tidak ada urutan yang pasti dari tipe data set.
Bagaimana jika kita tetap mengakses anggota set menggunakan index? berikut hasilnya:
foo = {"Belajar", "Python", "di", "Duniailkom", "di"} print(foo[1])
Hasil kode program python:
Traceback (most recent call last): File "D:\belajar_python\latihan.py", line 3, in <module> print(foo[1]) TypeError: 'set' object does not support indexing
Yup, terjadi error karena tipe data set memang tidak memiliki index
Operasi Himpunan tipe data Set Python
Tipe data set pada dasarnya adalah tipe data khusus yang dipakai untuk operasi himpunan, seperti operasi gabungan (union), operasi irisan (intersection), dst. Lebih rinci tentang operasi himpunan ini akan kita bahas dalam tutorial khusus tenang operator di dalam bahasa Python.
Namun sebagai gambaran, berikut contoh penggunaan tipe data set untuk operasi himpunan:
foo = {1, 2, 3, 4, 5} bar = {3, 4, 5, 6, 7} print (foo | bar) # union print (foo & bar) # intersection
Hasil kode program python:
{1, 2, 3, 4, 5, 6, 7} {3, 4, 5}
Dalam contoh di atas, perintah foo | bar adalah operasi gabungan himpunan. Hasilnya, seluruh anggota himpunan yang ada di variabel foo digabung dengan seluruh anggota dalam variabel bar, anggota yang ada di kedua himpunan hanya akan ditampilkan 1 kali.
Perintah foo & bar adalah operasi irisan himpunan. Hasilnya adalah seluruh anggota yang terdapat di variabel foo dan juga ada di variabel bar (harus ada di kedua variabel).
Dalam tutorial ini kita telah membahas tipe data set dalam bahasa pemrograman python. Selanjutnya akan dibahas tentang tipe data Dictionary.
Mantul om sangat membantu
Masih ada lanjutannya mas?
Masih ada, tapi kebetulan saya sedang ada kesibukan (pengen nulis beberapa tutorial bahasa C). Mudah2an dalam 1 atau 2 minggu lagi bisa selesai dan lanjut ke tutorial Python berikutnya.
kira kira kapannya update lagi mas?
Kemungkinan bisa update 1 minggu lagi, semoga berkenan menunggu…
Saya tunggu versi bukunya saja mas :)
Hehe, siap… mudah2an nanti bisa menyusul buku "Python Uncover Duniailkom"
Amiin..
lanjutan nya plsss
gan lanjutkan tutorialnya.sekalian juga ada tutorial bahasa scala,bahasa yang lebih baik dan pengganti java terima kasih
Request ditampung… iya nih, karena satu dan lain hal tutorialnya belum sempat dilanjutkan lagi.
kapan kira kira buku python uncover rillis ??
Masih belum bisa saya pastikan nih, tapi mungkin mulai ditulis pada pertengahan tahun depan…
Di tunggu lanjutanya
gan mau tanya, kan salah satu modul python tuh "Pygame", terus kan versi pygame nya harus disesuain sama versi python nya. terus gimana caranya mendapatkan pygame versi yang 3.7.2, sedangkan yg versi segitu gak ada.
apa harus diganti versi python nya? atau ada cara lain gan?
Saya belum sempat coba, tapi dari dokumentasi Pygame katanya sudah support untuk Python 3.6.1 ke atas: https://www.pygame.org/wiki/GettingStarted
oh iya gan….
Maaf mau nanya lagi gan… kan saya mau download pip karena khusus yg versi python terbaru harus didownload dulu. nah, kan saya udah mau download tapi kok masuk di link downloadnya dikatakan "encoding base85 dari file zip, berisi file zip ini
# seluruh salinan pip (versi 18.1)"… jadi, gimana caranya agar bisa dijalankan gan?
Gan, kapan nih tutorial python dilanjut? Atau ada referensi untuk belajar python gak? versi inggris juga boleh.
Assalamu'alaikum mas. Mau nanya, untuk nilai dari tipe data set, apakah bisa diubah?
Bisa, tapi nanti harus menggunakan beberapa fungsi/method tambahan, misalnya remove():
foo = {"Belajar", "Python", "di", "Duniailkom", "di"}
foo.remove("Belajar")
Assalamualaikum
Mas. Untuk buku uncover python emang belum ada y
Waalaikumsalam… iya nih, untuk saat ini masih belum ada. Mudah2an suatu saat bisa menyusul.
Kalu ingin menampilkan ato mengambil satu data dari type data set, caranya gimana, mas?
Sepertinya tidak bisa, karena tipe data set ini harus di akses secara berkelompok dan tidak memiliki index. Jadi bisa dibilang urutan di dalamnya juga "acak".
Yang bisa dilakukan adalah memeriksa apakah data tersebut ada atau tidak di dalam set. Ini bisa dilakukan menggunakan operator in:
foo = {"Belajar", "Python", "di", "Duniailkom", "di"}
print("Belajar" in foo) # True
Duniailkom bikin pembelajaran bahasa bash dong plis