Anda di halaman 1dari 13

LAPORAN RESMI

MODUL IV
FUNCTION (FUNGSI)
ALGORITMA PEMROGRAMAN

NAMA : R.RIFQI NOVA KHAIRIFO


N.R.P : 230441100153
DOSEN : MOHAMMAD SYARIEF, S.T. M.Cs
ASISTEN : M. AKMAL NABIL HIBRIZI
TGL PRAKTIKUM : 13 OKTOBER 2023

Disetujui : 19 OKTOBER 2023


Asisten

M. AKMAL NABIL HIBRIZI


22.04.411.0068

LABORATORIUM BISNIS INTELIJEN SISTEM


PRODI SISTEM INFORMASI
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
BAB I
PENDAHULUAN

1.1 Latar Belakang


Pemograman merupakan proses menulis, menguji, dan memelihara kode
instruksi yang memberikan periintah atau instruksi komputer untuk melakukan
suatu operasi atau tugas tertentu. Kode ini ditulis menggunakan bahasa
pemograman yang berupa kumpulan instruksi yang dapat dipahami oleh
komputer. Bahasa pemograman juga banyak sekali jenisnya, salah satunya adalah
Python. Python sendiri dikembangkan pertama kali oleh seorang programmer asal
Belanda bernama Guido Van Rossum pada akhir 1980-an yang awal nya
diciptakan untuk mengatasi kekurangan dari bahasa pemograman ABC yang ia
gunakan sebelumnya. Nama Python sendiri diambil dari acara komedi televise
inggris yang disukai oleh Guido, yaitu “Monty Python’s Flying Circus”. Nama ini
Ia cetuskan untuk memberikan nama yang unik dan mudah diingat. Salah satu
aspek yang membedakan Python adalah fokusnya pada keterbacaan kode atau
readability, bahasa python sendiri dirancang untuk membuat kode mudah dibaca
dan dipahami
Pada modul ketiga yang membahas tentang Function (Fungsi) yang ada
dalam bahasa pemograman. Fungsi (Function) adalah suatu program terpisah
dalam blok sendiri yang berfungsi sebagai sub-program (modul program)
yang merupakan sebuah program kecil untuk memproses sebagian dari
pekerjaan program utama. Fungsi digunakan untuk mengumpulkan beberapa
perintah yang sering dipakai dalam sebuah program.

1.2 Tujuan
 Dapat mengetahui dan memahami fungsi dalam python
 Dapat mengetahui bentuk umum dari fungsi
 Dapat menggunakan dan mendeklarasikan fungsi
BAB II
DASAR TEORI

2.1 Pengertian Fungsi


Fungsi (Function) adalah suatu program terpisah dalam blok sendiri
yang berfungsi sebagai sub-program (modul program) ang merupakan
sebuah program kecil untuk memproses sebagian dari pekerjaan program
utama. Fungsi digunakan untuk mengumpulkan beberapa perintah yang
sering dipakai dalam sebuah program. Fungsi juga bisa diartikan sebagai
bagian dari program yang dapat digunakan kembali. Hal ini bisa dicapai
dengan memberi nama pada blok statemen, kemudian nama ini dapat
dipanggil di manapun dalam program. Kita telah menggunakan beberapa
fungsi builtin seperti range.
Fungsi dalam Python didefinisikan menggunakan kata kunci def.
Setelah def yada nama pengenal fungsi diikut dengan parameter yang diapit
oleh tanda kurung dan diakhir dingan tanda titik dua : . Baris berikutnya
berupa blok fungsi yang akan dijalankan jika fungsi dipanggil.
Fungsi juga memiliki dua kategori yaitu :
1. Standard Library Function
fungsi-fungsi yang telah disediakan oleh Interpreter Python dalam
file-file atau librarinya.
Misalnya: raw_input(), input(), print(), open(), len(),
max(), min(), abs() dll.
2. Programme-Defined Function
function yang dibuat oleh programmer sendiri. Function ini memiliki
nama tertentu yang unik dalam program, letaknya terpisah dari
program utama, dan bisa dijadikan satu ke dalam suatu library
buatan programmer itu sendiri.
2.2 Mendeklarasikan dan Memakai Fungsi

