Anda di halaman 1dari 22

LAPORAN PRAKTIKUM

JUDUL PRAKTIKUM:
Pengenalan Fungsi

MATA KULIAH:
BIOKOMPUTASI DASAR (MAB60002)-KELAS A

Oleh:
Christopher Muhamad Zildan Holliday
215090107111029
2021

LABORATORIUM BIOLOGI KOMPUTASI DAN BIOINFORMATIKA


JURUSAN BIOLOGI
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
MALANG
2021
Pernyataan

Yang bertanda tangan di bawah ini:

Nama : Christopher Muhamad Zildan Holliday


NIM : 215090107111029

Menyatakan dengan sesungguhnya bahwa isi laporan Seleksi Kondisi


yang ditulis berikut ini merupakan murni dari hasil pemikiran saya dan
tidak ada unsur plagiasi.

Jakarta, 26 November 2021

Yang menyatakan,

Christopher Muhamad Zildan Holliday


BAB I
PENDAHULUAN

1.1 Latar bekalang


Dalam menjalankan fungsi pada suatu program biasanya akan
membutuhkan sejumlah argumen. Hal ini dikarenakan ketika akan
dijalankan sebuah fungsi beserta nilai-nilai maka sejumlah nilai akan
beroperasi pada argumen dengan posisinya masing-masing yang
sesuai. Namun, bahasa pemmrograman Python dapat menyebabkan
posisi argument menjadi berubah sebab fungsi yang dijalankan
menggunakan keyword arguments. Maksud dari keyword arguments
adalah saat suatu program mempunyai sejumlah fungsi tetapi
pembayasnya banyak maka hal itu dapat ditambahkan sebuah nilai
pada pembatas tersebut yang disebut dengan keyword arguments.
Pada penggunaannya, terdapat dua kelebihan yang diberikan dalam
sebuah fungsi, yaitu lebih praktis sehingga urutan argument tidak
perlu terlalu dipikirkan dan penambahan nilai dapat dilakukan hanya
dengan pembatas yang dipilih tetapi dengan syarat pembatas lain
memiliki nilai default arguments (Anonymous, 2020).
Fungsi termasuk salah satu anggota dari suatu program yang
dapat digunakan berulang kali sehingga pengguna diberikan sebuah
kesempatan untuk dapat memberikan sebuah nama ke dalam block
of statements. Hal ini menyebabkan blok pernyataan tersebut dapat
digunakan dengan nama yang diberikan tersebut dalam suatu
program serta dapat digunakan berulang kali. Dalam beragam
bahasa pemrograman, pemahaman mengenai fungsi adalah sebuah
building block yang terpenting di sebuah software. Sebelum block of
statements dan nama, fungsi dijelaskan dengan pemakaian kata
kunci (keywords) yaitu def. Kemudian, nama pengidentifikasian
bagi sebuah fungsi mulai tampak dengan adanya tanda kurung agar
dapat memasukkan sejumlah variabel dan diakhirkan dengan titik
dua ( : ) sebagai pengakhir baris (Swaroop, 2017).
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dibahas, ditemukan
beberapa masalah yang dirumuskan sebagai berikut.
1. Apa pengertian dari sebuah fungsi dalam bahasa pemrograman
Python?
2. Apa keuntungan yang didapatkan dalam menggunakan sebuah
fungsi?
3. Bagaimana cara menggunakan fungsi?

1.3 Tujuan
Berdasarkan rumusan masalah yang telah disusun, terdapat
tujuan-tujuan pada tiap masalah yang diberikan. Beberapa tujuan
tersebut sebagai berikut.
1. Mengetahui definisi dari sebuah fungsi dalam bahasa
pemrograman Python.
2. Mengetahui keuntungan ketika memakai fungsi dalam suatu
pekerjaan.
3. Memahami cara beserta tahapan yang digunakan dalam
menggunakan sebuah fungsi.

1.4 Manfaat
Setelah dilakukannya praktikum biokomputasi dasar tentang
“Pengenalan Fungsi” dengan Jupyter Notebook yang menggunakan
bahasa pemrograman Python, kemampuan yang telah dikembangkan
dapat digunakan dalam suatu penelitian Biologi yang akan
mempersingkat waktu dalam mengerjakannya serta dapat melatih
kemampuan memakai deklarasi fungsi, variabel scope, dan fungsi
rekrusif yang dapat membantu penelitian Biologi dalam hal
perhitungan.
BAB II
TINJAUAN PUSTAKA

