Python Programming | Bootcamp
PyBasic 2
Jenis-jenis
File
Jenis-jenis File
Binary File vs. Text File
• Gambar: .jpg, .png, .bmp, .tiff
• Video: .mp4, .mkv, .avi, .mpg
• Audio: .mp3, .aac, .wav, .flac
• Arsip: .zip, .rar, .iso, .7z
• Executable: .exe, .dll
• Document: .txt, .tex, asciidoc
• Tabular data: .csv, .tsv
• Source code: .py, .cpp, .js
• Web: .html, .xml, .json, .css
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)
Fungsi
menyimpan data ke dalam file dan menghapus data pada file yang memiliki kemiripan nama
menyimpan data ke dalam file dan tidak menghapus data pada file yang
memiliki kemiripan nama
membaca data dari suatu file
File Handling
terdapat dua cara yang dapat dipilih dalam melakukan File Handling.
cara 1: membuka file dan menutupnya secara manual
cara 2: membuka file dan menutupnya secara otomatis
kenapa perlu ditutup?
membuka file memerlukan sejumlah memori, karenanya file perlu ditutup setelah proses penambahan atau pembacaan data selesai.
agar memori yang sudah tidak dipakai dapat dialokasikan untuk proses yang lainnya
File Handling
memasukan data baru dengan mode w
misalkan dimiliki sebuah file yang berformat .txt yang berisi data username pengguna suatu akun:
lalu dilakukan aksi seperti berikut:
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 sintaksis kesalahan indentasi
“Print” tidak kenali
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
IndexError pada looping semua data sudah terpanggil, tetapi looping masih 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
FileNotFoundError file tidak ditemukan di dalam suatu direktori kunci (key) tidak ditemukan di dictionary
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
tanpa kesalahan terdapat kesalahan
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
pada akhirnya perintah ini dijalankan
coba dieksekusi
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
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
konstruksi
Function: Konsep
contoh: pendefinisian Function 1
2 contoh: eksekusi Function
nama function argumen perintah
konstruksi
nama function
perintah
Function: Konsep
hal yang perlu diketahui tentang Function:
3. ada dua sifat argumen, yaitu: argumen default dan argumen non-default
4. posisi argumen non-default harus selalu berada sebelum argumen default
contoh
non-default 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 (*) 1
eksekusi 2
positional argument tidak
harus dinamai dengan “args”
argumen biasa hanya dapat menyimpan satu
nilai saja dan akan terjadi kesalahan apabila
nilai yang dimasukkan lebih dari satu
Function: Konsep
contoh: double asterisk (**) 1
eksekusi 2
keyword argument tidak harus dinamai
dengan “kwargs”
untuk memasukan banyak nilai dapat menggunakan keyword argument seperti contoh
di samping
Function: Procedure
1
2
contoh: pendefinisian Function
contoh: eksekusi Function
terkadang disebut sebagai procedure
nama function argumen perintah
konstruksi: tanpa return
Function: built-in Function
merupakan Function yang telah disediakan oleh Python dan dapat diakses kapanpun ketika diperlukan
contoh: nilai terkecil contoh:
pembulatan
contoh: nilai terbesar
Function: built-in Function
contoh: nilai mutlak contoh: penjumlahan total
contoh: jumlah data contoh: perpangkatan
Function: built-in Function
contoh: nilai pada rentang tertentu contoh: urutan angka secara ascending
contoh: urutan angka secara descending
Function: built-in Function
contoh: urutan huruf secara descending
contoh: urutan huruf secara ascending contoh: nomor urut karakter
Function: built-in Function
contoh: casting dari integer ke float
contoh: casting dari float ke integer
contoh: casting dari integer ke string
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
1
2
argumen
konstruksi contoh: pendefinisian Function
contoh: eksekusi Function
nama function
perintah nama function nama 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
atribut atau properti merupakan entitas/variabel yang dimiliki oleh
suatu class
class attribute
bernilai sama untuk setiap objek, apabila terdapat nilai atribut yang diganti maka
nilai pada semua objek akan berubah
contoh
pendefinisian Class 1
pendefinisian objek 2
Object Oriented Programming: Jenis Atribut
konstruksi
atribut atau properti merupakan ciri yang dimiliki oleh suatu objek
instance attribute
nilanya berbeda untuk setiap objek,
tidak berpengaruh pada atribut lain apabila terdapat satu
nilai atribut yang diganti
contoh
pendefinisian Class 1
pendefinisian objek 2
Object Oriented Programming: Jenis Function
pendefinisian Class
dinamakan Function Constructor
digunakan untuk mendefinisikan instance atribut, nilai pada setiap
atribut bersifat dinamis sehingga dapat berbeda-beda pada setiap
objek
pendefinisian Class
Object Oriented Programming: Jenis Function
dinamakan Function Behavioral
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
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 1
contoh: eksekusi Class 2
ciri khas encapsulation adalah adanya double underscore
sebagai prefix penamaan atribut
output dari print() pertama
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 child 2
contoh: pendefinisian Class parent 1
ciri inheritance yaitu adanya pendefinisian
nama_child_class(nama_parent_class)
contoh: eksekusi Class child 3
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 1
pengaplikasian polymorphism
contoh: eksekusi Class child 3
contoh: pendefinisian Class child 2
eksekusi Class 2
Object Oriented Programming: Function vs Method
Function yang dieksekusi dari suatu Class pendefinisian Class
1
nama Class method
pendefinisian Function 1
eksekusi Function 2
Function yang dieksekusi secara langsung
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
eksekusi 1
2
Object Oriented Programming: Magic Method
eksekusi
contoh: multiplication / perkalian 1
2
contoh: addition / penjumlahan 1
eksekusi 2
https://linktr.ee/pythonkodehive