Operasi Output-Input. Operasi output standar. Format output Operasi input standar. Format input. e.g. putchar(),putch(),puts(),printf()

Teks penuh

(1)

Operasi Output-Input

Operasi output standar

e.g.

putchar(),putch(),puts(),printf()

Format output

Operasi input standar

e.g.

getchar(),getch(),getche(),gets(),scanf()

(2)

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

Operasi Output

menampilkan data tidak terformat

putchar();

putch();

puts();

menampilkan data terformat

(3)

Peralatan output standar biasanya adalah layar monitor.

Simbol yang lazim digunakan dalam

flowchart

untuk

output standar adalah:

Output Standar

Cetak

(4)

Fungsi:

Menampilkan karakter ke layar monitor pada cursor,

kemudian (setelah karakter tampil) cursor bergerak ke posisi

berikutnya.

Mengembalikan

EOF

jika error, atau mengembalikan karakter

yang ditampilkan jika sukses

Fungsi

putchar()

yang ditampilkan jika sukses

Header file:

stdio.h

Contoh:

char ch=’A’;

putchar(ch);

(5)

Fungsi :

Seperti

putchar(ch)

untuk menampilkan karakter ASCII dari

ch

di layar monitor.

Header file:

conio.h

Tersedia dalam Borland C++ library, tetapi tidak dalam ANSI C

dan ANSI C++

Fungsi

putch()

dan ANSI C++

Mengembalikan

EOF

jika error, atau mengembalikan karakter

yang ditampilkan jika sukses.

Contoh:

char ch=’b’;

putch(ch);

(6)

Fungsi:

Menampilkan string ke layar monitor dan memindahkan

kursor ke baris baru.

Header file:

stdio.h

Mengembalikan nilai non-negative jika sukses atau

EOF

Fungsi

puts()

Mengembalikan nilai non-negative jika sukses atau

EOF

jika ada error.

Contoh:

puts(”Selamat Datang”);

(7)

Contoh program:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

int main(){

char c, s[20]="Ini data String";

Fungsi

putch(),puts(),putchar()

7

char c, s[20]="Ini data String";

c='A';

putch(65); putchar(65);

putch(c); putchar(c);

puts(s);

putch('\n');

putchar('\n');

system("PAUSE");

return(0);

}

AAAAIni data String

Press any key to continue . . .

Output:

(8)

Menampilkan sejumlah nilai data ke

standard output

,

dengan format tertentu.

Standard output

biasanya adalah layar monitor,

sedangkan

standard input

biasanya adalah keyboard.

Fungsi

printf()

sedangkan

standard input

biasanya adalah keyboard.

Header file untuk

printf

adalah:

stdio.h

Sintaks :

printf(const char *format[,argument, …]);

*format

:

format string, mengontrol bagaimana setiap fungsi akan

mengonversi, memformat dan mencetak setiap

argument

-nya

(9)

Format specifier

memiliki bentuk:

%[flags][width][.precision] type_char

Komponen

Keterangan

flags

Menentukan rata kanan, kiri atau bertanda:

• None : rata-kanan

Fungsi

printf()

• None : rata-kanan

• -

: rata-kiri

• + : menampilkan tanda (+ atau -)

width

Menentukan jumlah unit ruang (slot karakter)

yang disediakan

precision

Menentukan jumlah angka di belakang titik

desimal (untuk bilangan pecahan) atau jumlah

karakter (untuk string) yang ditampilkan

type_char

Menentukan tipe variabel/nilai-data yang akan

ditampilkan

(10)

type_char

Keterangan

c Menampilkan karakter tunggal

s Menampilkan string

d atau i Menampilkan bilangan integer bertanda

u Menampilkan bilangan integer desimal tak bertanda

Conversion-type Character

(

type_char

)

x Menampilkan bilangan integer hexadesimal tak bertanda (x dlm huruf kecil dan X dlm huruf besar)

o Menampilkan bilangan integer oktal tak bertanda f Menampilkan bilangan pecahan (titik desimal) E atau e Menampilkan bilangan pecahan eksponensial G atau g Menampilkan bilangan pecahan

p Menampilkan pointer

(11)

Format

specifier

(kode format)

Keterangan

“%c” Menampilkan sebuah karakter tunggal terformat

“%nc” Menampilkan sebuah karakter lebar n kolom rata kanan “%-nc” Menampilkan sebuah karakter lebar n kolom rata kiri

Contoh:

Format Karakter

Contoh:

#include <stdio.h>

#include <stdlib.h>

int main(){

printf("%c\n",65);

printf("%5c%5c%5c\n",65,66,67);

printf("%-5c%-5c%-5c\n",65,66,67);

system("PAUSE");

return(0);

}

(12)

Format

specifier

Keterangan

“%s” Menampilkan sebuah nilai string terformat

