Hallo teman temann,kali ini saya akan membahas tentang laporan saya yaitu tentang fungsii^^
Mengembangkan Fungsi – Fungsi Sendiri
I.Tujuan
Mempelajari pembuatan fungsi – fungsi diluar fungsi – fungsi yang ada, serta mempejari penggunaan variabel global, local, eksternal, otomatis, statis dan register.
II.Teori
Suatu fungsi adalah bagian program yang terpisah dari fungsi program utamanya main() dan berdiri sendiri untuk mengerjakan suatu proses tertentu. Fungsi dapat digunakan sebagai fungsi itu sendiri, subrutin, dan prosedur seperti istilah yang digunaan pada bahasa pemrograman BASIC atau PASCAL. Tujuan digunakannya fungsi untuk mencegah penggunaan program yang berulang – ulang, sehingga program menjadi panjang. Pada percobaan kali ini, dicoba untuk membuat fungsi baru yang tidak ada dalam pustaka bahasa C.
III.Program percobaan
6.4.1 Untuk membuat fungsi maka disiapkan nama fungsi cetak_pesan (), kemudian bila diletakkan dibawah fungsi main (), maka fungsi tersebut harus dideklarasikan diatas fungsi main (). Fungsi ini dipanggil 5 kali.
6.4.2 Peletakan suatu fungsi dapat diatas fungsi main ( ). sehingga tidak diperlukan deklarasi fungsi. Masukan suatu fungsi dilewatkan melalui suatu argument yang disebut passing parameter. Fungsi hitung_triangular( ) dibawah ini memunyai argument int n, yang digunakan untuk melewatkan suatu nilai dari program pemanggil ke dalam suatu fungsi. 6.4.3 Fungsi berikut menghasilkan Faktor Persekutuan Terbesar (FPB) 6.4.4 Suatu fungsi dapat memberikan nilai balik (return value), bila fungsi tersebut mempunyai tipe dan bukannya void seperti fungsi-fungsi diatas, dimana digunakan sebagai prosedur saja (tidak mempunyai nilai balik). Pada fungsi fpb ( ) terdapat tipe int, dimana fungsi ini akan memberikan nilai balik bertipe integer (bulat), dan untuk memberikan nilai balik ini maka didalam fungsi fpb ( ) harus ditambahkan statement return ( ) yang digunakan untuk memberikan suatu nilai yang dikembalikan oleh fungsi 6.4.5 Program dibawah ini terdapat beberapa fungsi, dimana fungsi satu memanggil fungsi yang lain. Fungsi akar( ) memanggil fungsi absolute( ) untuk mementukan nilai absolute dari nilai perhitungan akar, yang dihitung menggunakan iterasi sampai didapatkan nilai yang mendekati.Fungsi akar juga memeriksa nilai yang akan dicari akarnya, bila bernilai negative maka akan diberikan pesan kesalahan dan dikembalikan nilai -1. 6.4.6 Fungsi berikut digunakan untuk menentukan 2 bilangan terkecil. 6.4.7 Program dibawah ini akan menmbedakan penggunaan variable otomatis dan variable statis. dimana bila menggunakan variable statis maka nilai akan tetap. sedangkan bila menggunakan variable otomatis maka nilai akan kembali sepert semula.IV. TUGAS-TUGAS
6.5.1 Buatlah fungsi kabisat ( ) yang akan memberikan nilai balik 1 bila tahun adalah kabisat, dan 0 bila tahun bukan kabisat.
6.5.2 Buatah fungsi factorial ( ) untuk menghitung nilai factorial, Fungsi faktorial ( ) memberikan nilai balik bertipe long int yang akan dicetak ke layar dalam fungsi main ( ). 6.5.3 Buatlah suatu fungsi permutasi () dan kombinasi () untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan, yang dinyatakan dengan formula:Permutasi : P(n,r)= n!/ (n-r)!
Kombinasi : C (n,r)= n!/r!(n-r)
6.5.4 Buatlah fungsi float suhu (s, d), untuk mengkonversikan suhu dari Celsius ke Fahrenheit. Celsius ke Reamur, Fahrenheit ke Celsius. Fahrenheit ke Reamur, Reamur ke Celsius. dan Reamur ke Fahrenhet. Dimana s adalah suhu sumber, d adalah suhu konversi, dan suhu()
6.5.5 Buatlah fungsi prima(). yang memberikan nilai balik 1 bila bilangan yang dimasukkan adalah prima. dan 0 bila bukan bilangan prima.
6.5.6 Buatlah program menggunakan dua variable, satu bertipe register dan lainnya bertipe integer, kemudian buatlah dua perulangan menggunakan statement for (),untuk membandingkan waktu yang diperlukan untuk masing-masing tupe variable. Gunakan fungsi gettime () untuk menghitung waktu yang diperlukan oleh masing-masing perulangan.Bagaimanaa? Susah? Mudah? atau biasa biasa sajaa? tapi tentunya tetap menyenangkan bukan?
Cukup sekian pembahasan kali ini, sampai jumpa di topik pembahasan lainnyaa^^
Recent Comments