LAPORAN PRAKTIKUM "FUNCTION" [ALPRO] PDF

Title LAPORAN PRAKTIKUM "FUNCTION" [ALPRO]
Author Ivan Andrianto
Pages 21
File Size 350.7 KB
File Type PDF
Total Downloads 302
Total Views 359

Summary

Praktikum Algoritma dan Pemrograman 2019 MODUL III FUNCTION 3.1 TUJUAN PRAKTIKUM Tujuan dari praktikum ini adalah : 1. Mahasiswa mengenal fungsi dalam bahasa C/C++. 2. Mahasiswa mampu mengimplementasikan metode fungsi dalam pembuatan program. 3. Mahasiswa bisa membuat program procedural dengan bahas...


Description

Praktikum Algoritma dan Pemrograman 2019

MODUL III FUNCTION 3.1 TUJUAN PRAKTIKUM Tujuan dari praktikum ini adalah : 1. Mahasiswa mengenal fungsi dalam bahasa C/C++. 2. Mahasiswa mampu mengimplementasikan metode fungsi dalam pembuatan program. 3. Mahasiswa bisa membuat program procedural dengan bahasa C/C++. 3.2 DASAR TEORI 3.2.1

Fungsi Fungsi merupakan blok dari kode program yang dirancang khusus untuk

melakukan tugas tertentu. Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nantinya, nama ini yang akan dipanggil dalam fungsi “main”. Yang harus dipahami, sebuah fungsi yang mempunyai tipe data harus mempunyai nilai balikan (return value). Fungsi yang tidak mempunyai tipe data (“void”) tidak perlu mengembalikan suatu nilai, Fungsi ini hanya digunakan untuk menampilkan suatu keterangan saja.[1] Bentuk umumnya seperti : int jml2bil (int x1, int x2) { int jml; jml = x1 + x2; return (jml); }

3.2.2

Deklarasi Fungsi Deklarasi fungsi atau sering disebut dengan prototype fungsi dimaksudkan

untuk mendeklarasikan fungsi agar dapat dipanggil. Deklarasi fungsi berupa: 1. Menggunakan fungsi tanpa menyertakan prototipe fungsinya Cara ini bisa digunakan dengan syarat fungsi yang dibuat harus diletakkan di atas fungsi “main”. Apabila fungsi yang dibuat diletakkan setelah fungsi “main” maka fungsi tersebut dianggap tidak terdefinisi.[1]

Modul III – Function

47

Praktikum Algoritma dan Pemrograman 2019

