0% menganggap dokumen ini bermanfaat (0 suara)
29 tayangan15 halaman

DQ LAB - Python For Data Professional Beginner - Part 1

Diunggah oleh

citraseptimerlia
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
29 tayangan15 halaman

DQ LAB - Python For Data Professional Beginner - Part 1

Diunggah oleh

citraseptimerlia
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

DQ LAB – Modul Python for Data Professional Beginner - Part 1

Bab I Pengenalan Python

1.1 Pengertian Python


Pyhton adalah Bahasa pemograman yang ditujukan untuk general-purpore programming dan
termasuk dalam category high-level programming language. Python digunakan untuk berbagai
macam permaalahan seperti : pengembangan aplikasi web ataupun mobile, data scinence dll.
Python masuk ke dalam kategori high-level programming language dikarenakan bahasa
pemrograman Python yang mudah untuk dibaca dan dituliskan oleh manusia.

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.

alasan lain untuk menggunakan bahasa pemrograman Python:


1. Python dikembangkan untuk bersifat extendible yang mengartikan bahwa Python dapat
dikembangkan untuk berbagai macam tugas baik untuk pembuatan aplikasi web ataupun
desktop, proses analisis data, dll.
2. Python memiliki komunitas yang besar yang secara aktif berkontribusi untuk menyediakan
berbagai macam fungsionalitas (third-party libraries). Third-party libraries yang tersedia
dalam bahasa pemrograman Python memungkinkan para pengembang untuk dapat fokus
menyelesaikan permasalahan yang ada. Per Januari 2020, terdapat 214,922 modul third-
party yang dapat kita gunakan secara cuma-cuma.
3. Python terintegrasi dengan baik dengan berbagai macam bahasa pemrograman dan layanan
enterprise. Untuk bagian-bagian yang melibatkan sumber daya komputasi yang besar,
pengembang dapat menggunakan fungsionalitas dalam bahasa pemrograman lainnya yang
bersifat low-level yang telah dikemas ke dalam fungsionalitas Python.

1.2 Rumus - Print


Fungsi print(). Dengan fungsi print(), aku dapat menampilkan atau mencetak teks ke layar pengguna.
Syntax atau struktur penggunaan dari fungsi print untuk teks adalah sebagai berikut:

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!

Adapun operator yang lain selain operator + adalah sebagai berikut.


1. Operator - yang berfungsi sebagai operator pengurangan,
2. Operator * yang berfungsi sebagai operator perkalian, dan
3. Operator ** untuk pemangkatan
Setelah mengerjakan tugas yang diberikan Senja, aku kembali lanjut belajar. Berikut adalah hal-hal
baru yang aku pelajari mengenai Python:

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

Terdapat dua jenis comments di dalam Python, yaitu:

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

2.1 Python Variables


Dalam mendeklarasikan sebuah variabel, berilah nama yang mewakili isi dari variabel tersebut.
Sebagai contoh :

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.

variabel dalam satu baris dengan menggunakan ekspresi seperti:

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

2.3 Sequence Type


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

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)

2.4 Python Operators


Operator-operator yang tersedia di dalam Python. Di dalam Python, operator terbagi ke dalam 6
kelompok:
1. Arithmetic operators
2. Assignment operators
3. Comparison operators
4. Logical operators
5. Identity operators
6. Membership operators
Arithmetic Operators
Operator arithmetic digunakan pada tipe data numerik, untuk melakukan operasi matematika
sederhana yang terdiri atas:

Simbol
Operato Keterangan Contoh
r

+ 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 menyisakan 1
% Modulo/sisa bagi
8 % 2 akan menghasilkan output: 0
dikarenakan 8 habis dibagi 2

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

// Pembagian dengan pembulatan ke 3 // 2 akan menghasilkan output: 1


dikarenakan 1.5 akan menjadi 1 saat dibulatkan ke
bawah
bawah.

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

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

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

Lebih kecil atau sama 33 <= 33 akan menghasilkan output True dikarenakan 34
<=
dengan sama dengan 33

34 <= 33 akan menghasilkan output False dikarenakan 34


tidak lebih kecil dari 33 dan tidak sama dengan 34
Operator logical digunakan untuk menggabungkan beberapa nilai kebenaran atas suatu statemen
logika.
Simbol
Keterangan Contoh
Operator

and dan - menerima dua nilai kebenaran dan x=5


mengembalikan nilai benar jika keduanya x >= 1 and x <= 10
benar akan mengembalikan nilai True
x=5
x >= 1 and x <= 4
akan mengembalikan nilai False

or atau - menerima dua nilai kebenaran dan x=3


mengembalikan nilai benar jika salah satu x >= 1 or x <= 2
benar akan mengembalikan nilai True dikarenakan
statemen logika pertama terpenuhi
x=3
x >= 5 or x <= 0
akan mengembalikan nilai False
dikarenakan kedua statemen logika tidak
terpenuhi (bernilai False)

not negasi - menerima sebuah nilai kebenaran x=7


dan mengembalikan komplemennya not(x == 7) akan mengembalikan nilai False
not(x >= 10) akan mengembalikan nilai True

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.

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

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

Simbol
Keterangan Contoh
Operator

in Menerima sebuah sequence/set x = ["Ani", "Budi", "Cici"]


dan objek, mengembalikan True
y = "Cici"
ketika objek merupakan anggota
dari sequence/set, dan False ketika z = "Dodi"
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
y = "Cici"
dan objek, mengembalikan True
not in ketika objek bukan merupakan z = "Dodi"
anggota dari sequence/set, dan
print(y not in x) akan menampilkan nilai False
False ketika merupakan.
print(z not in x) akan menampilkan nilai True

2.5 Nilai Prioritas Operator dalam Python – Part 1


Info: materi telah diperbarui pada tanggal 29 Januari 2022, pastikan kembali kode yang telah ditulis
disesuaikan dengan bagian Lesson.

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)

# Penyederhanaan baris kode dengan menerapkan prioritas operator


total_harga = 150000
potongan_harga = 0.3
pajak = 0.1 # pajak dalam persen ~ 10%
harga_bayar = (1-potongan_harga) * total_harga #baris pertama
harga_bayar += harga_bayar * pajak # baris kedua
print("Penyederhanaan kode - harga_bayar=", harga_bayar)

2.6 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

<=, <, >=, > 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.

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

Ketika dijalankan, live code editor akan menampilkan output:

Anda mungkin juga menyukai