Laporan Resmi 13-16 Konsep Pemrograman [Function]
November 8, 2017 | Author: Rendra Budi Hutama | Category: N/A
Short Description
Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas tertentu dan letaknya dipisahkan dari pr...
Description
PRAKTIKUM 13 Fungsi : Dasar Fungsi A. Dasar Teori Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya. Elemen utama dari program bahasa C berupa fungsi -fungsi, dalam hal ini program dari bahasa C dibentuk dari kumpulan fungsi pustaka (standar) dan fungsi yang dibuat sendiri oleh pemrogram. Fungsi banyak digunakan pada program C dengan tujuan : a. Program menjadi terstruktur, sehingga mudah dipahami dan mudah dikembangkan. Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi -fungsi, maka fungsi utama (main()) menjadi lebih pendek, jelas dan mudah dimengerti. b. dapat mengurangi pengulangan (duplikasi) kode. Langkah -langkah program yang sama dan dipakai berulang-ulang di program dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi-fungsi. Selanjutnya bagian program yang membutuhkan langkahlangkah ini tidak perlu selalu menuliskannya, tetapi cukup memanggil fungsi-fungsi tersebut. Dasar Fungsi Fungsi standar C yang mengemban tugas khusus contohnya adalah ; a. printf() , yaitu untuk menampilkan informasi atau data ke layar. b. scanf() , yaitu untuk membaca kode tombol yang diinputkan Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut sebagai argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil akhir fungsi berupa sebuah nilai (disebut sebagai return value atau nilai keluaran fungsi). Oleh karena itu fungsi sering digambarkan sebagai "kotak gelap" seperti ditunjukkan pada gambar di bawah ini.
Penggambaran sebagai kotak gelap pada gambar 13.1 menjelaskan bahwa bagian dalam fungsi bersifat pribadi bagi fungsi. Tak ada suatu pernyataan di luar fungsi yang bisa mengakses bagian dalam fungsi, selain melalui parameter (atau variabel eksternal yang akan dibahas belakangan). Misalnya melakukan goto dari pernyataan di luar fungsi ke pernyataan dalam fungsi adalah tidak diperkenankan.Bentuk umum dari definisi sebuah fungsi adalah sebagai berikut : tipe-keluaran-fungsi nama-fungsi (deklarasi argumen) { tubuh fungsi }
Keterangan : tipe-keluaran-fungsi, dapat berupa salah satu tipe data C, misalnya char atau int . Kalau penentu tipe tidak disebutkan maka dianggap bertipe int (secara default). tubuh fungsi berisi deklarasi variabel (kalau ada) dan statemen-statemen yang akan melakukan tugas yang akan diberikan kepada fungsi yang bersangkutan. Tubuh fungsi ini ditulis di dalam tanda kurung kurawal buka dan kurung kurawal tutup. Laporan Resmi Praktikum Konsep Pemrograman : Fungsi | Rendra Budi Hutama [2110131036] 1
Memberikan Nilai Keluaran Fungsi Suatu fungsi dibuat untuk maksud menyelesaikan tugas tertentu. Suatu fungsi dapat hanya melakukan suatu tugas saja tanpa memberikan suatu hasil keluaran atau melakukan suatu tugas dan kemudian memberikan hasil keluaran. Fungsi yang hanya melakukan suatu tugas saja tanpa memberikan hasil keluaran misalnya adalah fungsi untuk menampilkan hasil di layar. Dalam tubuh fungsi, pernyataan yang digunakan untuk memberikan nilai keluaran fungsi berupa return. Prototipe Fungsi Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai : tipe keluaran fungsi jumlah parameter tipe dari masing-masing parameter. Bagi kompiler, informasi dalam prototipe akan dipakai untuk memeriksa keabsahan (validitas) parameter dalam pemanggilan fungsi. Salah satu keuntungannya adalah, kompiler akan melakukan konversi seandainya antara tipe parameter dalam fungsi dan parameter saat pemanggilan fungsi tidak sama, atau akan menunjukan kesalahan bila jumlah parameter dalam definisi dan saat pemanggilan berbeda. Contoh prototipe fungsi; float jumlah (float x, float y);
atau float jumlah (float, float);
B. Tugas Pendahuluan [Soal 1] Algoritma menampilkan menu berulang dengan fungsi. Deklarasikan i dan n sebagai bilangan bulat, dan fungi menu() dengan tipe data void. Inisiasi nilai i dengan angka 0. 1. Masukkan jumlah pengulangan(n). 2. Jika nilai i kurang dari n maka lakukan langkah 3 dan seterusnya, bila tidak langsung ke langkah 5. 3. Panggil fungsi menu(). 4. Tambahkan i dengan 1 dan simpan hasilnya di i kembali. 5. Selesai. Algoritma fungsi menu() 1. Tampilkan pilihan menu yang ada. [Soal 2] Algoritma menampilkan bilangan triangular dengan fungsi Deklarasikan bil sebagai bilangan bulat dan fungsi triangular sebagai void. 1. Masukkan bilangan(bil). 2. Panggil fungsi triangular dengan menyertakan bil sebagai parameter. 3. Selesai.
Algoritma fungsi triangular() Terima nilai bil sebagai bilangan bulat. Deklarasikan nilai i dan jum sebagai bilangan bulat. 1. Berikan nilai bil ke i 2. Jika nilai i lebih dari 0 lakukan langkah 2 bila tidak langsung ke langkah 7. Laporan Resmi Praktikum Konsep Pemrograman : Fungsi | Rendra Budi Hutama [2110131036] 2
3. 4. 5. 6. 7. 8.
Tampilkan nilai i Jika nilai i tidak sama dengan 1, maka tampilkan karakter “+”. Tambahkan jum dengan i, simpan hasilnya di jum kembali. Kurangi nilai i dengan 1, simpan hasilnya di i kembali, Kembali ke langkah 2. Tampilkan nilai jum Selesai.
[Soal 3] Algoritma menampilkan hasil kuadrat dari bilangan menggunakan fungsi Deklarasikan bil,hasilKuadrat dan fungsi kuadratkan() sebagai bilangan bulat. 1. Masukkan nilai bil 2. Panggil fungsi kuadratkan() dengan menyertakan bil sebagai parameter. Simpan hasil pemanggilan fungsi di hasilKuadrat. 3. Tampilkan nilai hasilKuadrat. 4. Selesai Algoritma fungsi kuadratkan() Terima nilai bil sebagai bilInput dengan tipe data bilangan bulat. 1. Kalikan bilInput dengan bilInput dan kembalikan hasilnya ke fungsi pemanggil
[Soal 4] Algoritma menampilkan hasil perhitungan dengan fungsi Deklarasikan bil,hasil_Cn, hasil_Sn,fungsi fn_Cn(),fungsi_Sn() sebagai bilangan pecahan. 1. Masukkan nilai bil 2. Panggil fungsi fn_Cn() dengan menyertakan bil sebagai parameter. Simpan hasil pemanggilan fungsi di hasil_Cn. 3. Panggil fungsi fn_Sn() dengan menyertakan bil sebagai parameter. Simpan hasil pemanggilan fungsi di hasil_Sn. 4. Tampilkan hasil_Cn ke layar 5. Tampilkan hasil_Sn ke layar 6. Selesai Algoritma fungsi hasil_Cn() Terima nilai bil sebagai angka dengan tipe data bilangan bulat. Deklarasikan i dan hasil sebagai bilangan pecahan. Inisiasi nilai hasil dengan angka 1 1. Jika nilai i kurang dari nilai angka maka lakukan langkah 2 bila tidak langsung ke langkah 4 2. Kalikan nilai hasil dengan 2 kemudian tambahkan dengan 1 dan simpan hasilnya di hasil kembali 3. Kembalikan nilai hasil ke fungsi pemanggil.
Algoritma fungsi hasil_Sn() Terima nilai bil sebagai angka dengan tipe data bilangan bulat. Deklarasikan i dan hasil sebagai bilangan pecahan. Inisiasi nilai hasil dengan angka 1 1. Jika nilai i kurang dari nilai angka maka lakukan langkah 2 bila tidak langsung ke langkah 4 2. Tambahkan nilai hasil dengan angka kemudian kurangi dengan 1 dan simpan hasilnya di hasil kembali 3. Kembalikan nilai hasil ke fungsi pemanggil. Laporan Resmi Praktikum Konsep Pemrograman : Fungsi | Rendra Budi Hutama [2110131036] 3
C. Percobaan Soal 1 a. Buatlah sebuah fungsi yang berfungsi untuk menampilkan sebuah string (di layar) = “Pilihan Menu” (misalkan nama fungsinya = menu). Fungsi tersebut tidak memiliki nilai kembalian (return value) dan juga tidak menerima parameter masukan apapun. b. Tulislah prototipe fungsi untuk fungsi tersebut. c. Buat function main untuk memanggil function menu() secara berulang-ulang, dengan jumlah perulangan yang merupakan input dari user. Jawab a. Listing Program #include void menu(); main() { int n,i; printf("PRAKTIKUM 13 SOAL 1\nRENDRA | 2110131036 | 1D4ITB\n"); printf("\n======================================== \n"); printf("MENAMPILKAN MENU BERULANG DENGAN FUNGSI\n"); printf("\n======================================== \n"); printf("Masukkan jumlah pengulangan\t : "); scanf("%d",&n); for(i=0;i0;i--) { printf("%d ",i); jum = jum + i; if(i != 1) printf("+ "); } printf("= %d \n",jum); }
b. Capture Program
c. Analisis Program Sama dengan soal no 1, pada program ini menggunakan fungsi dengan tipe void karena tidak ada return value atau nilai kembaliannya. Bedanya, pada program ini sudah terdapat parameter aktual yang bertipe integer(int). Nilai parameter aktual tersebut selanjutnya akan diterima oleh parameter formal di dalam fungsi dan nilainya akan dijadikan sebagai acuan dalam mengerjakan tugas pada fungsi tersebut.
Soal 3 a. Buatlah sebuah fungsi untuk menghitung nilai bilangan kuadrat (misal nama fungsinya = kuadrat). Fungsi tersebut memiliki sebuah parameter bertipe float, yaitu bilangan yang akan dikuadratkan serta memiliki sebuah return value bertipe float, yaitu hasil kuadratnya b. Tulislah prototipe fungsi untuk fungsi tersebut. Laporan Resmi Praktikum Konsep Pemrograman : Fungsi | Rendra Budi Hutama [2110131036] 5
c. Buat function main untuk memanggil function kuadrat() tersebut dengan bilangan x yang akan dicari kuadratnya merupakan input dari user. Jawab : a. Listing Program #include float kuadratkan(float); main() { float bil,hasilKuadrat; printf("PRAKTIKUM 13 SOAL 3\nRENDRA | 2110131036 | 1D4ITB\n"); printf("\n======================================== \n"); printf("FUNGSI MENAMPILKAN HASIL KUADRAT BILANGAN"); printf("\n======================================== \n"); printf("\nMasukkan bilangan\t=\t"); scanf("%f",&bil); hasilKuadrat = kuadratkan(bil); printf("\nHasil kuadrat \t\t=\t%g",hasilKuadrat); } float kuadratkan(float bilInput) { return bilInput * bilInput; }
b. Capture Program
c. Analisis Program Pada program ini terdapat sebuah fungsi yang memiliki return value / nilai kembalian yaitu fungsi kuadratkan() dengan tipe data float. Fungsi tersebut mendapatkan sebuah parameter dari fungsi main yang berupa bilangan pecahan float juga kemudian mengembalikan hasil pengolahan parameter tadi kembali ke main() yang akhirnya akan ditampilkan ke layar sebagai sebuah output. Soal 4 Dengan menggunakan fungsi, buatlah program untuk mendapatkan keluaran dari fungsi di bawah ini, dimana inputnya berupa bilangan untuk n – Cn = 2 Cn-1 + 1 jika C0 =1 – Sn = Sn-1+ n – 1 jika S1 =0 Jawab : a. Listing Program #include int fn_Cn(int); int fn_Sn(int); main() { int bil,hasil_Cn,hasil_Sn; printf("PRAKTIKUM 13 SOAL 4\nRENDRA | 2110131036 | 1D4ITB"); printf("\n======================================== \n"); printf("\nMasukkan bilangan\t=\t"); scanf("%d",&bil);
Laporan Resmi Praktikum Konsep Pemrograman : Fungsi | Rendra Budi Hutama [2110131036] 6
hasil_Cn = fn_Cn(bil); hasil_Sn = fn_Sn(bil); printf("\nHasil Cn %d",hasil_Cn); printf("\n\nHasil Sn %d",hasil_Sn); } int fn_Cn(int angka) { int i,hasil=1; for(i = 0;i
View more...
Comments