week 3-fungsi-header

23
ALGORITMA DAN STRUKTUR DATA FUNGSI JURUSAN TEKNIK ELEKTRO UIN SUNAN NGUNUNG DJATI BANDUNG 2012

Upload: arif-dzikrullah

Post on 31-May-2015

1.095 views

Category:

Documents


2 download

DESCRIPTION

Materi Kuliah Algoritma dan Struktur data credit by: http://ardzixia.scgeneration.com

TRANSCRIPT

Page 1: Week 3-fungsi-header

ALGORITMA DAN STRUKTUR DATA

FUNGSI

JURUSAN TEKNIK ELEKTROUIN SUNAN NGUNUNG DJATI BANDUNG

2012

Page 2: Week 3-fungsi-header

PERTEMUAN III

REVIEW TUGAS Pemrograman Modular FUNGSI Header Rekursif

Page 3: Week 3-fungsi-header

KOMPETENSI

Mahasiswa dapat lebih memahami fungsi

Mahasiswa terbiasa menyelesaikan masalah pemrograman dengan menggunakan fungsi

Page 4: Week 3-fungsi-header

REVIEW

Pemilihan lebih dari 4 kasus

Page 5: Week 3-fungsi-header

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)

Page 6: Week 3-fungsi-header

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).

Page 7: Week 3-fungsi-header

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.

Page 8: Week 3-fungsi-header

Dekomposisi program menjadi beberapa buah program

Page 9: Week 3-fungsi-header

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

Page 10: Week 3-fungsi-header

Struktur dasar fungsi

type → tipe data dari return value. function_name → nama fungsi argument_list → variable input statement_list → kumpulan instruksi

Page 11: Week 3-fungsi-header

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.

Page 12: Week 3-fungsi-header
Page 13: Week 3-fungsi-header

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");

}

Page 14: Week 3-fungsi-header

Output

Page 15: Week 3-fungsi-header

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

Page 16: Week 3-fungsi-header

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.

Page 17: Week 3-fungsi-header

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.

... ...

Page 18: Week 3-fungsi-header

Fungsi Rekursif

Fungsi yang memanggil dirinya sendiri Sangat berguna untuk pengerjaan sorting

atau perhitungan factorial Contoh fungsi faktorial

Page 19: Week 3-fungsi-header

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

Page 20: Week 3-fungsi-header

#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));}

Page 21: Week 3-fungsi-header
Page 22: Week 3-fungsi-header

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.

Page 23: Week 3-fungsi-header

TELL ME WHAT YOU THINK Tulislah feedback tentang cara saya

mengajar. Terlalu teoritis? Tidak interaktif? Ngomong sendiri?