Tuesday, 10 May 2022

Penggunaan Perintah cin, cout, gets, getch dan getche dalam C++

Perintah untuk input (memasukkan data ke dalam variabel) atau output (menampilkan kalimat atau hasil ke layar atau keluaran lainnya), termasuk ke dalam perintah dasar, di setiap bahasa pemrograman. Untuk C++, yang sering digunakan adalah 4 (empat) perintah, yaitu cout (untuk output/keluaran), cin, gets, getch dan getche (untuk input/masukan).

Cara penggunaannya adalah sebagai berikut:
– cout : digunakan dengan perintah ‘cout<<“kata atau data yang ingin ditampilkan”;‘
– cin : digunakan dengan perintah ‘cin>>nama_variabel;‘
– gets : digunakan dengan perintah ‘gets(nama_variabel);‘
– getch : digunakan dengan perintah ‘nama_variabel=getch();‘ atau ‘getch() ‘saja, dan
– getche : digunakan dengan perintah ‘nama_variabel=getche();‘

Untuk lebih dimengerti, mungkin bisa dijelaskan bahwa:
– cout mempunyai arti character-out
– cin memiliki arti character-input
– gets artinya adalah get-string
– getch adalah get-character
– getche adalah get-character-echo

Dari keterangan di atas, sebetulnya bisa cukup menggambarkan fungsi dan perbedaan dari masing-masing perintah tersebut, yaitu:

cout, digunakan untuk menampilkan kalimat atau data ke layar. Penggunaannya dalam coding adalah seperti di bawah ini:

cout<<"Ini adalah kalimat yang ditampilkan";

Jika dikombinasikan dengan variabel, maka penulisannya adalah seperti di bawah ini:

int seminggu;

seminggu=7;

cout<<"Jumlah hari dalam seminggu adalah "<<seminggu<<" hari;

cin, digunakan untuk mendapatkan masukan / input dari user, yang hasilnya akan dimasukkan ke dalam variabel yang sudah ditentukan sebelumnya. Penggunaannya adalah seperti di bawah ini:


int angka1, angka2, hasil;

 cout<<"Masukkan angka pertama : "; cin>>angka1;

cout<<"Masukkan angka kedua : "; cin>>angka2;

hasil=angka1*angka2;

cout<<"Hasil perkalian dari "<<angka1<<" dan "<<angka2<<" adalah "<<hasil<<endl;

Dalam contoh di atas, perintah cin, dikombinasikan dengan perintah cout. Namun bisa juga digunakan sendiri, tanpa kombinasi perintah cout. Misalnya seperti di bawah ini:

int angka;

cin>>angka;

Namun, tentu saja user akan bingung saat dihadapkan dengan hasil dari kode di atas, karena hanya menampilkan tampilan seperti di bawah ini :




Bandingkan, jika dikombinasikan dengan perintah cout, seperti di bawah ini :

int angka;

cout<<"Masukkan angka "; cin>>angka;

Dan tampilan yang akan didapatkan user adalah seperti berikut ini:



Memang, adakalanya perintah cin, tidak harus dikombinasikan dengan cout. Namun, seringnya perintah cin dikombinasikan dengan perintah cout, untuk memperjelas bagi user.

gets, digunakan untuk mendapatkan input dari user. Lantas, apa bedanya dengan cin? Bedanya adalah bahwa perintah cin tidak dapat menerima masukam berupa spasi. Jadi, misalnya, saat kita ingin memasukkan nama, di mana nama tersebut mengandung spasi, maka hasil inputan yang terbaca dan dimasukkan ke dalam variabel, hanyalah inputan sebelum spasi. Perhatikan contoh berikut ini:

#include <conio.h>
#include <iostream.h>

main()
{
char nama[25];
cout<<“Masukkan nama : “;cin>>nama;
cout<<“Nama yang dimasukkan adalah “<<nama<<endl;
getch();
}

Di situ kita mendeklarasikan variabel nama dengan panjang 25 karakter. Jika inputan yang diberikan adalah inputan tanpa spasi, maka outputnya adalah seperti di bawah ini:



namun saat inputan yang dimasukkan mengandung spasi, maka hasilnya akan menjadi seperti di bawah ini:



Terlihat, bahwa meskipun nama yang diinput adalah “Eny Riyani“, namun yang terbaca hanyalah “Eny“. Nah, dalam kasus seperti itu, maka kita dapat menggunakan perintah gets, sebagai pengganti perintah cin. Perhatikan contoh berikut. Kita akan memodifikasi sedikit kode berikut ini:

#include <conio.h>

#include <iostream.h>

 

main()

{

char nama[25];

cout<<"Masukkan nama : ";cin>>nama;

cout<<"Nama yang dimasukkan adalah "<<nama<<endl;

getch();

}

Menjadi seperti ini :

#include <conio.h>

#include <iostream.h>

#include <stdio.h>

 

main()

{

char nama[25];

cout<<"Masukkan nama : ";gets(nama);

cout<<"Nama yang dimasukkan adalah "<<nama<<endl;

getch();

}

Tampilan yang dihasilkan adalah sebagai berikut:



Terlihat di atas bahwa variabel yang berhasil didapatkan adalah nama yang lengkap, bersama dengan spasinya. Namun yang juga harus diperhatikan adalah bahwa untuk menggunakan perintah gets ini, kita harus menambahkan satu file header, yaitu stdio.h (perhatikan baris ketiga dari kode untuk perintah gets di atas. Di situ saya menambahkan satu baris, yaitu “#include <stdio.h>“).

getch, digunakan untuk mendapatkan 1 (satu) karakter dari user. Ingat! Hanya 1 (satu) karakter. Dan, karena karakteristiknya tersebut, seringkali perintah getch() hanya digunakan untuk melakukan “penundaan” sebelum perintah berikutnya dieksekusi. Biasanya juga digunakan untuk membuat agar tampilan output tidak langsung tertutup. Contohnya seperti berikut ini:

#include <conio.h>
#include <iostream.h>

main()
{
char tombol;
cout<<“Tekan sembarang tombol…”<<endl;
tombol=getch();
cout<<“Tombol yang ditekan adalah “<<tombol<<endl;
getch();
}

Outputnya adalah seperti berikut ini:



Dan jika saya menekan tombol “A“, maka tampilan berikutnya akan menjadi seperti ini:



getche, mirip dengan perintah perintah getch. Bedanya adalah jika perintah getch() tidak menampilkan karakter yang diinput (perhatikan pada gambar contoh output getch() di atas), maka perintah getche() akan menampilkan karakter yang ditekan atau di-input, sesuai dengan namanya, yaitu getche() atau “Get-Character-Echo“. Perhatikan kode berikut ini:

#include <conio.h>

#include <iostream.h>

 

main()

{

char tombol;

cout<<"Tekan sembarang tombol : ";

tombol=getche();

cout<<endl;

cout<<"Tombol yang ditekan adalah "<<tombol<<endl;

getch();

}

Dan tampilan yang dihasilkan, jika saya menekan tombol “R” adalah:



Terlihat di atas bahwa tombol “R” yang ditekan muncul, tidak seperti jika menggunakan perintah getch().

Demikianlah cara penggunaan dan perbedaan-perbedaan yang ada antara ke lima perintah tersebut di atas, yaitu cout, cin, gets, getch dan getch. Semoga menjadi pembelajaran yang berguna.

No comments:

Post a Comment