fix: ganti '//n' jadi '/n'

This commit is contained in:
a2nr 2026-05-05 14:09:40 +07:00
parent 885980f276
commit 6088254959
19 changed files with 161 additions and 161 deletions

View File

@ -98,7 +98,7 @@ for (int i = 0; i < 5; i++) {
int myNumbers[5] = {10, 20, 30, 40, 50}; int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) { for (int i = 0; i < 5; i++) {
printf("%d\\n", myNumbers[i]); printf("%d\n", myNumbers[i]);
} }
``` ```
@ -124,15 +124,15 @@ int main() {
int total = 0; int total = 0;
int arraySize = sizeof(scores) / sizeof(scores[0]); int arraySize = sizeof(scores) / sizeof(scores[0]);
printf("Nilai ujian siswa:\\n"); printf("Nilai ujian siswa:\n");
for (int i = 0; i < arraySize; i++) { for (int i = 0; i < arraySize; i++) {
printf("Siswa %d: %d\\n", i+1, scores[i]); printf("Siswa %d: %d\n", i+1, scores[i]);
total += scores[i]; total += scores[i];
} }
float average = (float)total / arraySize; float average = (float)total / arraySize;
printf("\\nTotal nilai: %d\\n", total); printf("\nTotal nilai: %d\n", total);
printf("Rata-rata nilai: %.2f\\n", average); printf("Rata-rata nilai: %.2f\n", average);
return 0; return 0;
} }
@ -229,9 +229,9 @@ int main() {
// TODO: Hitung rata-rata // TODO: Hitung rata-rata
float average = 0.0; float average = 0.0;
printf("Total nilai: %d\\n", total); printf("Total nilai: %d\n", total);
printf("Jumlah siswa: %d\\n", count); printf("Jumlah siswa: %d\n", count);
printf("Rata-rata nilai: %.2f\\n", average); printf("Rata-rata nilai: %.2f\n", average);
return 0; return 0;
} }
@ -254,9 +254,9 @@ int main() {
// Hitung rata-rata // Hitung rata-rata
float average = (float)total / count; float average = (float)total / count;
printf("Total nilai: %d\\n", total); printf("Total nilai: %d\n", total);
printf("Jumlah siswa: %d\\n", count); printf("Jumlah siswa: %d\n", count);
printf("Rata-rata nilai: %.2f\\n", average); printf("Rata-rata nilai: %.2f\n", average);
return 0; return 0;
} }

View File

@ -30,12 +30,12 @@ int i;
// Print the addresses // Print the addresses
for (i = 0; i < 5; i++) { for (i = 0; i < 5; i++) {
printf("&vowels[%d]: %p, pvowels + %d: %p, vowels + %d: %p\\n", i, &vowels[i], i, pvowels + i, i, vowels + i); printf("&vowels[%d]: %p, pvowels + %d: %p, vowels + %d: %p\n", i, &vowels[i], i, pvowels + i, i, vowels + i);
} }
// Print the values // Print the values
for (i = 0; i < 5; i++) { for (i = 0; i < 5; i++) {
printf("vowels[%d]: %c, *(pvowels + %d): %c, *(vowels + %d): %c\\n", i, vowels[i], i, *(pvowels + i), i, *(vowels + i)); printf("vowels[%d]: %c, *(pvowels + %d): %c, *(vowels + %d): %c\n", i, vowels[i], i, *(pvowels + i), i, *(vowels + i));
} }
``` ```
@ -77,7 +77,7 @@ pvowels[3] = 'O';
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
printf("%c ", pvowels[i]); printf("%c ", pvowels[i]);
} }
printf("\\n"); printf("\n");
free(pvowels); free(pvowels);
``` ```
@ -113,7 +113,7 @@ for (i = 0; i < nrows; i++) {
for(j = 0; j < ncols; j++) { for(j = 0; j < ncols; j++) {
printf("%c ", pvowels[i][j]); printf("%c ", pvowels[i][j]);
} }
printf("\\n"); printf("\n");
} }
// Bebaskan baris-baris individu // Bebaskan baris-baris individu
@ -208,7 +208,7 @@ free(pnumbers)
for (j = 0; j <= i; j++) { for (j = 0; j <= i; j++) {
printf("%d", pnumbers[i][j]); printf("%d", pnumbers[i][j]);
} }
printf("\\n"); printf("\n");
} }
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
@ -250,7 +250,7 @@ free(pnumbers)
for (j = 0; j <= i; j++) { for (j = 0; j <= i; j++) {
printf("%d", pnumbers[i][j]); printf("%d", pnumbers[i][j]);
} }
printf("\\n"); printf("\n");
} }
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {

View File

@ -93,7 +93,7 @@ int main() {
insert(test_list,4); insert(test_list,4);
insert(test_list,3); insert(test_list,3);
printDFS(test_list); printDFS(test_list);
printf("\\n"); printf("\n");
} }
void insert(node_t * tree, int val) { void insert(node_t * tree, int val) {
@ -164,7 +164,7 @@ int main() {
insert(test_list,4); insert(test_list,4);
insert(test_list,3); insert(test_list,3);
printDFS(test_list); printDFS(test_list);
printf("\\n"); printf("\n");
} }
void insert(node_t * tree, int val) { void insert(node_t * tree, int val) {

View File

@ -170,13 +170,13 @@ int num = 1;
switch (num) { switch (num) {
case 1: case 1:
printf("Nomor 1\\n"); printf("Nomor 1\n");
case 2: case 2:
printf("Nomor 2\\n"); printf("Nomor 2\n");
case 3: case 3:
printf("Nomor 3\\n"); printf("Nomor 3\n");
default: default:
printf("Nomor lain\\n"); printf("Nomor lain\n");
} }
``` ```

View File

@ -110,7 +110,7 @@ mypoint coordinates: 10, 5
mypoint->x = 10; mypoint->x = 10;
mypoint->y =5 ; mypoint->y =5 ;
printf("mypoint coordinates: %d, %d\\n", mypoint->x, mypoint->y); printf("mypoint coordinates: %d, %d\n", mypoint->x, mypoint->y);
free(mypoint); free(mypoint);
return 0; return 0;
} }
@ -132,7 +132,7 @@ mypoint coordinates: 10, 5
mypoint->x = 10; mypoint->x = 10;
mypoint->y =5 ; mypoint->y =5 ;
printf("mypoint coordinates: %d, %d\\n", mypoint->x, mypoint->y); printf("mypoint coordinates: %d, %d\n", mypoint->x, mypoint->y);
free(mypoint); free(mypoint);
return 0; return 0;
} }

