Python Programming | Bootcamp
PyBasic 2
Jenis-jenis
File
Jenis-jenis File
Binary File vs. Text File
• Gambar: .jpg, .png, .bmp, .tiff
• Document: .txt, .tex, asciidoc
• Video: .mp4, .mkv, .avi, .mpg
• Tabular data: .csv, .tsv
• Audio: .mp3, .aac, .wav, .flac
• Source code: .py, .cpp, .js
• Arsip: .zip, .rar, .iso, .7z
• Web: .html, .xml, .json, .css
• Executable: .exe, .dll
Jenis-jenis File: .txt
TXT adalah jenis format file yang berisi data teks.
contoh
Jenis-jenis File: .csv
CSV (Comma-Separated Values) merupakan salah satu jenis pemformatan
teks yang biasanya direpresentasikan sebagai data tabular (tabel). Jika dilihat
melalui notepad, nilai pada setiap baris dipisahkan dengan simbol koma “,”.
contoh
contoh
Jenis-jenis File: .json
JSON (JavaScript Object Notation) termasuk pemformatan file yang ditujukan
agar mudah dibaca oleh manusia dengan ciri khas penggunaan pasangan
key : value (seperti dictionary pada Python).
contoh
File
Handling
File Handling
istilah yang merujuk pada penanganan file seperti: menyimpan dan
membaca file. File Handling pada Python terdiri dari tiga macam mode,
yaitu:
w (write) a (append) r (read)
menyimpan data ke dalam menyimpan data ke dalam membaca data dari suatu
file dan menghapus data file dan tidak menghapus file
Fungsi pada file yang memiliki data pada file yang
kemiripan nama memiliki kemiripan nama
File Handling
terdapat dua cara yang dapat dipilih dalam melakukan File Handling.
cara 1: membuka file dan menutupnya
secara manual
kenapa perlu ditutup?
membuka file memerlukan sejumlah
memori, karenanya file perlu ditutup
setelah proses penambahan atau
cara 2: membuka file dan menutupnya secara otomatis
pembacaan data selesai.
agar memori yang sudah tidak
dipakai dapat dialokasikan untuk
proses yang lainnya
File Handling
misalkan dimiliki sebuah file yang berformat .txt
yang berisi data username pengguna suatu akun:
lalu dilakukan aksi seperti berikut:
memasukan data baru dengan mode w
hasilnya
File Handling
misalkan dimiliki sebuah file yang berformat .txt
yang berisi data username pengguna suatu akun:
lalu dilakukan aksi seperti berikut:
membaca data
File Handling
mode r, a, dan w digunakan ketika berurusan dengan data text. Sedangkan
untuk data binary perlu menambahkan huruf b di belakang nama mode,
seperti: rb, ab, dan wb.
Ada pula variasi mode yang lainnya, seperti:
• w+, untuk write dan read
• a+, untuk append dan read
• r+, untuk read dan write
Exception
Handling
Exception Handling
digunakan untuk menangani kesalahan yang terjadi pada penulisan kode
(misal: typo), maupun kesalahan pada proses pengerjaan perintah dari kode
yang dituliskan.
informasi yang muncul biasanya digunakan untuk troubleshooting karena
setiap kesalahan yang terjadi memiliki nama yang mendeskripsikan jenis
kesalahannya.
Exception Handling: Jenis Kesalahan
kesalahan indentasi
“Print” tidak kenali
kesalahan sintaksis
Exception Handling: Jenis Kesalahan
dan masih ada beberapa kesalahan yang dapat terjadi, seperti:
ZeroDivisionError pada operasi pembagian ketika nilai penyebutnya nol (0)
AttributeError ketika atribut yang dipanggil salah, misal: saat eksekusi function
pada looping semua data sudah terpanggil, tetapi looping masih
IndexError
berlanjut
KeyboardInterrupt interupsi dilakukan pada program yang sedang berjalan
Exception Handling: jenis kesalahan
dan masih ada beberapa kesalahan yang dapat terjadi, seperti:
ValueError ketika data yang dimasukkan memiliki tipe yang tidak sesuai
RuntimeError saat program berjalan terlalu lama
KeyError kunci (key) tidak ditemukan di dictionary
FileNotFoundError file tidak ditemukan di dalam suatu direktori
Exception Handling
pada kondisi tertentu perlu dilakukan penanganan kesalahan agar kode yang
mengalami kesalahan tidak berhenti tereksekusi atau hanya menampilkan atau
mencetak jenis kesalahannya saja
penanganan kesalahan dapat dilakukan menggunakan klausa try … except
coba dieksekusi
karena terjadi kesalahan,
maka baris ini yang dijalankan
Exception Handling
konstruksi lain dalam penanganan kesalahan dapat dilakukan menggunakan klausa
try … except … else, perintah pada keyword else akan dieksekusi ketika perintah
pada keyword try tidak menyebabkan kesalahan
coba dieksekusi
karena tidak terjadi kesalahan,
maka baris ini dijalankan
Exception Handling
konstruksi lain dalam penanganan kesalahan dapat dilakukan menggunakan klausa try …
except … else … finally untuk menjalankan perintah tertentu meskipun terjadi kesalahan
maupun tidak
coba dieksekusi coba dieksekusi
terdapat kesalahan tanpa kesalahan
pada akhirnya perintah ini
dijalankan
Function
Function
• suatu blok kode yang dapat digunakan kembali dan sebaiknya hanya
memiliki satu kegunaan spesifik
• terdapat beberapa Function bawaan (built-in) yang telah disediakan oleh
Python, seperti: input(), print(), dan sebagainya
• tapi developer juga dibebaskan untuk membuat Function-nya sendiri
Function: Konsep
konstruksi hal yang perlu diketahui tentang Function:
1. aturan penamaan Function mengikuti aturan
penamaan variabel
2. jumlah argumen tidak dibatasi, bisa satu, lebih
dari satu, atau bahkan tidak ada sama sekali
Function: Konsep
konstruksi 1 contoh: pendefinisian Function
nama function
argumen
perintah
2 contoh: eksekusi Function
Function: Konsep
contoh hal yang perlu diketahui tentang Function:
3. ada dua sifat argumen, yaitu: argumen
default dan argumen non-default
non-default default
4. posisi argumen non-default harus selalu
berada sebelum argumen default
Function: Konsep
hal yang perlu diketahui tentang Function:
5. selain nilai tunggal, Function juga dapat menerima suatu kelompok data
5. tetapi tidak bisa menggunakan jenis argumen seperti yang ada pada
contoh sebelumnya
Function: Konsep
contoh: single asterisk (*)
positional
1 argument tidak
argumen biasa hanya harus dinamai
dapat menyimpan satu dengan “args”
nilai saja dan akan
eksekusi
terjadi kesalahan apabila
nilai yang dimasukkan 2
lebih dari satu
Function: Konsep
contoh: double asterisk (**)
1 keyword argument
untuk memasukan tidak harus dinamai
dengan “kwargs”
banyak nilai dapat
menggunakan keyword eksekusi
argument seperti contoh 2
di samping
Function: Procedure
konstruksi: tanpa return 1 contoh: pendefinisian Function
nama function
argumen
perintah
terkadang disebut
2 contoh: eksekusi Function
sebagai procedure
Function: built-in Function
merupakan Function yang telah disediakan oleh Python dan dapat diakses
kapanpun ketika diperlukan
contoh:
contoh: nilai terkecil
pembulatan
contoh: nilai
terbesar
Function: built-in Function
contoh: penjumlahan total contoh: nilai mutlak
contoh: jumlah data contoh: perpangkatan
Function: built-in Function
contoh: urutan angka secara ascending contoh: nilai pada rentang tertentu
contoh: urutan angka secara descending
Function: built-in Function
contoh: urutan huruf secara ascending contoh: nomor urut karakter
contoh: urutan huruf secara descending
Function: built-in Function
contoh: casting dari integer ke float contoh: casting dari integer ke string
contoh: casting dari float ke integer contoh: memeriksa tipe data
Anonymous
Function
Anonymous Function
• disebut juga sebagai Function lambda dan tidak dideklarasikan seperti Function
def, melainkan menggunakan keyword lambda
• sama halnya dengan Function def, jumlah argumen pada Function lambda tidak
dibatasi dan meskipun tidak ada return, Function lambda tetap dapat
mengembalikan satu nilai
• Function lambda tidak dapat menjalankan Function lainnya, seperti mencetak
suatu nilai (print)
Anonymous Function
konstruksi 1 contoh: pendefinisian Function
nama function
argumen
perintah
2 contoh: eksekusi Function
Object-Oriented
Programming
Object Oriented Programming: Konsep
• dikenal juga sebagai Pemrogaman Berbasis Objek (PBO) merupakan metode untuk
membuat suatu blok kode yang dapat terdiri dari beberapa Atribut dan Function,
tujuannya agar kode yang dibuat menjadi reusable dan tidak redundant
(berlebihan karena dibuat berulang-ulang)
• dalam penerapannya perlu definisikan suatu objek terlebih dahulu agar blok kode
yang telah dibuat dapat dijalankan
Object Oriented Programming: Jenis Atribut
konstruksi
class attribute
bernilai sama untuk
setiap objek, apabila pendefinisian Class
terdapat nilai atribut contoh 1
yang diganti maka
atribut atau properti merupakan
nilai pada semua
entitas/variabel yang dimiliki oleh objek akan berubah
suatu class
pendefinisian objek
2
Object Oriented Programming: Jenis Atribut
konstruksi
atribut atau properti merupakan ciri
yang dimiliki oleh suatu objek
instance attribute pendefinisian Class
contoh 1
nilanya berbeda
untuk setiap objek,
tidak berpengaruh
pada atribut lain
apabila terdapat satu
nilai atribut yang
pendefinisian objek
diganti
2
Object Oriented Programming: Jenis Function
pendefinisian Class
digunakan untuk mendefinisikan
instance atribut, nilai pada setiap
dinamakan Function Constructor atribut bersifat dinamis sehingga
dapat berbeda-beda pada setiap
objek
Object Oriented Programming: Jenis Function
pendefinisian Class
Function Behavioral pada dasarnya
adalah Function biasa, dinamakan
seperti itu karena dalam
penamaannya tidak memerlukan
double underscore (dunder) dan
setiap Function yang dibuat memiliki
perilaku/kegunaan tersendiri
dinamakan Function Behavioral
Object Oriented Programming: Encapsulation
merupakan metode yang digunakan untuk menyembunyikan atribut maupun
Function, sehingga atribut dan Function tersebut tidak dapat diakses secara bebas di
luar Class
contoh: pendefinisian Class contoh: eksekusi Class
1 2
ciri khas encapsulation adalah
output dari print()
adanya double underscore
pertama
sebagai prefix penamaan
atribut
output dari print()
kedua
Object Oriented Programming: Polymorphism
merupakan metode yang digunakan untuk mewariskan atribut maupun Function
dari Class utama (parent) kepada Class baru (child). Setiap atribut maupun Function
dari parent Class akan tersimpan di dalam child Class
contoh: pendefinisian Class parent contoh: pendefinisian Class child
1 2
contoh: eksekusi Class child
3
ciri inheritance yaitu adanya
pendefinisian
nama_child_class(nama_parent_class)
Object Oriented Programming: Polymorphism
merupakan metode yang digunakan untuk mengubah nilai atribut maupun Function
tertentu dari parent Class ketika diwariskan kepada child Class.
contoh: pendefinisian Class parent contoh: pendefinisian Class child
1 2
contoh: eksekusi Class child
3
pengaplikasian
polymorphism
Object Oriented Programming: Function vs Method
pendefinisian Class pendefinisian Function
1 1
eksekusi Function
2
eksekusi Class Function yang dieksekusi
secara langsung
2
nama Class method
Function yang dieksekusi
dari suatu Class
Object Oriented Programming: Magic Method
Magic Method atau double underscore (dunder) Method merupakan jenis-jenis
Method bawaan (built-in) yang memiliki fungsionalitasnya masing-masing
contoh: pendefinisian instance attribute contoh: mencetak suatu nilai
1
eksekusi
2
Object Oriented Programming: Magic Method
contoh: multiplication / perkalian contoh: addition / penjumlahan
1 1
eksekusi eksekusi
2 2
Exercise
[Link]