Bentuk umumnya seperti : tipe_data nama_fungsi (parameter) { //badan fungsi return nilai-return } main() { nama_fungsi (parameter); return 0;}

2. Menggunakan fungsi dengan menyertakan prototipe fungsinya Prototipe fungsi adalah kode program yang digunakan untuk medeklarasikan sebuah fungsi yang dibuat oleh programmer. Dengan menggunakan cara ini, maka seorang programmer dapat meletakkan fungsi yang dibuat dimanapun.[1] Bentuk umumnya seperti : //prototipe fungsi tipe_data nama_fungsi1 (parameter); tipe_data nama_fungsi2 (parameter); tipe_data nama_fungsi1(parameter){ //badan fungsi return nilai_return } main() { nama_fungsi1 (parameter); nama_fungsi2 (parameter); return 0; } tipe_data nama_fungsi2 (parameter) { //badan fungsi return nilai_return }

3.2.3

Penggolongan Variabel

1. Variabel Lokal Variabel lokal adalah variabel yang dideklarasikan di dalam fungsi dan hanya dikenal oleh fungsi yang bersangkutan. Variabel lokal biasa disebut dengan variabel otomatis.[6] 2. Variabel Eksternal Variabel eksternal adalah variabel yang dideklarasikan di luar fungsi yang bersifat global yang artinya dapat digunakan bersama-sama tanpa harus

Modul III – Function

48

Praktikum Algoritma dan Pemrograman 2019

dideklarasikan berulang-ulang. Untuk pendeklarasian variabel eksternal dilakukan di luar fungsi “main”, yang selama ini pendeklarasian variabel selalu di dalam fungsi “main”.[6] 3. Variabel Statis Variabel statis dapat berupa variabel lokal ataupun variabel eksternal. Sifat variabel statis ini mempunyai sifat antara lain : a. Jika variabel statis bersifat lokal, maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan. b. Jika variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama di tempat variabel statis dideklarasikan. c. Jika tidak ada inisialisasi oleh pemrograman secara otomatis akan diberikan nilai awal nol. Suatu variabel statis diperoleh dengan menambahkan kata kunci static di depan penentu tipe data variabel.[6] 3.2.4

Parameter Parameter fungsi digunakan untuk mengirimkan parameter (nilai) ke suatu

fungsi. Parameter berbeda dengan argument. Parameter digunakan untuk memasukkan input pada sebuah tubuh fungsi yang ditullis di luar fungsi “main”, sedangkan argument merupakan masukan pada sebuah fungsi ketika fungsi tersebut dipanggil pada sebuah fungsi “main”. Parameter fungsi harus bertipe data tertentu. Terdapat 2 jenis parameter, yaitu : 1. Parameter Formal : Parameter yang ditulis pada deklarasi fungsi 2. Parameter Aktual : Parameter yang dimasukkan dalam program pemanggil fungsi tersebut, sering disebut dengan argument. Pengiriman parameter ke suatu fungsi dapat dilakukan dengan dua cara, yaitu : 1. Pengiriman Parameter Secara Nilai (By Value) Pengiriman parameter secara nilai mempunyai karakteristik sebagai berikut : a. Nilai parameter yang dikirim ke fungsi tidak mempengaruhi nilai parameter pada bagian program yang memanggil fungsi tersebut. b. Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil.

Modul III – Function

49

Praktikum Algoritma dan Pemrograman 2019

c. Pengiriman parameter secara nilai dapat dilakukan untuk suatu ungkapan, variabel, array atau konstanta.[6] 2. Pengiriman Parameter Secara Acuan (By Reference) Pengiriman parameter secara acuan mempunyai karakteristik sebagai berikut : a. Nilai parameter yang dikirim ke fungsi merubah nilai asli pada bagian program yang memanggil fungsi tersebut. b. Pengiriman parameter secara acuan adalah pengiriman dua arah, yaitu bagian program yang memanggil fungsi ke fungsi yang dipanggil dan sebaliknya. c. Pengiriman parameter secara acuan tidak dapat dilakukan untuk suatu ungkapan, hanya untuk sebuah variabel, array atau konstanta saja.[6] 3.2.5

Fungsi Rekursif Fungsi rekursif adalah fungsi yang berisi dirinya sendiri atau fungsi yang

mendefinisikan dirinya sendiri. Fungsi rekursif merupakan fungsi matematis yang berulang dan memiliki pola yang terstruktur, namun perlu diperhatikan agar fungsi ini dapat berhenti dan tidak menghabiskan memori. Beberapa ciri khas fungsi rekursif adalah sebagai berikut :[6] 1. Kode program lebih singkat dan ada beberapa kasus yang memang lebih mudah bilang menggunakan fungsi rekursif. 2. Memakan memori yang lebih besar karena setiap kali bagian dirinya dipanggil maka dibutuhkan sejumlah ruang memori tambahan. 3. Mengorbankan efisiensi dan kecepatan. Bentuk umumnya seperti : return_data_type_function_NIM(parameter_list){ ... function_NIM(...); ... }

Modul III – Function

50

Praktikum Algoritma dan Pemrograman 2019

3.3 PERMASALAHAN 1. Triumvirate Holdings memberikan hadiah liburan kepada keluarga tertentu dengan syarat keluarga tersebut harus mengabdi pada mereka untuk menghancurkan Olympus. Hadiah tersebut meliputi biaya perjalanan, penginapan, makan, dan belanja cenderamata. Nominal hadiah yang diberikan bergantung pada jumlah anggota keluarga yang ikut dalam liburan dengan ketentuan sebagai berikut: a.

Untuk penerbangan dengan Pegasus Airline biaya tiket untuk kategori dewasa

adalah

Rp.1.600.000

dan

kategori

anak-anak

adalah

Rp.1.300.000. Untuk penerbangan dengan Hippocampus Airline biaya tiket untuk kategori dewasa adalah Rp.1.100.000 dan kategori anak-anak adalah Rp.800.000. Untuk penerbangan dengan Drakon Airline biaya tiket untuk kategori dewasa adalah Rp.2.700.000 dan kategori anak-anak adalah Rp.1.900.000. b.

Untuk penginapan di Camp Jupiter menghabiskan sebanyak Rp.700.000 per malam, adapun Camp Half-Blood hanya Rp.350.000.

c.

Biaya makan selama liburan adalah Rp.300.000 per hari bagi masingmasing orang, untuk anak-anak mendapatkan tambahan Rp.200.000 per orang untuk membeli jajanan.

d.

Ketika pergi berlibur baik anak-anak maupun orang dewasa akan berbelanja cinderamata. Untuk itu, orang dewasa diberi masing-masin Rp.4.000.000 dan anak-anak Rp.2.500.000.

Buatlah program dengan fungsi-fungsi untuk menghitung biaya perjalanan, penginapan, makan, dan belanja cenderamata. Input yang dibutuhkan adalah jumlah orang dewasa dan jumlah anak-anak, lama berlibur, pilihan penerbangan dan penginapan. 2. Labirin Daedalus merupakan labirin bawah tanah yang tidak mengenal jarak dan waktu, siapapun bisa masuk di New York dan 5 menit kemudian sudah sampai di San Francisco. Labirin Daedalus dirancang sedemikian sehingga bisa bertumbuh dan berpikir sendiri. Percy, Nico di Angelo, dan Thalia memasuki labirin hari ini dan harus sudah tiba di Olympus dalam 24 jam.

Modul III – Function

51

Praktikum Algoritma dan Pemrograman 2019

Tentukan total jalan dalam labirin ketika mereka bertiga keluar dari labirin jika pada saat mereka masuk terdapat 2795 jalan, dan : a. Pada jam yang merupakan kelipatan 4, jalan ke kanan bertambah 3. b. Pada jam yang merupakan kelipatan 7, jalan ke kiri bertambah 7 dan 5 jalan ke kanan hancur. c. Selain jam kelipatan 4 dan 7, setiap jam jalan ke kanan bertambah 2 dan 3 jalan ke kiri hancur. Gunakan fungsi rekursif.

Modul III – Function

52

Praktikum Algoritma dan Pemrograman 2019

3.4 HASIL PERCOBAAN 3.4.1

Program Penghitung Biaya Liburan

1. Algoritma a. Menyiapkan variabel untuk menampung nilai jumlah orang dewasa. b. Menyiapkan variabel untuk menampung nilai jumlah anak-anak. c. Menyiapkan variabel untuk menampung nilai lama berlibur. d. Membuat fungsi untuk menghitung total biaya perjalanan, dengan ketentuan: 1) Untuk Pegasus Airline, jumlah orang dewasa dikali Rp.1.600.000 dan anak-anak dikali Rp.1.300.000. 2) Untuk Hippocampus Airline, jumlah orang dewasa dikali Rp.1.100.000 dan anak-anak dikali Rp.800.000. 3) Untuk Drakon Airline, jumlah orang dewasa dikali Rp.2.700.000 dan anak-anak dikali Rp.1.900.000. e. Membuat fungsi untuk menghitung total biaya penginapan, dengan ketentuan: a. Untuk Camp Jupiter, biayanya Rp.700.000 per malam. b. Untuk Camp Half-Blood, biayanya Rp.350.000 per malam. f. Membuat fungsi untuk menghitung total biaya makan, dengan ketentuan Rp.300.000 per hari untuk masing-masing orang dewasa ditambah Rp.500.000 (Rp.300.000+Rp.200.000) untuk masing-masing anak. g. Membuat fungsi untuk menghitung total biaya cinderamata, dengan ketentuan Rp.4.000.000 untuk masing-masing orang dewasa dan Rp.2.500.000 untuk masing-masing anak. h. Memasukkan nilai jumlah orang dewasa. i. Memasukkan nilai jumlah anak-anak. j. Memasukkan nilai lama berlibur. k. Memasukkan pilihan penerbangan. l. Memasukkan pilihan penginapan. m. Memanggil fungsi-fungsi yang telah dibuat untuk memproses perhitungan. n. Menampilkan hasil penghitungan dari proses tersebut.

