03 i-o
DESCRIPTION
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 diberikanKepada fungsi ini untuk diolah.Argumen bersifat opsional, boleh ada boleh juga tidak. Setiap argumenDitunjukkan 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 denganformatnya dan disimpan di alamat variabel. Jumlahformat harussama dengan jumlah alamat
%[*][width][F|N][h|l|L]type_character* assignment-suppression characterwidth panjang maksimumF|N pointer size modifierh|l|L argument-type modifier
Instruksi Input (masukan)
Mencetak unsigned hexadecimal dengana,b,c,d,e,f
%x
Mencetak unsigned octal integer%o
Untuk variabel bertipe string (lebih dari1 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 OutputContoh :
#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 InputSyntax : int getchar(void);
Function ini mengembalikan karakter berikutnya daristandard input, berupa nilaiASCII-nya. Function initidak memerlukan input parameter karena bernilaivoid.
Syntax : int getch(void);
Function ini membaca satu karakter dari keyboard tapitidak menampilkannya di layar.
Instruksi InputSyntax : int getche(void);
Function ini membaca satu karakter dari keyboard danmenampilkannyake layar .
Syntax : char *gets(char *s);
Function ini mengembalikan sekumpulan karakter(yang diakhiri dengan karakter newline) dari standard input dan menyimpannya di variabel s. Karakternewline diganti dengan karakter null.
MASUKAN TIDAK BERFORMAT
int main() {int kar1, kar2, kar3;
kar1 = getchar(); kar2 = getchar();kar3 = getchar();printf("%c %c %c\n", kar1, kar2, kar3);printf("%d %d %d\n", kar1, kar2, kar3);return 0;
}
int main() {int kar1, kar2, kar3;
kar1 = getchar(); kar2 = getchar();kar3 = getchar();printf("%c %c %c\n", kar1, kar2, kar3);printf("%d %d %d\n", kar1, kar2, kar3);return 0;
}
ABA B
65 66 10
ABA 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%c\n", 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%c\n", 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 ? Pongkihalo Pongki, kenal Pengki?
nama ? Pongkihalo 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 %d\n", 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 %d\n", a * 2, b * 2);return 0;
}
data ke-1 ? 125 150data ke-2 ? 250 300
data ke-1 ? 125 150data ke-2 ? 250 300
Entri data bilangan
data ke-1 ? 125data ke-2 ? 150250 300
data ke-1 ? 125data ke-2 ? 150250 300
MASUKAN BERFORMAT
int main() {int a, b;printf("ketik dua bilangan : ");scanf("%d %d", &a, &b);printf("%d x %d = %d\n", a, b, a*b);return 0;
}
int main() {int a, b;printf("ketik dua bilangan : ");scanf("%d %d", &a, &b);printf("%d x %d = %d\n", a, b, a*b);return 0;
}
ketik dua bilangan : 10 610 x 6 = 60
ketik dua bilangan : 10 610 x 6 = 60
Entri dua bilangan sekaligus
ketik dua bilangan : 10610 x 6 = 60
ketik dua bilangan : 10610 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 %d\n", dd, mm, yy);printf("%d %d %d\n", 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 %d\n", dd, mm, yy);printf("%d %d %d\n", hh, mm1, ss);return 0;
}
Entri karakter tertentu
tgl [dd-mm-yy] ? 15-12-08waktu [hh:mm:ss] ? 10:15:2015 12 810 15 20
tgl [dd-mm-yy] ? 15-12-08waktu [hh:mm:ss] ? 10:15:2015 12 810 15 20
MASUKAN BERFORMAT
int main() {int a, b;scanf("%2d %2d", &a, &b);printf("%d %d\n", a, b);return 0;
}
int main() {int a, b;scanf("%2d %2d", &a, &b);printf("%d %d\n", a, b);return 0;
}
scanf() dengan width
123456712 34
123456712 34
1 23451 23
1 23451 23
12345 67812 34
12345 67812 34
OUTPUT
Instruksi Output (keluaran)Perintah yang digunakan untuj mencetaktulisan 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 OutputFormat untuk mencetak variabel dengan printf
Mencetak unsigned hexadecimal dengana,b,c,d,e,f
%x
Mencetak unsigned octal integer%o
Untuk variabel bertipe string (lebihdari 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 OutputSyntax : int putch(int c);Digunakan untuk mencetak karakter ASCII untuk c
ke layar monitor tanpa memindahkan cursor kebaris 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 barisberikutnya
KELUARAN TIDAK BERFORMATint 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("%6d\n", bulatpos);printf("%6d\n", bulatneg);printf("%+10d\n", bulatpos);printf("%+10d\n", bulatneg); printf("%08d\n", bulatpos);printf("%08d\n", bulatneg);printf("%2d\n", bulatpos);printf("%2d\n", bulatneg);return 0;
}
int main() {int bulatpos = 1234;int bulatneg = -5678;puts("1234567890");printf("%6d\n", bulatpos);printf("%6d\n", bulatneg);printf("%+10d\n", bulatpos);printf("%+10d\n", bulatneg); printf("%08d\n", bulatpos);printf("%08d\n", bulatneg);printf("%2d\n", bulatpos);printf("%2d\n", bulatneg);return 0;
}
12345678901234
-5678+1234-5678
00001234-00056781234-5678
12345678901234
-5678+1234-5678
00001234-00056781234-5678
Flag dan width
KELUARAN BERFORMAT
int main() {long bulatpos = 12345678;puts("123456789012345");printf("%10ld\n", bulatpos);printf("%+10ld\n", bulatpos);printf("%012ld\n", bulatpos);printf("%2ld\n", bulatpos);return 0;
}
int main() {long bulatpos = 12345678;puts("123456789012345");printf("%10ld\n", bulatpos);printf("%+10ld\n", bulatpos);printf("%012ld\n", bulatpos);printf("%2ld\n", bulatpos);return 0;
}
12345678901234512345678
+1234567800001234567812345678
12345678901234512345678
+1234567800001234567812345678
Flag dan width
KELUARAN BERFORMAT
int main() {char *s = "algoritma dan c";puts("12345678901234567890");printf("%s\n", s);printf("%18s\n", s);printf("%10.4s\n", s);printf("%.3s\n", s);return 0;
}
int main() {char *s = "algoritma dan c";puts("12345678901234567890");printf("%s\n", s);printf("%18s\n", s);printf("%10.4s\n", s);printf("%.3s\n", s);return 0;
} 12345678901234567890algoritma dan c
algoritma dan calgo
alg
12345678901234567890algoritma dan c
algoritma dan calgo
alg
String
KELUARAN BERFORMAT
int main() {float pecah = 123.25;puts("123456789012345");printf("%f\n", pecah);printf("%15f\n", pecah);printf("%10.2f\n", pecah);printf("%e\n", pecah);printf("%.2E\n", pecah);return 0;
}
int main() {float pecah = 123.25;puts("123456789012345");printf("%f\n", pecah);printf("%15f\n", pecah);printf("%10.2f\n", pecah);printf("%e\n", pecah);printf("%.2E\n", pecah);return 0;
}
123456789012345123.250000
123.250000123.25
1.232500e+0021.23E+002
123456789012345123.250000
123.250000123.25
1.232500e+0021.23E+002
Cetak data float
KELUARAN BERFORMAT
int main() {float pecah_f = 123.456;double pecah_d = 123.456;printf("%.10f\n", pecah_f);printf("%.10lf\n", pecah_d);return 0;
}
int main() {float pecah_f = 123.456;double pecah_d = 123.456;printf("%.10f\n", pecah_f);printf("%.10lf\n", pecah_d);return 0;
}123.4560012817123.4560000000
123.4560012817123.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 %d\n""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 %d\n""dan ber-IPK %.2f mendapat nilai algo %d", nama, umur, ipk, nilai);
return 0;}
Printf dengan beberapa format
TAMBAHAN
SEARCH SET
Search sethimpunan karakter yang akan diambil darimasukanDituliskan 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 = %s\n", nim);printf("nama = %s\n", nama);printf("IPK = %.2f\n", ipk);return 0;
}
int main() {char nim[9], nama[26];float ipk;
scanf("%[0123456789] %[^0123456789] %f", nim, nama, &ipk);printf("NIM = %s\n", nim);printf("nama = %s\n", nama);printf("IPK = %.2f\n", ipk);return 0;
}
Contoh pemakaian search set
50671238 Andy Hasten 3.70NIM = 50671238nama = Andy HastenIPK = 3.70
50671238 Andy Hasten 3.70NIM = 50671238nama = Andy HastenIPK = 3.70
SEARCH SET
int main() {char nim[9], nama[26];float ipk;
scanf("%[0123456789]",nim);printf("NIM = %s\n", nim);return 0;
}
int main() {char nim[9], nama[26];float ipk;
scanf("%[0123456789]",nim);printf("NIM = %s\n", nim);return 0;
}
Contoh pemakaian search set
ASSIGNMENT SUPPRESSION CHAR.
Assignment suppression characterMembuang isian yang tidak diperlukanMenggunakan simbol *
int main() {float ipk;
scanf("%*s %f", &ipk);printf("ipk = %.2f\n", ipk);printf("%s", (ipk >= 2.00) ?
"calon sarjana" : "calon drop-out");return 0;
}
int main() {float ipk;
scanf("%*s %f", &ipk);printf("ipk = %.2f\n", ipk);printf("%s", (ipk >= 2.00) ?
"calon sarjana" : "calon drop-out");return 0;
}60001234 3.20ipk = 3.20calon sarjana
60001234 3.20ipk = 3.20calon sarjana
60001245 1.75ipk = 1.75calon drop-out
60001245 1.75ipk = 1.75calon drop-out