Python For Data Professional Beginner-1
Python For Data Professional Beginner-1
Mengenal Python
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.
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.
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…
Seketika semua orang di ruangan tertawa seraya berdiri dan berteriak kompak, “Selamat
bergabung, Aksara!” Jantungku hampir copot! Untungnya cuma ular piton mainan.
“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.
Mari Mengenal Python
Aku masih tidak percaya saat ini memegang modul untuk mempelajari analisis data Python!
Bahkan dengan seorang mentor di sampingku yang siap membimbingku kalau ada yang tidak
kupahami. Aku tidak boleh mengecewakannya apalagi menyia-nyiakan kesempatan ini.
Kalau kata Senja, Python akan sangat membantuku memahami materi-materi lainnya. Kalau
sudah paham mengenai Python aku sudah memiliki pijakan dasar. Oke, baiklah!
Aku menarik napas dalam-dalam dan mulai membuka lembaran demi lembaran isi materi
modul.
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.
Apa dan Kenapa Python – Part 2?
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.
Selain alasan di atas terdapat beberapa 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.
Setelah memahami teori-teori fundamental terkait dengan "Apa dan Mengapa Python?"
aku diminta membuat sebuah program sederhana dengan Python.
Fungsi Python yang akan pertama kali aku pelajari adalah fungsi print().
Dengan fungsi print(), aku dapat menampilkan pesan ke layar pengguna.
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 ().
print("Halo Dunia")
Halo Dunia
Riset Bahasa Python
Struktur Program Python - Part 1
Setelah berhasil membuat program sederhana menggunakan Python, aku diminta Senja untuk
belajar struktur dari sebuah program Python.
Dari situ aku paham sebuah program Python pada umumnya terdiri dari:
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!
Tugas :
Aku diminta untuk mencoba mempraktekkan tutorial yang diajarkan untuk memahami
struktur bahasa pemrograman Python.
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.
bilangan1 = 20
bilangan2 = 10
print(bilangan1 - bilangan2)
=======================
10
Tugas Praktek
“Saya lihat kamu cepat belajar. Gimana kalau kamu coba buat kalkulator sederhana untuk
potongan harga dan pajak, Aksara?” komentar Senja padaku.
Tugas:
harga_asli = 20000
potongan = 2000
print(harga_final)
===================================
19800.0
Struktur Program Python - Part 2
Setelah mengerjakan tugas yang diberikan Senja, aku kembali lanjut belajar. Berikut adalah
hal-hal baru yang aku pelajari mengenai Python:
1. Reserved Words: Kumpulan kata-kata yang memiliki makna khusus dalam bahasa
pemrograman Python. Kata False, return, dan for merupakan contoh dari reserved words.
2. 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.
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:
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 :
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.
Selain dapat mendeklarasikan nilai dari suatu variabel secara baris per baris, aku juga dapat
mendeklarasikan beberapa variabel dalam satu baris dengan menggunakan ekspresi seperti:
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:
Tugas:
Aku diberikan tugas untuk menerapkan variasi tipe data list dengan mengikuti petunjuk yang
diberikan Senja. Berikut petunjuknya:
print(contoh_list[0])
print(contoh_list[3])
contoh_list[3] = 'empat'
print(contoh_list[3])
1
4.0
Empat
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
Tugas:
Sekarang aku diberikan tugas untuk menerapkan variasi tipe data tuple dengan mengikuti
petunjuk yang diberikan Senja:
print(contoh_tuple[0])
contoh_tuple[0] = 'Desember'
Januari
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
TypeError: 'tuple' object does not support item assignment
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
print(contoh_list)
print(contoh_set)
print(contoh_frozen_set)
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.
print(person['nama'])
print(person['pekerjaan'])
John Doe
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.
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.
Dengan data yang aku miliki, aku bisa menghitung total harga jual dengan potongan harga
beserta pajak sebesar 10% dari nilai jual.