Cara menggunakan php sscanf

Dalam 2 tutorial sebelum ini kita telah mempelajari cara menampilkan sesuatu (output) menggunakan perintah printf dalam bahasa pemrograman C. Kali ini kita akan bahas tentang fungsi perintah scanf serta cara penggunaan perintah scanf sebagai sarana input program bahasa C.

Table of Contents

  • Pengertian perintah scanf
  • Contoh Kode Program dengan scanf
  • Apa fungsi dari scanf?
  • Kapan digunakan perintah scanf?
  • Apakah fungsi scan selalu harus disertai dengan fungsi printf?
  • Apa itu String dalam bahasa C?


Pengertian perintah scanf

Perintah scanf, atau lebih tepatnya function scanf() adalah perintah bahasa C untuk menerima masukan ke dalam program, yakni sebagai sarana input dari pengguna.

Dengan menggunakan perintah scanf, kita bisa membuat program yang lebih interaktif, yakni meminta data dari user / pengguna. Data ini nantinya bisa disimpan ke dalam variabel dan diolah lebih lanjut untuk kemudian ditampilkan kembali.

Sama seperti printf, perintah scanf juga merupakan function yang butuh beberapa argumen. Berikut format dasar penggunaan fungsi scanf:

scanf(kode_format, &nama_variabel_penampung)

Bagian kode_format adalah format untuk tipe data inputan. Kode format ini sama seperti yang dipakai untuk fungsi printf, misalnya kode “%d” untuk tipe data integer, atau “%c” untuk tipe data char.

Bagian nama_variabel_penampung adalah nama variabel yang digunakan untuk menampung nilai inputan. Variabel ini harus sudah di deklarasikan sebelumnya.

Perhatikan penambahan tanda ‘&’ diawal variabel penampung. Tanda ini merujuk ke pointer untuk alamat memory dari variabel tersebut. Untuk tipe data dasar seperti int, float dan char, tanda ‘&’ harus disertakan. Untuk beberapa tipe data seperti string, tidak perlu ditambahkan tanda ‘&’.

Sama seperti printf, fungsi scanf juga bukan bagian dari inti bahasa C, tapi berasal dari library stdio.h. Karena itu kode #include <stdio.h> harus ditulis agar bisa menggunakan perintah scanf.


Contoh Kode Program dengan scanf

Langsung saja kita lihat contoh kode program bahasa C untuk penggunaan perintah scanf:

#include <stdio.h>

int main(void)
{
  int harga;

  printf("Masukkan harga barang: ");
  scanf("%d",&harga);

  printf("\n");
  printf("Harga barang adalah: %d", harga);
  printf("\n");

  return 0;
}

Di awal kode program, saya mendefinisikan 1 buah variabel harga yang diset sebagai int. Artinya, variabel harga hanya bisa diisi dengan angka bulat.

Selanjutnya terdapat baris printf(“Masukkan harga barang: “). Ini digunakan untuk menampilkan teks sebagai keterangan agar pengguna menginput sesuatu.

Proses pembacaan data di tangani oleh perintah scanf(“%d”,&harga). Disini, cursor akan berhenti dan menunggu kita menginput suatu nilai. Nilai ini akan disimpan ke dalam variabel harga. Tanda “%d” adalah sebagai kode format kalau nilai inputan harus berupa integer.

Terakhir, nilai dari variabel harga ini saya tampilkan kembali dengan perintah printf(“Harga barang adalah: %d”, harga). Berikut contoh hasilnya:

Yang juga harus menjadi catatan, ketika karakter yang diinput bukan angka, bahasa C akan mengkonversi karakter tersebut. Misalnya diinput angka 2500.25 (pecahan), yang akan di ambil hanya angka 2500 saja. Karena variabel harga hanya bisa menampung angka bulat.

Sebagai contoh kedua, saya akan buat kode program untuk menampung 3 inputan sekaligus:

#include <stdio.h>

int main(void)
{
  int harga;
  float nilai_ip;
  char huruf;

  printf("Harga barang: ");
  scanf("%d",&harga);

  printf("Nilai IP: ");
  scanf("%f",&nilai_ip);

  printf("Huruf pertama nama anda: ");
  scanf("%c",&huruf);

  printf("\n");
  printf("harga = %d , nilai_ip = %f dan huruf = %c", 
          harga, nilai_ip, huruf);
  printf("\n");

  return 0;
}

Kode program ini mirip seperti sebelumnya, hanya saja kali ini saya membuat 3 variabel bertipe int, float dan char. Setelah itu terdapat 3 perintah scanf untuk menerima input untuk ketiga variabel ini.

Akan tetapi, jika anda menjalankan kode program diatas, terdapat 1 masalah. Ketika kita menekan tombol enter setelah menginput angka untuk variabel nilai_ip, program langsung berakhir tanpa sempat berhenti untuk menerima input untuk variabel huruf.

Hal ini terjadi karena karakter “Enter” akan dibaca sebagai inputan untuk variabel huruf yang di set sebagai char.

Solusinya, tambahkan 1 spasi di dalam baris scanf(“%c”,&huruf) menjadi:

scanf(" %c",&huruf);

Trik ini akan mengatasi masalah karakter “Enter” yang langsung terinput ke variabel huruf. Berikut perubahan kode programnya:

#include <stdio.h>

int main(void)
{
  int harga;
  float nilai_ip;
  char huruf;

  printf("Harga barang: ");
  scanf("%d",&harga);

  printf("Nilai IP: ");
  scanf("%f",&nilai_ip);

  printf("Huruf pertama nama anda: ");
  scanf(" %c",&huruf);

  printf("\n");
  printf("harga = %d , nilai_ip = %f dan huruf = %c", 
          harga, nilai_ip, huruf);
  printf("\n");

  return 0;
}

Sekarang, inputan untuk ketiga variabel sukses di jalankan.


Dalam tutorial ini kita telah membahas cara penggunaan perintah scanf dalam bahasa pemrograman C. Perintah scanf dan printf adalah sarana input / output standar di dalam bahasa C. Kedua perintah ini akan sering kita pakai dalam pembahasan nantinya.

Untuk tutorial selanjutnya kita akan masuk ke bahasan tentang jenis-jenis tipe data di dalam bahasa C.

Apa fungsi dari 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.

Kapan digunakan perintah scanf?

Fungsi scanf() merupakan salah satu fungsi yang dapat digunakan untuk memasukkan berbagai jenis tipe data. Fungsi scanf() dapat digunakan untuk membaca tipe data string, karakter, integer, desimal, bilangan real, oktal, desimal, dll.

Apakah fungsi scan selalu harus disertai dengan fungsi printf?

harus, karena printer berguna untuk melihat/menghasilkan hasil scan.

Apa itu String dalam bahasa C?

String merupakan sekumpulan karakter. Dalam bahasa C, string direpresentasikan dengan array of char yang diakhiri dengan karakter null (null terminated string). Contoh deklarasi string : char judul[50]; char nama_kota[20]; Karena string dibentuk dari array of char, maka panjang string bisa tak terbatas.