Data Science, Python, Statistics

Data Science dengan Python [Pemula – Bagian I]

Daftar Isi


Pendahuluan

Tulisan ini dibuat untuk teman-teman yang suka dan berminat untuk mendalami pengolahan data dengan python. Python memang menarik perhatian saya yang sudah terbiasa dengan Excel dan R karena memang sedang trend dan kegunaanya saat itu sedang ramai dibicarakan dan ‘ternyata’ sangat fleksibel digunakan. 

Saya akan memulai dan menyicil artikel ini dari hal-hal yang paling dasar sampai dianggap sulit. Tujuanya selain untuk berbagi ilmu dengan teman-teman tetapi juga sebagai media catat bagi saya yang mendalami python dengan otodidak.

 

Hello World dan Operasi Matematika

Mari kita mulai dari kebiasaan lama para dosen kita dalam memulai kelas pemograman, yaitu mencetak hello world. Tidak seperti bahasa Java atau C yang cenderung panjang, pada Python lebih simpel dan sederahana — mirip seperti bahasa dalam R

print('helloworld')

maka hasilnya akan seperti ini

helloworld

Tentunya itu sangat mudah, bukan? Selanjutnya kita masuk pada bagian yang juga mudah yaitu operasi matematika, seperti pembagian (/), pertambahan (*), perjumlahan (+), pengurangan (-), pangkat (**), dan modulo (%). Terutama untuk bagian terakhir diterjemahkan sebagai sisa pembagian, contohnya seperti pada tabel bawah module 18%7 apabila kita run hasilnya adalah 4. Nilai tersebut muncul dari barikut 18 apabila dibagi nilai 7 hanya bisa dengan nilai 14, sisa dari nilai 18 adalah 4. Jadi nilai 4 yang diambil.

 

