03 i-o
Upcoming SlideShare
Loading in...5
×
 

03 i-o

on

  • 139 views

 

Statistics

Views

Total Views
139
Views on SlideShare
139
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

03 i-o 03 i-o Document Transcript

  • INSTRUKSI INPUT / OUTPUT Deklarasi Fungsi Sebuah fungsi dalam C dideklarasikan sbb : Syntax : tipe_return nama_function(argumen); Argumen disebut juga formal parameter, yaitu data yang harus diberikan Kepada fungsi ini untuk diolah. Argumen bersifat opsional, boleh ada boleh juga tidak. Setiap argumen Ditunjukkan dengan tipe datanya Tipe_return adalah tipe data yang dikembalikan INPUT Instruksi Input (masukan) Instruksi masukan adalah function atau macro yang digunakan untuk membaca data. (berada pada file header stdio.h) Syntax : int scanf (const char *format,[address,…]); Function ini membaca sejumlah masukan berformat dari standard input stream. Data yang dimasukkan disesuaikan dengan formatnya dan disimpan di alamat variabel. Jumlahformat harus sama dengan jumlah alamat %[*][width][F|N][h|l|L]type_character * assignment-suppression character width panjang maksimum F|N pointer size modifier h|l|L argument-type modifier
  • Instruksi Input (masukan) Mencetak unsigned hexadecimal dengan a,b,c,d,e,f %x Mencetak unsigned octal integer%o Untuk variabel bertipe string (lebih dari 1 karakter) %s Untuk variabel bertipe char%c Untuk variabel bertipe double%e atau %lf Untuk variabel bertipe long%ld Untuk variabel bertipe float%f Untuk variabel bertipe int%d Format untuk menerima input data dengan scanf Contoh Instruksi Input dan Output Contoh : #include <stdio.h> #include <stdlib.h> int main() { int nilai; printf(“masukkan nilai : “); scanf(“%d”,&nilai); /* & adalah operator untuk menyatakan alamat tempat disimpannya variabel memory */ printf(“nilai yang anda masukkan %d”,nilai); system(“PAUSE”); return 0; } Instruksi Input Syntax : int getchar(void); Function ini mengembalikan karakter berikutnya dari standard input, berupa nilaiASCII-nya. Function ini tidak memerlukan input parameter karena bernilai void. Syntax : int getch(void); Function ini membaca satu karakter dari keyboard tapi tidak menampilkannya di layar. Instruksi Input Syntax : int getche(void); Function ini membaca satu karakter dari keyboard dan menampilkannyake layar . Syntax : char *gets(char *s); Function ini mengembalikan sekumpulan karakter (yang diakhiri dengan karakter newline) dari standard input dan menyimpannya di variabel s. Karakter newline diganti dengan karakter null.
  • MASUKAN TIDAK BERFORMAT int main() { int kar1, kar2, kar3; kar1 = getchar(); kar2 = getchar(); kar3 = getchar(); printf("%c %c %cn", kar1, kar2, kar3); printf("%d %d %dn", kar1, kar2, kar3); return 0; } int main() { int kar1, kar2, kar3; kar1 = getchar(); kar2 = getchar(); kar3 = getchar(); printf("%c %c %cn", kar1, kar2, kar3); printf("%d %d %dn", kar1, kar2, kar3); return 0; } AB A B 65 66 10 AB A B 65 66 10 Contoh getchar() MASUKAN TIDAK BERFORMAT int main() { int k1, k2, k3, k4; printf("ketik empat karakter: "); k1 = getch(); putch('*'); k2 = getch(); putch('*'); k3 = getch(); putch('*'); k4 = getch(); puts("*"); printf("ketikan Anda" " = %c%c%c%cn", k1, k2, k3, k4); return 0; } int main() { int k1, k2, k3, k4; printf("ketik empat karakter: "); k1 = getch(); putch('*'); k2 = getch(); putch('*'); k3 = getch(); putch('*'); k4 = getch(); puts("*"); printf("ketikan Anda" " = %c%c%c%cn", k1, k2, k3, k4); return 0; } ketik empat karakter: **** ketikan Anda = algo ketik empat karakter: **** ketikan Anda = algo Contoh getch() MASUKAN TIDAK BERFORMAT int main() { char nama[26]; printf("nama ? "); gets(nama); printf("halo %s, kenal Pengki?n", nama); return 0; } int main() { char nama[26]; printf("nama ? "); gets(nama); printf("halo %s, kenal Pengki?n", nama); return 0; } nama ? Pongki halo Pongki, kenal Pengki? nama ? Pongki halo Pongki, kenal Pengki? Contoh gets() MASUKAN BERFORMAT int main() { int a, b; printf("data ke-1 ? "); scanf("%d", &a); printf("data ke-2 ? "); scanf("%d", &b); printf("%d %dn", a * 2, b * 2); return 0; } int main() { int a, b; printf("data ke-1 ? "); scanf("%d", &a); printf("data ke-2 ? "); scanf("%d", &b); printf("%d %dn", a * 2, b * 2); return 0; } data ke-1 ? 125 150 data ke-2 ? 250 300 data ke-1 ? 125 150 data ke-2 ? 250 300 Entri data bilangan data ke-1 ? 125 data ke-2 ? 150 250 300 data ke-1 ? 125 data ke-2 ? 150 250 300
  • MASUKAN BERFORMAT int main() { int a, b; printf("ketik dua bilangan : "); scanf("%d %d", &a, &b); printf("%d x %d = %dn", a, b, a*b); return 0; } int main() { int a, b; printf("ketik dua bilangan : "); scanf("%d %d", &a, &b); printf("%d x %d = %dn", a, b, a*b); return 0; } ketik dua bilangan : 10 6 10 x 6 = 60 ketik dua bilangan : 10 6 10 x 6 = 60 Entri dua bilangan sekaligus ketik dua bilangan : 10 6 10 x 6 = 60 ketik dua bilangan : 10 6 10 x 6 = 60 MASUKAN BERFORMAT int main() { int dd, mm, yy, hh, mm1, ss; printf("tgl [dd-mm-yy] ? "); scanf("%d-%d-%d", &dd, &mm, &yy); printf("waktu [hh:mm:ss] ? "); scanf("%d:%d:%d", &hh, &mm1, &ss); printf("%d %d %dn", dd, mm, yy); printf("%d %d %dn", hh, mm1, ss); return 0; } int main() { int dd, mm, yy, hh, mm1, ss; printf("tgl [dd-mm-yy] ? "); scanf("%d-%d-%d", &dd, &mm, &yy); printf("waktu [hh:mm:ss] ? "); scanf("%d:%d:%d", &hh, &mm1, &ss); printf("%d %d %dn", dd, mm, yy); printf("%d %d %dn", hh, mm1, ss); return 0; } Entri karakter tertentu tgl [dd-mm-yy] ? 15-12-08 waktu [hh:mm:ss] ? 10:15:20 15 12 8 10 15 20 tgl [dd-mm-yy] ? 15-12-08 waktu [hh:mm:ss] ? 10:15:20 15 12 8 10 15 20 MASUKAN BERFORMAT int main() { int a, b; scanf("%2d %2d", &a, &b); printf("%d %dn", a, b); return 0; } int main() { int a, b; scanf("%2d %2d", &a, &b); printf("%d %dn", a, b); return 0; } scanf() dengan width 1234567 12 34 1234567 12 34 1 2345 1 23 1 2345 1 23 12345 678 12 34 12345 678 12 34 OUTPUT
  • Instruksi Output (keluaran) Perintah yang digunakan untuj mencetak tulisan ke layar. Statement standar yang digunakan untuk mencetak tulisan di C berada di file header stdio.h Syntax : int printf(const char *format[,argument,…]); %[flags][width][.prec][F|N|h|l|L] Function menampilkan sejumlah keluaran dengan format tertentu, setiap argument sesuai dengan format masing-masing. Instruksi Output Format untuk mencetak variabel dengan printf Mencetak unsigned hexadecimal dengan a,b,c,d,e,f %x Mencetak unsigned octal integer%o Untuk variabel bertipe string (lebih dari 1 karakter) %s Untuk variabel bertipe char%c Untuk variabel bertipe long double%lF Untuk variabel bertipe double%lf Untuk variabel bertipe long%ld atau %li Untuk variabel bertipe float%f Untuk variabel bertipe int%d atau %i Instruksi Output Syntax : int putch(int c); Digunakan untuk mencetak karakter ASCII untuk c ke layar monitor tanpa memindahkan cursor ke baris berikutnya. Syntax : int putchar(int c); Instruksi ini merupakan macro yang didefinisikan untuk menjalankan function putch() Syntax : int puts(const char *s); Digunakan untuk mencetak string s ke standard output stream dan memindahkan cursor ke baris berikutnya KELUARAN TIDAK BERFORMAT int main() { int angka = 65; char huruf = 'B'; putch(angka); putch(huruf); putch('C'); putch('n'); return 0; } int main() { int angka = 65; char huruf = 'B'; putch(angka); putch(huruf); putch('C'); putch('n'); return 0; } ABCABC int main() { int angka = 97; char huruf = 'b'; putchar(angka); putchar(huruf); putchar(‘c'); putchar('n'); return 0; } int main() { int angka = 97; char huruf = 'b'; putchar(angka); putchar(huruf); putchar(‘c'); putchar('n'); return 0; } abcabc
  • KELUARAN TIDAK BERFORMAT int main() { char *mtkuliah = "ALGORITMA dan C"; puts(mtkuliah); puts("***************"); return 0; } int main() { char *mtkuliah = "ALGORITMA dan C"; puts(mtkuliah); puts("***************"); return 0; } ALGORITMA dan C *************** ALGORITMA dan C *************** KELUARAN BERFORMAT int main() { int bulatpos = 1234; int bulatneg = -5678; puts("1234567890"); printf("%6dn", bulatpos); printf("%6dn", bulatneg); printf("%+10dn", bulatpos); printf("%+10dn", bulatneg); printf("%08dn", bulatpos); printf("%08dn", bulatneg); printf("%2dn", bulatpos); printf("%2dn", bulatneg); return 0; } int main() { int bulatpos = 1234; int bulatneg = -5678; puts("1234567890"); printf("%6dn", bulatpos); printf("%6dn", bulatneg); printf("%+10dn", bulatpos); printf("%+10dn", bulatneg); printf("%08dn", bulatpos); printf("%08dn", bulatneg); printf("%2dn", bulatpos); printf("%2dn", bulatneg); return 0; } 1234567890 1234 -5678 +1234 -5678 00001234 -0005678 1234 -5678 1234567890 1234 -5678 +1234 -5678 00001234 -0005678 1234 -5678 Flag dan width KELUARAN BERFORMAT int main() { long bulatpos = 12345678; puts("123456789012345"); printf("%10ldn", bulatpos); printf("%+10ldn", bulatpos); printf("%012ldn", bulatpos); printf("%2ldn", bulatpos); return 0; } int main() { long bulatpos = 12345678; puts("123456789012345"); printf("%10ldn", bulatpos); printf("%+10ldn", bulatpos); printf("%012ldn", bulatpos); printf("%2ldn", bulatpos); return 0; } 123456789012345 12345678 +12345678 000012345678 12345678 123456789012345 12345678 +12345678 000012345678 12345678 Flag dan width KELUARAN BERFORMAT int main() { char *s = "algoritma dan c"; puts("12345678901234567890"); printf("%sn", s); printf("%18sn", s); printf("%10.4sn", s); printf("%.3sn", s); return 0; } int main() { char *s = "algoritma dan c"; puts("12345678901234567890"); printf("%sn", s); printf("%18sn", s); printf("%10.4sn", s); printf("%.3sn", s); return 0; } 12345678901234567890 algoritma dan c algoritma dan c algo alg 12345678901234567890 algoritma dan c algoritma dan c algo alg String
  • KELUARAN BERFORMAT int main() { float pecah = 123.25; puts("123456789012345"); printf("%fn", pecah); printf("%15fn", pecah); printf("%10.2fn", pecah); printf("%en", pecah); printf("%.2En", pecah); return 0; } int main() { float pecah = 123.25; puts("123456789012345"); printf("%fn", pecah); printf("%15fn", pecah); printf("%10.2fn", pecah); printf("%en", pecah); printf("%.2En", pecah); return 0; } 123456789012345 123.250000 123.250000 123.25 1.232500e+002 1.23E+002 123456789012345 123.250000 123.250000 123.25 1.232500e+002 1.23E+002 Cetak data float KELUARAN BERFORMAT int main() { float pecah_f = 123.456; double pecah_d = 123.456; printf("%.10fn", pecah_f); printf("%.10lfn", pecah_d); return 0; } int main() { float pecah_f = 123.456; double pecah_d = 123.456; printf("%.10fn", pecah_f); printf("%.10lfn", pecah_d); return 0; } 123.4560012817 123.4560000000 123.4560012817 123.4560000000 Cetak double precision KELUARAN BERFORMAT int main() { int umur = 50, nilai = 70; char *nama = "Botun"; float ipk = 2.75; printf("%s, teman kuliahku yang berumur %dn" "dan ber-IPK %.2f mendapat nilai algo %d", nama, umur, ipk, nilai); return 0; } int main() { int umur = 50, nilai = 70; char *nama = "Botun"; float ipk = 2.75; printf("%s, teman kuliahku yang berumur %dn" "dan ber-IPK %.2f mendapat nilai algo %d", nama, umur, ipk, nilai); return 0; } Printf dengan beberapa format TAMBAHAN
  • SEARCH SET Search set himpunan karakter yang akan diambil dari masukan Dituliskan di dalam [ ] [abcde] ⇒ hanya 5 huruf pertama yang diambil [^123] ⇒ selain 1, selain 2, selain 3 [a-z] ⇒ hanya huruf kecil yang diambil [a-zA-Z] ⇒ hanya huruf yang diambil SEARCH SET int main() { char nim[9], nama[26]; float ipk; scanf("%[0123456789] %[^0123456789] %f", nim, nama, &ipk); printf("NIM = %sn", nim); printf("nama = %sn", nama); printf("IPK = %.2fn", ipk); return 0; } int main() { char nim[9], nama[26]; float ipk; scanf("%[0123456789] %[^0123456789] %f", nim, nama, &ipk); printf("NIM = %sn", nim); printf("nama = %sn", nama); printf("IPK = %.2fn", ipk); return 0; } Contoh pemakaian search set 50671238 Andy Hasten 3.70 NIM = 50671238 nama = Andy Hasten IPK = 3.70 50671238 Andy Hasten 3.70 NIM = 50671238 nama = Andy Hasten IPK = 3.70 SEARCH SET int main() { char nim[9], nama[26]; float ipk; scanf("%[0123456789]",nim); printf("NIM = %sn", nim); return 0; } int main() { char nim[9], nama[26]; float ipk; scanf("%[0123456789]",nim); printf("NIM = %sn", nim); return 0; } Contoh pemakaian search set ASSIGNMENT SUPPRESSION CHAR. Assignment suppression character Membuang isian yang tidak diperlukan Menggunakan simbol * int main() { float ipk; scanf("%*s %f", &ipk); printf("ipk = %.2fn", ipk); printf("%s", (ipk >= 2.00) ? "calon sarjana" : "calon drop-out"); return 0; } int main() { float ipk; scanf("%*s %f", &ipk); printf("ipk = %.2fn", ipk); printf("%s", (ipk >= 2.00) ? "calon sarjana" : "calon drop-out"); return 0; } 60001234 3.20 ipk = 3.20 calon sarjana 60001234 3.20 ipk = 3.20 calon sarjana 60001245 1.75 ipk = 1.75 calon drop-out 60001245 1.75 ipk = 1.75 calon drop-out