“%ns” Menampilkan nilai string lebar n kolom rata kanan “%-ns” Menampilkan nilai string lebar n kolom rata kiri

Format String

“%-ns” Menampilkan nilai string lebar n kolom rata kiri

“%n.ms” Menampilkan rata kanan hanya m buah karakter pertama saja dengan lebar n kolom.

“%-n.ms Menampilkan rata kiri hanya m buah karakter pertama saja dengan lebar n kolom.

(13)

#include <stdio.h>

#include <stdlib.h>

int main(){

char s[20]="Pemrograman C";

printf("%s%c\n",s,'|');

printf("%30s%c\n",s,'|');

Contoh Format String

printf("%30s%c\n",s,'|');

printf("%-30s%c\n",s,'|');

printf("%30.5s%c\n",s,'|');

printf("%-30.5s%c\n\n\n",s,'|');

system("PAUSE");

return(0);

}

(14)

Format

Specifier

Keterangan

“%d”, “%i” Menampilkan sebuah nilai signed integer terformat

“%u” Menampilkan sebuah nilai unsigned integer terformat “%ld”, “%li” Menampilkan sebuah nilai long integer terformat

“%hi” Menampilkan sebuah nilai short integer terformat

Format Desimal Integer

“%hi” Menampilkan sebuah nilai short integer terformat

“%hu” Menampilkan sebuah nilai unsigned short integer terformat “%lu” Menampilkan sebuah nilai unsigned long integer terformat “%ni”, “%nd” Menampilkan sebuah nilai integer terformat n kolom rata kanan “%-ni”, “%-nd” Menampilkan sebuah nilai integer terformat n kolom rata kiri

“%+ni”, “%+nd” Menampilkan nilai integer terformat dg tanda (+/-) n kolom rata kanan “%-+ni”, “%-+nd” Menampilkan nilai integer terformat dg tanda (+/-) n kolom rata kiri

“%0ni”, “%0nd” Menampilkan sebuah nilai integer terformat n kolom rata kanan dg blank di depan diganti 0.

(15)

#include <stdio.h>

#include <stdlib.h>

int main(){

int x=1234, y=-567;

long int z = -567;

printf("%d %u %hi %lu\n",y,y,y,z);

printf("Size of short:%d int:%d long:%d\n\n",

sizeof(short int), sizeof(int), sizeof(long int));

printf("%d %+8d %+8d %+8ld\n",x,x,y,z);

Contoh Format Desimal Integer

printf("%d %-8d %-8d %-8ld\n",x,x,y,z);

printf("%d %-+8d %-+8d %-+8ld\n",x,x,y,z);

printf("%d %+-8d %+-8d %+-8ld\n",x,x,y,z);

printf("%0d %+08d %+08d %+08ld\n\n",x,x,y,z);

system("PAUSE");

return(0);

}

(16)

Format

Specifier

Keterangan

“%x”, “%X” Menampilkan nilai unsigned integer terformat hexadesimal “%nx”, “%nX” Menampilkan format hexadesimal lebar n kolom rata kanan

“%0nx”, “%0nX” Menampilkan format hexadesimal lebar n kolom rata kanan dg blank di depan diganti 0.

Format Heksadesimal

depan diganti 0.

“%-nx”, “%-nX” Menampilkan format hexadesimal lebar n kolom rata kiri

“%#x”, “%#X” Menampilkan format hexadesimal diawali dengan “0x” atau “0X” “%#nx”, “%#nX” Menampilkan format hexadesimal lebar n kolom rata kanan diawali

dengan “0x” atau “0X”

“%#-nx”, “%#-nX” Menampilkan format hexadesimal lebar n kolom rata kiri diawali dengan “0x” atau “0X”

(17)

#include <stdio.h>

#include <stdlib.h>

int main(){

int x=7654;

printf("%x %X %10x %10X\n\n",x,x,x,x);

printf("%x %X %-10x %-10X\n\n",x,x,x,x);

printf("%x %X %010x %010X\n\n",x,x,x,x);

printf("%#x %#X %#10x %#10X\n\n",x,x,x,x);

printf("%#x %#X %#010x %#010X\n\n",x,x,x,x);

Contoh Format Heksadesimal

printf("%#x %#X %#010x %#010X\n\n",x,x,x,x);

printf("%#x %#X %#-10x %#-10X\n\n",x,x,x,x);

system("PAUSE");

return(0);

}

(18)

Format

specifier

Keterangan

“%o” Menampilkan nilai unsigned integer terformat oktal “%no” Menampilkan format oktal lebar n kolom rata kanan

“%0no” Menampilkan format oktal lebar n kolom rata kanan dg blank di depan diganti 0.

Format Oktal

diganti 0.

“%-no” Menampilkan format oktal lebar n kolom rata kiri “%#o” Menampilkan format oktal diawali dengan “0”

