Operasi Output Input Operasi OutputInput Operasi output standar

  • Slides: 43
Download presentation
Operasi Output & Input

Operasi Output & Input

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

Operasi Output-Input Operasi output standar § e. g. putchar(), putch(), puts(), printf() Format output Operasi input standar § e. g. getchar(), getche(), gets(), scanf() Format input Input Output - TIF UB 2010 2

Operasi Output Dipakai untuk menampilkan nilai data ke peralatan output sebagai data keluaran. Beberapa

Operasi Output 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(); Input Output - TIF UB 2010 3

Output Standar Peralatan output standar biasanya adalah layar monitor. Simbol yang lazim digunakan dalam

Output Standar Peralatan output standar biasanya adalah layar monitor. Simbol yang lazim digunakan dalam flowchart untuk output standar adalah: Cetak. . . . Input Output - TIF UB 2010 4

Fungsi putchar() Fungsi: § Menampilkan karakter ke layar monitor pada cursor, kemudian (setelah karakter

Fungsi putchar() 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 § Header file: stdio. h Contoh: char ch=’A’; putchar(ch); Input Output - TIF UB 2010 5

Fungsi putch() Fungsi : § Seperti putchar(ch) untuk menampilkan karakter ASCII dari ch di

Fungsi putch() 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++ § Mengembalikan EOF jika error, atau mengembalikan karakter yang ditampilkan jika sukses. Contoh: char ch=’b’; putch(ch); Input Output - TIF UB 2010 6

Fungsi puts() Fungsi: § Menampilkan string ke layar monitor dan memindahkan kursor ke baris

Fungsi puts() Fungsi: § Menampilkan string ke layar monitor dan memindahkan kursor ke baris baru. § Header file: stdio. h § Mengembalikan nilai non-negative jika sukses atau EOF jika ada error. Contoh: puts(”Selamat Datang”); puts(”Di Bahasa Pemrograman C”); Input Output - TIF UB 2010 7

Fungsi putch(), puts(), putchar() Contoh program: #include <stdio. h> #include <conio. h> #include <stdlib.

Fungsi putch(), puts(), putchar() Contoh program: #include <stdio. h> #include <conio. h> #include <stdlib. h> int main(){ 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); } Output: AAAAIni data String Press any key to continue. . . Input Output - TIF UB 2010 8

Fungsi printf() Menampilkan sejumlah nilai data ke standard output, dengan format tertentu. Standard output

Fungsi printf() Menampilkan sejumlah nilai data ke standard output, dengan format tertentu. Standard output biasanya adalah layar monitor, sedangkan standard input biasanya adalah keyboard. Header file untuk printf adalah: stdio. h Input Output - TIF UB 2010 9

Fungsi printf() Sintaksis untuk prototype: int printf(const char* format[, argument, …]); Parameter: format: –

Fungsi printf() Sintaksis untuk prototype: int printf(const char* format[, argument, …]); Parameter: format: – format string, string yang akan dituliskan pada monitor (stdout) – dapat mengandung format tags (%. . . ) yang akan digantikan dengan nilai argument yang terdapat setelah format string dan diformat sesuai kode pada tag tersebut argument: – Argument yang nilainya akan menggantikan %-tag pada format string Nilai kembalian – Jika sukses, jumlah karakter yang dicetak akan dikembalikan – Jika gagal, angka negatif dikembalikan. Input Output - TIF UB 2010 10

Fungsi printf() Format tag memiliki bentuk: %[flags][width][. precision] specifier Komponen Keterangan flags Menentukan rata

Fungsi printf() Format tag memiliki bentuk: %[flags][width][. precision] specifier Komponen Keterangan flags Menentukan rata kanan, kiri atau bertanda: • None : rata-kanan • : rata-kiri • + : menampilkan tanda (+ atau -) width Menentukan jumlah unit ruang (slot karakter) yang disediakan precision Menentukan presisi bilangan atau karakter, mis. jumlah angka di belakang titik desimal (untuk bilangan pecahan , % f) atau jumlah karakter (untuk string) yang ditampilkan specifier Menentukan tipe variabel/nilai-data yang akan ditampilkan Input Output - TIF UB 2010 11

Conversion Specifier specifier Keterangan c Menampilkan karakter tunggal s Menampilkan string d atau i

Conversion Specifier specifier Keterangan c Menampilkan karakter tunggal s Menampilkan string d atau i Menampilkan bilangan integer bertanda u Menampilkan bilangan integer desimal tak bertanda 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 L atau l atau h Menampilkan pointer Awalan untuk L atau l (long) dan h (short). Input Output - TIF UB 2010 12

Format Karakter Format tags (kode format) Keterangan “%c” Menampilkan sebuah karakter tunggal terformat “%nc”

Format Karakter Format tags (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: #include <stdio. h> #include <stdlib. h> int main(){ printf("%cn", 65); printf("%5 c%5 c%5 cn", 65, 66, 67); printf("%-5 c%-5 cn", 65, 66, 67); system("PAUSE"); return(0); } Input Output - TIF UB 2010 13

Escape Sequence a b t n v r ’ ” \ bell, alert, system

Escape Sequence a b t n v r ’ ” \ bell, alert, system beep back space horizontal tab new line vertical tab carriage return, move to the beginning of current line single quote double quote backslash Pengantar Bahasa C - TIF UB 2010 14

Format String Format tags Keterangan “%s” Menampilkan sebuah nilai string terformat “%ns” Menampilkan nilai

Format String Format tags 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 “%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. Input Output - TIF UB 2010 15

Contoh Format String #include <stdio. h> #include <stdlib. h> int main(){ char s[20]="Pemrograman C";

Contoh Format String #include <stdio. h> #include <stdlib. h> int main(){ char s[20]="Pemrograman C"; printf("%s%cn", s, '|'); printf("%30 s%cn", s, '|'); printf("%-30 s%cn", s, '|'); printf("%30. 5 s%cn", s, '|'); printf("%-30. 5 s%cnnn", s, '|'); system("PAUSE"); return(0); } Input Output - TIF UB 2010 16

Format Desimal Integer Format tags “%d”, “%i” “%u” Keterangan Menampilkan sebuah nilai signed integer

Format Desimal Integer Format tags “%d”, “%i” “%u” Keterangan Menampilkan sebuah nilai signed integer terformat Menampilkan sebuah nilai unsigned integer terformat “%ld”, “%li” Menampilkan sebuah nilai long integer terformat “%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” “%0 ni”, “%0 nd” Menampilkan nilai integer terformat dg tanda (+/-) n kolom rata kiri Menampilkan sebuah nilai integer terformat n kolom rata kanan dg blank di depan diganti 0. Input Output - TIF UB 2010 17

Contoh Format Desimal Integer #include <stdio. h> #include <stdlib. h> int main(){ int x=1234,

Contoh Format Desimal Integer #include <stdio. h> #include <stdlib. h> int main(){ int x=1234, y=-567; long int z = -567; printf("%d %u %hi %lun", y, y, y, z); printf("Size of short: %d int: %d long: %dnn", sizeof(short int), sizeof(long int)); printf("%d %+8 d %+8 ldn", x, x, y, z); printf("%d %-8 d %-8 ldn", x, x, y, z); printf("%d %-+8 d %-+8 ldn", x, x, y, z); printf("%d %+-8 d %+-8 ldn", x, x, y, z); printf("%0 d %+08 d %+08 ldnn", x, x, y, z); system("PAUSE"); return(0); } Input Output - TIF UB 2010 18

Format Heksadesimal Format tags Keterangan “%x”, “%X” Menampilkan nilai unsigned integer terformat hexadesimal “%nx”,

Format Heksadesimal Format tags Keterangan “%x”, “%X” Menampilkan nilai unsigned integer terformat hexadesimal “%nx”, “%n. X” Menampilkan format hexadesimal lebar n kolom rata kanan “%0 nx”, “%0 n. X” Menampilkan format hexadesimal lebar n kolom rata kanan dg blank di depan diganti 0. “%-nx”, “%-n. X” Menampilkan format hexadesimal lebar n kolom rata kiri “%#x”, “%#X” “%#nx”, “%#n. X” “%#-nx”, “%#-n. X” Menampilkan format hexadesimal diawali dengan “ 0 x” atau “ 0 X” Menampilkan format hexadesimal lebar n kolom rata kanan diawali dengan “ 0 x” atau “ 0 X” Menampilkan format hexadesimal lebar n kolom rata kiri diawali dengan “ 0 x” atau “ 0 X” Input Output - TIF UB 2010 19

Contoh Format Heksadesimal #include <stdio. h> #include <stdlib. h> int main(){ int x=7654; printf("%x

Contoh Format Heksadesimal #include <stdio. h> #include <stdlib. h> int main(){ int x=7654; printf("%x %X %10 x %10 Xnn", x, x); printf("%x %X %-10 x %-10 Xnn", x, x); printf("%x %X %010 x %010 Xnn", x, x); printf("%#x %#X %#10 x %#10 Xnn", x, x); printf("%#x %#X %#010 x %#010 Xnn", x, x); printf("%#x %#X %#-10 x %#-10 Xnn", x, x); system("PAUSE"); return(0); } Input Output - TIF UB 2010 20

Format Oktal Format tags Keterangan “%o” Menampilkan nilai unsigned integer terformat oktal “%no” Menampilkan

Format Oktal Format tags Keterangan “%o” Menampilkan nilai unsigned integer terformat oktal “%no” Menampilkan format oktal lebar n kolom rata kanan “%0 no” Menampilkan format oktal lebar n kolom rata kanan dg blank di depan 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” Input Output - TIF UB 2010 21

Contoh Format Oktal #include <stdio. h> #include <stdlib. h> int main(){ int x=7654; printf("%o

Contoh Format Oktal #include <stdio. h> #include <stdlib. h> int main(){ int x=7654; printf("%o %10 o%cnn", x, x, '|'); printf("%o %-10 o%cnn", x, x, '|'); printf("%o %010 o%cnn", x, x, '|'); printf("%o %#o%cnn", x, x, '|'); printf("%o %#-10 o%cnnn", x, x, '|'); system("PAUSE"); return(0); } Input Output - TIF UB 2010 22

Format Desimal Pecahan Format Tags Keterangan “%f” Menampilkan sebuah nilai float (pecahan) desimal terformat

Format Desimal Pecahan Format Tags 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” “%Lf”, “%Le”, “%Lg” Menampilkan sebuah nilai pecahan terformat double 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 “%0 n. 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 Input Output - TIF UB 2010 23

Contoh Format Desimal Pecahan #include <stdio. h> #include <stdlib. h> int main(){ float x=7654.

Contoh Format Desimal Pecahan #include <stdio. h> #include <stdlib. h> int main(){ float x=7654. 123456789; double d = 7654. 123456789012345 l; printf("%f %15. 3 fnn", x, x, x); printf("%e %15. 3 enn", x, x, x); printf("%g %15. 3 gnn", x, x, x); printf("%lf %20 lf %+20. 9 lfnn", d, d, d); system("PAUSE"); return(0); } Input Output - TIF UB 2010 24

Contoh Format Desimal Pecahan #include <stdio. h> #include <math. h> #include <stdlib. h> int

Contoh Format Desimal Pecahan #include <stdio. h> #include <math. h> #include <stdlib. h> int main(){ int n; double fb; printf(" TABEL FAKTOR BUNGA MAJEMUKnn"); printf(" n %10 s %10 snn", "1. 0%", "2. 0%", "3. 0%", "4. 0%", "5. 0%"); for(n=1; n<=15; n++){ printf("%02 d ", n); for(int i=1; i<=5; i++){ fb = pow(1. 0 + i/100. 0, n); printf("%11. 7 lf", fb); } printf("n"); system("PAUSE"); return(0); } Input Output - TIF UB 2010 25

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

Operasi Input 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(); getche(); gets(); scanf(); Input Output - TIF UB 2010 26

Input Standar Peralatan input standar adalah keyboard Simbol yang lazim digunakan dalam flowchart untuk

Input Standar Peralatan input standar adalah keyboard Simbol yang lazim digunakan dalam flowchart untuk input standar adalah: Baca Daftar_variabel Input Output - TIF UB 2010 27

Fungsi getchar() Fungsi: § Mengembalikan sebuah karakter (nilai ASCII) dari keyboard buffer § Karakter

Fungsi getchar() 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: int ch; //atau ch = getchar(); // cetak ch printf(“ch = %c”, ch); Input Output - TIF UB 2010 28

Fungsi getch() Fungsi: § § Mengembalikan satu karakter dari keyboard buffer Karakter tidak ditampilkan

Fungsi getch() 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 Contoh: int ch; //atau ch = getch(); // cetak ch printf(“ch = %c”, ch); Input Output - TIF UB 2010 29

Fungsi getche() Fungsi : § § Mengembalikan satu karakter dari keyboard buffer Karakter ditampilkan

Fungsi getche() Fungsi : § § Mengembalikan satu karakter dari keyboard buffer Karakter ditampilkan di layar (echo) Tidak menunggu sampai ada ENTER Header file terdapat di conio. h Contoh: int ch; //atau ch = getche(); // cetak ch printf(“ch = %c”, ch); Input Output - TIF UB 2010 30

Fungsi gets() Fungsi: § Membaca string dari keyboard sampai new-line dan menyimpannya pada buffer.

Fungsi gets() Fungsi: § Membaca string dari keyboard sampai new-line dan menyimpannya pada buffer. § Kemudian mengubah new-line menjadi karakter null () § Mengembalikan nilai NULL jika ada error dan mengembalikan argumennya (buffer) jika sukses. Contoh: char buffer[40]; gets(buffer); //cetak buffer printf(“buffer = %s”, buffer); Input Output - TIF UB 2010 31

Fungsi scanf() § Format: int scanf(const char *format [, argument, . . ]); §

Fungsi scanf() § 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 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 umur. Tahun; scanf(”%d”, &umur. Tahun); Input Output - TIF UB 2010 32

Fungsi scanf() Format tag memiliki bentuk: %[*][width] type Komponen Keterangan * Menunjukkan bahwa data

Fungsi scanf() Format tag memiliki bentuk: %[*][width] type Komponen Keterangan * Menunjukkan bahwa data akan diambil dari stdin tetapi diabaikan, i. e. tidak disimpan di argumen yang berkaitan. width Menentukan jumlah unit ruang (slot karakter) yang disediakan type Menentukan tipe variabel/nilai-data yang akan ditampilkan Input Output - TIF UB 2010 33

Type specifier type d, i u o x e, f, g c Dipakai untuk

Type specifier type d, i u o x e, f, g c Dipakai untuk membaca - Data integer - Data unsigned octal - Data heksadesimal - Data floating point - Karakter tunggal (single character) Catatan: Beberapa type specifier di atas dapat ditambahkan dengan modifiers, seperti h, l, L 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 [^. . ] Input Output - TIF UB 2010 34

Fungsi scanf() Jika x adalah variabel integer bernilai 234 dan memiliki alamat 4567, apakah

Fungsi scanf() Jika x adalah variabel integer bernilai 234 dan memiliki alamat 4567, apakah perbedaan x dengan &x? Jawab: Nilai Data/ isi-memori Nama Variabel X 234 Alamat-Memori (&x) 45678 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 Input Output - TIF UB 2010 35

Fungsi scanf() mengembalikan nilai bertipe integer, yang menyatakan jumlah field yang sukses di-assigned. Contoh:

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); § § 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 diassigned ke masing-masing variabel y, z dan w) Input Output - TIF UB 2010 36

