Fungsi masukan yang digunakan untuk menyimpan data dalam suatu variabel adalah

#C

Pada dasarnya, program komputer hanya terdiri dari tiga bagian:

Input adalah sesuatu data yang kita masukan ke dalam program.

Input biasanya diambil dari perangakat inputan seperti keyboard, mouse, kamera, microphone, dll.

Proses adalah langkah-langkah yang harus dilakukan program untuk menghasilkan output.

Output adalah informasi yang dihasilkan setelah dilakukan proses. Output biasanya ditampilkan ke layar komputer.

Pada bahasa pemrograman C, terdapat beberapa fungsi dasar untuk menampilkan output dan mengambil input.

Apa saja itu?

Mari kita bahas…

Ada dua macam fungsi yang bisa digunakan untuk menampilkan output:

1. Fungsi printf()

Fungsi printf() merupakan fungsi untuk menampilkan output ke layar komputer. Fungsi ini terdapat pada library stdio.h.

Oleh sebab itu, ketika kita diharuskan untuk menuliskan #include <stdio.h> di bagian atas program agar bisa menggunakan fungsi ini.

Berikut ini struktur dasar fungsi printf():

Perhatikan:

"format" adalah sebuah teks (string) untuk ditampilkan. Lalu tanda ... akan berisi sebuah variabel atau nilai untuk ditampilkan berdasarkan format yang diberikan pada teks "format".

Mari kita lihat contohnya:

Buatlah sebuah program C bernama output.c, lalu isi dengan kode berikut.

#include <stdio.h> int main(){ printf("Hello, ini adalah teks output\n"); printf("Nama saya %s\n", "Dian"); printf("Usia saya %d\n", 20); return 0; }

Hasilnya:

Ada beberapa hal yang perlu di perhatikan…

Pada fungsi printf() kita menggunakan simbol %s, %d, dan \n untuk format teks. Simbol-simbol ini disebut format specifier.

Mari kita bahas arti dari simbol tersebut:

  • %s adalah simbol untuk menampilkan nilai string;
  • %d adalah simbol untuk menampilkan nilai angka atau bilangan desimal;
  • \n adalah simbol untuk membuat baris baru.

Selain tiga simbol tersebut, masih banyak lagi simbol yang lain.

SimbolArti atau Fungsi
%cuntuk menampilkan karakter
%suntuk menampilkan teks (string)
%d, %iuntuk menampilkan bilangan desimal
%funtuk menampilkan bilangan pecahan
%ountuk menampilkan bilangan oktal
%xuntuk menampilkan bilangan heksadesimal
\tuntuk membuat tabs

Fungsi puts() adalah fungsi untuk menampilkan output. Fungsi ini juga terdapat pada library stdio.h.

Perbedaanya dengan printf(), fungsi puts() tidak memerlukan format.

Fungsi puts() akan selalu membuat baris baru. Jadi tidak perlu menggunakan simbol \n seperti pada printf().

Contoh program: fungsi_puts.c

#include <stdio.h> int main(){ puts("Hello World"); puts("Nama Saya Dian"); return 0; }

Hasilnya:

Selain fungsi puts(), terdapat juga fungsi putchar() yang khusus untuk menampilkan satu karakter saja.

Contoh:

#include <stdio.h> int main(){ putchar('A'); return 0; }

Maka akan menghasilkan output:

Lalu pertanyaannya:

Fungsi manakah yang harus saya pakai?

Jawabannya, tergantung…

Tergantung dari teks apa yang akan ditampilkan.

Apabila di sana kita akan menampilkan teks dan nilai atau variabel, sebaiknya menggunakan printf() karena bisa membuat format.

Tapi kalau teks yang biasa saja, bisa pakai puts().

Pada bahasa C, terdapat beberapa fungsi untuk mengambil input.

Oh iya, input yang akan kita bahas di sini adalah input dari keyboard.

Input juga bisa dari file, kamera, mikrofon, dan sebagainya.

Tapi kita fokus dulu bahas yang paling mudah…

Ini adalah fungsi untuk mengambil input dari keyboard:

