Materi
mengenai : getch() dan getche()
getch() dan getche() digunakan untuk meminta masukan 1 buah karakter
(bisa berupa angka, huruf, spasi, enter dll).
Setelah diisikan 1 karakter, TANPA penekanan enter, hasil isian langsung
diisikan ke variabel (jika ada variabel)
Tipe data variabel untuk menyimpan hasil pengisian adalah CHAR
File header yang dibutuhkan adalah conio.h
getch() à karakter
yang diisikan tidak dimunculkan di layar
getche() àkarakter yang
diisikan dimunculkan di layar
Contoh :
#include
<iostream.h>
main()
{
char karakter;
cout<<“Ketikkan karakter (dgn
getch()) :”;
karakter = getch();
cout<<“à Anda
mengisikan :”<<karakter;
cout<<“Ketikkan karakter (dgn
getche()) :”;
karakter = getche();
cout<<“à Anda
mengisikan :”<<karakter;
}
Bila karakter yang kita isikan adalah huruf A maka tampilan outputnya:
Ketikkan karakter (dgn getch()) : à
Anda mengisikan A
Ketikkan karakter (dgn getche()): A à
Anda mengisikan A
Penanganan String
Pengisian string
(untaian karakter) membutuhkan penanganan khusus.
Statemen cin tidak bisa
digunakan dengan baik dikarenakan saat pengisian string bisa saja terdapat
spasi antar kata. Misal : “Mata Kuliah”, “Teknik Sipil”,”Manajemen Informatika”, padahal cin tidak mengenal tanda spasi
Untuk mengatasi
digunakan :
Statemen gets (nama_variabel),
library yang disertakan adalah stdio.h
Statemen fgets (nama_variabel,panjang,input_stream), library yang disertakan adalah stdio.h, untuk input stream standar digunakan
“stdin”
Statemen cin.getline
(nama_variabel, panjang)
Contoh dengan gets :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main()
{
char kar[30];
clrscr();
cout<<"Masukan Tulisan dengan spasi : ";
gets(kar);
cout<<“Isi tulisan : "<<kar<<“, betul kan ?”;
getch();
}
Output
hasil jadi program Karakter nama:
Contoh dengan cin.getline:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main()
{
char kar[30];
clrscr();
cout<<"Masukan Tulisan dengan spasi : ";
cin.getline(kar,30);
cout<<“Isi tulisan : "<<kar<<“,betul kan?”;
getch();
}
Permasalahan gets :
Penggunaan gets memudahkan
dalam pengisian string, akan tetapi gets tidak memvalidasi panjang isian
sehingga bisa menyebabkan error di memory apabila pengisian data melebihi
ukuran yang telah dideklarasikan
Contoh :
#include
<stdio.h>
void
main() {
char
jurusan[10];
cout<<“Nama
Jur. : “<<gets(jurusan);
}
Nama Jur : Manajemen
Informatika à Error karena panjang lebih dari 10
digit
Gets juga sudah disarankan
tidak digunakan dalam C++
Untuk fungsi yang mirip yang
digunakan adalah fgets
fgets sebenarnya digunakan untuk membaca isi
file (stream), namun apabila digunakan standar input “stdin”, fgets bisa
digunakan untuk membaca masukan dari keyboard
Contoh dengan fgets :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
main()
{
char kar[30];
clrscr();
cout<<"Masukan Tulisan dengan spasi : ";
fgets(kar, 30, stdin);
cout<<“Isi tulisan : "<<kar<<“, betul kan ?”;
getch();
}
Note : Silahkan tinggal komentar apabila program tidak berjalan.
Note : Silahkan tinggal komentar apabila program tidak berjalan.
0 komentar:
Post a Comment