Pemrograman Python Dasar

Jimy
7 min readAug 24, 2019

--

Python adalah bahasa pemrograman yang memiliki konsep bahwa semua code yang ditulis harus mudah dibaca dan dimengerti, sehingga bahasa yang digunakan sederhana dan sangat jelas yang awalnya dibuat oleh Guido van Rossum pada tahun 1990 yang kemudian dilanjutkan oleh Guido dan Python Software Foundation.

Nama Python dipilih oleh Guido sebagai nama bahasa pemrograman ini karena Guido sangat menyukai acara tivi Monty Python’s Flying Circus. Bahasa Python diturunkan dari bahasa Permrograman ABC.

Awalnya Python tidak digunakan secara khusus untuk Statistik, tetapi dibeberapa tahun terakhir, Python dikembangkan secara agresif untuk Statistik sebagai alternatif dari R. Python saat ini juga sangat baik digunakan untuk permodelan linier dan nonlinier, uji statistik parametrik dan nonparametrik, klasifikasi, klasterisasi, dan lainnya dan juga baik dalam visualisasi data. Python dan R saat ini adalah 2 platform yang paling populer untuk Data Science.

Python dapat didownload secara resmi disini.
Terdapat 2 versi yang masih aktif digunakan : versi 2 dan versi 3, keduanya terdapat sedikit pada perbedaan pada syntax, selanjutnya akan dibahas menggunakan versi 3 keatas, saat instalasi pastikan pip juga terinstall.

Setelah instalasi, Python bisa dijalankan dari

Windows cmd : C:\Users\username>python
Linux terminal : username@hostname:~$ python3

Berbeda dengan pemrograman lainnya Program Python berupa interpreter yang dituliskan baris per baris seperti pada Command Line Interface (CLI) atau biasa disebut Shell.

Python tidak sesulit bahasa pemrograman lainnya. Python tidak menggunakan titik koma (;) sebagai pembatas baris code, tetapi menggunakan Line baru serta sangat sensitif pada indentation code dengan menggunakan [TAB], jika code bagian bawahnya terkait dengan scope code bagian atasnya, maka indentation [TAB] wajib digunakan.

Mari membahas bahasa pemrograman Python dasar.

Variabel

Seperti bahasa pemrograman lainnya, Python menggunakan variabel, aturan nama variabel sama dengan bahasa lainnya, yaitu :

  1. Variabel berupa kombinasi huruf, angka dan garis bawah (underscore).
  2. Syntax Python tidak dapat digunakan sebagai nama variabel.
  3. Huruf besar dan kecil berbeda (case sensitive)

Variabel memiliki tipe data tetapi tidak perlu secara eksplisit dituliskan tipe datanya.

Deklarasi variabel pada Python cukup dengan memasukkan nilai kedalam variabelnya menggunakan operator =, komentar pada Python bisa menggunakan #, contoh :

Karakter

s = "Hello World"
s1 = "'Hello World dengan petik 1'"
s2 = '"Hello World dengan petik 2"'
print(s) #Hasil : Hello World
Output
Hello World

Numerik

a = 5 #Memasukkan nilai 5 bertipe integer ke variabel a
print(a) #Hasil : 5
a = 5
b = 6
print((a+b)/2) #Hasil berupa float 5.5

Untuk mengecek tipe data dan kelasnya suatu variable bisa menggunakan type(), contoh diatas type(a) akan menghasilkan “int”.

List

List adalah data array yang dapat menyimpan banyak data dalam 1 variabel saja dan diakses menggunakan indeks, berikut inisialisasi list di Python, menggunakan kurung siku [ dan ], list dapat menyimpan data seragam maupun tidak seragam, list akan dibahas lagi lebih lanjut nantinya :

x = [1, 5, 4, 9, 0]
y = [1, 5.4, True, "hello"]
print(y[1]) #Hasil 5.4, Indeks pada Python dimulai dari 0 bukan 1
Output
5.4
x += [12, 14] #Isi array ditambahan array baru
print(x)
Output
[1, 5, 4, 9, 0, 12, 14]

Operator

Aritmatik    : +,–,*,/,(,)
Pangkat : **
Modulus : %
Komparasi : <,>,<=,>=,==,!=
Logikal : not, and, or
Set variabel : =

Kondisi

If, elif dan else

x = 0
if x < 0:
print("Negatif") #Pastikan indent menggunakan [TAB]
elif x > 0:
print("Positif") #Pastikan indent menggunakan [TAB]
else:
print("Nol") #Pastikan indent menggunakan [TAB]
Output
Nol

Perulangan (Loop)

For

x = [2,5,3,9,8,11,6] #array pada Python
count = 0
for val in x:
if val % 2 == 0:
count += 1
print(count)
Output
3

While

i = 1
while i < 4:
print(i)
i += 1
Output
1
2
3

didalam loop bisa menggunakan syntax break untuk keluar dari loop dan continue lanjut ke loop berikutnya.

Function

