DQ LAB - Python For Data Professional Beginner - Part 1
DQ LAB - Python For Data Professional Beginner - Part 1
Bahasa pemrograman Python diciptakan oleh Guido van Rossum dan pertama kali diperkenalkan
pada tahun 1991 sebagai sebuah proyek open-source. Sifat open-source dari Python mengartikan
bahwa setiap orang dapat mengembangkan program komputer dengan menggunakan bahasa
pemrograman Python baik untuk tujuan komersil/non-komersil.
Bahasa pemrograman Python bersifat dynamically typed (Python akan secara otomatis mengubah
masukan dari pengguna) dan mendukung berbagai paradigma pemrograman baik pemrograman
secara prosedural, berbasis objek (Object-Oriented), ataupun fungsional.
print(teks)
Dimana teks adalah kata atau kalimat bebas yang diapit oleh tanda kutip tunggal (') atau tanda kutip
ganda (").
1. Statements: Instruksi yang diberikan secara baris per baris untuk dijalankan oleh mesin. Contoh:
2. Variables: Lokasi penyimpanan yang dapat digunakan untuk menampung sebuah data atau
informasi. Contoh: aku mempunyai variabel yang bernama bilangan1, bilangan2, dan kalimat1
3. Literals: Simbol-simbol yang dapat kita gunakan untuk mengisi suatu variabel. Pada kode yang
telah dicontohkan di atas, angka 5 dan 10 serta 'Belajar Bahasa Python' disebut sebagai literal.
4. Operators: Simbol-simbol yang dapat digunakan untuk mengubah nilai dari satu variabel dengan
melibatkan satu atau lebih variabel dan literal. Contoh: Tanda + merupakan salah satu contoh
operator. Dengan menggunakan tanda +, aku berhasil menambahkan isi dari bilangan1 dan
bilangan2!
Reserved Words: Kumpulan kata-kata yang memiliki makna khusus dalam bahasa
pemrograman Python. Kata False, return, dan for merupakan contoh dari reserved words.
Catatan: Ternyata, aku tidak dapat mendeklarasikan variabel dengan menggunakan sebuah
reserved word!
Whitespace: Pada bahasa Python, spasi dan tab memiliki makna khusus untuk menandai
serangkaian blok dalam kode Python. Hal ini akan dijelaskan secara lebih lanjut pada bagian
struktur pemilihan dan struktur pengulangan pada bahasa Python.
Comments: Comments merupakan sekumpulan teks yang dituliskan di dalam sebuah program
yang tidak akan mempengaruhi hasil dari sebuah program. Walaupun tidak mempengaruhi
hasil program, comments merupakan salah satu komponen yang penting dalam pengembangan
program. Hal tersebut dikarenakan comments dapat diselipkan di antara sekumpulan
statements yang telah dituliskan, untuk berkomunikasi dengan rekan programmer lainnya
dalam satu tim.
a. single line comment (comments dalam satu baris) seperti pada contoh berikut:
b. multi line comment (comments dalam beberapa baris) yang dapat dituliskan seperti pada
contoh berikut:
Bab II Python Variables & Data Types
Penamaan suatu variabel pada python dapat dikatakan valid selama memenuhi aturan-aturan
berikut:
1. Nama dari sebuah variabel harus dimulai dengan huruf (a-z, A-Z) atau karakter garis bawah
underscore (_) dan tidak dapat dimulai dengan angka (0-9).
2. Variabel hanya boleh mengandung karakter alfabet, bilangan dan underscore (a-z, A-Z, 0-9, _)
3. Variabel bersifat case-sensitive yang mengartikan bahwa variabel TINGGI, tinggi, dan Tinggi
merujuk pada tiga variabel berbeda.
1. Null Type: Tipe data null dalam Python digunakan untuk menyimpan nilai kosong atau tidak
ada yang dinyatakan dengan None.
2. Boolean Type: Tipe data boolean atau bool digunakan untuk menyimpan nilai kebenaran
(True, False) dari suatu ekspresi logika.
3. Numeric Type: Tipe data yang digunakan untuk menyimpan data berupa angka. Terdapat dua
macam tipe data numeric, yaitu int untuk menyimpan bilangan bulat (e.g.: 0, 1, 2, 404, -500, -
1000) dan float untuk menyimpan bilangan riil (e.g.: 0.5, 1.01, 2.05, 4.04)
4. Text Type: Pada Python, tipe data string (str) digunakan untuk menyimpan data teks. Tipe data
string dimulai dengan tanda kutip (baik kutip satu/ dua) dan diakhir dengan tanda kutip.
Contoh: "Teks", "Contoh teks menggunakan Python", dan 'Teks pada Python'.
Tipe data list bersifat mutable yang berarti setiap elemen di dalam list dapat diubah nilainya setelah
proses pendeklarasian list. Sebagai contoh:
Aturan indeks dan cara mengakses elemen pada sebuah tuple serupa dengan list. Sebagai contoh:
Berbeda dengan tipe data list, tipe data tuple bersifat immutable yang berarti elemen pada tipe data
tuple tidak dapat diubah setelah proses pendeklarasiannya.
Pada saat aku mengubah elemen pada tuple seperti pada kode berikut,
Di sini ditegaskan kembali, TypeError menunjukkan bahwa tipe data tuple tidak dapat diubah item-
nya melalui item assignment karena tuple bersifat immutable.
Mapping Type
Tipe data mapping dapat digunakan untuk memetakan sebuah nilai ke nilai lainnya. Dalam Python,
tipe data mapping disebut dengan istilah dictionary. Tipe data dictionary dapat dideklarasikan
dengan diawali oleh tanda kurung buka kurawal ( { ), memisahkan setiap elemen di dalamnya
dengan tanda koma ( , ) dan ditutup dengan tanda kurung kurawal ( } ). Setiap elemen pada tipe data
dictionary dideklarasikan dengan format:
"kunci" : "nilai"
Hal inilah yang membedakan tipe data mapping dengan tipe data set. Untuk lebih memperjelas tipe
data mapping, aku mempelajari potongan kode berikut:
Potongan kode di atas adalah contoh pendeklarasian dari tipe data dictionary. Kemudian,
bagaimana dengan cara mengakses informasi dari tipe data ini:
Dengan mencoba potongan code ini pada live code editor, maka aku akan mendapatkan output:
Untuk mengakses elemen dari sebuah dictionary, aku hanya perlu menspesifikasikan kata kunci yang
terdapat dalam dictionary tersebut.
Contoh :
Tugas Praktek
Dengan data yang aku miliki, aku bisa menghitung total harga jual dengan potongan harga beserta
pajak sebesar 10% dari nilai jual: Untungnya Senja memberikan beberapa tips untuk menyelesaikan
tugas ini:
Tips 1. # Data yang dinyatakan ke dalam dictionary
Tips 2. # Hitung harga masing-masing data setelah dikurangi diskon
Tips 3. # Hitung harga total
Tips 4. # Hitung harga kena pajak
Tips 5. # Cetak total_harga + total_pajak
Jawaban :
# Data yang dinyatakan ke dalam dictionary
sepatu = {"nama": "Sepatu Niko", "harga": 150000, "diskon": 30000}
baju = {"nama": "Baju Unikloh", "harga": 80000, "diskon": 8000}
celana = {"nama": "Celana Lepis", "harga": 200000, "diskon": 60000}
# Hitunglah harga masing-masing data setelah dikurangi diskon
harga_sepatu = sepatu["harga"] - sepatu["diskon"]
harga_baju = baju["harga"] - baju["diskon"]
harga_celana = celana["harga"] - celana["diskon"]
# Hitung harga total
total_harga = harga_sepatu + harga_baju + harga_celana
# Hitung harga kena pajak
total_pajak = total_harga* 0.1
# Cetak total_harga + total_pajak
print(total_harga + total_pajak)
Simbol
Operato Keterangan Contoh
r
Operator comparison dapat digunakan untuk membandingkan dua buah nilai, berikut merupakan
contoh-contoh operator komparasi
Simbol
Keterangan Contoh
Operator
33 == 33 akan menghasilkan output: True dikarenakan benar
33 sama dengan 33
== Persamaan
34 == 33 akan menghasilkan output: False dikarenakan 34
tidak sama dengan 33
34 != 33 akan menghasilkan output: True dikarenakan benar
bahwa 34 tidak sama dengan 33
!= Pertidaksamaan
33 != 33 akan menghasilkan output: False dikarenakan 33
sama dengan 33
> Lebih besar dari 34 > 33 akan menghasilkan output: True dikarenakan 34
lebih besar dari 33
Lebih besar atau sama 34 >= 34 akan menghasilkan output True dikarenakan 34
>=
dengan sama dengan 34
Lebih kecil atau sama 33 <= 33 akan menghasilkan output True dikarenakan 34
<=
dengan sama dengan 33
Operator identitas dapat digunakan untuk membandingkan identitas dari dua buah variabel.
Simbol
Keterangan Contoh
Operator
x = ["Ani", "Budi"]
y = ["Ani", "Budi"]
Menerima dua buah objek
dan mengembalikan nilai a=x
True ketika keduanya
is print(a is x) akan menampilkan nilai True dikarenakan a dan x
merujuk pada objek yang
merujuk ke objek yang sama
sama dan False dalam
kondisi lainnya print(a is y) akan menampilkan nilai False dikarenakan a dan y
tidak merujuk ke objek yang sama meskipun isi di dalam
keduanya sama.
x = ["Ani", "Budi"]
y = ["Ani", "Budi"]
Menerima dua buah objek
dan mengembalikan nilai a=x
is not True ketika keduanya
print(a is not x) akan menampilkan nilai False dikarenakan a
merujuk pada objek yang
dan x merujuk ke objek yang sama
berbeda dan False jika sama
print(a is not y) akan menampilkan nilai True dikarenakan a
dan y tidak merujuk ke objek yang sama
Pada umumnya, operator identitas sering digunakan bersamaan dengan fungsi type(), yang mana
fungsi type() akan menerima sebuah objek dan mengembalikan tipe data dari objek tersebut. Di
bawah ini adalah contoh penggunaan operator identitas dan fungsi type().
Nah, aku coba mempraktekkan contoh tutorial yang diberikan Senja pada live code editor.
Operator keanggotaan (membership) dapat digunakan untuk memeriksa anggota dari sebuah tipe
data sequence/set. Operator keanggotaan meliputi:
Simbol
Keterangan Contoh
Operator
Setelah mempelajari berbagai operator dalam bahasa pemrograman Python, tentunya aku juga
ingin bisa menuliskan operasi-operasi variabel yang bersifat ekspresif dan ringkas.
Sebagai contoh, untuk menuliskan sebuah program menghitung diskon dan pajak pembelian
berdasarkan ilmu yang telah aku pelajari, aku dapat menuliskannya dengan potongan kode berikut:
Setelah aku memberikan potongan kode yang telah kubuat, ternyata Senja memiliki ide yang lebih
baik. Wajar saja, Senja adalah mentorku. Senja langsung mencontohkan cara lebih mudah dengan
menjelaskan presedensi (urutan eksekusi) dari operator.
Dengan mengikuti masukan Senja, aku dapat menuliskannya ke dalam jumlah baris yang lebih
sedikit seperti pada potongan kode berikut
Tugas:
Aku diminta Senja untuk menghitung harga yang harus dibayarkan menggunakan barang senilai
150,000, dengan diskon 30% dan pajak 10%, menggunakan cara yang aku gunakan awal dan cara
lebih singkat yang diajarkan Senja.
# Kode awal
total_harga = 150000
potongan_harga = 0.3
pajak = 0.1 # pajak dalam persen ~ 10%
harga_bayar = 1-potongan_harga # baris pertama
harga_bayar *= total_harga # baris kedua
pajak_bayar = pajak * harga_bayar# baris ketiga
harga_bayar += pajak_bayar# baris ke-4
print("Kode awal - harga_bayar=", harga_bayar)
%
+
5 Kiri ke kanan Penambahan Pengurangan
-
is, is not, in, not in
<=, <, >=, > 4 Kiri ke kanan Membership operator Comparison Operator
==, !=
not 3 Kiri ke kanan Operator logika negasi (not)
and 2 Kiri ke kanan Operator logika konjungsi (and)
or 1 Kiri ke kanan Operator logika disjungsi (or)
Dari tabel di atas, dapat terlihat bahwa tanda () memiliki nilai prioritas yang paling tinggi. Hal itu
menandakan jika di dalam suatu statemen yang melibatkan beberapa operator secara sekaligus, setiap
operasi yang berada di dalam tanda () akan dikerjakan terlebih dahulu.
Kemudian, jika terdapat beberapa operasi dalam tanda (), tanda kurung yang berada di sebelah paling
kiri akan dikerjakan terlebih dahulu dikarenakan arah pengerjaan dari tanda () adalah dari kiri ke kanan.
Dari contoh di atas, meskipun operator perkalian (*) memiliki nilai prioritas yang lebih tinggi dari
operator pengurangan (-), tanda () akan membuat Python mengerjakan bagian pengurangan
terlebih dahulu, sebelum akhirnya mengalikan hasil pengurangan dengan bilangan 100.
2.7 Python Conditioning for Decision – Part 1
Layaknya bahasa pemrograman lainnya, bahasa pemrograman Python menyediakan flow control
statement untuk berinteraksi dengan variabel bertipe boolean dan operator logika. Flow control
statement dalam Python dapat dituliskan dengan menggunakan format berikut:
if conditions:
do_action_1
...
do_action_n
Dengan <conditions> berisikan operator yang mengembalikan nilai kebenaran; ataupun beberapa
operator yang mengembalikan nilai kebenaran, yang digabungkan dengan operator logika. Melalui
sebuah flow control statement (if statement), <do_action_1> sampai dengan <do_action_n> akan
dijalankan saat <conditions> bernilai True.
Dalam menuliskan serangkaian aksi (<do_action_1>, ... , <do_action_n>) dalam sebuah statemen if,
aku harus mengemas setiap aksi dalam sebuah blok dengan menambahkan indentasi (jorokan) dari
pada aksi.
Aku mempelajari kode yang diberikan Senja dan coba mempraktekkannya ke dalam live code editor:
Ketika aku menjalankan potongan kode ini, live code editor akan menampilkan output sebagai
berikut:
Kemudian, untuk melengkapi sebuah statement if, aku bisa menambahkan satu ataupun lebih flow
control statement elif, untuk melakukan pengecekan kondisi lainnya, saat kondisi dalam statement if
atau elif di atasnya tidak terpenuhi.
Tugas: Praktekkan kode berikut di live code editor pada baris setelah kode sebelumnya yang telah
dibuat.