>>> print(5/8) #pembagian
0.625
>>> print(5*9) #pertambahan
45
>>> print(2+3) #penjumlahan
5
>>> print(9-2) #pengurangan
7
>>> print(18/7) #modulo -- sisa dari pembagian
2.5714285714285716
>>> print(3**2) #pangkat
9
>>> print(10//3) #pembulatan dari hasil pembagian
3
>>>
>>> print(9*2+5**2)
43

 

Variabel

Assign Variable

Assign variabel adalah proses untuk menempatkan nilai pada sebuah variabel agar nilai tersebut lebih mudah untuk dapat dipanggil kembali pada proses analisis lebih lanjut. Assign variabel biasanya menggunakan tanda ‘=’ untuk menyatakan nilai tersebut.

#assign variable
angka=100 #assign variable 'angka' dengan nilai '100'
print(angka)

maka hasilnya akan seperti ini

100

Jenis Variabel

Dalam python, jenis variabel dasar sama seperti bahasa pemograman lainnya seperti bilangan bular berupa integer; pecahan berupa float; karakter huruf berupa string; dan biner berupa boolan. Dalam statistik biasanya integer berupa skala pengukuran nominal dan ordinal, sedangkan float bisa berupa skala pengukuran kontinyu (interval atau rasio)

berat=100 #integer -- bilangan bulat
tinggi=174.5 #float -- bilangan pecahan
status='belum menikah' #string - karakter
overweight=True #boolean

print(berat)
print(tinggi)
print(status)

maka hasilnya akan seperi ini

100
174.5
belum menikah

Menghitung Variabel

Kali ini kita akan menghitung beberapa variabel. Sebenarnya akan tetap bisa untuk menghitung operasi matematika seperti ini

berat_kali_tinggi=100*174.5
print(berat_kali_tinggi)

maka hasilnya seperti ini

17450.0

Tetapi, tentunya apabila kita akan menggunakan nilai-nilai tersebut berkali-kali akan merepotkan kita, terutama semakin besarnya kemungkinan salah ketik. Jadi operasi di atas bisa saja apabila kita menulis seperti dibawah ini

berat=100 #integer -- bilangan bulat
tinggi=174.5 #float -- bilangan pecahan
berat_kali_tinggi2=berat*tinggi
print(berat_kali_tinggi2)

Cek Tipe Variabel

Tidak seperti bahasa pemograman java yang harus menentukan tipe variabel ketika kita mendeklarasikan sebuah variabel, python sangat pengertian untuk dapat menerjemahkan sendiri, seperti angka 10 pasti integer, 10.00 adalah float, sepuluh adalah string, False adalah boolean. Tapi kita bisa juga mengecek tipe apa sih nilai dari variabel tersebut, dengan syntax dibawah ini.

>>> print(type(berat))
<class 'int'>
>>> print(type(tinggi))
<class 'float'>
>>> print(type(status))
<class 'str'>
>>> print(type(overweight))
<class 'bool'>

 

Casting Type Data

Ya. dalam beberapa kasus kita dituntut untuk menggunakan tipe data tertentu, itu memungkinkan. Lalu bagaimana kita bisa merubah tipe data itu? apalagi python menerjemahkan itu sendiri, misal kita ingin nilai 10 sebagai float walaupun angka dibelakang koma itu 00. Kita bisa melakukan dengan cara seperti ini, dengan contoh merubah variabel berat yang integer pada bentuk lain seperti float, string, dan boolean.

berat_float=float(berat)
berat_string=str(berat)
berat_boolean=bool(berat) #false jika nilai berat=0, lainnya 1

 

Operasi Komparasi dan Logika

Pada bagian ini akan menyinggung operasi lebih besar (>), lebih kecil (<), lebih besar sama dengan (>=), lebih kecil sama dengan (<=), sama dengan (=), dan tidak sama dengan (!=). Sebelum menggunakan fungsi ini dengan kegunaan yang lebih kompleks, mari kita lihat perbedaanya pada hasil dibawah ini.

>>> andi=175
>>> meyla=160
>>> randi=184
>>>
>>> print(randi>meyla) #hasilnya True
True
>>> print(randi<=meyla) #hasilnya False
False
>>> print(meyla<andi<randi) #Hasilnya True
True
>>> print(randi>=184) #hasilnya True
True
>>> print(randi!=190) #hasilnya True, dibaca randi tidak sama dengan 190
True

 

Selain itu ada juga operasi ‘is’ dan ‘is not’. Ini sedikit tricky antara operasi ‘sama dengan’ dengan ‘is’ ataupun ‘tidak sama dengan’ dengan ‘is not’ karena secara harfiah sangat mirip dan mungkin menghasilkan nilai yang sama. Tapi secara singkat, perbedaan mencolok dari kedua itu adalah penggunaan ‘is’ dan ‘is not’ lebih baik digunakan pada variabel yang telah di- assignment.

>>> meyla=160
>>> randi=184
>>>
>>> persamaan=andi is meyla #hasilnya False
>>> perbedaan=andi is not meyla #Hasilnya True
>>>
>>> print(persamaan)
False
>>> print(perbedaan)
True

 

List

Kita baru saja tahu bagaimana menempatkan sebuah value pada variable. Kenyataanya dalam data sains ataupun statistika, sebuah variabel hampir dipastikan terdiri dari banyak buah data. Seperti contohnya, tinggi badan dari pemain Persib yang tentunya tidak terdiri dari hanya satu orang saja. Oleh karenanya ada fungsi List untuk assign variabel dari lebih dari satu titik. Untuk mempermudah kita mengerti hal ini, mari kita lihat syntax  berikut

# tinggi badan (dalam centimeter)

atep = 173
tantan = 175
eka = 165
sergio = 180
henhen = 170 

#Membuat list

tinggi=[atep,tantan,eka,sergio,henhen] # Print tinggi

print(tinggi)

maka hasilnya akan seperti ini

[173, 175, 165, 180, 170]

Tapi itu kurang informatif, makanya saya ingin menambahkan string dan float dalam satu list dimana secara berurutan nama dan tinggi berat badanya.

#membuat nama bersamaan dengan hasil
tinggi2 = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen]

# Print tinggi2
print(tinggi2)

maka hasilnya akan seperti ini

