01 ahmad tohir

Upload: yohan-sasmi-dewanto

Post on 13-Jul-2015

73 views

Category:

Documents


0 download

TRANSCRIPT

TUGAS ALGORITMA DAN STRUKTUR DATA

PROSEDUR DAN FUNGSI 1

Tujuan Program Dapat mengoperasikan bahasa C++ pada suatu program - Untuk mengetahui kemudahan dalam pembentukan jika terjadi kesalahan dan kesalahan dapat lokalisasi dalam suatu modul tertentu saja untuk memecahkan masalah suatu permasalahan pada perkalian matriks

Manfaat Menggunakan Fungsi Program besar dapat dipisah menjadi program-program kecil Dapat dikerjakan oleh beberapa orang Kemudahan dalam pembetulan jika terjadi kesalahaan-kesalahan dan kesalahan dapat dilokalisasi dalam suatu modul tertentu saja Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan Mempermudah dokumentasi Reusability: suatu fungsi dapat digunakan kembali oleh program/fungsi lain.

Sifat-Sifat Modul/Fungsi yang Baik: Nilai Fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin tinggi nilai fan-in Nilai Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai Fan-out Nilai Self-contained tinggi, artinya kemampuan untuk memenuhi kebutuhannya sendiri.

Kategori Function dalam C 1. Standart Library Function Yaitu fungsi-fungsi yang telah disediaan oleh C dalam filefile header atau librarynya. Misalnya: clrscr(), printf(),getch(). Untuk function ini kita harus mendeklarasikan terlebih dahulu library yang akan digunakan, yaitu dengan menggunakan preprosesor direktif: #include 2. Programmer-Defined Function Adalah function yang dibuat oleh programmer sendiri

2

Fungsi ini memiliki nama tertentu yang unik dalam program, letaknyaterpisah dari program utama, atau bias dijadikan satu ke dalam suatu library buatan yang kemudian di indudekan untuk penggunakannya.

Contoh fungsi: #include #include voidmain ( ) { int A,B,T; A=5; B=2; T=hitung(A,B); printf(\n%d,T); } Int HITUNG (int A,int B) { int T; A=A*2; B=B*2; T=A+B; Return(T); } Bagian fungsi yang dibuat, Fungsi bertipe int dapat diletakkan sebelum/ Sesudah program utama Ada intuksi untuk memanggil fungsi lain, HITUNG(A,B); Program utama, ditandai dengan main()

Struktur Function Deklarasi Fungsi (Function prototype/declaration); Terdiri atas judul fungsi dan tipe data yang akan dikendalikan(dapat berupa tipe data tertentu atau bersifat void) tanpa adanya kode implementasi function tersebut. Tubuh Function/definisi Function (Function Definition): 1. Terdiri atas function prototype yang disertai dengan kode implementasi dari function tersebut.

3

2. Berisikan statemen-statemen yang akan melakukan tugas yang diberikan oleh fungsi tersebut. 3. Tubuh function dapat berisi segala perintah yang dikenal oleh C, pada dasarnya tubuh fungsi sama dengan membuat program seperti biasa. 4. Return adalah keyword pengembalian nilai dari fungsi saat keluar fungsi. 5. Return wajib jika fungsi tersebut mengembalikan nilai berupa tipe data tertentu, sedangkan return tidak wajib jika fungsi tersebut bersifat void. Bentuk umum function prototype: Tipe_data/void nama_fungsi ([arguman 1, argument 2, . . . . ]) 1. Deklarasi fungsi tidak diakhiri dengan titik koma. 2. Tipe_data dapat berupa segala tipe data yang dikenal C, namun tipe data juga tidak ada dan digantikan dengan void yang berarti fungsi tersebut tidak mengembalikan nilai apapun. 3. Nama fungsi adalah nama yang unik. 4. Argumen dapat ada atau tidak (opsional) yang digunakan untuk menerima parameter-parameter dalam fungsi.Antar argumen-argumen dipisahkan dengan tanda koma. Bentuk umum function definition: Tipe_data/void nama-fungsi ([arguman 1, argument 2, . . . .]) // function prototype { //bagian ini merupakan tubuh fungsi. [ Variabel_lokal; ] [ Statement_1 ; ] [ Statement_2 ; ] ... [ Statement_3 ; ] [ return ( variabel ) ] ; }

4

Contoh fungsi-contoh-03 #include void CETAK ( ) void main ( ) { CETAK ( ); } void CETAK ( ) { printf(Jakarta) } Intruksi mengcall Fungsi CETAK Fungsi CETAKdi_DEKLARASI_kan lebih dulu,sebelum Fungsi main ( ).Perhatikan pakai tanda : ; (titik koma) kalau tidak pakai tanda ; dianggap men-DEFINISI-kan fungsi Tulisan ini disebut: Men DEFINISIKAN Fungsi

Fungsi dan prosedur 1. Dalam PASCAL dikenal istilah procedure dan function, dalam Basic dikenal sub dan function, sedangkan dalam C, Java, PHP, dan keturunan C lainnya dikenal hanya istilah function. 2. Procedure/sub dalam pascal/Basic adalah suatu kumpulan program yang mengerjakan suatu tugas spesifik tertentu yang tidak mengembalikan nilai kembalian keluar procedure tersebut. 3. Function dalam C adalah suatu kumpulan program yang mengerjakan suatu tugas spesifik tertentu yang bisa mengembalikan nilai atau tidak mengembalikan nilai (sama dengan procedure di Pascal/sub di Basic). 4. Dalam C fungsi ada 2 jenis: 1. Fungsi yang tidak mengembalikan nilai (void) 2. Fungsi yang mengembalikan nilai (non-void) Function yang void 1. Fungsi yang void sering disebut juga procedure. 2. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.

5

3. Ciri-ciri: Tidak adanya keyword return Tidak adanya tipe data di dalam deklarasi fungsi Menggunakan keyword void Tidak dapat langsung ditampilkan hasilnya

4. Contoh 1. Clrscr ( ) 2. Print F ( ) Contoh Function void: Void tampilkan_jml(int a,int b) { int jml ; Jml=a+b ; Print f (%d ,jml); } 5. Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun. 6. Contoh penggunaan parameter void: Void print_error (void) { Print f ( Error : unexpected error occurred ! ) ; } Fungsi yang Non-Void Fungsi non-void disebut juga function (terutama di bahasa pemrograman seperti Pascal dan Basic) Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut Ciri-ciri 1. Ada keyword return

6

2. Ada tipe data yang mengawali deklarasi fungsi 3. Tidak ada keyword void Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya Contoh: sin(), sqrt ()

Contoh Function non-void Int jumlah (int a, int b) { Int jml; Jml= a+b; Return jml; } Deklarasi Function/prototype Function Deklarasi fungsi harus ditulis diatas sebelum void main ( ) dan tidak berisi kode sama sekali, hanya berupa judul fungsi. Contoh: #include Contoh lain

#include #include int faktorial (int N); /*prototype fungsi factorial*/ void main () { int N, fak; printf ("berapa factorial ? ");scanf("%d",&N); fak = faktorial (N); printf ("%d factorial = %d\n",N,fak); getch(); } /*----fungsi untuk menghitung nilai N factorial ----*/

7

int faktorial (int N) /*definisi fungsi*/ { int I; int F=1; if(N