Selasa, 10 Februari 2015

pertemuan ke tiga (masukkan dan keluaran)



Pertemuan Ketiga
Masukan Dan Keluaran
Fungsi prototype
-          Semua instruksi masukan (input) dan keluaran (output) berbentuk function.
-          Function-function dikumpulkan di dalam function library (perpustakaan fungsi)
-          Header file (misalnya stdio.h, stdlib.h, conio2.h) berisi deklarasi function-function.
-          Deklarasi function disebut function prototype

·         Input yang harus dikirim kepada function
·         Output yang dikembalikan function
Tipe_data_return nama_function (daftar_parameter)
-          Daftar parameter menyatakan jenis data apa yang perlu diberikan (dikirim) kapda function sebagai masukan untuk diolah.
Membaca fucntion prototype
Void clscr (void);
clscr() tidak memerlukan data masukan
clscr() tidak mengembalikan hasil
int rand (void);
rand() tidak memerlukan data masukan
rand() mengembalikan sebuah integer sebagai hasil  
int abs (int x);
abs() memerlukan sebuah integer sebagai masukan
abs()  mengembalikan sebuah integer sebagai hasil
double pow (double x, double y);
pow()  memerlukan 2 bilangan pecahan presisi ganda
pow() mengembalikan bilangan pecahan presisi ganda
void gotoxy (int x, itn y);
gotoxy() memerlukan 2 bilanan bulat
gotoxy() tidak mengembalikan sesuatu
char*gets (char*s);
gets() memerlukan sebuah pointer to character
gets() mengembalikan integer alamat memori



Memanggil Fucntion
Function dengan return type void
-          Cukup dengan menuliskan nama function
-          rand(); getch();
function dengan return type silain void
-          menulis dalam bentuk assignment statement
-          hasil = getch();
-          bil_pos = abs(bil);
instruksi keluaran
keluaran tidak berfromat
-          int putch(int c);
menampilkan satu karakter ASCII untuk c ke standard output(biasanya layar monitor)
-          int putchar(int c);
-          macro yang didefinisikan untuk menjalankan function putch()
-          int puts(const char*s);
-          menampilkan string s ke standard output
keluaran berformat
-          printf()
-          contoh penggunaan printf
#include<stdio.h>
#include<conio.h>
Main()
{
int a=9;
char b=’i’;
clscr(0;
printf(%c merupakan abjad yang ke-%d”,b,a);
getch();}

contoh penggunaan cout()
#include<stdio.h>
#include<conio.h>
main()
{
clscr();
cout<<”hallo apa kabar”;cout<<indl;
cout<<”perkenalkan saya borland c++”;
getch();
}

Contoh penggunaan puts()
#include<conio.h>
#include<stdio.h>
main()
{
char a[11]=”stimik asia”;
clscr();
puts(“saya kuliah di”);
puts(a);
getch();
}
Contoh penggunaan putchar()
#include<stdio.h>
#include<conio.h>
main()
{
clscr();
putchar(‘a’);
putchar(‘s’);
putchar(‘i’);
putchar(‘a’);
getch();
}
Keluaran tidak berformat
Int main()        {
char mtkuliah = “ALGORITMA dan c”;
puts(mtkuliah);
puts(**************);
return 0;
}
ALGORITMS dan C
***************

Keluaran berformat
Int printf(const char*format[,argument,...]);
Menampilkan sejumlah keluaran dengn format masing-masing
Format: %[flag][windth][.prec][modifier]type
Flags                kumpulan flag characters
Windth                        jumlah kolom tampilan
.prec                presisi(jumlah digit setelah titik)
Modifier          input-size modifier
Type                karakter konversi tipe data




Flag characters
Karakter
Kegunaan
-
Rata kiri
+
Sertakan tanda + atau – untuk data numerik
blank
Jika data berniai positif maka keluaran diawali spasi. Jika data bernilai negatif maka keluaran diawali -
#
Mengawali dengan 0 jika bilangan dicetak dengan format oktal, dan 0x jika bilangan dicetk dengan format heksadesimal
0
Menambahkan sejumlah giti nol disebelah kiri bilangan 

Input size modifier
Karakter
Kegunaan
h
Memperlakukan sebagai short integer
I
Memperlakukan sebagai long integer
L
Memperlakukan sebagai long double
Karakter konversi tipe data
Karakter
Kegunaan
d
Signed decimal integer
i
Signed decimal integer
o
Unsigned octal integer
u
Unsigned decimal integer
x
Unsigned hexadecimal integer dengan a, b, c, e,d, e, f
X
Unsigned hexadecimal integer dengan A, B, C, D,E, F
f
Signed floating-point number berbentuk [-]dddd.dddd
e
Signed floating-point number berbentuk [-]d.dddd atau e[+|-]ddd
E
Seperti e tapi dengan huruf E
c
Karakter
s
Sejumlah karakter (string)
p
Alamat yang ditunjuk pointer

Flag dan windth
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);
}
int main(0{
long bulatpos =12345678
puts(“1234567890”);
printf(“%10ld\n”, bulatpos);
printf(“%+10ld\n”, bulatpos);
printf(“%012ld\n”, bulatpos);
printf(21ld\n”, bulatpos);
return 0;
}

String
Int main() {
Char*s=”algoritma dan c”;
Puts(“12345678901234567890”);
Printf(“%s\n”,s);
Printf(%18sn”,s);
Printf(“%10.4s\n”,s);
Printf(“%.3sn”,s);
Return 0;
}

Cetak data float
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);
Prinf(“%2.E\n”, pecah;
Return0;
}
Cetak double precision
Int main() {
Float pecah_f=123.456;
Double pecah_d=123.456;
Printf(“%.10f\n”,pecah_f);
Printf(“%.10lfn”,pecah_d);
Retun0;
}

