pemrograman komputer bab ii input / output filepemrograman komputer input/output - 7 bab ii input /...
TRANSCRIPT
Pemrograman Komputer
Input/Output - 7
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
Contoh: 2.133 e2 artinya: 2.133 x 10
Pemrograman Komputer
Input/Output - 8
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:
1. Nama variabel bahasa C hanya boleh terdiri dari abjad, bilangan dan tanda hubung ( _ ).
Pemrograman Komputer
Input/Output - 9
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
9. Bahasa C membedakan antara huruf BESAR dan huruf kecil
Pemrograman Komputer
Input/Output - 10
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.
Pemrograman Komputer
Input/Output - 11
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.
Pemrograman Komputer
Input/Output - 12
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 (=).
Pemrograman Komputer
Input/Output - 13
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
Pemrograman Komputer
Input/Output - 14
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.
Pemrograman Komputer
Input/Output - 15
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
Pemrograman Komputer
Input/Output - 16
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();
}
Pemrograman Komputer
Input/Output - 17
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();
Pemrograman Komputer
Input/Output - 18
}
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 (’)
\“ Tanda kutip ganda (“)
Pemrograman Komputer
Input/Output - 19
\\ 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
30.75 2.10 7.50
Pemrograman Komputer
Input/Output - 20
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
<diikuti oleh bunyi bel>
Pemrograman Komputer
Input/Output - 21
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
Pemrograman Komputer
Input/Output - 22
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);
tidak boleh
Pemrograman Komputer
Input/Output - 23
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.
Pemrograman Komputer
Input/Output - 24
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>
Pemrograman Komputer
Input/Output - 25
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();
}
Pemrograman Komputer
Input/Output - 26
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
dideklarasikan dulu. Jadi data yang di inputkan melalui getche() akan selalu diperlakukan
Pemrograman Komputer
Input/Output - 27
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
karakter.