Anda di halaman 1dari 40

Operasi untuk menyimpan nilai data ke variabel tertentu melalui peralatan I/O, mis. keyboard, disk, dll.

Standard library function berkaitan operasi input

standart di bahasa pemrograman C di antaranya: getchar(); getch(); getche(); gets(); scanf();

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

Fungsi: Mengembalikan satu karakter dari keyboard

buffer

Karakter tidak ditampilkan di layar monitor (no echo) Tidak Menunggu sampai ditekan ENTER Header file terdapat di conio.h Contoh : getch.c

Fungsi: Mengembalikan satu karakter dari keyboard

buffer echo)

Karakter ditampilkan di layar monitor (no

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

Format untuk scanf()

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(%d%d%d, &a, &b, &c);

printf(%d + %d = %d, x, y, x + y);

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

Format untuk printf() %d %f %e %g %lf %c %s %u

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

%c %nc %-nc %n.ms

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

Keterangan Bunyi bell


Backspace Pindah halaman Pindah baris Carriage return Tab dengan jarak 7 digit Tanda kutip tunggal Tanda kutip ganda Backslash Kode ASCII dalam hexadecimal Kode ASCII dalam octal

#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.

Header file: stdio.h

Contoh: Putchar.c putchar2.c putsputchar.c

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

Contoh Program Luas Segi Empat


/* Program Luas_Segi_Empat v1*/ #include <stdio.h> #include <iostream.h> int main() { int panjang, lebar, luas; printf("Menghitung Luas Segiempat\n\n"); printf("Panjang : "); scanf("%d",&panjang); printf(Lebar : "); scanf("%d",&lebar); luas = panjang * lebar; printf("\nLuas = %d x %d = %d\n\n", panjang, lebar, luas); system("PAUSE"); return(0); }
28

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

Contoh: char ss[40]; scanf(%[^\n],ss);


Pada potongan program diatas, jika dimasukkan string Selamat Pagi Pak kemudian tekan ENTER dari keyboard maka variabel ss berisi string Selamat Pagi Pak

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

int x,y,z,w; x=scanf("%d %d %d",&y,&z,&w);


1. 2.

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

char ss1[40]; char ss2[40]; x=scanf(%s %s,ss1,ss2);


1. 2.

Apa isi variabel ss1 dan ss2, jika dari keyboard diinput string Selamat Pagi Pak ? Berapa nilai x jika diinput dari keyboard : Kelas 1PAT

34

char ss[40]; scanf(%4s, ss);


1.

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

Daftar Pustaka (Referensi)


1.

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

Anda mungkin juga menyukai