Anda di halaman 1dari 12

Python adalah bahasa pemrograman yang ditujukan untuk general- Penamaan suatu variabel pada Python dapat dikatan

thon dapat dikatan valid selama


purpose programming dengan kata lain Python bisa digunakan untuk memenuhi aturan-aturan berikut:
berbagai permasalahan seperti pengembangan aplikasi web ataupun mobile, 1. Nama dari sebuah variabel harus dimulai dengan huruf (a-z, A-Z) atau
data science, dll. Dan Python termasuk dalam kategori high-level karakter garis bawah underscore (_) dan tidak dapat dimulai dengan angka (0-
programming language dikarenakan bahasa pemrograman Python yang 9)
mudah untuk dibaca dan dituliskan. 2. Variabel hanya boleh mengandung karakter alfabet, bilangan dan
Fungsi Python yang pertama dipelajari adalah print(). Dengan fungsi underscore (a-z, A-Z, 0-9, _)
print() kita bisa menampilkan atau mencetak teks ke layer pengguna. Syntax 3. Variabel bersifat case-sensitive yang mengartikan bahwa variabel
atau struktur penggunaan dari fungsi print() adalah sebagai berikut TINGGI, tinggi dan Tinggi merujuk pada tiga variabel berbeda
print(argument)
TIPE DATA DASAR
Perlu diingat, untuk argumen berupa teks maka harus berada didalam tanda 1. Null Type: Tipe data null dalam Python digunakan untuk menyimpan
kutip ‘’ atau “”, sedangkan untuk argumen lainnya tidak perlu menggunakan nilai kosong atau tidak ada yang dinyatakan dengan None.
tanda kutip. 2. Boolean Type: Tipe data Boolean atau bool digunakan untuk
Sebuah program Python pada umumnya terdiri dari menyimpan nilai kebenaran (True, False) dari suatu ekspresi logika
1. Statements: Instruksi yang diberikan secara baris per baris untuk 3. Numeric Type: Tipe data yang digunakan untuk menyimpan data
dijalankan. berupa angka. Terdapat dua macam tipe data numeric, yaitu int untuk
#Statement menyimpan bilangan bulat (cth.: 0, 1, 2, 404, -500, -1000) dan float
Print(‘Belajar Python menyenangkan’) untuk menyimpan bilangan rill (cth.: 0.5, 1.01, 2.05, 4.04)
2. Variables: Lokasi penyimpanan yang dapat digunakan untuk 4. Text Type: Pada Python, tipe data string (str) digunakan untuk
menampung sebuah informasi. menyimpan data teks. Tipe data string dimulai dengan tanda kutip
3. Literals: Simbol-simbol yang dapat kita gunakan untuk mengisi suatu (baik kutip satu/dua) dan diakhir dengan tanda kutip. Contoh: “Teks”,
variabel “Contoh teks menggunakan Python”, dan ‘Teks pada Python’. Untuk
#Variables & Literals mendeklarasikan tipe data string ke dalam beberapa baris, dapat
dilakukan dengan menggunakan tanda kutip satu ataupun tanda kutip
bilangan1 = 5 dua sebanyak 6 kali. Sebagai contoh:
bilangan2 = 10 ‘‘‘Sepatu Niko merupakan sepatu kasual.
4. Operators: Simbol-simbol yang dapat digunakan untuk mengubah
Sepatu ini tersedia dalam berbagai macam
nilai dari suatu variabel dengan melibatkan satu atau lebih variabel dan
literal. ukuran.’’’
#Operators
print(bilangan1 + bilangan2) SEQUENCE TYPE
Tipe data ini digunakan untuk menampung sekumpulan data secara
teroganisir. Bentuk tipe data sequence ini adalah List dan Tuple.
ATURAN PENAMAAN PYTHON VARIABLES
Tipe data list diawali dengan tanda kurung siku buka ( [ ) memisahkan print(contoh_set)
setiap elemen di dalamnya dengan tanda koma dan ditutup dengan kurung #Hasil
siku tutup ( ] ). Sebagai contoh:
{'Linda', 'Cici', 'Budi', 'Dewi'}
Setiap elemen dari list memiliki indeks yang dimulai dari angka 0 dan
Untuk tipe data frozenset sebenarnya hanya merupakan set yang
terus bertambah satu nilainya hingga elemen terakhir dari list. Tipe data list
bersifat immutable, yang artinya setiap elemen di dalam frozenset tidak dapat
bersifat mutable yang berarti setiap elemen di dalam list dapat dirubah
diubah setelah proses deklarasinya.
nilainya setelah proses pendeklarasian list.
#Contoh List
MAPPING TYPE
contoh_list = [1, ‘dua’, 3, 4.0, 5]
Tipe data mapping dapat digunakan untuk memetakan sebuah nilai ke
Selanjutnya adalah tipe data tuple. Tipe data tuple juga berfungsi untuk
nilai lainnya. Tipe data mapping disebut dengan istilah dictionary. Tipe
menampung sekumpulan data. Tipe data ini diawali dengan tanda kurung buka
data dictionary dapat dideklarasikan dengan diawali oleh tanda kurung buka
( ( ) memisahkan setiap elemen di dalamnya dengan tanda koma dan ditutup
kurawal ( { ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , )
dengan tanda kurung tutup ( ) ). Sebagai contoh:
dan ditutup dengan tanda kurung kurawal ( } ). Setiap elemen pada tipe
#Contoh Tuple data dictionary dideklarasikan dengan format:
contoh_tuple = (‘Januari’, ‘Februari’, ‘Maret’, “kunci” : “nilai”
‘April’) Untuk mengakses elemen dari sebuah dictionary, maka hanya perlu
Aturan indeks dan cara mengakses elemen pada sebuah tuple serupa menspesifikasikan kata kunci yang terdapat dalam dictionary tersebut.
dengan list. Berbeda dengan tipe data list, tipe data tuple bersifat immutable #Contoh Dictionary
yang berarti elemen pada tipe data tuple tidak dapat diubah setelah proses person = {‘nama’: ‘John Doe’, ‘pekerjaan’:
pendeklarasiannya. ‘Programmmer’}
#Mengakses elemen dictionary
SET TYPE
print(person[‘nama’])
Serupa dengan tipe data sequence, tipe data set digunakan untuk
menampung sekumpulan data dengan tipe lainnya. Terdapat dua jenis dari tipe #Hasil
data set yaitu, set dan frozenset. Tipe data set diawali dengan tanda kurung John Doe
buka kurawal ( { ), memisahkan setiap elemen di dalamnya dengan tanda
koma ( , ) dan ditutup dengan tanda kurung tutup ( } ). Namun berbeda ARITHMETIC OPERATORS
dengan tipe data sequence, seperti list, tipe data objek tidak mengizinkan Arithmetic operator digunakan pada tipe data numerik, untuk melakukan
adanya elemen dengan nilai yang sama dan tidak memperdulikan urutan dari operasi matematika sederhana yang terdiri atas:
elemen. Simbol
Keterangan Contoh
#Contoh Set Operator
contoh_set = {‘Dewi', 'Budi', 'Cici', 'Linda', + Penambahan 3+2=5
- Pengurangan 4–2=2
'Cici'}
Simbol Comparison Operators dapat digunakan untuk membandingkan dua buah
Keterangan Contoh
Operator nilai, berikut merupakan contoh-contoh operator komparasi.
* Perkalian 3*2=6 Simbol
/ Pembagian 3 / 2 = 1.5 Keterangan Contoh
Operator
% Modulo/Sisa bagi 3%2=1 == Persamaan 33 == 33 (True)
Dikarenakan 3 tidak habis 34 == 33 (False)
dibagi 2 dan menyisakan 1 != Pertidaksamaan 33 != 33 (False)
** Pangkat 3 ** 2 = 9 34 != 33 (True)
// Pembagian dengan 3 // 2 = 1 > Lebih besar dari 33 > 34 (False)
pembulatan ke bawah Dikarenakan 1.5 akan 34 > 33 (True)
menjadi 1 saat dibulatkan ke < Lebih kecil dari 33 < 34 (True)
bawah 34 < 33 (False)
>= Lebih besar atau 33 >= 34 (False)
ASSIGNMENT OPERATORS sama dengan 34 >= 33 (True)
Assignment Operator digunakan untuk mendeklarasikan nilai secara 33 >= 33 (True)
langsung ke suatu variabel. <= Lebih kecil atau 33 <= 34 (True)
Simbol sama dengan 34 <= 33 (False)
Keterangan Contoh 33 <= 33 (True)
Operator
+= Penambahan x += 2 ekivalen dengan x =
x+2 LOGICAL OPERATORS
-= Pengurangan x -= 2 ekivalen dengan x = x Logical Operator digunakan untuk menggabungkan beberapa nilai
-2 kebenaran atas suatu statemen logika.
*= Perkalian x *= 2 ekivalen dengan x = Simbol
x*2 Keterangan Contoh
Operator
/= Pembagian x /= 2 ekivalen dengan x = x and Menerima dua nilai kebenaran x = 5
/2 dan mengembalikan nilai benar x >= 1 and x <= 10 (True)
%= Modulo/Sisa bagi x %= 2 ekivalen dengan x = jika keduanya benar x >= 1 and x <= 4 (False)
x%2 or Menerima dua nilai kebenaran x = 3
**= Pangkat x **= 2 ekivalen dengan x = dan mengembalikan nilai benar x >= 1 or x <= 2 (True)
x ** 2 jika salah satu benar x >= 5 or x <= 0 (False)
//= Pembagian dengan x //= 2 ekivalen dengan x = not Negasi – menerima sebuah nilai x = 7
pembulatan ke bawah x // 2 kebenaran dan mengembalikan not(x == 7) (False)
komplemennya not(x >= 10) (True)
COMPARISON OPERATORS
IDENTITY OPERATORS
Identity Operator dapat digunakan untuk membandingkan identitas dari CONDITIONING FOR DECISION (IF STATEMENT)
dua buah variabel. Python menyediakan flow control statement untuk berinteraksi dengan
Simbol variabel bertipe Boolean dan operator logika. Flow control statement dalam
Keterangan Contoh
Operator Python dapat dituliskan dengan menggunakan format berikut
is Menerima dua buah objek dan x = ["Ani", "Budi"] #if statement
mengembalikan nilai True y = ["Ani", "Budi"] if conditions:
Ketika keduanya merujuk pada a = x
do_action_1
objek yang sama dan False print(a is x) (True)
dalam kondisi lainnya print(a is y) (False) ……
do_action_n
is not Menerima dua buah objek dan x = ["Ani", "Budi"] Dengan conditions berikan operator-operator yang mengembalikan nilai
mengembalikan nilai True ketika y = ["Ani", "Budi"] kebenaran yang digabungkan dengan operator logika. Dalam if statement,
keduanya merujuk pada objek a=x do_action_1 sampai dengan do_action_n harus ada didalam blok dengan
yang berbeda dan False jika sama print(a is not x) (False) menambahkan indentsi (jorokan) dan akan dijalankan saat conditions bernilai
print(a is not y) (True) True.
Pada umumnya, operator identitas sering digunakan bersamaan dengan Dalam if statement kita bisa menambahkan satu ataupun lebih flow control
fungsi type(), yang mana fungsi type() akan menerima sebuah objek dan statement elif untuk melakukan pengecekan kondisi lainnya, saat kondisi
mengembalikan tipe data dari objek tersebut. dalam sebuah if statement atau elif di atasnya tidak terpenuhi.
#if statement with elif
MEMBERSHIP OPERATORS if conditions:
Membership Operator (keanggotaan) dapat digunakan untuk memeriksa do_action_1
anggota dari sebuah tipe data sequence/set. Operator keanggotaan meliputi: ……
Simbol do_action_n
Keterangan Contoh
Operator
in Menerima sebuah sequence/set x = ["Ani", "Budi", "Cici"]
elif conditions:
dan objek, mengembalikan True y = "Cici" do_action_1
ketika objek merupakan anggota z = "Dodi" ……
dari sequence/set, dan False print(y in x) (True) do_action_n
ketika bukan. print(z in x) (False)
not in Menerima sebuah sequence/set x = ["Ani", "Budi", "Cici"] PYTHON PRIMITIVE LOOP CONTROL
dan objek, mengembalikan True y = "Cici" Loop Control merupakan salah satu fitur yang mengizinkan penggunanya
ketika objek bukan merupakan z = "Dodi" untuk melakukan serangkain aksi, selama suatu kondisi yang telah ditetapkan
anggota dari sequence/set, dan print(y not in x) (False) bernilai benar. Terdapat dua bentuk dari loop control, yaitu
False ketika merupakan. print(z not in x) (True)
 while loops
