Kumpulan Program C - Struktur Keputusan & Pengulangan
Kumpulan Program C - Struktur Keputusan & Pengulangan
int main() {
float bil;
return 0;
}
Catatan:
%g pada printf() untuk menghilangkan tampilan angka 0 di belakang titik desimal.
Contoh Output:
Catatan:
Coba masukkan bilangan 0 atau 5, perhatikan outputnya.
/* if 02 - ganjil genap.c
Program if() untuk menentukan bilangan ganjil atau genap.
*/
#include <stdio.h>
int main() {
int bil;
if(bil % 2 == 0)
printf("%d adalah bilangan genap\n", bil);
else
printf("%d adalah bilangan ganjil\n", bil);
return 0;
}
Contoh Output:
atau:
/* if – kabisat01.c
Program untuk menentukan tahun kabisat.
- Tahun kabisat (leap year) adalah tahun yang
habis dibagi 4 tetapi tidak habis dibagi 100,
atau tahun yang habis dibagi 400.
*/
#include <stdio.h>
int main()
{
int tahun;
printf("Tahun: ");
scanf("%d", &tahun);
if(tahun % 4 == 0)
if(tahun % 100 != 0)
printf("Tahun %d adalah tahun kabisat.\n", tahun);
else if(tahun % 400 == 0)
printf("Tahun %d adalah tahun kabisat.\n", tahun);
else
printf("Tahun %d bukan tahun kabisat.\n", tahun);
else
printf("Tahun %d bukan tahun kabisat.\n", tahun);
return 0;
}
Contoh Output:
Tahun: 2000
Tahun 2000 adalah tahun kabisat.
atau:
Tahun: 2100
Tahun 2100 bukan tahun kabisat.
/* if - kabisat02.c
Program untuk menentukan tahun kabisat.
*/
#include <stdio.h>
int main()
{
int tahun;
printf("Tahun: ");
scanf("%d", &tahun);
return 0;
}
Catatan:
Program if - kabisat02.c paling singkat, namun tidak efisien karena untuk untuk setiap tahun
yang tidak habis dibagi 4 harus diperiksa apakah tahun habis dibagi 400.
Bandingkan dengan program dari:
https://www.programiz.com/c-programming/examples/leap-year
if(year%4 == 0)
{
if(year%100 == 0)
{
// year is divisible by 400, hence the year is a leap year
if (year%400 == 0)
printf("%d is a leap year.", year);
else
printf("%d is not a leap year.", year);
}
else
printf("%d is a leap year.", year );
}
else
printf("%d is not a leap year.", year);
http://www.programmingsimplified.com/c/source-code/c-program-check-leap-year
if (year%400 == 0)
printf("%d is a leap year.\n", year);
else if (year%100 == 0)
printf("%d is not a leap year.\n", year);
else if (year%4 == 0)
printf("%d is a leap year.\n", year);
else
printf("%d is not a leap year.\n", year);
https://www.tutorialgateway.org/c-program-to-check-leap-year/
https://codescracker.com/c/program/c-program-check-leap-year.htm
if(x > y)
if(x > z) maks = x; else maks = z; // nested if (if bersarang)
else
if(y > z) maks = y; else maks = z;
return 0;
}
Contoh Output:
Catatan:
Variasi lain dari program ini:
- Menggunakan operator &&
if(x > y && x > z)
maks = x;
else if(y > z)
maks = y;
else maks = z;
- tanpa else
maks = x;
if(y > maks) maks = y;
if(z > maks) maks = z;
Contoh program yang tidak efisien:
if(x > y && x > z) maks = x;
if(y > x && y > z) maks = y;
if(z > x && z > y) maks = z;
Perhatikan, ketiga if harus dijalankan dan setiap if menggunakan operator &&.
/* if - gaji.c
Program untuk menghitung gaji total.
Rumus:
Gaji Total = Gaji Pokok + Uang Jasa + Uang Komisi
return 0;
}
Contoh Output:
Xxx
/* switch - one two three.c
Program switch () untuk mengonversi angka 1 2 3 ke One Two Three.
*/
#include <stdio.h>
int main() {
int angka;
return 0;
}
CATATAN: PELAJARI
Contoh Output:
int main() {
int bln, thn, maks_hari;
switch(bln) {
case 4:
case 6:
case 9:
case 11:
maks_hari = 30; break;
case 2:
if(thn % 4 == 0 && thn % 100 != 0 || thn % 400 == 0)
maks_hari = 29;
else
maks_hari = 28;
break;
default :
maks_hari = 31; break;
}
return 0;
}
Contoh Output:
Bulan : 2
Tahun : 2100
Maksimum hari = 28
atau:
Bulan : 3
Tahun : 2017
Maksimum hari = 31
int main() {
int i;
printf("Dengan for():\n");
for(i = 1; i <= 20; i++)
printf("%d ", i);
printf("\n\nDengan while():\n");
i = 1;
while(i <= 20) {
printf("%d ", i);
i++;
}
printf("\n\nDengan do..while():\n");
i = 1;
do {
printf("%d ", i);
i++;
} while(i <= 20);
printf("\n");
return 0;
}
CATATAN: PELAJARI
Output:
Dengan for():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Dengan while():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Dengan do..while():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
int main() {
int i;
printf("Dengan for():\n");
for(i = 50; i >= 5; i -= 5)
printf("%d ", i);
printf("\n\nDengan while():\n");
i = 50;
while(i >= 5) {
printf("%d ", i);
i -= 5;
}
printf("\n\nDengan do..while():\n");
i = 50;
do {
printf("%d ", i);
i -= 5;
} while(i >= 5);
printf("\n");
return 0;
}
Contoh Output:
Dengan for():
50 45 40 35 30 25 20 15 10 5
Dengan while():
50 45 40 35 30 25 20 15 10 5
Dengan do..while():
50 45 40 35 30 25 20 15 10 5
int main() {
int i;
printf("Karakter ASCII:\n");
return 0;
}
CATATAN: HANYA UNTUK PENGETAHUAN TAMBAHAN
Output:
Karakter ASCII:
32 : 33 : ! 34 : "
35 : # 36 : $ 37 : % 38 : & 39 : '
40 : ( 41 : ) 42 : * 43 : + 44 : ,
45 : - 46 : . 47 : / 48 : 0 49 : 1
50 : 2 51 : 3 52 : 4 53 : 5 54 : 6
55 : 7 56 : 8 57 : 9 58 : : 59 : ;
60 : < 61 : = 62 : > 63 : ? 64 : @
65 : A 66 : B 67 : C 68 : D 69 : E
70 : F 71 : G 72 : H 73 : I 74 : J
75 : K 76 : L 77 : M 78 : N 79 : O
80 : P 81 : Q 82 : R 83 : S 84 : T
85 : U 86 : V 87 : W 88 : X 89 : Y
90 : Z 91 : [ 92 : \ 93 : ] 94 : ^
95 : _ 96 : ` 97 : a 98 : b 99 : c
100 : d 101 : e 102 : f 103 : g 104 : h
105 : i 106 : j 107 : k 108 : l 109 : m
110 : n 111 : o 112 : p 113 : q 114 : r
115 : s 116 : t 117 : u 118 : v 119 : w
120 : x 121 : y 122 : z 123 : { 124 : |
125 : } 126 : ~ 127 : ⌂ 128 : Ç 129 : ü
130 : é 131 : â 132 : ä 133 : à 134 : å
135 : ç 136 : ê 137 : ë 138 : è 139 : ï
140 : î 141 : ì 142 : Ä 143 : Å 144 : É
145 : æ 146 : Æ 147 : ô 148 : ö 149 : ò
150 : û 151 : ù 152 : ÿ 153 : Ö 154 : Ü
155 : ¢ 156 : £ 157 : ¥ 158 : ₧ 159 : ƒ
160 : á 161 : í 162 : ó 163 : ú 164 : ñ
165 : Ñ 166 : ª 167 : º 168 : ¿ 169 : ⌐
170 : ¬ 171 : ½ 172 : ¼ 173 : ¡ 174 : «
175 : » 176 : ░ 177 : ▒ 178 : ▓ 179 : │
180 : ┤ 181 : ╡ 182 : ╢ 183 : ╖ 184 : ╕
185 : ╣ 186 : ║ 187 : ╗ 188 : ╝ 189 : ╜
190 : ╛ 191 : ┐ 192 : └ 193 : ┴ 194 : ┬
195 : ├ 196 : ─ 197 : ┼ 198 : ╞ 199 : ╟
200 : ╚ 201 : ╔ 202 : ╩ 203 : ╦ 204 : ╠
205 : ═ 206 : ╬ 207 : ╧ 208 : ╨ 209 : ╤
210 : ╥ 211 : ╙ 212 : ╘ 213 : ╒ 214 : ╓
215 : ╫ 216 : ╪ 217 : ┘ 218 : ┌ 219 : █
220 : ▄ 221 : ▌ 222 : ▐ 223 : ▀ 224 : α
225 : ß 226 : Γ 227 : π 228 : Σ 229 : σ
230 : µ 231 : τ 232 : Φ 233 : Θ 234 : Ω
235 : δ 236 : ∞ 237 : φ 238 : ε 239 : ∩
240 : ≡ 241 : ± 242 : ≥ 243 : ≤ 244 : ⌠
245 : ⌡ 246 : ÷ 247 : ≈ 248 : ° 249 : ∙
250 : · 251 : √ 252 : ⁿ 253 : ² 254 : ■
255 :
int main() {
int i, j;
return 0;
}
CATATAN: PELAJARI
Output:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9
int main() {
int i, j, k;
// Barisan di kuadran I.
for(j=i; j<=9; j++)
printf("%d ", j);
printf("\n");
}
printf("\n");
printf("\n");
}
return 0;
}
Output:
9 | 9
9 8 | 8 9
9 8 7 | 7 8 9
9 8 7 6 | 6 7 8 9
9 8 7 6 5 | 5 6 7 8 9
9 8 7 6 5 4 | 4 5 6 7 8 9
9 8 7 6 5 4 3 | 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 | 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 | 1 2 3 4 5 6 7 8 9
-------------------------------------
9 8 7 6 5 4 3 2 1 | 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 | 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 | 3 4 5 6 7 8 9
9 8 7 6 5 4 | 4 5 6 7 8 9
9 8 7 6 5 | 5 6 7 8 9
9 8 7 6 | 6 7 8 9
9 8 7 | 7 8 9
9 8 | 8 9
9 | 9
9 8 7 6 5 4 3 2 1 | 1 2 3 4 5 6 7 8 9
8 7 6 5 4 3 2 1 | 1 2 3 4 5 6 7 8
7 6 5 4 3 2 1 | 1 2 3 4 5 6 7
6 5 4 3 2 1 | 1 2 3 4 5 6
5 4 3 2 1 | 1 2 3 4 5
4 3 2 1 | 1 2 3 4
3 2 1 | 1 2 3
2 1 | 1 2
1 | 1
-------------------------------------
1 | 1
2 1 | 1 2
3 2 1 | 1 2 3
4 3 2 1 | 1 2 3 4
5 4 3 2 1 | 1 2 3 4 5
6 5 4 3 2 1 | 1 2 3 4 5 6
7 6 5 4 3 2 1 | 1 2 3 4 5 6 7
8 7 6 5 4 3 2 1 | 1 2 3 4 5 6 7 8
9 8 7 6 5 4 3 2 1 | 1 2 3 4 5 6 7 8 9
/* loop_06 - do while.c
Program contoh penggunaan do...while().
*/
#include <stdio.h>
#include <conio.h> // untuk getch().
int main() {
float sisi;
char yt;
do {
printf("Menghitung Luas Persegi (Bujursangkar)\n\n");
return 0;
}
CATATAN: PELAJARI
Contoh Output:
Sisi = 0
Sisi persegi harus bilangan positif!
Sisi = -5
Sisi persegi harus bilangan positif!
Sisi = 5
Luas = 25.000000
Sisi = 8
Luas = 64.000000