['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]

Tapi untuk mempermudah, kita bisa  menemparkan dua data itu dalam dua buah kolom, dimana satu kolom adalah pemain dan lainnya adalah tinggi badan. Makanya kita bisa membuat list dalam list seperti pada contoh dibawah ini.

# tinggi sebagai as list of lists
persib = [["Atep", atep],
         ["Tantan", tantan],
         ["Eka", eka],
         ["Sergio", sergio],
         ["Henhen", henhen]]

# Print out persib
print(persib)

maka hasilnya akan seperti ini

[['Atep', 173], ['Tantan', 175], ['Eka', 165], ['Sergio', 180], ['Henhen', 170]]

Index dalam List

Dalam Python urutan dalam list bisa dikatakan sedikit berbeda dan agak tricky — urutan dari depan dimulai dengan angka 0, sedangkan dari belang dengan angka 1. Sebagai contoh kita lihat kembali data Pemarin Persib ini.

['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170]

List diatas terdiri dari 10 buah string dan float. maka kalau kita menerjemahkan urutanya dari depan akan terdapat index seperti ini

[0,1,2,3,4,5,6,7,8,9]

Sedangkan kalau dari belakang akan terdapat index seperti ini.

[-10,-9-8,-7,-6,-5,-4,-3,-2,-1]

Sebagai contoh, apabila kita ingin mengidentifikasi nilai atep dan tingginya dengan nilai [‘Atep’,173] maka kita dapat mengidentifikasi dengan dua buah cara yaitu

[0,1]

atau

[-10.-9]

Contoh lainnya, apabila kita ingin melihat  Eka dan nilainya [‘Eka’,165], maka

[4,5]

atau

[-6,-5]

Kita juga dapat melakukan ini dalam sebuah rentang melalui tanda titik dua (:). Misal kita ingin mengidentifikasi rentang sebuah list melalui nilai index tertentu dapat dilihat melalui sebuah persamaan ini [index awal:index akhir]. Tapi hal rentang ini adalah index akhir tidak dapat disertakan.

Contohnya, apabila kita ingin melihat sebuah list nilai Eka dan Sergio, maka rentang index yang dapat diambil adalah [4:8].

Contoh lainnnya, apabila kita ingin melihat nilai Sergio dan Henhen, maka rentang index yang diambil adalah [-4:]. Nilai kosong diakhir menunjukan rentang diambil sampai index terakhir, begitu pula nilai kosong diawal yang dimaknaik sebagai diambilnya index dari 0.

 

Memotong List

Dari ilustrasi diatas, selanjutnya mari kita masuk pada topik slicing dimana kita hendak untuk memotong sebagian  satu buah variabel. Mari kita buat kembali variabel ‘persib’ dengan detail dibawah ini dengan menambahkan satu buah data dari tinggi badan Klok.

# Create the persib list
atep = 173
tantan = 175
eka = 165
sergio = 180
henhen = 170
klok=190

persib = ["Atep", atep,"Tantan", tantan, "Eka", eka,"Sergio", sergio, "Henhen", henhen,"Klok",klok]

Mari kita coba untuk mengambil sebagian dari himpunan dari contoh syntax dan hasilnya dibawah ini.

>>> print(persib[1])
173
>>> print(persib[-1])
190
>>> print(persib[-2])
Klok
>>> print(persib[5])
165

Sekarang kita coba bermain dengan slicing dengan kegunaan yang lebih kompleks.

>>> # Membuat daftar tinggi pemain naturalisasi
>>> persib_naturalisasi=['Tinggi Badan Sergio Van Dijk= ', persib[7], 'dan Tinggi Badan Mark Anthony Klok =' ,persib[-1]]
>>> print(persib_naturalisasi)
['Tinggi Badan Sergio Van Dijk= ', 180, 'dan Tinggi Badan Mark Anthony Klok =', 190]
>>> #Menghitung Rata Rata pemain naturalisasi
>>> mean_naturalisasi=((persib[-5]+persib[-1])/2)
>>> print(mean_naturalisasi)
185.0
>>> # Membuat daftar pemain lokal Persib
>>> persib_lokal=persib[:6]
>>> # Membuat Daftar pemain naturalisasi Persib
>>> persib_naturalisasi2=(persib[6:8],persib[-2:])
>>> # Print out pemain Lokal dan Naturalisasi
>>> print(persib_lokal)
['Atep', 173, 'Tantan', 175, 'Eka', 165]
>>> print(persib_naturalisasi2)
(['Sergio', 180], ['Klok', 190])

Menambah List

Pada bagian ini kita akan melakukan penambahan dalam sebuah list.  Sangat sederhana kita bisa menambahkan melalui syntax berikut.

Persib=persib+["Ezra Walian",+185]

Maka hasilnya akan seperti ini

['Atep', 173, 'Tantan', 175, 'Eka', 165, 'Sergio', 180, 'Henhen', 170, 'Klok', 190, 'Ezra Walian', 185]

 

Function


Maulana Akbar

Data enthusiast. Social Scientist and Researcher for BRIN. Love to work in both qualitative and quantitative data. Playing Python and R during leisure time.

Leave a Reply