View File

@ -61,7 +61,7 @@ int main() {
int n = sizeof(numbers) / sizeof(numbers[0]); // menghitung jumlah elemen int n = sizeof(numbers) / sizeof(numbers[0]); // menghitung jumlah elemen
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
printf("Elemen ke-%d: %d\\n", i, numbers[i]); printf("Elemen ke-%d: %d\n", i, numbers[i]);
} }
return 0; return 0;
@ -90,7 +90,7 @@ int main() {
for (int j = 1; j <= i; j++) { for (int j = 1; j <= i; j++) {
printf("* "); printf("* ");
} }
printf("\\n"); printf("\n");
} }
return 0; return 0;
@ -144,15 +144,15 @@ int main() {
int n = sizeof(scores) / sizeof(scores[0]); int n = sizeof(scores) / sizeof(scores[0]);
int total = 0; int total = 0;
printf("Daftar nilai siswa:\\n"); printf("Daftar nilai siswa:\n");
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
printf("Siswa %d: %d\\n", i+1, scores[i]); printf("Siswa %d: %d\n", i+1, scores[i]);
total += scores[i]; total += scores[i];
} }
float average = (float)total / n; float average = (float)total / n;
printf("\\nTotal nilai: %d\\n", total); printf("\nTotal nilai: %d\n", total);
printf("Rata-rata nilai: %.2f\\n", average); printf("Rata-rata nilai: %.2f\n", average);
return 0; return 0;
} }
@ -251,7 +251,7 @@ Tabel Perkalian 5x5:
#include <stdio.h> #include <stdio.h>
int main() { int main() {
printf("Tabel Perkalian 5x5:\\n"); printf("Tabel Perkalian 5x5:\n");
// TODO: Gunakan nested for loops untuk mencetak tabel perkalian // TODO: Gunakan nested for loops untuk mencetak tabel perkalian
// Baris dan kolom dari 1 hingga 5 // Baris dan kolom dari 1 hingga 5
@ -264,13 +264,13 @@ int main() {
#include <stdio.h> #include <stdio.h>
int main() { int main() {
printf("Tabel Perkalian 5x5:\\n"); printf("Tabel Perkalian 5x5:\n");
for (int i = 1; i <= 5; i++) { for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) { for (int j = 1; j <= 5; j++) {
printf("%-3d", i * j); // %-3d untuk format rata kiri dengan lebar 3 karakter printf("%-3d", i * j); // %-3d untuk format rata kiri dengan lebar 3 karakter
} }
printf("\\n"); printf("\n");
} }
return 0; return 0;

View File

@ -23,9 +23,9 @@ void addone(int n) {
} }
int n; int n;
printf("Sebelum: %d\\n", n); printf("Sebelum: %d\n", n);
addone(n); addone(n);
printf("Setelah: %d\\n", n); printf("Setelah: %d\n", n);
``` ```
Namun, ini akan bekerja: Namun, ini akan bekerja:
@ -37,9 +37,9 @@ void addone(int *n) {
} }
int n; int n;
printf("Sebelum: %d\\n", n); printf("Sebelum: %d\n", n);
addone(&n); addone(&n);
printf("Setelah: %d\\n", n); printf("Setelah: %d\n", n);
``` ```
Perbedaannya adalah versi kedua dari `addone` menerima pointer ke variabel `n` sebagai argumen, dan kemudian bisa memanipulasinya, karena tahu di mana itu berada di memori. Perhatikan bahwa ketika memanggil fungsi `addone`, kita **harus** melewatkan referensi ke variabel `n`, dan bukan variabel itu sendiri - ini dilakukan agar fungsi tahu alamat dari variabel, dan tidak hanya menerima salinan dari variabel itu sendiri. Perbedaannya adalah versi kedua dari `addone` menerima pointer ke variabel `n` sebagai argumen, dan kemudian bisa memanipulasinya, karena tahu di mana itu berada di memori. Perhatikan bahwa ketika memanggil fungsi `addone`, kita **harus** melewatkan referensi ke variabel `n`, dan bukan variabel itu sendiri - ini dilakukan agar fungsi tahu alamat dari variabel, dan tidak hanya menerima salinan dari variabel itu sendiri.
@ -122,9 +122,9 @@ Happy birthday! John is now 28 years old.
person john; person john;
john.name = "John"; john.name = "John";
john.age = 27; john.age = 27;
printf("%s is %d years old.\\n", john.name, john.age); printf("%s is %d years old.\n", john.name, john.age);
birthday(&john); birthday(&john);
printf("Happy birthday! %s is now %d years old.\\n", john.name, john.age); printf("Happy birthday! %s is now %d years old.\n", john.name, john.age);
return 0; return 0;
} }
---END_INITIAL_CODE--- ---END_INITIAL_CODE---
@ -149,9 +149,9 @@ Happy birthday! John is now 28 years old.
person john; person john;
john.name = "John"; john.name = "John";
john.age = 27; john.age = 27;
printf("%s is %d years old.\\n", john.name, john.age); printf("%s is %d years old.\n", john.name, john.age);
birthday(&john); birthday(&john);
printf("Happy birthday! %s is now %d years old.\\n", john.name, john.age); printf("Happy birthday! %s is now %d years old.\n", john.name, john.age);
return 0; return 0;
} }
---END_SOLUTION_CODE--- ---END_SOLUTION_CODE---