Fungsi atau function merupakan potongan code yang diberikan nama dan dapat mengembalikan nilai tertentu berdasarkan parameter yang dimasukkan, digunakan apabila potongan code tersebut digunakan berulang-ulang.

def pangkat(x, y):
hasil = x**y
return hasil
z = pangkat(2,3)
print("Pangkat 3 dari 2 adalah : " + str(z))
Output
Pangkat 3 dari 2 adalah : 8

Python memiliki fungsi anonymous yang dapat digunakan tanpa harus didefinisikan terlebih dahulu menggunakan syntax lambda.

print("Pangkat 3 dari 2 adalah : " + str((lambda x,y: x**y)(2,3)))Output
Pangkat 3 dari 2 adalah : 8

Struktur Data / Data Structure

Ini adalah bagian terpenting dari Python yang akan sering digunakan untuk menyimpan dan memanipulasi data yang jumlahnya banyak dan akan sering digunakan dalam analisis Data Science terdiri dari :

  • List
  • Dictionaries
  • Tuples
  • Sets
  • Numpy Array
  • Pandas Data Frame

List

List sudah dijelaskan sebelumnya digunakan untuk menyimpan nilai array 1 dimensi.

x = [0,1,2,3,4,5]
x = list(range(6)) #sama dengan diatas, cara cepat untuk data seri
y = list(range(2,-3,-1) #membuat seri nilai menurun 2 ke -2 range 1
print(y)
Output
[2, 1, 0, -1, -2]
x = [i*2 for i in range(6)] #membuat list bilangan genap
print(x)
Output
[0, 2, 4, 6, 8, 10]
print(y[0:2]) #hanya index ke 0 dan 1 dari y sama dengan y[:2]Output
[2, 1]
print(y[2:]) #mengambil data dari index ke 2 sama dengan y[:-3]Output
[0, -1, -2]
print([i for i in y if i<0]) #filter y, tampilkan nilai dibawah 0Output
[-1, -2]
print(list(filter(lambda i: i<0,y)) #filter y, sama dengan diatasOutput
[-1, -2]
x[2] = 5 #memodifikasi index kedua dengan nilai 5
x = x[:3] #memotong index jadi hanya 3
print(x)
Output
[1, 2, 5]

Membuat List dengan 2 dimensi

a = [[1, 2, 3], 
[4, 5, 6],
[7, 8, 9]]
print(a)
Output
[[1, 4, 7],[2, 5, 8],[3, 6, 9]]
print(a[1][2]) #menampilkan baris ke-2 kolom ke-3Output
6
print([i[1] for i in x]) #menampilkan semua kolom ke-2, lebih baik menggunakan Numpy arrayOutput
[2, 5, 8]
print(a[2]) #menampilkan semua baris ke-3Output
[7, 8, 9]
#Memotong matrix lebih baik menggunakan Numpy Array#Transpose matrix lebih baik menggunakan Numpy Array

Dictionaries

Dictionaries digunakan untuk menyimpan data model keys to values, berbeda dengan List yang menggunakan [], Distionaries menggunakan {}, key harus menggunakan string.

Membuat Dictionaries

a = {"ID1": 20, "ID2" : 30, "ID4" : 40}
print(a["ID2"])
Output
30
a = { "merah" : [255, 0, 0],
"hijau" : [0, 255, 0],
"biru" : [0, 0, 255],
}
print(a["biru"])
Output
[0, 0, 255]

Tuples

Tuples mirip dengan List, bedanya Tuple tidak dapat diubah isinya seperti List.

x = ("a","b","c")
print(x[1])
Output
b

Sets

Sets mirip dengan List dan Dictionaries, bedanya List menggunakan [] dan Disctionaries harus memiliki key, sementara Sets sama dengan List hanya dengan menggunakan {}, bedanya adalah Sets tidak bisa menyimpan data yang duplikasi, jadi semua value hanya muncul satu kali dalam Sets.

x = {1, 2, 3, 4, 4, 5, 5}
print(x)
Output
[1, 2, 3, 4, 5]

Numpy Array

Numpy Array merupakan struktur data yang sangat baik jika digunakan untuk mendefisinikan array multidimensi, tetapi array ini tidak dapat langsung digunakan, karena bukan merupakan library default dari Python, untuk menggunakannya harus melakukan instalasi modul tambahan yang bernama Numpy. Library Numpy sangat disarankan untuk penggunakan Python untuk Data Science bersama dengan library Pandas, Matplotlib dan ScikitLearn. Array milik Numpy sangat fleksibel dan bisa dilakukan operasi array maupun operasi matrix seperti pada R, sementara array bawaan Python tidak bisa.

Instalasi Numpy, Pandas, Matplotlib dan ScikitLearn

Note : Dibutuhkan koneksi internet[Windows]
Pastikan pip sudah terinstall, jika belum, install ulang dengan mencentang pip saat instalasi kemudian jalankan ini dari cmd, pastikan cmd dijalankan dengan opsi "Run as Administrator" :
Upgrade pip terlebih dahulu :
C:\Windows\system32>python -m pip install --upgrade pipSetelah selesai, lanjut install Numpy, Pandas dan lainnya satu per satuC:\Windows\system32>pip install numpy
C:\Windows\system32>pip install pandas
C:\Windows\system32>pip install matplotlib
C:\Windows\system32>pip install scikit-learn
[Linux]
Pastikan python-pip sudah terinstall, jika belum install package python-pip sesuai distro masing-masing kemudian jalankan ini dari terminal :
username@hostname:~$ sudo pip install numpy
username@hostname:~$ sudo pip install pandas
username@hostname:~$ sudo pip install matplotlib
username@hostname:~$ sudo pip install scikit-learn

Untuk menggunakan Numpy, gunakan syntax import numpy as np

import numpy as npx1 = np.array([1, 2, 3, 4 ,5, 6, 7, 8, 9]) #array 1 dimensi
print(x1)
Output
array([1, 2, 3, 4 ,5, 6, 7, 8, 9])
x2 = np.array([1, 2, 3, 4 ,5, 6, 7, 8, 9]).reshape(3,3) #2 dimensi
print(x2)
Output
array([[1, 2, 3],
[4 ,5, 6],
[7, 8, 9]])
print(x2.T) #Transpose matrixOutput
[[1 4 7]
[2 5 8]
[3 6 9]]
print(x2[0,1]) #menampilkan nilai baris ke-1, kolom ke-2 sama dengan x2[0][1]Output
2
print(x2[0,]) #menampilkan nilai baris ke-1, sama dengan x2[0]Output
array([1, 2, 3])
print(x2[:,1]) #menampilkan nilai kolom ke-2Output
array([2, 5, 8])

Pandas Data Frame

Data Frame adalah stuktur data terpenting karena bentuknya seperti tabel yang memiliki kolom dan baris, mirip array numpy 2 dimensi, bedanya array numpy menyimpan data seragam, sementara Data Frame dapat menyimpan data dengan berbagai tipe data seperti tabel pada Database. Kebanyakan library Pandas, Scikit-learn, dan Matplotlib menggunakan Data Frame sebagai parameter datanya.

Membuat Data Frame

import pandas as pddf = pd.DataFrame({"ID" : [1,2,3],
"Nama" :["Budi","Agus","Bambang"],
"Umur" :[21,28,30],
"TanggalLahir" :["1997–02–05",
"1990–07–23","1988–12–13"]}
)
print(df)
Output
ID Nama Umur TanggalLahir
0 1 Budi 21 1997-02-05
1 2 Agus 28 1990-07-23
2 3 Bambang 30 1988-12-13
print(df["Nama"]) #menampilkan kolom nama, sama dengan print(df[2])Output
0 Budi
1 Agus
2 Bambang
Name: Nama, dtype: object
print(df.values[:,1]) #menampilkan kolom nama dan diubah menjadi numpy arrayOutput
['Budi' 'Agus' 'Bambang']
print(df.iloc[1]) #menampilkan baris ke-2Output
ID 2
Nama Agus
Umur 28
TanggalLahir 1990-07-23
Name: 1, dtype: object
print(df.values[2,:]) #menampilkan baris ke-3 dan diubah menjadi numpy arrayOutput
[3 'Bambang' 30 '1988-12-13']
print(df.values[1,1:3]) #menampilkan kolom nama dan umur Agus (baris 2)Output
['Agus' 28]

Memodifikasi Data Frame

import pandas as pddf = pd.DataFrame({"ID" : [1,2,3],
"Nama" :["Budi","Agus","Bambang"],
"Umur" :[21,28,30],
"TanggalLahir" :["1997–02–05",
"1990–07–23","1988–12–13"]}
)
df.iloc[1,1] = "Mahmud" #modifikasi Agus menjadi Mahmud
print(df)
Output
ID Nama Umur TanggalLahir
0 1 Budi 21 1997-02-05
1 2 Mahmud 28 1990-07-23
2 3 Bambang 30 1988-12-13
k = np.array(["Jakarta","Sorong","Bandung"])
df["TempatLahir"] = k #menambahkan kolom ke Data Frame
print(df)
Output
ID Nama Umur TanggalLahir TempatLahir
0 1 Budi 21 1997-02-05 Jakarta
1 2 Mahmud 28 1990-07-23 Sorong
2 3 Bambang 30 1988-12-13 Bandung
del df["TempatLahir"] #menghapus kolom
df = df.append({"ID": 4, "Nama" : "Ani", "Umur" : 19, "TanggalLahir" : "1999-10-30" }, ignore_index=True) #tambah barus baru
print(df)
Output
ID Nama Umur TanggalLahir
0 1 Budi 21 1997-02-05
1 2 Mahmud 28 1990-07-23
2 3 Bambang 30 1988-12-13
3 4 Ani 19 1999-10-30

--

--