7:40 AM
0

Pada postingan kali ini mencakup materi dari pertemuan IV mengenai penerapan Standard Library, Fungsi, dan Variabel.
Berikut penerapan fungsi yang dibuat sendiri dalam pembuatan program penentuan tahun kabisat sesuai dengan tahun yang diinputkan oleh user yang diterapkan pada pemrograman dengan menggunakan Bahasa C (Untuk source code dapat dilihat pada Latihan D di bawah).
(Video penentuan tahun kabisat. No.Reg: 19%4 = 3)




Bagian Tugas 4 (2, 7, 8)
Coding 1 (2)
Source Code:
1.  #include<stdio.h>      //pemanggilan header Standard Input Output
2.  #include<conio.h>      //pemanggilan header Control Input Output
3.   
4.  int main(void){
5.     int i,j,k,a;  //deklarasi variable
6.     printf("masukkan nilai n = ");    //meminta inputan dari user
7.     scanf("%d",&a);      //menyimpan nilai inputan
8.     for (i=1;i<=a;i++)   //perulangan pertama dimulai dari i=1 sampai ke a kemudian i diincrement
9.     {
10.           for (j=4;j>=i;j--)   //perulangan ke dua dimana j dimulai dari 4 sampai ke j lebih dari sama dengan i dan j didecrement
11.                  printf(" ");  //menampilkan spasi
12.           for (k=i;k<=2*i-1;k++)     //perulangan untuk menampilkan setengah segitiga disebelah kiri untuk increment
13.                  printf("%d",k);      //menampilkan hasil increment
14.           for (k=2*i-2;k>=i;k--)     //perulangan untuk menampilkan setengah segitiga disebelah kanan untuk decrement
15.                  printf("%d",k);      //menampilkan hasil decrement
16.                  printf("\n"); //membuat baris baru
17.    }
18.    getch();      //menahan eksekusi program
19.    return 0;     //nilai balikan dari
20. }

Source code diatas merupakan source code program untuk menampilkan output pyramid yang disusun dengan angka-angka yang berurutan dengan inputan banyak baris dari user dan menggunakan operator increment dan decrement dengan menggunakan perulangan “for”. Berikut adalah hasil gambar setelah program dijalankan.

Gambar 1. Tampilan Program Soal No 2


