Pada postingan kali ini akan menampilkan source code serta
deskripsi singkat mengenai Standard Library, Fungsi dan Variabel dengan
Bahasa C.
Pada postingan kali ini juga terdapat video penjelasan mengenai program kalkulator sederhana yang terdapat perintah perkalian, pengurangan, pertambahan, pembagian, cos, sin, tan, exp, luas segitiga, luas lingkaran, luas segi empat, akar kuadrat, pembulatan, dengan menggunakan library "math.h". Proses perhitungan kalkulator akan dilakukan di dalam fungsi.
Pembuatan video didapat dari ketentuan Nim % 4 = 17 % 4 = 1.
Jadi sisa bagi 1 akan membuat video tutorial pada soal nomor 7 tugas IV. Video tutorial pada soal nomor 7 yaitu tentang proses pembuatan program kalkulator dengan menggunakan fungsi pada bahasa C yang dapat dilihat pada video di bawah berikut.
Pada postingan kali ini juga terdapat video penjelasan mengenai program kalkulator sederhana yang terdapat perintah perkalian, pengurangan, pertambahan, pembagian, cos, sin, tan, exp, luas segitiga, luas lingkaran, luas segi empat, akar kuadrat, pembulatan, dengan menggunakan library "math.h". Proses perhitungan kalkulator akan dilakukan di dalam fungsi.
Pembuatan video didapat dari ketentuan Nim % 4 = 17 % 4 = 1.
Jadi sisa bagi 1 akan membuat video tutorial pada soal nomor 7 tugas IV. Video tutorial pada soal nomor 7 yaitu tentang proses pembuatan program kalkulator dengan menggunakan fungsi pada bahasa C yang dapat dilihat pada video di bawah berikut.
Video Program Kalkulator Dengan Menggunakan Fungsi Pada Bahasa C
Coding
Tugas IV no.2
|
Source
Code:
|
1. #include <stdio.h>
2. #include <stdlib.h>
3. int main(void){
4.
int
i,k,n,j;
5.
printf("n = ");
6.
scanf("%d",&n);
7.
printf("\n");
8.
for
(i=1;i<=n;i++){
9.
for
(j=4;j>=i;j--)
10.
printf(" ");
11.
for
(k=i;k<=2*i-1;k++)
12.
{
13.
printf("%d",k);
14.
}
15.
for
(k=2*i-2;k>=i;k--)
16.
printf("%d",k);
17.
printf("\n");
18.
}
19.
system("pause");
20.
return
0;
21. }
|
Deskripsi
singkat:
|
1. Source code program diatas merupakan
perintah yang akan menampilkan piramida angka sesuai dengan nilai inputan
dari user.
2.
Baris 1 sampai baris 2 adalah pemanggilan header
stdio.h dan stdlib.h
3.
Variabel yang diperlukan untuk menerima
inputan user dan digunakan pada perulangan telah di deklarasikan pada baris 4.
4. Pada source code di atas menggunakan
perulangan bersarang, dimana perulangan utama merupakan perulangan yang akan
menampilkan banyak baris.
Seperti perulangan utama yaitu for (i=1;i<=n;i++){} pada baris 8. Perulangan ini akan di jalankan dari i=1 sampai dengan i=n.
dimana n variable untuk menerima inputan dari user.
5. Didalam
perulangan utama for
(i=1;i<=n;i++){} akan terdapat 3 perulangan lagi.
· Pada perulangan for (j=4;j>=i;j--){} pada baris 9 diperlukan untuk mengeluarkan
karakter spasi ( ) agar sesuai dengan hasil output pada gambar diatas.
Perulangan ini akan melakukan proses dekremen dari j=4 sampai nilai j>=1.
· Pada perulangan for
(k=i;k<=2*i-1;k++){} di baris 11
diperlukan untuk mengeluarkan baris bilangan pertama. Perulangan ini akan
melakukan inkremen dari nilai k=i sampai dengan nilai k<2*i-1.
· Pada perulangan for
(k=2*i-2;k>=i;k--){} pada baris 15
diperlukan untuk mengeluarkan baris bilangan kedua. Perulangan ini akan
melakukan dekremen dari nilai awal k=2*i-2 sampai dengan nilai k>=i.
6. Perintah system (“pause”) pada baris 19 berfungsi untuk menghentikan exekusi
program sejenak.
7.
Perintah return 0 pada baris 20 berfungsi
untuk mengembalikan nilai 0.
|
Coding
Tugas IV no.7
|
Source
Code:
|
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <math.h>
4. #define phi 3.14
5. float perkalian(float a,float b){
6.
return
(a*b);
7. }
8. float pengurangan(float a,float b){
9.
return
(a-b);
10. }
11. float pertambahan(float a,float b){
12.
return
(a+b);
13. }
14. float pembagian(float a,float b){
15.
return
(a/b);
16. }
17. float hasil_cosinus(float nilai){
18.
return
(cos(nilai*(phi/180)));
19. }
20. float hasil_sinus(float nilai){
21.
return
(sin(nilai*(phi/180)));
22. }
23. float hasil_tangen(float nilai){
24.
return
(tan(nilai*(phi/180)));
25. }
26. float hasil_exponen(float nilai){
27.
return
(exp(nilai));
28. }
29. float luas_segitiga(float a,float t){
30.
return
(0.5*(a*t));
31. }
32. float luas_lingkaran(float r){
33.
return
(phi*(r*r));
34. }
35. float luas_segiempat(float s){
36.
return
(s*s);
37. }
38. float akar_kuadrat(float a){
39.
return
(sqrt(a));
40. }
41. float pembulatan(float a){
42.
float
nilai = floor(a);
43.
if
(a-nilai<=0.50){
44.
nilai
= floor(a);
45.
}else{
46.
nilai
= ceil(a);
47.
}
48.
return
nilai;
49. }
50. int main(void){
51.
int
pilihan;
52.
float
nilai_a,nilai_b,alas,tinggi,jari,sisi,nilai_derajat,hasil;
53.
system("cls");
54.
printf("Nama : I Nyoman Yoga Setyawan\n");
55.
printf("No.Reg : 49013017\n\n");
56.
printf(" Program
Kalkulator Sederhana \n");
57.
printf("====================================\n\n");
58.
printf("
Menu pilihan \n");
59.
printf("-----------------------------------\n");
60.
printf("1. Perkalian 2 buah bilangan\n");
61.
printf("2. Pengurangan 2 buah bilangan\n");
62.
printf("3. Pertambahan 2 buah bilangan\n");
63.
printf("4. Pembagian 2 buah bilangan\n");
64.
printf("5. Cosinus\n");
65.
printf("6. Sinus\n");
66.
printf("7. Tangen\n");
67.
printf("8. Exponen\n");
68.
printf("9. Luas segitiga\n");
69.
printf("10. Luas lingkaran\n");
70.
printf("11. Luas segi empat\n");
71.
printf("12. Akar kuadrat\n");
72.
printf("13. Pembulatan\n");
73.
printf("Pilih salah satu menu di atas!!\n");
74.
scanf("%d",&pilihan);
75.
system("cls");
76.
switch (pilihan){
77.
case
1:{
78.
printf("Anda akan melakukan perkalian dua buah
bilangan!!\n\n");
79.
printf("Masukkan nilai a = ");
80.
scanf("%f",&nilai_a);
81.
printf("Masukkan nilai b = ");
82.
scanf("%f",&nilai_b);
83.
printf("Hasil perkalian %.2f * %.2f = %.2f\n",nilai_a,nilai_b,perkalian(nilai_a,nilai_b));
84.
break;
85.
}
86.
case
2:{
87.
printf("Anda akan melakukan pengurangan dua buah
bilangan!!\n\n");
88.
printf("Masukkan nilai a = ");
89.
scanf("%f",&nilai_a);
90.
printf("Masukkan nilai b = ");
91.
scanf("%f",&nilai_b);
92.
printf("Hasil pengurangan %.2f - %.2f = %.2f\n",nilai_a,nilai_b,pengurangan(nilai_a,nilai_b));
93.
break;
94.
}
95.
case
3:{
96.
printf("Anda akan melakukan penjumlahan dua buah
bilangan!!\n\n");
97.
printf("Masukkan nilai a = ");
98.
scanf("%f",&nilai_a);
99.
printf("Masukkan nilai b = ");
100.
scanf("%f",&nilai_b);
101.
printf("Hasil pertambahan %.2f + %.2f = %.2f\n",nilai_a,nilai_b,pertambahan(nilai_a,nilai_b));
102.
break;
103.
}
104.
case
4:{
105.
printf("Anda akan melakukan pembagian dua buah
bilangan!!\n\n");
106.
printf("Masukkan nilai a = ");
107.
scanf("%f",&nilai_a);
108.
printf("Masukkan nilai b = ");
109.
scanf("%f",&nilai_b);
110.
printf("Hasil pembagian %.2f / %.2f = %.2f\n",nilai_a,nilai_b,pembagian(nilai_a,nilai_b));
111.
break;
112.
}
113.
case
5:{
114.
printf("Anda akan melakukan perhitungan nilai cosinus
dari nilai derajat yg di inputkan!!\n\n");
115.
printf("Masukkan nilai dalam derajat = ");
116.
scanf("%f",&nilai_derajat);
117.
printf("Nilai Cosinus dari %.0f derajat = %.2f\n",nilai_derajat,hasil_cosinus(nilai_derajat));
118.
break;
119.
}
120.
case
6:{
121.
printf("Anda akan melakukan perhitungan nilai sinus dari
nilai derajat yg di inputkan!!\n\n");
122.
printf("Masukkan nilai dalam derajat = ");
123.
scanf("%f",&nilai_derajat);
124.
printf("Nilai Sinus dari %.0f derajat = %.2f\n",nilai_derajat,hasil_sinus(nilai_derajat));
125.
break;
126.
}
127.
case
7:{
128.
printf("Anda akan melakukan perhitungan nilai tangen dari
nilai derajat yg di inputkan!!\n\n");
129.
printf("Masukkan nilai dalam derajat = ");
130.
scanf("%f",&nilai_derajat);
131.
printf("Nilai Tangen dari %.0f derajat = %.2f\n",nilai_derajat,hasil_tangen(nilai_derajat));
132.
break;
133.
}
134.
case
8:{
135.
printf("Anda akan melakukan perhitungan nilai exponen
dari nilai yg di inputkan!!\n\n");
136.
printf("Masukkan nilai = ");
137.
scanf("%f",&nilai_derajat);
138.
printf("Nilai Exponen dari %.2f = %.2f\n",nilai_derajat,hasil_exponen(nilai_derajat));
139.
break;
140.
}
141.
case
9:{
142.
printf("Anda akan melakukan perhitungan luas alas
segitiga!!\n\n");
143.
printf("Masukkan nilai alas = ");
144.
scanf("%f",&alas);
145.
printf("Masukkan nilai tinggi = ");
146.
scanf("%f",&tinggi);
147.
printf("Luas segitiga dengan alas %.2f dan tinggi %.2f =
%.2f\n",alas,tinggi,luas_segitiga(alas,tinggi));
148.
break;
149.
}
150.
case
10:{
151.
printf("Anda akan melakukan perhitungan luas
lingkaran!!\n\n");
152.
printf("Masukkan nilai jari-jari = ");
153.
scanf("%f",&jari);
154.
printf("Luas lingkaran dengan jari-jari %.2f =
%.2f\n",jari,luas_lingkaran(jari));
155.
break;
156.
}
157.
case
11:{
158.
printf("Anda akan melakukan perhitungan luas segi
empat!!\n\n");
159.
printf("Masukkan nilai sisi = ");
160.
scanf("%f",&sisi);
161.
printf("Luas segi empat dengan sisi %.2f = %.2f\n",sisi,luas_segiempat(sisi));
162.
break;
163.
}
164.
case
12:{
165.
printf("Anda akan melakukan perhitungan untuk mengetahui
nilai akar dari nilai yang diinputkan!!\n\n");
166.
printf("Masukkan nilai yang akan di akar = ");
167.
scanf("%f",&nilai_a);
168.
printf("Hasil akar kuadrat dari nilai %.2f = %.2f\n",nilai_a,akar_kuadrat(nilai_a));
169.
break;
170.
}
171.
case
13:{
172.
printf("Anda akan melakukan perhitungan untuk mengetahui
nilai pembulatan dari nilai yg diinputkan!!\n\n");
173.
printf("Masukkan nilai yang akan dibulatkan = ");
174.
scanf("%f",&nilai_a);
175.
hasil
= pembulatan(nilai_a);
176.
printf("Nilai pembulatan dari nilai %.2f = %.2f\n",nilai_a,hasil);
177.
break;
178.
}
179.
default:{
180.
printf("Pilihan anda tidak ada, silakan di ulangi untuk
memilih menu !!\n");
181.
system("pause");
182.
return
main();
183.
break;
184.
}
185.
}
186.
system("pause");
187.
return
0;
188.
}
|
Deskripsi
singkat:
|
1. Source code
diatas merupakan perintah kalkulator yang dapat melakukan perintah
perkalian, pengurangan, pertambahan, pembagian, cos, sin, tan, exp, luas
segitiga, luas lingkaran, luas segi empat, akar kuadrat, pembulatan, yang
menggunakan fungsi header “math.h”.
2.
Menu kalkulator
akan di pilih sesuai dengan perintah yang ingin di jalankan oleh user,
kemudian akan di simpan ke dalam variable pilihan yg telah di
deklarasi.Pendeklarasian variable pilihan dapat dilihat pada source code
program baris 51.
3. Pilihan yang akan
dimasukkan user berupa nilai angka yang bertipe integer. Perintah yang
digunakan untuk menerima pilihan dari user
menggunakan perintah “scanf” dengan menggunakan kode format “%d” yang
terlihat pada source code program di baris 74. Dimana perintah scanf
memerlukan pemanggilan file header “stdio.h” agar dapat difungsikan.
Pemanggilan file header “stdio.h” dapat dilihat pada baris 1 program.
4. Terdapat kondisi
pada pilihan yang di inputkan user sesuai dengan menu pilihan yang akan
ditampilkan ke layar menggunakan
perintah “printf . Source code untuk menampilkan menu pilihan ke layar dapat
dilihat pada baris 60 sampai baris
72 program.
5. Jika user
memasukkan pilihan menu yang sesuai, maka program akan menampilkan dan melakukan
perhitungan sesuai dengan pilihan menu dari user. Dan jika user memasukkan
pilihan menu yang tidak sesuai, maka program akan menyarankan pengguna untuk
kembali memilih menu pilihan yang sesuai / yang tersedia pada program dengan
perintah default seperti terlihat
pada baris 179 program.
6. Kondisi pilihan
sesuai inputan user menggunakan perintah “switch case”. Dimana perintah “switch
case” digunakan untuk mengecek inputan pilihan user kemudian sistem akan
mengerjakan perintah sesuai dengan inputan user, yang dapat dilihat pada
source code program baris 77
sampai dengan baris 183.
7. Perintah untuk
melakukan proses perhitungan sesuai dengan m,enu pilihan dari user, akan di
lakukan di dalam fungsi. Pada source code di atas terdapat 13 fungsi, dimana masing-masing
fungsi berisi perintah utk melakukan proses perhitungan sesuai dengan menu
pilihan user.
8. Nilai parameter
pada masing-masing fungsi akan diambil dari inputan user pada fungsi main()
untuk di jadikan perhitungan pada masing-masing fungsi, kemudian hasil dari
perhitungan akan di kembalikan ke fungsi main() untuk di tampilkan ke layar.
· Sebagai contoh
untuk fungsi perkalian() yg dapat dilihat pada baris 5. Fungsi perkalian() dengan tipe float terdapat 2
parameter a,b yang memiliki tipe data
float. Di dalam fungsi perkalian akan dilakukan proses perkalian, dimana nilai
yang akan dikalikan di terima dari fungsi main() yg dapat dilihat pada baris 80 dan baris 82 program. Nilai yg diterima akan di masukkan ke dalam
parameter fungsi perkalian() seperti terlihat pada baris 5, kemudian digunakan sebagai proses sesuai dengan perintah
di dalam fungsi perkalian(). Hasil dari proses akan di kembalikan ke fungsi
main() dengan menggunakan perintah “return”
untuk di tampilkan ke layar. Proses perhitungan dan pengembalian nilai dalam fungsi perkalian() dapat dilihat pada
baris 6 program.
· Kembalian nilai
dari fungsi perkalian() akan di panggil di dalam fungsi main() dengan
perintah penulisan pada soure code program yaitu “nama_fungsi(parameter 1,parameter 2)”. Parameter 1 dan parameter 2 merupakan variable inputan yg
memiliki tipe data float sesuai dengan tipe data parameter pada fungsi
perkalian() yang telah di deklarasikan di dalam fungsi main().
9. Untuk penjelasan
pengambilan nilai parameter fungsi dari fungsi main() yang akan di proses di
dalam fungsi dan pengembalian nilai hasil proses ke fungsi main() sama
seperti penjelasan pada point 8 di
atas. Hanya saja nama fungsi, parameter
yang diperlukan pada fungsi, dan proses perhitungan di dalam fungsi berbeda
dari masing-masing fingsi. Proses perhitungan di dalam fungsi dapat dilihat
sebagai berikut.
· Fungsi yang
berisi parameter dapat dilihat pada source code program baris 5 sampai baris 49. Dimana
nama fungsi dan proses perhitungan yang dilakukan di dalam masing-masing fungsi
berbeda.
· Pemanggilan hasil
dari proses perhitungan yang dilakukan di dalam fungsi dapat dilihat pada
source code diatas pada baris 83,92,101,110,117,124,131,138,147,154,161,168,176
yang menggunakan perintah “nama_fungsi(parameter
1,parameter 2)”.
|
Coding
Tugas IV no.8
|
Source
Code:
|
1. /* variadic function */
2.
#include
<stdarg.h>
3.
#include
<stdio.h>
4.
int
sum_up(int count,...)
5.
{
6.
va_list
ap;
7.
int i,
sum;
8.
va_start
(ap, count);
9.
sum
= 0;
10.
for (i
= 0; i < count; i++)
11.
sum
+= va_arg (ap, int);
12.
va_end
(ap);
13.
return
sum;
14.
}
15.
int
main(void)
16.
{
17.
printf("%d\n", sum_up(2, 2, 4));
18. printf("%d\n", sum_up(4, 1, 3, 5, 7));
19.
system
("pause");
20.
return
0;
21.
}
|
Deskripsi
singkat:
|
1.
Baris 2 sampai baris 3 adalah pemanggilan
header stdarg.h dan stdio.h
2. Baris 4 adalah fungsi sum_ip(int count, ...) dengan variabel yang bisa diterima adalah
tak terbatas.
3. va_list pada baris 6 adalah keyword header “stdarg.h”, dan variabel i, sum bertipe integer yang dapat
dilihat pada baris 7.
4.
va_start(ap, count); adalah keyword dari
header stdarg.h yang memanggil parameter, dengan menggunakan perintah count. Yang dapat
dilihat pada baris 8 program.
5.
sum diberikan inisialisasi nilai awal yaitu 0,
yang dapat dilihat pada source code program baris 9.
6.
Perulangan for untuk mendapatkan
argumen-argumen dari fungsi sum_up(); yang dapat dilihat pada source code
program baris 10.
7. Proses penjumlahan argumen akan ditampung di
variabel sum yang terdapat di dalam perulangan for. Seperti terlihat pada
source code program baris 11.
8.
va_end(ap); keyword dari header stdarg.h yg
berguna untuk berhenti memanggil argumen dari fungsi sum_up(); yang dapat
dilihat pada source code program baris
12.
9. Perintah return sum merupakan perintah
mengembalikan nilai sum; yang dapat
dilihat pada source code program baris
13.
10.
Baris 17 sampai baris 18 menampilkan output
dari pemanggilan fungsi sum_up () diikuti beberapa argument, yang terletak di
dalam fungsi main().
|
Coding Latihan
D Modul IV
|
Source
Code:
|
1. #include <stdio.h>
2. #include <stdlib.h>
3. int proses(int
tahun){
4.
if(tahun%4==0)
5.
printf
("%d merupakan tahun kabisat\n",tahun);
6.
else if
((tahun%100!=0)&&(tahun%100!=0)&&(tahun%4==0))
7.
printf
("%d merupakan tahun kabisat\n",tahun);
8.
else if
((tahun%100!=0)&&(tahun%400!=0)&&(tahun%4!=0))
9.
printf
("%d bukan merupakan tahun kabisat\n",tahun);
10.
else if ((tahun%100==0)&&(tahun%400!=0))
11.
printf
("%d bukan merupakan tahun kabisat",tahun);
12.
else
13.
printf("Inputan salah\n");
14. }
15. int main(void){
16.
int
tahun;
17.
printf("Nama : I Nyoman Yoga Setyawan\n");
18.
printf("No.Reg : 49013017\n\n");
19.
printf("Program Pengecekan Tahun Kabisat\n");
20.
printf("=================================\n\n");
21.
printf("Input Tahun : ");
22.
scanf("%d",&tahun);
23.
proses(tahun);
24.
printf("\n");
25.
system("pause");
26.
return
0;
27. }
|
Deskripsi
singkat:
|
1. Source code diatas merupakan perintah untuk
melakukan pengecekan tahun kabisat atau bukan tahun kabisat dari tahun yang diinputkan
oleh user. Dimana proses pengecekan akan dilakukan di dalam fungsi proses()
yang dapat dilihat pada source code program baris 4 sampai dengan baris 13.
2. Variable yang diperlukan pada program ini
yaitu variable inputan tahun dari user, dimana variable diberi nama “tahun”
yang memiliki tife data integer. Pendeklarasian variable dapat dilihat pada
source code program baris 16.
3. Penerimaan inputan tahun dari user dilakukan
di dalam fungsi main() dengan menggunakan perintah “scanf” dengan menggunakan
kode format “%d” sesuai dengan tipe data integer, yg dapat dilihat pada
source code program baris 22.
4. Inputan tahun dari user akan digunakan
sebagai parameter yg terdapat di dalam fungsi proses(), kemudian akan di cek
apakah merupakan tahun kabisat atu bukan berdasarkan kondisi yg terdapat di
dalam fungsi proses().
Terdapat kondisi (algoritma) untuk melakukan pengecekan tahun
kabisat atau bukan tahun kabisat di antaranya :
a.
Jika
angka tahun itu habis dibagi 4, maka tahun itu merupakan tahun kabisat.
b.
Jika
angka tahun itu tidak habis dibagi 400 tetapi habis dibagi 100, maka tahun
itu sudah pasti bukan merupakan tahun kabisat.
c.
Jika
angka tahun itu tidak habis dibagi 400, tidak habis dibagi 100 akan tetapi
habis dibagi 4, maka tahun itu merupakan tahun kabisat.
d.
Jika
angka tahun tidak habis dibagi 400, tidak habis dibagi 100, dan tidak habis
dibagi 4, maka tahun tersebut bukan merupakan tahun kabisat.
5. Kondisi
(algoritma) telah di implementasikan ke dalam source code program yang terletak
di dalam fungsi proses(), yang dapat dilihat pada baris 4 sampai dengan baris
13 source code program.
6. Hasil pengecekan tahun yang terdapat di
dalam fungsi proses() akan dipanggil di dalam fungsi main() untuk di
tampilkan ke layar. Pemanggilan fungsi dapat dilakukan dengan cara mengetikkan
source code “nama_fungsi(parameter)”. Yang dapat dilihat pada baris 23 source
code program.
|
0 comments:
Post a Comment