a) Statemen Def
Statemen def adalah perintah standar dalam python untuk
mendefinisikan sebuah fungsi. def dalam python merupakan perintah
yang executable, artinya function tidak akan aktif sampai python
merunning perintah def tersebut
Statemen def digunakan untuk mendeklarasikan fungsi. Sedangkan
statemen return digunakan untuk mengembalikan suatu nilai kepada
bagian program yang memanggil fungsi. Bentuk umum untuk
mendeklarasikan fungsi adalah sebagai berikut :

def <nama_fungsi>(arg1, arg2, arg3, …,argN) :

<statemen-statemen>

Sebuah fungsi diawali dengan statemen def kemudian diikuti oleh


sebuah nama_fungsi nya. Sebuah fungsi dapat memiliki daftar argumen
(parameter) ataupun tidak. Tanda titik dua ( : ) menandakan awal
pendefinisian tubuh dari fungsi yang terdiri dari statemen-statemen.Tubuh
fungsi yang memiliki statemen return :

def <nama_fungsi>(arg1, arg2, arg3, …,argN) :


<statemen-statemen>

...

return <value>

Statemen return dapat diletakkan di bagian mana saja dalam tubuh


fungsi. Statemen return menandakan akhir dar pemanggilan fungsi dan
akan mengirimkan suatu nilai balik kepada program yang memanggil
fungsi tersebut. Statemen returnbersifat opsional, artinya jika sebuah
fungsi tidak memiliki statemen return, maka sebuah fungsi tidak akan
mengembalikan suatu nilai apapun.
b) Statemen Lambda
Selain statemen def, Python juga menyediakan suatu bentuk
ekspresi yang menghasilkan objek fungsi. Karena kesamaannya dengan
tools dalam bahasa Lisp, ini disebut lambda .Seperti def, ekspresi ini
menciptakan sebuah fungsi yang akan dipanggil nanti, tapi
mengembalikan fungsi dan bukan untuk menetapkan nama.
lambda dalam python lebih dikenal dengan nama Anonymous
Function (Fungsi yang tidak disebutkan bukanlah sebuah perintah
(statemen) namun lebih namanya). Lambda kepada ekspresi (expression).
Dalam prakteknya, mereka sering digunakan sebagai cara untuk inline
definisi fungsi, atau untuk menunda pelaksanaan sepotong kode.
Bentuk umum lambda adalah kata kunci lambda, diikuti oleh satu
atau lebih argument (persis seperti daftar argumen dalam tanda kurung di
(def header), diikuti oleh ekspresi setelah tandatitik dua:

lambda argument1, argument2,... argumentN :expression


using arguments

lambda memiliki perbedaan dengan def antara lain :

1. Lambda adalah sebuah ekspresi, bukan pernyataan. Karena ini,


sebuah lambda dapat muncul di tempat-tempat def tidak diperbolehkan
oleh sintaks Python-di dalam daftar harfiah atau pemanggilan fungsi
argumen, misalnya. Sebagai ekspresi, lambda mengembalikan nilai
(fungsi baru) yang opsional dapat diberi nama. Sebaliknya, pernyataan
def selalu memberikan fungsi baru ke nama di header, bukannya
kembali sebagai hasilnya.
2. Tubuh lambda adalah ekspresi tunggal, bukan satu blok statemen.
Tubuh lambda sama dengan apa yang akan dimasukkan ke dalam
statemen returndalam tubuh def.
Fungsi Rekursif
Fungsi Rekursif merupakan suatu fungsi yang memanggil
dirinya sendiri. Artinya, fungsi tersebut dipanggil di dalam tubuh fungsi
itu sendiri. Tujuan di lakukan rekursif adalah untuk menyederhanakan
penulisan program dan menggantikan bentuk iterasi. Dengan rekursi,
program akan lebih mudah dilihat. Mencari nilai faktorial dari suatu
bilangan bulat positif adalah salah satu pokok bahasan yang
memudahkan pemahaman mengenai fungsi rekursif.

Scope Variabel
Scope variabel atau cakupan variabel merupakan suatu keadaan
dimana pendeklarasian sebuah variabel di tentukan. Dalam scope variabel
dikenal dua istilah yaitu local dan global .
∙ Variabel local : ketika variabel tersebut didefinisikan didalam sebuah
fungsi (def). Artinya, variabel tersebut hanya dapat di gunakan dalam
cakupan fungsi tersebut saja
∙ Variabel global : didefinisikan diluar fungsi . Artinya, variabel tersebut
dapat digunakan oleh fungsi lain atau pun program utamanya.
BAB IV
IMPLEMENTASI
4.1 Source Code
1. Buatlah fungsi (functions) def mengitung LUAS PERMUKAAN bangun
ruang : kerucut, limas segilima, prisma segilima secara dinamis.

def luas_permukaan_kerucut(jari_jari, selimut):


if jari_jari % 7 == 0:
luas = 22/7 * jari_jari * (jari_jari + selimut)
else:
luas = 3.14 * jari_jari * (jari_jari + selimut)
return luas

def luas_permukaan_limas_segilima(sisi, alas, tinggi):


luas_alas = 1.72 * sisi * sisi
l_sisi_tegak = 5 * (1/2 * alas * tinggi)
luas = luas_alas + l_sisi_tegak
return luas

def luas_permukaan_prisma_segilima(alas, tinggi):


keliling_alas = 5 * alas
luas_alas = 5 * alas * tinggi
luas = 2 * luas_alas + (keliling_alas * tinggi)
return luas

def main():
print("Program Menghitung Luas Permukaan Bangun Ruang")
print("1. Kerucut")
print("2. Limas Segilima")
print("3. Prisma Segilima")

pilihan = int(input("Pilih bangun ruang (1/2/3): "))

if pilihan == 1:
jari_jari = float(input("Masukkan panjang jari-jari
kerucut: "))
selimut = float(input("Masukkan selimut kerucut: "))
hasil = luas_permukaan_kerucut(jari_jari, selimut)
if jari_jari < 0 or selimut < 0:
print("masukkan bilangan positif")
else:
print(f"Luas permukaan kerucut: {hasil:.2f}cm^2")
elif pilihan == 2:
sisi = float(input("masukkan sisi limas segilima: "))
alas = float(input("Masukkan alas limas segilima: "))
tinggi = float(input("Masukkan tinggi limas segilima:
"))
hasil = luas_permukaan_limas_segilima(sisi, alas,
tinggi)
if sisi < 0 or alas < 0 or tinggi < 0:
print("masukkan bilangan positif")
else:
print(f"Luas permukaan limas segilima:
{hasil:.2f}cm^2")
elif pilihan == 3:
alas = float(input("Masukkan panjang sisi alas prisma
segilima: "))
tinggi = float(input("Masukkan tinggi prisma segilima:
"))
hasil = luas_permukaan_prisma_segilima(alas, tinggi)
if alas < 0 or tinggi < 0:
print("masukkan bilangan positif")
else:
print(f"Luas permukaan prisma segilima:
{hasil:.2f}cm^2")
else:
print("Pilihan tidak valid")

main()

2. Buatlah program untuk mencari nilai faktorial dari suatu bilangan bulat
positif dengan menggunakan Fungsi Rekursif.
def faktorial(n):
if n == 0 or n == 1:
return 1
else:
return n * faktorial(n - 1)

def main():
bilangan = int(input("Masukkan bilangan bulat positif: "))

if bilangan < 0:
print("Mohon masukkan bilangan bulat positif.")
else:
hasil = faktorial(bilangan)
print(f"{bilangan}! = {hasil}")

main()
3. Buatlah program untuk menghitung Bilangan Berpangkat dua dengan
menggunakan Fungsi Rekursif.

def pangkat_dua(bilangan, n=2):


if n == 0:
return 1
else:
return bilangan * pangkat_dua(bilangan, n-1)

def main():
bilangan = int(input("Masukkan bilangan: "))
hasil = pangkat_dua(bilangan)
print(f"{bilangan}^2 = {hasil}")

main()

4.2 Hasil
1. Program Menghitung Luas Permukaan Bangun Ruang
1. Kerucut
2. Limas Segilima
3. Prisma Segilima
Pilih bangun ruang (1/2/3): 2
masukkan sisi limas segilima: 7
Masukkan alas limas segilima: 9
Masukkan tinggi limas segilima: 11
Luas permukaan limas segilima: 331.78cm^2
Penjelasan: mencari luas permukaan dari kerucut operasi nya akan
dilakukan dalam fungsi def yang dimana menggunakan parameter jari-jari
nya dan selimut kerucut yang nilainya di dapat dari input pengguna lalu di
hasil nya akan dipanggil di luar. Lalu limas segilima dimana parameter
nya yaitu sisi, alas, dan tinggi yang dimana juga dujalankan operasi di
dalam fungsi pertana untuk nebjelaskan luas alas lalu di lanjutkan untuk
operasi mencari luas segitiga dan digabungkan dengan cara dijumlahkan
lalu di return untuk mengetahui hasilnya setelah di panggil. Lalu mencari
luas prisma segi lima yang dimana sama seperti sebelumnya operasinya
akan dijalankan di dalam fungsi, yaitu mencari luas persegi dan dan luas
alasnya yang berbentuk segilima dan di jadikan satu serta ditambahkan. Di
blok kode untuk menginputkan nilainya ada di dalam perulangan supaya
user dapat mengulangi program jika di inginkan dan menggunakan
pengkondisian agar user dapat memilih dan mencari permukaan yang di
inginkan.

2. Masukkan bilangan bulat positif: 7


7! = 5040
Penjelasan: yaitu membuat program mencari hasil bilangan factorial. Di
blok kode pertama yaitu fungsi def dari factorial tersebut dengan
parameter input dari pengguna yang akan dijadikan bilangan. Di dalam
bilangan factorial tersebut terdapat pengkondisian jika bilangan itu sama
dengan 0 maka akan dikembalikan dengan nilai satu dan else akan
dikembalikan dengan bilangan dikali dengan fungsi rekursif yaitu bilangan
fungsi itu sendiri dikurang satu agar dapat berjalan. Jika sudah maka hasil
nya akan di panggil di variable hasil lalu output nya memakai f-string
untuk memasukkan variable di string.

3. Masukkan bilangan: 9
9^2 = 81
Penjelasan: membuat program mencari hasil bilangan yang berpangkat
dua. Pada awal program berjalan blok kode pertama ada fungsi def yang
berisikan parameter input yang akan menjadi bilangan dan pangkatnya
yaitu dua. Di dalam fungsi terdapat pengkondisian jika pangkat atau dua
sama dengan 0 maka akan di kembalikan menjadi nilai satu dan jika tidak
maka akan bilangan akan di kalikan dengan pangkat dikurang satu dan
dipanggil sebagai fungsi rekursi. Dan hasil nya akan di keluarkan melalui
output print
BAB V
PENUTUP

5.1 Analisa
Dari praktikum pada modul ini praktikan dapat mempelajari dan
mengpraktikan cara menggunakan fungsi. Praktikan juga dapat mempelajari cara
fungsi itu bekerja. Yaitu dengan menggunakan kata kunci def lalu memberi nama
untuk memanggil fungsi tersebut dan memberikan parameter yang ada di dalam
kurung. Function (Fungsi) adalah salah satu elemen dasar yang sangat penting
dalam ilmu pemograman. Fungsi dapat memungkinkan menjalankan program
kecil untuk memproses Sebagian dari pekerjaan atau tugas dari program
utamanya.
Fungsi bekerja seperti program kecil yang memproses Sebagian pekerjaan
lalu hasil dari proses yang terdapat dalam fungsi dapat dipanggil ke dalam
program utama dengan memanggil nama fungsi tersebut. Perulangan juga menjadi
ilmu penting dalam mempelajari pemograman, tidak hanya bahasa python saja
tapi semua bahasa pemograman bisa menerapkan perulangan dengan command
nya tersendiri. Dari hasil praktikum ini juga praktikan dapat menganalisa bahwa
perulangan memiliki banyak kegunaan, terutama dalam sebuah studi kasus yang
melibatkan eksekusi suatu statement berulang-ulang.

5.2 Kesimpulan
Dari materi dan latihan soal yang terdapat pada laporan praktikum ini. Kita
dapat mempelajari dan mempraktikan penggunaan sebuah program fungsi pada
bahasa pemograman python. Seperti contoh diatas, kita dapat menerapkan
program fungsi dalam sebuah program komputer dengan menggunakan bahasa
pemograman python dan dari kegiatan yang sudah kita jalankan atau buat kita bisa
lebih mengefisien dalam pemrograman dan waktu pengerjaan bisa lebih singkat
dan cepat karna memang tujuan dari fungsi agar pekerjaan dari programer lebih
efisien dan pengerjaan nya bisa cepat dan tidak ada pemborosan waktu.

Anda mungkin juga menyukai