Pengenalan Python
Pengenalan Python
Python adalah bahasa pemrograman multifungsi yang dirilis pada tahun 1991 oleh Guido van
Rossum (GvR). Beliau membuat Python sebagai bahasa pemrograman yang mudah dibaca dan
dimengerti (readable) serta memiliki kemampuan penanganan kesalahan (exception handling).
Berdasarkan tujuan tersebut, Guido van Rossum berhasil menjadikan Python sebagai bahasa
pemrograman yang dapat diimplementasikan ke dalam berbagai sektor. Python dapat digunakan
untuk membangun website (server-side), analisis data, hingga pembelajaran mesin (machine
learning).
Python memiliki ciri khas tersendiri sebagai salah satu pemrograman populer. Salah satu ciri
khas yang paling dikenal adalah Python tidak mewajibkan penggunaan titik koma atau semi
colon (;) pada setiap akhir kode programnya. Simak sintaks kode program di bawah.
1. print("Hello World!")
Sintaks tersebut memberikan perintah untuk menampilkan/mencetak pesan berupa teks ke layar
komputer. Perhatikan bahwa sintaks tersebut menggunakan kata “print” yang jika
diterjemahkan ke dalam bahasa Indonesia memiliki arti mencetak. Cukup mudah dipahami,
bukan?
Versi Python
Sejak perilisan pertamanya, Python terus berkembang dan menyediakan beragam fitur baru.
Pada Python versi 2 yang dirilis Oktober tahun 2000, Python mengembangkan berbagai fitur
yang beberapa di antaranya adalah garbage collector dan memory management.
Kedua fitur tersebut membantu programmer untuk tidak perlu lagi berfokus pada pengelolaan
memori yang kompleks dan bisa berfokus pada pengembangan aplikasi atau program. Mengapa
itu penting? Sejatinya ketika Anda membuat kode program, setiap kode tersebut akan disimpan
dalam penyimpanan memori komputer. Jika penyimpanan memori tidak lagi terkontrol,
komputer Anda akan mengalami kehabisan memori.
Python versi 2 lalu mengalami perubahan mayor dan bertransformasi menjadi Python versi 3
yang dirilis pada Desember 2008. Versi 3 ini tidak bersifat backward-compatible, artinya
beberapa sintaksis yang sebelumnya berjalan di versi 2.x tidak lagi dapat digunakan di versi ini.
Semua perubahan tersebut merujuk kepada keinginan bahasa pemrograman Python yang
memiliki prinsip readable, consistent, & explicit.
Saat ini, Python versi 3.x terus berkembang dan dirilis setiap waktunya. Per kelas ini ditulis,
Python versi 3.11 merupakan versi terbaru dari Python yang dianggap memiliki kecepatan 10-
60% lebih cepat dari versi sebelumnya, yakni 3.10.
Rangkuman Berkenalan dengan Python
Kita sudah berada di penghujung materi pertama. Sampai sini Anda sudah memiliki
pengetahuan mendasar mengenai Python. Mari kita rangkum secara saksama.
Pengenalan Python
Python adalah bahasa pemrograman multifungsi yang dirilis pada tahun 1991 oleh Guido van
Rossum (GvR). Beliau membuat Python sebagai bahasa pemrograman yang mudah dibaca dan
dimengerti (readable) serta memiliki kemampuan penanganan kesalahan (exception handling).
Python memiliki ciri khas tersendiri sebagai salah satu pemrograman populer. Salah satu ciri
khas yang paling dikenal adalah Python tidak mewajibkan penggunaan titik koma atau semi
colon (;) pada setiap akhir kode programnya.
Banyak cara yang dapat dilakukan untuk melakukan instalasi Python, semuanya bergantung
pada operating system (OS) atau sistem operasi yang Anda gunakan serta sumber yang dipilih.
Umumnya, Anda dapat mengakses laman berikut untuk mengunduh
Python: https://www.python.org/downloads/ .
Ada banyak sekali IDE populer untuk Python yang ramai digunakan oleh programmer.
Beberapa di antaranya sebagai berikut.
2. PyCharm
PyCharm adalah IDE yang dibuat khusus untuk pengembangan aplikasi menggunakan
bahasa pemrograman Python. Dengan tujuan tersebut, banyak fitur-fitur khusus yang
diberikan oleh PyCharm kepada programmers untuk mempermudah proses
pengembangan aplikasi Python.
3. Jupyter Notebook
Jupyter Notebook adalah IDE berbasis web yang memungkinkan Anda untuk membuat,
berbagi kode program, serta berkolaborasi dengan programmer lain. Jupyter Notebook
terdiri dari beberapa sel di dalamnya. Setiap sel dapat berisi kode ataupun teks. Setiap
sel tersebut dapat dijalankan satu per satu dan menampilkan hasilnya tanpa harus
membangun semua kode terlebih dahulu.
4. Google Colaboratory
Google Colaboratory adalah IDE berbasis web online yang memiliki fungsi sama seperti
Jupyter Notebook. Dengan Google Colaboratory, Anda tidak perlu melakukan instalasi
seperti yang dilakukan ketika ingin menggunakan Jupyter Notebook.
1. Kode Interaktif
Mode kode interaktif memungkinkan Anda menjalankan kode Python hanya berbasis
terminal/command prompt. Mode ini biasanya digunakan para programmer untuk
bereksplorasi dan menjalankan dua sampai tiga baris kode saja. Pastikan Anda telah
menginstal Python ketika ingin menggunakan kode interaktif.
2. Script
Mode script adalah mode yang paling sering digunakan oleh programmer untuk
membuat kode program. Sederhananya, Anda akan membuat sebuah file (disebut
sebagai script) dengan ekstensi “.py”. Kemudian untuk bisa menjalankan kode di
dalamnya, Anda perlu mengeksekusi file tersebut.
3. Notebook
Mode Notebook merujuk pada lingkungan pengembangan kode interaktif, seperti
Jupyter Notebook atau Google Colaboratory.
1. input()
1. print()
Terakhir, Anda dapat memberikan komentar pada program yang dibangun untuk memberikan
konteks pada kode. Komentar merupakan barisan teks yang akan diabaikan oleh Python ketika
program tersebut dijalankan.
1. Inline Comment
Inline comment merupakan satu baris komentar yang biasanya diletakkan pada baris
yang sama dengan kode atau satu baris sebelum kode.
1. # Variabel ini menyimpan nama 'Dicoding Indonesia'
Dengan menggunakan tanda pagar “#”, program yang Anda bangun akan menganggap
baris tersebut adalah komentar sehingga tidak akan dijalankan dan memunculkan error.
2. Block Comment
Block comment merupakan satu blok kode bertujuan untuk menjelaskan kode kompleks
atau membuat dokumentasi dari sebuah fungsi atau modul. Anda dapat mengapit blok
teks dengan tiga buah single quote (''') atau double quote ("") untuk menjadikannya
sebagai blok komentar.
1. """
4. """
5. print("Hello World!")
Dengan menggunakan tiga double quote ("""), program yang Anda bangun akan
menganggap blok tersebut adalah komentar sehingga tidak akan dijalankan dan
memunculkan error.
Selain itu, berikut adalah implementasi block comment menggunakan single quote (‘’’).
6. '''
9. '''
Kedua cara tersebut sama-sama mengarahkan program Anda untuk menganggap teks di
dalamnya sebagai komentar, sehingga ketika dijalankan tidak akan memunculkan error.
Abstraksi Data
Penting untuk diketahui seorang programmer, setiap kode yang Anda buat akan dikenali sebagai
data oleh komputer. Mengapa itu bisa terjadi? Mari kita pelajari lebih dalam mengenai data,
dimulai dengan materi Abstraksi Data.
Abstraksi data merupakan kemampuan Anda untuk mengerti konteks dan merepresentasikannya
menjadi bentuk lain sesuai dengan konteks masalahnya. Simak contoh skenario berikut.
Anda memiliki sebuah angka bernilai 60 yang tidak mewakili apa pun, hanya angka 60 saja.
Sekilas, Anda paham bahwa angka tersebut bernilai 60. Namun, apakah Anda mengetahui apa
maksud dari angka tersebut? Apakah maksudnya suhu udara? Lembar kertas? Atau berat badan?
Sekarang, apa yang terjadi ketika Anda mengubah format angka sebelumnya yang hanya 60
menjadi seperti gambar berikut?
Apakah Anda melihat perbedaannya? Setelah ditambahkan satuan derajat celcius “ °C “, Anda
tidak lagi berasumsi banyak hal seperti sebelumnya. Sebab, Anda sudah tahu pasti angka 60°C
tersebut merepresentasikan derajat suhu.
Dari contoh tersebut, Anda pasti sudah paham bahwa kemampuan mengabstraksi data penting
untuk memahami konteks. Sama seperti Anda yang perlu mempunyai kemampuan tersebut,
komputer yang Anda gunakan pun memiliki kemampuan abstraksi data.
Ketika menuliskan data dalam pemrograman, komputer tidak akan mengetahui data yang
dimaksud hingga Anda mendeklarasikan tipe datanya, sama seperti contoh di atas.
Data Typing
Sekarang Anda memahami bahwa komputer perlu mengetahui data yang diinginkan dengan
cara melakukan deklarasi. Sebelum memahami berbagai tipe data yang umum digunakan dalam
Python, Anda harus mengenal terlebih dahulu cara menuliskan data dalam pemrograman.
1. int age;
2. float salary;
Sementara inisialisasi merujuk kepada pemberian nilai awal pada variabel yang sebelumnya
telah dideklarasikan. Berikut contohnya jika menggunakan bahasa pemrograman C/C++.
Kedua proses tersebut wajib dilakukan dalam bahasa pemrograman lain, seperti C.
Beruntungnya Anda, Python tidak mengharuskan Anda untuk melakukan deklarasi tipe data
variabel. Hal ini disebabkan Python merupakan bahasa pemrograman yang menerapkan loosely
typed. Artinya, Anda tidak perlu mendeklarasikan tipe data variabel secara eksplisit.
Kode C sebelumnya jika diubah ke dalam Python akan menjadi seperti berikut.
main.py
1.
1
age = 17
salary = 5000000.0
print(type(age))
print(type(salary))
"""
Output:
<class ‘int’>
10
<class ‘float’>
11
"""
Input Reset
Jalankan
Python juga merupakan bahasa pemrograman yang menerapkan dynamic typing. Artinya,
Python adalah bahasa pemrograman yang hanya mengetahui tipe variabel saat program berjalan
dan melakukan proses assignment. Hal ini memungkinkan kita untuk mengubah tipe data dari
suatu variabel seiring berjalannya program.
main.py
1.
x=6
print(type(x))
x = "6"
print(type(x))
6
"""
10
Output:
11
<class ‘int’>
12
<class ‘str’>
13
"""
Input Reset
Jalankan
Pada kode di atas, variabel yang digunakan sama-sama bernama “x”, tetapi yang pertama “x”
bertipe integer, sedangkan yang kedua bertipe string.
Sekarang Anda paham cara mendeklarasikan variabel dan cara Python bekerja dengan tipe data.
Selanjutnya, mari kita pelajari berbagai tipe data pada Python.
Tipe Data
Sebagaimana yang telah dijelaskan bahwa setiap nilai yang digunakan dalam variabel adalah
sebuah data. Data sendiri memiliki tipe yang berbeda-beda, kita dapat menemuinya dalam
kehidupan sehari-hari. Simak kisah berikut untuk memahami data dalam kehidupan sehari-hari.
“Seorang pria berumur 30 tahun menjalani kehidupan di ibu kota Jakarta. Pria tersebut bernama
Evans dan memiliki berat badan sebesar 75 kg. Suatu hari, Evans harus pergi ke kantor, tetapi
hujan deras melanda kota tersebut. Evans pun memutuskan untuk menunggu selama 30 menit
sebelum akhirnya berangkat kerja. Jika setelah 30 menit hujan tak kunjung reda, ia akan
memakai jas hujan. Namun, jika hujan reda, ia tidak akan memakai jas hujan.”
Sekarang, mari kita bedah data yang dapat diambil dan diimplementasikan dengan
pemrograman. Beberapa data tersebut antara lain berikut.
1. Umur
Data umur dibentuk dari kumpulan angka. Dalam pemrograman, tipe data ini
adalah numbers yang memiliki berbagai jenis. Perlu Anda ingat bahwa data umur tentu
memiliki rentang, misalnya 1 sampai 100, bila kita asumsikan bahwa umur seseorang
tidak lebih dari 100.
2. Nama
Data nama dibentuk dari serangkaian huruf. Dalam pemrograman, tipe data ini
adalah string. Perlu diketahui juga bahwa data nama memiliki rentang jumlah huruf.
Rentang data nama adalah 1 sampai 50 huruf, bila kita asumsikan bahwa tidak ada nama
yang melebihi 50 huruf.
3. Berat Badan
Data berat badan dibentuk dari kumpulan angka, sama seperti data umur.
4. Keputusan Memakai Jas Hujan
Keputusan memakai jas hujan juga merupakan data. Dalam pemrograman, ini adalah
data boolean yang merupakan tipe data dengan hanya dua kemungkinan,
yakni True dan False. Dalam kisah di atas, keputusan Evans hanya ada dua, yakni jika
hujan benar-benar terjadi (bernilai True), ia akan memakai jas hujan, sedangkan jika
hujan tidak terjadi (bernilai False), ia tidak akan memakai jas hujan.
Dapatkah Anda menemukan data lainnya? Silakan telaah kembali untuk mengasah kemampuan
Anda dalam menganalisis.
Sekarang mari kita fokus terhadap berbagai tipe data pada Python. Dalam Python, tipe data
dikelompokkan menjadi dua, yakni tipe data primitif dan tipe data collection.
Numbers
Numbers
Integer Bilangan bulat positif atau negatif dan tidak memiliki angka desimal.
Contoh: 1; -20; 999; dan 0.
Float Bilangan riil yang dapat mewakili bilangan bulat atau bilangan desimal.
Contoh: 1+2j
Tipe data primitif pertama, yakni numbers adalah tipe data angka berupa bilangan bulat, riil,
dan kompleks.
Tipe data integer merupakan bilangan bulat positif atau negatif dan tidak memiliki angka
desimal. Selanjutnya, tipe data float merupakan bilangan riil yang mewakili bilangan bulat dan
angka desimal. Terakhir, tipe data complex yang merupakan representasi dari bilangan
kompleks dalam matematika. Tipe data complex terdiri dari bilangan riil dan imajiner dengan
bentuk “x +yj”, yaitu “x” adalah bilangan riil dan “y” adalah bilangan imajiner.
Ciri dari bilangan numbers adalah Anda dapat mengoperasikan bilangan tersebut dengan
operasi matematika sederhana, seperti pertambahan (+), pengurangan (-), perkalian (*), dan
operasi matematika lainnya.
main.py
1.
x=6
print(type(x))
x = 6.0
print(type(x))
x = 1+2j
8
print(type(x))
10
11
"""
12
Output:
13
<class 'int'>
14
<class 'float'>
15
<class 'complex'>
16
"""
Input Reset
Jalankan
Perlu diperhatikan bahwa tipe data numbers bersifat immutable yang artinya nilai di dalamnya
tidak dapat diubah. Mari lihat contoh di bawah ini.
main.py
1.
var = 10
print(var)
print(id(var))
var = 11
print(var)
print(id(var))
7
8
"""
Output:
10
10
11
<memory address>
12
11
13
<memory address>
14
"""
Input Reset
Jalankan
Pada contoh di atas, kita berusaha untuk melakukan perubahan tipe data numbers dengan
melakukan inisialisasi ulang variabel. Namun, ternyata hal tersebut bukan merupakan proses
mengubah nilai variabel. Proses tersebut lebih bisa disebut sebagai membuat objek baru dengan
nilai baru. Masih ingat dengan arti dari variabel? Variabel merujuk pada lokasi dalam komputer
yang digunakan untuk menyimpan nilai dengan tipe data tertentu.
Ketika menjalankan program di atas, Anda juga dapat melihat alamat memori (memory address)
dari variabel “var” yang pertama dan yang kedua menggunakan fungsi “id()”. Jalankan berulang
kode di atas dan Anda dapat melihat bahwa alamat tersebut berubah-ubah dengan nilai yang
berbeda.
Hal ini membuktikan secara natural bahwa integer atau numbers merupakan immutable. Alih-
alih nilai integer di atas diperbarui, ternyata nilai tersebut masih bernilai sama karena kita masih
bisa menampilkannya dengan nama variabel yang identik.
Sebenarnya, semua tipe data primitif atau single-value (numbers, boolean, string) sudah dapat
dipastikan adalah immutable secara natural. Banyak programmer beranggapan bahwa dengan
melakukan inisialisasi ulang variabel pada Python dapat memperbarui atau mengubah nilai
tersebut. Nyatanya, tindakan tersebut menyebabkan program membuat objek baru dengan nilai
baru alih-alih mengubahnya.
Boolean
Boolean
True Bernilai benar
False Bernilai salah
Tipe data primitif kedua adalah boolean, yakni tipe data yang hanya bernilai TRUE atau
FALSE. Tipe data ini merepresentasikan nilai kebenaran (truth values). Sebenarnya, setiap
variabel yang memiliki nilai bisa dievaluasi dan menghasilkan nilai true. Hanya ada beberapa
nilai yang akan dianggap bernilai false sebagai berikut.
main.py
1.
x = True
2
print(type(x))
x = False
print(type(x))
"""
Output:
<class 'bool'>
10
<class 'bool'>
11
"""
Input Reset
Jalankan
Dari kode di atas dapat Anda pahami bahwa nilai True dan False merupakan data bertipe
boolean.
String
String merupakan karakter yang berurutan. Ketika Anda membuat variabel bernilai string tentu
diawali dengan single quote (‘’) atau double quote (“”). Jalankan kode di bawah ini untuk
mengetahui contoh tipe data string.
main.py
1.
x = 'Dicoding'
print(type(x))
"""
5
Output:
<class 'str'>
"""
Input Reset
Jalankan
Variabel x yang menyimpan teks “Dicoding” adalah variabel dengan data bertipe string.
Sederhananya, teks “Dicoding” tersebut adalah string.
1. Anda dapat menggunakan tiga single quote atau double quote untuk menyimpan string
yang lebih dari satu baris (multi-line).
o main.py
o
3.
multi_line = """Halo!
2
Kapan terakhir kali kita bertemu?
print(multi_line)
"""
Output:
Halo!
10
Kapan terakhir kali kita bertemu?
11
12
"""
Input Reset
Jalankan
Pada kode di atas, Anda menampilkan string lebih dari satu baris (multi-line)
menggunakan double quote (”””).
2. String merupakan urutan karakter yang setiap karakternya memiliki indeks. Anda dapat
mengakses setiap karakter dari string (substring) dengan menggunakan metode indexing.
Perlu diingat bahwa indeks selalu dimulai dari 0.
o main.py
o
3.
x = 'Dicoding'
2
print(x[0])
"""
Output:
"""
Input Reset
Jalankan
Pada kode di atas, diambil indeks ke-0 dari string “Dicoding” yakni huruf “D”.
Metode indexing merupakan cara untuk mengambil spesifik elemen berdasarkan
indeksnya.
3. Namun, Anda tidak dapat mengubah substring di dalamnya. Ini dikarenakan string pada
Python bersifat immutable.
o main.py
o
3.
x = 'Dicoding'
x[0] = 'F'
"""
Output:
"""
Input Reset
Jalankan
Pada kode di atas, diambil indeks ke-0 dari string “Dicoding”, yakni huruf “D” dan
digantikan dengan huruf “F”. Namun, kode tersebut menghasilkan error dikarenakan
string bersifat immutable yang artinya tidak dapat diubah.
4. Anda dapat mengakses beberapa substring dengan menggunakan
metode indexing dan slicing.
o main.py
o
3.
x = 'Dicoding'
print(x[2:])
3
4
"""
Output:
coding
"""
Input Reset
Jalankan
Pada kode di atas, diambil substring dari indeks ke-2 hingga indeks terakhir dengan
menggunakan metode slicing. Metode slicing adalah cara yang sering digunakan untuk
mendapatkan bagian dari suatu list atau array. Metode ini dapat diterapkan pada string
untuk mengambil satu atau banyak substring. Kita akan mempelajari lebih detail pada
materi list.
5. Anda dapat menampilkan teks/string berdasarkan input dari pengguna dengan berbagai
cara. Perhatikan metode di bawah ini dan jalankan kodenya menggunakan IDE atau
notebook Anda.
1. Formatted String
1. name = "Perseus Evans"
3.
4. """
5. Output:
7. """
2. %-formatting
1. name = "Perseus Evans"
3.
4. """
5. Output:
7. """
3. str.format()
1. name = "Perseus Evans"
3.
4. """
5. Output:
6. Nama saya Perseus Evans
7. """
Masih banyak cara untuk menampilkan string. Anda bisa mendapatkan informasi lebih detail
terkait string Python pada laman berikut. https://docs.python.org/3/library/string.html .
List
List merupakan jenis kumpulan data terurut (ordered sequence) dan salah satu tipe data yang
sering digunakan pada Python. List dalam Python ini serupa, tetapi tak sama dengan array pada
bahasa pemrograman lainnya. List Python tidak mengharuskan memiliki tipe data yang sama di
dalamnya, sedangkan array sebaliknya.
Melakukan inisialisasi list pada Python cukup mudah, yakni menggunakan kurung siku “[]” dan
setiap elemennya dipisahkan dengan koma. Berikut adalah implementasi list pada Python.
main.py
1.
print(type(x))
"""
Output:
<class ‘list’>
7
"""
Input Reset
Jalankan
Pada kode di atas, nilai yang diawali dengan kurung siku “[]” akan dianggap sebagai data
bertipe list.
Setiap data atau elemen dalam list memiliki indeks yang selalu dimulai dari 0. Anda dapat
mengakses setiap indeks pada list dengan metode indexing.
Berikut implementasinya.
main.py
1.
3
print(x[2])
"""
Output:
True
"""
Input Reset
Jalankan
Pada kode di atas, diambil indeks ke-2 dari list yang telah diinisialisasikan. Mungkin Anda
sadar bahwa cara tersebut sama persis dengan mengakses substring pada materi string. Hal ini
karena string pada Python merupakan urutan karakter yang setiap karakternya memiliki indeks.
Persis seperti list yang setiap datanya juga memiliki indeks.
List Python bersifat mutable yang artinya nilai di dalamnya dapat diubah.
main.py
1.
x[0] = 'Indonesia'
print(x)
"""
Output:
"""
Input Reset
Jalankan
Pada kode di atas, Anda mengubah “1” dengan string “Indonesia”. Hal ini dapat terjadi dalam
Python karena list bersifat mutable.
Konsep indexing merujuk kepada pengambilan data dalam Python berdasarkan indeksnya.
Beberapa cara untuk melakukan indexing sebagai berikut.
main.py
1.
print(x[0])
print(x[2])
print(x[-1])
print(x[-3])
7
8
"""
10
Output:
11
laptop
12
mouse
13
microphone
14
keyboard
15
"""
Input Reset
Jalankan
Pada dua sintaks pertama, Anda memerintahkan untuk menampilkan indeks ke-0 dan indeks ke-
2. Selanjutnya, dua sintaks terakhir memerintahkan untuk menampilkan indeks terakhir dan
indeks ke-3 dari terakhir.
Adapun konsep slicing merujuk pada pengambilan data berdasarkan indeks dari rentang
tertentu. Slicing pada Python mengikuti pola sebagai berikut.
1. sequence[start:stop:step]
Start merupakan indeks pertama yang Anda ambil. Stop merupakan indeks terakhir yang ingin
Anda ambil. Step merupakan jumlah elemen yang ingin Anda lewati di antara setiap elemen
slice. Secara default, nilai step adalah 1.
Hal penting yang harus Anda ingat adalah nilai start bersifat inklusif sedangkan stop bersifat
eksklusif. Masih ingat dengan konsep tersebut dalam matematika? Konsep ini menggambarkan
batas tertentu dalam suatu interval. Jika suatu interval dikatakan inklusif, batas terakhir yang
telah ditentukan akan dianggap sebagai bagian dari interval.
Namun, jika suatu interval dikatakan eksklusif, batas terakhir yang telah ditentukan tidak akan
dianggap sebagai bagian dari interval.
main.py
1.
1
print(x[0:5:2])
print(x[1:])
print(x[:3])
"""
Output:
10
12
13
"""
Input Reset
Jalankan
Pada sintaks pertama, Anda memerintahkan untuk mengambil data dari indeks ke-0 hingga
indeks ke-4 dengan setiap elemen ke-2 dan kelipatannya akan dilewati. Pada sintaks kedua,
Anda memerintahkan untuk menampilkan data dari indeks ke-1 hingga terakhir. Pada sintaks
ketiga, Anda memerintahkan untuk menampilkan data dari indeks ke-0 hingga indeks ke-2
(ingat, bersifat eksklusif).
Tuple
Tuple adalah jenis dari list yang tidak dapat diubah elemennya. Umumnya, tuple digunakan
untuk data yang bersifat sekali deklarasi dan dapat dieksekusi lebih cepat. Tuple didefinisikan
dengan kurung “()“ dan setiap elemen di dalamnya dipisahkan dengan koma.
main.py
1.
print(type(x))
"""
Output:
<class 'tuple'>
"""
Input Reset
Jalankan
Pada kode di atas, Anda dapat lihat bahwa nilai yang diapit tanda kurung “()” akan dianggap
sebagai tuple oleh program. Anda juga dapat melakukan indexing dan slicing pada tuple sama
seperti list.
main.py
1.
print(x[1])
print(x[0:3])
"""
Output:
program
8
(5, 'program', (1+3j))
"""
Input Reset
Jalankan
Pada kode di atas, Anda mengambil string “program” yang berada pada indeks 1 dan
menampilkan nilai dari indeks 0 hingga indeks 2 (ingat, bersifat eksklusif).
main.py
1.
x[1] = 'Dicoding'
"""
5
Output:
"""
Input Reset
Jalankan
Pada kode di atas, Anda mencoba mengubah string “program” menjadi “Dicoding”, tetapi
menghasilkan error karena tuple bersifat immutable.
Set
Set adalah kumpulan item bersifat unik, tanpa urutan (unordered collection), dan dapat
diinisialisasikan dengan kurawal “{}” di mana setiap elemennya dipisahkan dengan koma.
Tidak sama seperti list, dalam set kita tidak bisa melakukan indeksing karena set tidak memiliki
indeks. Hal ini merujuk pada definisi nya yang menyatakan bahwa set merupakan kumpulan
item tanpa urutan. Perhatikan kode di bawah ini.
main.py
1.
1
x = {1,2,7,2,3,13,3}
print(x[0])
"""
Output:
"""
Input Reset
Jalankan
Pada kode di atas, program mengembalikan output 'set' object is not subscriptable karena
setiap nilai dalam set tidak memiliki indeks sehingga tidak bisa dilakukan indexing.
Selain tanpa urutan (unordered collection). Set juga bersifat unik, artinya, data yang Anda
simpan pada set tidak akan ada duplikat. Anda dapat memanfaatkan hal ini untuk
menghilangkan duplikat pada suatu data.
main.py
1.
x = {1, 2, 7, 2, 3, 13, 3}
print(x)
print(type(x))
"""
Output:
7
{1, 2, 3, 7, 13}
<class 'set'>
"""
Input Reset
Jalankan
Pada kode di atas, Anda dapat melihat bahwa nilai yang diapit tanda kurawal “{}” akan
dianggap sebagai set oleh program dan nilai duplikat di dalamnya akan dihapus. Pada kode di
atas pun, nilai 3 dan 2 yang duplikat telah dihapus.
Terakhir, set adalah himpunan dalam matematika. Ini maknanya Anda dapat melakukan
operasi union (gabungan) dan intersection (irisan) pada set. Python menyediakan method
“.union()” dan “.intersection()” untuk tipe data set.
Method merupakan tindakan atau operasi yang dapat dilakukan oleh suatu objek. Saat ini, tidak
apa-apa jika kamu belum memahami sepenuhnya. Anda akan mempelajari lebih detail
mengenai method pada modul Object-Oriented Programming (OOP). Perhatikan contoh di
bawah ini.
main.py
1.
set1 = {1, 2, 3, 4, 5}
2
set2 = {4, 5, 6, 7, 8}
union = set1.union(set2)
print("Union:", union)
intersection = set1.intersection(set2)
print("Intersection:", intersection)
10
"""
11
Output:
12
Union: {1, 2, 3, 4, 5, 6, 7, 8}
13
Intersection: {4, 5}
14
15
"""
Input Reset
Jalankan
Pada contoh di atas, kita melakukan operasi union atau penggabungan dua variabel bertipe data
set, yakni variabel set1 dan variabel set2 dengan menggunakan method “.union()”. Hasilnya
adalah tentu nilai gabungan dari kedua variabel.
Terakhir, kita juga melakukan intersection atau irisan yang merupakan operasi dalam
matematika untuk menemukan nilai atau elemen-elemen yang sama dalam dua atau lebih
himpunan. Kita menggunakan method “.intersection()” untuk menjalankan operasi ini. Hasilnya
adalah nilai 4 dan 5 yang memang berada pada variabel set1 dan variabel set2.
Dictionary
Dictionary pada Python merupakan kumpulan pasangan key-value yang bersifat tidak berurutan.
Dictionary dapat digunakan untuk menyimpan data kecil hingga besar. Pada Python, dictionary
didefinisikan dengan kurawal dan tambahan definisi berikut.
main.py
1.
print(type(x))
4
5
"""
Output:
<class 'dict'>
"""
Input Reset
Jalankan
Pada kode di atas, sintaks yang diapit tanda kurawal “{}” dan memiliki pasangan key-
value akan dianggap sebagai data bertipe dictionary oleh program.
Dalam mengambil setiap nilai/elemen pada dictionary, Anda harus mengetahui key (kunci)
untuk mengakses setiap value-nya (nilai). Hal ini berbeda dengan tipe data sebelumnya yang
cukup mengharuskan Anda untuk menyebutkan indeksnya saja.
main.py
1.
print(x[0])
"""
Output:
KeyError: 0
"""
Input Reset
Jalankan
Kode di atas menghasilkan error karena Anda mencoba mengakses data pada dictionary dengan
menggunakan metode indexing.
main.py
1.
print(x ['name'])
"""
Output:
Perseus Evans
8
"""
Input Reset
Jalankan
Dalam kode di atas, Anda mengambil data pada dictionary dengan memanggil key yang ada.
Beberapa hal lain terkait dictionary dapat dilihat pada poin-poin berikut.
3.
4
print(x)
"""
Output:
{'name': 'Perseus Evans', 'age': 20, 'isMarried': False, 'Job': 'Web Developer'}
"""
Input Reset
Jalankan
Untuk menambahkan data pada Dictionary, Anda cukup memasukkan key dan value-nya
seperti pada contoh kode di atas, yakni “x[‘Job’] = ‘Web Developer’”.
del x['isMarried']
print(x)
"""
7
Output:
"""
Input Reset
Jalankan
Anda dapat menghapus data pada Dictionary dengan menggunakan sintaks “del”. Pada
kode di atas, data “isMarried” dihapus.
3.
x ['name'] = "Dicoding"
print(x)
"""
Output:
"""
Input Reset
Jalankan
Untuk mengubah value pada Dictionary, Anda dapat melakukannya dengan mengakses
key-nya dan lakukan inisialisasi variabel dengan nilai baru. Pada kode di atas, data
“name” diubah dari “Perseus Evans” menjadi “Dicoding”.
Fungsi merupakan blok kode yang dapat dipanggil untuk melakukan tugas tertentu. Anda akan
mempelajari fungsi lebih detail pada modul subprogram. Saat ini, Anda cukup memahami
bahwa fungsi di bawah ini dapat melakukan operasi terhadap list, set, dan string.
Di bawah ini merupakan berbagai fungsi yang dapat digunakan untuk mengonversi data antar
list, set, dan string.
main.py
1.
print(float(5))
2
3
"""
Output:
5.0
"""
Input Reset
Jalankan
Untuk melakukan konversi dari integer ke float cukup menggunakan fungsi float() dengan
memasukkan nilai integer di dalamnya.
main.py
1.
print(int(5.6))
2
print(int(-5.6))
"""
Output:
-5
"""
Input Reset
Jalankan
Untuk melakukan konversi dari float ke integer cukup menggunakan fungsi int() dengan
memasukkan nilai float di dalamnya.
main.py
1.
print(int("25"))
print(str(25))
print(float("25"))
print(str(25.6))
"""
Output:
8
25
25
10
25.0
11
25.6
12
"""
Input Reset
Jalankan
Kode di atas merupakan berbagai fungsi untuk mengonversi dari-dan-ke string. Jika ingin
melakukan konversi ke string, Anda cukup menggunakan fungsi str().
Perlu Anda perhatikan bahwa konversi dari-dan-ke string akan melalui pengujian dan dipastikan
validitasnya. Jika pengujian dan validitasnya gagal, error akan dihasilkan.
main.py
1.
1
print(int("1p"))
"""
Output:
"""
Input Reset
Jalankan
main.py
1.
1
print(set([1,2,3]))
print(tuple({5,6,7}))
print(list('hello'))
"""
Output:
{1,2,3}
(5,6,7)
['h','e','l','l','o']
10
"""
Input Reset
Jalankan
Untuk melakukan konversi kumpulan data dari-dan-ke set/list/tuple, Anda cukup menggunakan
fungsi dari tipe data yang diinginkan. Misalnya, set(), tuple(), dan list() seperti pada kode di
atas.
Konversi ke Dictionary
Untuk konversi ke dictionary, data harus memenuhi persyaratan key-value. Selain itu, Anda
bisa melakukan konversi ke dictionary menggunakan fungsi dict().
List dari beberapa list yang isinya pasangan nilai menjadi dictionary.
main.py
1.
print(dict([[1,2],[3,4]]))
"""
4
Output:
{1:2, 3:4}
"""
Input Reset
Jalankan
Pada kode di atas terdapat list berisi dua list yang berisi pasangan nilai, yakni [1,2] dan [3,4].
Lalu, list tersebut diubah menjadi dictionary dengan nilai 1 dan 3 sebagai key serta nilai 2 dan 4
sebagai value.
Konversi list dari beberapa tuple yang isinya pasangan nilai menjadi dictionary.
main.py
1.
print(dict([(3,26),(4,44)]))
3
"""
Output:
{3:26, 4:44}
"""
Input Reset
Jalankan
Pada kode di atas terdapat list yang berisi dua tuple dengan pasangan nilai, yakni (3,26) dan
(4,44). Setelah diubah menjadi dictionary, nilai 3 dan 4 menjadi key, sedangkan nilai 26 dan 44
menjadi value.