BAB II INPUT / OUTPUT

Teks penuh

(1)

BAB II

INPUT / OUTPUT

Input/Output memegang peranan yang penting dalam suatu program, karena bagian inilah yang membuka jalur komunikasi dengan manusia.

Sebelum masuk dalam Pembahasan input/output, akan ditinjau beberapa hal yang penting yang berhubungan erat dengan penggunaan input /output, seperti pengertian tentang Konstanta dan Variabel serta tipe-tipe data yang dikenal oleh Bahasa C.

2.1. KONSTANTA

Konstanta adalah suatu nilai yang sifatnya tetap. contoh: Angka ‘2’

‘2’ adalah ‘2’ bukan ‘3’. Jadi ‘2’ mempunyai nilai yang sudah tetap, maka ‘2’ adalah konstanta. Contoh lain adalah Abjad “b”.

‘b’ adalah ‘b’ bukan ‘c’ atau pun ‘x’, jadi ‘b’ juga mempunyai nilai yang tetap. Maka ‘b’ adalah konstanta.

Sebagai ilustrasi, lihat a=2, ‘a’ disini bukan lagi konstanta, karena saat ini ‘a’ mewakili angka ‘2’, pada kesempatan lain bisa saja ‘a’ mewakili nilai yang lain, misalnya ‘3’ atau ‘100’.

Secara garis besar konstanta dapat kita bagi atas dua bagian, Bilangan (Numerik) dan Teks (String).

2.1.1. Bahasa C membagi Konstanta Bilangan (Numerik) menjadi 3 kelompok, yaitu :

1. Bilangan Bulat (Integer)

2. Bilangan Desimal Berpresisi Tunggal (Floating Point)

Bilangan ini dapat dinyatakan dalam dua bentuk tampilan:

- Bentuk desimal

Contoh : 2.1333

- Bentuk eksponen

(2)

3. Bilangan Desimal Berpresisi Ganda (Double Precision)

Pada prinsipnya bilangan ini serupa dengan bilangan floating point, hanya saja derajat ketelitian yang dimiliki lebih tinggi.

2.1.2. Konstanta Teks dibedakan dalam dua jenis, yaitu:

1. Data Karakter, terdiri dari sebuah karakter saja., dan ditandai dengan dua tanda kutip tunggal (‘) sebagai pembatasnya. Karakter dapat berupa abjad, baik huruf besar maupun huruf kecil angka ataupun notasi-notasi lain.

Contoh: ‘a’, ‘k’, ‘2’, ‘*’, dll.

2. Data String merupakan rangkaian dari beberapa karakter dan ditandai dengan tanda kutip ganda (“) sebagai pembatasnya.

Contoh: “AMJR“, “belajar“, “Bandung“, “JL Purnawaman 6“, dll.

Perlu diperhatikan bahwa bahasa C membedakan antara data karakter dan data string, jadi ‚‘j‘ tidak sama dengan “j“.

2.2. VARlABEL

Bila anda bekerja pada data yang berubah-ubah dari waktu ke waktu sedangkan data tersebut ingin ditempatkan pada lokasi memori yang sama, maka perlu menggunakan Variabel.

Berbeda dengan konstanta yang mewakili artinya sendiri, variabel memiliki nilai atau arti yang berbeda dari pengertian dirinya sendiri.

Misalnya: a=2, dalam hal ini arti ’a’ adalah ‘2’ bukan lagi ‘a’.

Variabel dapat diandaikan seperti sebuah tempat penampungan data atau kons!anta. Sedangkan konstanta lebih bersifat sebagai data yang akan mengisi variabel tersebut. Bila konstanta memiliki arti yang selalu tetap, variabel dapat berubah-ubah. Sebuah variabel yang sama dapat mengandung data yang berbeda pada saat yang berbeda.

2.2.1. Nama Variabel

Memberikan nama pada variabel Bahasa C adalah sebagai berikut:

(3)

Contoh:

Nol Gaji_pegawai pajak_tahunan

2. Variabel boleh dimulai oleh tanda hubung ( _ ), atau abjjad. Contoh:

Gaji_pokok tunj_istri laba_bersih

3. Variabel tidak boleh dimulai dengan angka. Contoh nama variabel yang salah:

2no 90_tahun 4nilai_max

4. Variabel tidak boleh menggunakan operator aritmatika ( +, -, /, *, %).. Contoh nama variabel yang salah:

Nilai+min tunj-anak potong%

nama/pegawai alamat*rumah

5. Variabel tidak boleh menggunakan karakter-karakter khusus sebagai berikut : #, :, ;, $, @, ^, !, & dan titik ( .).

Contoh nama variabel yang salah:

Luas:segitiga sisi#kubus gaji$tahunan Luas;tanah tempat&tal.lahir

6. Variabel tidak boleh mengandung spasi. Contoh nama variabel yang salah:

Gaji bulanan _kota asal

7. Jangan menggunakan nama fungsi atau kata-kata lain yang mempunyai arti khusus dalam bahasa C (Reversed Words)

Contoh : nama variabel yang salah:

main printf float char

8. Variabel boleh terdiri dari reserved words yang digabungkan dengan kata lain. Contoh : nama variabel yang benar:

char_pertama fungsi_printf data_float

(4)

2.2.2. Jenis-Jenis Variabel

Variabel terbagi dalam 2 kelompok besar, yaitu variabel numerik dan variabel teks.

2.2.2.1. Variabel numerik digolongan atas: a. Bilangan bulat atau integer

Integer ini mampu menampung bilangan bulat yang berkisar antara -32.768 hingga +32.767

b. Bilangan desimal berpresisi tunggal atau floating point

Dalam bentuk bilangan perpangkat floating point dapat digunakan untuk menampung dari 10-38

hingga 10+38, sedangkan dalam bentuk desimal jenis variabel ini umumnya dapat menampung

hingga 6 desimal (6 angka dibelakang koma). Contoh: nilai_max=2.3e-20

Std_dev=100.234567 (6 angka dibelakang titik decimal)

c. Bilangan desimal berpresisi ganda atau double precision

Dalam bentuk bilangan berpangkat, double precision dapat mengolah angka-angka dengan ketelitian yang berkisar antara 10-308 hingga 10+308, sedangkan dalam bentuk bilangan decimal mampu menampung hingga 15 digit.

Contoh: teliti=1234.5678901234 A=1.34567e-l00

2.2.2.2. Variabel teks dibedakan atas:

a. Karakter (untnk karakter tunggal)

Selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula dikonversikan dalam bentuk bilangan (ASCII code), bilangan hasil konversi data ini dinyatakan dengan bilangan bulat yang berkisar dari -128 hingga 127.

b. String (untuk rangkaian karakter)