2.1 Definisi Fungsi


2.1.1 Pengertian
Definisi dari fungsi adalah perintah-perintah dalam
sebuah program yang digabung sehingga dihasilkan fungsi
sendiri. Hal ini berarti posisi awalnya akan terpisah dengan
program yang telah memakai fungsi tersebut. Dalam membuat
fungsi pada suatu program perlu diketahui tentang input,
proses, dan output. Pada input diberikan sebuah sistem yang
digunakan untuk memasukkan suatu data. Kemudian, proses
yang mengatur mekanisme algoritma dalam sebuah program
yang digunakan dalam fungsi. Setelah itu, terdapat output
yang akan mengembalikan informasi dari fungsi tertentu ke
pemanggil perintah tersebut (Ardiansyah dkk, 2019). Dalam
penggunaan fungsi terdapat kesamaan yang ada pada sebuah
prosedur. Namun, perbedaannya adalah dalam fungsi
diperlukan mengembalikan nilai sedangkan pada prosedur
hanya dapat mengembalikan nilai dengan pembatas input atau
output. Pada fungsi terdapat empat bentuk umum. Pertama,
fungsi (nama_fungsi) sebagai spesifikasi fungsi. Kedua,
deklarasi sebagai variabel lokal. Ketiga, deskripsi sebagai
suatu mekanisme yang terjadi dalam suatu fungsi. Keempat,
return sebagai hasil setelah fungsi digunakan (Budiman,
2015).
2.1.2 Manfaat
Dalam bahasa pemrograman Python, terdapat kode
yang telah tersusun rapih oleh sebuah fungsi. Kemudian,
fungsi dalam suatu program dapat digunakan ulang. Selain itu,
kumpulan aksi/perintah tertentu yang dapat dijalankan dengan
kode modular. Kemudian, mekanisme penyusunan kode dapat
dbuat praktis dengan fungsi. Kemudian, fungsi dapat juga
menghalangi logika yang berlebihan. Setelah itu,
penyusunan/pembuatan kode dapat lebih mudah dipahami
sehingga dapat mudah diikuti. Fungsi dalam Python terdapat
sejumlah fungsi turunan seperti print(), input(), atau
len(). Hal semacam itu disebut dengan built-ins. Namun,
pengguna dapat juga menciptakan fungsi tersendiri sehingga
dapat digunakan dalam tugas yang lebih sesuai. Hal ini
disebut dengan user-defined functions (Stack Overflow team,
(n.d)).

2.2 Kategori Fungsi


2.2.1 Standard Library
Ukuran Standard Library dalam bahasa pemrograman
Python dapat dinilai sangat besar sehingga dapat menolong
para pengguna dalam menyelesaikan tugasnya seperti
pengetesan unit, database, web browsers, CGI, FTP, email,
pengembangan dokumentasi, HTML, kriptografi, dsb.
Berbagai hal tersebut sangat ditentukan oleh sistem. Pada
zaman sekarang ini banyak persoalan sehingga dibutuhkan
penyelesaiannya yang instan seperti dalam hal penelitian
biologi. Oleh karena itu, dibutuhkan pemahaman tentang
Standard Library (Swaroop, 2017). Contoh dari Standard
Library adalah print(), input(), len(), abs(), dsb (Stack
Overflow team, (n.d)).
2.2.2 Programme-Defined
Dalam bahasa pemrograman Python, terdapat jenis
fungsi dengan suatu program yang akan terpisah dari posisi
awalnya. Hal ini disebut dengan Programme-Defined. Pada
Programme-Defined terdapat def statement dan Lambda
expressions (Ardiansyah dkk, 2019).

2.3 Pendeklarasian Fungsi


2.3.1 Statement def
Dalam penggunaan kata kunci cadangan Python tidak
dapat diubah menjadi variabel seperti statement def. Pada
statement def pula ditunjukkan untuk mendeklarasikan
fungsi. Struktur fungsi dalam statement def mempunyai
bentuk alami sebagai berikut
def namaFungsi(daftar-parameter) :