“%#no” Menampilkan format oktal lebar n kolom rata kanan diawali dengan “0” “%#-no” Menampilkan format oktal lebar n kolom rata kiri diawali dengan “0”

(19)

#include <stdio.h>

#include <stdlib.h>

int main(){

int x=7654;

printf("%o %10o%c\n\n",x,x,'|');

printf("%o %-10o%c\n\n",x,x,'|');

printf("%o %010o%c\n\n",x,x,'|');

printf("%o %#o%c\n\n",x,x,'|');

printf("%o %#o%c\n\n",x,x,'|');

Contoh Format Oktal

printf("%o %#o%c\n\n",x,x,'|');

printf("%o %#-10o%c\n\n\n",x,x,'|');

system("PAUSE");

return(0);

}

(20)

Format

Specifier

Keterangan

“%f” Menampilkan sebuah nilai float (pecahan) desimal terformat “%e” Menampilkan sebuah nilai float desimal terformat saintifik

“%g” Menampilkan sebuah nilai float desimal terformat yang terpendek di antara “%f” atau “%e”

“%lf”, “%le”, “%lg” Menampilkan sebuah nilai pecahan terformat double

Format Desimal Pecahan

“%lf”, “%le”, “%lg” Menampilkan sebuah nilai pecahan terformat double “%Lf”, “%Le”, “%Lg” Menampilkan sebuah nilai pecahan terformat long double

“%nf” Menampilkan nilai float integer terformat n kolom rata kanan “%-nf” Menampilkan nilai float integer terformat n kolom rata kiri

“%n.mf” Menampilkan nilai float integer terformat n kolom rata kanan dg m digit di belakang titik desimal

“%0n.mf” Menampilkan nilai float integer terformat n kolom rata kanan dg m digit di belakang titik desimal dan blank di depan diganti 0.

“%-+n.mf” Menampilkan nilai float terformat dg tanda (+/-) n kolom rata kiri dg m digit di belakang titik desimal

(21)

#include <stdio.h>

#include <stdlib.h>

int main(){

float x=7654.123456789;

double d = 7654.123456789012345l;

printf("%f %15f %15.3f\n\n",x,x,x);

Contoh Format Desimal Pecahan

printf("%f %15f %15.3f\n\n",x,x,x);

printf("%e %15e %15.3e\n\n",x,x,x);

printf("%g %15g %15.3g\n\n",x,x,x);

printf("%lf %20lf %+20.9lf\n\n",d,d,d);

system("PAUSE");

return(0);

}

(22)

#include <stdio.h> #include <math.h> #include <stdlib.h>

int main(){

int n; double fb;

printf(" TABEL FAKTOR BUNGA MAJEMUK\n\n"); printf(" n %10s %10s %10s %10s %10s\n\n",

"1.0%","2.0%","3.0%","4.0%","5.0%"); for(n=1; n<=15; n++){

printf("%02d ",n);

Contoh Format Desimal Pecahan

printf("%02d ",n);

for(int i=1; i<=5; i++){

fb = pow(1.0 + i/100.0, n); printf("%11.7lf",fb); } printf("\n"); } printf("\n"); system("PAUSE"); return(0); }

(23)

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:

Operasi Input

standart di bahasa pemrograman C di antaranya:

getchar();

getch();

getche();

gets();

scanf();

(24)

Peralatan input standar adalah keyboard

Simbol yang lazim digunakan dalam

flowchart

untuk

input standar adalah:

Input Standar

Baca

(25)

Fungsi:

Mengembalikan sebuah karakter (nilai ASCII) dari

keyboard buffer

Karakter ditampilkan di layar monitor

Menunggu sampai ditekan ENTER

Fungsi

getchar()

Menunggu sampai ditekan ENTER

Header file terdapat di

stdio.h

Contoh:

int ch;

//atau ch = getchar();

ch = getchar();

// cetak ch

(26)

Fungsi:

Mengembalikan satu karakter dari

keyboard buffer

Karakter tidak ditampilkan di layar monitor (

no echo

)

Tidak menunggu sampai ada ENTER

Header file terdapat di

conio.h

Fungsi

getch()

Header file terdapat di

conio.h

Contoh:

int ch;

//atau ch = getch();

ch = getch();

// cetak ch

(27)

Fungsi :

Mengembalikan satu karakter dari

keyboard buffer

Karakter ditampilkan di layar (

echo

)

Tidak menunggu sampai ada ENTER

Header file terdapat di

conio.h

Fungsi

getche()

Header file terdapat di

conio.h

Contoh:

int ch;

//atau ch = getche();

ch = getche();

// cetak ch

(28)

Fungsi:

Membaca string dari keyboard sampai new-line

dan

menyimpannya pada buffer.

Kemudian mengubah new-line

