Download - Week 3-fungsi-header
ALGORITMA DAN STRUKTUR DATA
FUNGSI
JURUSAN TEKNIK ELEKTROUIN SUNAN NGUNUNG DJATI BANDUNG
2012
PERTEMUAN III
REVIEW TUGAS Pemrograman Modular FUNGSI Header Rekursif
KOMPETENSI
Mahasiswa dapat lebih memahami fungsi
Mahasiswa terbiasa menyelesaikan masalah pemrograman dengan menggunakan fungsi
REVIEW
Pemilihan lebih dari 4 kasus
Pemrograman Modular
Untuk mencapai suatu tujuan besar, maka tujuan tersebut harus dibagi-bagi menjadi tujuan yang kecil, hingga tujuan kecil itu merupakan tujuan yang dapat dicapai berdasarkan kondisi dan potensi yang dimiliki. (Muhammad ibn Musa al-Khwarizmi)
Pemrograman Modular
Pernyataan Al-Khawarizmi dapat dijadikan analogi mengenai pemrograman modular.
Pemrograman modular adalah memprogram dengan membagi program menjadi beberapa sub program yang kemudian disebut procedure (prosedur) dan function (fungsi).
Fungsi/Prosedur Prosedur adalah
bagian program yang tidak mengembalikan hasil proses ke bagian pemanggilnya.
Sedangkan fungsi adalah bagian program yang akan mengembalikan suatu nilai hasil dari proses ke bagian pemanggilnya.
Namun, pemrograman dalam bahasa C maupun C++ istilah prosedur tidak digunakan, bagian-bagian program tersebut hanya disebut dengan fungsi.
Dekomposisi program menjadi beberapa buah program
Why, pemrograman modular Menghemat source code <-
>menghindari penulisan instruksi yang dilakukan berulang kali.
Program menjadi terstruktur. Program yang besar dapat dipecah menjadi beberapa program yang lebih kecil.
Kemudahan dalam menulis dan mendebug program.
Melokalisasi kesalahan
Struktur dasar fungsi
type → tipe data dari return value. function_name → nama fungsi argument_list → variable input statement_list → kumpulan instruksi
How A Function Works
A C / C++ program does not execute the statements in a function until the function is called by another part of the program.
When C / C++ function is called, the program can send information to the function in the form of one or more what is called arguments although it is not a mandatory.
When the function finished its processing, program returns to the same location that called the function.
Contoh : Fungsi menukarkan isi dua variabel
#include <stdio.h>
#include<conio.h>
int Baca();
void Tukar(int A, int B);
void Tulis(int A, int B);
main()
{
int A, B;
A = Baca();
B = Baca ();
Tukar(A, B);
getch();
}
int Baca(){
int A;
printf ("Bilangan : ");
scanf ("%d", &A);
return A;
}
void Tukar(int A, int B){
int D;
D = A;
A = B;
B = D;
Tulis(A,B);
Tulis(A,B);
}
void Tulis(int A, int B){
printf (" Setelah ditukar \n");
printf ("Bilangan pertama = %d " , A);
printf ("Bilangan ke dua = %d " , B);
printf ("\n");
}
Output
Prototipe Fungsi deklarasi fungsi dikenal dengan sebutan
prototipe fungsi. Prototipe fungsi berupa : Nama Fungsi Tipe nilai fungsi Jumlah dan tipe parameter Dan diakhiri dengan titik koma, sebagaimana
pada pendeklarasian variabel. Tujuannya memeriksa validitas parameter
dalam pemanggilan fungsi
File header File header yaitu file yang berisi deklarasi
fungsi dan definisi konstanta. Beberapa file-judul sudah disediakan di C
atau C++. File-file ini mempunyai ciri bereksistensi .h. file-file header ini biasanya dipanggil
menggunakan fungsi include. Fungsi include sendiri merupakan salah satu
jenis pengarah praprosesor yang dipakai untuk membaca file-file header itu sendiri.
File header
<math.h> berisi prototipe fungsi untuk pustaka matematika
<stdio.h> berisi prototipe fungsi untuk pustaka baku input/output
<string.h> berisi protipe fungsi untuk pemrosesan string.
... ...
Fungsi Rekursif
Fungsi yang memanggil dirinya sendiri Sangat berguna untuk pengerjaan sorting
atau perhitungan factorial Contoh fungsi faktorial
Contoh Fungsi Rekursif
Buatlah fungsi untuk menghitung nilai faktorial dari bilangan bulat tidak negatif.
Faktorial dari didefinisikan sebagai: n! =1, jika n=0 dan n=1 n!=1x2x3x4x...x(n-1)n, jika n>0
#include<stdio.h>#include<conio.h>int A;int faktorial (int i);
main(){ printf ("Input bilangan A =?"); scanf ("%d", &A); printf("Nilai faktorial %d adalah %d ",A,faktorial(A)); getch();
}
int faktorial(int i){ if(i == 0 || i == 1) return 1; else return (i * faktorial (i-1));}
Tugas Mandiri II
Buatlah tulisan/makalah tentang mengapa algoritma penting dalam membangun sebuah program komputer.
Buat program kalkulator dengan fungsi menjumlahkan, membagi,mengurangi dan mengalikan dua bilangan.
Buatlah program menghitung nilai rata-rata dari n bilangan dengan fungsi hitung rata-rata bilangan dengan input n bilangan.
TELL ME WHAT YOU THINK Tulislah feedback tentang cara saya
mengajar. Terlalu teoritis? Tidak interaktif? Ngomong sendiri?