Input dan Output dalam Bahasa C

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.

Tipe data dasar C

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!

Share Now:

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Langganan

Subscribe To Our Newsletter

0
Would love your thoughts, please comment.x
()
x