Python For Data Professional Beginner
Python For Data Professional Beginner
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'.
Setiap elemen dari list memiliki indeks yang dimulai dari angka 0 dan terus bertambah satu nilainya
hingga elemen terakhir dari list. Sebagai contoh:
Tipe data list bersifat mutable yang berarti setiap elemen di dalam list dapat dirubah nilainya setelah
proses pendeklarasian 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,
Set Type
Serupa dengan tipe data sequence, tipe data set digunakan untuk menampung sekumpulan data dengan tipe
lainnya. Terdapat dua jenis dari tipe data set yaitu, set dan frozenset.
Tipe data set diawali dengan tanda kurung buka kurawal ( { ), memisahkan setiap elemen di dalamnya
dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( } ). Namun berbeda dengan tipe
data sequence, seperti list, tipe data objek tidak mengizinkan adanya elemen dengan nilai yang sama dan
tidak memperdulikan urutan dari elemen.
Sebagai contoh:
Akan menghasilkan output:
1. Berbeda dengan tipe data set, tipe data list memperdulikan urutan dari setiap elemen saat list
dideklarasikan.
2. Berbeda dengan list yang mengizinkan adanya duplikasi elemen, tipe data set tidak
mengizinkan adanya elemen dengan nilai yang sama di dalamnya.
Keunikan dari kedua tipe data ini tentunya menjadi pengetahuan yang berguna.
Dan aku akan mempelajarinya kembali pada bagian struktur kontrol pengulangan!
Bagaimana dengan tipe data frozenset? Tipe data frozenset sebenarnya hanya merupakan set yang
bersifat immutable, yang artinya setiap elemen di dalam frozenset tidak dapat diubah setelah proses
deklarasinya. Untuk membuat tipe data frozenset, aku dapat merujuk potongan kode di bawah ini:
Set Type
Serupa dengan tipe data sequence, tipe data set digunakan untuk menampung sekumpulan data dengan tipe
lainnya. Terdapat dua jenis dari tipe data set yaitu, set dan frozenset.
Tipe data set diawali dengan tanda kurung buka kurawal ( { ), memisahkan setiap elemen di dalamnya
dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( } ). Namun berbeda dengan tipe
data sequence, seperti list, tipe data objek tidak mengizinkan adanya elemen dengan nilai yang sama dan
tidak memperdulikan urutan dari elemen.
Sebagai contoh:
1. Berbeda dengan tipe data set, tipe data list memperdulikan urutan dari setiap elemen saat list
dideklarasikan.
2. Berbeda dengan list yang mengizinkan adanya duplikasi elemen, tipe data set tidak
mengizinkan adanya elemen dengan nilai yang sama di dalamnya.
Keunikan dari kedua tipe data ini tentunya menjadi pengetahuan yang berguna.
Dan aku akan mempelajarinya kembali pada bagian struktur kontrol pengulangan!
Bagaimana dengan tipe data frozenset? Tipe data frozenset sebenarnya hanya merupakan set yang
bersifat immutable, yang artinya setiap elemen di dalam frozenset tidak dapat diubah setelah proses
deklarasinya. Untuk membuat tipe data frozenset, aku dapat merujuk potongan kode di bawah ini:
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.
Arithmetic Operators
Operator arithmetic digunakan pada tipe data numerik, untuk melakukan operasi matematika sederhana
yang terdiri atas:
Simbol Operator Keterangan Contoh
Assignment Operators
Operator assignment digunakan untuk mendeklarasikan nilai secara langsung ke suatu variabel.
x=3
+= Penambahan x += 2 ekivalen dengan x = x + 2
akan mengubah nilai x menjadi 5
x=3
-= Pengurangan x -= 2 ekivalen dengan x = x - 2
akan mengubah nilai x menjadi 1
x=3
*= Perkalian x *= 2 ekivalen dengan x = x * 2
akan mengubah nilai x menjadi 6
/= Pembagian x=3
x /= 2 ekivalen dengan x = x / 2
akan mengubah nilai x menjadi 1.5
x=3
%= Modulo/sisa bagi x %= 2 ekivalen dengan x = x % 2
akan mengubah nilai x menjadi 1
x=3
**= Pangkat x **= 2 ekivalen dengan x = x ** 2
akan mengubah nilai x menjadi 9
x=3
Pembagian dengan pembulatan ke
//= x //= 2 sama dengan x = x // 2
bawah
akan mengubah nilai x menjadi 1
Comparison Operators
Operator comparison dapat digunakan untuk membandingkan dua buah nilai, berikut merupakan contoh-
contoh operator komparasi.
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
!= Pertidaksamaan dengan 33
33 != 33 akan menghasilkan
output: False dikarenakan 33 sama dengan 33
Logical Operators
Operator logical digunakan untuk menggabungkan beberapa nilai kebenaran atas suatu statemen logika.
x=5
x >= 1 and x <= 10
dan - menerima dua nilai akan mengembalikan nilai True
and kebenaran dan mengembalikan
nilai benar jika keduanya benar x = 5
x >= 1 and x <= 4
akan mengembalikan nilai False
x=3
x >= 1 or x <= 2
akan mengembalikan nilai True dikarenakan
atau - menerima dua nilai statemen logika pertama terpenuhi
or kebenaran dan mengembalikan
nilai benar jika salah satu benar x = 3
x >= 5 or x <= 0
akan mengembalikan nilai False dikarenakan kedua
statemen logika tidak terpenuhi (bernilai False)
x=7
negasi - menerima sebuah nilai
not kebenaran dan mengembalikan not(x == 7) akan mengembalikan nilai False
komplemennya
not(x >= 10) akan mengembalikan nilai True
Identity Operators
Operator identitas dapat digunakan untuk membandingkan identitas dari dua buah variabel.
Simbol Operator Keterangan Contoh
x = ["Ani", "Budi"]
y = ["Ani", "Budi"]
Menerima dua buah objek dan a=x
mengembalikan
nilai True ketika keduanya print(a is x) akan menampilkan
is nilai True dikarenakan a dan x merujuk ke objek
merujuk pada objek yang sama
dan False dalam kondisi yang sama
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 a=x
mengembalikan
is not nilai True ketika keduanya print(a is not x) akan menampilkan
merujuk pada objek yang nilai False dikarenakan a dan x merujuk ke objek
berbeda dan False jika sama yang 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.
Membership Operators
Operator keanggotaan (membership) dapat digunakan untuk memeriksa anggota dari sebuah tipe data
sequence/set. Operator keanggotaan meliputi:
+x
7 Kiri ke kanan Tanda bilangan positif dan negatif
-x
+
5 Kiri ke kanan Penambahan Pengurangan
-
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.
Python Conditioning for Decision – Part 1
Layaknya bahasa pemrograman lainnya, bahasa pemrograman Python menyediakan statemen desisi
(decision statement) untuk berinteraksi dengan variabel bertipe boolean dan operator logika. Statemen
desisi dalam Python dapat dituliskan dengan menggunakan format berikut:
if conditions:
do_action_1
...
do_action_n
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 statemen
desisi 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.
Ketika dijalankan, live code editor akan menampilkan output:
Tugas:
Praktekkan potongan kode berikut dalam live code editor.
Tugas Praktek
Aku diminta tolong Senja untuk menghitung tagihan pembayaran karena saat ini prosesnya masih manual.
Tugas:
“Aksara, kantor kita akan merilis penawaran baru terkait jasa pembuatan data warehouse. Bisa tolong
kembangkan kalkulatormu untuk menghitung tagihan pembayaran? Soalnya selama ini kita masih
manual,” jelas Senja sembari memberikan contoh nota tagihan kantor.
Aku belum mengiyakan karena sedikit ragu. Mengingat sebelumnya aku sempat salah. Tapi dalam hati aku
berkata, pasti bisa! Kali ini aku harus mampu membuat kalkulator lebih rumit.
Solusi yang terlintas dalam bayanganku: Kalkulator ini harus dapat menghitung subtotal setiap jasa yang
diambil dari kolom harga/ hari dan total hari dari setiap jasa. Ternyata Senja juga memikirkan hal yang
sama dengan instruksinya yang sangat membantu.
Tagihan untuk Mr. Yoyo
Harga per
Nama Jasa Total hari Subtotal
hari
Total 85000000
Setelah aku konfirmasi potongan kode yang aku buat ke Senja, aku belajar bahwa potongan kode ini tidak
efektif apabila ukuran dari list tagihan bertambah. Tentunya aku akan kewalahan untuk menuliskan
ekspresi penambahan pada setiap elemennya, terutama jika elemennya berjumlah banyak. Untuk mengatasi
hal ini Senja memberikan masukan untuk menggunakan struktur kontrol while.
Tugas 2:
Ubah potongan kode yang telah dibuat dengan arahan Senja dan tuliskan di dalam live code editor:
Setelah dijalankan, kedua potongan kode akan mencetak output yang sama yaitu 750000.
Dari tugas di atas, aku belajar bahwa statemen while akan terus menjalankan aksi di dalamnya, selama
kondisi yang dituliskan di samping kanan statemen while terus terpenuhi. Melalui penambahan nilai i
sebagai salah satu aksi dalam statemen while, saat nilai i = 4, kondisi dari statemen while tidak akan
terpenuhi dan eksekusi program akan dilanjutkan ke perintah print(total_tagihan).
Tugas:
Praktekkan potongan kode berikut pada live code editor.
dengan output
Tugas:
Praktekkan potongan kode berikut pada live code editor.
dengan output
Python for loops – Part 1
Untuk perintah for loops, aku mencoba potongan kode ini menggunakan live code editor.
Jika dijalankan maka akan mencetak output total tagihan sebesar 550000 (total tagihan positif).
Untuk statement continue
Pada saat aku jalankan, maka output yang dihasilkan adalah:
Tugas Praktek
Aku diberi informasi oleh Senja bahwa manajemen cukup puas dengan hasil kalkulator potongan harga
dan pajak yang aku kembangkan. Setelahnya, aku diberikan kepercayaan lebih untuk membuat program
baru.
Dalam program kali ini, aku diminta untuk menghitung total pengeluaran dan pemasukan perusahaan.
Tugas:
Program yang akan aku bangun akan mengolah sebuah list yang bernama list_cash_flow. Setiap elemen
dari list_cash_flow berisikan pengeluaran (bilangan negatif) dan pemasukan (bilangan positif) pada
perusahaan