Translate

tutorial prosedur dan subroutin halaman 12

Selamat datang di eagleboot dan selamat membaca.

#include<iostream> 2. usingnamespacestd; 3. voidluas_segi3(intalas){ 4. inttinggi=10; 5. cout<<"Luassegitiga1=" 6. cout<<(0.5*alas*tinggi)<<endl; 7. } 8. voidluas_segi3(intalas,inttinggi){ 9. cout<<"Luassegitiga2=" 10. cout<<(0.5*alas*tinggi)<<endl; 11. } 12. voidluas_segi3(intalas,inttinggi,intbagi){ 13. cout<<"Luassegitiga2bagi" 14. cout<<bagi<<"=" 15. cout<<(0.5*alas*tinggi)/bagi 16. cout<<endl; 17. } 18. voidmain(){ 19. luas_segi3(10); 20. luas_segi3(10,15); 21. luas_segi3(10,15,3); 22. } 

Keluaran programnya adalah : Luassegitiga1 =150 Luassegitiga2 =75 Luassegitiga2bagi3=25

Program di atas mempunyai tiga buah function yang mempunyai nama sama yaitu luas_segi3(). Function yang pertama (baris ke-3) hanya mempunyai satu buah parameter formal yaitu alas dengan tipe data integer. Sedangkan function yang kedua (baris ke-8) mempunyai dua buah parameter formal alas dan tinggi dimana keduanya bertipe data integer. Function yang terakhir (baris ke-12) mempunyai tiga buah parameter formal yaitu alas, tinggi, dan bagi yang semuanya bertipe data yang sama, yaitu integer. Pada program utama, terdapat tiga buah argumen dimana argumen pertama (baris ke-19) hanya mempunyai satu variabel masukan untuk function, argumen kedua (baris ke-20) mempunyai dua buah variabel masukan, dan argumen terakhir (baris ke-21) mempunyai tiga buah variabel masukan. C++ secara otomatis akan mengarahkan argumen pertama kepada function yang pertama, argumen kedua kepada function yang kedua, dan argumen ketiga kepada function yang ketiga, sesuai dengan variabel masukan yang dipunyai oleh masing-masing argumen. Sedangkan untuk bahasa Java:  

1. classhitung{ 2. publicvoidluas_segi3(intalas){ 3. inttinggi=10; 4. doubleluas=0.5*alas*tinggi; 5. System.out.println("Luassegitiga1="+luas); 6. } 7. publicvoidluas_segi3(intalas,inttinggi){ 8. doubleluas=0.5*alas*tinggi; 9. System.out.println("Luassegitiga2="+luas); 10. } 11. publicvoidluas_segi3(intalas,inttinggi,intbagi){ 12. doubleluas=(0.5*alas*tinggi)/bagi; 13. System.out.println("Luassegitiga2dibagi"+bagi+"="+luas); 14. } 15. } 16. classoverload1{ 17. publicstaticvoidmain(String[]args){ 18. hitungsekutu=newhitung(); 19. sekutu.luas_segi3(10); 20. sekutu.luas_segi3(10,15); 21. sekutu.luas_segi3(10,15,3); 22. } 23. } 

Keluaran programnya adalah : Luassegitiga1 =150 Luassegitiga2 =75 Luassegitiga2bagi3=25.0  Sedangkan contoh untuk function- function yang mempunyai jumlah parameter formal yang sama tetapi tipe data-nya berbeda adalah seperti berikut. Untuk bahasa C++: 

 1. #include<iostream> 2. usingnamespacestd; 3. voidluas_segi3(intalas){ 4. inttinggi=10; 5. cout<<"Luassegitiga1="<<(0.5*alas*tinggi)<<endl; 6. } 7. voidluas_segi3(char*alas){ 8. cout<<alas<<endl; 9. } 10. voidmain(){ 11. luas_segi3(10); 12. luas_segi3("Belajarpemrograman"); 13. }  

Keluaran programnya adalah : Luassegitiga1=150 Belajarpemrograman 
Program di atas mempunyai dua buah function yaitu luas_segi3() dimana setiap function mempunyai satu buah parameter formal tetapi tipe datanya berbeda. Function yang pertama parameter formalnya mempunyai tipe data integer, dan function kedua mempunyai parameter formal dengan tipe data pointer char.  Sama seperti sebelumnya, C++ juga secara otomatis akan mengarahkan argumen yang memanggil function pada program tersebut kepada function yang berkesesuaian. Argumen pertama (baris ke-11) akan diarahkan kepada function pertama pula (baris ke-3) karena tipe data dari variabel masukan sama dengan parameter formal dari function yang pertama, yaitu integer. Sedangkan untuk argumen kedua (baris ke-12) akan diarahkan kepada function kedua (baris ke-7) karena tipe data dari variabel masukan sama dengan parameter formal dari function yang kedua, yaitu char. Untuk bahasa Java dengan permasalahan yang sama adalah sebagai berikut

Next read ON halaman 13.

Share this

Related Posts

Previous
Next Post »