View File

@ -41,17 +41,17 @@ Oke cukup teori. Mari kita coba dengan kode nyata. Lihat contoh ini:
#include <stdio.h> #include <stdio.h>
void someFunction(int arg) void someFunction(int arg)
{ {
printf("This is someFunction being called and arg is: %d\\n", arg); printf("This is someFunction being called and arg is: %d\n", arg);
printf("Whoops leaving the function now!\\n"); printf("Whoops leaving the function now!\n");
} }
main() main()
{ {
void (*pf)(int); void (*pf)(int);
pf = &someFunction; pf = &someFunction;
printf("We're about to call someFunction() using a pointer!\\n"); printf("We're about to call someFunction() using a pointer!\n");
(pf)(5); (pf)(5);
printf("Wow that was cool. Back to main now!\\n\\n"); printf("Wow that was cool. Back to main now!\n\n");
} }
``` ```
@ -74,7 +74,7 @@ main()
int c = 0; int c = 0;
while (c < sizeof(iarray)/sizeof(*iarray)) while (c < sizeof(iarray)/sizeof(*iarray))
{ {
printf("%d \\t", iarray[c]); printf("%d \t", iarray[c]);
c++; c++;
} }
} }
@ -130,17 +130,17 @@ this is f3 and var is: 2
#include <stdio.h> #include <stdio.h>
void f1(int var) void f1(int var)
{ {
printf("this is f1 and var is: %d\\n", var); printf("this is f1 and var is: %d\n", var);
} }
void f2(int var) void f2(int var)
{ {
printf("this is f2 and var is: %d\\n", var); printf("this is f2 and var is: %d\n", var);
} }
void f3(int var) void f3(int var)
{ {
printf("this is f3 and var is: %d\\n", var); printf("this is f3 and var is: %d\n", var);
} }
int main() int main()
@ -160,17 +160,17 @@ int main()
#include <stdio.h> #include <stdio.h>
void f1(int var) void f1(int var)
{ {
printf("this is f1 and var is: %d\\n", var); printf("this is f1 and var is: %d\n", var);
} }
void f2(int var) void f2(int var)
{ {
printf("this is f2 and var is: %d\\n", var); printf("this is f2 and var is: %d\n", var);
} }
void f3(int var) void f3(int var)
{ {
printf("this is f3 and var is: %d\\n", var); printf("this is f3 and var is: %d\n", var);
} }
int main() int main()

View File

@ -146,7 +146,7 @@ printf
void print_big(int number){ void print_big(int number){
if(number > 10){ if(number > 10){
printf("%d is big\\n",number); printf("%d is big\n",number);
} }
} }
---END_SOLUTION_CODE--- ---END_SOLUTION_CODE---

View File

@ -160,7 +160,7 @@ int y = 10;
| Fungsi | Deskripsi | Contoh | | Fungsi | Deskripsi | Contoh |
|--------|-----------|--------| |--------|-----------|--------|
| printf() | Mencetak output ke layar | `printf("Halo Dunia\\n");` | | printf() | Mencetak output ke layar | `printf("Halo Dunia\n");` |
| scanf() | Membaca input dari pengguna | `scanf("%d", &angka);` | | scanf() | Membaca input dari pengguna | `scanf("%d", &angka);` |
| getchar() | Membaca satu karakter | `char c = getchar();` | | getchar() | Membaca satu karakter | `char c = getchar();` |
| putchar() | Mencetak satu karakter | `putchar('A');` | | putchar() | Mencetak satu karakter | `putchar('A');` |

View File

@ -87,7 +87,7 @@ Mari kita buat fungsi yang mencetak semua item dari daftar. Untuk melakukan ini,
void print_list(node_t * head) { void print_list(node_t * head) {
node_t * current = head; node_t * current = head;
while (current != NULL) { while (current != NULL) {
printf("%d\\n", current->val); printf("%d\n", current->val);
current = current->next; current = current->next;
} }
} }
@ -289,7 +289,7 @@ pop(head)
void print_list(node_t * head) { void print_list(node_t * head) {
node_t * current = head; node_t * current = head;
while (current != NULL) { while (current != NULL) {
printf("%d\\n", current->val); printf("%d\n", current->val);
current = current->next; current = current->next;
} }
} }
@ -343,7 +343,7 @@ pop(head)
void print_list(node_t * head) { void print_list(node_t * head) {
node_t * current = head; node_t * current = head;
while (current != NULL) { while (current != NULL) {
printf("%d\\n", current->val); printf("%d\n", current->val);
current = current->next; current = current->next;
} }
} }

View File

