Saturday, 20 April 2013


Pada postingan kali ini akan menampilkan source code serta deskripsi singkat mengenai Array 1-Dimensi, Character dan String dengan Bahasa C.

Pada postingan kali ini juga terdapat video penjelasan mengenai program untuk menebak kata dengan bahasa C. library tambahan yang dibutuhkan pada pembuatan program ini yaitu "string.h". Pembuatan video didapat dari ketentuan Nim % 5 = 17 % 5 = 2. Jadi sisa bagi 2 akan membuat  video tutorial  pada soal nomor 6 tugas V. Dimana Video tutorial pada soal nomor 6 tugas V yaitu tentang proses pembuatan program menebak kata menggunakan bahasa C yang  dapat dilihat pada video di bawah berikut.



Video pembuatan program menebak kata dengan bahasa C

1.  Tugas V : 2,5,6
Coding Tugas V no.2
Source Code:
   1.  #include <stdio.h>
   2.  #include <stdlib.h>
   3.  #include <string.h>

   4.  int banyak_vocal(char inp[],char voc[])//fungsi mengetahui banyak huruf vocal
   5.  {
   6.     int i,j,hasil=0;
   7.     strlwr(inp);//fungsi untuk membaca karakter huruf besar
   8.     for (i=0;i<inp[i];i++){
     9.       for(j=0;j<voc[j];j++){
      10.       if (inp[i]==voc[j])
      11.       hasil++;
        12.     }
      13.    }
      14.    return hasil;
   15. }

   16. int banyak_konsonan(char inp[],char kon[])//fungsi mengetahui banyak huruf konsonan
   17. {
   18.    int i,j,hasil=0;
   19.    strlwr(inp);//fungsi untuk membaca karakter huruf besar
   20.    for (i=0;i<inp[i];i++){
     21.     for(j=0;j<kon[j];j++){
      22.       if (inp[i]==kon[j])
      23.       hasil++;
        24.    
       25.    }
       26.    return hasil;
   27. }
   28.  
   29. int main(void){
   30.    char input[100];
   31.    int output,output1,output3;
   32.    char vocal[5]={'a','i','u','e','o'};
   33.    char konsonan[21]={'b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'};
   34.    printf("Nama : I Nyoman Yoga Setyawan\n");
   35.    printf("No.Reg : 49013017\n");
   36.    printf("===============================\n\n");
   37.    printf("Program untuk mengetahui banyak karakter vokal,konsonan,lainnya,\n");
   38.    printf("dari sembarang string yang di masukkan oleh user\n");
   39.    printf("================================================================\n\n");
   40.    printf("Input sembarang string : ");
   41.    gets(input);
   42.    printf("\n");
   43.    output = banyak_vocal(input,vocal);//memanggil fungsi banyak vocal yg disimpan ke variabel output
   44.    output1 = banyak_konsonan(input,konsonan);//memanggil fungsi banyak konsonan yg disimpan ke variael output
   45.    output3 = ( strlen(input)-(output+output1) ); //perhitungan untuk mencari jumlah karakter selain karakter vocal dan konsonan
   46.    printf("Jumlah karakter vokal = %d \n\n",output);
   47.    printf("Jumlah karakter konsonan = %d\n\n",output1);
   48.    printf("Jumlah karakter lainnya = %d\n\n",output3);
   49.    system("pause");
   50.    return(0);
   51. }

Deskripsi singkat:

1.  Program diatas merupakan Program untuk mengetahui banyak karakter vokal,konsonan, dan karakter lainnya. Dimana proses untuk mengetahui karakter vokal dan konsonan menggunakan fungsi.
2.    Baris 1 sampai baris 3 code program, merupakan pendeklarasian library header yang dibutuhkan yaitu <stdio.h>,<stdlib.h>,dan <string.h>.
3.    Baris 4 sampai baris 15 merupakan fungsi untuk mencari banyak huruf vocal. fungsi tersebut dinamai “banyak_vocal” yg memiliki 2 parameter yang bertipe char. Didalam fungsi terdapat perintah yang akan membandingkan karakter string dari inputan user dengan karakter vocal yng telah diisi pada program main yaitu {a,i,u,e,o}. Perbandingan akan di ulang sampai kondisi terpenuhi. Dan hasil akan disimpan pada variable hasil.
4.       Baris 16 sampai baris 17 merupakan fungsi untuk mencari banyak huruf konsonan. fungsi tersebut dinamai “banyak_konsonan” yg memiliki 2 parameter yang bertipe char. Didalam fungsi terdapat perintah yang akan membandingkan karakter string dari inputan user dengan karakter konsonan yng telah diisi pada program main yaitu {'b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'}. Perbandingan akan di ulang sampai kondisi terpenuhi. Dan hasil akan disimpan pada variable hasil.
5.       Baris  29 sampai dengan baris 50 merupakan fungsi main, dimana di dalam fungsi ini akan dipanggil fungsi banyak_vocal dan fungsi banyak_konsonan.
·    Baris 43 program merupakan merupakan perintah yang memanggil fungsi banyak vocal yg disimpan ke variabel output.
·       Baris 44 program merupakan merupakan perintah yang memanggil fungsi banyak konsonan yg disimpan ke variabel output1.
6.  Baris 45 program merupakan perintah perhitungan untuk mencari jumlah karakter selain karakter vocal dan konsonan yang disimpan ke variable output2. Disini juga terdapat perintah yang menggunakan fungsi “strlen” yang digunakan untuk menghitung jumlah karakter. Fungsi ini dapat digunakan ketika library “string.h” sudah di deklarasi. Rumus yang digunakan untuk mengetahui karakter lainnya yaitu : (N karakter input)-(N karakter vokal + N karakter konsonan).
7.  Baris 46 sampai baris 48 merupakan perintah yang akan mengeluarkan hasil ke layar dengan menggunakan perintah printf, dan memanggil variable output,output1,dan output2.

Hasil running dari source code di atas dapat dilihat pada gambar berikut.


Coding Tugas V no.5
Source Code:
   1.  #include <stdio.h>
   2.  #include <stdlib.h>

   3.  int hasil(int a[],int b[])//fungsi untuk memproses
   4.  {
   5.       int i,j;
   6.       j=0;
   7.       for (i=4;i>=0;i--)//mengisi nilai array B dari Nilai array A yang di ambil dari nilai belakang (nilai index terakhir)
   8.       {
      9.         b[j] = a[i];
      10.       j++;
       11.     }
       12.     for (i=0; i<=4; i++)//Mengeluarkan nilai pada array A yang telah terisi
       13.     {
      14.       printf ("Nilai Array A Index ke %d = %d\n",i,a[i]);
       15.     }
       16.     printf("\n");
       17.     for (i=0; i<=4; i++)//Mengeluarkan nilai array B yang diambil dari nilai array A
       18.     {
      19.       printf ("Nilai Array B Index ke %d = %d\n",i,b[i]);
       20.     }
   21. }

   22. int main(void)
   23. {
   24.    int A[5]={5,10,6,0,4};
   25.    int B[5];
   26.    printf("Nama : I Nyoman Yoga Setyawan\n");
   27.    printf("No.Reg : 49013017\n");
   28.    printf("===============================\n\n");
   29.    printf("Program untuk mengisi nilai array B dari nilai array A,\n");
   30.    printf("dimana nilai pada array A diambil dari nilai pada index terakhir\n");
   31.    printf("=================================================================\n\n");
   32.    hasil(A,B);//pemanggilan fungsi hasil untuk di tampilkan pada layar
   33.    system ("pause");
   34.    return (0);
   35. }



Deskripsi singkat:
1.       Source code program di atas merupakan source code program untuk mengisi nilai array B dari nilai array A yang di ambil dari nilai index terakhir.
2.      Baris 1 sampai baris 2 merupakan perintah untuk memanggil laubrary yang diperlukan yaitu “stdio.h” dan “stdlib.h”
3.       Baris 3 sampai 21 merupakan fungsi yang akan memproses untuk mendapatkan nilai index array B dari nilai index array A. Fungsi pada baris tersebut diberikan nama hasil yang memiliki 2 parameter array yang memiliki tipe data integer. Terdapat 3 perulangan pada fungsi hasil yaitu :
·         Pada baris 7 sampai baris 11 merupakan perulangan for , dimana perulangan akan berjalan dari i=4 dan di decremen hingga i>=0.  Pada perulangan ini akan menjalankan statmen yang digunakan untuk mengisi nilai array B dari Nilai array A yang di ambil dari nilai belakang (nilai index terakhir)
·         Pada baris 12 sampai baris 15 merupakan perulangan for , dimana perulangan akan berjalan dari i=0 dan di incremen hingga i<=4.  Pada perulangan ini akan menjalankan statmen yang digunakan untuk Mengeluarkan nilai pada array A yang telah terisi.
·         Pada baris 17 sampai baris 20 merupakan perulangan for , dimana perulangan akan berjalan dari i=0 dan di incremen hingga i<=4.  Pada perulangan ini akan menjalankan statmen yang digunakan untuk mengeluarkan nilai array B yang diambil dari nilai array A.
4.       Pada baris 22 sampai baris 35 merupakan fungsi utama program (fungsi main()). Dimana di dalam fungsi main ini akan dilakukan pemanggilan fungsi hasil yang telah di buat untuk di tampilkan pada layar. Pemanggilan fungsi hasil dapat dilihat pada baris 32 program, dimana banyak parameter yang di panggil sesuai dengan banyak parameter yang terdapat pada fungsi hasil.




Coding Tugas V no.6
Source Code:
   1.  #include <stdio.h>
   2.  #include <stdlib.h>
   3.  #include <string.h>

   4.  int main(void){
   5.       char binatang [8]="harimau";
   6.       char jawaban [8]="-------";
   7.       char tebakan[8];
   8.       int kesalahan,i,cek_benar;
   9.       printf("-------\n");
   10.     printf("Isilah 7 karakter kosong diatas sesuai dengan karakter huruf untuk nama binatang!!\n\n");
   11.     kesalahan = 0;
   12.     while (kesalahan < 5)
   13.     {
      14.         printf("Input = ");
      15.         scanf("%s",&tebakan);
      16.         printf("\n");
      17.         cek_benar = 0;
      18.         for (i=0;i<9;i++)
      19.         {
        20.             if(binatang[i]==tebakan[0])
        21.             {
           22.                 jawaban[i]=tebakan[0];
           23.                 cek_benar=1;
              24.             }
           25.         }
         26.             if (cek_benar==0)
         27.             {
         28.             kesalahan++;
         29.             printf("Tidak sesuai. Kesalahan anda %d kali dari 5 kesempatan yg diberikan!!\n\n",kesalahan);
         30.             }
            31.         if (strcmp(binatang,jawaban)==0)
            32.         kesalahan = 6;
            33.         if (kesalahan==5)
            34.         printf("Jawaban anda tidak tepat, dan kesempatan anda sudah habis\n");
            35.         printf("Jawaban = %s\n",jawaban);
         36.     }
         37.     printf("Selamat..Pengisian karakter anda sesuai dengan karakter yang diminta!!\n");
         38.     printf("\n");
         39.     system ("pause");
         40.     return (0);
   41. }

Deskripsi singkat:
1.       Baris 1 sampai baris 3 adalah pemanggilan header “stdio.h”,”stdlib.h”,dan “string.h”.
2.   Baris 5 sampai baris 8 merupakan perintah untuk mendeklarasikan variable yang dibutuh pada pembuatan program.
3.   Baris 12 sampai baris 36 adalah perulangan while yang akan berjalan hingga kondisi terpenuhi , dimana kondisi kesalahan=0 < 5.
4.       Baris 18 merupakan perulangan for yang  terdapat di dalam perulangan while. Di dalam Perulangan for terdapat kondisi perbandingan ini difungsikan untuk mendapatkan hasil perbandingan dari karakter inputan user dengan karakter yang telah di isi pada source code program.  Kondisi perbandingan dan statmen perbandingan dapat dilihat pada baris 20 sampai baris 24.
5.   Pada baris 26 merupakan kondisi yang berfungsi untuk mengecek kesalahan dari inputan user. Apabila kondisi ini benar , maka user akan mendapat perintah untuk mengulangi memasukkan karakter selama kesalahan=0<5.
6.    Pada baris 31 merupakan kondisi perbandingan dari karakter binatang dengan jawaban user yg  menggunakan perintah “strcmp”. Kondisi ini digunakan untuk menghentikan inputan dari user apabila user melakukan kesalahan sampai memenuhi kondisi kesalahan=<5, dimana kesalahan akan di increment.
7.  Pada baris 35 merupakan perintah untuk mengeluarkan jawaban dari user, yang akan mengisi character tebakan sesuai dengan posisi.
8.       Baris 39 perintah untuk menghentikan eksekusi program sejenak
9.       Baris 40 merupakan perintah untuk mengembalikan nilai



2.    Latihan Modul  V : b,c

Coding Latihan B Modul V
Source Code:
   1.  #include <stdio.h>
   2.  #include <stdlib.h>
   3.  #include <string.h>

   4.  int hasil(char a[],char b[],char a1[],char b1[])//fungsi hasil
   5.  {
   6.     int cek;
   7.     strcpy(a1,"yoga");
   8.     strcpy(b1,"setyawan");
   9.     if ( (strcmp(a,a1)==0) && (strcmp(b,b1)==0) ){
    10.     cek=0;
    11.     }else{
    12.     cek=1;
    13.     }
      14.    return cek;
   15. }

   16. int main(void){
   17.    char nd1[10],nd2[10],nb1[10],nb2[10];
   18.    int output;
   19.    int i=1;
   20.    printf("Nama : I Nyoman Yoga Setyawan\n");
   21.    printf("No.Reg : 49013017\n");
   22.    printf("===============================\n\n");
   23.    printf("Program untuk mengecek 2 password inputan user,\n");
   24.    printf("dimana password pertama = yoga dan password kedua = setyawan\n");
   25.    printf("=============================================================\n\n");
   26.    do {
     27.         printf("Input password pertama :");
     28.         gets(nd1);
     29.         printf("Input password kedua : ");
     30.         gets(nb1);
     31.         output= hasil(nd1,nb1,nd2,nb2);//pemanggilan fungsi hasil untuk ditampung di variabel output
     32.         if (output==0){
     33.         printf("Password benar\n\n");
     34.         } else{
     35.         printf("Password Salah\n\n");
     36.         }
     37.         i++;
         38.       } while( (i<=3) && (output!=0) );
        39.    if (output!=0) {
        40.    printf("Akses ditolak\n");
        41.    }
        42.    system("pause");
        43.    return (0);
   44. }


Deskripsi singkat:
1.       Source code diatas merupakan perintah Program untuk mengecek 2 password inputan user. Dimana proses pengecekan akan dilakukan di dalam fungsi hasil() yang dapat dilihat pada source code program baris 4 sampai dengan baris 15.
2.       Pada baris 7 dan baris 8 yang terdapat di dalam fungsi hasil() adalah perintah untuk mengcopy nilai string yang akan dimasukkan ke variable. Pada baris 9 akan membandingkan hasil copy dengan inputan user yang diterima dari fungsi utama main(). Untuk mengecek kebenaran password inputan user.
3.       Hasil pengecekan password yang terdapat di dalam fungsi hasil(), akan dipanggil pada fungsi main(), pemanggilan fungsi dapat dilihat pada baris 31 source program. Dimana parameter yang di panggil sesuai dengan banyak parameter di fungsi hasil. Dan akan disimpan  pada variable output.
4.       Kondisi yang terdapat pada baris 32 merupakan kondisi yang digunakan untuk mengecek apakah variable hasil yang diisi dari fungsi hasil() sama dengan isi nilai cek pada fungsi hasil. Jika benar maka maka password yg di inputkan benar, dan jika salah maka password yang di inputkan salah dan user akan di minta untuk mengulang menginputkan password selama  (i<=3) && (output!=0).
5.       Baris 42 perintah untuk menghentikan eksekusi program sejenak.
6.       Baris 43 merupakan perintah untuk mengembalikan nilai .



Coding Latihan C Modul V
Source Code:

      1   #include <stdio.h>
      2.  #include <stdlib.h> 
      3.  #include <string.h>

      4.  char hasil(char a[],char b[],char c[])//fungsi untuk memproses
      5.  {
    6.       strcpy(c,a);
    7.       strcpy(a,b);
    8.       strcpy(b,c);
    9.       printf("Nama depan = %s\n",a);
    10.     printf("Nama belakang = %s\n\n",b);
      11. }

      12. int main(void)
      13. {
    14.     char kata_1[10],kata_2[10],kata_tmp[10];
    15.     printf("Nama : I Nyoman Yoga Setyawan\n");
    16.     printf("No.Reg : 49013017\n");
    17.     printf("===============================\n\n");
    18.     printf("Program menukar nilai string pertama dengan silai string kedua\n");
    19.     printf("==============================================================\n\n");
    20.     printf("Nama depan : ");
    21.     gets(kata_1);
    22.     printf("Nama belakang : ");
    23.     gets(kata_2);
    24.     printf("\n");
    25.     hasil(kata_1,kata_2,kata_tmp);
    26.     system ("pause");
    27.     return (0);
       28. }

Deskripsi singkat:
1.       Source code diatas merupakan perintah Program untuk menukar nilai string pertama dengan silai string kedua. Dimana proses pertukaran akan dilakukan di dalam fungsi hasil() yang dapat dilihat pada source code program baris 4 sampai dengan baris 11.
2.       Proses yang terjadi pada pertukaran nilai dapat di ilustrasikan sebagai berikut.
Misal A=5 dan B=7 akan ditukar nilainya menjadi A=7 dan B=5. Disini diperlukan variable temporary untuk membantu proses pertukaran. Missal variable C.
Mula2 A=5 è C
             B=7è A
             A=5è B
Jadi nilai A menjadi 7 dan nilai B menjadi 5.
3.       Penerimaan inputan nilai A dan B serta pemanggilan hasil pertukaran nilai dilakukan di dalam fungsi main(). Sperti terlihat pada baris 25 merupakan perintah untuk memanggil fungsi hasil() yang terdapat 3 parameter sesuai dengan banyak parameter pada fungsi hasil().
4.       Baris 26 perintah untuk menghentikan eksekusi program sejenak.
5.       Baris 27 merupakan perintah untuk mengembalikan nilai .



0 comments:

Post a Comment