algoritma & pemrograman (function)

31

Upload: achmad-solichin

Post on 18-Nov-2014

1.012 views

Category:

Documents


10 download

DESCRIPTION

Presentasi Algoritma dan Pemrograman dengan Bahasa C (Function). oleh Achmad Solichin (http://achmatim.net)

TRANSCRIPT

Page 1: Algoritma & Pemrograman (Function)

[email protected]

FUNCTION

Page 2: Algoritma & Pemrograman (Function)

[email protected]

FUNCTION adalah sejumlah instruksi yang dikelompokkan menjadi satu, berdiri sendiri, membentuk suatu subprogram yang sering juga disebut subroutine.

Page 3: Algoritma & Pemrograman (Function)

[email protected]

BAHASA C terdiri dari kumpulan function FUNCTION yang harus ada dalam sebuah

program bahasa C adalah fungsi main() Pertama kali program dijalankan, komputer

akan mencari fungsi main() dan melaksanakan instruksi-instruksi di dalamnya.

Page 4: Algoritma & Pemrograman (Function)

[email protected]

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = 0; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Deklarasi Fungsi hitung()

Page 5: Algoritma & Pemrograman (Function)

[email protected]

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = 0; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Bagian ini disebut main program atau program induk atau fungsi induk atau main function.

Pemanggilan fungsi hitung()

Page 6: Algoritma & Pemrograman (Function)

[email protected]

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = 0; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Pendefinisian fungsi hitung() dimana di bagian ini memuat urutan atau bagaimana fungsi bekerja/berjalan.

Page 7: Algoritma & Pemrograman (Function)

[email protected]

DEKLARASI FUNGSI

Bentuk umum :

type nama_fungsi (argumen1, argumen2, …);

Tipe fungsiSama seperti tipe data (variabel)Bisa berupa char, int, float, double, dan void

Page 8: Algoritma & Pemrograman (Function)

[email protected]

DEKLARASI FUNGSI

Bentuk umum :

type nama_fungsi (argumen1, argumen2, …);

Nama FungsiPenamaan fungsi sama seperti penamaan variabel biasa.

Page 9: Algoritma & Pemrograman (Function)

[email protected]

DEKLARASI FUNGSI

Bentuk umum :

type nama_fungsi (argumen1, argumen2, …);

Argumen atau Parameter FungsiArgument fungsi merupakan masukan yang diperlukan oleh fungsi. Sebuah fungsi boleh tidak memiliki argument. Bentuk penulisan argument sama seperti pendeklarasian sebuah variabel

Page 10: Algoritma & Pemrograman (Function)

[email protected]

DEKLARASI FUNGSI

Bentuk umum :

type nama_fungsi (argumen1, argumen2, …);

Titik Koma (;)Jangan lupakan akhiri pendeklarasian fungsi dengan titik koma (;)

Page 11: Algoritma & Pemrograman (Function)

[email protected]

DEKLARASI FUNGSI

Bentuk umum :

type nama_fungsi (argumen1, argumen2, …);

Contoh:int hitung (int a, int b);void tampil(float nilai);void menu();

Letak deklarasi fungsi HARUS berada sebelum fungsi main()

Page 12: Algoritma & Pemrograman (Function)

[email protected]

PENDEFINISIAN FUNGSIBentuk umum :

type nama_fungsi (argumen1, argumen2, …){ ….. proses di sini …. return value;}

Pada pendefinisian sebuah fungsi, type, nama dan argument fungsi harus SAMA dengan pendeklarasian fungsi.

Setelah argument fungsi TIDAK diakhiri dengan titik koma (;)

Proses fungsi berada di antara { dan }

Page 13: Algoritma & Pemrograman (Function)

[email protected]

PENDEFINISIAN FUNGSIBentuk umum :

type nama_fungsi (argumen1, argumen2, …){ ….. proses di sini …. return value;}

Return value diberikan sesuai dengan type fungsinya.

Fungsi dengan tipe void, TIDAK memerlukan Return Value

Letak pendefinisian fungsi bisa sebelum atau sesudah fungsi main, tetapi harus setelah deklarasi fungsi.

Page 14: Algoritma & Pemrograman (Function)

[email protected]

PENDEFINISIAN FUNGSIBentuk umum :

type nama_fungsi (argumen1, argumen2, …){ ….. proses di sini …. return value;}

Pendefinisian fungsi bisa digabung dengan pendeklarasian fungsi, tetapi letaknya HARUS sebelum fungsi main

Page 15: Algoritma & Pemrograman (Function)

[email protected]

Semua variabel yang dibuat dalam suatu function, akan bersifat LOKAL

Variabel LOKAL hanya dikenal di dalam function yang bersangkutan dan tidak dikenal (tidak dapat diakses) di luar function tersebut.

Variabel GLOBAL harus dideklarasikan di luar semua function.

Variabel GLOBAL dikenal (dapat diakses) dari semua function dalam program

VARIABEL LOKAL DAN GLOBAL

Page 16: Algoritma & Pemrograman (Function)

[email protected]

VARIABEL LOKAL DAN GLOBAL

t adalah variabel GLOBAL

#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}

Page 17: Algoritma & Pemrograman (Function)

[email protected]

#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}

VARIABEL LOKAL DAN GLOBAL

a dan b adalah variabel LOKAL

Page 18: Algoritma & Pemrograman (Function)

[email protected]

VARIABEL LOKAL DAN GLOBAL

A dan b di sini bersifat LOKAL dan tidak ada hubungannya dengan variabel a dan b di fungsi main()

#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}

Page 19: Algoritma & Pemrograman (Function)

[email protected]

VARIABEL LOKAL DAN GLOBAL

#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}

Variabel t sudah dikenal di semua fungsi baik di fungsi main() maupun di fungsi tambah() tanpa perlu dideklarasikan dulu.

Page 20: Algoritma & Pemrograman (Function)

[email protected]

PASSING VARIABLE (PENGIRIMAN PARAMETER)

• Passing by Value• Passing by Reference

Page 21: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY VALUE

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Fungsi hitung() memiliki 2 argument (masukan) bertipe integer

Page 22: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY VALUE

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Saat pemanggilan fungsi hitung(), diperlukan 2 parameter (masukan) yang bertipe integer (dalam hal ini a dan b)

Page 23: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY VALUE

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Nilai variabel a dan b yaitu 5 dan 2 akan dikirimkan ke fungsi hitung.

5 2

Page 24: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY VALUE

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Isi variabel a dan b yaitu 5 dan 2 dijumlahkan, dan disimpan ke variabel tot

Page 25: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY VALUE

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Nilai variabel tot yaitu 7 akan dikembalikan (return) ke fungsi hitung() di fungsi main()

Page 26: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY VALUE

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Isi variabel a dan b yaitu 5 dan 2 dijumlahkan, dan disimpan ke variabel tot7

Page 27: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY VALUE

#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}

Variabel t bernilai 7 dan akan tercetak 7 di layar

Page 28: Algoritma & Pemrograman (Function)

[email protected]

Halaman ini tidak benar-benar kosong

Page 29: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY REFERENCE

#include <stdio.h>int CETAK(int *Q);void main(){ int A, *P; A = 5; P = &A; CETAK(P);}int CETAK(int *Q){ printf(“%d”, *Q);}

Parameter yang dikirim bukan data tapi berupa nilai POINTER (alamat)

Page 30: Algoritma & Pemrograman (Function)

[email protected]

PASSING BY REFERENCE

#include <stdio.h>int CETAK(int *Q);void main(){ int A, *P; A = 5; P = &A; CETAK(P);}int CETAK(int *Q){ printf(“%d”, *Q);}

Untuk menerima nilai pointer, argumen fungsi juga harus berupa variabel POINTER

Page 31: Algoritma & Pemrograman (Function)

[email protected]

Sampai jumpa lagi…….