pernyataan
Dalam bentuk tersebut dapat diketahui bahwa fungsi yang
berawalan statement def dilanjutkan dengan
nama_fungsi tersebut. Kemudian, dituliskan parameter
yang diartikan sebagai pembatas atau daftar argumen. Selain
itu, dalam sebuah fungsi yang menggunakan statement def
tidak lepas dengan tanda titik dua ( : ) yang berguna untuk
awal pernyataan yang berisi beragam statement dalam suatu
fungsi (Stack Overflow team. (n.d)).

Gambar 2.1 Hasil program yang menggunakan statement


def
2.3.2 Statement lambda
Dalam bahasa pemrograman Python, penggunaan
lambda merupakan hal khusus digunakan. Lambda dijelaskan
juga sebagai tipe fungsi yang sulit. Hal ini dikarenakan
penggunaan lambda sukar dihafal dibandingkan kata kunci
lainnya dalam Python. Kemudian, lambda hanya sampai
dengan single line expression sehingga untuk tugas yang lebih
menarik tidak dapat digunakan dengan Lambda (Herman,
2014).
Suatu pernyataan yang dimasukkan ke dalam lambda
akan menghasilkan objek fungsi terbaru. Terdapat parameter
atau daftar argument dengan single expression yang dipakai
lambda sehingga terdapat badan fungsi oleh lambda tersebut.
Kemudian, nilai expression tersebut akan dibalikkan ke
asalnya dengan fungsi yang baru (Swaroop, 2017).

Gambar 2.2 Hasil program yang menggunakan statement


lambda

2.4 Variabel Scoop (Local and Global)


Area variabel scoop mengarahkan sebuah waktu yang
didefinisikan. Maksud dari “didefinisikan” adalah adanya nilai yang
tepat serta tidak tersamarkan pada variabel tersebut. Terdapat
kebebasan dalam suatu variabel scoop yang dipakai oleh fungsi
(Herman, 2014). Walaupun ruang lingkup yang digunakan adalah
secara statis akan tetapi dapat juga digunakan dalam kondisi
dinamis. Pada tiap eksekusi yang akan menghasilkan output terdapat
kurang lebih tiga ruang lingkup. Pertama, ruang lingkup variabel
scoop terdalam, terdapat nama-nama lokal yang perlu ditemukan
terlebih dahulu. Kedua, ruang lingkup pada tiap fungsi terlampir,
yang dimulai dari ruang lingkup terdekat yang mencakupi nama
nonlocal serta nonglobal. Ketiga, ruang lingkup berikutnya,
merupakan cakupan terakhir yang terdapat nama global pada saat ini
(Rossum & Python Development Team, 2018).
2.4.1 Variabel Lokal
Merupakan jenis variabel dari salah satu variabel scoop
yang memiliki sebuah akses pada titik variabel tersebut
didefinisikan hingga ke akhir fungsi serta variabel ini akan
selalu ada jika suatu fungsi dijalankan (Anonymous, 2020).
Gambar 2.3 Hasil program yang menggunakan variabel
lokal.
2.4.2 Variabel Global
Merupakan jenis variabel dari salah satu variabel scoop
yang dapat diartikan sebagai bagian utama dalam sebuah file.
Variabel global ini akan transparan kepada seluruh file serta
dalam suatu file yang mengimpor file tersebut (Anonymous,
2020).

Gambar 2.4 Hasil program yang menggunakan variabel


global
2.5 Fungsi Rekursif
Merupakan suatu fungsi yang secara implementasinya dapat
memanggil dirinya tanpa bantuan yang lain. Namun, syarat agar
fungsi rekursif dapat memanggil dirinya sendiri jika terdapat suatu
kondisi yang terpenuhi (Abidin & Zamanhuri, 2012).

Gambar 2.5 Hasil program yang menggunakan fungsi rekursif


BAB III
METODE

3.1 Tempat dan Waktu


Pada hari Sabtu tanggal 26 November 2021 yang dimulai pada
pukul 12.30 WIB akan dilakukan praktikum tentang “Pengenalan
Fungsi” dengan menggunakan Jupyter Notebook dengan bahasa
pemrograman Python, bertempat pada rumah masing-masing.