Statement while akan terus menjalankan aksi di dalamnya, selama .clear() Menghapus seluruh elemen dalam sebuah list
kondisi yang dituliskan di samping kanan statemen while terus .copy() Mengembalikan copy dari setiap elemen dalam list
terpenuhi. Perintah break dapat digunakan untuk keluar dari .count() Mengembalikan jumlah kemunculan suatu elemen pada list
struktur pengulangan dan perintah continue untuk melanjutkan .extend() Menggabungkan dua buah list seperti penggunaan operator +
proses pengulangan berikutnya. untuk list
#while loops .index() Mengembalikan indeks dari elemen pertama yang ditemukan
dari awal sebuah list
while ……:
.insert() Menyisipkan elemen pada indeks yang dispesifikasikan
action_1 .pop() Menghilangkan elemen pada posisi tertentu
.remove() Menghilangkan elemen dengan nilai tertentu
.reverse() Membalik urutan elemen dari sebuah list
 for loops .sort() Mengurutkan elemen pada sebuah list, secara default dengan
Cara kerja for loops hampir sama dengan while loops. For loops urutan dari kecil ke besar (ascending) (reverse=True untuk
akan terus menjalankan pengulangan selama kondisi terpenuhi. descending)
#for loops
for …… in ……: TUPLE MANIPULATION
action_1 Berikut beberapa fitur untuk memanipulasi tipe data tuple
Fitur Keterangan
COLLECTION MANIPULATION .count() Mengembalikan jumlah kemunculan suatu elemen pada tuple
Collection Manipulation adalah salah satu teknik yang penting untuk .index() Mengembalikan indeks dari elemen pertama yang ditemukan
dikuasai setiap programmer. Untuk mengakses elemen pada suatu list atau dari awal sebuah tuple
tuple adalah dengan menggunakan indeks dari list ataupun tuple tersebut yang
semuanya dimulai dari 0. Dan untuk mengakses elemen dari belakang maka SET MANIPULATION
dapat menggunakan indeks negative yang dimulai dari -1. Sedikit berbeda dengan list atau tuple, pada set terdapat cukup banyak fitur
Cara collection manipulations yang pertama adalah slicing dengan yang disediakan untuk memanipulasi set.
menggunakan rentangan nilai indeks. Selain dapat melakukan pemotongan Fitur Keterangan
terhadap list atau tuple, penggabungan isi dari suatu list atau tuple bisa dapat .add() Menambahkan data ke dalam set. Penting
untuk kita ingat bahwa pada tipe data set
dilakukan dengan menggunakan operator penambahan.
tidak mengizinkan adanya duplikasi.
.clear() Menghapus seluruh elemen dalam sebuah
LIST MANIPULATION set
Untuk memanipulasi list ada beberapa fitur yang tersedia yang lebih .copy() Mengembalikan copy dari setiap elemen
jelasnya ada dalam table dalam set
Fitur Keterangan .update() Menambahkan elemen dari suatu set
.append() Menambahkan data sebagai elemen akhir di list. dengan set lainnya
Fitur Keterangan
.pop() Menghilangkan elemen dari sebuah set DICTIONARY MANIPULATION
secara acak Fitur Keterangan
.remove() Menghilangkan elemen dengan nilai .clear() Menghapus seluruh elemen dalam
tertentu sebuah dictionary
.union() Mengembalikan hasil penggabungan dari .copy() Mengembalikan copy dari setiap
dua buah set elemen dalam set. Serupa dengan
.isdisjoint() Mengembalikan nilai kebenaran apakah fitur copy() pada tipe data
suatu set disjoint (saling lepas/tidak collections lainnya, fitur copy()
mengandung elemen yang sama) dengan tidak akan mengubah nilai dari
set lainnya elemen asal seperti fungsi
.issubset() Mengembalikan nilai kebenaran apakah assignment
sebuah set merupakan subset dari set .keys() Mengembalikan list dari seluruh
lainnya. Sebuah set A merupakan subset kunci akses (‘keys’) dari setiap
dari set B jika seluruh elemen dari set A elemen dalam sebuah dictionary
merupakan bagian dari set B .values() Mengembalikan list dari seluruh
.issuperset() Mengembalikan nilai kebenaran apakah nilai (‘value’) dari setiap elemen
sebuah set merupakan superset dari set dalam sebuah dictionary
lainnya. Sebuah set A merupakan superset .update() Menambahkan kunci akses (‘keys’)
dari set B jika seluruh elemen dari set B dan nilai (‘value’) ke dalam sebuah
terkandung dalam set A dictionary
.intersection() Mengembalikan sebuah set yang
merupakan intersection dari dua set Menghilangkan spasi yang ada di awal/di akhir variabel string.
lainnya Fitur Keterangan
.difference() Mengembalikan sebuah set yang berisikan .strip() Menghilangkan kelebihan spasi pada awal dan akhir string
difference dari dua set lainnya. Difference .lstrip() Menghilangkan kelebihan spasi pada awal string
dari sebuah set A berdasarkan set B adalah .rstrip() Menghilangkan kelebihan spasi pada akhir string
setiap elemen yang terdapat di set A tetapi
tidak terdapat di set B
Merubah penggunaan huruf besar dan kecil pada sebuah string.
.symmetric_difference() Mengembalikan sebuah set yang berisikan
symmetric difference dari dua set lainnya. Fitur Keterangan
Symmetric difference dari sebuah set A .capitalize() Mengubah elemen pertama dari string menjadi huruf
dan B adalah setiap elemen dari set A yang kapital
tidak terdapat di set B digabungkan .lower() Mengubah seluruh huruf dalam teks (string) menjadi
dengan (union) setiap elemen dari set B huruf kecil
yang tidak terdapat di set A .upper() Mengubah seluruh huruf dalam teks (string) menjadi
huruf besar
Statement_n
Memecah suatu string dengan kondisi tertentu sehingga menghasilkan list return returned_value
of string, menggabungkan beberapa list of string dan mengganti sub-string catatan:
tertentu dengan sub-string lainnya.  nama_fungsi adalah nama untuk fungsi yang didefinisikan,
Fitur Keterangan memilikia aturan seperti penamaan variabel
.split() Memecah sebuah string berdasarkan string lainnya ke dalam
 argument adalah variabel masukan ke fungsi, bisa tanpa variabel,
