
A. Menghitung Luas Segitiga
- Praktik koding bahasa pertama ini membahas pembuatan aplikasi cara menghitung luas segitiga. Materi ini berhubungan dengan logika matematika dan penggunaan operator aritmatika.
- Contoh kasus
- Buatlah kode program dalam bahasa C untuk menghitung luas segitiga.
- Kode program membutuhkan dua inputan berupa alas dan tinggi segitiga,
- kemudian menampilkan output luas segitiga.
Tampilan yang diinginkan

Sebelum membuat aplikasi terlebih dahulu perlu dipahami
- Langkah menggunakan aplikasi ini adalah
- Memasukkan Input alas segitiga dan input tinggi segitiga
- Luas segitiga akan terisi secara otomatis oleh aplikasi
- Pemahaman logika matematika dan penggunaan operator aritmatika
- untuk menghitung luas segitiga menggunakan Rumus
Luas segitiga = 0,5 * alas * tinggi
- untuk menghitung luas segitiga menggunakan Rumus
- Komponen Bahasa C yang digunakan
- Tipe Data Float (Tipe data bilangan riil untuk menampung angka pecahan)
- Perintah fungsi scanf untuk membaca masukan/inputan dari pengguna
- Perintah fungsi printf untuk mencetak tipe data
Coding aplikasi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//Praktik informatika membuat Aplikasi menghitung Luas Segitiga #include <stdio.h> int main(){ printf("## Aplikasi Menghitung Luas Segitiga ## \n"); printf("======================================= \n\n"); float a, t, luas; printf("Input alas segitiga: "); scanf("%f",&a); printf("Input tinggi segitiga: "); scanf("%f",&t); luas = 0.5 * a * t; printf("Luas segitiga = %.2f \n",luas); return 0; } |
Keterangan
- Di baris 8 terdapat deklarasi variabel a, t, dan luas bertipe float. Disini menggunakan tipe data float agar nilai input alas dan tinggi segitiga bisa menampung nilai pecahan.
- Kemudian user diminta menginput nilai alas segitiga dengan perintah
scanf("%f",&a)
di baris 11, dan nilai tinggi segitiga dengan perintahscanf("%f",&t)
di baris 14. - Kedua nilai ini dipakai untuk menghitung luas segitiga dengan perintah luas = 0.5 * a * t.
- Terakhir, luas segitiga ditampilkan di baris 18.
Proses perhitungan luas segitiga dapat juga dibuat langsung ke dalam perintah printf, tidak harus ditampung dulu ke variabel luas terlebih dahulu. Berikut contoh yang dimaksud:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//Praktik informatika membuat Aplikasi menghitung Luas Segitiga #include <stdio.h> float hitungLuasSegitiga(float alas, float tinggi) { return 0.5 * alas * tinggi ; } int main(){ printf("## Program Bahasa C Menghitung Luas Segitiga ## \n"); printf("=============================================== \n\n"); float a, t, luas; printf("Input alas segitiga: "); scanf("%f",&a); printf("Input tinggi segitiga: "); scanf("%f",&t); printf("Luas segitiga = %.2f \n", hitungLuasSegitiga(a,t)); return 0; } |
Keterangan
- Di awal kode program, tepatnya pada baris 4-6, didefinisikan fungsi hitungLuasSegitiga(). Fungsi ini menerima 2 argument yang disimpan ke dalam parameter alas dan tinggi.
- Fungsi hitungLuasSegitiga() hanya berisi 1 perintah yang langsung mengembalikan hasil perhitungan 0.5 * alas * tinggi di baris 5.
- Proses pemanggilan fungsi dilakukan dari dalam perintah printf di baris 20. Nilai variabel a dan t yang diinput oleh user, dilewatkan sebagai parameter menjadi hitungLuasSegitiga(a,t).
B. Program Ramalan Zodiak
- Praktik koding kedua ini membahas pembuatan aplikasi Ramalan Zodiak Berdasarkan Tanggal Lahir Materi ini berhubungan dengan logika matematika dan penggunaan operator aritmatika.
- Contoh kasus
- Buatlah kode program dalam bahasa C untuk mencari nama zodiak dari inputan tanggal lahir
- Kode program membutuhkan tiga inputan berupa tanggal, bulan, serta tahun.
- kemudian menampilkan output nama zodiak dan Ramalannya.
- Tampilan yang diinginkan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
//Praktik informatika membuat Aplikasi Zodiak #include <stdio.h> int main() { int tanggal, bulan,tahun; printf(" ======================================== \n"); printf(" Ramalan Zodiak Berdasarkan Tanggal Lahir \n"); printf(" ======================================== \n\n"); printf("Tanggal Lahir: "); scanf("%d", &tanggal); printf("Bulan Lahir: "); scanf("%d", &bulan); printf("Tahun Lahir: "); scanf("%d", &tahun); if (bulan >= 1 && bulan <= 12) { if ((bulan == 3 && tanggal >= 21) || (bulan == 4 && tanggal <= 19)) { printf("Zodiak Anda: Aries\n\n"); printf("Seorang Aries bersifat Impulsif dalam belanja, penuh semangat, dan berpendirian kuat.\n"); } else if ((bulan == 4 && tanggal >= 20) || (bulan == 5 && tanggal <= 20)) { printf("Zodiak Anda: Taurus\n\n"); printf("Seorang Taurus bersifat Pentingkan kualitas, bisa diandalkan, dan teguh pendiria.\n"); } else if ((bulan == 5 && tanggal >= 21) || (bulan == 6 && tanggal <= 20)) { printf("Zodiak Anda: Gemini\n\n"); printf("Seorang Gemini bersifat Pengulas, suka bergaul, dan memiliki rasa penasaran yang tinggi.\n"); } else if ((bulan == 6 && tanggal >= 21) || (bulan == 7 && tanggal <= 22)) { printf("Zodiak Anda: Cancer\n\n"); printf("Seorang Cancer bersifat Keibuan, penuh kasih sayang, dan intuitif.\n"); } else if ((bulan == 7 && tanggal >= 23) || (bulan == 8 && tanggal <= 22)) { printf("Zodiak Anda: Leo\n\n"); printf("Seorang Leo bersifat Pusat perhatian, penuh percaya diri, dan memiliki ambisi tinggi.\n"); } else if ((bulan == 8 && tanggal >= 23) || (bulan == 9 && tanggal <= 22)) { printf("Zodiak Anda: Virgo\n\n"); printf("Seorang Virgo bersifat Perfeksionis, teliti, dan berjiwa analitis.\n"); } else if ((bulan == 9 && tanggal >= 23) || (bulan == 10 && tanggal <= 22)) { printf("Zodiak Anda: Libra\n\n"); printf("Seorang Libra bersifat Penyuka estetika, cerdas, dan seimbang.\n"); } else if ((bulan == 10 && tanggal >= 23) || (bulan == 11 && tanggal <= 21)) { printf("Zodiak Anda: Scorpio\n\n"); printf("Seorang Scorpio bersifat Setia, misterius, dan penuh energi.\n"); } else if ((bulan == 11 && tanggal >= 22) || (bulan == 12 && tanggal <= 21)) { printf("Zodiak Anda: Sagitarius\n\n"); printf("Seorang Sagitarius bersifat Suka menyenangkan orang lain, tetapi kadang-kadang meremehkan diri sendiri.\n"); } else if ((bulan == 12 && tanggal >= 22) || (bulan == 1 && tanggal <= 19)) { printf("Zodiak Anda: Capricorn\n\n"); printf("Seorang Capricorn bersifat Ambisius, pekerja keras, dan bertanggung jawab.\n"); } else if ((bulan == 1 && tanggal >= 20) || (bulan == 2 && tanggal <= 18)) { printf("Zodiak Anda: Aquarius\n\n"); printf("Seorang Aquarius bersifat Cerdas, suka tantangan, dan tidak suka ambisi.\n"); } else { printf("Zodiak Anda: Pisces\n\n"); printf("Seorang Pisces bersifat Halus, sulit dipahami, dan berjiwa artistik.\n"); } scanf("%d", &tahun); } else { printf("Bulan tidak valid.\n"); } return 0; } |
Penjelasan:
#include <stdio.h>
: Menghubungkan library untuk fungsi input/output standar (sepertiprintf
danscanf
).int main()
: Fungsi utama program.int tanggal, bulan;
: Deklarasi variabel untuk menyimpan tanggal dan bulan.printf(...)
: Menampilkan pesan kepada pengguna untuk memasukkan tanggal lahir.scanf("%d %d", &tanggal, &bulan);
: Membaca tanggal dan bulan yang dimasukkan oleh pengguna.if (bulan >= 1 && bulan <= 12)
: Memeriksa apakah bulan yang dimasukkan valid (antara 1 dan 12).if-else if
: Memeriksa rentang tanggal untuk setiap zodiak.printf(...)
: Menampilkan ramalan zodiak yang sesuai.else
: Menampilkan pesan jika bulan tidak valid.return 0;
: Mengembalikan nilai 0, yang menandakan program berjalan dengan sukses.
C. Program Ramalan Zodiak Mengakhiri dan Melanjutkan Bermain
- Praktik koding ketiga ini membahas pembuatan aplikasi Ramalan Zodiak Berdasarkan Tanggal Lahir dilanjutkan membuat ramalan dan mengulang atau keluar dari aplikasi. Materi ini berhubungan dengan logika matematika dan penggunaan operator aritmatika.
- Contoh kasus
- Buatlah kode program dalam bahasa C untuk mencari nama zodiak dari inputan tanggal lahir
- Kode program membutuhkan empat inputan berupa tanggal, bulan, tahun, Menu Pilihan
- kemudian menampilkan output nama zodiak beserta Ramalannya, Pengulangan, Exit
- Tampilan yang diinginkan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
//Praktik informatika membuat Aplikasi Zodiak beserta Ramalannya #include <stdio.h> int main() { awal: //*************************** Ramalan Zodiak *********************************// int tanggal,bulan,tahun; printf(" ======================================== \n"); printf(" Ramalan Zodiak Berdasarkan Tanggal Lahir \n"); printf(" ======================================== \n\n"); printf("Tanggal Lahir: "); scanf("%d", &tanggal); printf("Bulan Lahir: "); scanf("%d", &bulan); printf("Tahun Lahir: "); scanf("%d", &tahun); if (bulan >= 1 && bulan <= 12) { if ((bulan == 3 && tanggal >= 21) || (bulan == 4 && tanggal <= 19)) { printf("Zodiak Anda: Aries\n\n"); printf("Seorang Aries bersifat Impulsif dalam belanja, penuh semangat, dan berpendirian kuat.\n"); } else if ((bulan == 4 && tanggal >= 20) || (bulan == 5 && tanggal <= 20)) { printf("Zodiak Anda: Taurus\n\n"); printf("Seorang Taurus bersifat Pentingkan kualitas, bisa diandalkan, dan teguh pendiria.\n"); } else if ((bulan == 5 && tanggal >= 21) || (bulan == 6 && tanggal <= 20)) { printf("Zodiak Anda: Gemini\n\n"); printf("Seorang Gemini bersifat Pengulas, suka bergaul, dan memiliki rasa penasaran yang tinggi.\n"); } else if ((bulan == 6 && tanggal >= 21) || (bulan == 7 && tanggal <= 22)) { printf("Zodiak Anda: Cancer\n\n"); printf("Seorang Cancer bersifat Keibuan, penuh kasih sayang, dan intuitif.\n"); } else if ((bulan == 7 && tanggal >= 23) || (bulan == 8 && tanggal <= 22)) { printf("Zodiak Anda: Leo\n\n"); printf("Seorang Leo bersifat Pusat perhatian, penuh percaya diri, dan memiliki ambisi tinggi.\n"); } else if ((bulan == 8 && tanggal >= 23) || (bulan == 9 && tanggal <= 22)) { printf("Zodiak Anda: Virgo\n\n"); printf("Seorang Virgo bersifat Perfeksionis, teliti, dan berjiwa analitis.\n"); } else if ((bulan == 9 && tanggal >= 23) || (bulan == 10 && tanggal <= 22)) { printf("Zodiak Anda: Libra\n\n"); printf("Seorang Libra bersifat Penyuka estetika, cerdas, dan seimbang.\n"); } else if ((bulan == 10 && tanggal >= 23) || (bulan == 11 && tanggal <= 21)) { printf("Zodiak Anda: Scorpio\n\n"); printf("Seorang Scorpio bersifat Setia, misterius, dan penuh energi.\n"); } else if ((bulan == 11 && tanggal >= 22) || (bulan == 12 && tanggal <= 21)) { printf("Zodiak Anda: Sagitarius\n\n"); printf("Seorang Sagitarius bersifat Suka menyenangkan orang lain, tetapi kadang-kadang meremehkan diri sendiri.\n"); } else if ((bulan == 12 && tanggal >= 22) || (bulan == 1 && tanggal <= 19)) { printf("Zodiak Anda: Capricorn\n\n"); printf("Seorang Capricorn bersifat Ambisius, pekerja keras, dan bertanggung jawab.\n"); } else if ((bulan == 1 && tanggal >= 20) || (bulan == 2 && tanggal <= 18)) { printf("Zodiak Anda: Aquarius\n\n"); printf("Seorang Aquarius bersifat Cerdas, suka tantangan, dan tidak suka ambisi.\n"); } else { printf("Zodiak Anda: Pisces\n\n"); printf("Seorang Pisces bersifat Halus, sulit dipahami, dan berjiwa artistik.\n"); } } else { printf("Bulan tidak valid.\n"); } //*************************** Ulang Ramalan atau Keluar Program *********************************// int pilihan; int ulang = 1; // Flag untuk menentukan apakah program harus ulang berjalan while (ulang) { // Tampilkan menu printf("\n\n ======================================== \n\n"); printf("Menu Pilihan Ramalan:\n"); printf("1. Lanjut Meramal\n"); printf("2. Keluar dari Ramalan\n"); printf("Pilihan Anda: "); scanf("%d", &pilihan); printf("\n\n"); switch (pilihan) { case 1: goto awal; break; case 2: printf("Program selesai\n"); ulang = 0; // Ubah flag untuk menghentikan perulangan break; default: printf("Pilihan tidak valid\n"); } } return 0; } |
Keterangan
#include <stdio.h>
: Menghubungkan library untuk fungsi input/output standar (sepertiprintf
danscanf
).int main()
: Fungsi utama program.int tanggal, bulan;
: Deklarasi variabel untuk menyimpan tanggal dan bulan.printf(...)
: Menampilkan pesan kepada pengguna untuk memasukkan tanggal lahir.scanf("%d %d", &tanggal, &bulan);
: Membaca tanggal dan bulan yang dimasukkan oleh pengguna.if (bulan >= 1 && bulan <= 12)
: Memeriksa apakah bulan yang dimasukkan valid (antara 1 dan 12).if-else if
: Memeriksa rentang tanggal untuk setiap zodiak.printf(...)
: Menampilkan ramalan zodiak yang sesuai.else
: Menampilkan pesan jika bulan tidak valid.return 0;
: Mengembalikan nilai 0, yang menandakan program berjalan dengan sukses.- while digunakan untuk melakukan perulangan blok kode selama kondisi yang diberikan masih bernilai true (benar). Struktur ini mengevaluasi kondisi sebelum menjalankan kode di dalam perulangan, sehingga perulangan dimulai hanya jika kondisi awal bernilai benar
- Switch digunakan untuk melakukan percabangan (decision-making) berdasarkan nilai suatu variabel atau ekspresi. Ini merupakan alternatif dari struktur if-else if-else yang lebih efisien dan terstruktur ketika terdapat banyak kondisi yang perlu diperiksa berdasarkan nilai variabel yang sama.
D. Program Game Quiz Soal Pilihan Ganda
- Praktik koding keempat ini membahas pembuatan Program Quiz Soal Pilihan Ganda.
- Kata kunci yang digunakan: iclude yang digunakan: stdio.h, stdlib.h, time.h, string.h, define NUM_QUESTIONS 5, typedef struct, char, strcpy, printf,
- Contoh kasus
- Buatlah kode program dalam bahasa C untuk Game Quiz Soal Pilihan Ganda
- Ketika soal tampil jawab dengan pilihan optin A, B, C, D
- Scor Nilai jawaban yang benar akan muncul setelah soal terjawab
- Tampilan yang diinginkan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
#include <stdio.h> #include <string.h> #define jumlah_pertanyaan 5 typedef struct { char soal[100]; char jawaban[4][50]; int jawaban_benar; // 0, 1, 2, or 3 for option A, B, C, or D } Pertanyaan; int main() { Pertanyaan soal[jumlah_pertanyaan]; int score = 0; int jawaban_peserta; int stop; // Contoh soal (dapat diganti sesuai kebutuhan) strcpy(soal[0].soal, "Apa ibukota Indonesia?"); strcpy(soal[0].jawaban[0], "Jakarta"); strcpy(soal[0].jawaban[1], "Surabaya"); strcpy(soal[0].jawaban[2], "Yogyakarta"); strcpy(soal[0].jawaban[3], "Bandung"); soal[0].jawaban_benar = 0; strcpy(soal[1].soal, "Siapa yang menciptakan bahasa C?"); strcpy(soal[1].jawaban[0], "Dennis Ritchie"); strcpy(soal[1].jawaban[1], "Bjarne Stroustrup"); strcpy(soal[1].jawaban[2], "Alan Turing"); strcpy(soal[1].jawaban[3], "Guido van Rossum"); soal[1].jawaban_benar = 0; strcpy(soal[2].soal, "Apa warna langit pada siang hari?"); strcpy(soal[2].jawaban[0], "Biru"); strcpy(soal[2].jawaban[1], "Hijau"); strcpy(soal[2].jawaban[2], "Merah"); strcpy(soal[2].jawaban[3], "Kuning"); soal[2].jawaban_benar = 0; strcpy(soal[3].soal, "Berapakah 2 + 2?"); strcpy(soal[3].jawaban[0], "3"); strcpy(soal[3].jawaban[1], "4"); strcpy(soal[3].jawaban[2], "5"); strcpy(soal[3].jawaban[3], "6"); soal[3].jawaban_benar = 1; strcpy(soal[4].soal, "Siapakah presiden pertama Indonesia?"); strcpy(soal[4].jawaban[0], "Suharto"); strcpy(soal[4].jawaban[1], "Megawati Sukarnoputri"); strcpy(soal[4].jawaban[2], "Soekarno"); strcpy(soal[4].jawaban[3], "BJ Habibie"); soal[4].jawaban_benar = 2; // Start the quiz printf("Selamat datang di Quiz Pilihan Ganda!\n"); printf("----------------------------\n"); for (int i = 0; i < jumlah_pertanyaan; i++) { printf("Soal %d: %s\n", i + 1, soal[i].soal); for (int j = 0; j < 4; j++) { printf("%c. %s\n", 'A' + j, soal[i].jawaban[j]); } printf("Pilih jawaban (A, B, C, atau D): "); char input; scanf(" %c", &input); // Convert input to 0-based index jawaban_peserta = input - 'A'; if (jawaban_peserta >= 0 && jawaban_peserta <= 3) { if (jawaban_peserta == soal[i].jawaban_benar) { printf("Jawaban benar!\n"); score++; } else { printf("Jawaban salah. Jawaban yang benar adalah %c.\n", 'A' + soal[i].jawaban_benar); } } else { printf("Input tidak valid. Silakan pilih A, B, C, atau D.\n"); } printf("----------------------------\n"); } printf("Quiz selesai!\n"); printf("Skor Anda: %d/%d\n", score, jumlah_pertanyaan); scanf("%d", &stop);//agar setelah dipublish tidak exit sendiri return 0; } |
Penjelasan
- include <stdio.h>
- berisi deklarasi fungsi-fungsi standar untuk input dan output,
- Fungsi-fungsi yang ada di stdio.h:
- printf(): Untuk menampilkan output ke layar dengan format tertentu.
- scanf(): Untuk membaca input dari keyboard dan menyimpannya ke dalam variabel.
- Fungsi-fungsi lainnya yang berkaitan dengan penanganan file, seperti fopen(), fclose(), fprint(), fprintf(), dll.
- include <string.h>
- berfungsi untuk mendeklarasikan fungsi-fungsi yang berkaitan dengan manipulasi string (array karakter) seperti membandingkan, menyalin, menggabungkan, dan menghitung panjang string
- File string.h menyediakan berbagai fungsi untuk bekerja dengan string, seperti:
- strlen(): Menghitung panjang string (jumlah karakter sebelum karakter null \0).
- strcpy(): Menyalin satu string ke string lain.
- strcmp(): Membandingkan dua string.
- strcat(): Menggabungkan (concatenating) dua string.
- Dan fungsi-fungsi lain untuk manipulasi string seperti strncpy(), strncat(), strncmp(), dan lain-lain.
- kata kunci #define digunakan untuk membuat makro, yang berfungsi seperti pengganti teks sederhana. Makro menggantikan nilai atau ekspresi tertentu dengan string teks tertentu di seluruh kode sebelum program dikompilasi. Ini biasanya digunakan untuk membuat konstanta, melakukan penggantian sederhana, atau mendefinisikan fungsi seperti makro
- typedef digunakan untuk membuat alias atau nama lain untuk tipe data yang sudah ada
- struct berfungsi untuk pengembang mengelompokkan beberapa variabel menjadi satu kesatuan
- Dengan struct, kita bisa mendefinisikan tipe data kustom yang sesuai dengan kebutuhan program kita. Misalnya, kita bisa membuat struct Mahasiswa yang memiliki anggota nama (string), nim (integer), dan ipk (float).
- char adalah tipe data yang digunakan untuk menyimpan karakter tunggal (seperti huruf, angka, atau simbol)
- int adalah kata kunci yang digunakan untuk mendefinisikan tipe data integer.
- int digunakan untuk menyimpan bilangan bulat, baik positif maupun negatif, dan merupakan tipe data yang paling umum digunakan untuk menyimpan nilai-nilai numerik
- strcpy dalam bahasa C digunakan untuk menyalin sebuah string dari satu lokasi memori ke lokasi memori lain.
- printf digunakan untuk menampilkan output ke layar
- scanf digunakan untuk membaca input standar (biasanya keyboard) dan menuliskannya ke variabel yang ditentukan dalam program
E. Aplikasi Game Tic Toc Toe Dengan Dua Pemain
- Praktik koding kelima ini membahas pembuatan Aplikasi Game Tic Toc Tow
- Contoh kasus
- Buatlah kode program dalam bahasa C untuk Aplikasi Game Tic Toc Toe
- Permainan dilakukan oleh dua pemain (Pemain 1 dan Pemain 2)
- Dinyatakan menjadi Pemenang jika dapat membuat garis lurus
- Tampilan yang diinginkan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
//aplikasi Tic Toc Tue dengan dua pemain #include <stdio.h> #include <stdlib.h> int main() { int giliran,pemain,kotak,baris,kolom,menang; char ulang='1'; while(ulang=='1'){ menang=0; char b[3][3]={{'1','2','3'},{'4','5','6'},{'7','8','9'}}; for(giliran=0; giliran<9 && menang==0; giliran++){ system("cls"); printf(" >>> Pemain %d <<<\n",giliran+1); printf("\n %c | %c | %c \n",b[0][0],b[0][1],b[0][2]); printf(" ---+---+---\n"); printf(" %c | %c | %c \n",b[1][0],b[1][1],b[1][2]); printf(" ---+---+---\n"); printf(" %c | %c | %c \n",b[2][0],b[2][1],b[2][2]); pemain=giliran%2+1; printf("\n*Pemain %d",pemain); do{ printf("\n Masukkan Kotak Yang Anda Pilih : "); scanf("%d",&kotak); if(kotak>=1 && kotak<=3){ baris=0; kolom=kotak-1; }else if(kotak>=4 && kotak<=6){ baris=1; kolom=kotak-4; }else{ baris=2; kolom=kotak-7; } }while(kotak<1 || kotak>9 || b[baris][kolom]=='X' || b[baris][kolom]=='O'); if(pemain==1){ b[baris][kolom]='X'; }else{ b[baris][kolom]='O'; } for(baris=0; baris<3; baris++){ if(b[baris][0]==b[baris][1] && b[baris][1]==b[baris][2]){ menang=pemain; } } for(kolom=0; kolom<3; kolom++){ if(b[0][kolom]==b[1][kolom] && b[1][kolom]==b[2][kolom]){ menang=pemain; } } if(b[0][0]==b[1][1] && b[1][1]==b[2][2]){ menang=pemain; } else if(b[0][2]==b[1][1] && b[1][1]==b[2][0]){ menang=pemain; } } system("cls"); printf(" ==Selesai==\n"); printf("\n %c | %c | %c \n",b[0][0],b[0][1],b[0][2]); printf(" ---+---+---\n"); printf(" %c | %c | %c \n",b[1][0],b[1][1],b[1][2]); printf(" ---+---+---\n"); printf(" %c | %c | %c \n",b[2][0],b[2][1],b[2][2]); if(menang!=0){ printf("\n =Pemain %d!=\n >>>> Selamat Anda Menang <<<<\n",menang); }else{ printf("\n >>> Permainan Seri! <<<\n"); } printf("\n Ketik 1 Untuk Main Ulang : "); scanf(" %c",&ulang); } return 0; } |
Penjelasan
1. start
2. deklarasi variabel :
int giliran,
int pemain,
int kotak,
int baris,
int kolom,
int kondisi menang,
char b[][] = sebagai papan permainan
3. inisialisasi variabel :
char ulang = ‘1’
4. jika ulang==’1′ benar lanjut ke langkah 5, jika salah lanjut ke langkah 44
5. inisialisasi variable :
int win = 0
char b[3][3] = { {‘1′,’2′,’3’}, {‘4′,’5′,’6’}, {‘7′,’8′,’9’} }
int gil = 0
6. jika gil<9 && win==0 benar lanjut ke langkah 7, jika salah lanjut ke langkah 39
7. tampilkan nilai variabel gil+1
8. tampilkan nilai variabel b dengan semua indeks
9. hitung nilai variabel p, p=gil%2+1
10. tampilkan nilai variabel p
11. masukkan nilai dengan variabel kot
12. jika kot>=1 && kot<=3 benar lanjut ke langkah 13, jika salah lanjut ke langkah 15
13. inisialisasi variabel bar=0
14. hitung variabel kol, kol=kot-1, lanjut ke langkah 20
15. jika kot>=4 && kot<=6 benar lanjut ke langkah 16, jika salah lanjut ke langkah 17
16. inisialisasi variabel bar=1
17. hitung variabel kol, kol=kot-4, lanjut ke langkah 20
18. inisialisasi variabel bar=2
19. hitung variabel kol, kol=kot-7
20. jika kot<1 || kot>9 || b[bar][kol]==’X’ || b[bar][kol]==’O’ benar kembali ke langkah 11, jika salah lanjut ke langkah 21
21. jika p==1 benar lanjut ke langkah 22, jika salah lanjut ke langkah 23
22. ganti nilai variabel b dengan indeks bar dan kol, b[bar][kol]=’X’, lanjut ke langkah 24
23. ganti nilai variabel b dengan indeks bar dan kol, b[bar][kol]=’O’
24. inisialisasi variabel bar=0
25. jika bar<3 benar lanjut ke langkah 26, jika salah lanjut ke langkah 29
26. jika b[bar][0]==b[bar][1] && b[bar][1]==b[bar][2] benar lanjut ke langkah 27, jika salah lanjut ke langkah 28
27. ganti nilai variabel win, win=p
28. tambah nilai variabel bar, bar++, kembali ke langkah 25
29. inisialisasi variabel kol=0
30. jika kol<3 benar lanjut ke langkah 31, jika salah lanjut ke langkah 34
31. jika b[0][kol]==b[1][kol] && b[1][kol]==b[2][kol] benar lanjut ke langkah 32, jika salah lanjut ke langkah 33
32. ganti nilai variabel win, win=p
33. tambah nilai variabel kol, kol++, kembali ke langkah 30
34. jika b[0][0]==b[1][1] && b[1][1]==b[2][2] benar lanjut ke langkah 35, jika salah lanjut ke langkah 36
35. ganti nilai variabel win, win=p
36. jika b[0][2]==b[1][1] && b[1][1]==b[2][0] benar lanjut ke langkah 37, jika salah lanjut ke langkah 38
37. ganti nilai variabel win, win=p
38. tambah nilai variabel gil, gil++, kembali ke langkah 6
39. tampilkan nilai variabel b dengan semua index
40. jika win!=0 benar lanjut ke langkah 41, jika salah lanjut ke langakah 42
41. tampilkan nilai variabel win, lanjut ke langkah 43
42. tampilkan “seri”
43. masukkan nilai dengan variabel ulang kembali ke langkah 4
44. end
F. Menentukan Nilai Rata-rata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#include <stdio.h> int main(void) { printf("================================================= \n\n"); printf("## Mencari Nilai Rata-rata dari Beberapa angka ##\n"); printf("## Disusun Oleh: www.syaiflash.com ##\n"); printf("================================================= \n\n"); int input[100], arr_count, i; float total, rata2; printf("Banyak Angka yang akan dihitung: "); scanf("%d",&arr_count); printf("Masukkan %d angka (dipisah dengan enter): \n",arr_count); // simpan setiap angka yang diinput ke dalam array for(i = 0; i < arr_count; i++){ scanf("%d",&input[i]); } printf("\n"); // cari total semua element array total = 0; for(i = 0; i < arr_count; i++){ total = total+input[i]; } // hitung nilai rata-rata rata2 = (total/arr_count); printf("Nilai rata-rata dari %d dari angka yang dimasukkan adalah: %.2f \n", arr_count, rata2); return 0; } |
G. Menentukan Bilangan Prima
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include <stdio.h> int main(void) { printf("## Program Bahasa C Angka Prima ## \n"); printf("==================================== \n\n"); int n,i,angka_prima,pembagi; angka_prima = 1; printf("Input satu angka bulat: "); scanf("%i",&n); // 0 dan 1 bukan angka prima if (n == 0 || n == 1) { angka_prima = 0; } else { for (i = 2; i <= n / 2; i++) { if (n % i == 0) { pembagi = i; angka_prima = 0; break; } } } printf("\n"); if (angka_prima == 1) printf("%i adalah angka prima \n",n); else printf("%i bukan angka prima, karena bisa dibagi %i \n",n, pembagi); return 0; } |
Leave a Reply