materi-4-presentasi C++

Download Report

Transcript materi-4-presentasi C++

Bagian 4
LINTAS DATA
Introduction
Lintas data yang dimaksud adalah yang mencakup dalam library
routine kategori Input/Output dengan rincian include file:
conio.h lintas data ke perangkat standar input/output
stdio.h lintas data ke console
Secara keseluruhan bahasa C++ merinci lintas data terdiri dari 3
jenis:
1. Lintas data interaktif (console input/output) dan lintas data
yang bersifat hubungan antar piranti (port input/output)
2. Lintas data file (dalam lingkup media rekam) disebut stream
input/output
3. Lintas data operatif, berupa pemanfaatan BIOS dan DOS
dibawah lingkup pemrograman menggunakan bahasa C++
Lintas data interaktif
1.
puts() dan gets()
Function puts() menuliskan tulisan karakter (string) ke layar,
sedangkan gets() menyadap ketikan tulisan karakter (string) yang
diketikkan dari papan ketik. Penggunaan puts() dan gets() harus
mencantumkan #include <stdio.h> pada awal program yaitu pada
bagian preprosesornya.
Semua tulisan yang akan disajikan dilayar harus diberi tanda awal
“ dan tanda akhir “,
Ciri khusus penggunaan puts() adalah setiap selesai menulis, secara
otomatis dilakukan ganti baris (line feed dan carriage Return)
meskipun tidak dicantumkan tanda ganti baris.
contoh:
/* Nama file : PUTS.cpp */
#include <stdio.h>
main()
{
clrscr();
puts(“Belajar Bahasa C++ menggunakan Borlan C++”);
}
Puts() dan cputs() tidak terlihat perbedaannya jika argumen cputs()
ditambah tanda \n (line feed) dan \r (carriage return)
Contoh:
/* Nama file : CPUTS.cpp */
#include <stdio.h>
main() {
clrscr();
Cputs(“Belajar Bahasa C++ menggunakan Borlan C++\n\r”);
}
Function gets() menerima tulisan (stirng) bertype char dalam bentuk
string. Artinya, selama yang diketikkan bukan bilangan integer atau
bilangan riil (float) maka semuanya akan berjalan lancar tanpa error.
Pengetikan harus diakhiri dengan ketikan tombol Enter.
cgets() menerima ketikan tulisan karakter seperti gets(), akan tetapi 1 byte
pertama pada string diperuntukkan untuk menyimpan jumlah maximum
karakter yang dapat diterima sedangkan byte ke-2 menyimpan jumlah
karakter yang diketik.
Contoh:
/* Nama File : PUTGETS.cpp */
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
main() {
char TULISAN[80];
char *PT;
/* PT adalah pointer ke tulisan character */
clrscr();
cputs(“Ketikkan kalimat tulisan anda pada baris dibawah ini\n\r”);
PT=gets(TULISAN);
If (NULL==PT) {
puts(“gets() gagal karena PT mendapat NULL pointer”);
}
puts(“\r\n\r\nKetikan itu disajikan ke layar sbb:\n\r”);
puts(PT);
Puts(“\n\r”);
}
2. putchar(), getchar(), getche() dan getch()
Penggunaan putchar() dan getchar() harus mencantumkan
#include <stdio.h> pada awal program, yaitu pada bagian
preposesor program.
putchar() untuk menulis satu karakter dilayar dan harus diberi
argumen angka kode ASCII dari huruf yang akan ditulis
contoh:
putchar(65) hasilnya “A” karena kode ASCII huruf A adalah 65
atau dapat juga dituliskan:
putchar(‘A’)
getchar() menerima ketikan karakter demi karakter dan baru
berakhir ketika tombol Enter diketikkan.
getche() memerlukan ketikan 1 buah karakter saja dan langsung
selesai tanpa mengetikkan tombol Enter
getch() sama dengan getche() akan tetapi karakter tidak
ditampilkan di layar.
3. printf(), scanf()
penggunaan printf() dan scanf() harus mencantumkan #include
<stdio.h>.
printf() melaksanakan penulisan data dilengkapi dengan format
penulisan terinci untuk data type integer, float, karakter, string,
dan pointer.
scanf() melaksanakan pemasukan atau penyadapan ketikan data
dilengkapi dengan format type data untuk data type integer, float,
karakter, string, dan pointer.
tanda format menggunakan awal karakter berupa huruf % dengan
rincian:
%d
angka integer
%ld
angka long integer
%i
angka integer
%o
angka integer oktal
%lo
angka long integer oktal
%u
angka unsigned integer
%lu
%x
%X
%lX
%f
%lf
%e
%E
%s
%c
angka unsigned long integer
angka integer hexadesimal (huruf kecil)
angka integer HEXADESIMAL (huruf besar)
angka long ingeter HEXADESIMAL
angka float (bilangan riil)
angka double (double float=bilangan riil besar)
angka float tipe exponen menggunakan e
angka float tipe exponen menggunakan E
tulisan berwujud string
tulisan berwujud karakter
Contoh:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#define Tombol_Esc 27
main()
{
int k;
clrscr();
printf("Kode ASCII karakter akan disajikan dalam 3 bentuk angka\n");
printf("Ketik-kan sebuah karakter, diikuti mengetik tombol Enter !\n");
do
{
printf("Karakter (?): "); k=getche();
printf("\nKarakter %c KODE ASCII %d DESIMAL",k,k);
printf("\nKarakter %c KODE ASCII %o OKTAL",k,k);
printf("\nKarakter %c KODE ASCII %X HEXADESIMAL\n\n",k,k);
}
while (k != Tombol_Esc); /*program diakhiri dengan ketikan tombol Esc */
}
Contoh 2:
#include <stdio.h>
#include <conio.h>
#include <float.h>
main()
{
float x,y,z;
double hasil;
puts("Perkalian dan pembagian bilangan riil float");
puts("Masukkan 2 angka integer x dan y");
puts("Misalnya x= 12345.6789 y=45.321 z=987.42");
cputs("x = "); scanf("%f",&x);
cputs("y = "); scanf("%f",&y);
cputs("z = "); scanf("%f",&z);
hasil = (double) ((x * y) / z);
/*dilakukan konversi atau pemaksaan dari float ke double yang disebut casting */
printf("\nHasil (x*y)/z = %4.2lf\n",hasil);
getch();
}
Contoh 3:
#include <stdio.h>
#include <conio>
main()
{
char STRING[80];
clrscr();
puts("Ketikkan beberapa kata yang diselangi 1 huruf kosong");
scanf("%s",STRING);
puts("Hasil Scanf() yang diketik-kan dan disajikan lagi adalah: ");
printf("%s",STRING);
getch();
}
Perhatikan dan catatlah bahwa scanf() hanya menyadap satu suku kata,
yaitu suku kata pertama saja sedangkan suku kata berikutnya diabaikan.
Jadi scanf() tidak cocok untuk menyadap ketikan yang dipisahkan
dengan spasi (huruf kosong). Coba ganti scanf() dengan gets() tapi
hasilnya harus ditampung dengan pointer.
Contoh 4:
#include <stdio.h>
#include <conio>
main()
{
char *s, TULISAN[80];
clrscr();
puts("Ketikkan beberapa kata yang diselangi 1 huruf kosong");
/*scanf("%s",STRING);*/
s = gets(TULISAN);
puts("Hasil Scanf() yang diketik-kan dan disajikan lagi adalah: ");
printf("%s",TULISAN);
getch();
}
Dengan char *s, TULISAN[80]; sebagai variabel pointer dan
s=gets(TULISAN); maka semua suku kata yang diketikkan akan
disadap.