@ -46,17 +46,17 @@ Contoh:
int main() { int main() {
int a = 10, b = 3; int a = 10, b = 3;
printf("a + b = %d\\n", a + b); // 13 printf("a + b = %d\n", a + b); // 13
printf("a - b = %d\\n", a - b); // 7 printf("a - b = %d\n", a - b); // 7
printf("a * b = %d\\n", a * b); // 30 printf("a * b = %d\n", a * b); // 30
printf("a / b = %d\\n", a / b); // 3 (pembagian integer) printf("a / b = %d\n", a / b); // 3 (pembagian integer)
printf("a %% b = %d\\n", a % b); // 1 (sisa bagi) printf("a %% b = %d\n", a % b); // 1 (sisa bagi)
a++; // a sekarang menjadi 11 a++; // a sekarang menjadi 11
printf("a++ = %d\\n", a); // 11 printf("a++ = %d\n", a); // 11
b--; // b sekarang menjadi 2 b--; // b sekarang menjadi 2
printf("b-- = %d\\n", b); // 2 printf("b-- = %d\n", b); // 2
return 0; return 0;
} }
@ -81,16 +81,16 @@ Contoh:
int main() { int main() {
int x = 10; int x = 10;
printf("x awal: %d\\n", x); // 10 printf("x awal: %d\n", x); // 10
x += 5; // Sama dengan x = x + 5 x += 5; // Sama dengan x = x + 5
printf("x += 5: %d\\n", x); // 15 printf("x += 5: %d\n", x); // 15
x -= 3; // Sama dengan x = x - 3 x -= 3; // Sama dengan x = x - 3
printf("x -= 3: %d\\n", x); // 12 printf("x -= 3: %d\n", x); // 12
x *= 2; // Sama dengan x = x * 2 x *= 2; // Sama dengan x = x * 2
printf("x *= 2: %d\\n", x); // 24 printf("x *= 2: %d\n", x); // 24
return 0; return 0;
} }
@ -116,12 +116,12 @@ Contoh:
int main() { int main() {
int a = 5, b = 10; int a = 5, b = 10;
printf("a == b: %d\\n", a == b); // 0 (salah) printf("a == b: %d\n", a == b); // 0 (salah)
printf("a != b: %d\\n", a != b); // 1 (benar) printf("a != b: %d\n", a != b); // 1 (benar)
printf("a > b: %d\\n", a > b); // 0 (salah) printf("a > b: %d\n", a > b); // 0 (salah)
printf("a < b: %d\\n", a < b); // 1 (benar) printf("a < b: %d\n", a < b); // 1 (benar)
printf("a >= b: %d\\n", a >= b); // 0 (salah) printf("a >= b: %d\n", a >= b); // 0 (salah)
printf("a <= b: %d\\n", a <= b); // 1 (benar) printf("a <= b: %d\n", a <= b); // 1 (benar)
return 0; return 0;
} }
@ -146,17 +146,17 @@ int main() {
// AND: Benar jika kedua kondisi benar // AND: Benar jika kedua kondisi benar
if (x > 0 && y > 0) { if (x > 0 && y > 0) {
printf("Kedua angka positif\\n"); // Ditampilkan printf("Kedua angka positif\n"); // Ditampilkan
} }
// OR: Benar jika salah satu kondisi benar // OR: Benar jika salah satu kondisi benar
if (x > 10 || y > 5) { if (x > 10 || y > 5) {
printf("Setidaknya satu angka lebih besar\\n"); // Ditampilkan printf("Setidaknya satu angka lebih besar\n"); // Ditampilkan
} }
// NOT: Membalikkan kondisi // NOT: Membalikkan kondisi
if (!(x == y)) { if (!(x == y)) {
printf("x tidak sama dengan y\\n"); // Ditampilkan printf("x tidak sama dengan y\n"); // Ditampilkan
} }
return 0; return 0;
@ -184,10 +184,10 @@ int main() {
unsigned char a = 5; // 00000101 unsigned char a = 5; // 00000101
unsigned char b = 3; // 00000011 unsigned char b = 3; // 00000011
printf("a & b = %d\\n", a & b); // 1 (00000001) printf("a & b = %d\n", a & b); // 1 (00000001)
printf("a | b = %d\\n", a | b); // 7 (00000111) printf("a | b = %d\n", a | b); // 7 (00000111)
printf("a ^ b = %d\\n", a ^ b); // 6 (00000110) printf("a ^ b = %d\n", a ^ b); // 6 (00000110)
printf("~a = %d\\n", ~a); // 250 (11111010 dalam 8-bit) printf("~a = %d\n", ~a); // 250 (11111010 dalam 8-bit)
return 0; return 0;
} }
@ -213,14 +213,14 @@ int max = (a > b) ? a : b; // Jika a > b maka max = a, jika tidak max = b
### Operator `sizeof` ### Operator `sizeof`
```c ```c
int num; int num;
printf("Ukuran int: %zu byte\\n", sizeof(num)); // Ukuran dalam byte printf("Ukuran int: %zu byte\n", sizeof(num)); // Ukuran dalam byte
``` ```
### Operator Alamat (`&`) dan Pointer (`*`) ### Operator Alamat (`&`) dan Pointer (`*`)
```c ```c
int x = 5; int x = 5;
int *ptr = &x; // ptr menyimpan alamat dari x int *ptr = &x; // ptr menyimpan alamat dari x
printf("Nilai x: %d\\n", *ptr); // Mengakses nilai melalui pointer printf("Nilai x: %d\n", *ptr); // Mengakses nilai melalui pointer
``` ```
## Urutan Prioritas Operator ## Urutan Prioritas Operator
@ -255,11 +255,11 @@ int main() {
// Perkalian dilakukan dulu karena prioritas lebih tinggi // Perkalian dilakukan dulu karena prioritas lebih tinggi
result = a + b * c; // Sama dengan a + (b * c) = 5 + 30 = 35 result = a + b * c; // Sama dengan a + (b * c) = 5 + 30 = 35
printf("a + b * c = %d\\n", result); printf("a + b * c = %d\n", result);
// Gunakan kurung untuk mengganti urutan prioritas // Gunakan kurung untuk mengganti urutan prioritas
result = (a + b) * c; // Sama dengan (a + b) * c = 15 * 3 = 45 result = (a + b) * c; // Sama dengan (a + b) * c = 15 * 3 = 45
printf("(a + b) * c = %d\\n", result); printf("(a + b) * c = %d\n", result);
return 0; return 0;
} }
@ -280,22 +280,22 @@ int main() {
// Menggunakan operator logika dan perbandingan // Menggunakan operator logika dan perbandingan
if (age >= 18 && has_license) { if (age >= 18 && has_license) {
printf("Anda bisa mengemudi\\n"); printf("Anda bisa mengemudi\n");
} }
// Menggunakan operator aritmatika dan penugasan // Menggunakan operator aritmatika dan penugasan
score += bonus; // Menambahkan bonus ke skor score += bonus; // Menambahkan bonus ke skor
printf("Skor akhir: %d\\n", score); printf("Skor akhir: %d\n", score);
// Menggunakan operator conditional // Menggunakan operator conditional
char *status = (score >= 75) ? "Lulus" : "Tidak Lulus"; char *status = (score >= 75) ? "Lulus" : "Tidak Lulus";
printf("Status: %s\\n", status); printf("Status: %s\n", status);
// Menggunakan operator modulo untuk mengecek genap/ganjil // Menggunakan operator modulo untuk mengecek genap/ganjil
if (score % 2 == 0) { if (score % 2 == 0) {
printf("Skor adalah bilangan genap\\n"); printf("Skor adalah bilangan genap\n");
} else { } else {
printf("Skor adalah bilangan ganjil\\n"); printf("Skor adalah bilangan ganjil\n");
} }
return 0; return 0;
@ -381,23 +381,23 @@ int main() {
// Penjumlahan // Penjumlahan
hasil = a + b; hasil = a + b;
printf("Hasil penjumlahan: %d\\n", hasil); printf("Hasil penjumlahan: %d\n", hasil);
// Pengurangan // Pengurangan
hasil = a - b; hasil = a - b;
printf("Hasil pengurangan: %d\\n", hasil); printf("Hasil pengurangan: %d\n", hasil);
// Perkalian // Perkalian
hasil = a * b; hasil = a * b;
printf("Hasil perkalian: %d\\n", hasil); printf("Hasil perkalian: %d\n", hasil);
// Pembagian // Pembagian
hasil = a / b; hasil = a / b;
printf("Hasil pembagian: %d\\n", hasil); printf("Hasil pembagian: %d\n", hasil);
// Modulo // Modulo
hasil = a % b; hasil = a % b;
printf("Sisa hasil bagi: %d\\n", hasil); printf("Sisa hasil bagi: %d\n", hasil);
return 0; return 0;
} }

