LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL VI Nama :Dede Irpan Nim :2011081037 Prodi :Tekhnik Informatika LABORATORIUM KOMPUTER FAKULTAS ILMU KOMPUTER(FKOM) UNIVERSITAS KUNINGAN 2011 ISI : 1. 2. 3. 4. 5. Dasar Teori Praktikum Tugas Kesimpulan Lampiran Fungsi (Function) 1. Dasar Teori Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam bahasa pemograman lain fungsi dapat disebut sebagai subrutin (basic, VB) atau procedure (pascal, Delphi) Adapun tujuan dari pembuatan fungsi adalah : 1. Program menjadi terstruktur 2. Dapat mengurangi duplikasi kode 3. Fungsi dapat dipanggil dari program atau fungsi yang lain Keuntungan fungsi adalah : 1. Dapat melakukan pendekatan top-down dan divide-andconquer. 2. Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami. 3. Program dapat dikerjakan dengan beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah. 4. Mudah dalam mencari kesalahan-kesalahan alur logika jelas dan sederhana. 5. Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja. 6. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa menggangu program keseluruhan. 7. Fungsi-fungsi menjadikan program mempunyai struktur yang jelas. 8. Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsifungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti. 9. Langkah-langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. 10. Mempermudah dokumentasi. 11. Reusability : Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain. Dalam perancangan fungsi, perlu diperhatikan : 1. Data yang diperlukan sebagai inputan 2. Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya 3. Algoritma apa yang harus digunakan untuk mengolah data menjadi informasi Struktur Fungsi 1. Deklarasi function (function prototype/declaration) terdiri dari : a. Judul fungsi b. Tipe data yang dikembalikan/void c. Tidak ada kode implementasi function tersebut Bentuk Umum : Tipe_data / void nama_fungsi ( [argumen 1, argument 2, ... .] ); Keterangan : Deklarasi fungsi diakhiri dengan titik koma Tipe_data dapat berupa tipe data yang dikenal C ataupun tipe data buatan, namun tipe data dapat juga tidak ada dan digantikan dengan void yang berarti fungsi tersebut tidak mengembalikan nilai apapun Nama fungsi adalah nama yang unik Argumen dapat ada atau tidak (oposional) yang digunakan untuk menerima argumen atau parameter. Antar argumen-argumen dipisahkan dengan tanda koma. 2. Tubuh function/definisi function (function definition) terdiri dari : Function prototype yang disertai dengan kode implementasi dari function tersebut, Yang berisikan statement/instruksi yang akan melakukan tugas sesuai dengan tujuan dibuatnya fungsi tersebut. Bentuk umum : // prototype fungsi Tipe_data / void Nama_fungsi (argumen 1, argumen 2, . . . ) { //bagian ini merupakan tubuh fungsi [variabel_lokal;] [statement_1]; [statement_2]; ...... [statement_3]; [return(variabel)]; } Keterangan : Tubuh fungsi dapat berupa perintah yang dikenal oleh C, pada dasarnya tubuh fungsi sama dengan membuat program seperti biasa. Return bersifat oposional, adalah keyword pengembalian nilai dari fungsi ke luar fungsi, Return wajib jika fungsi tersebut mengembalikan nilai berupa tipe data tertentu, Sedangkan return tidak wajib jika fungsi tersebut bersifat void. 2. Praktikum Deklarasi dan definisi fungsi Perhatikan source kode dibawah ini #include <stdio.h> Int findMax(int n1, int n2); //deklarasi fungsi Void PrintMax (int m); Void main ( ) { Int i = 5; int j = 7; int k; K = findMax (i, j); PrintMax(k); Return 0; } Int findMax(int n1, int n2) // definisi fungsi { If (n1 > n2) { Return n1; } Else { Return n2; } } Void PrintMax (int m) { Printf (“ Bilangan Yang Terbesar Adalah :%d\”,m); } Pada praktikum diatas terdapat kesalahan pada fungsi main disana tertulis “void main ( )”, yang benar cukup memakai “main ( )” Sintaks programnya : Dan apabila di compile kemudian dijalankan programnya maka akan menjadi seperti ini : Pemanggilan fungsi Perhatikan source kode dibawah ini : #include <stdio.h> Void tukar (int x, int y); Main ( ) { Int a, b; a=99; b=11; printf(“Nilai Sebelum pemanggilan fungsi :\n”); printf(“Nilai a=%d nilai b=%d\n\n”,a,b); tukar (a,b); printf(“Nilai Sesudah pemanggilan fungsi :\n”); printf(“Nilai a=%d nilai b=%d\n\n”,a,b); } Void tukar (int px, int py) { Int z; z=px; px=py; py=z; printf(“Nilai di akhir fungsi :\n”); printf(“Nilai px=%d Nilai py=%d\n\n”, px, py); } pada praktikum diatas tentang pemanggilain fungsi tidak ada yang error dan bila programnya dijalankan maka akan menjadi seperti berikut ini : compile : Run : 3. Tugas Buatlah program untuk menentukan bilangan yang terbesar dan terkecil dari dua buah bilangan yang diinputkan ! dengan output seperti berikut : Masukan bil pertama :6 Masukan bil kedua :3 Bilangan yang lebih besar adalah : 6 Bilangan yang lebih kecil adalah : 3 Source kodenya sebagai berikut : #include <stdio.h> int terbesar (int n1, int n2) //Deklarasi Fungsi 1 { if(n1>n2) return n1; else return n2; } int terkecil (int n1, int n2) //Deklarasi Fungsi 2 { if(n1<n2) return n1; else return n2; } int main() //Pemanggilan Fungsi { int a,b,c,d; printf("Masukan bilangan pertama : ");scanf("%d",&a); printf("Masukan bilangan kedua : ");scanf("%d",&b); printf("\n"); c=terbesar (a,b); d=terkecil (a,b); printf("Bilangan yang lebih besar adalah : %d\n",c); printf("Bilangan yang lebih kecil adalah : %d",d); return 0; } Bila di compile lalu dijalankan maka akan menjadi seperti berikut ini : Run : Contoh : 4. Kesimpulan Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam bahasa pemograman lain fungsi dapat disebut sebagai subrutin (basic, VB) atau procedure (pascal, Delphi) Adapun tujuan dari pembuatan fungsi adalah : 1. Program menjadi terstruktur 2. Dapat mengurangi duplikasi kode 3. Fungsi dapat dipanggil dari program atau fungsi yang lain.