Modul III – Function

53

Praktikum Algoritma dan Pemrograman 2019

2. Flowchart START

Input nilai a1, a2, a3, a4, a5

a4=1

Set flight=a1*1600000 +a2*1300000

a4=2

Set flight=a1*1100000 +a2*800000

a4=3

Set flight=a1*2700000 +a2*1900000

a5=1

Set stay=a3*700000

a5=2

Set stay=a3*350000

Set eat=a3*(a1*300000 +a2*500000)

Set souv=a1*4000000+a 2*2500000

Set total=flight+stay+eat+souv

Print total

STOP

Gambar 3.1 Flowchart program penghitung biaya liburan Modul III – Function

54

Praktikum Algoritma dan Pemrograman 2019

3. Pseudocode Step 1 : Start Step 2 : Set a1,a2,a3,a4,a5 are integer Step 3 : Input nilai a1, a2, a3, a4, a5 Step 4 : Create function of flight(a,b,d) Step 5 : If (d==1) then Set flight=a*1600000+b*1300000 Step 6 : If (d==2) then Set flight=a*1100000+b*800000 Step 7 : If (d==3) then Set flight=a*2700000+b*1900000 Step 8 : Create function of stay(c,e) Step 9 : If (e==1) then Set stay=c*700000 Step 10 : If (e==2) then Set stay=c*350000 Step 11 : Create function of eat(a,b,c) Step 12 : Set eat=c*(a*300000+b*500000) Step 13 : Create function of souv(a,b) Step 14 : Set souv=a*4000000+b*2500000 Step 15 : Call function of flight(a1,a2,a4),stay(a3,a5),eat(a1,a2,a3),souv(a1,a2) Step 15 : Set total= flight(a1,a2,a4)+stay(a3,a5)+eat(a1,a2,a3)+souv(a1,a2) Step 16 : Print total Step 17 : Stop 4. Source Code #include #include int flight(int a,int b,int d) { int x; switch(d) {case 1: x=(a*1600000)+(b*1300000);break; case 2: x=(a*1100000)+(b*800000);break; case 3: x=(a*2700000)+(b*1900000);break; default: cout...


Similar Free PDFs