SUB PROGRAM ALGORITMA DAN STRUKTUR DATA II

BAB 2 SUB PROGRAM

FUNGSI DAN PROSEDUR Fungsi dan prosedur merupakan bagian dari program yang dibuat untuk tugas tertentu. Fungsi dan prosedur banyak dilibatkan dalam pemrograman yang bertujuan untuk menjadikan program lebih terstruktur sehingga mudah dipahami dan mudah dikembangkan karena dengan adanya fungsi dan prosedur akan mengurangi pengulangan penulisan kode. Fungsi dan prosedur letaknya terpisah dari program yang memanggil fungsi dan prosedur itu sendiri. Fungsi akan memberikan nilai akhir yang dinyatakan dengan pernyataan return , sedangkan prosedur tidak memberikan nilai akhir. 2.1 Dasar fungsi Tugas khusus yang diemban sebuah fungsi dapat kita lihat pada beberapa fungsi standart, misalnya: - getch, dengan tugas membaca kode tombol. - printf, dengan tugas untuk menampilkan informasi atau data ke layar. Pada umumnya fungsi memerlukan masukan yang dinamakan argumen atau parameter. Masukan ini selanjutnya diolah oleh fungsi. Hasil akhir fungsi berupa sebuah nilai disebut nilai keluaran fungsi atau nilai balik fungsi. Bentuk umum fungsi Tipe_fungsi Nama_fungsiParameter_fungsi {Pernyataan_1 Pernyataan_2 ....................... ....................... } Sebuah fungsi yang sederhana bisa saja tidak mengandung parameter sama sekali dan tentu saja untuk keadaan ini deklarasi parameter juga tidak ada. Sebagai contoh: inisialisasi { return0; } Pada tipe fungsi diatas: - Tipe fungsi tidak disebutkan, berarti keluaran fungsi bertipe int. - inisialisasi adalah nama fungsi - Tanda sesudah nama fungsi menyatakan bahwa fungsi tak memiliki parameter. - return 0; merupakan sebuah pernyataan dalam tubuh fungsi. 2.2 Memberikan nilai akhir fungsi Sebuah fungsi terlihat memiliki nilai keluaran. Didalam fungsi, pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa pernyataan return. Sebagai contoh fungsi inisialisasi yaitu return 0; merupakan pernyataan untuk memberikan nilai akhir pada fungsi berupa nol, Contoh Program 1 Output setelah program dijalankan: x=0 y=0 Program di atas menjelaskan bahwa suatu fungsi cukup didefinisikan satu kali tetapi bisa digunakan beberapa kali. Pada keadaan semacam ini, seandainya tubu fungsi banyak mengandung pernyataan, maka pemakaian fungsi dapat menghindari duplikasi kode dan tentu saja menghemat penulisan program maupun kode dalam memori. Bagi suatu fungsi, jika suatu pernyataan return dieksekusi maka eksekusi terhadap fungsi akan berakhir dan nilai pada parameter return akan menjadi keluaran fungsi. Contoh Program 2 Program untuk menghitung penjumlahan dan pengurangan dua buah bilangan dengan pembuatan masing-masing fungsi jumlah dan kurang. include stdio.h include conio.h float tambahfloat a,float b; deklarasi fungsi jumlah float kurangfloat x,float y; deklarasi fungsi kurang void main {float a,b,c,x,y,z; clrscr; printfA= ; scanff,a; printfB= ; scanff,b; printfX= ; includestdio.h includeconio.h inisialisasi; deklarasi fungsi void main {int x,y; clrscr; x=inisialisasi; pemanggilan fungsi inisialisasi printfx=d\n,x; y=inisialisasi; pemanggilan fungsi inisialisasi printfy=d\n,y; getch; } inisialisasi fungsi inisialisasi {return0; } Output setelah program dijalankan: A= 7 B= 3 X= 9 Y= 2 A+B=10.000000 X-Y=7.000000 Latihan 1. Tentukan output dari program setelah program dijalankan scanff,x; printfY= ; scanff,y; c=tambaha,b; z=kurangx,y; printfA+B=f\n,c; pemanggilan fungsi jumlah printfX-Y=f,z; pemanggilan fungsi kurang getch; } float tambahfloat a,float b definisi fungsi jumlah {returna+b; } float kurangfloat x,float y definisi fungsi kurang {returnx-y; } include stdio.h i lude o io.h int ubahint y; void main {int x,temp; clrscr; temp=ubahx; pemanggilan fungsi ubah printfx=d\n,temp; getch; } 2. Buatlah program untuk menentukan suatu bilangan apakah termasuk bilangan ganjil, genap, prima, kelipatan 3 atau kelipatan 5. Buatlah fungsi atau prosedur dalam program tersebut untuk melaksanakan perintah tersebut. 3. Buatlah program untuk menentukan nilai maksimum dan minimum diantara beberapa nilai yang dimasukkan sebagai inputan. Buatlah fungsi atau prosedur dalam program tersebut untuk melaksanakan perintah tersebut. 4. Tentukan output dari program berikut i lude stdio.h i lude o io.h void fung_avoid; void fung_bvoid; int x=20; void main { clrscr; x+=2; fung_a; fung_b; pri tf =d\ , ; getch; } void fung_avoid {static int x=5; x++; pri tf =d\ , ; fung_b; } void fung_bvoid { x--; pri tf =d\ , ; } int ubahint y definisi fungsi ubah {y=85; returny; }

BAB 3 OPERASI DASAR STRING