View File

@ -29,12 +29,12 @@ int main() {
int intarray[5] = {10,20,30,40,50}; int intarray[5] = {10,20,30,40,50};
int i; int i;
for(i = 0; i < 5; i++) for(i = 0; i < 5; i++)
printf("intarray[%d] has value %d - and address @ %x\\n", i, intarray[i], &intarray[i]); printf("intarray[%d] has value %d - and address @ %x\n", i, intarray[i], &intarray[i]);
int *intpointer = &intarray[3]; //point to the 4th element in the array int *intpointer = &intarray[3]; //point to the 4th element in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the address of the 4th element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the address of the 4th element
intpointer++; //now increase the pointer's address so it points to the 5th elemnt in the array intpointer++; //now increase the pointer's address so it points to the 5th elemnt in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the address of the 5th element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the address of the 5th element
return 0; return 0;
} }
``` ```
@ -50,12 +50,12 @@ int main() {
int intarray[5] = {10,20,30,40,50}; int intarray[5] = {10,20,30,40,50};
int i; int i;
for(i = 0; i < 5; i++) for(i = 0; i < 5; i++)
printf("intarray[%d] has value %d - and address @ %x\\n", i, intarray[i], &intarray[i]); printf("intarray[%d] has value %d - and address @ %x\n", i, intarray[i], &intarray[i]);
int *intpointer = &intarray[4]; //point to the 5th element in the array int *intpointer = &intarray[4]; //point to the 5th element in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the address of the 5th element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the address of the 5th element
intpointer--; //now decrease the point's address so it points to the 4th element in the array intpointer--; //now decrease the point's address so it points to the 4th element in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the address of the 4th element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the address of the 4th element
return 0; return 0;
} }
``` ```
@ -71,12 +71,12 @@ int main() {
int intarray[5] = {10,20,30,40,50}; int intarray[5] = {10,20,30,40,50};
int i; int i;
for(i = 0; i < 5; i++) for(i = 0; i < 5; i++)
printf("intarray[%d] has value: %d - and address @ %x\\n", i, intarray[i], &intarray[i]); printf("intarray[%d] has value: %d - and address @ %x\n", i, intarray[i], &intarray[i]);
int *intpointer = &intarray[1]; //point to the 2nd element in the array int *intpointer = &intarray[1]; //point to the 2nd element in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the address of the 2nd element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the address of the 2nd element
intpointer += 2; //now shift by two the point's address so it points to the 4th element in the array intpointer += 2; //now shift by two the point's address so it points to the 4th element in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the addres of the 4th element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the addres of the 4th element
return 0; return 0;
} }
``` ```
@ -94,12 +94,12 @@ int main() {
int intarray[5] = {10,20,30,40,50}; int intarray[5] = {10,20,30,40,50};
int i; int i;
for(i = 0; i < 5; i++) for(i = 0; i < 5; i++)
printf("intarray[%d] has value: %d - and address @ %x\\n", i, intarray[i], &intarray[i]); printf("intarray[%d] has value: %d - and address @ %x\n", i, intarray[i], &intarray[i]);
int *intpointer = &intarray[4]; //point to the 5th element in the array int *intpointer = &intarray[4]; //point to the 5th element in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the address of the 5th element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the address of the 5th element
intpointer -= 2; //now shift by two the point's address so it points to the 3rd element in the array intpointer -= 2; //now shift by two the point's address so it points to the 3rd element in the array
printf("address: %x - has value %d\\n", intpointer, *intpointer); //print the address of the 3rd element printf("address: %x - has value %d\n", intpointer, *intpointer); //print the address of the 3rd element
return 0; return 0;
} }
``` ```
@ -175,9 +175,9 @@ int main() {
// Test code // Test code
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if (parray[i] == &pointer[i]) { if (parray[i] == &pointer[i]) {
printf("Matched!\\n"); printf("Matched!\n");
} else { } else {
printf("Fail\\n"); printf("Fail\n");
} }
} }
return 0; return 0;
@ -200,9 +200,9 @@ int main() {
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
if (parray[i] == &pointer[i]) { if (parray[i] == &pointer[i]) {
printf("Matched!\\n"); printf("Matched!\n");
} else { } else {
printf("Fail\\n"); printf("Fail\n");
} }
} }
return 0; return 0;

