Program Tebak Angka dalam Bahasa C

Halo kawan-kawan semua, pada tulisan saya sebelumnya saya telah menjelaskan mengenai pembuatan program Menghitung Bangun Datar 2D dan 3D dalam bahasa C, berikutnya saya akan membagikan cara membuat program tebak angka. Tulisan ini saya buat untuk memenuhi Tugas Pribadi saya di kuliah. Oh iya sebelumnya saya ingin mencantumkan data diri saya sebagai syarat dalam tugas ini.

Nama : Hugo Irwanto
NIM : 2001671875
Dosen Pembimbing : YANTO SETIAWAN, S.Kom., M.T.I.

Binus University

  • Disini sebelum kita mulai membuat program dengan code, kita mulai dengan menentukan algoritma dari program terlebih dahulu :
    1. Mulai
    2. Deklarasikan range angka tebakan
    3. Masukkan tebakan angka anda dari 1-50
    4. Jika angka inputan = random seed komputer, maka jawaban benar.
    5. Jika angka inputan < random seed komputer, maka jawaban terlalu kecil.
    6. Jika angka inputan > random seed komputer, maka jawaban terlalu besar.
    7. if (countNum == 5), maksimal jawaban adalah 5 kali. Jika sudah 5 kali, jawaban akan keluar.
    8. Opsi pilihan main lagi.
    9. Jika Ya maka main lagi.
    10. Jika Tidak maka stop.
    11. Selesai
  • Berikutnya dari algoritma yang ada kita bisa membuat flowchart seperti ini :

flowchart_tebakangka

  • Sekarang kita bisa membuat code dengan flowchart yang ada, disini saya akan memberikan sorce code untuk program ini. Sebagai berikut :
/* Program Tebak Kata
    by : Hugo Irwanto
*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define BATAS_BAWAH 0 //set batas bawah
#define BATAS_ATAS 50 //set batas atas

void tebakAngka(void);
void mainLagi(void);

int main()
{
    tebakAngka();
    mainLagi();

    printf("\n");
    system("pause");

    return 0;
}

void tebakAngka(void)
{
    int magic_no=0, tebakan=0, flag = 1, countNum =0;

    srand(time(NULL));    // random seed oleh komputer
    magic_no = rand()%50 +1;  // tebak angka dari 1 - 50

    printf("\t\t\tBina Nusantara University\n\n"); //Nama Universitas
    printf("==========================================\n");
    printf("Nama : Hugo Irwanto \nNIM  : 2001671875\n"); //Identitas
    printf("==========================================\n");
    printf("Program Tebak Angka \n \n"); //Nama Program
    printf("==========================================\n");

    while(flag)
    {
        //validasi
        while (printf("Coba Tebak Angka yang saya pikirkan (1-50)? ") && scanf("%d", &tebakan) != 1)
        {
            int c;
            if (feof(stdin) || ferror(stdin))
                return EOF;
            printf("-> Anda Salah Format, Silahkan Coba Lagi! <-\n\n");             while ((c = getchar()) != EOF && c != '\n')                 ;             if (c == EOF)                 return EOF;         }         if(tebakan > BATAS_BAWAH && tebakan <= BATAS_ATAS) //Proses tebak angka         {             if (magic_no == tebakan)             {                 printf("Hebat! Tebakan Anda Benar!\n"); //Statement jika jawaban benar                 flag = 0;             }             else             {                 countNum++; //jika jawaban salah                 printf("Tebakan Anda Salah %d kali!\n", countNum); //Statement jawaban salah x kali                 if(magic_no > tebakan)
                    printf("Tebakan Anda Terlalu Kecil\n"); //Satement bila jawaban terlalu kecil
                else
                    printf("Tebakan Anda Terlalu Besar\n"); //Satement bila jawaban terlalu besar
            }

            if (countNum == 5) //Maksimal percobaan tebakan
            {
                printf("\nJawaban yang benar adalah %d\n\n", magic_no); //Statement menunjukkan jawaban benar
                break;
            }

            printf("\n");
        }
        else{
            printf("-> Masukkan Angka %d - %d! <-\n\n", BATAS_BAWAH, BATAS_ATAS);
        }
    }
}

void mainLagi(void)
{
    int maumain;

    printf("Apakah Anda ingin main lagi?\n1.Ya\n2.Tidak\nBerikan pilihan: ");
    scanf("%d", &maumain);
    printf("\n\n");

    if (maumain==1) //Jika Ya program akan membersihkan layar program
    {
        system("cls");
        main();
    }
}

  • Berikut adalah tampilan output dari program tebak angka dengan source code yang ada diatas :

tebakangka

Oke, mungkin sekian tulisan tentang program tebak angka ini, jika ada masalah pada source code program, silahkan sampaikan pada kolom komentar dibawah ini.

Terima kasih.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s