3.2 Metodologi (Cara membuka Jupyter Notebook)


Dalam cara membuka Jupyter Notebook dapat dilakukan
dengan du acara. Pertama, dari Anaconda Navigator terlebih dahulu
akan tetapi terkadang diperlukan penataan ulang ketika akan
membuka Jupyter Notebook dengan cara tersebut. Kedua, dari Jupyter
Notebook nya langsung tanpa perlu ke halaman depan Anaconda dan
tidak dibutuhkan suatu penataan ulang file/folder Anaconda dan
Jupyter Notebook. Oleh karena itu, saya akan menggunakan cara
kedua yaitu langsung dari Jupyter Notebook.

Gambar 3.1 Untuk membuka Jupyter Notebook dapat di-search


paling bawah dekstop
Gambar 3.2 Ketika Jupyter Notebook telah di-klik maka akan
muncul tampilan hitam pada layar

Gambar 3.3 Kemudian, akan muncul tampilan Jupyter Notebook


secara otomatis dan pada saat itu klik “New”
Gambar 3.4 Ketika sudah klik “New” maka akan muncul
beragam pilihan. Pilihlah Python 3 untuk Notebook

Gambar 3.5 Kemudian, akan muncul tampilan file Jupyter


Notebook terbaru dan dapat digunakan langsung
BAB IV
PEMBAHASAN

4.1 Program Kasir


Dalam membuat fungsi pada suatu program perlu diketahui
tentang input, proses, dan output. Pada input diberikan sebuah sistem
yang digunakan untuk memasukkan suatu data. Kemudian, proses
yang mengatur mekanisme algoritma dalam sebuah program yang
digunakan dalam fungsi. Setelah itu, terdapat output yang akan
mengembalikan informasi dari fungsi tertentu ke pemanggil perintah
tersebut (Ardiansyah dkk, 2019). Dalam praktikum biokomputasi
dasar kali ini, praktikan melakukan uji coba membuat sebuah
program kasir dengan beberapa fungsi yang digunakan dalam
penerapan suatu pengenalan fungsi. Pada awal mengerjakan
diberikan sebuah sintaks berupa #Program Kasir. Kemudian,
diberikan sebuah nilai yaitu x = 0.1 sebagai penentu jumlah ppn
yang perlu dibayar dan berlaku untuk semua daftar menu. Setelah
itu, terdapat def menu(): yang menjelaskan bahwa adanya
barisan kode perintah pada “menu” yang dikelompokkan sehingga
dapat digunakan berkali-kali. Setelah tanda titik dua ( : ) maka
dituliskan
print("""

==========================================

Biology's Cafe
List Menu Makanan dan Minuman

==========================================
1. ES Teler : Rp 10.000
2. ES Coklat Susu : Rp 15.000
3. ES Kopi Hitam : Rp 10.000
4. Bihun Goreng : Rp 9.000
5. Double Cheese Burger : 20.000
6. French Fries : Rp 8.000

==========================================
""")
Hasil “print” tersebut akan digunakan sebagai nilai tiap
menu yang akan dipilih. Kemudian, terdapat pilihan() agar
dapat memunculkan daftar menu tersebut tanpa perlu ditulis ulang.
Selain def menu(): terdapat def pilihan(): yang
menjelaskan bahwa adanya barisan kode perintah pada “pilihan”
yang dikelompokkan sehingga dapat digunakan berkali-kali. Setelah
tanda titik dua ( : ) maka dituliskan
def pilihan():