View File

@ -62,8 +62,8 @@ int a = 1;
/* definisikan variabel pointer, dan arahkan ke a menggunakan operator & */ /* definisikan variabel pointer, dan arahkan ke a menggunakan operator & */
int * pointer_to_a = &a; int * pointer_to_a = &a;
printf("Nilai a adalah %d\\n", a); printf("Nilai a adalah %d\n", a);
printf("Nilai a juga %d\\n", *pointer_to_a); printf("Nilai a juga %d\n", *pointer_to_a);
``` ```
Perhatikan bahwa kita menggunakan operator `&` untuk menunjuk ke variabel `a`, yang baru saja kita buat. Kita kemudian merujuk ke variabel tersebut menggunakan operator dereferencing. Perhatikan bahwa kita menggunakan operator `&` untuk menunjuk ke variabel `a`, yang baru saja kita buat. Kita kemudian merujuk ke variabel tersebut menggunakan operator dereferencing.
@ -81,7 +81,7 @@ a += 1;
*pointer_to_a += 1; *pointer_to_a += 1;
/* akan mencetak 3 */ /* akan mencetak 3 */
printf("Nilai dari a sekarang %d\\n", a); printf("Nilai dari a sekarang %d\n", a);
``` ```
--- ---
@ -135,7 +135,7 @@ int main() {
/* pengujian kode */ /* pengujian kode */
if (pointer_to_n != &n) return 1; if (pointer_to_n != &n) return 1;
if (*pointer_to_n != 11) return 1; if (*pointer_to_n != 11) return 1;
printf("Done!\\n"); printf("Done!\n");
return 0; return 0;
} }
---END_INITIAL_CODE--- ---END_INITIAL_CODE---
@ -151,7 +151,7 @@ int main() {
/* pengujian kode */ /* pengujian kode */
if (pointer_to_n != &n) return 1; if (pointer_to_n != &n) return 1;
if (*pointer_to_n != 11) return 1; if (*pointer_to_n != 11) return 1;
printf("Done!\\n"); printf("Done!\n");
return 0; return 0;
} }
---END_SOLUTION_CODE--- ---END_SOLUTION_CODE---

View File

@ -101,10 +101,10 @@ int factorial
int main() int main()
{ {
/* kode pengujian */ /* kode pengujian */
printf("0! = %i\\n", factorial(0)); printf("0! = %i\n", factorial(0));
printf("1! = %i\\n", factorial(1)); printf("1! = %i\n", factorial(1));
printf("3! = %i\\n", factorial(3)); printf("3! = %i\n", factorial(3));
printf("5! = %i\\n", factorial(5)); printf("5! = %i\n", factorial(5));
} }
/* definisikan fungsi Anda di sini (jangan lupa untuk deklarasikan) */ /* definisikan fungsi Anda di sini (jangan lupa untuk deklarasikan) */
@ -118,10 +118,10 @@ int factorial
int main() int main()
{ {
/* kode pengujian */ /* kode pengujian */
printf("0! = %i\\n", factorial(0)); printf("0! = %i\n", factorial(0));
printf("1! = %i\\n", factorial(1)); printf("1! = %i\n", factorial(1));
printf("3! = %i\\n", factorial(3)); printf("3! = %i\n", factorial(3));
printf("5! = %i\\n", factorial(5)); printf("5! = %i\n", factorial(5));
} }
int factorial(int number) int factorial(int number)

View File

