i. fungsi / function - reezeki2011 · pdf file- void adalah tipe nilai balik yang digunakan...
TRANSCRIPT
Algoritma dan Pemrograman I Hal : 1
Praktikum : Algoritma dan Pemrograman I Modul Praktikum ke : 10 Judul Materi : Fungsi / Function Tujuan / Sasaran : Mahasiswa dapat membuat pseudecode dan
mempraktekkan perintah Function/Fungsi Waktu (lama) : 3 Jam Aplikasi yang digunakan : C++
I. 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 : 2
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 :
<Type Data> <Nama Fungsi > (daftar Argumen/Parameter)
{
<tubuh fungsi>
}
Definisi Fungsi
Algoritma dan Pemrograman I Hal : 3
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 : 4
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 : 5
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<i; c++) for(d=0; d<j; d++) input(a[c][d]) endfor endfor for(c=0; c<i; c++) for(d=0; d<j; d++) input(b[c][d]) endfor endfor kali() kalip[10][10] = {0}, c, d, e if(j=k) for(c=0; c<i; c++) for(d=0; d<l; d++) for(e=0; e<j; e++) kalip[c][d] = kalip[c][d] = a[c][e] * b[e][d] endfor tampil(kalip) endfor else print(“Ordo Matriks Tidak Sesuai”) tampil(int hasil[10][10]) for(c=0; c<i; c++) for(d=0; d<l; d++) print(hasil[c][d]) endfor endfor
Algoritma dan Pemrograman I Hal : 6
PROGRAM :
Algoritma dan Pemrograman I Hal : 7
Algoritma dan Pemrograman I Hal : 8
OUTPUT : II. Soal praktikum / latihan 1. Buat program untuk menampilkan operasi matematik (X+Y*Z) dengan
menggunakan nama fungsi opmat01. Catatan : nilai X=10, Y=20 dan Z=30 (nama file : P10-01.ccp):
2. Buat program untuk menampilkan operasi matematik (R+S-T) dengan menggunakan nama fungsi opmat02. Catatan : nilai R=100, S=200 dan T=300 (nama file : P10-02.ccp):
3. Buat program untuk menampilkan operasi matematik (K-L*M) dengan
menggunakan nama fungsi opmat03. Catatan : nilai K=500, L=100 dan M=0 (nama file : P10-03.ccp):
Algoritma dan Pemrograman I Hal : 9
4. Buat program untuk menampilkan operasi matematik (C*D+E) dengan menggunakan nama fungsi opmat04. Catatan : nilai C=60, D=30 dan E=100 (nama file : P10-04.ccp):
5. Buat program untuk 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.ccp):
6. Buatlah program untuk merubah sudut derajat menjadi sudut radian dengan tipe
nilai balik float (nama file : P10-06.ccp): 7. Buatlah program 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 (nama file : P10-07.ccp):
8. Buatlah program untuk menghitung luas dan keliling lingkaran dengan tipe nilai balik float (nama file : P10-08.ccp):
9. Buatlah program yang berisi menu-menu untuk menghitung luas dan keliling dari
berbagai bangun lainnya (nama file : P10-09.ccp): 10. Buatlah program untuk menghitung akar suatu bilangan dengan tipe nilai balik
float dan menghitung pangkat suatu bilangan dengan tipe nilai balik double (nama file : P10-10.ccp):
11. Buatlah program gabungan macam-macam operasi matematika seperti
penjumlahan, pengurangan, dan sebagainya (nama file : P10-11.ccp): 12. Buatlah dengan menggunakan Function. Proses Rekursif/Faktorial (misalnya: 7!
= 1*2*3*4*5*6*7 = 5040). Hasil output seperti di dibawah ini. (nama file : Prak10-12.ccp):
13. Buatlah algoritma dan program 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). Hasil output seperti di dibawah ini. (nama file : Prak10-13.ccp):
14. Buatlah dengan proses Tukar yaitu nilai A=63 dan nilai B=66 ditukar menjadi nilai A=66 dan nilai B=63. Hasil output seperti di dibawah ini. (nama file : Prak10-14.ccp):
Algoritma dan Pemrograman I Hal : 10
15. Buatlah dengan menggunakan Function. 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 : Prak5-01.ccp):
16. Berdasarkan contoh, buatlah sebuah program untuk menginput, menjumlah dan mencetak matrik! (nama file : P10-16.ccp):
17. Berdasarkan contoh, buatlah sebuah program untuk menginput, mengurang dan
mencetak matrik! (nama file : P10-17.ccp): 18. Berdasarkan contoh, buatlah sebuah program untuk menginput, mengkali dan
mencetak matrik! (nama file : P10-18.ccp): 19. Buat perkalian matrix dengan ordo 4x2 dan 2x3! (nama file : P10-19ccp):
20. Buat tampilan dengan simbol “#” inisial dari nama Anda masing-maisng ((nama
file : P10-20ccp):
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