Anda di halaman 1dari 58

PEMROGRAMAN Pertemuan 3 – Dasar–Dasar

Pemrograman Python
BERORIENTASI OBJEK (PBO) Bagian 2
OUTLINE
⮚ Fungsi
⮚ Modul
⮚ Menangani File
⮚ Gaya Penulisan Kode
Fungsi

 Jika variabel adalah wadah bernama untuk data, maka fungsi


adalah wadah bernama untuk blok kode yang dapat dieksekusi
berdasarkan permintaan (saat dipanggil)
 Dapat mengirimkan data, yang dikenal sebagai Argumen, ke
dalam suatu fungsi
 Dapat mengembalikan data sebagai hasilnya
Fungsi (lanjutan)

 Manfaat: berguna jika memiliki program yang menjalankan


operasi tertentu berkali-kali
 Ada 2 jenis:
 Fungsi yang kita buat sendiri
 Fungsi bawaan Python
Fungsi – Fungsi yang Kita Buat
Sendiri
 Didefinisikan menggunakan kata kunci def: dan kemudian
nama fungsinya beserta tanda kurung yang diikuti tanda titik
dua
 Semua kode yang kita inginkan di dalam fungsi harus
diindentasikan
 Contoh:
 def MyFunction():
print("Hello from a function")
Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan)
 Cara memanggil suatu fungsi, gunakan nama fungsi yang
diikuti dengan tanda kurung
 Contoh: MyFunction()
Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan) – Argumen
 Informasi/data dapat dimasukkan ke dalam fungsi sebagai argumen
 Merupakan variabel yang terdaftar di dalam tanda kurung dalam
definisi fungsi
 Merupakan cara mengirimkan data ke suatu fungsi saat dipanggil
ketika kita tidak tahu variabel mana data akan berada atau akan
berisi data apa
 Argumen dituliskan setelah nama fungsi, di dalam tanda kurung,
dapat menambahkan argumen sebanyak yang kita inginkan, cukup
pisahkan dengan koma
Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan) – Argumen
 Dapat juga disebut sebagai istilah parameter
 Contoh:
 def MyFunction(fname): # satu argumen
print(fname + " Situmorang")

MyFunction("Emil")
MyFunction("Tobias")
MyFunction("Linus")
Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan) – Argumen
 Secara default, fungsi harus dipanggil dengan jumlah argumen
yang benar
 Contoh:
 def MyFunction(fname, lname):
print(fname + " " + lname)

MyFunction("Emil", “Situmorang")
Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan) – Argumen
 Dapat mengirim argumen dengan sintaks key = value, dengan
cara ini urutan argumen tidak menjadi masalah
 Contoh:
 def MyFunction(child3, child2, child1):
print("The youngest child is " + child3)

MyFunction(child1 = "Emil", child2 = "Tobias", child3 = "Linus")


Fungsi – Fungsi yang Kita Buat Sendiri
(lanjutan) – Pengembalian Nilai
 Untuk dapat suatu fungsi mengembalikan nilai, gunakan kata
kunci return
 Contoh:
 def MyFunction(x):
return 5 * x

print(MyFunction(3))
print(MyFunction(5))
print(MyFunction(9))
Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan) – Fungsi Kosong
 Definisi fungsi tidak boleh kosong, tetapi jika kita ingin
memiliki fungsi tanpa isi, masukkan kata kunci pass pada isi
fungsi untuk menghindari kesalahan
 Contoh:
 def MyFunction():
pass
Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan) – Argumen *args
 Jika jumlah argumen tidak diketahui, tambahkan * sebelum
nama argumen
 Fungsi akan menerima argumen berbentuk Tuple dan dapat
mengakses item yang sesuai
 Contoh:
 def MyFunction(*kids):
print("The youngest child is " + kids[2])

MyFunction("Emil", "Tobias", "Linus")


Fungsi – Fungsi yang Kita Buat Sendiri
(lanjutan) – Argumen **kwargs
 Jika jumlah argumen kata kunci tidak diketahui, tambahkan
tanda ganda ** sebelum nama argumen
 Fungsi akan menerima argumen berbentuk Dictionary dan
