Anda di halaman 1dari 20

PYTHON FOR DATA PROFESSIONAL BEGINNER – 1

Tipe Data Dasar: Null, Boolean, Numeric dan Text

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'.

Sequence Type – Part 1


Tipe data ini digunakan untuk menampung sekumpulan data secara terorganisir.
Bentuk dari tipe data sequence ini adalah List dan Tuple.
Pada part 1 ini, aku akan mempelajari tipe data list terlebih dahulu.
Tipe data list diawali dengan tanda kurung siku buka ( [ ), memisahkan setiap elemen di dalamnya dengan
tanda koma ( , ) dan ditutup dengan kurung siku tutup ( ] ). Sebagai contoh:

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:

Sequence Type – Part 2


Setelah mempelajari tipe data list, aku mempelajari tipe data tuple. Tipe data tuple juga berfungsi untuk
menampung sekumpulan data. Tipe data ini diawali dengan tanda kurung buka ( ( ), memisahkan setiap
elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( ) ). 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, 

akan menghasilkan error di console, yaitu TypeError

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:

sedangkan pada tipe data set:

Akan menghasilkan output :

Dari kedua contoh output pada program, dapat terlihat:

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:

Akan menghasilkan output:

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:

sedangkan pada tipe data set:

Akan menghasilkan output :

Dari kedua contoh output pada program, dapat terlihat:

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:

Akan menghasilkan output:


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 tutup ( } ). 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.

Arithmetic Operators
Operator arithmetic digunakan pada tipe data numerik, untuk melakukan operasi matematika sederhana
yang terdiri atas:
Simbol Operator Keterangan Contoh

+ Penambahan 3 + 2 akan menghasilkan output: 5

- Pengurangan 4 - 2 akan menghasilkan output: 2

* Perkalian 3 * 2 akan menghasilkan output: 6

/ Pembagian 3 / 2 akan menghasilkan output: 1.5

3 % 2 akan menghasilkan output: 1


dikarenakan 3 tidak habis dibagi 2 dan
% Modulo/sisa bagi menyisakan 1
8 % 2 akan menghasilkan output: 0
dikarenakan 8 habis dibagi 2

** Pangkat 3 ** 2 akan menghasilkan output: 9

3 // 2 akan menghasilkan output: 1


Pembagian dengan pembulatan ke
// dikarenakan 1.5 akan menjadi 1 saat dibulatkan
bawah
ke bawah.

Assignment Operators
Operator assignment digunakan untuk mendeklarasikan nilai secara langsung ke suatu variabel.

Simbol Operator Keterangan Contoh

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.

Simbol Operator Keterangan Contoh

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

34 > 33 akan menghasilkan


output: True dikarenakan 34 lebih besar dari 33
>  Lebih besar dari
33 > 34 akan menghasilkan output False dikarenakan
tidak benar 33 lebih besar dari 34

33 < 34 akan menghasilkan output True dikarenakan


benar 33 lebih kecil dari 34
<  Lebih kecil dari 34 < 33 akan menghasilkan
output: False dikarenakan tidak benar 34 lebih kecil
dari 33

>= Lebih besar atau sama dengan 34 >= 33 akan menghasilkan


output True dikarenakan 34 lebih besar dari 33
34 >= 34 akan menghasilkan
output True dikarenakan 34 sama dengan 34
33 >= 34 akan menghasilkan
output False dikarenakan 33 tidak lebih besar dari 34
dan tidak sama dengan 34

33 <= 34 akan menghasilkan


output True dikarenakan 33 lebih kecil dari 34
33 <= 33 akan menghasilkan
<= Lebih kecil atau sama dengan output True dikarenakan 34 sama dengan 33
34 <= 33 akan menghasilkan
output False dikarenakan 34 tidak lebih kecil dari 33
dan tidak sama dengan 34

Logical Operators
Operator logical digunakan untuk menggabungkan beberapa nilai kebenaran atas suatu statemen logika.

Simbol Operator Keterangan Contoh

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.

akan menampilkan pesan True.


Setelah line di bawah ini selesai dieksekusi, Python akan secara otomatis mengubah tipe data dari x
menjadi float

akan menampilkan pesan False, dan


akan menampilkan pesan True

Membership Operators
Operator keanggotaan (membership) dapat digunakan untuk memeriksa anggota dari sebuah tipe data
sequence/set. Operator keanggotaan meliputi:

Simbol Operator Keterangan Contoh

x = ["Ani", "Budi", "Cici"]


Menerima sebuah sequence/set dan y = "Cici"
objek, mengembalikan True ketika
in objek merupakan anggota z = "Dodi"
dari sequence/set, dan False ketika
bukan. print(y in x) akan menampilkan nilai   True
print(z in x) akan menampilkan nilai  False

x = ["Ani", "Budi", "Cici"]