sebuah list
satu variabel atau lebih. Untuk variabel optional (default)
.join() Menggabungkan sebuah list yang berisikan string
berdasarkan sebuah string yang telah didefinisikan argument diset dengan memberikan string kosong (argument_1,
.replace() Menggantikan kemunculan suatu string tertentu dengan argument_2 = ‘ ‘)
string lainnya dalam sebuah string  statement_1 … statement_n adalah algoritma yang telah
ditransfer dalam bahasa Python. Ini merupakan inti dari fungsi
Menentukan posisi awal suatu sub-string dan jumlah kemunculan sub- yang didefinisikan. Seluruh statement indent ke dalam seperti
string tersebut pada suatu string. pada conditioning dan looping
Fitur Keterangan  return_value adalah variabel output dari fungsi. Bisa tanpa
.find() Mengembalikan posisi dari sebuah teks (sub-string) lainnya variabel, satu variabel atau lebih
dalam sebuah string
.count() Menghitung jumlah kemunculan sebuah teks (string) lainnya
dalam suatu string (string yang dicari bersifat case sensitive)
MANIPULASI BERKAS TEKS
Menentukan apakah suatu string diawali atau diakhiri dengan suatu sub- MEMBACA FILE DI LOCAL COMPUTER
string Untuk memanipulasi berkas teks pada Python yang pertama harus
Fitur Keterangan membuka/membuat berkas teks yang diinginkan dengan menggunakan fungsi
.startswith() Mengembalikan nilai kebenaran True ketika sebuah teks open(). Fungsi open() menerima dua parameter, nama dari file yang akan
(string) diawali dengan sebuah teks lainnya dibuka/dibuat dan mode yang berkaitan dengan aksi yang ingin dilakukan
.endswith() Mengembalikan nilai kebenaran True ketika sebuah teks terhadap file yang telah terbuka.
(string) diakhiri dengan sebuah teks lainnya file = open(“hello.txt”, “r”)
argument/parameter “r” mengartikan file yang dibuka berada dalam mode
FUNCTIONS
“read” sehingga tidak dapat menambahkan/menuliskan ulang isi dari file
Function adalah sebuah blok statemen yang hanya akan dijalankan saat ia
“hello.txt”.
dipanggil. Python mengizinkan user defined function.
file.close() digunakan untuk menutup file yang telah dibuka.
def nama_fungsi(argument): Selain mode “r” terdapat juga mode lainnya seperti:
statement_1 1. w: write, mode ini dapat digunakan untuk menulis ke dalam sebuah
… teks. Jika berkas tidak tersedia maka Python akan secara otomatis
membuat sebuah berkas baru dengan nama yang telah 1. Encapsulation: Menyembunyikan Sebagian detail yang dimiliki
dispesifikasikan. Jika file semula tidak kosong, maka isi yang oleh sebuah objek terhadap objek-objek lainnya.
sebelumnya terdapat di dalam berkas akan terhapus. 2. Inheritance: Menurunkan serangkaian fungsi-fungsi yang
2. a: append, mode ini dapat digunakan untuk menambahkan isi dari dimiliki oleh sebuah objek ke sebuah objek baru tanpa mengubah
sebuah berkas teks. Mode ini juga akan membuat sebuah berkas teks makan dari objek acuan yang digunakan.
baru dengan nama yang telah dispesifikasikan jika berkas teks tidak 3. Polymorphism: Konsep untuk menggunakan fungsi-fungsi
tersedia. dengan nama/tujuan yang sama dengan cara yang berbeda.
3. w+: write+, mode ini dapat aku gunakan untuk membaca ataupun
menuliskan isi dari sebuah berkas teks CLASS AND OBJEK
4. a+: append+, mode ini dapat digunakan untuk membaca ataupun Setiap objek yang direpresentasikan dalam program berbasis OOP
menambahkan isi dari sebuah berkas teks merupakan instansi/bentuk nyata dari sebuah konsep yang disebut dengan
class. Oleh karena itu, class dapat juga disebut sebagai kerangka utama
MEMBACA FILE DARI URL (blueprint) dari objek. Unruk membuah sebuah class menggunakan syntax
Berkas teks yang berada di suatu alamat di internet dapat dibaca berikut
berdasarkan url-nya. Untuk membacanya perlu menggunakan library requests. class Karyawan:
import requests pass
url = Kemudian, dari class yang telah didefinisikan dapat menciptakan objek
https://storage.googleapis.com/dqlab-dataset/hello.txt dari sebuah class dengan menggunakan syntax berikut
response = requests.get(url) aksara = Karyawan()
senja = Karyawan()
Selain menggunakan fungsi read(), fungsi readlines() ataupun readline()
Pada contoh diatas, aksara dan senja merupakan realisasi (objek) dari class
dapat digunakan untuk membaca isi dari suatu berkas teks. Dengan
Karyawan yang sebelumnya telah aku buat. Dari potongan kode ini, aksara
menggunakan fungsi readline() Python akan membaca konten dari sebuah
dan senja adalah dua objek yang berbeda.
berkas secara baris per baris.
Agar dapat membuat class Karyawan dengan baik, pertama, aku akan
mempelajari cara merepresentasikan atribut/property dalam sebuah class.
OBJECT ORIENTED PROGRAMMING – OOP
Dalam sebuah class, dapat mendefinisikan dua jenis atribut yaitu
OOP merupakan salah satu paradigma pemrograman yang cukup popular
1. Class Attribute adalah property/atribut yang bernilai sama untuk
di antara paradigma-paradigma lainnya. Pada paradigma OOP, struktur dari
oleh seluruh objek
sebuah program dikemas ke dalam sebuah objek yang memiliki serangkaian
2. Instance Attribute adalah property/atribut yang nilainya berbeda-
properties dan behaviours. Konsep Object Oriented pada Python memiliki
beda untuk seiap objek dari sebuah class.
tujuan untuk menciptakan potongan-potongan kode yang bersifat reusable dan
# Definisikan class Karyawan
tidak redundan. Konsep ini disebut dengan istilah DRY – Don’t Repeat
class Karyawan:
Yourself. Dalam bahasa pemrograman Python, terdapat 3 konsep utama
nama_perusahaan = 'ABC'
Object Oriented yaitu
# Inisiasi object yang dinyatakan dalam variabel aksara # Hasil
dan senja Aksara, Usia: 25, Pendapatan 8500000
aksara = Karyawan() Senja, Usia: 28, Pendapatan 12500000
senja = Karyawan()
Dari kode diatas atribut nama, usia dan pendapatan merupakan contoh dari
# Cetak nama perusahaan melalui penggunaan keyword
instance variabel. Sebagai tambahan fungsi __init__() di dalam class
__class__
Karyawan secara khusus disebut sebagai constructor. Melalui constructor
# pada class attribute nama_perusahaan
dapat menginisialisasikan atribut-atribut milik sebuah objek.
print(aksara.__class__.nama_perusahaan)
Setiap fungsi (termasuk constructor) akan menerima dirinya sendiri (self)
# Ubah nama_perusahaan menjadi 'DEF'
sebagai parameter pertama dari fungsi. Kemudian dapat menambahkan
aksara.__class__.nama_perusahaan = 'DEF'
parameter-parameter lain setelah parameter self sesuai dengan kebutuhan.
# Cetak nama_perusahaan objek aksara dan senja
Untuk mengakses instance attribute dalam sebuah class, perlu menuliskan
print(aksara.__class__.nama_perusahaan)
syntax self diikuti dengan tanda titik (.) sebelum nama atribut.
print(senja.__class__.nama_perusahaan)
BEHAVIOR PADA CLASS
#Hasil Selain mendefinisikan atribut dalam sebuah class, diperbolehkan untuk
ABC mendefinisikan fungsi-fungsi (behavior) dari sebuah class.
DEF class Karyawan:
DEF nama_perusahaan = "ABCDE"
insentif_lembur = 250000
# Definisikan class Karyawan def __init__(self, nama, usia, pendapatan):
class Karyawan:
self.nama = nama
nama_perusahaan = 'ABC'
def __init__(self, nama, usia, pendapatan): self.usia = usia
self.nama = nama self.pendapatan = pendapatan
self.usia = usia self.pendapatan_tambahan = 0
self.pendapatan = pendapatan def lembur(self):
# Buat object bernama aksara dan senja self.pendapatan_tambahan +=
aksara = Karyawan('Aksara', 25, 8500000) self.insentif_lembur
senja = Karyawan('Senja', 28, 12500000)
def tambahan_proyek(self, insentif_proyek):
# Cetak objek bernama aksara
print(aksara.nama + ', Usia: ' + str(aksara.usia) + self.pendapatan_tambahan += insentif_proyek
', Pendapatan ' + str(aksara.pendapatan)) def total_pendapatan(self):
# Cetak objek bernama senja return self.pendapatan +
print(senja.nama + ', Usia: ' + str(senja.usia) + ', self.pendapatan_tambahan
Pendapatan ' + str(senja.pendapatan))
aksara = Karyawan('Aksara', '25', 8000000) baru dapat memiliki atribut dan fungsi pada class yang sebelumnya telah
print(aksara.total_pendapatan()) didefinisikan. Pada konsep inheritance, atribut/fungsi yang akan diwariskan
aksara.lembur() hanyalah atribut/fungsi dengan access modifier public, atribut/fungsi dengan
print(aksara.total_pendapatan()) access modifier private tidak akan diturunkan.
aksara.tambahan_proyek(500000) Pada konsep inheritance class yang menerima turunan dari class utama
print(aksara.total_pendapatan()) (parent) disebut dengan child class. Suatu child class dapat mengakses atribut
ataupun fungsi yang dimiliki oleh parent class dengan menggunakan fungsi
# Hasil super().
8000000 class Karyawan:
8250000 def __init__(self, nama, usia, pendapatan):
8750000 self.nama = nama
self.usia = usia
ENCAPSULATION self.pendapatan = pendapatan
Encapsulation adalah sebuah Teknik dalam OOP yang mengizinkan untuk class AnalisData(Karyawan):
menyembunyikan detil dari sebuah atribut dalam sebuah class. Agar suatu def __init__(self, nama, usia, pendapatan):
property ataupun fungsi dari sebuah class tidak dapat diakses secara bebas di super().__init__(nama, usia, pendapatan)
luar scope milik suatu class maka dapat mendefinisikan acces modifier (level
akses) saat sebuah atribut/fungsi didefinisikan. OVERLOADING
Terdapat 2 macam access modifier dalam Python, yakni Metode Overloading mengizinkan sebuah class untuk memiliki
1. Public Access: dapat didefinisikan dengan secara langsung sekumpulan fungsi dengan nama yang sama dan parameter yang berbeda.
menuliskan nama dari atribut/fungsi. Dalam sebuah objek, Berkaitan dengan hal ini, Python tidak mengizinkan pendeklarasian fungsi
atribut/fungsi yang bersifat public access dapat diakses di luar (baik pada class ataupun tidak) dengan nama yang sama. Untuk
scope sebuah class. mengimplementasikan method overloading pada Python, dapat menggunakan
2. Private Access: dapat didefinisikan dengan menambahkan double sebuah Teknik yang dikenal dengan function default parameters.
underscore (__) sebelum menuliskan nama dari atribut/fungsi.
Dalam sebuah objek, atribut/fungsi yang bersifat private access STRUCTURED QUERY LANGUAGE (SQL)
hanya dapat diakses di dalam scope sebuah class. SQL adalah bahasa computer standar yang digunakan untuk berinteraksi
dengan suatu system database, atau lebih tepatnya system manajemen
database relasional. Jadi, user dapat menambahkan, mengubah, mengupdate,
mencari dan menghapus data dari suatu system database dengan menggunakan
INHERITANCE SQL.
Inheritance adalah salah satu mekanisme di konsep Object Oriented yang Terdapat dua kategori dari interaksi SQL:
mengizinkan untuk mendefinisikan sebuah class baru berdasarkan class yang  Data Definition Language (DDL), yaitu berbagai perintah yang
sebelumnya telah dideklarasikan. Melalui konsep inheritance, sebuah class berfungsi lebih kepada memanipulasi struktur database, seperti
membuat (create), meubah (alter), dan menghapus (drop) struktur WHERE digunakan untuk melakukan filter data dengan kondisi teks
penyimpanan data, yaitu database, table, kolom dan tipe data. tertentu, nilai angka tertentu, atau dengan dua kondisi menggunakan operator
 Data Manipulation Language (DML), yaitu berbagai perintah AND dan OR.
yang digunakan untuk menyisipkan data (insert), mengambil data
atau query (select), meubah data (update) dan menghapus data FUNGSI PADA SQL
(delete). Fungsi adalah metode yang digunakan untuk melakukan operasi data di
Relational Database Management System yang biasa disingkat RDBMS database, bisa berupa kalkulasi numerik seperti sum, count, avg, etc; atau
adalah suatu program yang memungkinkan untuk membuat, memperbarui, dan operasi non numerik seperti string concatenations dan sub-string. SQL
mengelola suatu basis data relasional. Basis data relasional sendiri merupakan Function dapat dibagi ke dalam 2 kategori, yaitu fungi scalar dan fungsi
suatu jenis database dimana data-data umumnya disimpan dalam bentuk yang aggregate.
terstruktur berupa table dan setiap table/data yang terdapat dalam database Fungsi scalar dalam SQL digunakan untuk mengembalikan nilai tunggal
memiliki relasi satu sama lain. (single value) dari suatu nilai input yang diberikan, sedangkan agregat dalam
Setiap database bisa berisi beberapa table, dan setiap table bis terdiri dari SQL digunakan untuk melakukan perhitungan pada sekelompok nilai dan
beberapa kolom. Di setiap database, table dan kolo, memiliki nama sendiri kemudian mengembalikan nilai tunggal.
sebagai identitas mereka. Table dan kolom inilah yang akan diisi data yang Fungsi scalar matematika untuk numerik value, umumnya digunakan jika
kemudian membentuk row. ingin melakukan operasi matematika di SQL secara cepat dan efektif.
Beberapa fungsi yang umum digunakan pada fungsi scalar
MENGAMBIL SELURUH KOLOM DALAM SUATU TABEL
Untuk mengakses data di database, dapat menggunakan SELECT
statement. SELECT digunakan untuk menyatakan kolom-kolom mana saja Fungsi Deskripsi Contoh Hasil
yang ingin ditampilkan dari suatu table di database. SELECT statement tidak abs() Mengembalikan nilai abs(-17.4) 17.4
bisa berdiri sendiri, setelah menyatakan kolom-kolom yang ingin ditampilkan absolute dari nilai input
dilanjutkan dengan FROM. Di FROM inilah dari table mana data yang ingin ceiling() Mengembalikan nilai ceiling(-95.3) -95
ditampilkan berada. integer terbesar yang
SELECT…FROM… adalah statement paling sederhana di SQL dan terdekat dengan nilai
merupakan bagian utama dari query. Tanda Bintang (*) adalah symbol untuk input
floor() Mengembalikan nilai floor(-42.8) -43
mengambil seluruh kolom dari table. LIMIT digunakan untuk membatasi
integer terkecil yang
jumlah baris yang diambil.
terdekat dengan nilai
SELECT DISTINCT…FROM… digunakan untuk menghilangkan data input
duplikasi dan menampilkan data yang unik saja. round() Mengembalikan nilai round(42.4382, 2) 42.44
SELECT…AS…FROM… adalah bentuk lain untuk melakukan pembulatan dari suatu
pengambilan data pada SQL. Prefix dimana kita menambahkan nama table di nilai decimal
depan nama kolom. Alias dimana kita memberikan alias atau nama lain untuk sqrt() Mengembalikan nilai sqrt(2.0) 1.41421356
table maupun kolom. akar kuadrat dari nilai
input dalam suatu string ‘xTomxx’); Tomxx;
mod() Mengembalikan nilai sisa mod(9, 4) 1 trim(leading ‘x’ xTom;
hasil pembagian dari nilai from ‘xTomxx’);
input trim(trailing ‘x’
exp() Mengembalikan nilai exp(1.0) 2.71828183 from ‘xTomxx’);
eksponensial dari nilai upper() Mengubah huruf upper(‘tom’) TOM
input kecil ke huruf besar
lower() Mengubah huruf lower(‘TOM’) tom
Fungsi text digunakan jika ingin melakukan operasi pada text atau karakter besar ke huruf kecil
SQL, misalnya mengubah huruf kecil ke huruf besar, menghitung jumlah
karakter dari text, dll. Beberapa fungsi yang sering digunakan Fungsi aggregate yang umum digunakan
Fungsi Deskripsi Contoh Hasil Fungsi Deskripsi
concat() Menggabungkan concat(‘abcde’,2,N abcde222 Sum() Digunakan untuk menjumlahkan sekelompok nilai (baris)
semua ULL,22) dalam satu kolom
argument/input, Count() Digunakan untuk menghitung jumlah baris
NULL value akan Avg() Digunakan untuk menghitung nilai rata-rata dari suatu kolom
diabaikan Min() Digunakan untuk menghitung nilai minimum dari suatu kolom
split_part() Membagi string/text split_part(‘abc@def def Max() Digunakan untuk menghitung nilai maximum dari suatu kolom
berdasarkan pemisah @ghi’, ‘@’, 2) First() Mengembalikan nilai pada baris pertama dari suatu kolom
yang ditentukan Last() Mengembalikan nilai pada baris terakhir dari suatu kolom
kemudian
mengembalikan
value berdasarkan
posisi string yang
diinginkan (hitungan
posisi mulai dari 1)
substr() Mengekstrak substr(‘alphabet’, 3, ph
karakter/string yang 2)
diinginkan
length() Menghitung jumlah length(‘Jose’) 4
karakter dalam
string/text
replace() Mengganti karakter replace(‘abcdefabcd abXXefab
dalam suatu ef’, ‘cd’, ‘XX’) XXef
string/text
trim() Menghapus karakter trim(both ‘x’ from Tom;

Anda mungkin juga menyukai