Coding 2 (7)
Source Code:
1.  #include<stdio.h>      //pemanggilan header standard input output
2.  #include<conio.h>      //pemanggilan header control input output
3.  #include<math.h> //pemanggilan header math untuk fungsi matematika
4.  #include<stdlib.h>     //pemanggilan header standard library
5.   
6.  float kali (floatbil_a, floatbil_b//pembuatan fungsi dengan nama kali untuk perkalian
7.  {
8.     return (bil_a*bil_b);      //rumus perkalian
9.  }
10.  
11. float kurang (floatbil_a, floatbil_b)       //pembuatan fungsi dengan nama kurang untuk pengurangan
12. {
13.    return (bil_a-bil_b);      //rumus pengurangan
14. }
15.  
16. float tambah (floatbil_a, floatbil_b)       //pembuatan fungsi dengan nama tambah untuk pertambahan
17. {
18.    return (bil_a+bil_b);      //rumus pertambahan
19. }
20.  
21. float bagi (floatbil_a, floatbil_b//pembuatan fungsi dengan nama bagi untuk pembagian
22. {
23.    return (bil_a/bil_b);      //rumus pembagian
24. }
25.  
26. float cosinus (floatparam)    //pembuatan fungsi dengan nama cosinus
27. {
28.    return cos(param*3.14/180); //rumus cosinus
29. }
30.  
31. float sinus (floatparam)      //pembuatan fungsi dengan nama sinus
32. {
33.    return sin(param*3.14/180); //rumus sinus
34. }
35.  
36. float tangen (floatparam)     //pembuatan fungsi dengan nama tangen
37. {
38.    return tan(param*3.14/180); //rumus tangen
39. }
40.  
41. float exponden (floatparam)   //pembuatan fungsi dengan nama expondent
42. {
43.    return exp(param);   //rumus expondent
44. }
45.  
46. float segitiga (floatpanjang, floatlebar)   //pembuatan fungsi dengan nama segitiga untuk luas segitiga
47. {
48.    return (panjang*lebar/2);  //rumus luas segitiga
49. }
50.  
51. float lingkaran (floatr)      //pembuatan fungsi dengan nama lingkaran untuk luas lingkaran
52. {
53.    return (3.14*r*r);   //rumus luas lingkaran
54. }
55.  
56. float segiempat (floatpanjang, floatlebar//pembuatan fungsi dengan nama segiempat untuk luas segi empat
57. {
58.    return (panjang*lebar);    //rumus luas segi empat
59. }
60.  
61. float akar (floatnilai) //pembuatan fungsi dengan nama akar untuk akar kuadrat
62. {
63.    return sqrt(nilai);  //rumus akar kuadrat
64. }
65.  
66. float bulat (floatnilai)      //pembuatan fungsi dengan nama bulat untuk pembulatan
67. {
68.    float hasil=floor(nilai);  //membuat nilai inputan dibulatkan kebawah
69.    if (nilai-hasil<=0.50)     //kondisi jika nilai inputan dikurangi dengan hasil pembulatan nilai kebawah lebih kecil dari 0.50
70.    {
71.           hasil=floor(nilai);  //nilai dibulatkan kebawah jika hasil pengurangan nilai dengan hasil pembulatan di fungsi lebih kecil atau sama dengan 0.50
72.    }else{
73.           hasil=ceil(nilai);   //nilai dibulatkan keatas jika hasil pengurangan nilai dengan hasil pembulatan di fungsi lebih besar dari 0.50
74.    }
75.    return hasil; //balikan ke fungsi utama
76. }
77.  
78. int main(void)   //fungsi utama
79. {
80.    int pilih;    //deklarasi dengan tipe integer
81.    float a,b,hb; //deklarasi dengan tipe float
82.   
83.    system("cls");       //memanggil fungsi clear screen
84.    printf("=============== APLIKASI KALKULATOR =============== \n");    //tampilan awal menu
85.    printf("||          MADE WAHYU SANDIKA PURNAMA           || \n");
86.    printf("=================================================== \n\n");
87.   
88.    printf("MENU: \n");
89.    printf("1.  Perkalian \n");
90.    printf("2.  Pengurangan \n");
91.    printf("3.  Pertambahan \n");
92.    printf("4.  Pembagian \n");
93.    printf("5.  Cosinis \n");
94.    printf("6.  Sinus \n");
95.    printf("7.  Tangen \n");
96.    printf("8.  Exponden \n");
97.    printf("9.  Luas Segitiga \n");
98.    printf("10. Luas Lingkaran \n");
99.    printf("11. Luas Segi empat \n");
100.    printf("12. Akar Kuadrat \n");
101.    printf("13. Pembulatan \n \n");
102.    printf("Masukkan Pilihan= ");     //meminta inputan menu dari user
103.    scanf("%d",&pilih);  //menyimpan nilai inputan dari user untuk dipanggil dalam fungsi switch
104.    printf("\n\n");      //pembuatan baris baru
105.     
106.    switch (pilih)       //fungsi switch untuk inputan dari user
107.    {
108.    case 1:{  //kondisi yang dijalankan jika user menginputkan angka 1
109.           printf("APLIKASI PERKALIAN\n\n");
110.           printf("Masukkan Bilangan Pertama= ");   //meminta inputan nilai dari user untuk perkalian
111.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk perkalian
112.           printf("Masukkan Bilangan Kedua= ");     //meminta inputan nilai dari user untuk perkalian
113.           scanf("%f",&b);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk perkalian
114.           printf("Perkalian %.2f dengan %.2f adalah %.2f", a,b,kali(a,b));   //menampilkan hasil perkalian dengan memanggil nama fungsi perkalian untuk medapatkan nilai balikan dari fungsi
115.           break; //mengakhiri kondisi pertama
116.              }
117.    case 2:{   //kondisi yang dijalankan jika user menginputkan angka 2
118.           printf("APLIKASI PENGURANGAN \n\n");
119.           printf("Masukkan Bilangan Pertama= ");   //meminta inputan nilai dari user untuk pengurangan
120.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pengurangan
121.           printf("Masukkan Bilangan Kedua= ");     //meminta inputan nilai dari user untuk pengurangan
122.           scanf("%f",&b);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pengurangan
123.           printf("%.2f diurangi dengan %.2f adalah %.2f", a,b,kurang(a,b));   //menampilkan hasil pengurangan dengan memanggil fungsi pengurangan untuk mendapatkan nilai balikan dari fungsi
124.           break; //mengakhiri kondisi pengurangan
125.              }
126.    case 3:{   //kondisi yang dijalankan jika user menginputkan angka 3
127.           printf("APLIKASI PERTAMBAHAN \n\n");
128.           printf("Masukkan Bilangan Pertama= ");   //meminta inputan nilai dari user untuk pertambahan
129.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pertambahan
130.           printf("Masukkan Bilangan Kedua= ");     //meminta inputan nilai dari user untuk pertambahan
131.           scanf("%f",&b);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pertambahan
132.           printf("%.2f ditambah dengan %.2f adalah %.2f", a,b,tambah(a,b));   //menampilkan hasil pertambahan dengan memanggil fungsi pertambahan untuk memperoleh nilai balikan dari fungsi
133.           break; //mengakhiri kondisi pertambahan
134.              }
135.    case 4:{   //kondisi yang dijalankan jika user menginputkan angka 4
136.           printf("APLIKASI PEMBAGIAN \n\n");
137.           printf("Masukkan Bilangan Pertama= ");   //meminta inputan nilai dari user untuk pembagian
138.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pembagian
139.           printf("Masukkan Bilangan Kedua= ");     //meminta inputan nilai dari user untuk pembagian
140.           scanf("%f",&b);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pembagian
141.           printf("%.2f dibagi dengan %.2f adalah %.2f", a,b,bagi(a,b));   //menampilkan hasil pembagian dengan memanggil fungsi pembagian untuk memperoleh nilai balikan dari fungsi
142.           break; //mengakhiri kondisi pembagian
143.              }
144.    case 5:{   //kondisi yang dijalankan jika user menginputkan angka 5
145.           printf("APLIKASI COSINUS \n\n");
146.           printf("Masukkan Bilangan Parameter= "); //meminta inputan nilai dari user untuk pencarian cosinus
147.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian cosinus
148.           printf("Cosinus dari %.2f adalah %.2f", a,cosinus(a)); //menampilkan hasil pencarian cosinus dengan memanggil fungsi cosinus untuk memperoleh nilai balikan dari fungsi
149.           break; //mengakhiri kondisi cosinus
150.              }
151.    case 6:{   //kondisi yang dijalankan jika user menginputkan angka 6
152.           printf("APLIKASI SINUS \n\n");
153.           printf("Masukkan Bilangan Parameter= "); //meminta inputan nilai dari user untuk pencarian sinus
154.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian sinus
155.           printf("Sinus dari %.2f adalah %.2f", a,sinus(a));     //menampilkan hasil pencarian sinus dengan memanggil fungsi sinus uuntuk memperoleh nilai balikan dari fungsi
156.           break; //mengakhiri kondisi sinus
157.              }
158.    case 7:{   //kondisi yang dijalankan jika user menginputkan angka 7
159.           printf("APLIKASI TANGEN \n\n");
160.           printf("Masukkan Bilangan Parameter= "); //meminta inputan nilai dari user untuk pencarian tangen
161.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian tangen
162.           printf("Tangen dari %.2f adalah %.2f", a,tangen(a));   //menampilkan hasil pencarian tangen dengan memanggil fungsi tangen untuk memperoleh nilai balikan dari fungsi
163.           break; //mengakhiri kondisi tangen
164.              }
165.    case 8:{   //kondisi yang dijalankan jika user menginputkan angka 8
166.           printf("APLIKASI EXPONDENT \n\n");
167.           printf("Masukkan Bilangan Parameter= "); //meminta inputan nilai dari user untuk pencarian expondential
168.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian nilai expondential
169.           printf("Expondent dari %.2f adalah %.2f", a,exponden(a));   //menampilkan hasil expondential dengan memanggil fungsi exponden untuk mendapatkan nilai balikan dari fungsi
170.           break; //mengakhiri kondisi expondential
171.              }
172.    case 9:{   //kondisi yang dijalankan jika user menginputkan angka 9
173.           printf("APLIKASI LUAS SEGITIGA \n\n");
174.           printf("Masukkan Panjang= ");     //meminta inputan nilai dari user untuk pencarian luas segitiga
175.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian luas segitiga
176.           printf("Masukkan Lebar= "); //meminta inputan nilai dari user untuk pencarian luas segitiga
177.           scanf("%f",&b);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian luas segitiga
178.           printf("Luas segitiga dengan panjang %.2f dan lebar %.2f adalah %.2f", a,b,segitiga(a,b));    //menampilkan hasil pencarian luas segitiga dengan memanggil fungsi segitiga untuk memperoleh nilai balikan dari fungsi
179.           break; //mengakhiri kondisi luas segitiga
180.              }
181.    case 10:{   //kondisi yang dijalankan jika user menginputkan angka 10
182.           printf("APLIKASI LUAS LINGKARAN \n\n");
183.           printf("Masukkan Panjang Jari-jari= ");  //meminta inputan nilai dari user untuk pencarian luas lingkaran
184.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian luas lingkaran
185.           printf("Luas lingkaran dengan jari-jari= %.2f adalah %.2f", a,lingkaran(a)); //menampilkan hasil pecarian luas lingkaran dengan memanggil fungsi lingkaran untuk mendapatkan nilai balikan dari fungsi
186.           break; //mengakhiri kondisi luas lingkaran
187.              }
188.    case 11:{   //kondisi yang dijalankan jika user menginputkan angka 11
189.           printf("APLIKASI LUAS SEGI EMPAT \n\n");
190.           printf("Masukkan Panjang= ");     //meminta inputan nilai dari user untuk pencarian luas segi empat
191.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian luas segi empat
192.           printf("Masukkan Lebar= "); //meminta inputan nilai dari user untuk pencarian luas segi empat
193.           scanf("%f",&b);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian luas segi empat
194.           printf("Luas segi empat dengan panjang %.2f dan lebar %.2f adalah %.2f", a,b,segiempat(a,b));   //menampilkan hasil pencarian luas segi empat dengan memanggil fungsi segiempat untuk memperoleh nilai balikan dari fungsi
195.           break; //mengakhiri kondisi luas segi empat
196.              }
197.    case 12:{   //kondisi yang dijalankan jika user menginputkan angka 12\
198.           printf("APLIKASI AKAR KUADRAT \n\n");
199.           printf("Masukkan Nilai Bilangan= ");     //meminta inputan nilai dari user untuk pencarian akar kuadrat
200.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pencarian akar kuadrat
201.           printf("Akar kuadrat dari %.2f adalah %.2f", a,akar(a));   //menampilkan hasil pencarian akar kuadrat dengan memanggil fungsi akar untuk memperoleh nilai balikan dari fungsi
202.           break; //mengakhiri kondisi akar kuadrat
203.              }
204.    case 13:{   //kondisi yang dijalankan jika user menginputkan angka 13
205.           printf("APLIKASI PEMBULATAN \n\n");
206.           printf("Masukkan Bilangan = ");   //meminta inputan nilai dari user untuk pembulatan nilai
207.           scanf("%f",&a);      //menyimpan nilai inputan untuk diproses pada fungsi yang dibuat untuk pembulatan nilai
208.           hb=bulat(a);  //pemanggilan fungsi pembulatan untuk mengirim nilai inputan ke fungsi dan menerima balikan dari fungsi yang akan ditampilkan
209.           printf("pembulatan dari %.2f adalah %.2f", a,hb);      //menampilkan hasil pembulatan dengan memanggil fungsi untuk memperoleh nilai balikan
210.           break; //mengakhiri kondisi pembulatan
211.              }
212.    default:   //kondisi yang dijalankan jika user menginputkan angka diluar pilihan
213.           printf("Masukkan angka sesuai pada menu pilihan! \n\n");      //keluaran jika user memasukkan inputan diluar pilihan.
214.           system("pause");     //menahan eksekusi program
215.           return main();       //mengembalikan ke fungsi utama
216.           break; //akhir kondisi terakhir
217.    }
218.     
219.    getch();      //menahan eksekusi program
220.    return(0);    //nilai balikan dari fungsi utama
221.    }


Source code diatas merupakan source code dalam pembuatan program kalkulator sederhana yang meliputi proses perkalian, pengurangan, pertambahan, pembagian, cosinus, sinus, tangen, expontential, luas segitiga, luas lingkaran, luas segi empat, akar kuadrat, dan pembulatan. Program ini dibuat dengan struktur kontrol switch-case dengan menggunakan fungsi yang dibuat sendiri dan pada fungsi utama hanya menginputkan nilai dan mengirim ke fungsi yang ditentukan agar dapat diproses dan nilai balikannya ditampilkan pada fungsi utama sesuai dengan pilihan dari user. Berikut merupakan hasil gambar setelah program dijalankan.



Gambar 2. Tampilan Program Soal No 7


Coding 3 (8)
Source Code:
1.  #include<stdarg.h>     //pemanggilan header stdarg.h
2.  #include<stdio.h>      //pemanggilan header standar input output
3.  #include<conio.h>      //pemanggilan header control input output
4.   
5.  int sum_up(intcount,...)      //pemuatan fungsi dengan nama sum_up dengan argumen tak terbatas
6. 
7.     va_list ap;  int i, sum;  //inisialisasi list argument
8.    
9.     va_start(ap, count);  //memulai penjumlahan
10.    sum = 0;  //inisialisasi sum
11.    for (i = 0; i <count; i++)   //perulangan untuk mendapatkan argumen 
12.           sum += va_arg (ap, int);   //menjumlahkan untuk mendapatkan nilai sum
13.    va_end(ap);  //mengakhiri perulangan
14.    return sum;   //mengembalikan nilai fungsi sum_up ke fungsi utama
15. }  
16. int main(void)   //memulai fungsi utama
17. {
18.    printf("%d\n", sum_up(2, 2, 4));  //menampilkan jumlah isi argumen dengan output 6
19.    printf("%d\n", sum_up(4, 1, 3, 5, 7));   //menampilkan jumlah isi argumen dengan output 16
20.  
21.    getch();      //menahan eksekusi program
22.    return 0;     //mengembalikan nilai fungsi utama
23. }

Source code diatas merupakan source code untuk pembuatan program yang mengimplementasikan penggunaan header stdarg. stdarg.h adalah header standar C library dari bahasa pemrograman C yang memungkinkan fungsi untuk menerima argument dengan jumlah tak terbatas, yang menggunakan fungsi dengan nama sim_up dengan parameter bertipe integer yang kemudian argument-argumen tersebut dijumlahkan dengan menggunakan fungsiyang terdapat pada header stdarg. Selain itu, diterapkan juga perulangan sesuai dengan anggota dari argument fungsi sim_up. Berikut merupakan hasil gambar setelah program dijalankan.

Gambar 3. Tampilan Program Soal No 8

Mencari tahun kabisat
Coding 4 (Latihan d)
Source Code:
1.  #include<stdio.h>      //pemanggilan header standar input output
2.  #include<conio.h>      //pemanggilan header control input output
3.   
4.  /*
5.  Jika angka tahun itu habis dibagi 400, maka tahun itu sudah pasti tahun kabisat.
6.  Jika angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun itu sudah pasti bukan merupakan tahun kabisat.
7.  Jika angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi habis dibagi 4, maka tahun itu merupakan tahun kabisat.
8.  Jika angka tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis dibagi 4, maka tahun tersebut bukan merupakan tahun kabisat.
9.  */
10.  
11. int kabisat(inttahun//nama fungsi
12. {
13.    if (tahun%400==0)    //kondisi pertama
14.           printf("Tahun %d Merupakan Tahun Kabisat",tahun);
15.    elseif ((tahun%400!=0)&&(tahun%100==0))  //kondisi kedua
16.           printf("Tahun %d Bukan Tahun Kabisat",tahun);
17.    elseif ((tahun%400!=0)&&(tahun%100!=0)&&(tahun%4==0))  //kondisi ketiga
18.           printf("Tahun %d Merupakan Tahun Kabisat",tahun);
19.    elseif ((tahun%400!=0)&&(tahun%100!=0)&&(tahun%4!=0))  //kondisi terakhir
20.           printf("Tahun %d Bukan Tahun Kabisat",tahun);
21. }
22.  
23. int main(void)//fungsi utama
24. {
25.    int th;       //pendeklarasian variable
26.  
27.    printf("Masukkan Tahun= "); //meminta inputan
28.    scanf("%d",&th);     //menyimpan nilai inputan
29.  
30.    kabisat(th);  //pemanggilan fungsi dengan nama kabisat di fungsi yang telah dibuat untuk mendapat nilai balikan
31.  
32.    getch();      //menahan eksekusi program
33.    return(0);    //nilai balikan dari fungsi utama
34. }

Source code diatas merupakan source code mengenai program untuk menentukan tahun inputan dri user apakah merupakan tahun kabisat atau tidak, pembuatan program ini menggunakan fungsi yang dibuat sendiri sebelum fungsi utama yang bertujuan untuk memproses inputan tahun dari user pada fungsi utama yang dikirim ke fungsi yang dibuat agar dapat diproses sesuai dengan kondisi-kondisi pada fungsi untuk mendapatan nilai balikan yang ditampilkan pada fungsi utama. Berikut merupakan hasil gambar setelah program dijalankan.

Gambar 4. Tampilan Program Soal Latihan d

0 comments:

Post a Comment