Dasar Input dan Output dalam C++
Hello everyone,
Welcome to my site.
Kali ini kita akan membahas tentang input dan ouput pada C++ dan memberikan sedikit ilmu tentang string. Biasanya i/o (input/ouput), membentuk bagian yang penting dari sebuah program. Untuk membuat suatu yang berguna, program harus bisa menerima masukan data dan menghasilkan ouput. Pada C++, input output disediakan oleh library yang bernama iostream. Untuk menggunakannya, bisa dengan perintah #include <iostream>
di bagian atas program yang kita buat. Perintah itu memberitahu preprosesor untuk menambahkan baris-baris program dari file iostream ke dalam baris program yang kita miliki. Beberapa perintah di antaranya:
```cout``` digunakan untuk output ke layar.
Agar lebih mudah memahami, perhatikan baris-baris program berikut.
```c++
#include <iostream>
#include <string>
int main()
{
char name[20];
int ID;
cout << "Enter your name ; ";
cin >> name;
cout << "Enter your ID number : ";
cin >> ID;
cout << "Hello" << name << "or should I say" << ID << endl;
return 0;
}
C++ menggunakan string sebagai bagian dari library standarnya. Untuk mengaktifkannya, gunakan #include <string>
. Untuk menggunakannya dalam pendefinisian variabel, kita jalankan pendeklarasian berikut:
char name[20];
Deklarasi di atas menyatakan variabel name sebagai sebuah array yang terdiri dari 20 huruf (character).
Operator input, >>
, digunakan untuk memasukkandata pada variabel dalam program kita. Biasa disebut juga sebagai insertion operation.
Operaotr ouput, <<
, digunakan untuk mengarahkan ouput ke standar ouput, misalnya ke layar komputer kita. Operator itu sering disebut juga extraction operator.
String
Dalam beberapa bahasa pemrograman lainnya seperti Pascal, string merupakan tipe data dasar yang bisa langsung dipakai. Bahasa c++ tidak memiliki tipe variabel yang dapat dipakai untuk menyimpan suatu string. Oleh karena string merupakan kumpulan karakter, maka string dapat disimpan dalam suatu larik. Misalnya, untuk menyimpan nama orang, dapat dibuatu suatu larik sebagai berikut:
char name[20]
Deklarasi suatu larik selalu memakai tanpa kurung [ ]
. Bilangan di dalamnya menujukkan jumlah tempat yang dipesan untuk array tersebut. jadi, array nama di atas akan dapat menampung 20 karakter. Suatu larik karakter dapat langsung diberi suatu nilai pada saat dideklarasi, misalnya:
char nama[25] = "Patriot Kusuma Sejati";
atau
char nama[] = "Patriot Kusuma Sejati";
Pada contoh di atas, pada saat larik nama dideklarasikan, string “Patriot Kusuma Sejati” langsung disimpadn di dalamnya. String dalam c++ selalu diakhiri dengan null character/null zero sehingga untuk string “Patriot Kusuma Sejati” yang terdiri dari 22 karakter, karakter ke-22 harus null zero.
Pada contoh di ats, karakter null zero langsung ditambahkan oleh C++ seperti berikut ini.
nama[0] = 'P'; //subscript dimulai dari 0
nama[1] = 'a';
nama[2] = 't';
nama[3] = 'r';
nama[4] = 'i';
nama[5] = 'o';
nama[6] = 't';
nama[7] = ' ';
nama[8] = 'K';
nama[9] = 'u';
nama[10] = 's';
nama[11] = 'u';
nama[12] = 'm';
nama[13] = 'a';
nama[14] = ' ';
nama[15] = 'S';
nama[16] = 'e';
nama[17] = 'j';
nama[18] = 'a';
nama[19] = 't';
nama[20] = 'i';
nama[21] = '\0'; //null karakter atau null zero
Jadi, string selalu diakhiri dengan null zero.
Agar lebih mudah dalam mempelajarinya, mari kita buat program.
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
char aa, bb[4], cc[100], dd[100];
cout << "************bagain -1 memberi nilai awal************"<< endl;
aa='g';
bb[0]='c';
bb[1]='a';
bb[2]='t';
bb[3]='\0';
strcpy(cc, "ini adalah contoh mengisi string kalimat ke variabel");
strcpy(dd,cc);
cout << "************bagian-pencetakan************"<<endl;
putchar(aa);
puts(bb);
puts(cc);
puts(dd);
return 0;
}
Ouput dari program tersebut adalah :
***********bagian-1 memberi nilai awal***********
***********bagian-pencetakan************
gcat
ini adalah contoh mengisi string ke kalimat variabel
ini adalah contoh mengisi string ke kalimat variabel
Pejelasan Program
1. Apakah String itu?
String adalah larik karakter yang diakhiri dengan karakter nuull (\0). Misalnya, kita telah menyimpan string dalam larik karakter bb[] dengan pernyataan:
bb[0]='c';
bb[1]='a';
bb[2]='t';
bb[3]='\0';
Ketika lebih dari satu karakter akan ditulis, digunakan tanda petik ” “ untuk mengapit kalimat tersebut. ketika hal itu dilakukan, C++ akan secara otomatis menambahkan karakter null di akhir string. Jika kita menuliskan kalimat yang diapit tanda petik, maka tidak perlu lagi ditambahkan karakter null di akhir kalimat tersebut. Untuk itu, pada contoh program di atas kita tuliskan:
"ini adalah contoh mengisi string kalimat ke variabel"
pada baris programnya.
Perhatikan juga bahwa apa yang disimpan dalam variabel aa
adalah karakter tunggal, bukan string disimpan dalam larik karakter, sedangkan karakter tunggal disimpan pada variabel bertipe karakter char
.
2. Bagaimana kita memberi nilai awal pada suatu larik karakter tanpa harus menuliskan karakter per karakter / satu per satu?
Inisialisasi larik karakter dengan cara huruf demi huruf sangatlah tidak praktis. C++ dilengkapi dengan library yang memudahkan kita untuk mengisikan nilai pada suatu string. Misalnya, fungsi strcpy
(yang tersimpan dalam preposesor directive string) digunakan untuk menyalin suatu string yang ada dalam memori ke dalam suatu variabel string. Perhatikan baris program:
strcpy(cc, "ini adalah contoh mengisi string kalimat ke variabel");
yang akan menyalin kalimat ini adalah contoh mengisi string kalimat ke variabel ke dalam variabel cc
. Perhatikan pula bahwa variabel cc
merupakan larik karakter dengan ukuran 100, yang lebih besar dari jumlah huruf dalam kalimat yang akan disalin ke dalam cc
.``
Perhatikan pula baris program:
strcpy(dd,cc);
Oleh karena cc
tadi sudah diisi dengan suatu kalimat, maka isi dari cc
dapat disalin juga ke variabel string yang lainnya, yaitu dd
.