Perintah printf yang dibahas dalam tutorial sebelumnya hanya menampilkan teks yang ditulis langsung. Dalam pemrograman, kita akan banyak menampilkan isi teks yang berasal dari variabel. Variabel ini nantinya didapat dari hasil inputan pengguna atau hasil pengolahan data.
Lanjutan tutorial bahasa pemrograman C di duniailkom kali ini akan membahas cara penulisan perintah printf untuk menampilkan isi variabel.
Format Penulisan Perintah printf untuk Menampilkan Variabel
Untuk menampilkan variabel menggunakan printf, terdapat pola khusus. Di dalam bahasa pemrograman C, kita harus mempersiapkan "tempat" untuk variabel itu, lalu menulis nama variabel di akhir perintah printf.
Agar lebih jelas, langsung saja kita lihat contoh kode programnya:
#include <stdio.h> int main(void) { int harga = 5000; float nilai_ip = 3.12; char huruf = 'A'; printf("Harga bakwan %i",harga); printf("\n"); printf("Semester 1 dapat nilai %f",nilai_ip); printf("\n"); printf("%c adalah huruf pertama dalam abjad",huruf); printf("\n"); return 0; }
Diawal kode program, saya mendefinisikan 3 buah variabel, yakni harga, nilai_ip dan huruf. Masing-masing variabel bertipe integer (int), float dan char. Setiap variabel langsung diisi dengan nilai awal.
Ketika isi variabel akan ditampilkan dengan perintah printf, kita tidak bisa menulisnya begitu saja, tapi ada format penulisan khusus.
Dalam bahasa C, perintah printf pada dasarnya adalah sebuah function atau fungsi. Sebuah function bisa diisi dengan argumen yang berfungsi sebagai nilai inputan. Argumen ini ditulis di dalam tanda kurung pada saat pemanggilan function. Jika terdapat beberapa argumen, dipisah dengan tanda koma.
Penjelasan dari kalimat diatas terasa cukup membingungkan terutama bagi anda yang belum pernah belajar tentang function di bahasa pemrograman lain.
Misalkan saya menulis perintah seperti ini:
printf("teks1", teks2, teks3);
Kode diatas artinya, saya menjalankan perintah printf dengan 3 buah argumen. Argumen pertama berupa "teks1", argumen kedua adalah teks2, dan argumen ketiga dengan nama teks3. Jika ada argumen ke-4, saya tinggal menambahkannya di bagian belakang, misalnya seperti ini:
printf("teks1", teks2, teks3, teks4);
Inilah yang dimaksud dengan penulisan argumen.
Kembali kepada kode program sebelumnya, terdapat perintah berikut:
printf("Harga bakwan %i",harga);
Disini perintah printf dijalankan dengan 2 buah argumen. Argumen pertama berupa teks "Harga bakwan %i", dan argumen kedua adalah variabel harga.
Perhatikan kode '%i' di dalam teks argumen pertama. Sama seperti escape character dalam tutorial sebelumnya, tanda % juga memiliki makna khusus di dalam bahasa pemrograman C, terutama di perintah printf.
Kode %i disini akan menginstruksikan kepada compiler bahasa C bahwa "ganti karakter ini dengan sebuah variabel bertipe integer yang ada di argumen kedua". Apakah isi argumen kedua? Yakni variabel harga. Apakah variabel harga bertipe integer? Betul. Maka hasilnya menjadi:
Harga bakwan 5000
Hal yang sama juga berlaku untuk perintah berikutnya:
printf("Semester 1 dapat nilai %f",nilai_ip);
Kode %f akan digantikan dengan isi dari variabel nilai_ip. Yang hasilnya menjadi:
Semester 1 dapat nilai 3.120000
Terakhir, perintah:
printf("%c adalah huruf pertama dalam abjad",huruf)
Akan diproses menjadi:
A adalah huruf pertama dalam abjad
Intinya adalah, kode % nantinya akan diganti dengan isi variabel yang ada di argumen kedua dari fungsi printf. Akan tetapi, kenapa kodenya beda-beda? Ada %i, ada %f dan %c, apa maksudnya? ini merupakan kode variabel untuk fungsi printf.
Kode Variabel untuk Perintah printf
Kode-kode khusus seperti %i, ada %f dan %c di dalam fungsi printf merujuk ke tipe data dari argumen kedua dari fungsi printf. Kode %i adalah kode khusus untuk variabel bertipe integer. Kode %f untuk variabel bertipe float, dan kode %c untuk variabel bertipe char.
Selain 3 kode ini, masih ada beberapa kode lain tergantung kepada apa tipe data dari variabel tersebut. Daftar lengkapnya lumayan panjang, tapi setidaknya ada 4 kode yang paling banyak dipakai:
Kode format | Tipe data variabel |
---|---|
% i atau %d |
int |
%c |
char |
%f |
float |
%s |
string |
Penulisan perintah printf seperti ini juga tidak hanya untuk 1 variabel dalam 1 perintah, tapi juga bisa banyak sekaligus selama urutan penulisan variabelnya sesuai. Berikut contoh kode programnya:
#include <stdio.h> int main(void) { int harga = 5000; float nilai_ip = 3.12; char huruf = 'A'; printf("Terdapat 3 variabel dalam kode program ini:"); printf("\n"); printf("harga=%d, nilai_ip=%f dan huruf=%c", harga, nilai_ip, huruf); printf("\n"); return 0; }
Kode program ini merupakan modifikasi dari kode sebelumnya. Kali ini saya hanya menggunakan 1 perintah printf untuk menampilkan 3 variabel.
Yang harus diperhatikan adalah, urutan variabel yang akan menggantikan kode khusus. Misalnya dalam contoh diatas, terdapat kode %d paling awal. Dengan demikian, di dalam argumen kedua saya harus menulis variabel yang bertipe integer.
Selanjutnya di dalam teks ada kode %f, ini akan berpasangan dengan argumen ketiga, begitu seterusnya hingga akhir teks.
Penulisan isi variabel di dalam bahasa C memang lumayan njelimet, bahkan mungkin paling rumit diantara bahasa pemrograman lain. Di bahasa pascal misalnya, kita tinggal menulis isi variabel tanpa harus pusing dengan kode tipe data, seperti:
write("Harga bakwan",harga);
Atau di dalam bahasa PHP menjadi lebih simple lagi:
echo "Harga bakwan $harga";
Namun inilah keunikan dari setiap bahasa pemrograman. Terlebih bahasa C memang paling dekat dengan bahasa mesin yang penuh dengan kode-kode. Ini pula yang menjadi alasan aplikasi yang dibuat dengan bahasa C bisa berjalan dengan lebih cepat dibandingkan aplikasi yang dibuat dengan bahasa yang lebih "mudah ditulis".
Dalam tutorial ini kita telah membahas tentang cara penulisan format perintah printf untuk menampilkan isi variabel. Perintah printf dipakai untuk menampilkan teks (output). Berikutnya kita akan bahas tentang perintah scanf yang dipakai untuk menerima masukan (input).
Min mengapa char itu selalu 1 karakter? Kalau ane coba make const char malah jadi 0?
kalau const char harus pakai [jumlah charnya+1] contoh: "const char[4] = pia" pia ada 3 huruf+1=4
Min, kalau saya pakai tipe data string kenapa tidak bisa ya?
String memiliki cara penulisah khusus di bahasa C (array dari char). Lengkapnya bisa kesini: https://www.duniailkom.com/tutorial-belajar-c-pengertian-dan-contoh-kode-program-tipe-data-string/
ini gk usah pake const lagi ya kak?
gatau aku bang
EBOOK UNCOVERED BAHASA C gak ada?
Untuk saat ini masih belum tersedia nih…
Kak EBOOK untuk BAHASA C ga ada ya??
Untuk saat ini eBook bahasa C masih belum tersedia nih…