Menerima sebuah sequence/set dan y = "Cici"
objek, mengembalikan True ketika
not in objek bukan merupakan anggota z = "Dodi"
dari sequence/set, dan False ketika
merupakan. print(y not in x) akan menampilkan nilai  False
print(z not in x) akan menampilkan nilai   True

Nilai Prioritas Operator dalam Python – Part 2


Dalam bahasa pemrograman Python, tabel berikut mencakup nilai prioritas dan arah pengerjaan dari setiap
operator.

Operator Nilai Prioritas Arah pengerjaan Deskripsi

() 10 Kiri ke kanan Grouping

x[index] 9 Kiri ke kanan Mengakses elemen array

** 8 Kanan ke kiri pangkat

+x
7 Kiri ke kanan Tanda bilangan positif dan negatif
-x

* 6 Kiri ke kanan Perkalian Pembagian Modulus


/
%

+
5 Kiri ke kanan Penambahan Pengurangan
-

is, is not, in, not in


Membership operator Comparison
<=, <, >=, > 4 Kiri ke kanan
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.

Sebagai contoh, pada proses deklarasi variabel nilai di bawah ini.

 
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

Dengan <conditions> berisikan operator yang mengembalikan nilai kebenaran; ataupun beberapa operator


yang mengembalikan nilai kebenaran, yang digabungkan dengan operator logika.  Melalui  sebuah
statemen desisi (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.

Python Conditioning for Decision – Part 2


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 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:

Python Conditioning for Decision – Part 3


Dari yang aku pelajari pada bagian awal dari statemen desisi, operator desisi juga dapat digunakan dengan
operator logika. 
Sebagai catatan tambahan, aku juga belajar bahwa aksi dalam sebuah desisi statemen dapat dituliskan
desisi statemen tambahan (lainnya) yang dikenal dengan istilah nested if.
 

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

Data Warehousing 1000000 15 15000000

Data Cleansing 1500000 10 15000000

Data Integration 2000000 15 30000000

Data Transformation 2500000 10 25000000

Total 85000000

tagihan_ke = 'Mr. Yoyo'


warehousing = { 'harga_harian': 1000000, 'total_hari':15 }
cleansing = { 'harga_harian': 1500000, 'total_hari':10 }
integration = { 'harga_harian':2000000, 'total_hari':15 }
transform = { 'harga_harian':2500000, 'total_hari':10 }
sub_warehousing = warehousing['harga_harian'] * warehousing['total_hari']
sub_cleansing = cleansing['harga_harian'] * cleansing['total_hari']
sub_integration = integration['harga_harian'] * integration['total_hari']
sub_transform = transform['harga_harian'] * transform['total_hari']
total_harga = sub_warehousing + sub_cleansing + sub_integration + sub_transform
print("Tagihan kepada:")
print(tagihan_ke)
print("Selamat pagi, anda harus membayar tagihan sebesar:")
print(total_harga)

Python while loops – Part 1


Pertama-tama aku mempelajari struktur kontrol while loops menggunakan contoh berikut:
 
Tugas 1:
Hitung total tagihan secara manual dengan menulis potongan kode berikut ke dalam live code editor:

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).

Python while loops – Part 2


Dalam sebuah struktur kontrol pengulangan, aku dapat menggunakan perintah break untuk keluar dari
struktur pengulangan dan perintah continue untuk melanjutkan proses pengulangan berikutnya. 
 

Tugas:
Praktekkan potongan kode berikut pada live code editor.
dengan output

Python while loops – Part 2


Dalam sebuah struktur kontrol pengulangan, aku dapat menggunakan perintah break untuk keluar dari
struktur pengulangan dan perintah continue untuk melanjutkan proses pengulangan berikutnya. 
 

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).

Python for loops – Part 2


Info: materi telah diperbarui pada tanggal 26 Desember 2021, pastikan kembali kode yang telah ditulis
disesuaikan dengan default live code serta urutan materi pada bagian lesson.
Serupa dengan struktur pengulangan while, aku juga dapat memanfaatkan
statement break dan continue di dalamnya. Aku mencoba potongan kode di bawah menggunakan live
code editor untuk penggunaan statement break.
Jika dijalankan akan mencetak:

 
Untuk statement continue

Setelah dijalankan akan menghasilkan

Python for loops – Part 3


Ternyata, aku belajar bahwa ada istilah nested loops, yaitu pengulangan bersarang. Dengan nested loops,
aku dapat mengkombinasikan (menambahkan) struktur pengulangan lain di dalamnya.  Aku mencoba
potongan kode di bawah menggunakan live code editor:

 
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.

Senja pun mengingatkan akan ada penghitungan cash flow.


Melihat Senja dan tim manajemen memberikan kepercayaan yang besar kepadaku, akupun bersemangat!

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

Dari list_cash_flow ini, aku akan menghitung total_pengeluaran dan total_pemasukan perusahaan. 

Anda mungkin juga menyukai