Fungsi scanf() Contoh Program Luas Segi Empat /* Program Luas_Segi_Empat */ #include <stdio. h>

Fungsi scanf() Contoh Program Luas Segi Empat /* Program Luas_Segi_Empat */ #include <stdio. h> #include <stdlib. h> int main(){ int panjang, lebar, luas; printf("Menghitung Luas Segiempatnn"); printf("Panjang: "); scanf("%d", &panjang); printf(“Lebar: "); scanf("%d", &lebar); luas = panjang * lebar; printf("n. Luas = %d x %d = %dnn", panjang, lebar, luas); system("PAUSE"); return(0); } Input Output - TIF UB 2010 37

Fungsi scanf() Mengambil data string dari keyboard dengan fungsi scanf() menggunakan format: %s. Contoh:

Fungsi scanf() 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 & (i. e. &ss). String yang diambil hanya sampai karakter whitespace. Input Output - TIF UB 2010 38

Fungsi scanf() Karakter new line (‘n’), horizontal tab (‘t’), carriage-return (‘r’), form feed (‘f’),

Fungsi scanf() Karakter new line (‘n’), horizontal tab (‘t’), carriage-return (‘r’), form feed (‘f’), dan verticaltab (‘v’) disebut ”white-space characters” Contoh : – 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] Input Output - TIF UB 2010 39

Fungsi scanf() Contoh: char ss[40]; scanf(”%[^n]”, ss); § Pada potongan program diatas, jika dimasukkan

Fungsi scanf() 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” Input Output - TIF UB 2010 40

Fungsi scanf() Contoh: char ss[40]; scanf(”%[a-z]”, ss); § Pada potongan program diatas, jika dimasukkan

Fungsi scanf() Contoh: char ss[40]; scanf(”%[a-z]”, ss); § 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 dimasukkan. Input Output - TIF UB 2010 41

Fungsi scanf() Contoh: int x; scanf("%o", &x); § Pada potongan program di atas, jika

Fungsi scanf() Contoh: int x; scanf("%o", &x); § Pada potongan program di atas, jika dimasukkan bilangan : 44 kemudian ditekan ENTER dari keyboard maka variabel x akan berisi nilai : 36 desimal, karena 44 dianggap bilangan berbasis oktal. Input Output - TIF UB 2010 42

Fungsi scanf() Contoh: int x; scanf("%x", &x); § Pada potongan program di atas, jika

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 44 dianggap bilangan berbasis heksadesimal. Input Output - TIF UB 2010 43