download

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