MODUL IV
SUB DAN FUNCTION
OLEH:
1. ADRI.S 2110017311020
2. WILANDA OKTAVIA 2110017311023
LABORATORIUM KOMPUTER
JURUSAN TEKNIK INDUSTRI
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS BUNG HATTA
PADANG
2022
BAB I
PENDAHULUAN
1.1. Latar Belakang
Pada pembuatan program yang kompleks dan memiliki banyak fitur, kita
diharuskan menggunakan fungsi. Alasan kita menggunakan fungsi yaitu agar kita
tidak akan kerepotan menulis kode programnya, karena banyak yang harus ditulis
dan kode akan menjadi sulit dibaca dan dirawat(maintenance). Dengan fungsi,
kita dapat memecah program besar menjadi sub program yang lebih sederhana.
Masing-masing fitur pada program dapat kita buat dalam satu fungsi. Pada saat
kita membutuhkan fitur tersebut, kita tinggal panggil fungsinya saja. Kita harus
memahami teori dasar dan hal apa saja yang harus kita ketahui tentang fungsi di
Python. Di era big data, perkembangan data sangat signifikan. Dalam satu hari
dunia dapat memproduksi jutaan data. Sebagian besar data ini merupakan data
yang tidak terstruktur yang sebagian besar berasal dari media sosial. Di era mod-
ern, perusahaan dan organisasi mulai memahami betapa pentingnya data bagi ke-
berlangsungan bisnis maupun organisasi mereka. Data-data ini dapat digunakan
sebagai bahan dasar pengambilan keputusan. Untuk mengubah data menjadi infor-
masi yang bermanfaat, perusahaan membutuhkan para ahli data yang kompeten.
Ahli data yang dimaksud adalah seorang data scientist. Selain bertugas mengubah
data menjadi informasi yang berguna, seorang data scientist juga bertugas untuk
membuat visualisasi data dan mempresentasikannya. Oleh karena itu, seorang data
scientist tidak hanya harus memiliki kemampuan olah data saja, tetapi juga harus
memiliki kemampuan komunikasi yang baik.
Seorang data scientist yang bekerja menggunakan big data membutuhkan
beberapa tools yang akan menunjang pekerjaannya, seperti tools olah data dan
database. Untuk mengolah big data, data scientist tidak bisa menggunakan tools
konvensional sehingga mereka perlu menggunakan bahasa pemrograman yang
lebih powerful dan lebih cepat. Bahasa pemrograman yang sering digunakan oleh
data scientist adalah R dan Python. Sebelumnya kita telah melihat dan menggunakan
fungsi-fungsi seperti print, int, float dan sebagainya. Python memiliki lebih banyak fungsi,
dan membuat fungsi kita sendiri adalah bagian besar dari perjalanan kita belajar pemro-
graman python. Dalam bagian ini kita akan belajar lebih banyak tentang menggunakan
dan mendefinisikan fungsi.
1.2. Tujuan Praktikum
1. Praktikan mengenal dan mengerti konsep dari modularity serta pen-
gaplikasiannya dengan menggunakan sub dan function.
2. Praktikan dapat memahami tentang pengiriman parameter, data global
dan lokal, dan cara memanggil sub.
3. Praktikan dapat memahami tentang perbedaan antara sub dan func-
tion.
4. Praktikan dapat membuat program yang bersifat modularity dengan
menggunakan sub dan function.
1.3. Alat dan Bahan
Berikut ini alat dan bahan yang digunakan dalam praktikum:
1. Laptop / computer yang memiliki aplikasi python.
2. Modul praktikum computer.
1.4. Prosedur Praktikum
Berikut prosedur percobaan pada praktikum kali ini sebagai berikut:
1. Praktikan menerima materi praktikum dari asisten.
2. Praktikan mencoba membuat program di computer.
3. Praktikan mengerjakan latihan yang diberikan.
4. Praktikan menyimpan hasil kerja.
1.5. Sistematika Penulisan
Berdasarkan modul praktikum, prosedur penulisan pada modul ini seba-
gai berikut:
BAB I PENDAHULUAN
Pada bab ini praktikan menuliskan latar belakang, tujuan praktikum, alat
dan bahan, prosedur penulisan dan sistematika penulisan pada praktikum.
BAB II LANDASAN TEORI
Pada bab ini terdapat landasan teori yang terdiri dari function, struktur
fungsi def, statement lambada, pengiriman parameter dan nested func-
tion.
BAB III FLOWCHART
Pada bab flowchart ini terdapat diagram alir yang menggambarkan proses
pembuatan program yang akan dibuat secara rinci.
BAB IV LISTING PROGRAM
Pada bab ini terdapat listing program dari tugas yang diberikan oleh asis-
ten dosen yang mana pada program tersebut kita memasukkan penggu-
naan materi yang telah dipelajari.
BAB V PENUTUP
Pada bagian penutup ini praktikan menuliskan analisa dari laporan prak-
tikum yang telah dibuat, kemudaian menambahkan kesimpulan dan
saran.
DAFTAR PUSTAKA
BAB II
LANDASAN TEORI
2.1. Function
Fungsi adalah blok kode terorganisir dan dapat digunakan kembali yang
digunankan untuk melakukan sebuah tindakan/ action. Fungsi memberikan
modularitas yang lebih baik untuk aplikasi anda dan tingkat penggunaan kode
yang tinggi. Fungsi atau dalam istilah pemrograman disebut dengan “function”
merupakan blok kode yang digunakan untuk menyelesaikan masalah spesifik.
Fungsi dapat dipanggil dan digunakan berkali-kali, serta dapat menerima input
dan mengeluarkan output. Misalnya ketika kita ingin menghitung luas segitiga.
Nah, sebagai programmer kita dapat membuat fungsi yang menerima input berupa
2 bilangan yaitu alas dan tinggi lalu mengeluarkan output berupa luas segitiga
sesuai rumus yang ada. Tidak terbatas pada angka saja, fungsi juga dapat mener-
ima dan mengeluarkan jenis data yang lain sesuai tipe data yang sudah disediakan.
Ketika fungsi dipanggil pada program utama, maka alur program utama akan ter-
henti sementara untuk menjalankan perintah pada fungsi yang bersangkutan. Alur
program pada sebuah fungsi kurang lebih sama seperti program utama. Karena in-
ilah fungsi juga disebut sebagai sub program.
Fungsi termasuk bagian dari program yang dapat digunakan ulang. Hal
ini bisa dicapai dengan memberi nama pada blok statemen, kemudian nama ini da-
pat dipanggil di manapun dalam program. Kita telah menggunakan beberapa
fungsi builtin seperti range. Fungsi dalam Python didefinisikan menggunakan kata
kunci def. Setelah def ada nama pengenal fungsi diikut dengan parameter yang di-
apit oleh tanda kurung dan diakhir dingan tanda titik dua (:). Baris berikutnya
berupa blok fungsi yang akan dijalankan jika fungsi dipanggil.
# lat15.py def halo_dunia():
print 'Halo Dunia!'
halo_dunia()
# memanggil fungsi halo_dunia
halo_dunia()
# fungsi halo_dunia dipanggil
lagi outputnya :
Halo Dunia!
Halo Dunia!
Gambar 2. Contoh Penggunaan Function Pada Python
Jika kita ingin menghitung jumlah item suatu objek, kita bisa menggu-
nakan fungsi ‘len’. Tetapi bagaimana jika kita lupa kegunaan fungsi tersebut?
Maka kita bisa gunakan fungsi help. Fungsi help () merupakan salah satu fungsi
yang sangat penting untuk kita pelajari. Jika kita dapat mengingat cara menggu-
nakan help(), kita memegang kunci untuk memahami sebagian besar fungsi lain-
nya. Karena fungsi help() adalah suatu fungsi untuk memahami fungsi semua
fungsi. Berikut ini sebuah contoh:
>>>print (help(len))
Help on built-in function len in module builtins:
Len (obj, /)
Return the number of items in a container.
Gambar 2.1 Contoh Function Help
print "\n\n"
print " contoh penggunaan fungsi berparameter : "
print "hasil : ", fungsi_berparameter(10)
Gambar 2. Contoh Pembuatan Function
Sebuah function jika dipanggil langsung nilai keluarannya tidak akan dicetak.
Tetapi jika dipanggil melalui sebuah function seperti print nilai keluarannya akan dita-
mpilkan. Nilainya “None” ? Karena di function yang tadi ditulis tidak disertakan keyword
return. Jika sebuah function tidak diberikan return maka dapat dibilang function terse-
but dianggap procedure. Sebuah function yang tidak memiliki nilai keluaran.
hitung = lambda i, j: i + j
print (hitung (49, 51))
nilai = [54, 71, 43, 90, 61, 55, 38, 36, 20, 2]
genap_list = list(filter(lambda i: (i%2 != 1) , nilai))
print(genap_list)
Output yang dihasilkan:
[54, 90, 38, 36, 20, 2]
Gambar
2.3.4. Menggunakan Fungsi Lambda () Dengan map ()
Fungsi map() dalam Python mengambil fungsi dan daftar sebagai argu-
men. Fungsi dipanggil dengan fungsi lambda dan daftar dan daftar baru dikemba-
likan yang berisi semua item modifikasi lambda yang dikembalikan oleh fungsi
itu untuk setiap item. Contoh:
nilai_list = [1, 2, 3, 4, 5]
hasil_list = list(map(lambda i: i*12, nilai_list))
print(hasil_list)
Menghasilkan output:
[12, 24, 36, 48, 60]
2.3.5. Menggunakan Fungsi Lambda () Dengan Reduce ()
Fungsi reduce() dalam Python mengambil fungsi dan daftar sebagai argu-
men. Fungsi dipanggil dengan fungsi lambda dan iterable dan hasil pengurangan
baru dikembalikan. Hal ini pun akan melakukan operasi berulang pada pasangan
iterable. Fungsi reduce() milik modul functools.
def nama_function(param1,
param2):
# Isi function disini...
# Isi function disini...
return nilai
nama_function(arg1, arg2)
Hai Lisa
Gambar 2. Contoh Kode Program Parameter dan Argumen Fungsi
Akan lebih fleksibel, saya akan modifikasi fungsi sapa_lisa() agar bisa
menampung sebuah parameter dan argumen:
def sapa_teman(nama):
print("Hai",nama);
sapa_teman("Lisa")
Hasil kode program:
Hai Lisa
Gambar 2. Modifikasi Fungsi Parameter
Pada saat pendefinisian fungsi sapa_teman() di baris 1, saya
menulis sapa_teman(nama). Disini, nama adalah sebuah parameter. Di dalam
function, parameter bisa diakses sebagai mana layaknya variabel. Parame-
ter nama kemudian saya tampikan memakai perintah print seperti di baris 2.
Karena fungsi sapa_teman() memiliki 1 parameter, maka pada saat memanggil
fungsi ini di baris 4, kita harus mengisi sebuah argumen yang dalam contoh ini
adalah string “Lisa“. Ketika dijalankan, argumen “Lisa” di baris 4 akan mengisi
parameter nama di baris 1. Sehingga ketika perintah print(“Hai”,nama) yang ada
di dalam fungsi sapa_teman() di proses, hasilnya adalah “Hai Lisa“. Kita bisa
menjalankan fungsi sapa_teman() dengan argumen yang berbeda-beda:
def sapa_teman(nama):
print("Hai",nama);
sapa_teman("Lisa")
sapa_teman("Sari")
sapa_teman("Putri")
Kebanyakan script yang kita buat tidak berjalan seperti yang kita inginkan
karena kita gagal memahami passing jenis ini. Pass by reference adalah passing
dimana nilai dari variabel kedua kita yang ingin ditetapkan nilainya merefer dari
alamat memori variabel pertama. Ini membuat alamat memori variabel pertama
kita, literally punya 2 label (2 nama variabel merujuk ke alamat memori yang
sama). Efeknya, ketika kita mengubah nilai pada variabel pertama, variabel kedua
akan berubah juga nilainya menyamai dengan variabel pertama. Begitu juga seba-
liknya jika mengubah nilai variabel kedua, variabel pertama secara otomatis akan
berubah juga nilainya.
Gambar 2lustrasi Perbedaan Pass By Value Dan Pass By Reference
Melewatkan parameter dengna cara seperti ini akan menyebabkan nilai yang ter-
dapat di dalam fungsi akan sama persis dengan nilai yang terdapat pada program
(di luar fungsi). Hal ini tentunya disebabkan karena alamat dari variabel yang
berperan sebagai parameter formal sama dengan alamat dari variabel yang
berperan sebagai parameter aktual.
def print_msg(msg):
# Ini adalah fungsi pembungkus luar
def printer():
# Ini adalah fungsi bersarang
print(msg)
printer()
# Eksekusi fungsi
# Output: Hello
print_msg("Hello")
Gambar 2. Coding Fungsi Bersarang Pada Python