String merupakan rangkaian karakter yang diakhiri dengan karakter null ('\0).

Ditinjau dari nama variabel, sama sekali tidak ada perbedaan antara variabel numerik dan variabel teks. Perbedaan dari kedua jenis variabel ini hanya dapat dipantau pada waktu variabel-variabel tersebut di-deklarasikan.

(5)

2.2.3. Deklarasi Variabel

Sebelum variabel digunakan, variabel tersebut harus ‘diperkenalkan’ terlebih dahulu kepada bahasa C. Proses memperkenalkan variabel ini dikenal dengan istilah deklarasi variabel. Deklarasi variabel ini sifatnya mutlak, artinya tanpa adanya deklarasi variabel, bahasa C tidak akan menerima variabel tersebut.

Deklarasi variabel ini meliputi tipe variabel, seperti integer atau character dan nama variabel itu sendiri.

Penulisannya : Tipe_variabel nama_variabel;

Contoh: float gaji;

Tipe_variable nama_variabel Contoh: int jumlah; float nilai_max; duoble gaji;

adalah mendeklarasi variable jumlah sebagai integer, variabel nilai_max sebagai floating point, dan variabel gaji sebagai double precision.

Tipe variabel dan simbol yang digunakan dalam pendeklarasiannya:

Tipe Variabel Simbol Variabel

Integer Floating point Double precision Karakter int float double char

Beberapa variabel yang bertipe sama dapat dideklarasikan sekaligus, dengan memberikan koma (,) sebagai pemisah variabel variabel-variabel tadi.

(6)

Contoh:

int bilangan, nomor;

float harga_beli,harga_jual,keuntungan; double nilai_max,nilai_min;

Variabel dengan nama yang sama tidak boleh dideklarasikan ulang. Contoh:

int nilai; float nilai;

2.2.4. Tipe-Tipe Variabel Yang Lain a. unsigned

Adalah variabel yang digunakan hanya untuk data positif saja. Unsigned integer menerima data dari 0 hingga 65.535 (bukan -32.768 hingga 32.767).

Contoh:

Mendeklarasikan variabel pencacah sebagai unsigned integer. unsigned int pencacah;

b. short

Variabel ini disamakan dengan integer (pada bahasa C).

c.long

Variabel ini digunakan untuk menaikkan kapasitas dari variabel yang bersangkutan. Long integer memiliki jangkauan bilangan bulat dari -2.147.483.648 hingga 2.147.483.647 (bandingkan dengan integer biasa -32.768 hingga 32.767).

d. Gabungan unsigned dan long

Kedua jenis diatas dapat digabungkan. Misalnya unsigned long integer yang memiliki jangkauan dari 0 hingga 4.294.967.295.

Contoh mendeklarasikan variabel anggaran_belanja sebagai unsigned long integer. unsigned long integer.

2.3. Inisialisasi Suatu Variabel

Inisialisasi adalah proses pemberian nilai awal terhadap suatu variabel. Pemberian nilai terhadap suatu variabel ini dapat dinyatakan dengan penggunaan tanda sama dengan (=).

(7)

Contoh:

Variabel harga_satuan dan jumlah yang bertipe float terlebih dahulu akan diberi nilai sebesar 112.50 dan 50 sebelum digunakan untuk menghitung harga_total yang juga bertipe float.

Deklarasi variabel:

float harga_satuan,jumlah,harga _total;

Inisialisasi variable:

harga_satuan=112.50; jumlah=50;

lnisialisasi dapat juga dilakukan bersama-sama dengan deklarasi. Contoh:

float harga _satuan= 112. 50,jumlah=50,harga _total;

2.4. Output / Keluaran

Agar hasil proses yang telah dilakukan oleh komputer dapat dibaca oleh sipemakai, hasil tersebut harus dapat ditampilkan dalam media output (printer, monitor atau media yang lain).

Untuk menampilkan hasil proses tersebut diperlukan perintah-perintah atau fungsi-fungsi yang mengatur output tersebut. Dalam bahasa C salah satu fungsi yang paling umum adalah printf().

2.4.1. Fungsi printf()

Fungsi printf() dapat digunakan untuk mencetak data baik yang bertipe numerik ataupun teks, baik konstanta ataupun variabel.

Contoh:

/* contoh program output */ #include<conio.h> #include<stdio.h> main() { printf("Belajar Pemrograman C"); getch(); } fungsi argumen

(8)

Program diatas bila dijalankan akan memberikan output/keluaran:

Belajar Pemrograman C

2.4.2. Penentu Format (Format Specifier)

Penggunaan penentuan format berkaitan erat dengan tipe-tipe data yang akan dicetak. Artinya setiap tipe data memiliki penentu formatnya masing-masing. lihat pada tabel berikut :

Tipe Data Penentu Format Untuk printf()

Integer %d

Floating point

Bentuk decimal %f

Bentuk berpangkat %e

Yang lebih pendek anatara decimal dan berpangkat %g

Double prescision %lf

Charakter %c

String %s

Unsigned integer %u

Long integer %ld

Long unsigned integer %lu

Unsigned hexadecimal %x

Unsigned octal integr %o

Urutan letak penentu format harus sesuai dengan urutan data yang akan mengisi penentu format tersebut.

Contoh:

/* program output data konstanta */ #include<conio.h>

#include<stdio.h> main()

{

printf(“%c merupakan abjad yang ke %d :”,’b’ ,2); getch();

}

Penentu format untuk ‘b’ adalah %c, sedangkan untuk 2 adalah %d. Karena %c mendahului %d, maka ‘b’ harus diletakkan di depan 2.

(9)

Contoh berikut salah:

#include<conio.h> #include<stdio.h> main()

{

printf(“%c merupakan abjad yang ke %d :”,2,’b’); getch();

}

Karena penentu format tidak sesuai dengan urutan data yang akan mengisinya.

/* program output data konstanta string*/ #include<conio.h>

#include<stdio.h> main()

{

printf("Nama saya adalah : %s","Budi Pranala"); getch();

}

2.4.3. Penentu Lebar Field (Filed Width Specifier)

Bila mencetak data yang bertipe float, maka tampilan yang dicetak desimalnya terlalu baayak. Contoh:

/* program output data konstanta float */ #include<conio.h> #include<stdio.h> main() { float bil=2.5,bil2=34.56,nomor=350.756; printf(“\nbilangan = %f ”,bil); printf(“\nbilangan2 = %f ”,bil2); printf(“\nnomor = %f ”,nomor); getch(); }

Output yang dihasilkan adalah:

bilangan = 2.500000 nomor = 30.75600

Desimal yang diberikan sebenarnya dapat diatur, demikian juga dengan panjang data (panjang field-nya). Cara mengatur lebar field dan jumlah desimal adalah dengan memberikan format

(10)

tambahan pada %f dengan bentuk sebagai berikut:

% a.bf

lebar field jumlah decimal

a dan b bilangan bulat.

Contoh modifikasi dari program diatas:

/* program output data konstanta float */ #include<conio.h> #include<stdio.h> main() { float bil=2.5,bil2=34.56,nomor=350.756; printf("\nbilangan = %8.1f ",bil); printf("\nbilangan2 = %9.2f ",bil2); printf("\nnomor = %10.3f ",nomor); getch(); }

Hasil outputnya adalah:

Bilangan = 2 . 5 0

Nomor = 3 0 . 7 6

Lebar field=10 Jumlah desimal=2

Untuk jumlah desimal yang lebih panjang dari yang akan dicetak akan dibulatkan ke angka. terdekat (keatas atau kebawah).

Panjang lebar field dapat diabaikan, yang diperhatikan hanya jumlah_ angka dibelakang koma saja (desimalnya saja), untuk keadaan ini lebar field dapat dibuang.

Contoh: #include<conio.h> #include<stdio.h> main() { float bil=2.5,nomor=30.756; printf(“bilangan = %.2f\n”,bil); printf(“nomor = %.2f”,nomor); getch(); }

(11)

Hasil outputnya adalah:

Bilangan = 2 . 5 0

Nomor = 3 0 . 7 6

Penentuan lebar field berlaku juga untuk data bertipe integer, tetapi karena integer tidak mengandung bilangan pecahan maka pengaturan jumlah angka dibelakang titik desimal tidak diperlukankan.

Bentuk penentu lebar field untuk integer adalah:

% ad

bilangan bulat (lebar field)

Contoh:

%10d  lebar field untuk integer adalah 10 Contoh:

/* program output data konstanta integer */ #include<conio.h> #include<stdio.h> main() { int bil=25,bil2=346,nomor=3556; printf("\nbilangan = %8d ",bil); printf("\nbilangan2 = %8d ",bil2); printf("\nnomor = %8d ",nomor); getch(); }

Bila lebar field ditentukan, data umumnya dicetak rata kanan. Untuk kebutuhan khusus, data dapat dicetak dalam format rata kiri. Caranya dengan menyisipkan tanda minus tambahan tadi.

Contoh: #include<conio.h> #include<stdio.h> main() { float bil=2.5,nomor=30.756; printf("bilangan = %-10.2f\n",bil); printf("nomor\t = %-10.2f",nomor); getch();

(12)

}

