Python Fundamental For Data Science
Python Fundamental For Data Science
Saat ini python merupakan bahasa pemrograman populer. Kondisi ini dibuktikan dengan hasil
beberapa survey terkait bahasa pemrograman yang sering dicari melalui mesin pencari google.
Python berhasil naik dengan melonjak tajam semenjak kelahirannya bahkan saat ini telah
mengungguli Java. Menurut insight developer survey dari stackoverflow pada tahun 2018 atau
melalui TIOBE Index, Python berhasil naik pada TOP 10 programming language yang paling
dicari menggungguli seniornya, C, PHP, dan C#.
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.
Untuk memulai belajar python, cobalah ketikkan kode berikut pada Code Editor
Klik Tombol
Hello World
Coba lanjutkan code tersebut pada baris selanjutnya dengan menggunakan kode ini :
Klik Tombol
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.
Tugas Praktek
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!
Tugas Praktek
True
Ayo belajar Python
Belajar Python Sangat Mudah
20
3.14
[1, 2, 3, 4, 5]
['satu', 'dua', 'tiga']
(1, 2, 3, 4, 5)
('satu', 'dua', 'tiga')
{'nama': 'Budi', 'umur': 20}
{'nama': 'Andi', 'umur': 21}
Tugas Praktek
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:
Menggunakan IF yang dapat dianalogikan dengan "Jika sesuatu memenuhi suatu kondisi
maka lakukanlah A, namun jika tidak maka tidak terjadi apa-apa".
Menggunakan IF dan ELSE yang dapat direpresentasikan dengan "Jika sesuatu
memenuhi suatu kondisi maka lakukanlah A, namun jika tidak terpenuhi maka
lakukanlah B".
Menggunakan IF, ELIF dan ELSE. ELIF merupakan singkatan dari ELSE IF di python.
Penerapan konstruksi IF, ELIF dan ELSE ini dapat dianalogikan dengan "Jika sesuatu
memenuhi suatu kondisi maka lakukanlah A, jika tidak, lakukanlah pengecekan pada
kondisi berikutnya yaitu jika memenuhi lakukanlah B, jika tidak maka lakukanlah C".
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.
Dengan mengunakan code yang sama, ubahlah nilai variable i menjadi 7.
Kliklah tombol , maka kamu akan temukan tidak ada hasil yang ditampilkan. Hal ini
disebabkan oleh nilai i=7 yang diinisialisasi tidak memenuhi syarat kondisi pada IF yang telah
dibuat.
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.
Dengan menggunakan code yang sama, coba ubah nilai varible i menjadi 5.
bukan angka 10
Penjelasan:
Nilai variable adalah 5. Pada kondisi pertama variable i tidak memenuhi. Maka output yang
diberikan adalah perintah pada else yang merupakan hasil yang keluar apabila pengecekan
pertama tidak sesuai.
F … 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")
Coba modifikasi kode sebelumnya dengan mengubah nilai variable i menjadi 7 seperti contoh
dibawah ini:
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".
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=3, 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 masih
tidak memenuhi bahwa i > 5. Dengan demikian kondisi ketiga sebagai piliha terakhir yang akan
dicetak yaitu pernyataan "lebih kecil 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.
Tugas:
Ketiklah potongan code di bawah ini pada live code editor untuk melakukan pengecekan bertingkat
Fokus pada sesi ini dititikberatkan pada penggunaan operator matematika menggunakan dua
variabel yang telah diinisialisasi masing-masingnya dengan bilangan bulat tertentu.
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)
Operasi 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.
Jika angka bernilai genap maka keluarkan "angka termasuk bilangan genap". Selanjutnya,
ganti nilai variable angka dengan nilai 5 dan ceklah kembali apakah angka bernilai ganjil. Jika
iya, keluarkan "angka termasuk bilangan ganjil".
angka=5
if(angka%2==0):
print("angka termasuk bilangan genap")
else:
print("angka termasuk bilangan ganjil")
Perulangan
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.
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.
for i in range (1,6): #perulangan for sebagai inisialisasi dari angka 1 hingga
angka yang lebih kecil daripada 6.
Maksud dari fungsi for i in range (1,6) adalah, jika kita konversi pada JAVA atau C sama
dengan for(i=1;i<6i++). Jika dikonversi menjadi kalimat maka akan menjadi “perulangan
dimulai dari nilai i = 1 hingga nilai i kurang dari 6 dimana setiap kali perulangan nilai i
akan selalu ditambah 1”. Jika nilai i sudah mencapai 6 perulangan akan dihentikan.
for number in count: #looping untuk menampilkan semua elemen pada count
print("Ini adalah element count : ", number) #menampilkan elemen list pada
count
Note: Kode dasar sudah disertakan, Anda cukup mengganti tanda # dengan nilai-nilai yang
sesuai.
Function
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.
Contoh :
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.
nama_fungsi()
Sebagai contoh full code-nya, kamu bisa coba ketikkan kode di bawah ini :
# Membuat Fungsi
def salam():
print("Hello, Selamat Pagi")
## Pemanggilan Fungsi
salam()
Untuk mempermudah pembelajaran, pada contoh kali ini telah disediakan rumusan matematika
untuk menghitung luas pada segitiga. Berikut adalah contoh kodenya:
# Pemanggilan fungsi
##4 dan 6 merupakan parameter yang diinputkan kedalam fungsi luas segitiga
luas_segitiga(4, 6)
Meneruskan kembali di poin sebelumnya dengan fungsi luas segitiga yang sudah dicontohkan,
mari tambahkan return value sehingga menjadi seperti ini:
# Pemanggilan fungsi
##4 dan 6 merupakan parameter yang diinputkan kedalam fungsi luas segitiga
print("Luas segitiga: %d" % luas_segitiga(4, 6))
Luas segitiga: 12
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
Secara umum, module memiliki banyak fungsi. Cara pemrogram untuk mengakses fungsi-fungsi
yang tersedia pada suatu modul juga berbeda-beda. Untuk saat ini, perhatikan kode berikut dan
kemudian ketikkan kode di bawah ini di Code Editor:
import math
print("Nilai pi adalah:", math.pi) # math.pi merupakan sintak untuk memanggil
fungsi pi
Klik Run untuk melihat hasilnya. Bila sudah paham kegunaanya, klik Submit untuk
melanjutkan ke bagian berikutnya.
Nilai pi adalah: 3.141592653589793
Klik Run untuk melihat hasilnya. Bila sudah paham kegunaanya, klik Submit untuk
melanjutkan ke course selanjutnya.
Klik Run untuk melihat hasilnya. Bila sudah paham kegunaanya, klik Submit untuk
melanjutkan ke bagian selanjutnya.
print("Nilai e adalah:", e)
Klik Run untuk melihat hasilnya. Bila sudah paham kegunaanya, klik Submit untuk
melanjutkan ke course selanjutnya.
Sekarang kita akan mencoba membaca sebuah file CSV yang telah dihasilkan aplikasi atau
program lain. Di Python, hasil pembacaan setiap baris pada file CSV akan dikonversi menjadi
list Python.
Berikut adalah contoh kode untuk membaca file CSV dengan kasus yang sangat sederhana, coba
ketik kode di bawah ini pada Code Editor:
import requests
from contextlib import closing
import csv
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
Klik Run untuk melihat hasilnya. Bila sudah paham kegunaanya, klik Submit untuk
melanjutkan ke course selanjutnya.
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)
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.
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()
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()
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()
Bila dijalankan, akan keluar hasil seperti di bawah ini:
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!