Pengantar
Lima menit menuju pukul lima sore. Aku melirik ke ruangan bos yang berada di seberang mejaku.
Lampu dimatikan dan tidak ada orang. Beliau belum kembali dari rapat.
Aku bersorak dalam hati. Ini waktunya tenggo tanpa gangguan.
Saat melangkah menuju mesin presensi, pintu lift terbuka dan bos keluar dari sana! “Aksara, tolong ke
ruangan saya sebentar.” Buyar sudah rencana indahku setelah ini.
Sesampai di ruangan, aku sibuk berpikir apakah bos mengetahui jika aku diam-diam membantu tim lain
mendata profil pelanggan supermarket?
“Aksara, saya puas dengan performa kerjamu. Kamu layak dipromosikan jadi data analyst perusahaan dan
dipindahkan ke divisi data di bawah kepemimpinan Kroma serta dibimbing langsung Senja dan Andra.”
Ini begitu mendadak. Aku masih mencerna informasi ini dalam diam.
Semuanya serba cepat.
Aku sudah memiliki laptop baru dan dua modul untuk dipelajari pada hari pertama bekerja di divisi baru.
Sembari menunggu instruksi, aku membuka isi modul berharap ada bacaan seru.
Tapi…
“Ular!” pekikku spontan melompat dari kursi.
Seketika semua orang di ruangan tertawa seraya berdiri dan berteriak kompak, “Selamat bergabung,
Aksara!” Jantungku hampir copot! Untungnya cuma ular piton mainan.
Insiden tadi membuat seseorang bertubuh tinggi segera menghampiriku.
“Maaf soal kejadian tadi. Ini ide Andra, dia suka ngejahilin orang. Jangan diambil hati ya. Kenalkan saya
Senja, mentormu selama bekerja di divisi ini.”
Aku mengangguk sopan. “Sebenarnya tadi itu juga clue untuk pelatihanmu hari ini tentang Bahasa
Pemrograman Python, hal paling fundamental dalam dunia data,” ujar Senja sambil menarik bangku untuk
duduk di sebelahku. Mencoba melupakan kejadian tadi, aku memfokuskan diri pada penjelasan Senja.
Tugas:
Aku diberikan tugas oleh Senja untuk menampilkan pesan “Hello World!” pada layar menggunakan fungsi print()
Program Pertamaku
Keren! Aku baru tahu kalau Python memiliki fungsi print() yang berguna untuk menampilkan pesan ke layar
pengguna.
Tugas:
Sekarang aku diberikan tugas dari Senja untuk menampilkan kalimat “Halo Dunia” dan “Riset Bahasa Python”
menggunakan fungsi print().
Jawab:
print("Halo Dunia")
print("Riset Bahasa Phyton")
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
Tugas :
Aku diminta untuk mencoba mempraktekkan tutorial yang diajarkan untuk memahami struktur bahasa
pemrograman Python.
Ketik Syntax berikut pada Live Code Editor:
Jawab
# Statement
print("Halo Dunia")
print("Hello World")
bilangan1 = 5
bilangan2 = 10
# Operators
print(bilangan1 + bilangan2)
Tugas Praktek
Tantangan belum berakhir. Aku diminta Senja untuk membuat program pengurangan sederhana dengan Python.
Tugas:
Deklarasi variable bilangan1 dengan 20, dan bilangan2 dengan 10 dan tampilkan hasil pengurangan bilangan1 &
bilangan 2.
jawab:
bilangan1 = 20
bilangan2 = 10
print(bilangan1 - bilangan2)
Tugas Praktek
“Saya lihat kamu cepat belajar. Gimana kalau kamu coba buat kalkulator sederhana untuk potongan harga dan
pajak, Aksara?” komentar Senja padaku.
Tugas:
1. Aku diminta menghitung harga_setelah_potongan dan harga_final. harga_final diperoleh dengan
mengalikan harga_setelah_potongan dengan angka 1.1 karena PPN sebesar 10% (100% + 10% = 110%
atau 1.1)
2. Aku menggunakan variabel harga_asli dengan nilai 20000 dan variabel potongan dengan nilai 2000.
Jawab:
harga_asli = 20000
potongan = 2000
harga_setelah_potongan = (harga_asli - potongan)
harga_final = (harga_setelah_potongan * 1.1)
print(harga_final)
b. multi line comment (comments dalam beberapa baris) yang dapat dituliskan seperti pada contoh berikut:
Python Variables
Setelah mengetahui konsep sederhana dari sebuah variabel, aku diminta mencoba mendeklarasikan beberapa
variabel dalam bentuk teks ataupun bilangan dan melakukan operasi yang melibatkan sekumpulan variabel.
Pada bagian ini, aku akan mengkaji variabel dan tipe data secara lebih detail. Pada pertemuan sebelumnya aku
berhasil mendeklarasikan variabel dengan menggunakan ekspresi seperti:
Tips:
Dalam mendeklarasikan sebuah variabel, berilah nama yang mewakili isi dari variabel tersebut. 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:
Tugas:
Aku diberikan tugas untuk menerapkan variasi tipe data list dengan mengikuti petunjuk yang diberikan Senja.
Berikut petunjuknya:
Petunjuk 1: Input data 1, 'dua', 3, 4.0, 5 ke dalam contoh_list
Petunjuk 2: Ambil Elemen pertama dari contoh_list untuk menampilkan output 1 menggunakan print statement
Petunjuk 3: Ambil Elemen ke empat dari contoh_list untuk menampilkan output 4.0 menggunakan print
statement
Petunjuk 4: Input data 1, 'dua', 3, 4.0, 5 ke dalam contoh_list
Petunjuk 5: Rubah Elemen keempat dalam contoh_list menjadi 'empat'
Petunjuk 6: Tampilkan output elemen keempat yang telah dirubah tersebut menggunakan print statement
Jawab:
contoh_list = [1,'dua',3,4.0,5]
print(contoh_list[0])
print(contoh_list[3])
contoh_list = [1,'dua',3,4.0,5]
contoh_list[3] = 'empat'
print(contoh_list[3])
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
Tugas:
Sekarang aku diberikan tugas untuk menerapkan variasi tipe data tuple dengan mengikuti petunjuk yang diberikan
Senja:
Petunjuk 1: Input data Januari sampai dengan April ke dalam contoh_tuple
Petunjuk 2: Ambil Elemen pertama dari contoh_tuple untuk menampilkan output 1 menggunakan print
statement
Petunjuk 3: Input kembali data Januari sampai dengan April ke dalam contoh_tuple
Petunjuk 4: Rubah Elemen pertama dalam contoh_tuple menjadi 'Desember'
Ketika dijlankan ini akan menghasilkan error yaitu TypeError, silakan kamu submit dengan
adanya error dari output pada Petunjuk 4 tersebut.
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:
Tugas:
Sekarang aku diberikan tugas untuk menerapkan variasi set dan frozenset oleh Senja:
1. Tugas 1:Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data list dan tampilkan hasilnya
2. Tugas 2: Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data set dan tampilkan hasilnya
3. Tugas 3: Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data frozenset dan tampilkan hasilnya
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.
Tugas:
Menggunakan tipe data mapping, aku diminta Senja untuk menampilkan nama & pekerjaan John Doe,
seorang Programmer.
Tugas Praktek
Ternyata seru juga! Aku jadi berniat mengembangkan program kalkulator potongan harga ini untuk
beberapa barang sekaligus agar lebih fungsional. Kalau begitu, aku perlu rapikan dulu informasi setiap
barang di tabel ini.
“Lalu, aku tinggal merepresentasikan semuanya ke tipe data dictionary, dengan begitu akan lebih mudah
mengolahnya,” gumamku.
Aku pun mulai mendeklarasikan variabel sepatu, baju, dan celana untuk menampung informasi barang ke
dalam live code editor.
Nama
Harga Diskon
Barang
Sepatu Niko150000 30000
Baju
80000 8000
Unikloh
Celana
200000 60000
Lepis
jawaban
sepatu = {"nama": "sepatu niko", "harga": 150000, "diskon": 30000 }
baju = {"nama":"baju unikloh","harga":80000,"diskon":8000}
celana = {"nama":"celana lepis","harga":200000,"diskon":60000}
Tugas Praktek
Setelah berhasil merepresentasikan setiap barang ke dalam tipe data dictionary dengan
variabel nama, harga, dan diskon, langkahku selanjutnya adalah: mendeklarasikan list dengan
nama daftar_belanja yang berisi data sepatu, baju, dan celana.
daftar_belanja = [sepatu, baju, celana]
Tugas Praktek
Dengan data yang aku miliki, aku bisa menghitung total harga jual dengan potongan harga beserta pajak
sebesar 10% dari nilai jual.
Pendahuluan
Setelah aku berhasil mempelajari detail terkait dengan variables dan data type, sekarang aku akan
mempelajari 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
7. Operator arithmetic digunakan pada tipe data numerik, untuk melakukan operasi matematika
sederhana yang terdiri atas:
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
x=3
/= Pembagian 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
Pembagian dengan
//= x //= 2 sama dengan x = x // 2
pembulatan ke 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
!= Pertidaksamaan sama 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
kebenaran dan akan mengembalikan nilai True
and
mengembalikan nilai benar x=5
jika keduanya benar
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
kebenaran dan
or x=3
mengembalikan nilai benar
jika salah satu benar x >= 5 or x <= 0
akan mengembalikan nilai False dikarenakan
kedua statemen logika tidak terpenuhi (bernilai
False)
Identity Operators
Operator identitas dapat digunakan untuk membandingkan identitas dari dua buah variabel.
x = ["Ani", "Budi"]
y = ["Ani", "Budi"]
Menerima dua buah objek a=x
dan 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.
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)
*
/ 6 Kiri ke kanan Perkalian Pembagian Modulus
%
+
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.
Tugas Praktek
Senja memang hebat!
Aku baru sadar, dengan struktur penulisan yang tepat maka penulisan syntax dapat dipersingkat untuk
menjadi lebih simpel.
Kenapa tidak terpikirkan olehku, ya? Harusnya aku tidak perlu mendeklarasikan variabel total_pajak dan
aku bisa langsung menampung hasil perhitungan akhir saat mendeklarasikan variabel total_harga. Jadi,
kodeku akan berjalan jika aku menambahkan setiap harga barang yang telah dipotong diskon sebelum
menghitung pajak.
Tugas:
Dengan cara yang diajarkan Senja, aku akan membuat potongan kode diatas menjadi lebih simpel. Jangan
lupa ada pajak 10%.
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:
ps: Aku juga bisa mengubah nilai x sehingga lebih mudah memahami statemen desisi mana yang akan
dieksekusi oleh potongan kode yang telah aku jalankan.
# statement if
x=4
if x % 2 == 0:
x=7
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 Total
Nama Jasa Subtotal
per hari hari
Data
100000015 15000000
Warehousing
Data Cleansing 150000010 15000000
Data
200000015 30000000
Integration
Data
250000010 25000000
Transformation
Total 85000000
Tugas Praktek
Aku menunjukkan potongan kode dan hasil dari kalkulator yang telah aku buat ke Senja yang sudah
berhasil menampilkan kalimat:
Selamat pagi, Anda harus membayar tagihan sebesar:
Kulihat kedua alis Senja bertaut, ini pertanda kodeku pasti ada yang keliru.
“Kalau kamu hanya memasukkan perintah ‘selamat pagi’ seakan kalau tagihan ini dikirim hanya saat pagi,
padahal bisa kapan saja sesuai kebutuhan,” komentar Senja. Begini, jam pengiriman email kantor kita
mulai dari 6 pagi sampai 9 malam.
Tugas:
Tolong masukkan variabel keterangan waktu tersebut di kodemu. Lalu, diatur dengan detail berikut:
“Oh, oke. Paham,” sahutku sembari merevisi. Saran yang bagus, kedepannya aku harus berpikir kritis.
while loops
for loops
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).
# Tagihan
total_tagihan = tagihan[0]+tagihan[1]+tagihan[2]+tagihan[3]+tagihan[4]
print(total_tagihan)
i = 0 # sebuah variabel untuk mengakses setiap elemen tagihan satu per satu
Tugas:
Praktekkan potongan kode berikut pada live code editor.
dengan output
i=0
jumlah_tagihan = len(tagihan)
total_tagihan = 0
if tagihan[i] < 0 :
total_tagihan = -1
break
total_tagihan += tagihan[i]
i += 1
print(total_tagihan)
Jika dijalankan maka akan mencetak output total tagihan sebesar 750000 (total tagihan positif).
Untuk statement continue
Setelah dijalankan akan menghasilkan
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
Pendahuluan
Berkat dua pekerjaan berturut-turut kemarin, aku sekarang diberi waktu senggang untuk beristirahat alias
bereksplorasi sendiri. Senangnya!
Selama ini aku ingin sekali membantu usaha paman karena selama ini pamanku selalu kesulitan mencatat
laporan pengeluaran bisnisnya. Kali ini aku sudah tahu caranya!
Ekspedisi Pamanku
Aku menyambar ponsel di meja dan membuka pesan singkat dari paman tempo hari yang menjelaskan jika
paman harus mengeluarkan uang sebesar 1,5 juta per mobil dalam sehari. Tapi, beliau selalu kebingungan
dengan total pengeluaran per bulan karena adanya aturan ganjil-genap yang membuat pengoperasian mobil
yang berbeda.
“Kalau begitu, aku akan masukkan variabel jumlah_hari berisi jumlah hari dalam sebulan dan
variabel list_plat_nomor berisi seluruh nomor plat mobil milik paman,” gumamku sendiri. Kalau
seperti ini paman hanya perlu mengganti variabel jumlah_hari atau modifikasi
variabel list_plat_nomor untuk melacak total pengeluaran paman selama sebulan. Ide Cemerlang!
# Data
uang_jalan = 1500000
jumlah_hari = 31
list_plat_nomor = [8993, 2198, 2501, 2735, 3772, 4837, 9152]
# Pengecekan kendaraan dengan nomor pelat ganjil atau genap
kendaraan_genap = 0
kendaraan_ganjil = 0
for plat_nomor in list_plat_nomor:
if plat_nomor % 2 == 0:
kendaraan_genap += 1
else:
kendaraan_ganjil += 1
# Total pengeluaran untuk kendaraan dengan nomor pelat ganjil
# dan genap dalam 1 bulan
i=1
total_pengeluaran = 0
while i<= jumlah_hari:
if i % 2 == 0:
total_pengeluaran += (kendaraan_genap * uang_jalan)
else:
total_pengeluaran += (kendaraan_ganjil * uang_jalan)
i += 1
# Cetak total pengeluaran
print(total_pengeluaran)
Hasil Belajarku
Wah senangnya! Aku telah berhasil menyelesaikan pelajaran Python pertamaku, Python for Data
Professional Beginner - Part 1.
Selain membabat habis materi dari Senja, aku berhasil menyelesaikan latihan, dan membantu Pamanku.
Dari materi yang telah aku pelajari dan praktekkan, aku telah mempelajari:
Alasan Python secara luas digunakan dalam komputasi saintifik, web, ranah data (data domain).
Konstruksi dari struktur bahasa pemrograman Python.
Teknik mempraktekkan penggunaan tipe data pada Python.
Teknik mempraktekkan penggunaan jenis-jenis operator pada Python.
Teknik mempraktekkan penggunaan pengkondisian untuk pengambilan keputusan dan perulangan
pada Python.
Program Python untuk penyelesaian kasus bisnis sederhana.
Journey Belajar
Apabila ingin menjadi seorang Data Analyst, berikut ada journey belajar yang perlu kamu ikuti. Untuk
modul selanjutnya yang perlu kamu selesaikan dari rangkaian modul Python for Data Professional adalah :