Pada postingan kali ini mencakup dari materi pertemuan ke V mengenai Array 1 Dimensi, Character, dan String.
Berikut merupakan video mengenai penukaran nama depan dan belakang dengan menggunakan fungsi balik yang dibuat sendiri yang diterapkan pada bahasa pemrograman C (Untuk source code dapat dilihat pada bagian bawah Latihan C).
(Video membalikkan nama depn dengan nama belakang. No.Reg: 19%5 = 4)


Coding 1 (2)
Source Code:
1.  #include <stdio.h>     //pemanggilan header standard input output
2.  #include <conio.h>     //pemanggilan header control input output
3.  #include <string.h>    //pemanggilan header string
4.   
5.  int jum_vocal(int jum, char input[200])     //fungsi untuk mencari jumlah vocal
6.  {
7.     char vokal[6]={'a','i','u','e','o'};     //mengisi variabel(array)
8.     int i,j,vok=0;       //inisialisasi variable
9.     for(i=0; i<jum; i++) //perulangan pertama
10.    {
11.           for(j=0; j<6; j++)   //perulangan kedua
12.           {
13.                  if (input[i]==vokal[j])    //kondisi untuk membandingkan hasil perulangan pertama dengan kedua
14.                        vok++; //increment nilai vok
15.           }
16.    }
17.    return vok;   //mengembalikan nilai hasil perulangan
18. }
19.  
20. int jum_konsonan(int jum, char input[200])  //fungsi untuk mencari jumlah konsonan
21. {
22.    char konsonan[22]={'b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'};   //mengisi variabel(array)
23.    int i,j,kon=0;       //deklarasi variable
24.    for(i=0; i<jum; i++) //perulangan pertama
25.    {
26.           for(j=0; j<22; j++)  //perulangan kedua
27.           {
28.                  if(input[i]==konsonan[j])  //kondisi untuk membandingkan hasil perulangan pertama dengan kedua
29.                        kon++; //increment nilai kon
30.           }
31.    }
32.    return kon;   //mengembalikan nilai hasil perulangan
33. }
34.  
35. int jum_lain(int jum, char input[200])      //fungsi untuk mencari jumlah karakter lain
36. {
37.    int voc, kon, lainnya;     //deklarasi variable
38.    voc=jum_vocal(jum,input);  //mengambil isi dari fungsi jum_vocal dan memasukkannya ke variabel voc
39.    kon=jum_konsonan(jum,input);      //mengambil isi dari fungsi jum_konsonan dan memasukkannya ke variabel kon
40.    lainnya=jum-(voc+kon);     //mencari hasil dari pengurangan total karakter dengan total vokal+konsonan
41.    return lainnya;      //mengembalikan nilai hasil pencarian jumlah karakter lainnya
42. }
43.  
44. int main(void)   //fungsi utama
45. {
46.    char input[200], vokal[6], konsonan[22]; //deklarasi variabel dengan tipe char dan memiliki nilai masing-masing
47.    int jum,voc,kon,lain;      //deklarasi variabel dengan tipe integer
48.  
49.    printf("===== MENCARI JUMLAH KARAKTER VOKAL, KONSONAN, DAN LAINNYA ===== \n");
50.    printf("||              MADE WAHYU SANDIKA PURNAMA                    || \n \n");
51.  
52.    printf("masukkan kata= "); //meminta inputan dari user
53.    gets(input);  //menyimpan ke variabel input dengan fungsi gets(fungsi yang sama dengan scanf hanya saja gets dapat mengambil spasi)
54.    printf("\n");
55.  
56.    strlwr(input);       //descending semua carakter yang diinputkan oleh user
57.    jum=strlen(input);   //menjumlahkan setiap karakter yang diinputkan oleh user
58.  
59.    voc=jum_vocal(jum,input);  //mengirim dan menerima nilai balikan dari fungsi jum_vocal (jumlah vocal)
60.    kon=jum_konsonan(jum,input);      //mengirim dan menerima nilai balikan dari fungsi jum_konsonan (jumlah konsonan)
61.    lain=jum_lain(jum,input);  //mengirim dan menerima nilai balikan dari fungsi jum_lain (jumlah karakter lainnya)
62.  
63.    printf("Jumlah vokal= %d \n",voc); //menampilkan jumlah karakter vocal
64.    printf("Jumlah konsonan= %d \n",kon);    //menampilkan jumlah karakter konsonan
65.    printf("Jumlah Karakter lainnya= %d \n",lain);  //menampilkan jumlah karakter selain vocal dan konsonan.
66.  
67.    getch();      //menahan eksekusi program
68.    return(0);    //mengembalikan nilai fungsi utama ynag bertipe integer
69. }
Source code diatas merupakan source code program untuk menganalisa string inputan yang diinputkan oleh user dan kemudian ditampilkan berapa jumlah karakter vokalnya, konsonan, dan karakter lainnya, dengan cara usr menginputkan sembarang kata yang kemudian kata tersebut dihitung jumlah karakternya, dikirimkan ke fungsi yang kemudian dicari jumlah karakter vocal, konsonan, dan karakter lainnya dan hasilnya dikembalikan ke fungsi utama untuk ditampilkan. Berikut merupakan hasil gambar setelah program dijalankan.

