fungsi - dinus.ac.iddinus.ac.id/repository/docs/ajar/week_1-2_fungsi.pdf · 3 sorting 4 5 searching...

30
Tim Algoritma Pemrograman TI – S1 Universitas Dian Nuswantoro FUNGSI Danang Wahyu utomo [email protected] 085 725 158 327

Upload: truongnhu

Post on 13-Mar-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

FUNGSIDanang Wahyu utomo

[email protected]

085 725 158 327

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Referensi

Michael Vine – C Programming for the Absolute Beginner 2nd (2008)

Ivor Horton – Beginning C 5th (2013)

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

RENCANA KEGIATAN PERKULIAHAN SEMESTER

W Pokok Bahasan

1 Review Fungsi

2 Parameter & Tipe Kembalian Fungsi

3Sorting

4

5Searching

6

7 Review 1-6

8 Ujian Tengah Semester

W Pokok Bahasan

9Analisa Rekuren

10

11 Struct & ADT

12

13 Pointer

14

15 Presentasi Proyek Akhir

16 Ujian Akhir Semester

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Pengertian Fungsi

Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya.

Dalam setiap program bahasa C, minimal terdapat satu fungsi yaitu fungsi main().

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Keuntungan fungsi dalam program

Program akan memiliki struktur yang jelas (mempunyai readabilityyang tinggi).

Bersifat reusability (dapat digunakan kembali) sehingga akan menghindari penulisan bagian program yang sama.

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Klasifikasi Fungsi

Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu :

1. Fungsi pustaka atau fungsi yang telah tersedia dalam Bahasa C

2. Fungsi yang didefinisikan atau dibuat oleh programmer.

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi String

Fungsi Operasi String (tersimpan dalam header file “string.h”)

strcpy()

• Berfungsi untuk menyalin suatu string asal ke variable string tujuan.

• Bentuk umum : strcpy(var_tujuan, string_asal);

strlen()

• Berfungsi untuk memperoleh jumlah karakter dari suatu string.

• Bentuk umum : strlen(string);

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi String

strcat()

• Digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan.

• Bentuk umum : strcat(tujuan, sumber);

strupr()

• Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf capital.

• Bentuk umum : strupr(string);

strlwr()

• Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf kecilsemua.

• Bentuk umum : strlwr(string);

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Latihan 1

Buat sebuah program :

1. Membaca karakter yang digunakan untuk membaca nama daristandar input ?

2. Berapa banyak karakter dalam nama tersebut ?

3. Tampilkan nama tersebut dalam bentuk uppercase/lowercase?

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi Karakter

Fungsi Operasi Karakter (tersimpan dalam header “ctype.h”)

islower()

• Fungsi akan menghasilkan nilai benar(bukan nol) jika karaktermerupakan huruf kecil

• Bentuk umum: islower(char);

isupper()

• Fungsi akan menghasilkan nilai benar (bukan nol) jika karaktermerupakan huruf capital

• Bentuk umum: isupper(char);

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi Karakter

isdigit()• Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter

merupakan sebuah digit.

• Bentuk umum : isdigit(char);

tolower()• Fungsi akan mengubah huruf capital menjadi huruf kecil.

• Bentuk umum : tolower(char);

toupper()• Fungsi akan mengubah huruf kecil menjadi huruf kapital.

• Bentuk umum : toupper(char);

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Latihan 2

Buat program dengan ketentuan sebagai berikut :

1. Program dapat melakukan input karakter

2. Program dapat menentukan apakah karakter tersebut berupa nilai, dapat mengubah karakter kecil ke besar maupun sebaliknya

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Pustaka – operasi Matematik

Fungsi Operasi Matematik (tersimpan dalam header “math.h” dan “stdlib.h”)

sqrt()

• Digunakan untuk menghitung akar dari sebuah bilangan.

• Bentuk umum : sqrt(bilangan);

pow()

• Digunakan untuk menghitung pemangkatan suatu bilangan.

• Bentuk umum : pow(bilangan, pangkat);

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Membuat Fungsi Sendiri

Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu.

Bentuk umum pendeklarasian fungsi adalah :

tipe_fungsi nama_fungsi(parameter_fungsi);

Bentuk umum pendefinisian fungsi adalah :

tipe_fungsi nama_fungsi(parameter_fungsi)

{

statement

statement

………...

}

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Struktur Fungsi

tipe_fungsi nama_fungsi(parameter1, parameter2,..)

{

statement fungsi;

}

Contoh:

int tambah(int x, int y)

{

return(x+y);

}

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Prototype Fungsi

Bagaimana fungsi menerima input, bagaimana fungsi melakukanreturn dan nilai apa yang dikembalikan

Prototype = pendeklarasian fungsi

tipe_fungsi nama_fungsi(parameter_fungsi);

Contoh:

int jumlah(int a, int b)

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Contoh Penggunaan Fungsi#include <stdio.h>#include <stdlib.h>

int jumlah(int a, int b); //prototipe fungsiint a,b,c;main(){

printf("masukkan a: ");scanf("%d",&a);printf("masukkan b: ");scanf("%d",&b); //program utama

c=jumlah(a,b);printf(“Hasil Penjumlahan= %d",c);

}

int jumlah(int x, int y){ //fungsireturn(x+y);}

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Tampilan Program

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Parameter

Parameter Formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.

Parameter Aktual adalah variabel (parameter) yang dipakai dalam pemanggilan fungsi.

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Parameter Formal

Variable yang ada pada daftar parameter dalam definisi fungsi

int jumlah(int x, int y){

return (x+y);

}

Parameter Formal

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Parameter Aktual

Parameter yang dipakai dalam pemanggilan fungsi

main(){

. . .

. . .

c=jumlah(a,b);

. . .

}

Parameter Aktual

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Variable

Variable dapat dikategorikan menjadi 3 :

• Variable global

Variable yang dideklarasikan di luar fungsi

• Variable local

Variable yang dideklarasikan dalam fungsi

• Variable Static

Variable yang nilainya tetap dipertahankan walaupun prosesnyatelah keluar dari bloknya

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Variable Lokal dan Global

#include <stdio.h>

#include <stdlib.h>

/*variabel global*/

float proses(float,float,float);

float p,l,t,volumebalok;

main(){

printf("masukkan panjang : ");

scanf("%f",&p);

printf("masukkan lebar : ");

scanf("%f",&l);

printf("masukkan tinggi : ");

scanf("%f",&t);

volumebalok=proses(p,l,t);

printf("volume: %.2f", volumebalok);

}

float proses(float x,float y,float z)

{

/*variabel lokal*/

float v;

v= x * y * z ;

return(v);

}

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Variable Static

#include <stdio.h>

#include <stdlib.h>

long int faktorial(int n);

main()

{

int bil,i;

long int fakto;

printf("Masukkan bilangan: ");

scanf("%d",&bil);

for (i=1;i<=bil;i++)

{

fakto=faktorial(i);

}

printf("Faktorial %d =

%d",bil,fakto);

}

long int faktorial(int n)

{

static long int fakto=1; //variabel

static

fakto=fakto*n;

return (fakto);

}

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Rekursif

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri

Contoh :

long int factorial(int N){ //definisi fungsi

if(N==0)

return(1);

else

return(N*factorial(N-1)); //memanggil diri sendiri

}

Tim Algoritma Pemrograman TI – S1Universitas Dian Nuswantoro

Fungsi Rekursif

factorial (4)

4 * factorial (4-1)

4* 3 * factorial (3-1)

4* 3 * 2 * factorial (2-1)

return

return

return

4* 3 * 2 * 1* factorial (1-1)N==0 → return 14* 3 * 2 * 1* 1