menjadi karakter null (\0)

Mengembalikan nilai NULL

jika ada error

dan

Fungsi

gets()

Mengembalikan nilai NULL

jika ada error

dan

mengembalikan argumennya (buffer) jika sukses.

Contoh:

char buffer[40];

gets(buffer);

//cetak buffer

(29)

Format:

int

scanf

(const char *

format

[,

argument

, ..]);

Fungsi:

Memindai (scan) serangkaian

input fields di

buffer, satu karakter

dalam satu saat

Memformat setiap

field

sesuai dengan

format specifier

dalam

format

string *

format

Mengembalikan nilai bertipe

integer, yang menyatakan jumlah

field

Fungsi

scanf()

Mengembalikan nilai bertipe

integer, yang menyatakan jumlah

field

yang sukses di-assigned.

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

Contoh :

int umurTahun;

(30)

Format specifier

berbentuk :

“% type_char”

type_char

Dipakai untuk membaca

d,i

u

o

x

-

Data integer

- Data unsigned integer

- Data unsigned octal

- Data heksadesimal

Fungsi

scanf()

x

e,f,g

c

- Data heksadesimal

- Data floating point

- Karakter tunggal (

single character

)

s

[…]

[^..]

-

String, diakhiri dengan

whitespace character

-

String, diakhiri dengan karakter yang tidak ada

didalam [...]; dengan kata lain, string yang dibaca &

disimpan adalah yang berisi karakter di dalam […]

- String, diakhiri dengan karakter yang ada

(31)

Jika x adalah variabel integer bernilai 234 dan

memiliki alamat 4567, apakah perbedaan x dengan

&x?

Jawab:

Nama Variabel

Nilai Data/

isi-memori

Alamat-Memori (&x)

Fungsi

scanf()

Jika ada y

bertipe integer

(int y;) dan y = x; maka y akan berisi

data

bernilai 234

Jika ada y

bertipe pointer to integer

(int *y) dan y = &x; maka

y akan berisi alamat dari x yaitu 45678

X

234

Nama Variabel

Alamat-Memori (&x)

(32)

Fungsi

scanf()

mengembalikan nilai bertipe

integer

,

yang menyatakan jumlah

field

yang sukses di-

assigned

.

Contoh:

int x,y,z,w;

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

Fungsi

scanf()

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

Jika diinputkan dari keyboard 3 buah nilai integer 6 7 8,

maka nilai x = 3;

Jika diinputkan dari keyboard 4 buah nilai integer 6 7 8 9

maka nilai x = 3 (karena hanya ada 3 nilai yangg sukses

di-assigned

ke masing-masing variabel y, z dan w)

(33)

Contoh Program Luas Segi Empat

/

* Program Luas_Segi_Empat */

#include <stdio.h>

#include <stdlib.h>

int main(){

Fungsi

scanf()

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);

}

(34)

Mengambil data

string

dari

keyboard

dengan fungsi

scanf()

menggunakan format: %s.

Contoh:

char ss[40];

Fungsi

scanf()

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

&

(i.e.

&ss

).

(35)

Karakter

new line

(

‘\n’

),

horizontal tab

(

‘\t’

),

carriage-return

(

‘\r’

),

form feed

(

‘\f’

), dan

vertical-tab (

‘\v’

)

disebut

”white-space characters”

Contoh :

Pada potongan program sebelumnya, jika

Fungsi

scanf()

Pada potongan program sebelumnya, 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]

(36)

Contoh:

char ss[40];

scanf(”%[^\n]”,ss);

Fungsi

scanf()

Pada potongan program diatas, jika dimasukkan

string

”Selamat Pagi Pak”

kemudian tekan

ENTER dari

keyboard

maka variabel

ss

berisi string

(37)

Contoh:

char ss[40];

scanf(”%[a-z]”,ss);

Fungsi

scanf()

Pada potongan program diatas, jika dimasukkan

string:

http://brawijaya.ac.id

kemudian

ditekan ENTER dari keyboard maka variabel

ss

hanya berisi string:

http.

Titik dua (

‘:’

) tidak ada di antara a dan z, sehingga

titik dua dianggap sebagai akhir dari string yang

(38)

Contoh:

int x;

scanf("%o", &x);

Fungsi

scanf()

Pada potongan program di atas, jika dimasukkan

bilangan :

44

kemudian ditekan ENTER dari

keyboard

maka variabel

x

akan berisi nilai :

36

desimal, karena

(39)

Fungsi

scanf()

Contoh:

int x;

scanf("%x", &x);

Pada potongan program di atas, jika dimasukkan

bilangan :

44

kemudian ditekan ENTER dari

keyboard

maka variabel

x

akan berisi nilai :

68

desimal, karena

Figur

Memperbarui...

Referensi

Memperbarui...

Related subjects :