kode %a %c %d %i %e %f %g
keterangan float (C99) karakter tunggal integer desimal integer dalam desimal, oktal, atau heksadesimal float float float
%o
%s %x %p %n %u %[] %%
oktal
string heksadesimal pointer jumlah karakter yang terbaca integer desimal positif set karakter Tanda %
Fungsi: Mengembalikan sebuah karakter (nilai ASCII) dari keyboard buffer Karakter ditampilkan di layar monitor Menunggu sampai ditekan ENTER Header file terdapat di stdio.h Contoh : getchar.c getchar2.c
buffer
Karakter tidak ditampilkan di layar monitor (no echo) Tidak Menunggu sampai ditekan ENTER Header file terdapat di conio.h Contoh : getch.c
buffer echo)
Tidak Menunggu sampai ditekan ENTER Header file terdapat di conio.h Contoh : getche.c
Jika kita menggunakan fungsi scanf untuk membaca data yang bertipe string, maka data tersebut hanya akan dibaca sampai ditemukan spasi. Misalnya nama naufal rasendriya hanya kata naufal yang akan dibaca oleh program, sedangkan kata resendriya tidak terbaca karena sebelum kata tersebut program telah menemukan spasi yang mengakibatkan data ke varibel yang menyimpan nama dianggap selesai. Solusi = gunakan gets() contoh: gets.c gets2.c
Fungsi scanf lebih cocok digunakan untuk data-data numerik. Semua tipe argument pada scanf() adalah pointer (alamat dari variabel yang akan diisikan data) Untuk memperoleh alamat dari variabel digunakan operator & Header file: stdio.h
Jika tidak mempergunakan operator alamat & ini maka ketika data diinputkan akan muncul pesan error Segmentation fault. Sedangkan untuk data string tidak perlu menggunakan operator ini. Tetapi jika digunakan tidak menjadi masalah. Fungsi scanf biasanya digunakan bersama-sama dengan fungsi printf. Perhatikan contoh berikut : scanf.c
Tipe data
Integer Floating bentuk desimal Floating bentuk berpangkat Floating bentuk desimal dan pangkat
Double precision Character String Unsigned integer Long integer Long unsigned integer Unsigned hexadecimal
%d
%e atau %f %lf %c %s %u %ld %lu %x
Unsigned octal
%o
scanf() Tidak dapat menerima string yang mengandung spasi/tab dan dianggap data terpisah
gets() Dapat menerima string yang mengandung spasi/tab dan semua dianggap satu kesatuan data
#include <stdio.h> #include <iostream.h> #include <conio.h> void main() { char nama[15]; puts("Ketik nama anda: "); gets(nama); puts("Haloo... "); puts(nama); getch(); }
Dipakai untuk menampilkan nilai data ke peralatan output sebagai data keluaran. Beberapa fungsi (standard library function) yang terdapat pada bahasa pemrograman C dapat: menampilkan data tidak terformat putchar(); putch(); puts(); menampilkan data terformat printf();
Printf():
Fungsi output yang paling umum digunakan
Puts():
Sama dengan printf() kepanjangan dari PUT STRING. Lebih khusus digunakan untuk tipe data string.
Putchar():
Untuk menampilkan sebuah karakter ke layar dan tidak diakhiri pindah baris.
Putch():
kode %a %A
keterangan Heksadesimal dalam format 0xh.hhhhp+d (C99) Heksadesimal dalam format 0xh.hhhhP+d (C99)
%c
%d %i %e %E %f %g %G %o %s %x %X %p
karakter tunggal
integer desimal integer desimal notasi scientific notasi scientific (E kapital) float desimal float float oktal positif String Heksadesimal Heksadesimal (kapital) Pointer
kode %n %u %%
keterangan jumlah karakter yang terbaca (dari pointer) integer desimal positif Tanda %
Tipe data Integer Floating bentuk desimal Floating bentuk berpangkat Floating bentuk desimal dan pangkat Double precision Character String Unsigned integer
Long integer
Long unsigned integer Unsigned hexadecimal Unsigned octal
%ld
%lu %x %o
Menampilkan sejumlah nilai data ke standard output, dengan format tertentu. Header file untuk printf adalah: stdio.h
Kode Format
Keterangan
Menampilkan sebuah karakter tunggal terformat Menampilkan sebuah karakter lebar n kolom rata kanan Menampilkan sebuah karakter lebar n kolom rata kiri Menampilkan rata kanan hanya m buah karakter pertama saja dengan lebar n kolom. Menampilkan rata kiri hanya m buah karakter pertama saja dengan lebar n kolom.
Contoh:
19
%-n.ms
#include <iostream.h> #include <conio.h> #include <stdio.h> void main() { float a=3.25; int x=1; char y='A'; printf("IP Semester anda: %f \n",a); printf("%c Termasuk huruf yang ke%d",y,x); getch(); }
Kode Format
Keterangan
%n.mf
Menampilkan nilai float integer terformat n kolom rata kanan dg m digit di belakang titik desimal
Contoh:
21
Escape Sequence \a
\b \f \n \r \t \ \ \\ \xaa \aaa
#include <iostream.h> #include <conio.h> #include <stdio.h> void main() { int a=1, b=2, c=3; int d=4, e=5, f=6; printf("%d\t %d\t %d\t \n",a,b,c); printf("%d\t %d\t %d\t",d,e,f); getch(); }
Menampilkan string ke layar monitor dan memindahkan kursor ke baris baru. Header file: stdio.h Contoh : puts.c
Printf() Harus menentukan tipe data untuk string yaitu %s Untuk mencetak pindah baris memerlukan notasi \n
Puts() Tidak perlu penentu tipe data karena khusus untuk tipe string Untuk mencetak pindah baris tidak perlu notasi \n karena otomatis
#include <iostream.h> #include <conio.h> #include <stdio.h> void main() { char y[6]="AMIKOM"; puts("Saya kuliah di "); puts(y); getch(); }
Fungsi: digunakan untuk menampilkan sebuah karakter saja dan tidak mengandung escape sequence \n . Fungsi putchar ini hanya bisa menampilkan satu buah karakter saja sehingga apapun nilai yang kita masukkan hanya karakter pertama yang akan ditampilkan.
Fungsi scanf mengembalikan tipe integer, dimana nilai nya menyatakan jumlah field yang sukses di assigned.
Contoh:
int x,y,z,w; x = scanf("%d %d %d", &y, &z, &w);
Jika di input dari keyboard 3 buah nilai interger 6 7 8, maka nilai x = 3; Jika di input dari keyboard 4 buah nilai interger 6 7 8 9 maka nilai x = 3 (karena 3 nilai yg sukses di-assigned masing-masing ke variabel y, z dan w)
27
Mengambil data string dari keyboard dengan fungsi scanf menggunakan format: %s.
Contoh: char ss[40]; scanf(%s,ss); Perhatikan contoh diatas, karena variabel ss tipenya sudah pointer (Topik tentang pointer akan dibahas tersendiri), maka tidak perlu ditambah tanda & (&ss). String yang diambil hanya sampai karakter whitespace.
29
Karakter Space, tab, linefeed, carriage-return, formfeed, vertical-tab, dan newline disebut white-
space characters
Contoh : Pada potongan program diatas, jika dimasukkan string Selamat Pagi Pak dari keyboard maka yg dimasukkan ke variabel ss hanya Selamat saja. Untuk mengambil string yang diakhiri karakter tertentu (misalnya ENTER), dengan scanf dapat menggunakan format [^\n]
30
31
Contoh: char ss[40]; scanf(%[a-z],ss); Pada potongan program diatas, jika dimasukkan string: http://brawijaya.ac.id kemudian tekan ENTER dari keyboard maka variabel ss hanya berisi string: http karena titik dua (:) tidak ada diantara a s/d z, dan titik dua dianggap sebagai akhir dari string.
32
Apa yang terjadi jika pada program diatas di input 2 nilai integer dari keyboard? Berapa nilai x jika diinput dari keyboard 3 buah character ?
33
Apa isi variabel ss1 dan ss2, jika dari keyboard diinput string Selamat Pagi Pak ? Berapa nilai x jika diinput dari keyboard : Kelas 1PAT
34
Apa isi variabel ss, jika dari keyboard diinput string Selamat Pagi ? char ch; ch = getchar();
2.
Apa isi variabel ch, jika dari keyboard di-input : TIF-FTUB char ch1, ch2; ch1 = getchar(); //masukkan kata TIF-FTUB! ch2 = getchar();
3.
Apa isi variabel ch1 dan ch2, jika dari keyboard di-input : TIF-FTUB
35
Buatlah program untuk menerima input dari keyboard, berupa nilai : Tugas Kelompok (NTK) Nilai Kuis (NK) Nilai UAS (NUAS)
Hitung dan tampilkan nilai akhir dengan rumus :
NA = 20 % * Nilai NTK + 30 % Nilai Kuis + 50 % Nilai UAS
36
#include <stdio.h> int main() { char nama[40]; int nim; char jk; printf("Nama:"); scanf("%[^\n]",nama); printf("Nim:"); scanf("%d",&nim); printf("Jenis Kelamin (L/P):"); jk=getchar(); return 0; }
Perhatikan Program di atas! Setelah memasukkan nama dan nim dari keyboard, program langsung keluar, instruksi jk=getchar(); seolah-olah tdk pernah dieksekusi, jelaskan mengapa demikian?
37
#include <stdio.h> int main(){ char ss[]="10 % 3 = 1\n"; char str[]="Selamat Datang di Amikom\n"; printf(ss); printf("%s",ss); printf(str); printf("%s",str); return 0; } Apakah output dari program diatas ?
38
1. Masukkan kalimat, kemudian Tampilkan Kalimat tersebut dimulai dari urutan yang paling belakang (terbalik). Contoh = Hallo -> ollaH 2. Masukkan kalimat, cari huruf yang diinginkan dan menghitung jumlah huruf tersebut dalam kalimat 3. Masukkan kalimat, hitung jumlah karakter yang ada di kalimat 4. Buat Tampilan angka berikut : 122333444455555666666 5. Buat Tampilan angka berikut : 666666555554444333221
2.
3. 4.
5.
6.
Munir, Rinaldi, 2005, Algoritma dan Pemrograman dalam bahasa Pascal dan C, Penerbit Informatika Bandung Sutisna, Asep, 2010, Modul Kuliah Algoritma dan Pemrograman Wahyuningrum, Tenia, 2010, Dasar Algoritma Liem, Inggriani, 2007, Diktat Algoritma dan Pemrograman, Pemrograman Prosedural, IF-ITB Setiaji, Bayu, 2010, Materi kuliah Algoritma dan Pemrograman Dasar Pemrograman Komputer, Input & Output standar