Gambar 1. Tampilan Program Soal No 2

Coding 2 (5)
Source Code:
1.  #include <stdio.h>     //pemanggilan header standard input output
2.  #include <conio.h>     //pemanggilan header control input output
3.   
4.  int main(void)   //fungsi utama
5.  {
6.     int A[5] = {5, 10, 6, 0, 4};      //pendeklarasian variabel bertipe integer dengan array berindex 0-4
7.     int B[5] = {0, 0, 0, 0, 0};      
8.     int n; //deklarasi variabel bertipe integer
9.   
10.    printf("======  MEMBALIKKAN NILAI  ====== \n");
11.    printf("||  Made Wahyu Sandika Purnama  || \n \n");
12.    printf("Nilai A = 5 10 6 0 4 \n \n");
13.    printf("Nilai B = ");
14.    for(n=0; n<5; n++)   //perulangan pertama
15.    {
16.           B[4-n] = A[n];       //kondisi untuk menukarkan isi dari A ke B
17.    }
18.  
19.    for(n=0; n<5; n++)   //perulangan kedua untuk menampilkan hasil pembalikan dari A ke B
20.    {
21.           printf("%d ",B[n]);
22.    }
23.   
24.    getch();      //menahan eksekusi program
25.    return(0);    //mengembalikan nilai dari fungsi utama yang bertipe integer
26. }
Source code diatas merupakan source code dalam pembuatan program untuk mengisi array B dengan data dari array A, dimana isi array B terbalik dari isi array A. program tersebut dijalankan dengan menggunakan perulangan dimana data array terakhir B diisi dengan data array awal A, data kedua terakhir B diisi dengan data kedua A sehingga array A awal terdapat di B akhir. Berikut merupakan hasil gambar setelah program dijalankan.

Gambar 2. Tampilan Program Soal No 5

Coding 3 (6)
Source Code:
1.  #include <stdio.h>      //pemanggilan header standard input output
2.  #include <conio.h>      //pemanggilan header control input output
3.  #include <string.h>     //pemanggilan header string
4.   
5.  int main(void)   //fungsi utama
6.  {
7.      char binatang[9] = "monyet", tebak[9] = {'?','?','?','?','?','?','?','\0'};    //deklarasi variabel bertipe char
8.      char huruf[9];
9.      int bin,i,j,banding,n;     //deklarasi variabel bertipe integer
10.     n = strlen(binatang);      //menghitung banyak karakter pada variabel binatang dan ditampung pada variabel n bertipe integer
11.    
12.     printf("===== GAMES MENEBAK NAMA BINATANG =====\n");
13.     printf("||    Made Wahyu Sandika Purnama     || \n \n");
14.     printf("Terdiri dari 6 huruf.. \n");
15.     bin = 0;      //inisialisasi variable
16.     j = 0;
17.    
18.     do{    //perulangan
19.            bin = 0;
20.           
21.            for(i=0; i<n; i++)   //perulangan
22.                  printf(" %c ",tebak[i]);   //menampilkan "_" sesuai isi dari variabel "tebak"
23.           
24.            printf("\n \n");     //membuat baris baru
25.            printf("\n Inputkan huruf : ");
26.            gets(huruf);  //menyimpan inputan dari user
27.            strlwr(huruf);       //mendescendingkan semua inputan dari user
28.  
29.            for(i=0; i<n; i++)   //perulangan
30.            {
31.                  if(binatang[i] == huruf[0]){  //kondisi untuk menyocokkan nama binatang dengan inputan dari user
32.                         tebak[i] = huruf[0];
33.                         bin++;
34.                  }
35.            }
36.           
37.            if(bin == 0)  //kondisi jika inputan tidak sesuai
38.            {            
39.                  j++;
40.                 
41.                  if (j<5)      //kondisi jika inputan user tidak sesuai dan memiliki kesempatan dibawah 5x
42.                         printf("\n Coba Lagi!! (sisa kesempatan %d) \n\n",5-j);
43.                  else
44.                         printf("\n Maaf Anda Kurang Beruntung :D \n \n");    //keluaran jika user sudah salah 5x
45.            }
46.            banding = strcmp(binatang,tebak);
47.           
48.     }while((j < 5)&&(banding == 1));
49.  
50.     printf("\nNama Binatang = %s\n",binatang);
51.     printf("Tertebak = ");
52.     for(i=0; i<n; i++)
53.                  printf("%c ",tebak[i]);
54.    
55.     getch();
56.     return(0);
57. }
Source code diatas merupakan source code untuk pembuatan program games untuk menebak nama binatang, setiap huruf yang betul akan ditampilkan sesuai dengan posisinya, user hanya memiliki 5 kali kesempatan untuk salah, jika kesalahan sudah 5 kali maka program akan berhenti. Program dijalankan dengan menyediakan clue berapa banyak huruf dari nama binatang yang akan ditebak, setelah user memasukkan huruf, huruf tersebut kemudian dicocokkan dengan setiap karakter dari nama binatang yang ditentukan oleh program, jika benar maka huruf tersebut ditampilkan berdasarkan posisinya, dan jika salah maka kesempatan untuk salah dikurangi 1. Berikut merupakan hasil gambar setelah program dijalankan.