pes = int(input("Masukkan nomor pesanan anda:


"))

jml = int(input("Masukkan jumlah pesanan anda:


"))

if pes == 1:

harga = 10000*jml

pesanan = "Es Teler"

ppn = harga*x

total = harga+ppn

print("---------------------------------
")

print("Biology's Cafe")

print("---------------------------------
")

print("Menu :", pesanan)


print("Jumlah Pesan :", jml)

print("Harga :", harga)

print("PPN :", ppn)

print("---------------------------------
")

print("Jumlah Bayar :", total)

print("---------------------------------
")

Hal ini akan terus berulang digunakan sampai daftar menu terakhir
yaitu menu keenam. Dalam pengoperasian daftar menu kedua
sampai keenam digunakan elif pes ==. Namun, ketika pilihan
yang tidak sesuai akan menggunakan else :. Kemudian, terdapat
tahap yang sangat krusial sehingga tidak boleh dilupakan yaitu
menuliskan menu() karena pada awal membuat program ini
dibuatkan def menu():.

Gambar 4.1 Hasil pemrograman kasir dengan fungsi


4.2 Statement Lambda
Suatu pernyataan yang dimasukkan ke dalam lambda akan
menghasilkan objek fungsi terbaru. Terdapat parameter atau daftar
argument dengan single expression yang dipakai lambda sehingga
terdapat badan fungsi oleh lambda tersebut. Kemudian, nilai
expression tersebut akan dibalikkan ke asalnya dengan fungsi yang
baru (Swaroop, 2017). Dalam praktikum biokomputasi dasar kali ini,
praktikan melakukan uji coba membuat sebuah statement lambda
dengan beberapa fungsi yang digunakan dalam penerapan suatu
pengenalan fungsi. Pada awal mengerjakan diberikan sebuah sintaks
berupa #Statement Lambda. Kemudian, dituliskan sebuah nilai
dalam “points” tersebut
points = [{'x': 2, 'y': 3}, {'x': 4, 'y': 1}]
yang menjelaskan bahwa terdapat dua x dan y dengan nilai yang
berbebda-beda pada kelompok yang berbeda. Setelah itu, terdapat
points.sort(key=lambda i: i['y'])
pada baris tersebut terdapat “sort” yang menjelaskan bahwa dalam
“points” tersebut akan ditata ulang sehingga tidak acak dan rapih
ketika mencapai output. Kemudian, diberikan print(points)
yang menjelaskan bahwa setelah dua x dan y pada “points” tersebut
sudah terstruktur maka akan dicetak lagi “points” tersebut yang
menghasilkan urutan yang rapih.

Gambar 4.2 Hasil pemrograman statement lambda dengan


berbagai fungsi
4.3 Variabel Scoop (Local + Global)
Walaupun ruang lingkup yang digunakan adalah secara statis
akan tetapi dapat juga digunakan dalam kondisi dinamis. Pada tiap
eksekusi yang akan menghasilkan output terdapat kurang lebih tiga
ruang lingkup. Pertama, ruang lingkup variabel scoop terdalam,
terdapat nama-nama lokal yang perlu ditemukan terlebih dahulu.
Kedua, ruang lingkup pada tiap fungsi terlampir, yang dimulai dari
ruang lingkup terdekat yang mencakupi nama nonlocal serta
nonglobal. Ketiga, ruang lingkup berikutnya, merupakan cakupan
terakhir yang terdapat nama global pada saat ini (Rossum & Python
Development Team, 2018). Dalam praktikum biokomputasi dasar
kali ini, praktikan melakukan uji coba membuat sebuah variabel
scoop yang menyertakan variabel lokal dan global dengan beberapa
fungsi yang digunakan dalam penerapan suatu pengenalan fungsi.
Pada awal mengerjakan diberikan sebuah sintaks berupa
#Variabel Scoop - Local + Global. Kemudian,
dituliskan variabel yaitu x = 300 yang menjelaskan bahwa diluar
myfunc(): yang berarti diluar fungsi terdapat variabel global
yaitu x = 300. Setelah itu, ditambahkan pula
def myfunc():
x = 200
print(x)
yang menjelaskan bahwa di dalam def myfunc(): terdapat nilai
variabel lokal yaitu x=200 serta dituliskan print(x) sehingga
nilai variabel lokal tersebut dapat tercetak pada bagian output.
Setelah itu, ditambahkan lagi myfunc(): serta print(x) yang
menjelaskan bahwa nilai variabel global tersebut akan dicetak pada
output juga.
Gambar 4.3 Hasil pemrograman variabel scoop dengan
menggabungkan variabel global dan variabel lokal beserta fungsi
yang digunakan

4.4 Fungsi Rekursif


Merupakan suatu fungsi yang secara implementasinya dapat
memanggil dirinya tanpa bantuan yang lain. Namun, syarat agar
fungsi rekursif dapat memanggil dirinya sendiri jika terdapat suatu
kondisi yang terpenuhi (Abidin & Zamanhuri, 2012). Dalam
praktikum biokomputasi dasar kali ini, praktikan melakukan uji coba
membuat sebuah fungsi rekursif dengan beberapa fungsi yang
digunakan dalam penerapan suatu pengenalan fungsi. Pada awal
mengerjakan diberikan sebuah sintaks berupa #Fungsi
Rekursif. Kemudian, diberikan def hasilPerhitungan
(batas, x = 0): yang menjelaskan bahwa adanya barisan kode
perintah pada “hasilPerhitungan” yang dikelompokkan sehingga
dapat digunakan berkali-kali serta dengan batas nilai x = 0. Setelah
itu, dituliskan print(f'Perulangan ke {x}') sehingga
perhitungan tersebut dapat diulang sampai ke nilai akhir x tersebut
dan dicetak pada saat output. Kemudian, diberikan suatu kondisi di
mana
if (x < batas):
hasilPerhitungan(batas, x + 1)
jika x kurang dari batas yang ditentukan maka x+1. Setelah itu,
dituliskan pula hasilPerhitungan(10) yang menjelaskan
bahwa “hasilPerhitungan” akan dijalankan dengan nilai akhir x = 10.

Gambar 4.4 Hasil pemrograman fungsi rekursif dengan fungsi-


fungsi yang digunakannya
BAB V
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Setelah dilakukannya praktikum biokomputasi dasar tentang
“Pengenalan Fungsi” maka dapat dijelaskan bahwa pengertian dari
sebuah fungsi dalam bahasa pemrograman Python adalah perintah-
perintah dalam sebuah program yang digabung sehingga dihasilkan
fungsi sendiri. Kemudian, jika seseorang menggunakan fungsi maka
dalam pekerjaan yang rumit dapat dipercepat dengan fungsi.
Keuntungan yang didapatkan adalah terdapat kode yang telah
tersusun rapih, fungsi dalam suatu program dapat digunakan ulang,
mekanisme penyusunan kode dapat dbuat praktis, dan
penyusunan/pembuatan kode dapat lebih mudah dipahami sehingga
dapat mudah diikuti. Dalam membuat fungsi pada suatu program
perlu diketahui tentang input, proses, dan output. Pada input
diberikan sebuah sistem yang digunakan untuk memasukkan suatu
data. Kemudian, proses yang mengatur mekanisme algoritma dalam
sebuah program yang digunakan dalam fungsi. Setelah itu, terdapat
output yang akan mengembalikan informasi dari fungsi tertentu ke
pemanggil perintah tersebut.

5.2 Saran
Setelah dilakukannya praktikum biokomputasi dasar tentang
“Pengenalan Fungsi” maka diharapkan penggunaan bahasa
pemrograman Python dapat lebih ahli dan paham terhadap fungsi-
fungsi dan daftar-daftar argumen yang tersedia dalam Python.
Kemudian, diharapkan fitur lain selain Jupyter Notebook dapat
digunakan sehingga seorang praktikan dapat luas wawasannya.
Daftar Pustaka

Stack Overflow team. (n.d). Learning Python Language. Open Stax


Documentation.Texas.

Anonymous. 2020. Python Programming: Digital Notes. Malla Reddy


College of Engineering & Technology. India.

Swaroop. 2017. A Byte of Python: Beginners Book. CreateSpace


Independent Publishing Platform. San Fransisco.

Ardiansyah, Hendri, Amalia, Resti & Prasetyo, Agus Budi. 2019.


Algoritma dan Pemrograman 1. Unpam Press. Banten.

Budiman, Edy. 2015. Belajar Dasar Algoritma & Pemrograman.


Pemula. Samarinda.

Irfani, M. Haviz & Dafid. 2016. Modul Praktikum Dasar


Pemrograman dengan Bahasa Python. Core. Palembang.

Herman, Ted. 2014. A Functional Start to Computing with Python.


CRC Press. Florida.

Rossum, Guido van & Python Development Team. 2018. Python


Tutorial: Release 3.7.0. Python Software Foundation. America.

Abidin, Taufik Fuadi & Zamanhuri, Irvanizam. 2012. Struktur Data dan
Algoritma: Metode Pengurutan Merge Sort. Informatika
Unsyiah. Banda Aceh.

Anda mungkin juga menyukai