Hasil outputnya adalah:

Bilangan = 2 . 5 0

Nomor = 3 0 . 7 6

2.4.4. ESCAPE SEQUENCES

Disebut escape sequence karena notasi ‘\ dianggap sebagai karakter "escape" (menghindar), dalam arti bahwa karakter yang terdapat setelah tanda ‘\’ dianggap bukan merupakan teks biasa. Contoh:

/*contoh pemakaian escape sequences-1*/ #include<conio.h>

#include<stdio.h> main()

{

printf("BARIS 1\nBARIS 2\nBARIS 3"); getch();

}

/*contoh pemakaian escape sequences-2*/ #include<conio.h> #include<stdio.h> main() { printf("BARIS 1"); printf("BARIS 2"); printf("BARIS 3"); getch(); }

Hasil outputnya adalah:

BARIS 1 BARIS 2

Beberapa escape sequence lihat dalam tabel dibawah:

Ecape Sequence Pengertian

\b Backspace

\f Formfeed

\n Baris baru

\r Carriage Return

\t Tab (default = 8 karakter)

\’ Tanda kutip tunggal (’)

(13)

\\ Backslasch

\xaa Kode ASCII dalam hexadecimal (aa menunjukka angka ASCII nya) \aaa Kode ASCII dalam Octal (aaa menunjukan angka ASCII)

contoh:

/*contoh pemakaian escape sequences-3*/ #include<conio.h>

#include<stdio.h> main()

{

float bil1=3.5,bil2=45.2,bil3=4.76; float bil4=30.75, bil5=2.1,bil6=7.5;

printf("%8.2f\t%8.2f\t%8.2f\n", bil1, bil2,bil3); printf("%8.2f\t%8.2f\t%8.2f", bil4, bil5, bil6); getch(); } Outputnya adalah : 3.50 45.20 4.76  rata kanan 30.75 2.10 7.50 8 karakter contoh: #include<conio.h> #include<stdio.h> main() { float bil1=3.5,bil2=45.2,bil3=4.76; float bil4=30.75, bil5=2.1,bil6=7.5;

printf("%-8.2f\t%-8.2f\t%-8.2f\n", bil1, bil2,bil3); printf("%-8.2f\t%-8.2f\t%-8.2f", bil4, bil5, bil6); getch();

}

Outputnya adalah :

3.50 45.20 4.76  rata kiri

(14)

8 karakter Contoh:

/*contoh pemakaian escape sequences*/ #include<conio.h>

#include<stdio.h> main()

{

printf("\'DPR\' singkatan dari \"Dewan Perwakilan Rakyat\""); getch();

}

Outputnya adalah :

'DPR' singkatan dari "Dewan Perwakilan Rakyat"

2.4.5. Mencetak Kode ASCII

Agar output yang dihasilkan dapat lebih menarik, dapat digunakan karakter-karakter grafis dari kode ASCII.

Cara mencetak kode ASCII sarna dengan Escape Sequence, karena kode ASCII merupakan bagian dari Escape Sequence. Untuk mencetak kode ASCII digunakan kode hexadesimal. Karena komputer PC umumnya menggunakan kode ASCII dalam hexadesimal:, sedangkan kode Octal digunakan oleh Unix.

Untuk mencetak kode ASCII dalam hexadesimal digunakan notasi:

\xaa  aa merupakan bilangan ASCII dalam hexadesimal

contoh:

#include<conio.h> #include<stdio.h> main()

{

printf("Bel berbunyi, setelah teks ini\x07"); getch();

}

Outputnya adalah :

Bel berbunyi, setelah teks ini

(15)

Contoh:

/*contoh pemakaian escape sequences kode ASCII*/ #include<conio.h> #include<stdio.h> main() { printf("\xDA\xC4\xC4\xC4\xC4\xC4\xC4\xC4\xBF\n"); printf("\xB3\t\xB3\n"); printf("\xB3\t\xB3\n"); printf("\xB3\t\xB3\n"); printf("\xC0\xC4\xC4\xC4\xC4\xC4\xC4\xC4\xD9\n"); getch(); } Outputnya adalah: 2.5. INPUT (MASUKAN)

Kegunaan input tidak kalah pentingnya dengan output. Sebagai pengumpan data, input akan meneruskan data tersebut agar diproses komputer sebelum dikeluarkan sebagai output.

Ada 3 perintah input yang akan dibahas pada bagian ini yaitu:

a. scanf() b. getche() c. getch()

2.5.1. Fungsi scanf()

Bentuk umumnya:

scanf(“penentu format” ,&nama_variabel);

Dalam penggunaan scanf() seringkali dikombinasikan bersama dengan printf(), untuk keterangan tentang data apakah yang harus dimasukkan dalam scanf() tersebut, karena scanf() tidak dapat

(16)

digabungkan dengan teks.

Selain itu didepan nama variabel dalam scanf() harus digunakan '&" yang dikenal operator

alamat (address operator).

Contoh:

/* Program Penggunaan fungsi scanf() */ #include<conio.h>

#include<stdio.h> main()

{

float bilangan1,bilangan2,bilangan3; printf("Masukkan bilangan pertama : "); scanf("%f",&bilangan1);

printf("Masukkan bilangan kedua : "); scanf("%f",&bilangan2);

bilangan3=bilangan1 +bilangan2;

printf("Jumlah kedua bilangan adalah : %.3f",bilangan3); getch();

}

Outputnya adalah:

Masukkan bilangan pertama : 45.5  Masukkan bilangan kedua : 30.25 Jumlah kedua bilangan adalah : 75.750

Dengan adanya fungsi scanf() tidak perlu lagi memberikan “\n“ untuk pindah baris, karena scanf() sendiri akan memindahkan teks yang berikutnya kebaris yang baru.