@ -41,17 +41,17 @@ Kita bisa menggunakan perintah `printf` untuk memformat string bersama dengan st
char * name = "John Smith"; char * name = "John Smith";
int age = 27; int age = 27;
/* mencetak 'John Smith is 27 years old.' */ /* mencetak 'John Smith is 27 years old.' */
printf("%s is %d years old.\\n", name, age); printf("%s is %d years old.\n", name, age);
``` ```
Perhatikan bahwa ketika mencetak string, kita harus menambahkan karakter baris baru (`\\n`) sehingga perintah `printf` berikutnya akan mencetak di baris baru. Perhatikan bahwa ketika mencetak string, kita harus menambahkan karakter baris baru (`\n`) sehingga perintah `printf` berikutnya akan mencetak di baris baru.
## Panjang String ## Panjang String
Fungsi 'strlen' mengembalikan panjang string yang harus dilewatkan sebagai argumen: Fungsi 'strlen' mengembalikan panjang string yang harus dilewatkan sebagai argumen:
```c ```c
char * name = "Nikhil"; char * name = "Nikhil";
printf("%d\\n",strlen(name)); printf("%d\n",strlen(name));
``` ```
## Perbandingan String ## Perbandingan String
@ -60,9 +60,9 @@ Fungsi `strncmp` membandingkan antara dua string, mengembalikan angka 0 jika mer
```c ```c
char * name = "John"; char * name = "John";
if (strncmp(name, "John", 4) == 0) { if (strncmp(name, "John", 4) == 0) {
printf("Hello, John!\\n"); printf("Hello, John!\n");
} else { } else {
printf("You are not John. Go away.\\n"); printf("You are not John. Go away.\n");
} }
``` ```
@ -73,9 +73,9 @@ Fungsi 'strncat' menambahkan n karakter pertama dari string src ke string tujuan
char dest[20]="Hello"; char dest[20]="Hello";
char src[20]="World"; char src[20]="World";
strncat(dest,src,3); strncat(dest,src,3);
printf("%s\\n",dest); printf("%s\n",dest);
strncat(dest,src,20); strncat(dest,src,20);
printf("%s\\n",dest); printf("%s\n",dest);
``` ```
--- ---
@ -134,12 +134,12 @@ int main() {
last_name[0] = 'B'; last_name[0] = 'B';
sprintf(name, "%s %s", first_name, last_name); sprintf(name, "%s %s", first_name, last_name);
if (strncmp(name, "John Boe", 100) == 0) { if (strncmp(name, "John Boe", 100) == 0) {
printf("Done!\\n"); printf("Done!\n");
} }
name[0]='\0'; name[0]='\0';
strncat(name,first_name,4); strncat(name,first_name,4);
strncat(name,last_name,20); strncat(name,last_name,20);
printf("%s\\n",name); printf("%s\n",name);
return 0; return 0;
} }
---END_INITIAL_CODE--- ---END_INITIAL_CODE---
@ -155,12 +155,12 @@ int main() {
last_name[0] = 'B'; last_name[0] = 'B';
sprintf(name, "%s %s", first_name, last_name); sprintf(name, "%s %s", first_name, last_name);
if (strncmp(name, "John Boe", 100) == 0) { if (strncmp(name, "John Boe", 100) == 0) {
printf("Done!\\n"); printf("Done!\n");
} }
name[0]='\0'; name[0]='\0';
strncat(name,first_name,4); strncat(name,first_name,4);
strncat(name,last_name,20); strncat(name,last_name,20);
printf("%s\\n",name); printf("%s\n",name);
return 0; return 0;
} }
---END_SOLUTION_CODE--- ---END_SOLUTION_CODE---

View File

@ -26,12 +26,12 @@ Memungkinkan Anda untuk melihat setiap byte secara individual tanpa casting poin
```c ```c
union intParts parts; union intParts parts;
parts.theInt = 5968145; // angka acak > 255 (1 byte) parts.theInt = 5968145; // angka acak > 255 (1 byte)
printf("The int is %i\\nThe bytes are [%i, %i, %i, %i]\\n", parts.theInt, parts.bytes[0], parts.bytes[1], parts.bytes[2], parts.bytes[3]); printf("The int is %i\nThe bytes are [%i, %i, %i, %i]\n", parts.theInt, parts.bytes[0], parts.bytes[1], parts.bytes[2], parts.bytes[3]);
// vs // vs
int theInt = parts.theInt; int theInt = parts.theInt;
printf("The int is %i\\nThe bytes are [%i, %i, %i, %i]\\n", theInt, *((char*)&theInt+0), *((char*)&theInt+1), *((char*)&theInt+2), *((char*)&theInt+3)); printf("The int is %i\nThe bytes are [%i, %i, %i, %i]\n", theInt, *((char*)&theInt+0), *((char*)&theInt+1), *((char*)&theInt+2), *((char*)&theInt+3));
// atau dengan sintaks array yang bisa sedikit lebih enak terkadang // atau dengan sintaks array yang bisa sedikit lebih enak terkadang
printf("The int is %i\\nThe bytes are [%i, %i, %i, %i]\\n", theInt, ((char*)&theInt)[0], ((char*)&theInt)[1], ((char*)&theInt)[2], ((char*)&theInt)[3]); printf("The int is %i\nThe bytes are [%i, %i, %i, %i]\n", theInt, ((char*)&theInt)[0], ((char*)&theInt)[1], ((char*)&theInt)[2], ((char*)&theInt)[3]);
``` ```
Menggabungkan ini dengan struktur memungkinkan Anda membuat union "bertag" yang bisa digunakan untuk menyimpan beberapa tipe berbeda, satu per satu. Sebagai contoh, Anda mungkin memiliki struktur "number", tetapi Anda tidak ingin menggunakan sesuatu seperti ini: Menggabungkan ini dengan struktur memungkinkan Anda membuat union "bertag" yang bisa digunakan untuk menyimpan beberapa tipe berbeda, satu per satu. Sebagai contoh, Anda mungkin memiliki struktur "number", tetapi Anda tidak ingin menggunakan sesuatu seperti ini:
@ -105,7 +105,7 @@ union Coins change;
for(int i = 0; i < sizeof(change) / sizeof(int); ++i) { for(int i = 0; i < sizeof(change) / sizeof(int); ++i) {
scanf("%i", change.coins + i); // kode BURUK! input selalu mencurigakan! scanf("%i", change.coins + i); // kode BURUK! input selalu mencurigakan!
} }
printf("There are %i quarters, %i dimes, %i nickels, and %i pennies\\n", change.quarter, change.dime, change.nickel, change.penny); printf("There are %i quarters, %i dimes, %i nickels, and %i pennies\n", change.quarter, change.dime, change.nickel, change.penny);
``` ```
--- ---
@ -163,8 +163,8 @@ int main() {
// hanya pergi ke 18 karena 1 byte untuk terminasi 0 dan kita tidak mencetak yang terakhir dalam loop // hanya pergi ke 18 karena 1 byte untuk terminasi 0 dan kita tidak mencetak yang terakhir dalam loop
for(int i = 0; i < 19; ++i) for(int i = 0; i < 19; ++i)
printf("%c, ", intCharacters.chars[i]); printf("%c, ", intCharacters.chars[i]);
printf("%c]\\n", intCharacters.chars[19]); printf("%c]\n", intCharacters.chars[19]);
printf("%s\\n", intCharacters.chars); printf("%s\n", intCharacters.chars);
} }
---END_INITIAL_CODE--- ---END_INITIAL_CODE---
@ -181,7 +181,7 @@ int main() {
// hanya pergi ke 18 karena 1 byte untuk terminasi 0 dan kita tidak mencetak yang terakhir dalam loop // hanya pergi ke 18 karena 1 byte untuk terminasi 0 dan kita tidak mencetak yang terakhir dalam loop
for(int i = 0; i < 19; ++i) for(int i = 0; i < 19; ++i)
printf("%c, ", intCharacters.chars[i]); printf("%c, ", intCharacters.chars[i]);
printf("%c]\\n", intCharacters.chars[19]); printf("%c]\n", intCharacters.chars[19]);
printf("%s\\n", intCharacters.chars); printf("%s\n", intCharacters.chars);
} }
---END_SOLUTION_CODE--- ---END_SOLUTION_CODE---

