Input (masukan) dan output (keluaran) adalah bagian yang sangat penting dalam bahasa pemrograman, tak terkecuali bahasa C. Sebuah program tidak akan dikatakan program jika tidak ada masukan maupun keluaran. Karena itulah bahasa pemrograman C menyediakan fungsi bawaan untuk menerima masukan dan mencetak keluaran.
Daftar isi
Input (Masukan)
Seperti namanya, program akan menerima masukan dari user melalui berbagai perangkat seperti papan ketik (keyboard), tetikus (mouse), scanner, mikrofon, dll. Dari berbagai perangkat itu, pembahasan kali ini akan berasal dari input keyboard.
Sebenarnya bisa saja jika tidak menggunakan input, misal ingin menghitung hasil perkalian dari 3 dan 9.
int a = 3, b = 9; printf("%d",a * b);
Tanpa input, program akan bisa berjalan. Lalu bagaimana jika ingin menghitung hasil perkalian 7 dan 8?
Yang bisa dilakukan adalah mengubah program setiap kali ingin mencoba bilangan baru. Oleh karena itu, input ada agar dapat menguji nilai program tanpa mengubah program tersebut.
scanf
Merupakan fungsi yang paling populer karena bisa menerima input dengan berbagai jenis tipe data dari variabel. Contoh menerima input menggunakan scanf
:
#include <stdio.h> int main(){ int a,b; printf("Masukan nilai a dan b\n"); scanf("%d%d", &b, &a); }
‘%d’ (format specifier) berguna untuk menginformasikan kepada komputer bahwa user akan memberi input dengan tipe data bilangan bulat (integer). Sedangkan tanda ‘&’ sebelum nama variabel adalah operator alamat. ‘&’ menunjuk ke area penyimpanan variabel, sehingga komputer akan menyimpan nilai input ke tempat tersebut.
Tetap perhatikan bahwa format specifier berjumlah sama dengan banyak variabel untuk menyimpan masukan dan urutan input harus sesuai dengan urutan penulisan variabel pada fungsi scanf()
. Jika ada input terpisah oleh spasi atau enter, maka akan terhitung sebagai input untuk variabel yang berbeda.
Misalkan dengan menggunakan program contoh, input yang masuk adalah 10 9 7. Maka, b = 10, a = 9 sedangkan nilai 7 akan terbuang. Namun jika input kurang, program tidak akan memproses sampai semua input terpenuhi.
Selain itu, bisa juga menggunakan ‘%s’ untuk menerima input satu kata. Jika menggunakan ‘%s’ untuk menerima input lebih dari satu kata, maka program hanya akan mengambil kata pertama. Setiap kata dari input terpisah oleh spasi.
Untuk menerima input dengan menyertakan spasi, bisa menggunakan ‘%[^\n]s’, yaitu:
#include <stdio.h> int main(){ char nama[20] printf("Masukan namamu \n"); scanf("%[^\n]s", nama); }
getchar
Fungsi getchar()
akan mengambil karakter pertama dari masukan. Sehingga fungsi ini sama seperti scanf()
dengan menggunakan ‘%c’.
#include <stdio.h> int main(){ char a = getchar(); printf("Karakter input adalah %c\n", a); }
gets
gets
memiliki fungsi yang sama dengan scanf()
dengan ‘%s’. Sama juga dengan getchar()
, namun variabel harus memiliki tipe string atau array of char.
#include <stdio.h> int main(){ char a[20]; gets(a); printf("%s", a); }
fgets
Fungsi ini berguna untuk membaca masukan dengan tipe string sampai ada baris baru ‘\n’ atau setelah n-1 karakter. Contoh penggunaannya adalah sebagai berikut:
#include <stdio.h> int main(){ char nama[20]; fgets(nama, 20, stdin); printf("%s", nama); }
Format dari fungsi tersebut adalah nama, banyak karakter, sumber input.
Output (Keluaran)
Output sangat penting, salah satunya untuk mengetahui hasil proses program apakah sudah benar atau belum. Tanpa adanya keluaran, kita tidak akan pernah tahu apa hasil dari program ataupun proses yang terjadi. Bahkan dengan keluaran kita bisa mengetahui apakah masukan sudah sesuai dengan yang kita harapkan.
printf
Pada contoh bagian masukan, kita bisa tahu apa saja input yang tersimpan pada program.
Contoh-contoh tersebut menggunakan printf()
karena sama seperti scanf()
, keduanya yang paling sering digunakan. Keduanya juga menggunakan specifier untuk memberitahu program tipe data yang akan menjadi keluaran.
putchar
Fungsi ini merupakan ‘pasangan’ dari getchar()
, karena akan mencetak satu karakter saja.
#include <stdio.h> int main(){ char a = getchar(); printf("Karakter input: "); putchar(a); }
puts
puts()
akan mencetak sebuah kata (string).
#include <stdio.h> int main(){ char a[20]; gets(a); puts(a); }
Demikianlah beberapa fungsi input dan output dalam bahasa C. Jika ada pertanyaan, jangan ragu berdiskusi di kolom komentar. Terima kasih!