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)
Link Video: http://www.youtube.com/watch?v=QlSwgXnFE0w
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