dapat mengakses item yang sesuai
 Contoh:
 def MyFunction(**kid):
print("His last name is " + kid["lname"])

MyFunction(fname = "Tobias", lname = “Situmorang")


Fungsi – Fungsi yang Kita Buat
Sendiri (lanjutan) – Rekursif
 Fungsi yang ditentukan dapat memanggil dirinya sendiri
 Harus terdapat kondisi berhenti di dalam fungsi
 Contoh:
 def SixRecursion(k):
if(k > 0):
result = k + SixRecursion(k - 1)
print(result)
else:
result = 0
return result

print("Recursion Example Results")

SixRecursion(6)
Fungsi – Fungsi Bawaan Python
 Python dilengkapi dengan banyak fungsi bawaan untuk
melakukan berbagai hal dalam program apa pun
 Alasan: ada beberapa operasi yang cukup sering dilakukan
(umum) sehingga Python membuatnya ke dalam fungsi, kita
tidak harus mendefinisikannya terlebih dahulu
 Cara memanggil persis sama dengan memanggil yang fungsi
yang kita buat sendiri
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Tidak semua fungsi bawaan kita bahas di sini, hanya dibahas
yang umum dan sering digunakan
 Fungsi bawaan Python selengkapnya dapat dilihat di
dokumentasi Pthyon: https://
docs.python.org/3.8/library/index.html
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi umum
 input()
 print()
 type()
 range()
 globals()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi tipe data dasar
 str()  bin()
 int()  oct()
 float()  hex()
 complex()  bool()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi tipe koleksi (bentukan)
 list()
 dict()
 tuple()
 set()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi angka
 abs()
 pow()
 round()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi teks
 format()  replace()  isalnum()  startswith()
 capitalize()  split()  isalpha()  endswith()
 title()  join()  isnumeric()
 upper()  strip()  isupper()
 lower()  chr()  islower()
 find() / index()  ord()  startswith()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi koleksi umum
 len()
 sum()
 max()
 min()
 sorted()
 reversed()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi List
 insert()  index()
 append()  count()
 extend()  sort()
 pop()  reserve()
 remove()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi Dictionary
 update()  keys()
 setdefault()  values()
 get()  items()
 pop ()
 popitem()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi Tuple
 count()
 index()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi Set
 add()
 pop()
 remove()
 discard()
 intersection()
 union()
Fungsi – Fungsi Bawaan Python
(lanjutan)
 Fungsi operasi file
 open()
 close()
 read()
 readline()
 write()
Modul

 Jika fungsi adalah kelompok kode, maka modul adalah kelompok


fungsi yang dapat dieksekusi berdasarkan permintaan (saat dipanggil)
 Modul sama dengan pustaka kode, sebuah file yang berisi
serangkaian fungsi yang dapat kita sertakan dalam program kita
 Manfaat: berguna jika memiliki program yang memiliki banyak
operasi, sebagai alat struktural dan organisasi untuk kode kita
 Ada 2 jenis:
 Modul bawaan Python
 Modul yang kita buat sendiri
Modul – Modul yang Kita Buat
Sendiri
 Didefinisikan berupa file Python berekstensi .py
 Disimpan di direktori yang sama dengan file Python utama kita
Modul – Modul yang Kita Buat
Sendiri (lanjutan) – Cara 1
 Cara menggunakan suatu modul, gunakan kata kunci import
diikuti dengan nama modul tanpa ekstensi .py
 Contoh: import MyModule
 Dapat membuat alias saat mengimpor modul, dengan
menggunakan kata kunci as
 Contoh: import MyModule as MM
Modul – Modul yang Kita Buat
Sendiri (lanjutan) – Cara 1
 Saat menggunakan fungsi dari modul, gunakan sintaks: nama
modul, diikuti oleh titik, dan kemudian nama fungsi beserta
argumennya (optional), contoh:
 def MyFunction(name): # simpan: MyModule.py
print("Hello, " + name)
 import MyModule

MyModule.MyFunction("Jonathan")
Modul – Modul yang Kita Buat
Sendiri (lanjutan) – Cara 1
 Tidak hanya fungsi, namun juga variabel dari semua jenis (int,
str, List, dll)
 Contoh:
 x = 10 # simpan: MyModule.py
 import MyModule

y = MyModule.x

print(y)
Modul – Modul yang Kita Buat
Sendiri (lanjutan) – Cara 2
 Cara gunakan kata kunci from yang diikuti dengan nama modul
tanpa ekstensi .py kemudian dilanjutkan dengan kata kunci
import yang diikuti dengan nama fungsi yang ada di dalam
modul
 Contoh: from MyModule import MyFunction
 Dapat mengimpor beberapa dengan memisahkan nama mereka
dengan koma
 Contoh: from MyModule import MyFunction1, MyFunction2
Modul – Modul yang Kita Buat
Sendiri (lanjutan) – Cara 2
 Memungkinkan kita memilih fungsi tertentu dari pustaka,
sehingga akan menghemat waktu meload fungsi –
direkomendasikan untuk modul yang memiliki ratusan fungsi
 Dapat membuat alias saat mengimpor modul, dengan
menggunakan kata kunci as
 Contoh: from MyModule import MyFunction as MF
Modul – Modul yang Kita Buat
Sendiri (lanjutan) – Cara 2
 Saat mengimpor menggunakan kata kunci from, jangan gunakan nama
modul saat merujuk ke elemen dalam modul
 Contoh:
 x = [10, 3, 6, 1, 6, 2] # simpan: MyModule.py
 from MyModule import x

y = x[3] # bukan MyModule.x[3]

print(y)
Modul – Modul Bawaan Python
 Python dilengkapi dengan banyak modul bawaan untuk
melakukan berbagai hal dalam program apa pun
 Alasan: ada beberapa operasi yang cukup sering dilakukan
dalam bentuk fungsi sehingga Python membuatnya ke dalam
modul, kita tidak harus mendefinisikannya terlebih dahulu
 Cara menggunakannya persis sama dengan menggunakan yang
modul yang kita buat sendiri
Modul – Modul Bawaan Python
(lanjutan)
 Tidak semua modul bawaan kita bahas di sini, hanya dibahas
yang umum dan sering digunakan
 Modul bawaan Python selengkapnya dapat dilihat di
dokumentasi Pthyon: https://
docs.python.org/3.8/library/index.html
Modul – Modul Bawaan Python
(lanjutan)
 Modul matematika (import math), fungsi-fungsinya:
 sin(), cos(), tan()  remainder() / fmod()
 ceil(), floor  pi()
 degrees(), radians()  gcd()
 exp(), log()  dist()
 pow(), sqrt()  prod()
 fabs()
Modul – Modul Bawaan Python
(lanjutan)
 Modul statistika (import statistics), fungsi-fungsinya:
 mean()  stdev()
 median()  pstdev()
 median_high()  variance()
 median_low()  pvariance()
 mode()
Modul – Modul Bawaan Python
(lanjutan)
 Modul acak (import random), fungsi-fungsinya:
 randrange() / randint()  choice()
 random()  shuffle()
 uniform()  sample()
 triangular()
Modul – Modul Bawaan Python
(lanjutan)
 Modul tanggal dan waktu (import datetime)/(import time),
fungsi-fungsinya:
 date.today()
 time()
 datetime.now(), strftime()
Modul – Modul Bawaan Python
(lanjutan)
 Modul sistem operasi  Modul sistem operasi (from
(import os), fungsi- os import path), fungsi-
fungsinya: fungsinya:
 remove()  getatime()
 rmdir()  getmtime()
 getsize()
 exists()
Penanganan File

 Bagian penting dari aplikasi web apa pun


 Review sebelumnya – masukan data lewat keyboard: input(),
contoh:
 username = input("Enter username:")

print("Username is: " + username)


 Terdiri dari fungsi untuk membuat, membaca, memperbarui,
dan menghapus file
Penanganan File – Buka File
 open(): fungsi untuk membuka file
 Terdiri dari dua Argumen: filename dan mode
 Ada empat mode berbeda untuk membuka file
 "r" - baca - nilai default, membuka file untuk membaca, akan error jika file
tersebut tidak ada
 "a" - tambahkan - membuka file untuk ditambahkan, membuat jika file
tersebut jika tidak ada
 "w" - tulis - membuka file untuk ditulis, membuat file tersebut jika tidak ada
 "x" - buat - membuat file yang ditentukan, akan error jika file tersebut ada
Penanganan File – Buka File
(lanjutan)
 Ada dua mode teks
 "t" - teks - nilai default. mode teks
 "b" - biner - mode biner, seperti gambar
 Contoh:
 f = open("demofile.txt", "rt") # dalam direktori yang sama
 f = open("D:\\MyFiles\demofile.txt", "rt") # berbeda direktori
 close(): fungsi untuk menutup file
 Contoh: f.close()
Penanganan File – Baca File
 Dapat menggunakan mode "r"
 read(): fungsi untuk membaca seluruh isi file
 Contoh:
 f = open("demofile.txt", "rt")

print(f.read())
print(f.read(5)) # membaca 5 karekter dari awal teks
 Dengan cara perulangan, contoh:
 f = open("demofile.txt", "rt")

for x in f:
print(x)
Penanganan File – Baca File
(lanjutan)
 readline(): fungsi untuk membaca per baris isi file
 Contoh:
 f = open("demofile.txt", "rt")

print(f.readline()) # membaca 1 baris dari awal teks


Penanganan File – Tulis File (Sudah
Ada)
 Dapat menggunakan mode "a" (menambahkan di akhir isi file) dan
"w" (mengganti semua isi file)
 write(): fungsi untuk menulis isi file
 Contoh "a":
 f = open("demofile.txt", "at")
f.write("Now the file has more content!")
f.close()

f = open("demofile.txt", "rt")

print(f.read())
Penanganan File – Tulis File (Sudah
Ada) (lanjutan)
 Contoh "w":
 f = open("demofile.txt", "wt")
f.write("Now again the file has more content 2!")
f.close()

f = open("demofile.txt", "rt")

print(f.read())
Penanganan File – Tulis File (Belum
Ada)
 Dapat menggunakan mode "x", "a", dan "w"
 Contoh: f = open(“MyFile.txt", "x") # buat file kosong
Penanganan File – Hapus File
 import OS
 remove(): fungsi untuk menghapus file, akan error jika file tidak ada
 rmdir(): fungsi untuk menghapus direktori, hanya dapat menghapus
direktori yang kosong
 Contoh 1:
 import os

os.remove("demofile.txt") # hapus file


os.rmdir(“MyDirectory") # hapus direktori
Gaya Penulisan Kode

 Kode menjadi rapih dan enak dilihat


 Memudahkan orang lain untuk membaca dan mempelajari kode
kita
 Memudahkan untuk debugging
 Digunakan terutama untuk kode yang panjang atua kompleks
 PEP 8: sebagai panduan gaya penulisan kode yang pakai banyak
pengembang
Gaya Penulisan Kode (lanjutan) –
Poin Penting
 Gunakan indentasi 4 spasi, dan tanpa tab
 Tidak melebihi 79 karakter per baris
 Gunakan baris kosong untuk memisahkan if, for, while, fungsi
dan kelas, dsb
 Jika memungkinkan, berikan komentar untuk baris tersebut,
gunakan docstrings (documentation string) sebagai dokumentasi
atau keterangan singkat tentang fungsi yang kita buat.
 Gunakan spasi di sekitar operator dan setelah koma
Gaya Penulisan Kode (lanjutan) –
Poin Penting
 Gunakan format nama variabel, kelas, dan fungsi secara
konsisten, serta nama yang dapat dipahami
 Tiga teknik yang bisa digunakan untuk lebih mudah dibaca:
 Camel Case, contoh: myVariableName = "John"
 Pascal Case, contoh: MyVariableName = "John"
 Snake Case, contoh: my_variable_name = "John"
Latihan
Fungsi dalam modul
 Faktorial
 Pangkat/eksponensial
 Fibonacci
Tugas
 Konversi angka dari bilangan desimal menjadi biner, okta dan
hexa
TERIMA KASIH Pertemuan 3 - Selesai

Anda mungkin juga menyukai