Catatan :

scanf() tidak dapat menggunakan pengaturan lebar field dan jumlah desimal.

Contoh:

printf("Masukkan bilangan pertama : "); scanf("% 10.2f”,&bil1);

(17)

Penentu format digunakan dalam scanf() umumnya sama dengan yang digunakan dalam printf(). Kecuali penggunaan %g tidak dikenal oleh scanf().

Penentu format fungsi scanf()

Tipe Data Penentu Format Untuk scanf()

Integer %d Floating point Bentuk decimal %f Bentuk berpangkat %e Double prescision %lf Character %c String %s Unsigned integer %u Long integer %ld

Long unsigned integer %lu

Unsigned hexadecimal %x

Unsigned octal integr %o

2.5.2. Operator Alamat

Variabel yang telah didefinisikan akan mempunyai alamat tertentu didalam memori. Pemberian alamat ini dilakukan secara otomatis oleh komputer.

Bila ada data yang harus disimpan dalam variabel tersebut, maka data akan dikirimkan ke alamat variabel yang bersangkutan. Perintah scanf() yang bertugas untuk mengirimkan data yang diinputkan ke alamat variabel tadi. Cara menunjukkan scanf() ke alamat yang dimaksud adalah dengan menambah tanda '&' didepan nama variabelnya. Maka alamat variabel ini akan langsung diketahui oleh komputer.

Alamat variabel dalam memori sangat bervariasi, program yang sama belum tentu akan memberikan alamat variabel yang sama. Ini tergantung pada banyak faktor misalnya: jenis komputer, jenis sistem operasinya, kapasitas memori dsb.

Selain nilai variabel, alamat variabel dapat juga dicetak dengan menggunakan fungsi printf() dengan menambahkan tanda '&' didepan nama variabel tadi.

(18)

Contoh:

/* Contoh Program Melihat alamat variabel*/ #include<conio.h>

#include<stdio.h>

/* Program Menghitung luas segiempat */ main()

{

float panjang, lebar, luas,keliling; /* Input data - panjang dan lebar */

printf("Panjang segiempat : "); scanf("%f",&panjang); printf("Lebar segiempat : "); scanf("%f",&lebar); /* Menghitung luas segiempat */

luas = panjang*lebar;

keliling=(2*panjang)+(2*lebar);

/* Mencetak luas dan keliling segiempat */ printf("\nLuas segiempat : %.2f",luas); printf("\nKeliling segiempat : %.2f",keliling);

/* Mencetak alamat variabel-variabel yang digunakan */ printf("\nAlamat variabel Panjang : %u",&panjang); printf("\nAlamat variabel Lebar : %u",&lebar); printf("\nAlamat variabel Luas : %u",&luas); printf("\nAlamat variabel Keliling : %u",&keliling); getch();

}

Untuk mencetak alamat variabel digunakan format %u, karena alamat-alamat variabel dalam memori dinyatakan dengan bilangan bulat positif.

2.5.3. Memasukkan Beberapa Data Sekaligus Dalam Satu Baris

Dengan menggunakan fungsi scanf(), dapat dimasukan beberapa data sekaligus dalam satu baris, selama jumlah serta tipe data yang dimasukkan sesuai dengan format penentu yang diberikan dalam scanf().

Data yang dimasukkan dapat dipisahkan dengan tanda spasi, tab, koma (,), garis hubung (_) atau titik dua (:). Pemisah data dalam input yang diketikkan harus sama dengan pemisah data yang digunakan dalam scanf().

Contoh:

/* Contoh Program memasukkan beberapa data sekaligus dalam satu baris dengan tanda pemisah spasi */

#include<conio.h> #include<stdio.h>

(19)

main() {

int bil1,bil2,bil3; /* Input data */

printf("Memasukkan Tiga Bilang Bulat (dipisah dg spasi) : "); scanf("%d %d %d",&bil1,&bil2,&bil3);

printf("Bilangan Yang Dimasukkan : %d %d %d",bil1,bil2,bil3); getch();

}

contoh bentuk input yang diberikan:

Masukkan Tiga Bilangan Bulat: 12 30 7

Dipisah spasi

Outputnya adalah:

Bilangan Yang Dimasukkan : 12 30 7

Contoh:

/* Contoh Program Melihat alamat variable dengan input sekaligus*/ #include<conio.h>

#include<stdio.h>

/* Program Menghitung luas segiempat */ main()

{

float panjang, lebar, luas,keliling; /* Input data - panjang dan lebar */

printf("Panjang segiempat dan lebar segi empat dipisah spasi: "); scanf("%f %f",&panjang,&lebar);

/* Menghitung luas segiempat */ luas = panjang*lebar;

keliling=(2*panjang)+(2*lebar);

/* Mencetak luas dan keliling segiempat */ printf("\nLuas segiempat : %.2f",luas); printf("\nKeliling segiempat : %.2f",keliling); getch();

(20)

Contoh:

/* Contoh Program memasukkan beberapa data sekaligus dalam satu baris dengan tanda pemisah koma */ #include<conio.h> #include<stdio.h> main() { float bil1,bil2; int bil3; /* Input data */

printf("Memasukkan Tiga Bilangan dengan format float, float, integer (dipisah dg koma: "); scanf("%f,%f,%d",&bil1,&bil2,&bil3);

printf("Bilangan Yang Dimasukkan : %.3f, %.3f, %d",bil1,bil2,bil3); getch();

} Contoh:

/* Contoh Program Menghitung isi ruang dengan input sekaligus*/ #include<conio.h>

#include<stdio.h>

/* Program Menghitung isi ruang */ main()

{

float isi,panjang, lebar; int tinggi;

/* Input data - panjang, lebar dan tinggi */

printf("\n\t\t\tPROGRAM MENGHITUNG ISI RUANG"); printf("\n\t\t\t============================");

printf("\n\n\tpanjang dan lebar bilangan pecahan dan tinggi bilangan bulat "); printf("\n\tInputkan panjang, lebar dan tinggi (dipisah koma): \n\t");

scanf("%f,%f,&d",&panjang,&lebar,&tinggi); /* Menghitung is ruang */

isi = panjang*lebar*tinggi; /* Mencetak isi ruang */

printf("\n\n\t\t\tIsi Ruang = %.2f",isi); getch();

}

2.4.5. FUNGSI getch() DAN getche()

Fungsi input getche() memiliki sifat sedikit berbeda dari scanf(). Dalam scanf() jumlah karakter data yang diinputkan boleh bebas, dalam getche() hanya sebuah karakter yang dapat diterima. Scanf() membutuhkan tombol Return/Enter untuk mengakhiri input, getche() tidak membutuhkan Return/Enter, input akan dianggap selesai begitu selesai mengetikkan satu karakter dan secara otomatis akan melanjutkan perintah-perintah berikutnya.

getche()=get character and echo/menerima sebuah karakter kemudian ditampilkan.

Input yang diterima getche() akan disimpan kedalam variabel karakter yang sebelumnya harus

(21)

sebagai karakter.

/* Contoh Program Penggunaan fungsi getche */ #include<conio.h>

#include<stdio.h> main()

{

char x; /* Mendeklarasikan variabel getche() */ /* nama variabel boleh sembarang * / /* dalam program ini dipilih x * / printf("\nMempelajari penggunaan getche()"); /* contoh penggunaan getche() */

printf("\nTekan sembarang tombol : "); x=getche();

/* periksa tombol yang anda tekan */

printf("\nTombol yang telah menekan tombol %c",x); getch();

}

Pada diatas, tombol yang ditekan nilainya akan disimpan kedalam variabel x yang bertipe karakter. getche() dapat juga digunakan tanpa menyimpannya kedalam variabel.

Contoh:

/* Contoh Program Penggunaan getche() tanpa variabel */ #include<conio.h>

#include<stdio.h> main()

{

printf("\nMempelajari penggunaan getche()"); /* contoh penggunaan getche() tanpa variabel */ printf("\nTekan sembarang tombol : ");

getche();

/* periksa tombol yang ditekan */ printf("\nTombol yang telah ditekan"); getch();

}

Fungsi input lain yang mirip dengan getche() adalah getch(). Satu-satunya perbedaan antara kedua fungsi ini adalah fungsi getche() akan menampilkan karakter yang diketikkan dilayar, sedangkan getch() hanya akan menyimpan karakter tersebut dalam memori, tanpa menampilkannya dilayar. Data yang diterima melalui getch() juga akan diperlakukan sebagai

Figur

Memperbarui...

Referensi

Memperbarui...

Related subjects :