Program 2
#include <stdio.h>
int penjumlahan(int a, int b){
return a + b;
}
int main(void){
int a, b, hasil;
printf("Masukkan angka pertama: ");
scanf("%d", &a);
printf("Masukkan angka kedua: ");
scanf("%d", &b);
hasil = penjumlahan(a, b);
printf("Jumlah angka: ");
printf("%d", hasil);
return 0;
}
2. Coba modifikasi program 2, dengan menambahkan function perkalian(int a, int b). Hasil dari
function tersebut di print dalam main. Source code di copas. (10 poin)
Jawab :
#include <stdio.h>
int main(void){
int a, b, hasil;
printf("Masukkan angka pertama: ");
scanf("%d", &a);
printf("Masukkan angka kedua: ");
scanf("%d", &b);
hasil = penjumlahan(a, b); //assign nilai penjumlahan kedalam hasil
printf("Jumlah angka: ");
printf("%d", hasil);
hasil = perkalian(a,b); //ganti nilai dalam hasil dengan hasil perkalian
printf("\nHasil perkalian: ");
printf("%d", hasil);
return 0;
}
Output
VOID FUNCTION (20 poin)
Program 3
#include <stdio.h>
int main(void){
int a, b;
printf("Masukkan nilai a: "); scanf("%d", &a);
printf("Masukkan nilai b: "); scanf("%d", &b);
if (a > b){ printf("a lebih besar daripada b"); }
else if (a < b){ printf("a lebih kecil daripada b"); }
else { printf("a sama dengan b"); }
return 0;
}
3. Apa yang dilakukan oleh kode tersebut? (10 poin)
Jawab : Kode tersebut meminta 2 input angka dari user, lalu membandingkan kedua nilai input, dan
mencetak teks sesuai kondisi. Jika a>b maka ditampilkan : a lebih besar daripada b, jika a<b maka
ditampilkan : a lebih kecil daripada b, dan untuk kasus lain ditampilkan : a sama dengan b.
4. Sekarang coba buat program baru yang akan menampilkan output penjelasan tentang diri anda
sendiri. Penjelasan dapat berupa nama, tempat tanggal lahir, hobi, aslab favorit, cita-cita, dsb.
Gunakan function void untuk menampilkan teks. (10 poin)
Jawab :
#include <stdio.h>
void selfdata(void){
printf("Nama : Abednego Zebua\n");
printf("Tempat,tgl lahir : Bumi, Hari-Bulan-Tahun\n");
//data pribadi bersifat rentan hehe
printf("Hobi : Tidur dan menunda tugas\n");
printf("Aslab Favorit : Waduh. Saya memilih jalan diplomatis untuk
tidak memfavoritkan siapapun \n");
printf(" (Bang EZ,WN,GIO,ED lopyu)\n");
printf("Cita-cita : Hidup nyaman sebelum 30\n");
}
int main(void){
selfdata();
return 0;
}
THEORY (Gunakan Referensi) (20 poin)
5. Jelaskan apa itu function dalam bahasa C dan tujuan penggunaannya! (10 poin)
Jawab :
Fungsi (Function) adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai
sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian
dari pekerjaan program utama[1]. Dalam C, fungsi didefinisikan dengan syntax sebagai berikut :
return_type function_name (para1_type para1_name, para2_type para2_name)
{
// body of the function
}
Terdapat beberapa bagian yang perlu dipahami dalam pendefinisian fungsi seperti pada syntax
diatas.
a. Return Type
Return type adalah nilai yang diharapkan dikembalikan oleh fungsi kepada system setelah
dijalankan. Return type dapat berupa int, float, pointer, maupun void. Yang umum
digunakan adalah int dan void. Perbedaannya adalah, return type selain void
mengembalikan nilai sesuai type data yang dituliskan. Sedangkan void tidak
mengembalikan apa-apa. Void akan mengeksekusi perintah didalam fungsi kemudiana
menjalankannya tanpa mengembalikan nilai apapun.
b. Nama Fungsi
Nama fungsi dalam C memiliki aturan yang sebenarnya cukup mirip dengan penamaan
variabel. Penamaan fungsi sebaiknya dilakukan dengan jelas, deskriptif dan spesific.
Awamnya, fungsi utama diberi nama main.
c. Parameter
Parameter merupakan salah satu hal paling krusial dalam pendefinisian fungsi. Parameter
adalah variabel yang didefinisikan dalam deklarasi fungsi[3]. Parameter berupa variabel
dan type data bernilai kosong yang merupakan protoype untuk fungsi. Nilai pada
parameter nantinya akan digantikan oleh nilai dari variabel lain ketika fungsi dipanggil.
Parameter ini disebut juga formal parameter[2]. Parameter ini akan digantikan oleh actual
parameter[2] yang diisi oleh variabel dalam fungsi pemanggil . Proses ini disebut passing
parameter[2].
Contohnya :
void perkalian (int a, int b){
printf(“%d”,a*b);
}
int main (void) {
int angka1=3, angka2=4
perkalian(angka1,angka2); //lihat bahwa nilai pada parameter
perkalian digantikan oleh nilai lain, namun dalam bentuk type data
yang sama.
}
• Parameter kosong
Parameter kosong mengindikasikan bahwa fungsi tidak perlu dan tidak
mengambil data apapun untuk diproses ketika dipanggil. Dalam C, ini bukan cara
yang disarankan. Dalam C disarankan menggunakan parameter Void. Syntax ini
lebih awam digunakan dalam C++.
Contoh:
void selfdata(){
printf("Nama : Abednego Zebua\n");
}
int main (void){
selfdata();
}
• Parameter void
Fungsinya sama dengan parameter kosong, namun merupakan bentuk yang
disarankan untuk penulisan syntax dalam C. Dalam C, fungsi dengan parameter
kosong berarti fungsi dengan jumlah parameter yang tidak diketahui, bukan
kosong. Sehingga lebih disarankan menggunakan void, yang merupakan
parameter yang dianggap benar-benar kosong oleh C. Meski begitu
pemanggilannya tidak perlu menyertakan penulisan void dalam kotak
parameternya
Contoh :
void selfdata(void){//parameter void = kosong
printf("Nama : Abednego Zebua\n");
}
int main (void){
selfdata(); //pemanggilan tidak menyertakan penulisan void
}
Referensi :
• [1] Modul 6 : Functions, Modul Pemrograman Dasar dan Praktikum, Program Studi Teknik
Komputer, FT UI.
● [2] “C - Functions,” GeeksforGeeks, Oct. 09, 2022. https://www.geeksforgeeks.org/c-functions/
● [3] “Difference between Argument and Parameter in C/C++ with Examples,” GeeksforGeeks,
Nov. 25, 2019. https://www.geeksforgeeks.org/difference-between-argument-and-parameter-in-
c-c-with-examples/
● [4] “Why add void to method parameter list,” Stack Overflow.
https://stackoverflow.com/questions/7412274/why-add-void-to-method-parameter-list (accessed
Oct. 09, 2023).
6. Sebutkan dan jelaskan macam-macam variabel bedasarkan tempat dideklarasikannya (global
variable dan local variable) ! (10 poin)
Jawab :
Variables dalam Bahasa C adalah lokasi memori yang difungsikan untuk menyimpan beberapa
bentuk data dan dapat dipanggil kembali Ketika dibutuhkan[1]. Dalam C terdapat beberapa tipe
variable yaitu[1] :
a. Local Variables
Variabel lokal adalah variabel yang dideklarasikan didalam sebuah fungsi atau sebuah bagian
code[1]. Variabel ini hanya dideklarasikan di dalam function tertentu, sehingga tidak dapat
diakses oleh function lain. Bila dua variabel lokal bernama sama dideklarasikan di dalam dua
function berbeda, keduanya tidak saling berhubungan maupun mempengaruhi, sehingga
memperkecil kemungkinan bug atau error pada program. Keberadaannya hanya valid didalam
sebuah fungsi atau sebuah bagian dalam code misalnya didalam sebuah loop atau conditional
statement. Contohnya sebagai berikut :
void utama()
{
int a; //variabel lokal didalam fungsi
if (a>1){
int dup = a*2 //variabel lokal dalam conditional statement
printf("%d", dup);
}
}
b. Global Variables
Variabel global adalah yang dideklarasikan diluar fungsi atau sebuah bagian code.
Jangkauannya mencakup seluruh program sehingga dapat diakses oleh function apapun didalam
program[1]. Penggunaannya tidak disarankan, karena riskan terhadap bug, error, perubahan nilai,
dsb. Contohnya sebagai berikut :
#include <stdio.h>
void fungsi1() {
printf("Fungsi 1: %d\n", x);
}
void fungsi2() {
printf("Fungsi 2: %d\n", x);
}
int main()
{
fungsi1();
fungsi2();
return 0;
}
Referensi :
• [1] “Variables in C++ - GeeksforGeeks,” GeeksforGeeks, Jul. 08, 2019.
https://www.geeksforgeeks.org/variables-in-c/ (accessed Oct. 08, 2023).
• [2] Modul 6 : Functions, Modul Pemrograman Dasar dan Praktikum, Program Studi Teknik
Komputer, FT UI.
PRACTICE (40 poin)
7. Masih ingatkah kalian dengan soal post test Modul 5 “Kalkulator Sederhana” ? Sekarang coba
implementasikan function untuk setiap pilihan operasi yang ada. Tampilan menu juga dapat
menggunakan function void. Kode program dapat di copas.
Jawab :
#include <stdio.h>
#include <math.h>
//Kalkulator sederhana_Abednego Zebua
//TP_PROGDAS6_AbednegoZebua_2306161883
//printf("\e[1;1H\e[2J"); untuk clear console
void menu(){
//menampilkan pilihan menu
printf("|===========================|\n");
printf("| Menu Calculator Sederhana |\n");
printf("|===========================|\n");
printf("| 1. Penjumlahan |\n");
printf("| 2. Pengurangan |\n");
printf("| 3. Perkalian |\n");
printf("| 4. Pembagian |\n");
printf("| 5. Pangkat |\n");
printf("| 6. Akar |\n");
printf("| 7. Exit Program |\n");
printf("|===========================|\n");
printf("Masukkan pilihan (1 - 7): ");
}
int fibonacci(int i) {
if(i == 0) {
return 0;
}
if(i == 1) {
return 1;
}
return fibonacci(i-1) + fibonacci(i-2);
}
int main() {
int i;
return 0;
}
Referensi :
• [1] “C - Recursion - Tutorialspoint,” www.tutorialspoint.com.
https://www.tutorialspoint.com/cprogramming/c_recursion.htm
● [2] “Recursive Functions,” GeeksforGeeks, Nov. 18, 2010.
https://www.geeksforgeeks.org/recursive-functions/