View File

@ -53,7 +53,7 @@ Jika kondisi dalam perulangan while selalu benar, maka perulangan akan berjalan
```c ```c
while (1) { while (1) {
printf("Loop tak terbatas\\n"); printf("Loop tak terbatas\n");
// Perulangan ini akan berjalan selamanya // Perulangan ini akan berjalan selamanya
} }
``` ```
@ -121,12 +121,12 @@ int main() {
attempts++; attempts++;
if (password == 1234) { if (password == 1234) {
printf("Password benar! Akses diberikan.\\n"); printf("Password benar! Akses diberikan.\n");
break; break;
} else if (attempts < MAX_ATTEMPTS) { } else if (attempts < MAX_ATTEMPTS) {
printf("Password salah! Coba lagi (%d kesempatan tersisa): ", MAX_ATTEMPTS - attempts); printf("Password salah! Coba lagi (%d kesempatan tersisa): ", MAX_ATTEMPTS - attempts);
} else { } else {
printf("Terlalu banyak percobaan salah. Akses ditolak.\\n"); printf("Terlalu banyak percobaan salah. Akses ditolak.\n");
} }
} }
@ -197,12 +197,12 @@ int i = 10;
// While loop - tidak akan mengeksekusi blok kode // While loop - tidak akan mengeksekusi blok kode
while (i < 5) { while (i < 5) {
printf("Ini tidak akan dicetak\\n"); printf("Ini tidak akan dicetak\n");
} }
// Do-while loop - akan mengeksekusi blok kode sekali // Do-while loop - akan mengeksekusi blok kode sekali
do { do {
printf("Ini akan dicetak sekali\\n"); printf("Ini akan dicetak sekali\n");
} while (i < 5); } while (i < 5);
``` ```
@ -225,12 +225,12 @@ int main() {
attempts++; attempts++;
if (password == 1234) { if (password == 1234) {
printf("Password benar! Akses diberikan.\\n"); printf("Password benar! Akses diberikan.\n");
break; break;
} else if (attempts < MAX_ATTEMPTS) { } else if (attempts < MAX_ATTEMPTS) {
printf("Password salah! Coba lagi (%d kesempatan tersisa): ", MAX_ATTEMPTS - attempts); printf("Password salah! Coba lagi (%d kesempatan tersisa): ", MAX_ATTEMPTS - attempts);
} else { } else {
printf("Terlalu banyak percobaan salah. Akses ditolak.\\n"); printf("Terlalu banyak percobaan salah. Akses ditolak.\n");
} }
} }
@ -249,25 +249,25 @@ int main() {
int choice; int choice;
do { do {
printf("\\nMenu:\\n"); printf("\nMenu:\n");
printf("1. Tampilkan pesan\\n"); printf("1. Tampilkan pesan\n");
printf("2. Hitung angka\\n"); printf("2. Hitung angka\n");
printf("3. Keluar\\n"); printf("3. Keluar\n");
printf("Pilih opsi (1-3): "); printf("Pilih opsi (1-3): ");
scanf("%d", &choice); scanf("%d", &choice);
switch (choice) { switch (choice) {
case 1: case 1:
printf("Anda memilih untuk menampilkan pesan.\\n"); printf("Anda memilih untuk menampilkan pesan.\n");
break; break;
case 2: case 2:
printf("Anda memilih untuk menghitung angka.\\n"); printf("Anda memilih untuk menghitung angka.\n");
break; break;
case 3: case 3:
printf("Keluar dari program.\\n"); printf("Keluar dari program.\n");
break; break;
default: default:
printf("Opsi tidak valid. Silakan coba lagi.\\n"); printf("Opsi tidak valid. Silakan coba lagi.\n");
} }
} while (choice != 3); } while (choice != 3);
@ -343,7 +343,7 @@ int main() {
number++; // Tambahkan number setiap iterasi number++; // Tambahkan number setiap iterasi
} }
printf("\\n"); printf("\n");
return 0; return 0;
} }
---END_SOLUTION_CODE--- ---END_SOLUTION_CODE---

2
elemes

@ -1 +1 @@
Subproject commit 2505cd0977abbd7194ab44dfe7e75e362a9d889e Subproject commit a124cf5e6d7ae07d7758a35172afa3e15dd20f9c