Praktikum Modul Praktikum ke Judul Materi Tujuan / Sasaran Waktu (lama) Aplikasi yang digunakan
I.
: Algoritma dan Pemrograman I : 10 : Fungsi / Function : Mahasiswa dapat membuat pseudecode mempraktekkan perintah Function/Fungsi : 3 Jam : C++
dan
Fungsi / Function
Function/fungsi adalah sejumlah instruksi yang dikelompokkan menjadi satu, berdiri sendiri, membentuk suatu subprogram yang sering juga disebut subroutine. Function dibuat untuk melaksanakan suatu pekerjaan (fungsi) tertentu. Setiap fungsi mempunyai
nama.
Fungsi
adalah
modul
program
yang
memberikan
/
mengembalikan (return) sebuah nilai yang bertipe sederhana (integer, real, boolean dan string). Sebuah fungsi digunakan untuk menghitung sebuah nilai berdasar satu atau beberapa nilai masukan. Suatu fungsi secara umum terdiri dari dua buah komponen utama, yaitu definisi fungsi dan tubuh fungsi. Definisi Fungsi berisi tipe data dari fungsi, nama fungsi dan argumen/parameter yang digunakan. Tubuh Fungsi berisi dengan perintah yang diberikan kepada fungsi. Fungsi merupakan sekumpulan pernyataan yang dikemas dalam sebuah nama. Fungsi dapat dipanggil beberapa kali dari tempat yang berbeda dalam program. Tujuan pembuatan fungsi : -
Memudahkan dalam pengembangan program
-
Menghemat ukuran program
Bagian fungsi yang menerima masukan disebut argumen atau parameter. Nilai yang dihasilkan oleh fungsi disebut dengan nilai balik atau return value Ada 2 Macam Parameter Function: 1. Actual Parameter Parameter yang ditulis dalam tanda kurung setelah NamaFunction yang digunakan sebagai pemanggil function. Parameter yang dapat berupa variabel atau konstanta maupun ungkapan yang dipakai dalam pemanggilan fungsi 2. Formal Parameter Parameter yang ditulis dalam tanda kurung setelah NamaFunction dalam definisi function
Algoritma dan Pemrograman I
Hal : 1
Parameter Function: -
Letak parameter bebas asal antara formal dan actual parameter harus bersesuaian letaknya dan sama jumlahnya.
-
Variabel yang sudah dideklarasikan di formal paramater tidak dapat dideklarasikan lagi dalam function.
-
Nama variabel pada parameter actual tidak harus sama dengan formal parameter.
Prototipe Fungsi: -
Deklarasi fungsi disebut dengan prototipe fungsi
-
Sintaks : tipe_nilai_balik nama_fungsi (tipe_arg1 arg1, tipe arg2 arg2, …)
-
Contoh : - Float kel_lingk(float r);
-
-
Int terbesar(int a, int b);
-
Void isiarray();
Void adalah tipe nilai balik yang digunakan pada fungsi tanpa nilai balik. Digunakan pada fungsi yang hanya menampilkan keterangan
-
Prototipe fungsi dituliskan sebelum fungsi main()
Definisi Fungsi: -
Setiap fungsi yang dipanggil dalam program harus didefinisikan terlebih dulu
-
Kalau definisi fungsi diletakkan sebelum fungsi main(), maka tidak perlu prototipe fungsi. Prototipe fungsi hanya diperlukan jika definisi fungsi diletakkan setelah fungsi main()
-
Untuk memberikan nilai balik, digunakan pernyataan return
-
Penulisan return : - return(ungkapan)
- return ungkapan
Bentuk Deklarasi suatu fungsi adalah :
Definisi Fungsi
(daftar Argumen/Parameter) { }
Algoritma dan Pemrograman I
Hal : 2
Aturan penamaan fungsi sama dengan aturan penamaan variabel. Sebuah fungsi tidak harus mempunyai parameter/argumen.
Bentuk Dekripsi suatu fungsi adalah : Badan fungsi, berisi instruksi-instruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi. Suatu fungsi yang memberikan hasil balik selain tipe int perlu dideklarasikan sebelum digunakan. Dengan demikian jika suatu fungsi
tidak
dideklarasikan,
maka
akan
dianggap
fungsi
tersebut
memberikanhasil balik berupa nilai tipe int. Deklarasi fungsi ditulis sebelum fungsi tersebut digunakan. Buat Algoritma, Pseudocode dan programnya untuk menampilkan program tanpa prototipe fungsi, fungsi tanpa nilai balik dan tanpa parameter, PSEUDOCODE : Algoritma tanpa prototipe fungsi. Fungsi tanpa nilai balik dan tanpa parameter KAMUS/DEKLARASI VARIABEL FUNCTION FUNCTION HALO print(“Halo Apa Kabar”) KAMUS/DEKLARASI VARIABEL ALGORITMA/DESKRIPSI HALO()
ALGORITMA : 1. Membuat function HALO() 2. Mencetak/menampilkan “Halo Apa Kabar” 3. Memanggil function HALO() 4. Selesai
PROGRAM :
Algoritma dan Pemrograman I
Hal : 3
Buat Algoritma, Pseudocode dan programnya untuk menampilkan penjumlahan nilai a + b dengan menggunakan nama fungsi jumlah PSEUDOCODE : Algoritma dengan prototipe fungsi. Fungsi mempunyai nilai balik dan parameter
KAMUS/DEKLARASI VARIABEL FUNCTION a, b : int FUNCTION jumlah a+b KAMUS/DEKLARASI VARIABEL a, b : int ALGORITMA/DESKRIPSI jumlah(5000,800)
ALGORITMA : 1. Membuat function jumlah() 2. Menghitung a+b 3. Memanggil function jumlah(5000,800) 4. Selesai
PROGRAM :
Algoritma dan Pemrograman I
Hal : 4
Dibawah ini contoh Program Penjumlahan, Pengurangan dan Perkalian 2 buah Matrik A dan B dengan menggunakan fungsi PSEUDOCODE : Algoritma menampilkan perkalian matriks KAMUS/DEKLARASI VARIABEL input(), kali(), tampil(), pilih, c, d, e : int a[10][10], b[10][10], hasil[10][10], kalip910][10] : int i, j, k, l : Int ALGORITMA/DESKRIPSI input() do input(pilih) switch(pilih) case 1: kali() break while(pilih != 2) input() do input(i) while(i >= 11) do input(j) while(j >= 11) do input(k) while(k >= 11) do input(l) while(l >= 11) for(c=0; c
Algoritma dan Pemrograman I
Hal : 5
PROGRAM :
Algoritma dan Pemrograman I
Hal : 6
Algoritma dan Pemrograman I
Hal : 7
OUTPUT :
II.
Buat Algoritma,Pseudecode dan Programnya
1. Menampilkan operasi matematik (X+Y*Z) dengan menggunakan nama fungsi opmat01. Catatan : nilai X=10, Y=20 dan Z=30 (nama file : P10-01.cpp): 2. Menampilkan operasi matematik (R+S-T) dengan menggunakan nama fungsi opmat02. Catatan : nilai R=100, S=200 dan T=300 (nama file : P10-02.cpp): 3. Menampilkan operasi matematik (K-L*M) dengan menggunakan nama fungsi opmat03. Catatan : nilai K=500, L=100 dan M=0 (nama file : P10-03.cpp): 4. Menampilkan operasi matematik (C*D+E) dengan menggunakan nama fungsi opmat04. Catatan : nilai C=60, D=30 dan E=100 (nama file : P10-04.cpp):
Algoritma dan Pemrograman I
Hal : 8
5. Menampilkan operasi matematik (F+G*H-I) dengan menggunakan nama fungsi opmat05. Catatan : nilai F=10, G=20, H=100 dan I=200 (nama file : P10-05.cpp): 6. Untuk merubah sudut derajat menjadi sudut radian dengan tipe nilai balik float, dengan menggunakan nama fungsi opmat06 (nama file : P10-06.cpp): 7. Untuk menghitung jarak peluru yang ditembakkan dari suatu lokasi dengan sudut penembakan (θ) dan kecepatan (V). Rumus : X = 2 x V02 x sin(θ) x cos(θ) /g. Tipe nilai balik float, dengan menggunakan nama fungsi opmat07 (nama file : P10-07.cpp): 8. Untuk menghitung luas dan keliling lingkaran dengan tipe nilai balik float, dengan menggunakan nama fungsi opmat08 (nama file : P10-08.cpp): 9. Berisi menu-menu untuk menghitung luas dan keliling dari berbagai bangun lainnya, dengan menggunakan nama fungsi opmat09 (nama file : P10-09.cpp): 10. Untuk menghitung akar suatu bilangan dengan tipe nilai balik float dan menghitung pangkat suatu bilangan dengan tipe nilai balik double, dengan menggunakan nama fungsi opmat10 (nama file : P10-10.cpp): 11. Buatlah gabungan macam-macam operasi matematika seperti penjumlahan, pengurangan, dan sebagainya, dengan menggunakan nama fungsi opmat11 (nama file : P10-11.cpp): 12. Nilai b dan c dengan nama fungsi opmat12, dimana b*c, fungsi kali mempunyai nilai 50000 dan 80000 (nama file : P10-12.cpp): 13. Nilai b dan c dengan nama fungsi opmat13, dimana b+c, fungsi tambah mempunyai nilai 250000 dan 280000 (nama file : P10-13.cpp): 14. Nilai b dan c dengan nama fungsi opmat14, dimana b-c, fungsi kurang mempunyai nilai 1550000 dan 800000 (nama file : P10-14.cpp): 15. Nilai b dan c dengan nama fungsi opmat15, dimana b/c, fungsi bagi mempunyai nilai 1550000 dan 800000 (nama file : P10-15.cpp): 16. Nilai d dan e dengan nama fungsi opmat16, dimana d*e, fungsi kali mempunyai nilai 0,15 dan 0,18 (nama file : P10-16.cpp): 17. Nilai d dan e dengan nama fungsi opmat17, dimana d+e, fungsi tambah mempunyai nilai 2,15 dan 3,18 (nama file : P10-17.cpp): 18. Nilai d dan e dengan nama fungsi opmat18, dimana d-e, fungsi kurang mempunyai nilai 100,5 dan 70,8 (nama file : P10-18.cpp): 19. Nilai d dan e dengan nama fungsi opmat19, dimana d/e, fungsi bagi mempunyai nilai 9,15 dan 0,38 (nama file : P10-19.cpp): 20. Buatlah dengan menggunakan Function. Proses Rekursif/Faktorial (misalnya: 7! = 1*2*3*4*5*6*7 = 5040), dengan menggunakan nama fungsi rekurs01 Hasil output seperti di dibawah ini. (nama file : Prak10-20.cpp):
Algoritma dan Pemrograman I
Hal : 9
21. Untuk menentukan bilangan terbesar dari 2 buah bilangan yang melalui proses input. (catatan terlebih dahulu harus dideklarasikan fungsi untuk menampung dan membandingkan 2 buah bialangan tersebut, dengan menggunakan nama fungsi terbesar01). Hasil output seperti di dibawah ini. (nama file : Prak10-21.cpp):
22. Buatlah dengan proses Tukar yaitu nilai A=63 dan nilai B=66 ditukar menjadi nilai A=66 dan nilai B=63, dengan menggunakan nama fungsi tukar01 Hasil output seperti di dibawah ini. (nama file : Prak10-22.cpp):
23. Buatlah dengan menggunakan Function, dengan menggunakan nama fungsi fibo01. Proses Fibonanci (misalnya: 6, maka jawabannya adalah Saya 1 1 Saya 1 1 2 Saya 1 1 2 3 Saya 1 1 2 3 5 Saya 1 1 2 3 5 8 Hasil output seperti di dibawah ini. (nama file : Prak10-23.cpp):
24. Berdasarkan contoh, buatlah dengan menggunakan fungsi untuk menginput, menjumlah dan mencetak matrik!, (nama file : P10-24.cpp): Algoritma dan Pemrograman I
Hal : 10
25. Berdasarkan contoh, buatlah dengan menggunakan fungsi untuk menginput, mengurang dan mencetak matrik! (nama file : P10-25.cpp): 26. Berdasarkan contoh, buatlah dengan menggunakan fungsi untuk menginput, mengkali dan mencetak matrik! (nama file : P10-26.cpp): 27. Buat perkalian matrix dengan ordo 4x2 dan 2x3! dengan menggunakan fungsi (nama file : P10-27.cpp): 28. Buat tampilan dengan simbol “#” inisial dari nama Anda masing-masing, dengan dengan menggunakan fungsi ((nama file : P10-28.cpp):
III.
Referensi -
-
Munir, Rinaldi, Algoritma & Pemrograman 1 & 2, Penerbit Informatika, Jakarta, 2003 Brookshear, Glenn, Computer Science, Penerbit Erlangga, Jakarta, 2004 Suryadi, Pengantar Algortima dan Pemrograman Yatini B, Indra, Pemrograman Terstruktur, J&J Learning Yogyakarta, 2001 Limanto, Susana, Algoritma dan pemrograman, Dinastindo Jakarta, 2002 Paul Tremblay, Jean, An Introduction to Computer Science an algorithmic Approach, McGraw-Hill, 1981 Wirth, Niklaus, Algorithmic + Data Structures = Programs, Prentice-Hall, 1976 Jogiyanto H.M, Kosep Dasar Pemrograman Bahasa C, Andi Offset Yogyakarta, 1993 Munir, Rinaldi, Algoritma dan Pemrograman Dalam Bahasa Pascal dan C, Informatika Bandung, 2001 Pranata, Antony, Algoritma dan Pemprograman, J&J Learning Yogyakarta, 2000 Andri Kristanto, Algoritma dan Pemrograman dengan C++, Graha Ilmu, 2003 Thompson Susabda Ngoen , Algoritma dan Struktur Data Bahasa C, Mitra Wacana Media, 2009
Algoritma dan Pemrograman I
Hal : 11