Upload
maulana-yusuf-r
View
52
Download
0
Embed Size (px)
DESCRIPTION
Algoritma & Pemrograman
5/19/2018 Prak. Algoritma & Pemrograman
1/22
Perintah Input - Output2009Suyanto
BAB 3
PERINTAH INPUT OUTPUT
1.Perintah Output
Perintah Output adalah perintah yang digunakan untuk mengeluarkan hasil proses
komputer sehingga bisa dibaca oleh si pemakai (user). Adapun media yang digunakan untuk
menampilkan hasil output tadi bisa berupa monitor atau dicetak ke kertas melalui printer. Salah
satu fungsi untuk menampilkan output dalam Turbo C++ adalah fungsiprintf().
ungsiprintf()digunakan untuk mencetak data baik berupa teks! numerik! konstanta
Praktikum Algoritma dengan Turbo C Hal 1
5/19/2018 Prak. Algoritma & Pemrograman
2/22
Perintah Input - Output2009Suyanto
"isa dilihat dari contoh diatas! bah#a perintahprintf()bisa diikuti dengan tanda $s! $f! $d dan
lain%lain. Tanda $ tersebut disebut dengan penentu format(format specifier).
Perintah lain untuk menampilkan output adalah denganputs() danputchar()
ungsiprintf()digunakan untuk menampilkan semua &enis data (numeric dan karakter)
ungsiputs()digunakan untuk menampilkan data string dan secara otomatis akan diakhiri
dengan perpindahan baris.
ungsiputchar()digunakan untuk menampilkan sebuah karakter.
Praktikum Algoritma dengan Turbo C Hal 2
5/19/2018 Prak. Algoritma & Pemrograman
3/22
Perintah Input - Output2009Suyanto
2.Penentu Format (Format Specifier)
Penggunaanpenentu formatsangat berkaitan dengan tipe data yang akan dicetak! artinya
setiap tipe data mempunyai penentu format masing%masing. Tabel berikut merupakan tabel
penentu format untuk masing%masing tipe data.
Tabel '. Tabel Penentu ormatprintf()
No Tipe Data Penentu Format untuk printf()
1 Integer %d
2 Flating Pint
Bentu! "e#i$al %
Bentu! Berpang!at %e
&ang le'ih pende! antara "e#i$al dan
Berpang!at
%g
3 "u'le Pre(i#in %l
) *hara(ter %(
+ ,tring %#
Un#igned Integer %u
. /ng Integer %ld
0 /ng un#igned integer %lu
Un#igned Heade(i$al Integer %
1 Un#igned O(tal Integer %
ang harus diperhatikan disini adalah bah#a urutan dari letak penentu format harus sesuai
dengan urutan konstanta atau *ariabel yang akan mengisinya! tentunya untuk penentu format
Praktikum Algoritma dengan Turbo C Hal 3
5/19/2018 Prak. Algoritma & Pemrograman
4/22
Perintah Input - Output2009Suyanto
yang lebih dari satu. al ini dikarenakan! penentu format untuk masing%masing tipe data berbeda%
beda.
3.Penentu Lebar Field (Field Width Specifier)
"ila kita mencetak data yang bertipe float! sering kali terlihat tampilan yang kurang
bagus! misalnya angka desimal yang tercetak terlalu banyak. Sebagai contoh ,
printf(Nilai Rata-Rata Anda = %f ,80.25);
maka pada saat program diatas di&alankan! output yang tampil sebagai berikut ,
Nilai Rata-Rata Anda = 80.250000
-umlah angka desimal! sebenarnya bisa kita atur! demikian &uga dengan lebar data (lebar
field). ntuk mengatur formatfloattersebut dengan bentuk sebagai berikut ,
/aka agar tampilan program diatas lebih bagus! maka harus diberikan format sebagai berikut ,
printf(Nilai Rata-Rata Anda = %5.2f \n,80.25);
maka pada saat program diatas di&alankan! output yang tampil sebagai berikut ,
Praktikum Algoritma dengan Turbo C Hal )
$a.bf atau
$%a.bf
4et 5 a 5 le'ar6eld ' 5 7u$lahde#i$al
8 5 untu! $engatur rata !iri
5/19/2018 Prak. Algoritma & Pemrograman
5/22
Perintah Input - Output2009Suyanto
Nilai Rata-Rata Anda = 80.25
0ebanyakan dari contoh%contoh program diatas banyak terdapat pernyataan 1n disetiap
akhir string yang dicetak. Tanda tersebut (1n) disebut dengan Escape Sequence. 1n artinya data
yang dicetak setelahnya akan di tampilkan di baris baru dengan kata lain 1n berfungsi untuk
berpindah baris pencetakan.
4.!"ape #e$uen"e!
2isebutEscape Sequencekarena notasi 314 dianggap sebagai karakter escape (menghindar)
dalam arti bah#a karakter yang terdapat setelah tanda 314 dianggap bukan teks biasa! &adi karakter
ini dilarikan dari pengertian sebagai teks biasa. "eberapa escape sequencebisa dilihat pada tabel
berikut.
Tabel '.5Escape Sequence
6o Escape Sequence Pengertian
1b "ackspace (mundur satu spasi)
5 1f ormfeed (ganti halaman)
' 1n 7anti "aris "aru (ne# line)
Praktikum Algoritma dengan Turbo C Hal +
5/19/2018 Prak. Algoritma & Pemrograman
6/22
Perintah Input - Output2009Suyanto
8 1r Carriage Return
9 1t Tab (default = : karakter)
; 14 Tanda 0utip Tunggal (3)
< 1= Tanda 0utip 7anda (>)
: 11 "ackslash
? 1@aa 0ode ASC dalam e@adesimal (aa , angka ascii )
B 1aaa 0ode ASC dalam Oktal (aaa , angka ascii)
1a "unyi bell (alert)
Program berikut merupakan contoh dari penggunaanEscape Sequence.
/*
Conto !"n##$naan &'ap" "$"n'" !"n"nt$ +orat
\t = ta$la&i, \n = pinda ari&
%.2f = di#it 2 d"&ial $nt$ forat float*/
in'l$d"1&tdio.
in'l$d"1'onio.
3oidain()
Praktikum Algoritma dengan Turbo C Hal
5/19/2018 Prak. Algoritma & Pemrograman
7/22
Perintah Input - Output2009Suyanto
4
floatil=6.7,il2=8.50,il6=88.0; floatil7=6.,il5=0.80,il=00.75; 'lr&'r();
printf(9\:NR\: in#atan dari \9Na\n\n9);#"t'(); printf(9&'ap" "$"n'"ta(\\t) \n9); printf(9------------------------\n9);
printf(9%.2f \t%.2f \t%.2f \n9,il,il2,il6);printf(9%.2f \t%.2f \t%.2f \n9,il7,il5,il);printf(9------------------------\n9); #"t'();
?
Program '.5 PemakaianEscape Sequence
-ika program '.5 di&alankan! maka akan menghasilkan output sebagai berikut ,
@NR in#atan dari Na
&'ap" "$"n'" ta(\t)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%6.7 8.50 88.00
6.0 0.80 00.75
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%.&en"etak 'ode #**
Pada saat tertentu! kita memerlukan mencetak sebuah karakter ASC! terutama pada saatkita membutuhkan sebuah tampilan yang lebih menarik! misalkan kita ingin membuat sebuahkotak. 2i Turbo C++ fasilitas untuk mencetak kode ASC bisa menggunakan EscapeSequence 1@ dan diikuti kode e@adesimal dari kode karakter yang bersangkutan. Programdiba#ah ini mencontohkan cara membuat kotak dengan kode ASC.
/*
Conto !"n##$naan &'ap" "$"n'"$nt$ "n'"ta od" ACDD
Praktikum Algoritma dengan Turbo C Hal .
5/19/2018 Prak. Algoritma & Pemrograman
8/22
Perintah Input - Output2009Suyanto
*/
in'l$d"1&tdio.
in'l$d"1'onio.
3oidain()
4 'lr&'r();
printf(9\EFA\EC7\EC7\EC7\EG+\n9); /* iriAta& Fatar6E ananAta& */printf(9\EG6 \EG6\n9); /* Hari&I"rtial &pa&i6E Hari&I"rtial */printf(9\EC0\EC7\EC7\EC7\EFJ\n9); /* iriGaKa Fatar6E ananGaKa */#"t'();?
Program '.' /encetak 0ode ASC
asil dari program '.' adalah sebagai berikut ,
+.&enampilkan data ke printer
ntuk menampilkan data ke printer dapat menggunakan fungsi fprintf()! fputs() danfputc().
ungsi fprintf() digunakan untuk mencetak semua &enis tipe data ke printer dan secaraotomatis memberikan efek perpindahan baris.
ungsi fputs() digunakan untuk mencetak tipe data string ke printer ungsi fputc() digunakan untuk mencetak tipe data karakter ke printer
Contoh program :
in'l$d" &tdio.B
Praktikum Algoritma dengan Turbo C Hal 0
5/19/2018 Prak. Algoritma & Pemrograman
9/22
Perintah Input - Output2009Suyanto
in'l$d" 'onio.B3oid ain()
4 fprintf(&tdprn, Lallo, a
5/19/2018 Prak. Algoritma & Pemrograman
10/22
Perintah Input - Output2009Suyanto
No Tipe Data Penentu Format untuk printf()
1 Integer %d
2 Flating Pint
Bentu! "e#i$al %e atau %
Bentu! Berpang!at %e atau %
3 "u'le Pre(i#in %l
) *hara(ter %(
+ ,tring %#
Un#igned Integer %u
. /ng Integer %ld
0 /ng un#igned integer %lu
Un#igned Heade(i$al Integer %
1 Un#igned O(tal Integer %
Selain itu! penggunaanscanf()&uga harus menyertakan tanda 34 pada a#al nama*ariabel. Tanda 34 disini befungsi sebagai operator alamat (address operator). Contohpenggunaanscanf()sebagai berikut ,
/*
!"rinta inp$t "rf$n#&i $nt$ "a&$an data dari "dia "
5/19/2018 Prak. Algoritma & Pemrograman
11/22
Perintah Input - Output2009Suyanto
'lr&'r();
printf(9Qa&$an Naa Anda 9);&'anf(9%&9,naa);ffl$&(&tdin);printf(9Qa&$an !anMan# !"r&"#i 9);&'anf(9%f9,pM#);
printf(9Qa&$an "ar !"r&"#i 9);&'anf(9%f9,lr); l& = pM# *lr;
printf(9a$dara %& $a& !"r&"#i !anMan# Anda %5.2f9,naa,l&);#"t'();
?
Program '.8 Pemakaian fungsiscanf()
-ika terdapat beberapa proses input (memasukkan data) sekaligus! maka sebaiknya
ditambahkan fungsi fflu!h(!tdin) setelah fungsi scanf(). ungsi fflush(stdin) berfungsi
menghapus buffer di dalam alat DO.
Scanf() &uga bisa digunakan untuk menginputkan beberapa data sekaligus dalam satu
baris asalkan ¨ah dan tipe penentu format sesuai dengan *ariabel yang akan diinputkan. 2ata
yang akan dimasukkan dapat dipisahkan dengan spasi! tabatau tanda pemisah lain seperti koma
(!)! garis hubung(%)! atau titik dua(,). Pemisah data dalam input yang digunakan harus sama
dengan pemisah data dalamscanf().
Contoh ,
printf(Qa&$an 6 ilan#an B);&'anf(%d %f %dB,il,il2,il6); asil ,
Qa&$an 6 ilan#an 0 2.5 50
Contoh 5 ,
Praktikum Algoritma dengan Turbo C Hal 11
5/19/2018 Prak. Algoritma & Pemrograman
12/22
Perintah Input - Output2009Suyanto
printf(Qa&$an Sa Qa&$ (&&) B);&'anf(%d%d%dB,,,&&); asil ,
Qa&$an Sa Qa&$ (&&) 08652
Contoh ' ,
printf(Qa&$an #l. air Anda (dd//
5/19/2018 Prak. Algoritma & Pemrograman
13/22
Perintah Input - Output2009Suyanto
5. "ila scanf() membutuhkan tombol FGTF6DG6TGF untuk mengakhiri input! maka
dalamgetche()tidak membutuhkannya. nput dianggap selesai begitu kita memasukkan
satu karakter dan secara otomatis akan melan&utkan ke baris perintah berikutnya.
getche() merupakan singkatan dariget character and echoyang artinya 3menerima
sebuah karakter kemudian tampilkan4. nput yang diterima getche() akan disimpan ke
dalam *ariabel karakter yang sebelumnya harus sudah dideklarasikan. Contoh
penggunaannya seperti statemen diba#ah ini ,
E=#"t'"();
-adi *ariabel @ akan menyimpan data yang diinputkan melaluigetche().ungsi input lain yang mirip dengan getche() adalah getch(). Satu%satunya
perbedaan antara getche() dangetch() adalah getche()akan menampilkan karakter yangkita ketikkan! sedangkan getch() tidak akan menampilkan! melainkan hanya
menyimpannya dalam memori sa&a! &adi apa yang kita ketikkan tidak akan muncul dilayar
sebelum kita memberikan perintah untuk mencetak nilai tersebut.
a. ungsi getch() dan getche() digunakan untuk membaca data karakter.
b. 0arakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter.
c. Tidak memberikan efek pergantian baris secara otomatis
d. -ika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan pada
layar sehingga sering digunakan untuk meminta inputan berupa pass#ord.
e. Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada layar.
Praktikum Algoritma dengan Turbo C Hal 13
5/19/2018 Prak. Algoritma & Pemrograman
14/22
Perintah Input - Output2009Suyanto
Contoh,
/*
Conto p"n##$naan &'anf() $nt$ inp$t ""rapa data&"ali#$&
!ro#ra on3"r&i SaQ"nit "nMadi "nit.
*/
in'l$d"1&tdio.
in'l$d"1'onio.
3oidain()
4
intMa,"nit,a&il;'lr&'r();
/* C"ta S$d$l */
printf(9\n\EFG\EFG\EFG !ro#ra on3"r&i Sa \EFG\EFG\EFG9);
/* inp$tan Ma"nit */
printf(9\n\nDnp$tan Sa dan Q"nit (Ma"nit) 9);&'anf(9%d%d9,Ma,"nit);
/* Lit$n# on3"r&i */a&il=Ma*0T"nit;
/* C"ta La&il */
printf(9\n\n%d Ma %d "nit = %d "nit9,Ma,"nit,a&il);#"t'"();
?
Program '.9 Pemakaian fungsiscanf()untuk input beberapa data
".Fun-!i -et!()
a. ungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat
digunakan untuk memasukkan data numerik.
Praktikum Algoritma dengan Turbo C Hal 1)
5/19/2018 Prak. Algoritma & Pemrograman
15/22
Perintah Input - Output2009Suyanto
b. arus diakhiri dengan penekanan tombol enter
c. Cursor secara otomatis akan pindah barisd. Tidak memerlukan penentu format Contoh pemakaian gets
/* !ro#ra inp$tan tip" data arat"r/&trin# */in'l$d" 1&tdio.in'l$d" 1'onio. 3oidain()
4 'ar naaO20P,alaatO50P,tpUlrO5P,t#lUlrO5P;'lr&'r();
printf(Qa&$an naa Anda );#"t&(naa);printf(Qa&$an alaat Anda );#"t&(alaat);printf(Qa&$an t"pat air Anda );#"t&(tpUlr);printf(Qa&$an an##al air Anda );#"t&(t#lUlr);
printf(L"llo, Naa Anda adala %&\nB, naa);printf(Anda &aat ini tin##al di %&\nB, alaat);printf("dan#an t"pat lair Anda di %&\nB, tpUlr);printf(Fan Anda dilairan pada tan##al %&\nB, t#lUlr);
#"t'();?
Program '.; Pemakaian fungsigets()untuk input data string
d.-et"har()
a. ungsi getchar() digunakan untuk membaca data yang bertipe karakterb. arus diakhiri dengan penekanan tombol enterc. 0arakter yang dimasukkan terlihat pada layard. Pergantian baris secara otomatis
#oal 3.
. Tuliskan perintah output dalam Turbo C++! berikan contohnyaH
Praktikum Algoritma dengan Turbo C Hal 1+
5/19/2018 Prak. Algoritma & Pemrograman
16/22
Perintah Input - Output2009Suyanto
5. 2alam menuliskan output terdapat bagian yang merupakan penentu format. -elaskan apa
yang dimaksud dengan penentu formatH
'. "agaimana format penulisan perintah printfdengan menggunakan penentu format! &ikadiketahui nilai dari *ariabel%*ariabel sebagai berikut ,
idup I 9! mati I ! sisaI8
2an ingin menampilkan kalimat berdasarkan nilai diatas seperti diba#ah ini , Ayam
9 mati tinggal 8
8. Tuliskan simbol penentu format dari integer! float! long integer! dan long unsign integer
dan berikan contohnya dalam penggalan program H
9. "agaimana menentukan lebar field dari sebuah tipe data float &ika kita menginginkan
sebuah *ariabel float dicetak dengan ? digit dan 5 desimalJ "erikan contohnyaH
;. -elaskan apa yang dimaksud denganEscape SequenceJ
5/19/2018 Prak. Algoritma & Pemrograman
17/22
Perintah Input - Output2009Suyanto
'. "agaimanakah caranya untuk menginputkan beberapa data sekaligus dalam satu barisJ
8. Tuliskan bagaimana programnya apabila kita ingin memasukkan data dengan tampilan
sebagai berikut ,
Qa&$an "pat/#l. air Anda
2imana inputan tersebut dalam satu baris! dan data yang harus diinputkan adalah tempat_lahir,
tgl_lahirbln_lahirthn_lahir.
9. Tuliskan kepan&angan darigetcheJ
#oal 3./
. "uat program untuk menghitung ¨ah dan selisih dua buah bilangan integer! kemudian
tampilkan ¨ah dan selisih tadi dengan menggunakan format lebar field I :.
2ata input , bilangan ! bilangan 5
2ata output , ¨ah! selisih
Tampilan yang diinginkan sebagai berikut ,
Qa&$an Gilan#an
Qa&$an Gilan#an 2
S$la antara dan adala
"li&i antara dan adala
5. "uat program untuk menghitung luas dan keliling persegi pan&ang! yang mana rumusnya
adalah ,
luas I pan&ang L lebar
kellI5L(pan&ang + lebar)
Praktikum Algoritma dengan Turbo C Hal 1.
5/19/2018 Prak. Algoritma & Pemrograman
18/22
Perintah Input - Output2009Suyanto
Semua *ariabel menggunakan tipefloat. pan&ang dan lebar diinputkan dengan scanf()dan luas
serta keliling yang sudah dihitung dicetak dengan format lebar field I B dan ¨ah
angka di belakang titik desimal I 5.
Tampilan yang diinginkan sebagai berikut ,
------------------------------------------
!RVHRAQ LDWNH !RHD!ANSANH
------------------------------------------
Qa&$an !anMan# !"r&"#ipanMan# 1inp$t Qa&$an"ar !"r&"#ipanMan# 1inp$t
------------------------------------------
$a& !"r&"#ipanMan# 1o$tp$t "lilin#!"r&"#ipanMan# 1o$tp$t
------------------------------------------
0.Operator
a.Operator Penu-a!an
Operator Penugasan (!ssignment operator) dalam bahasa C berupa tanda sama
dengan (>I=).
Contoh ,
nilai I :BM A
I @ L yM
Praktikum Algoritma dengan Turbo C Hal 10
5/19/2018 Prak. Algoritma & Pemrograman
19/22
Perintah Input - Output2009Suyanto
Artinya , *ariable >nilai= diisi dengan :B dan *ariable >A= diisi dengan hasil
perkalian antara @ dan y.
b.Operator ritmatika
"ahasa C menyediakan lima operator aritmatika! yaitu ,
.L , untuk perkalian
5.D , untuk pembagian
'.$ , untuk sisa pembagian (modulus)
8.+ , untuk pertambahan
9.% , untuk pengurangan
Catatan ,
Operator $ digunakan untuk mencari sisa pembagian antara dua bilangan.
/isalnya ,
.? $ 5 I ? $ ' I B ? $ 9 I 8 ? $ ; I 'Contoh Program ,
in'l$d" 1&tdio.in'l$d" 1'onio. 3oidain()
4 'lr&'r(); // untuk membersihkan layarprintf(Nilai dari J T 7 = %iB, J T 7);printf(Nilai dari J - 7 = %iB, J - 7);
printf(Nilai dari J * 7 = %iB, J * 7);printf(Nilai dari J / 7 = %iB, J / 7);printf(Nilai dari J \% 7 = %iB, J % 7);#"t'();
?
Program '.< Pemakaian Operator Arithmatika
Praktikum Algoritma dengan Turbo C Hal 1
5/19/2018 Prak. Algoritma & Pemrograman
20/22
Ta'el 39) Ta'el Penentu Fr$at#(an:;
Perintah Input - Output2009Suyanto
c.Operator ubun-an (Perbandin-an)
Operator hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau *ariable). Operator hubungan dalam bahasa C ,
d.Operator Lo-ika
-ika operator hubungan membandingkan hubungan antara dua buah operand! maka
operator logika digunakan untuk membandingkan logika hasil dari operator%operator
hubungan. Operator logika ada tiga macam! yaitu ,
. , Nogika A62 (2A6)
5. , Nogika OF (ATA)
'. H , Nogika 6OT (670AFA6)
Praktikum Algoritma dengan Turbo C Hal 2
5/19/2018 Prak. Algoritma & Pemrograman
21/22
Perintah Input - Output2009Suyanto
e.Operator /iti!e
Operator bit#ise digunakan untuk memanipulasi bit%bit dari nilai data yang ada di
memori. Operator bit#ise dalam bahasa C ,
. , Pergeseran bit ke kiri
5. QQ , Pergeseran bit ke kanan
'. , "it#ise A62
8. R , "it#ise OF (e@clusi*e OF)
9. , "it#ise OF
;. , "it#ise 6OT
f.Operator nar
Operator nary merupakan operator yang hanya membutuhkan satu operand sa&a.
2alam bahasa C terdapat beberapa operator unary! yaitu ,Tabel '.9 Tabel Operator nary
atatan Pentin- 5 6
Praktikum Algoritma dengan Turbo C Hal 21
5/19/2018 Prak. Algoritma & Pemrograman
22/22
Perintah Input - Output2009Suyanto
Perintah Input - Output2009Suyanto
Operator peningkatan ++ dan penurunan %% &ika diletakkan sebelum atau sesudahoperand terdapat perbedaan. Perhatikan contoh berikut ,
in'l$d" 1&tdio.
in'l$d" 1'onio. 3oidain()
4 int E, nilai;'lr&'r(); E = 5;
nilai = TTE; /* "rarti E = E T ; nilai = E; */printf(9nilai = %d, E = %d\n9, nilai, E);
nilai = ETT; /* "rarti nilai = E; nilai = E T ; */printf(9nilai = %d, E = %d\n9, nilai, E); #"t'();
?
Program '.:. Penggunaan Operator nary ++
in'l$d" 1&tdio.
in'l$d" 1'onio.
4 int , nilai;
'lr&'r(); // untuk membersihkan layar
nilai = --; /* "rarti = - ; nilai = ; */printf(9nilai = %d, = %d\n9, nilai, ); nilai =--; /* "rarti nilai = ; = T ; */printf(9nilai = %d, = %d\n9, nilai, );#"t'();
?
Program '.?. Penggunaan Operator nary %%
Praktikum Algoritma dengan Turbo C Hal 22