Gambar 3. Tampilan Program Soal No 6
Coding 4 (Latihan b)
Source Code:
1.  #include <stdio.h>      //pemanggilan header standard input output
2.  #include <conio.h>      //pemanggilan header control input output
3.  #include <string.h>     //pemanggilan header string
4.   
5.  int perbandingan(char input_1[25], char input_2[25])       //pembuatan fungsi bertipe int dengan nama perbandingan
6.  {
7.      char pass_1[25], pass_2[25];      //deklarasi variabel dengan tipe char
8.      int banding_1,banding_2,tampil;   //deklarasi varabel bertipe integer
9.   
10.            strcpy(pass_1,"made");     //mengisi variabel pass_1 dengan "made" menggunakan fungsi string copy pada header string
11.            strcpy(pass_2,"wahyu");    //mengisi variabel pass_2 dengan "wahyu" menggunakan fungsi string copy pada header string
12.  
13.            banding_1=strcmp(pass_1,input_1); //membandingkan isi variabel pass_1 dengan inputan pertama dari user dengan menggunakan fungsi string compare pada header string
14.            banding_2=strcmp(pass_2,input_2); //membandingkan isi variabel pass_2 dengan inputan kedua dari user dengan menggunakan fungsi string compare pada header string
15.  
16.     if ((banding_1==0)&&(banding_2==0))      //kondisi jika perbandingan pertama dengan perbandingan kedua benar, maka nilai balikannya bernilai 0
17.     {
18.            tampil=1;     //jika kondisi benar maka tampil bernilai 1(benar)
19.     }else{
20.            tampil=0;     //jika salah maka tampil bernilai 0(salah)
21.     }
22.     return tampil;       //mengembalikan hasil dari fungsi perbandingan yang bertipe integer
23.  
24. }
25.  
26. int main (void//memulai fungsi utama
27. {
28.     char input_1[25],input_2[25];     //deklarasi variabel berntipe char dengan isi 25 karakter
29.     int tampil, cocok=0; //deklarsi variabel dengan tipe integer
30.    
31.     printf("========== APLIKASI INPUT PASSWORD ==========\n");
32.     printf("||       Made Wahyu Sandika Purnama        ||\n \n");
33.  
34.     do{    //memulai perulangan
35.            printf("masukkan password 1= ");  //meminta inputan dari user
36.            scanf("%s",&input_1);      //menyimpan ke variable
37.            printf("Masukkan password 2= ");
38.            scanf("%s",&input_2);
39.  
40.            tampil = perbandingan(input_1,input_2);  //mengirim isi inputan dari user ke fungsi "perbandingan" dan menerima hasil balikan (tampil)
41.     if (tampil==0)       //jika tampil bernilai 0 atau salah
42.            printf("Coba lagi \n \n"); //yang ditampilkan jika tampil bernilai 0
43.     else
44.            printf("berhasil");  //yang ditampilkan jika tampil bernilai 1 atau benar
45.            cocok++;      //increment variabel cocok untuk mengulang jika kondisi tampil = 0
46.  
47.     }while((tampil==0)&&(cocok!=3));  //proses diatas diulang jika nilai tampil masih 0 dan variabel cocok tidak sama dengan 3
48.  
49.     if((tampil==0)&&(cocok==3)) //kondisi jika tampil masih bernilai 0 dan telah diulang sebanyak 3x (cocok = 3)
50.            printf("Login Gagal");     //maka yang ditampilkan "Login gagal"
51.  
52.     getch();      //menahan eksekusi program
53.     return(0);    //mengembalikan nilai fungsi utama yang bertipe integer
54. }
Source code diatas merupakan source code mengenai program untuk mencocokkan 2 buah inputan password dengan nama depan sebagai password pertama dan nama belakang sebagai password kedua. Program ini dijalankan dengan menggunakan fungsi yang dibuat sendiri untuk membandingkan inputan pertama user dengan password pertama dari program dan inputan kedua dari user dengan password kedua dari program, jika tidak sesuai, user diberikan 3 kali kesempatan untuk salah, jika kesalahan sudah 3 kali maka program berhenti, dan jika benar maka program menyatakan inputan benar. Berikut merupakan hasil gambar setelah program dijalankan.

Gambar 4. Tampilan Program Soal Latihan b

Coding 4 (Latihan c)
Source Code:
1.  #include <stdio.h>     //pemanggilan header standard input output
2.  #include <conio.h>     //pemanggilan header control input output
3.  #include <string.h>    //pemanggilan header string
4.   
5.  char balik (char kata_1[25], char kata_2[25])      //nama fungsi buatan yang bertipe string
6.  {
7.     char temp[25];       //deklarasi variabel bertipe string
8.     strcpy(temp,kata_1); //mengisi variabel temporary dengan inputan pertama dari user
9.     strcpy(kata_1,kata_2);     //mengisi variabel pertama dengan inputan kedua dari user
10.    strcpy(kata_2,temp); //mengisi variabel kedua dengan inputan pertama yang dipindahkan ke variabel temporary
11.  
12.    printf("Nama anda adalah %s %s",kata_1,kata_2); //menampilkan setelah penukaran isi variabel 1 dengan variabel 2
13. }
14.  
15. int main (void//fungsi utama
16. {
17.    char nama_1[25], nama_2[25];      //deklarasi variabel bertipe string
18.  
19.    printf("========== PROGRAM BALIK NAMA ==========\n");
20.    printf("||     Made Wahyu Sandika Purnama     ||\n \n");
21.  
22.    printf("Masukkan nama depan anda= ");    //meminta inputan nama pertama dari user
23.    scanf("%s",&nama_1); //menyimpan inputan pertama dari user
24.  
25.    printf("Masukkan nama belakang anda= "); //meminta inputan nama kedua dari user
26.    scanf("%s",&nama_2); //menyimpan inputan kedua dari user
27.  
28.    printf("\n");
29.    balik(nama_1, nama_2);     //mengirim inputan dari user ke fungsi buatan dengan nama balik kemudaian diproses dan dikembalikan ke fungsi utama untuk ditampilkan.
30.  
31.    getch();
32.    return(0);
33. }
Source code diatas merupakan source code mengenai program untuk membalikkaan inputan nama awal dan belakang, yang awalnya user menginputkan nama depan pada kata_1 dan nama belakang pada kata_2 setelah diproses oleh system menjadi nama belakang diawal dan diikuti dengan nama awal dibelakangnya. Program ini dijalankan dengan menggunakan fungsi balik yang dibuat sendiri yang digunakan untuk logika menukarkan yaitu dengan menambahkan variable temporary sebagai penyimpanan sementara. Dicontohkan dengan 2 gelas A dan B, untuk menukar isi kedua gelas tersebut maka diperlukan 1 buah gelas kosong untuk penampungan isi gelas A untuk sementara, kemudian gelas A yang kosong diisi dengan isi gelas B, selanjutnya gelas B yang kosong diisi dengan isi gelas A yang sebelumnya dipindahkan ke gelas temporary. Sedikit ilustrasi gambar:

Gambar 5. Ilustrasi penukaran isi
Berikut merupakan hasil gambar setelah program dijalankan.

Gambar 6. Tampilan Program Soal Latihan c

0 comments:

Post a Comment