1. Fungsi scanf()

Fungsi scanf() adalah fungsi untuk mengambil input dari keyboard. Fungsi ini memiliki format seperti fungsi printf().

Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil.

Misalnya mau mengambil angka, maka kita bisa pakai %d atau %i.

Mari kita lihat contohnya:

#include <stdio.h> int main () { // membuat variabel char name[20], web_address[30]; printf("Nama: "); scanf("%s", &name); printf("Alamat web: "); scanf("%s", &web_address); printf("\n------------------------------\n"); printf("Nama yang diinputkan: %s\n", name); printf("Alamat Web yang diinputkan: %s\n", web_address); return 0; }

Hasilnya:

Tapi saat kita menginputkan teks yang mengandung spasi, hasilnya akan dipecah menjadi dua seperti ini:

Untuk mengatasi masalah ini, kita bisa ubah format yang digunakan pada scanf() menjadi seperti ini:

printf("Nama: "); scanf("%[^\n]s", name);

Maka fungsi scanf() akan menerima spasi.

Dalam menggunakan scanf(), kita dianjurkan menggunakan simbol & sebelum nama variabel.

Contoh:

#include <stdio.h> void main(){ int a, b, c; printf("Inputkan nilai a: "); scanf("%i", &a); printf("Inputkan nilai b: "); scanf("%i", &b); c = a + b; printf("Hasil a + b: %i", c); }

Simbol & berfungsi untuk mengambil alamat memori dari sebuah variabel.

Fungsi scanf() membutuhkan tempat untuk menyimpan nilai yang akan diinputkan.

Karena itu kita memberikan simbol & di depan nama variabel untuk menentukan alamat memori yang akan digunakan oleh scanf().

Nanti ini akan kita bahas lagi pada Pointer.

2. Fungsi gets()

Fungsi gets() adalah fungsi untuk mengambil input dalam satu baris. Fugnsi gets() tidak memerlukan format seperti scanf().

Contoh:

#include <stdio.h> int main () { char name[50], web_address[50]; printf("Nama: "); gets(name); printf("Alamat web: "); gets(web_address); printf("You entered: %s\n", name); printf("Web address: %s\n", web_address); return(0); }

Hasilnya:

Saat melakukan kompilasi, kita akan mendapatkan peringatan:

warning: the `gets' function is dangerous and should not be used.

Ini bukan error, melainkan hanya peringatan saja agar tidak menggunakan fungsi gets().

Mengapa?

Karena dapat menyebabkan masalah buffer overflow pada program. 1

Lalu bagaimana solusinya?

Kita bisa menggunakan:

3. Fungsi fgets()

Fungsi fgets() lebih aman dibandingkan gets(), karena kita bisa menentukan ukuran buffer dan sumber inputan.

Ukuran buffer adalah batas ukuran panjang string yang diinputkan. Lalu stdin adalah sumber inputan dari keyboard.

Kita juga bisa mengambil input dari file dengan fgets() dengan memasukan pointer FILE pada stdin.

Untuk lebih jelasnya, mari kita lihat contohnya:

#include <stdio.h> int main(){ char name[50], email[50]; printf("Nama: "); fgets(name, sizeof(name), stdin); printf("Email: "); fgets(email, sizeof(email), stdin); printf("\n-------------------------\n"); printf("Nama anda: %s", name); printf("Alamat email: %s", email); return 0; }

Hasilnya:

Pada contoh program di atas, kita menggunakan fungsi sizeof() untuk mengambil ukuran buffer dari variabel.

Ukuran ini akan menjadi batas maksimum dari inputan.

Apa Selanjutnya?

Kita sudah mempelajari fungsi input dan output pada C. Ada banyak pilihan fungsi untuk melakukan input dan output.

Gunakanlah fungsi sesuai kebutuhan.

Oh iya, untuk fungsi gets() tidak disarankan karena dapat menimbulkan masalah buffer overflow. Sebaiknya gunakan fgets() saja.

Selanjutnya silahkan pelajari tentang:

Selamat belajar…