Minggu, 24 Juli 2016

TMD02, Pemrograman C, Array 1 Dimensi, Char, String

Array dan fungsi If


program ini digunakan untuk menebak nama binatang maksimal 9 huruf . dimana huruf yang dikeluarkan sesuai dengan posisinya. jika salah sebanyak 5 x maka program akan berakhir.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char kata_kunci[8]="beruang",jawaban[8]= ".......";
int batas_kesalahan=5,i;

int main(void)

{
char karakter;
int betul;
while(batas_kesalahan!=0)
{
betul=0;
printf("tebak nama binatang\n");
printf("masukan karakter > ");
karakter= getchar();
fflush(stdin);/*fflush mean menghapus/mengosongkan
 berarti melakukan flush (penghapusan)
 data pada buffer output yang tidak di perlukan
 Jika terdapat beberapa proses input (memasukkan data) sekaligus
 maka sebaiknya ditambahkan fungsi fflush(stdin)
 Fungsi fflush(stdin) berfungsi menghapus buffer di dalam alat I/O. */
for(i=0;i<strlen(kata_kunci);i++)
{
if (kata_kunci[i]==karakter)
{
jawaban[i]=karakter;
betul=1;
}
}
if(betul==0)
{
printf("karakter salah (kesempatan: %d\n",i);
batas_kesalahan--;
}
printf("%s \n",jawaban);
batas_kesalahan=cek_selesai();
}

system("pause");
return(0);
}
int cek_selesai()
{
int selesai=0;
for(i=0;i<strlen(jawaban);i++)
{
if(jawaban[i]== '.')
{
selesai=batas_kesalahan;
}
}

return selesai;

}

penggalan program dibawah ini

printf("masukan karakter > ");
karakter= getchar();
fflush(stdin);/*fflush mean menghapus/mengosongkan
  berarti melakukan flush (penghapusan)
  data pada buffer output yang tidak di perlukan
  Jika terdapat beberapa proses input (memasukkan data) sekaligus
  maka sebaiknya ditambahkan fungsi fflush(stdin)
  Fungsi fflush(stdin) berfungsi menghapus buffer di dalam alat I/O. */
for(i=0;i<strlen(kata_kunci);i++)
adalah bagian program yang digunakan untuk memasukkan karakter, kemudian dibaca dengan fungsi getchar untuk dibandingkan dengan karakter yang telah ditentukan sebelumnya yaitu karakter pada kata "beruang"

Pada bagian program dibawah jika kata yang dimasukkan salah
for(i=0;i<strlen(kata_kunci);i++)
              {
                     if (kata_kunci[i]==karakter)
                     {
                           jawaban[i]=karakter;
                           betul=1;
                     }
              }
Akan terjadi pengulangan (looping) sebanyak i<strlen(kata_kunci) yaitu 7 kali. Setelah itu program akan mengeksekusi ke bawah, yaitu mengeluarkan karakter salah. Dan program akan kembali ke atas karena ada while(batas_kesalahan!=0).dan jika kata yang dimasukkan maka kata tersebut akan di cek oleh perintah
if(betul==0)
              {
                     printf("karakter salah (kesempatan: %d\n",i);
                     batas_kesalahan--;
              }
              printf("%s \n",jawaban);
              batas_kesalahan=cek_selesai();
              }
if(betul==0 berati jika kondisi pengecekan salah (0), maka akan dicetak “karakter salah” dan akan terus terjadi proses tersebut sampai dengan batas kesalahan 9 kali. Jika talah 9 kali salah maka program akan berhenti.
Yang membatasi proses pengulangan sampai 9 kali adalah pernyataan dari variabel program batas_kesalahan=9

CLICK TO VIEW THE VIDEO TUTORIAL