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)
Link Video: http://www.youtube.com/watch?v=9T5jYzrcmuA
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