Karena pada artikel sebelumnya kita membahas tentang Printah Output Pemrograman Bahasa C. Maka pada kesempatan kali ini kita akan membahas sedikit tentang Perintah Input dalam pemograman Bahasa C. Pastinya saat eksekusi program berlangsung terkadang kita ingin menginputkan sejumlah data dari keyboard bukan? Dan untuk keperluan ini telah di sediakan sejumlah fungsi yang akan kita bahas kali ini.
Untuk melakukan input data dari keyboard kita dapat menggunakan sejumlah fungsi seperti scanf(), getch(), getche(), getchar() dan gets(), yang pastinya memiliki kegunaan yang berbeda-beda.
Pertama-tama kita akan membahas scanf(). Fungsi ini merupakan fungsi yang dapat digunakan untuk menginputkan berbagai jenis data. Secara umum bentuk format scanf() adalah :
scanf(“string_kontrol”,&daftar_argumen);
contoh :
scanf(“%f”,&nilai);
String control dapat berupa penentu format, yang menyatakan jenis / type data yang akan di baca. Pada scanf(), daftar argument dapat berupa satu atau beberapa argument yang berupa alamat. Misalnya pada contoh diatas kita akan membaca bilangan real untuk variable nilai maka yang ditulis di dalam scanf() adalah alamat dari variable nilai. Dan untuk menyatakan alamat suatu variable, didepan variable dapat dtambahkan tanda &(sebegai operator alamat), sehingga ditulis &nilai.
Kemudian ada getch() dan getche().Fungsi ini dipakai untuk membaca sebuah karakter, dengan sifat karakter yang diinputkan tak perlu di akhiri dengan Enter. Perbedaannya, pada getch() karakter yang diinputkan tidak akan tampil di layar sedangkan pada getche() akan tampil. Untuk menggunakan fungsi ini, harus disertakan header “conio.h”. Kemudian fungsi gechar() sama seperti fungsi getch() dan getche(), hanya saja pada fungsi getchar() setiap menginputkan karakter harus diakhiri dengan tombol ENTER. Dan fungsi getchar sendiri terdapat pada library stdio.h.
Seperti halnya scanf() hasil input dari fungsi getch(), getche(), ataupun getchar() juga dapat disimpan pada sebuah variable.
Contoh :
#include <stdio.h> #include <conio.h> main(){ char karakter; printf("Masukkan seuah karakter."); karakter=getch(); printf("\nAnda memasukkan karakter %c",karakter); }
Ada variable yang disebut dengan variable string. Serperti namanya, variable ini menyimpan data dalam bentuk string. Sebenarnya variable string merupakan variable lanjutan dimana menggunakan data bertype karakter secara bersamaan atau bisa dikatakan array of char. Misalnya:
char nama[15];
maka variable nama merupakan variable string. Untuk lebih lengkapnnya tentang string, sobat dapat membaca fungsi String dalam BahasaC.
Fungsi gets(), merupakan fungsi yang digunakan untuk memasukkan data dari keyboard ke dalam sebuah variable string. Untuk menggunakan fungsi ini kita harus menyertakan header “stdio.h”. Berikut bentuk umum pemakaiannya:
gets(nama_string);
Sebenarnya untuk menginputkan data berupa string juga dapat dilakukan dengan menggunakan fungsi scanf(), hanya saja pada scanf() kita juga harus menentukan forrmat data yang akan di inputkan. Misalnya:
scanf(“%s”, &nama_string);
Hanya saja kelemahan pada scanf(), data yang di inputkan tidak dapat mengandung karakter space(spasi).
Contoh 1:
Contoh 1:
#include <stdio.h> main(){ char name[20]; printf("Please enter your name : "); scanf("%s",&name); printf("Your name : %s",name); }
Pada contoh diatas kita telah dapat menginputkan data dan di simpang pada variable name. hanya saja jika kita menginputkan data “Nama lengkap” maka yang tersimpan pada variable name hanyalah “Nama” saja.
Contoh 2:
#include <stdio.h> main(){ char name[20]; printf("Please enter your name : "); gets(name); printf("Your name : %s",name); }
Tetapi jika kita menginputkan data “Nama Lengkap” pada program dengan listing contoh 2 yang menggunakan perintah gets(), maka yang tersimpan pada variable name adalah “Nama Lengkap”.
Pada scanf() kita dapat menginputkan beberapa data dengan type berbeda sekaligus, dan tentu saja di simpan pada variable yang berbeda.
Contoh 3:
#include <stdio.h> main(){ char huruf; int jumlah; puts("Masukkan sebuah huruf diikuti dengan nilai jumlahnya!"); scanf("%c%d",&huruf,&jumlah); printf("Jumlah dari %c adalah %d buah\n",huruf,jumlah); }
Maka saat dijalankan
Terlihat data yang diinputklan sekaligus dapat disimpan pada variable yang berbeda, walaupun memiliki type yang berbeda.
Satu lagi dari pengalaman saya, saat melakukan input dengan menggunakan perintah gets dan scanf() dalam sebuah program, kemudian terjadi kesalahan. contoh seperti berikut :
untuk mengatasinya, kita dapat menggunakan fungsi fflush(stdin); sesudah fungsi scanf() dan menambahkan header “stdlib.h”. jadi dengan listing seperti berikut:
#include <stdio.h> #include <stdlib.h> main(){ char nama[30],alt[30]; int umur; printf("Masukkan Nama :"); scanf("%s",&nama); fflush(stdin); printf("Masukkan Umur :"); scanf("%d",&umur); fflush(stdin); printf("Masukkan Alamat :"); gets(alt); printf("Nama : %s\n",nama); printf("Umur : %d\n",umur); printf("Alamat : %s\n",alt); }
Dan akan menghasilkan output :
Kegunaan dari fflush(stdin) ini sendiri adalah untuk menghilangkan nilai buffer pada system. Sehingga saat melakukan input kembali nilai sebelum nya tidak mempengaruhi input selanjutnya.
Nah, jadi itulah pembahasan tentang Perintah Input dalam pemograman Bahasa C. Untuk pembahsan selanjutnya kita akan membahas tenatng Operator dalam pemrograman Bahasa C : Bagian 1. Hanya ini yang dapat admin bagikan pada artikel kali ini, jika ada pertanyaan dapat ditanyakan pada kolom komentar. Dan semoga bermanfaat untuk kita semua.
Wassalamu’alikum.
mantap bosss, akhirnya masalah di buffer teratasi
ReplyDelete