BAB 3 - Python Fundamental For Data Science
BAB 3 - Python Fundamental For Data Science
Kepopuleran python sendiri sekarang ada pada track data science. Banyaknya
library dan framework seperti scikit-learn, tensorflow/keras, pytorch membuat para
pecinta data mining, AI, dan Machine learning lebih menyukai python untuk
pengembangan riset dan penelitian mereka. Berkembangnya dunia data science
didunia ini juga salah satu alasan kenapa python menjadi begitu populer sekarang.
Python dirancang untuk mudah ditulis dan dibaca, serta memiliki beberapa
kesamaan dengan bahasa Inggris dengan pengaruh dari matematika.
Python menggunakan baris baru untuk mengakhiri perintah, dibandingkan
dengan bahasa pemrograman lain yang sering menggunakan titik koma atau
tanda kurung.
Python bergantung pada indentasi, menggunakan spasi, untuk
mendefinisikan ruang lingkup; seperti lingkup loop, fungsi, dan kelas. Bahasa
pemrograman lainnya sering menggunakan kurung kurawal untuk tujuan ini
Jika kalian mencari di internet tentang programming python, biasanya akan
ada 2 jenis python, python 2 dan python 3. Versi utama Python yang paling
baru adalah Python 3 dan digunakan dalam platform academy ini. Saat ini,
python 2 sudah memasuki end-of-life pada Januari 2020.
Klik Tombol
Hasil pada panel Console akan keluar seperti berikut :
Hello World
Coba lanjutkan code tersebut pada baris selanjutnya dengan menggunakan kode
ini :
Klik Tombol
Hasil pada panel console akan keluar seperti berikut :
Hello World
6
Note : setiap perintah print yang digunakan akan mencetak baris baru.
Memang terlihat sangat sederhana jika hanya untuk kasus simpel yang kita pelajari
pada bagin ini. Namun, python tidak sesederhana itu dalam prakteknya. Biasanya
kita juga menggunakan import library khusus jika sudah menyangkut masalah yang
lebih kompleks.
print("Ini adalah sebuah baris kode")#ini adalah contoh comment dan tidak akan
tercetak
Perlu diketahui, comment tidak akan pernah tampil pada hasil melalui console atau
GUI. Fungsi comment dapat dikatakan sebagai sebuah penanda. Kenapa bab ini
diberikan diawal? Harapannya yaitu agar kamu memiliki pengetahuan dan langsung
mempraktikkannya ketika kamu menuliskan baris kode program berikut dengan
dokumentasinya.
Dokumentasi kode juga berlaku untuk variable karena diperlukan suatu keterangan
bahwa variable berfungsi sebagai apa dan isinya apa. Maka dari itu jangan lupa
untuk membuat dan memberi comment untuk setiap kode program yang telah kamu
tuliskan!
Pendahuluan
Ketika kita dihadapkan dengan pengambilan suatu keputusan tentunya kita akan
mengevaluasi beberapa pilihan. Di dalam bahasa pemrograman, pengambilan
keputusan juga digunakan melalui penerapan konsep IF - ELSE. Konsep ini juga
berlaku pada python yang memiliki kesederhanaan dalam penulisannya.
Untuk itu, pada bab struktur kontrol: percabangan keputusan kamu akan
mempelajari 3 bagian, yaitu:
Pada praktek operator IF, ELIF dan ELSE ini akan sedikit berbeda dengan
sebelumnya. Perlu banyak modifikasi code yang dilakukan agar pemahaman materi
bisa sempurna. Maka dari itu mohon dibaca dengan teliti ya!
IF Statement
Penggunaan IF sebenarnya adalah sebuah statement untuk menentukan keputusan
mana yang akan diambil berdasarkan suatu kondisi yang ditentukan oleh pembuat
program.
Cobalah ketikkan kode seperti di bawah ini :
i = 10 #inisialisasi variable i yang memiliki nilai 10
IF … ELSE …
Cobalah ketikkan kode seperti di bawah ini:
Penjelasan :
Variable i memenuhi syarat pada kondisi pertama, yaitu nilai sama dengan 10. Maka
dari itu variable i tidak perlu dicek kembali di kondisi kedua.
IF … ELIF … ELSE ….
Cobalah ketikkan kode seperti di bawah ini:
i=5
if(i==5):
print("ini adalah angka 5")
elif(i>5):
print("lebih besar dari 5")
else:
print("lebih kecil dari 5")
i=7
if(i==5):
print("ini adalah angka 5")
elif(i>5):
print("lebih besar dari 5")
else:
print("lebih kecil dari 5")
Penjelasan:
Untuk i=7, nilai variable i tidak memenuhi syarat dari kondisi pertama yaitu apakah i
= 5? Selanjutnya, nilai variabel i dicek pada kondisi kedua, apakah i > 5? Kondisi
kedua ini memenuhi bahwa i > 5, sehingga dicetaklah pernyataan "lebih besar dari
5".
NESTED IF
Fungsi IF sendiri dapat digunakan secara bertingkat atau dapat memiliki
pengecekan lebih dari 1 kondisi, sebagai contoh:
Pernyataan ini berarti bahwa i harus bernilai kurang dari 7 dan juga harus kurang
dari 3 agar bisa memenuhi pengecekan tersebut.
Pendahuluan
Data Science tidak akan terlepas dari matematika. Pada modul python ini kita juga
belajar berbagai macam operator matematika dengan python yang tentu berguna
untuk membantu menyelesaikan masalah dalam data science. Pada sesi kali ini,
operator yang disajikan adalah operator dasar dan operator logika pada matematika.
Pada dasarnya, setiap bahasa pemrograman akan memiliki operasi pengelolahan
angka dan perbandingan.
Operator yang akan kita bahas kali ini adalah :
Nama Operator Logo Operator
Tambah +
Kurang -
Pembagi /
Perkalian *
Modulus %
Kurang dari <
Lebih dari >
Kurang dari sama
<=
dengan
Lebih dari sama dengan >=
Sama dengan =
a=10
b=5
selisih = a-b
jumlah = a+b
kali = a*b
bagi = a/b
print("Hasil penjumlahan a dan b adalah", jumlah)
print("Selisih a dan b adalah :",selisih)
print("Hasil perkalian a dan b adalah :",kali)
print("Hasil pembagian a dan b adalah:",bagi)
perasi modulus
Modulus cukup jarang dipakai, akan tetapi untuk beberapa kasus modulus sangat
berguna terutama dalam mempercepat proses perhitungan. Modulus merupakan
fungsi yang akan menghitung sisa dari hasil pembagian.
c=10
d=5
modulus=c%d
print("Hasil modulus",modulus)
Hasil modulus 0
Coba ubah nilai d dari 5 menjadi 3. Lalu RUN lagi code tersebut. Maka pasti akan
keluar hasil:
Hasil modulus 1
Kenapa bisa seperti itu? Prinsip modulus adalah dasarnya sebuah pembagian. Jika
pembagi tidak bisa membagi habis angka yang dibagi maka akan dibagi hingga
mendekati nilai terkecil yang tidak mampu dibagi lagi. Selisih antara angka yang
mendekati dan angka yang dibagi nanti merupakan hasil modulus. Jika habis dibagi
seperti kasus pertama 10/5 maka modulus akan mengembalikan nilai 0.
Pendahuluan
Perulangan atau looping merupakan salah satu elemen atau fungsi yang bisa
dikatakan sangat menunjang untuk kebutuhan programming dan data science.
Ambil contoh, seandainya kita harus memproses 1000x eksekusi code. Tentu akan
menghabiskan waktu bila kita harus menulis ulang kode tersebut sebanyak 1000x
juga.
Selain tidak bersifat scalable, efisiensi akan mempengaruhi performa dari program
yang kita buat. Seperti pada umumnya pada python juga memiliki
fungsi for dan while untuk melakukan looping. Logikanya hampir sama, namun
hanya berbeda dalam penulisannya jika kamu sudah terbiasa dengan C ataupun
Java.
while
Struktur while pada python tidak berbeda jauh dengan bahasa pemrograman
lainnya. Lebih sederhananya, struktur penulisan python membuat dia mudah untuk
dibaca.
Ketikan kode di bawah ini :
j = 0 #nilai awal j =0
while j<6: #ketika j kurang dari 6 lakukan perulangan, jika tidak stop perulangan
print("Ini adalah perulangan ke -",j) #lakukan perintah ini ketika perulangan
j=j+1 #setiap kali diakhir perulangan update nilai dengan ditambah 1.
for (1)
Struktur looping for pada python berbeda dengan struktur for pada umumnya.
Pastikan untuk memperhatikan hal ini dengan baik.
Coba ketik kode di bawah ini :
for i in range (1,6): #perulangan for sebagai inisialisasi dari angka 1 hingga
angka yang lebih kecil daripada 6.
for number in count: #looping untuk menampilkan semua elemen pada count
print("Ini adalah element count : ", number) #menampilkan elemen list pada
count
Pendahuluan
Pada pembuatan program yang kompleks dan memiliki banyak fitur, kita diharuskan
menggunakan fungsi. Hal ini bertujuan supaya kita tidak kesulitan untuk menulis
kode programnya. Kesulitan ini bisa muncul karena banyak kode yang harus ditulis.
Seiring berjalannya waktu, kode bisa menjadi sulit dibaca dan dirawat
(maintenance).
Dalam hal ini, fungsi dapat dianalogikan sebagai sebuah perangkat untuk tujuan
tertentu. Perangkat dengan tujuan tertentu ini merupakan fitur dari program kita yang
dapat dipanggil kapanpun sesuai dengan kebutuhan. Untuk membuat sebuah fungsi
perlu didasari pada tujuan tertentu apa yang akan dihasilkan oleh fitur program kita.
Dengan demikian, sebuah fungsi ini bersifat reusable atau dapat digunakan secara
berulang. Di samping itu, penggunaan fungsi membuat program menjadi lebih
terstruktur dan mudah dirawat.
def nama_fungsi():
print ("Hello ini Fungsi")
Sama seperti blok kode yang lain, kita juga harus memberikan indentasi (tab atau
spasi 2x) untuk menuliskan isi fungsi.
GAMBAR 3.1
nama_fungsi()
Pendahuluan
Modul merupakan objek python yang telah tersedia dari pengembangnya atau dapat
kamu kembangkan sendiri. Dalam bahasa yang cukup sederhana, modul adalah
kumpulan kode Python yang distruktur ke dalam beberapa fungsi, kelas, dan
variabel. Python sendiri telahmemiliki banyak library dan module yang bisa diakses
oleh pengguna secara free.
Umumnya modul dikembangkan untuk tujuan umum yang luas penerapannya
seperti:
untuk pengolah data numerik seperti array 1D, 2D, 3D atau hingga nD
dengan contohnya adalah numpy
untuk komputasi saintifik yang berbasis metode numerik dan statistik dengan
contohnya adalah scipy dan statsmodel
untuk pengolah dan analisis data seperti Microsoft Excel atau Google
Spreadsheets dengan contohnya adalah pandas, pypolar, dan modin
untuk visualisasi data dengan contohnya yaitu matplotlib, seaborn,
plotnine, altair, mayavi, bokeh, plotly, dll.
untuk pembelajaran mesin dengan contohnya yaitu scikit-learn, xgboost,
lightgbm, catboost, pycaret, dll
untuk deep learning dengan contohnya adalah keras, tensorflow, pytorch,
cafe, dll
Tentunya masih banyak lagi jika disebutkan. Library atau modul-modul yang telah
disebutkan merupakan library yang umum digunakan oleh data scientist.
import math
import math
print("Nilai pi adalah:", math.pi) # math.pi merupakan sintak untuk memanggil
fungsi pi
Import Sebagian Fungsi
Sebuah module dapat memiliki puluhan atau ratusan fungsi. Terkadang kasus
tertentu ketika memprogram, kita hanya membutuhkan satu, dua, atau beberapa
buah fungsi saja. Untuk meminimalisir ketidakefisienan suatu program dalam me-
load suatu module seperti yang telah dilakukan dalam format import
module_name. Selanjutnya, kita dapat mengimport beberapa modul yang
dibutuhkan saja menggunakan format from module_name import function_name
print("Nilai e adalah:", e)
Pendahuluan
CSV atau comma separated value adalah salah satu tipe file yang digunakan secara
luas di dunia programming. Tidak hanya itu CSV pun sering digunakan dalam
pengolahan informasi yang dihasilkan spreadsheet untuk diproses lebih lanjut
melalui mesin analitik. CSV pun dianggap sebagai file yang agnostik karena dapat
digunakan oleh berbagai database untuk proses backup data. CSV dianggap
sebagai salah satu tipe data yang sering dipakai untuk mengelola data pada proses
lanjutan.
Jika kamu ingin membaca file csv yang tersimpan di direktori yang sama dengan
direktori program python kamu, maka kode berikut dapat kamu gunakan (misalnya di
local computer kamu):
import csv
import pandas as pd
pd.set_option("display.max_columns",50)
table =
pd.read_csv("https://storage.googleapis.com/dqlab-dataset/penduduk_gender_head.csv
")
table.head()
print(table)
Pendahuluan
Grafik merupakan salah satu perangkat visualisasi. Visualisasi sendiri sudah
menjadi salah satu challenge atau poin penting dalam data science. Selain bisa
mempermudah seseorang untuk memahami data, visualisasi bisa meningkatkan
analisa atau memunculkan knowledge yang tidak sempat terekspos ketika tidak
menggunakan visualisasi. Pada sesi kali ini, kita akan menggunakan matplotlib
untuk melakukan visualisasi data yang sudah ada.
Bar Chart
Sebelum masuk pada membuat grafik bar, kita akan membahas library yang akan
gunakan. Python punya banyak library untuk visualisasi. Salah satu yang paling
sering digunakan adalah matplotlib karena memang sudah ada sejak lama dan
relatif stabil dalam perkembangannya. Maka dari itu, matplotlib dipilih untuk belajar
visualisasi pada sesi kali ini.
Matplotlib sendiri menyediakan banyak jenis grafik mulai dari scatter/plot, line, bar,
dan lain-lain. Pada praktik ini, akan ada tambahan library selain dengan
menggunakan matplotlib dan pandas, yaitu menggunakan numpy. Numpy sendiri
pada praktek kali ini digunakan untuk melakukan manipulasi data dari csv untuk
memudahkan visualisasi.
Ketikan kode di bawah ini :
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
table =
pd.read_csv("https://storage.googleapis.com/dqlab-dataset/penduduk_gender_head.csv
")
table.head()
x_label = table['NAMA KELURAHAN']
plt.bar(x=np.arange(len(x_label)),height=table['LAKI-LAKI WNI'])
plt.show()
GAMBAR 3.4
Parameter dalam Grafik (Memberikan Nilai
Axis dari data CSV)
Jika ditelisik lebih dalam pada CSV, dari sana ada nama kelurahan yang merupakan
variabel atau seharusnya menjadi nilai AXIS pada grafik ini. Di praktek kali ini, kita
akan mencoba bagaimana menempatkan nama kelurahan pada grafik.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
table =
pd.read_csv("https://storage.googleapis.com/dqlab-dataset/penduduk_gender_head.csv
")
table.head()
GAMBAR 3.5
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
table =
pd.read_csv("https://storage.googleapis.com/dqlab-dataset/penduduk_gender_head.csv
")
table.head()
plt.show()
GAMBAR 3.6
Penutup
Mudah bukan? Setelah mempelajari basic Python ini, diharapkan yang sudah
mengerjakan bisa mengerti fundamental dari programming python. Sedikit
rangkuman, memang course ini selain mengajarkan basic rule dari python kita juga
sedikit memberikan logic course didalamnya. Kita tahu bahwa Data Science, AI,
ataupun Machine Learning sangat identik dengan programming. Basic Programming
adalah pemahaman logic yang kuat. Harapannya dengan dikuatkan pondasi dalam
course ini ke depannya dalam menghadapi course lain yang ada. Sudah memiliki
pondasi dan bekal yang kuat, next kita akan menyajikan bagaimana bermain dan
mengelola data dengan Python pada course Data Wrangling with Python. See You!