Print dengan beberapa format
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 mendapatkan nilai algor %d”, nama, umur, ipk, nilai);
Return 0;
}

Masukan tidak berformat
-          int getchar(void);
mengembalikan karakter berikutnya dari standard input dalam bentuk bilangan bulat.
Contoh getchar()
Int main() {
Int kart1, 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 getch(void);
Meminat penekanan satu tombol tanpa di-enter dan tidak menampilakannya pada layar
Contoh getch()
#include<stdio.h>
#include<conio.h>
Int main() {
Int k1, k2, k3, k4;
Printf(“ketik empat karakter : “);
K1 = getch(); putch(’*’);
K2 = getch(); putch(‘*’);
K3 = getch(); putch(‘*’);
K4 = getch(); putch(‘*’);
“ = %c%c%c%c\n”, k1, k2, k3, k4);
Return 0;
}
-          Int getche(void)
Meminta penekanan satu tombol tanpa di-enter dan menampilkannya pada layar
-          Int gets(void)
Mengembaikan sejumlah karakter yang diakhiri newline.
Contoh gets0;
Int main(){
Char nama[26];
Printf(“nama / “); gets (nama);
Printf(“Halo %s,kenalkan pengki?\n, nama);
Return 0;
}

masukkan berformat
-          Int scanf(const char*format,[address,....]);
Membaca sejumlah masukan karakter berformat dari standard input
Format             %[*][width][F|N][h|I|L]type_character
·         *          ; assignment-suppression character
·         Width  ; panjang maksimum
·         F|N      ;
contoh pengggunaan scanf()
#include<stdio.h>
#include<conio.h>
Main()
{
Int a,b,c=0;
Clscr();
Printf(“Masukkan nilai A=”)scanf(“%d”,&a);
Printf(“Masukkan nilai B=”)scanf(“%d”,&b);
C=a+b;
Printf(“Hasil penjumlahan=%d”,c);
Getch();
}
#Include<stdio.h>
#include<conio.h>
Main()
{
Char nama[0];
Clscr(0;
Printf(“\nHaloo apa kabar”);
Printf(‘\nnama kamu siapa :”);gets(nama);
Printf(“\nperkenalkan saya %s”,nama);
Getch();
}
#include<iostream.h>
#include<conio.h>
Main()
{
Char nama[20];
Clscr();
Cout<<”\nHaoo apa kabar”;
Cout<<”\nNama kamu siapa :”;cin>>nama;
Cout<<”\nPerkenalkan saya “;cout<<nama;
Getch();
}
#include<stdio.h>
#include<conio.h>
Main()
{
Char kar;
Clscr();
Printf(“Masukkan sebuah karakter =”);
Kar=getch();
Printf(“\nTadi anda memasukkan karakter %c”,kar);
Getch();
}

Tipe karakter
Karakter
Fungsi
d
Integer desimal
D
Long integer desimal
o
Integer oktal
O
Long integer oktal
i
Integer desimal, oktal, atau heksadesimal
I
Long integer desimal, oktal, atau heksadesimal
u
Unsigned integer desimal
U
Unsigned long integer desimal
x
Integer heksadesimal
X
Long integer heksadesimal
e
E
Bilangan pecahan dalam bentuk notasi E
f
Bilangan pecahan dalam bentuk desimal
g
G
Bilangan pecahan dalam bentuk desimal
s
Character string
c
Character
h 
Memperlakkukan sebagai short integer
I
Memperlakukan sebagai long integer
L
Memperlakukan sebagai long double

Entri data bilangan
int main() {
int a, b;
printf(“data ke-1 ? ‘);
scanf(“%d”, &a);
printf(“data ke-2 ?”);
scanf(“%d”, %b);
printf(“%d %d\n”, a*22, b*2);
return 0;
}

Entri dua bilangan sekaligus
int main() {
int a, b;
printf(ketik dua bilangan : “);
scanf(%d %d”, &a,&b);
printf(“%dx%d =%d\n”, a,b,a*b);
return 0;
}

Entri desimal, okta, heksadesimal
int main() {
int a, b,c;
scanf(“i %i %i, &a, &b, &c);
printf(“%d 5d %d\n”, a, b, c);
scanf(“%d %o %x”, &a, &b, &c);
printf(“5d %d %d\n”, a, b, c);
return 0;
}

Entri karakter tertentu
int main() {
int dd, mm, yy, hh, mml, 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;
}

Mengapa instruksi scanf(“%c”, &klm) tidak bekerja
int man() {
int umur;
char klm;
printf(“umur ? “);
scanf(“5d”, &umur);
printf(“kelamin ? ”);
scanf(“%c”, &klm);
printf(“%d %c\n”, umur, klm);
return 0;
}

Scanf(0 dengan width
int main() {
int a, b;
scanf(%2d %2d”, &a, &b);
printf(“%d %d\n”, a, b,);
return 0;
}
#include<stdio.h>
#include<conio.h>
main()
{
int a, b, c, x ,y;
clscr(0;
cout<<”Masukan nilai X = “;cin>>x;
cout<<”Masukan nilai Y = “;cin>>y;
a=(x+y); b=(x*y);
c=(x==y); d(x!=y);
printf(“\nNilai A =%d”, a++);
printf (“\nNilai B = %d”, --b);
cout<<endl;
cout<<”Hasil C = “<,c<<endl;
cout<<”Hasil D = “<<d<<endl;
getch();
}

Search Set
·         Himunan karakter yang akna 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
Contoh pemakaian search set
int main () {
char nim[9], nama[26];
float ipk;
scanf(“%[0123456789] %[^01234567890] %f”, nim, nama, &ipk);
printf(“NIM  =%s\n”, nim);
printf(“Nama  = %s\n”, nsms);
printf(“IPK  =%.2f\n”, ipk);
return 0;
}
Assignment suppression character
·         Membuang isian yang tidak diperlukan
·         Menggunakan simbol *
int main(0 {
float ipk;
scanf(“%*s, %f”, &ipk);
printf(“ipk = %.2f\n”, ipk);
printf(“%s”, (ipk >=2.00) ? “calom sarjana” : “calon drop-out”);
return 0;
}

Pengaturan laar dan tampilan
void window (int left, int top, int right, int bottom);
mendefinisikan sebuah panel tampilan (window, pane) berdasarkan koordinat kiri atas dan kanan bawah.
void clscr(void);
membersihkan seluruh layar tampilan dan memindahkan cursor ke posisi kiri atas
void clreol(void);
membersihkan layar mulai dari posisi cursor hingga kolom terakhir.
Void gotoxy (int , int y);
Memindahkan cursor ke kolom x baris y. Apabila nilai x lebih besar daripada kolom maksimum atau nilai y lebih besar daripada baris maksimum maka instrusi ini diabaikan.
int wherex(void);
mengembalikan posisi kolo cursor.
int wherey(void);
mengembalikan posisi baris pada cursor
pengaturan cursor
int main(){
char kalimat [40];
clscr(0 ;
gets(kalimat);
gotoxy(10, 3); printf(“5%s”, kalimat);
gotoxy(wherex90-10, wherey(0+1);
printf(“%s”, kalimat);
gotoxy(wherex()-10, wherey()+1);
printf(“%s”, kalimat:
return 0;
}
int  main() {
char kalimat[40];
clscr();
gets(kalimat);
gotoxy(10, 3); printf(“%s”, kalimat);
gotoxy(wherex()-10, wherey()+1;
gotoxy(wherex()-10, wherey()+1);
printf(“%s”, kalimat);
return 0:
}
void insline(void);
Menyisipkan satu baris kosong pada posisi cursor dan semua baris teks yang berada di bawah posisi cursor akan didorong ke bawah.
void delline(void);
menghapus bari pada posisi cursor dan semua baris teks yang berada di bawah posisi cursor akan naik ke atas satu baris.
Insline dan delline
#include<stdio.h>
#include<conio2.h>
int main() {
puts(“abcdefghij”);
puts(“023456789”);
puts(“+-*/[](){}”);
getch();
gtoxy(1,  2); delline();
getch();
gotoxy(1, 1); insline();
getch();
return 0;
}


void textcolor(int newcolor);
menentukan warna pada teks pada layar tampilan.
void textbackgroud(int newcolor);
menentukan warna latar belakang teks pada layar tampilan.
Kode warna
Nama warna
Text color
Text background
0
BLACK
Y
Y
1
BLUE
Y
Y
2
GREEN
Y
Y
3
CYAN
Y
Y
4
RED
Y
Y
5
MAGENTA
Y
Y
6
BROWN
Y
Y
7
LIGHTGRAY
Y
Y
8
DARKGRAY
Y
T
9
LIGHTBLUE
Y
T
10
LIGHTGREEN
Y
T
11
LIGHTCYAN
Y
T
12
LIGHTRED
Y
T
13
LIGHTMAGENTA
Y
T
14
YELLOW
Y
T
15
WHITE
Y
T
128
BLINK
Y
T

TURBO C++3.0
# include<stdio.h>
#include,conio.h>
int main(){
clscr();
textbackground(RED); textcolor(WHITE);
window(17, 8, 45, 19);//hanya ada di borland C
cputs(“                                     \n\r”);
cputs(“indonesia tanah airku   \n\r”);
textbackground(7); textcolor(4);
cprintf(“                                  \n\r”);
cprintf(“          %d %s %d      \n\r”, 17, “agustus”, 1945);
cprintf(“                                  \n\r”);
return 0;
}

Tidak ada komentar:

Posting Komentar