Matakuliah Tahun Versi : T0616 / Algoritma dan Pemrograman : 2007 : 1/0 Pertemuan 07-08 Operasi Input Output 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Menggunakan sintaks untuk melakukan input dan output (C3) 2 Outline Materi Operasi Input-Output • Instruksi Output (printf, putchar, putch, puts) • Format Output • Instruksi Input (scanf, getchar, getch, getche, gets) • Format Input 3 Instruksi Input • Adalah statement / fungsi yg digunakan untuk membaca data dari keyboard. • Fungsi-fungsi yang bisa digunakan pada bahasa C antara lain sbb: scanf(); getchar(); getch(); getche(); gets(); 4 Instruksi Input : scanf • scanf Format : int scanf( const char *format [,argument]... ); • Spesifikai format adalah : ”% type” • Semua tipe argument pada scanf adalah pointer. • Contoh : scanf(”%d”,&NilaiTM); 5 Instruksi Input : scanf type Digunakan untuk membaca d u x e,f,g c - Data integer - Data unsigned integer - Data heksadesimal - Data floating point - Single character s O […] - Karakter string yg diakhiri dengan whitespace - Data unsigned octal - Karakter string yg diakhiri dengan karakter yg tidak ada didalam [..] - Karakter string yg diakhiri dengan karakter yg ada didalam [..] [^..] 6 Contoh : scanf • Program Luas Segi Empat /* Program Luas_Segi_Empat v1 */ int panjang,lebar,luas; void main() { scanf(”%d”,&panjang); scanf(”%d”,&lebar); luas = panjang * lebar; } 7 Contoh : scanf • Perintah scanf dapat memakai lebih dari satu argument /* Program Luas_Segi_Empat v2*/ void main() { int panjang,lebar,luas; scanf(“%d %d”,&panjang,&lebar); luas = panjang * lebar; } 8 Contoh : scanf • Tipe data untuk setiap variabel dalam argumen boleh berbeda /** Program Argumen **/ int nomor; char inisial; float saldo; void main() { scanf(“%d %c %f” ,&nomor ,&inisial, &saldo); } 9 Instruksi Input • int getchar(void):mengembalikan karakter berikutnya dari keyboard berupa nilai ASCII • int getch(void): membaca satu karakter dari keyboard tetapi tidak ditampilkan di layar. • int getche(void): membaca satu karakter dari keyboard dan ditampilkan di layar. • int *gets(char *s): mengembalikan string yang diakhiri karakter null dari keyboard dan disimpan di s. 10 Instruksi Output • Statemen ini digunakan untuk menuliskan data ke layar monitor. Beberapa fungsi yang yang ada pada bahasa C antara lain: printf(); putchar(); putch(); puts(); 11 Instruksi Output : printf • Mencetak / mengirim sejumlah argument menurut format ke standard output • Sintak : printf(const char *format[,argument, …]); • Contoh : /** Program Luas_Segi_Empat **/ void main() { int panjang,lebar,luas; /* local variable */ printf(”Panjang = ”); scanf(“%d”,&panjang); printf(”Lebar = ‘); scanf(“%d”,&lebar); luas = panjang * lebar; printf(”Luas = %d\n”, luas); } 12 Instruksi Output : printf • Header file untuk printf : <stdio.h> • Spesifikai format sbb: %[flags][width][.precision] type type dapat diganti dengan : d atau i : signed decimal o : unsigned octal u : unsigned decimal x : unsigned hexadecimal f : floating point e : floating point (exponent) c : single character s : string % : % character p : pointer width : menentukan jumlah kolom yang disediakan precision : menentukan jumlah angka dibelakang koma (untuk bilangan pecahan) flags dapat diganti sbb: none : right justify (rata kanan) : left justify (rata kiri) + : untuk bilangan dimulai dgn tanda – atau + 13 Instruksi Output : printf • CONTOH 1 printf(“%6d”, 34); printf(”%-6d”, 34); ….34 34…. • CONTOH 2 printf(“%10s”, “BINUS”); printf(“%-10s”, “BINUS”); printf(“%8.2f”, 3.14159 ); …..BINUS BINUS….. ….3.14 14 Instruksi Output • putchar(int c) : makro untuk menjalankan fungsi putch() • putch(int c) : menampilkan karakter ascii c di monitor tanpa memindahkan kursor ke baris baru • puts(const *char s) : memindahkan string s ke monitor dan memindahkan kursor ke baris baru. 15 Penempatan Kursor (1,1) (80,1) x y (1,25) (80,25) • Layar dibagi dalam kolom dan baris, umumnya digunakan ukuran kolom = 80 dan baris = 25. 16 Penempatan Kursor • Layar dapat dihapus dengan menggunakan fungsi: clrscr(); • Kursor dapat dipindahkan ke posisi manapun di dalam layar monitor dengan menggunakan fungsi : gotoxy(col,row); dimana col = kolom dan row = baris • Sebagian dari baris, mulai posisi kursor hingga akhir baris (end of line), dapat dihapus dengan fungsi: clreol(); • Function prototype untuk fungsi gotoxy(), clrscr(), clreol() pada bahasa C terdapat pada header file : <conio.h> 17 Penempatan Kursor • Contoh : #include <stdio.h> #include <conio.h> float panjang, lebar, luas, keliling; /* global variable */ void main() { clrscr(); /*membersihkan layar*/ gotoxy(30,10); printf(”Panjang : ”); scanf(“%f”,&panjang); gotoxy(30,11); printf(“Lebar :” ); scanf(“%f”,&lebar); keliling = 2 * panjang * lebar; luas = panjang * lebar; gotoxy(30,13); printf(“Keliling = %8.2f ”, keliling); gotoxy(30,14); printf(“Luas = %8.2f‘, luas ); } 18 Latihan • Buatlah program untuk menghitung luas persegi panjang. • Input berupa lebar dan panjang, kemudian hitung berdasarkan rumus : Luas = Panjang * Lebar • Tampilkan luas dengan format yang layak. 19 Latihan • Buatlah algoritma menggunakan pseudocode untuk mengubah jam dan menit yang diinput ke dalam satuan detik • Input dari keyboard berupa jam dan menit, kemudian konversi ke satuan detik : Detik = Jam * 3600 + Menit * 60 • Tampilkan Detik dengan format yang layak. 20 Latihan • Buatlah program untuk menerima input dari keyboard, berupa nilai : – Tugas Mandiri (NTM) – Nilai UTS (NUTS) – Nilai UAS (NUAS) • Hitung dan tampilkan nilai akhir dengan rumus : NA = 20 % * Nilai TM + 30 % Nilai UTS + 50 % Nilai UAS • (Asumsi bahwa nilai yang dinput adalah bilangan bulat) 21 Latihan • Buatlah program untuk menjumlahkan dan mencetak aktiva sebuah perusahaan berdasarkan data kewajiban dan ekuitas pemilik yang diinput, sesuai dengan rumus : Aktiva = Kewajiban + Ekuitas Pemilik • Aktiva, sumber daya yang dimiliki perusahaan, kewajiban adalah hutang perusahaan dan ekuitas pemilik adalah hak yang dipunyai oleh pemilik. 22 Latihan • Buatlah program untuk menghitung harga jual sebuah barang, berdasarkan harga pokok, persen diskon dan persen pajak. Harga Jual = Harga Pokok – Diskon + Pajak • Gunakan tipe data double untuk harga jual. Sesuaikan formatnya. 23 Latihan • Suatu kali Anda membeli barang di toko. Jumlah barang yang Anda beli ada 3 item : – 1 sabun mandi seharga Rp. 5600,– 2 Sikat gigi seharga @ Rp. 1500,– 1 Snack kacang seharga Rp. 3400,- • Pajak pembelian yg dibebankan adalah 10 % • Setelah ditotal, Anda diminta membayar ke kasir sebesar Rp. 13500,• Buatlah program untuk menghitung selisih antara total harga barang yang Anda beli beserta pajak, dibandingkan dengan total harga di kasir. • (Hitung selisih, jika 0 maka berarti benar, jika tidak maka ada kesalahan perhitungan) 24
© Copyright 2024 Paperzz