0% menganggap dokumen ini bermanfaat (0 suara)
26 tayangan37 halaman

Operator Dan Penanganan Input Output

Dokumen ini membahas tentang operator dan penanganan input-output dalam pemrograman C, termasuk jenis-jenis operator seperti aritmatika, perbandingan, logika, dan bitwise. Tujuan dari pembelajaran ini adalah untuk memberikan pemahaman dasar kepada dosen dan mahasiswa mengenai konsep teknologi informasi dan kemampuan menulis algoritma. Selain itu, dokumen ini juga memberikan panduan belajar yang mencakup langkah-langkah untuk memahami materi dan menyelesaikan tugas.

Diunggah oleh

Miftahul Rizky
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
26 tayangan37 halaman

Operator Dan Penanganan Input Output

Dokumen ini membahas tentang operator dan penanganan input-output dalam pemrograman C, termasuk jenis-jenis operator seperti aritmatika, perbandingan, logika, dan bitwise. Tujuan dari pembelajaran ini adalah untuk memberikan pemahaman dasar kepada dosen dan mahasiswa mengenai konsep teknologi informasi dan kemampuan menulis algoritma. Selain itu, dokumen ini juga memberikan panduan belajar yang mencakup langkah-langkah untuk memahami materi dan menyelesaikan tugas.

Diunggah oleh

Miftahul Rizky
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 37

Operator dan Penanganan Input Output

A. Pendahuluan
1. Deskripsi Singkat

Secara umum, tujuan kegiatan belajar 3 ini adalah untuk memberikan pengetahuan,
keterampilan, dan sikap kepada dosen dan mahasiswa tentang konsep dasar teknologi
informasi.

Secara khusus, tujuan kegiatan belajar 1 ini adalah agar peserta mampu: (1)
menjelaskan berbagai opertator, (2) menjelaskan operasi input output, (3memilih operator,
dan (4) menuliskan ekspresi, operasi input output dalam pemrograman C.

2. Panduan Belajar

Proses pembelajaran untuk materi modul 1 kegiatan belajar 3 dapat berjalan dengan
lancar apabila Anda mengikuti langkah-langkah belajar sebagai berikut:

1. Pahami dulu kegiatan penting dalam program pelatihan ini dengan memperhatikan isi
capaian pembelajaran setiap kegiatan belajar.
2. Lakukan kajian terhadap setiap materi dalam kegiatan belajar, agar memudahkan proses
pembelajaran.
3. Pelajari dahulu kegiatan belajar 3 yang setiap akhir kegiatan belajar menyelesaikan
tugas yang harus dikerjakan secara langsung.
4. Keberhasilan program pembelajaran ini tergantung dengan kesungguhan Anda dalam
mengerjakan setiap tugas dalam kegiatan belajar.
5. Bila Anda menemukan kesulitan, silahkan hubungi instruktur pembimbing atau fasilitator
yang mengajar modul ini.

B. Inti
1. Capaian Pembelajaran Matakuliah

Setelah mengikuti seluruh tahapan pada kegiatan belajar, peserta mampu memahami
prinsip dasar dan lingkungan pemrograman C serta Cara menulis Algoritma.

2. Pokok Materi

a. Operator
b. Penanganan Input dan Output berformat
c. Penanganan Input dan Output tidak berformat
3. Uraian Materi

a. Operator
Sebelum masuk ke jenis-jenis operator di dalam bahasa C, terdapat
istilah operand dan operator. Operand adalah nilai asal yang dipakai dalam sebuah proses
operasi. Sedangkan Operator adalah instruksi yang diberikan untuk mendapatkan hasil dari
proses tersebut.

Biasanya operator berupa karakter matematis atau perintah singkat sederhana. Sebagai
contoh, pada operasi: 10 + 2. Angka 10 dan 2 disebut sebagai operand, sedangkan tanda
tambah (karakter +) adalah operator.

1. Operator Unary, Binary dan Ternary

Berdasarkan jumlah operand-nya, operator dibagi menjadi 3 jenis :

a. Operator Unary adalah operator yang hanya terdiri dari 1 operand.


Contohnya adalah operator positif (plus): +7, +9, +10.111.
b. Operator Binary adalah operator yang terdiri dari 2 operand. Sebagian besar operator
di dalam bahasa C termasuk ke dalam operator binary.
Contohnya seperti operator aritmatika: 4 + 8, 9 * 2, 8 % 2, dll.
c. Operator Ternary adalah operator yang terdiri dari 3 operand. Bahasa C memiliki 1
operator ternary, yaitu ” ? : ” seperti (a == 1) ? 20: 30.

2. Jenis-jenis Operator dalam Bahasa Pemrograman C

Berikut jenis-jenis operator dalam bahasa pemrograman C :

1) Operator Aritmatika

Operator aritmatika adalah operator yang biasa kita temukan untuk operasi
matematika. Aritmatika sendiri merupakan cabang ilmu matematika yang membahas
perhitungan sederhana, seperti kali, bagi, tambah dan kurang (kabataku). Selain
keempat operasi tersebut, bahasa C juga memiliki operasi modulo division, atau
operator % yang dipakai untuk mencari sisa hasil bagi. Tabel berikut merangkum
operator aritmatika dalam bahasa pemrograman C :
Operator Penjelasan Contoh

+ Penambahan a=5+2

– Pengurangan a=5–2

* Perkalian a=5*2

/ Pembagian (real/pecahan) a=5/2

% Sisa hasil bagi (modulus) a=5%2

Tabel 1. Operator Aritmatika

Operator Penjelasan Contoh

+ Positif (plus) +5

– Negatif (min) -3

Tabel 2. Opeator Aritmatika Unary

Berikut contoh kode program penggunaan berbagai operator aritmatika dalam


bahasa C:

Gambar 1. Contoh 1 Program Penggunaan Operator Aritmatika

Contoh program diatas yaitu, membuat beberapa operasi aritmatika,


yakni penambahan, pengurangan dan perkalian. Aturan prioritas operator berlaku di
sini, dimana operator perkalian dan pembagian akan dijalankan terlebih dahulu
daripada operator pengurangan dan penambahan. Untuk operator yang sama kuat
(seperti penambahan dan pengurangan), akan diproses dari kiri ke kanan. Tanda
kurung bisa dipakai untuk memprioritaskan operator tertentu, seperti untuk
menghitung variabel e dalam contoh di atas. Perhatikan kode berikut ini:

Gambar 2. Contoh 2 Program Penggunaan Operator Aritmatika

Pada program di atas terdapat 3 variabel integer: a, b, c. Untuk


operasi a dan c tidak ada masalah, hasilnya sesuai dimana 8 / 4 = 2 dan 8 /2 = 4. Tapi
kenapa 8 / 3 menghasilkan angka 2? Mungkin ini karena b di set sebagai integer,
bukan float atau double.

Gambar 3. Contoh 3 Program Penggunaan Operator Aritmatika

Mengapa hasilnya tetap 2? Ini terjadi karena bahasa C melihat tipe data
operand yang dipakai. Di sini operand nya adalah 8 dan 3 yang merupakan integer
(angka bulat). Agar operasi pembagian menghasilkan nilai float, kedua operand
harus ditulis dalam format pecahan, yakni 8.0 dan 3.0. Berikut hasilnya:
Gambar 4. Contoh 4 Program Penggunaan Operator Aritmatika

Sekarang hasilnya sudah sesuai, dimana 8.0 / 3.0 adalah 2.666667. Untuk
memformat tampilan akhir misalnya menjadi 2.66, bisa menggunakan berbagai
teknik yang di bahas pada pembahasan tipe data float.

2) Operator Increment dan Decrement

Operator increment dan decrement adalah sebutan untuk operasi seperti a++,
dan a--. Ini sebenarnya penulisan singkat dari operasi a = a + 1 serta a = a – 1.

Increment digunakan untuk menambah variabel sebanyak 1 angka,


sedangkan decrement digunakan untuk mengurangi variabel sebanyak 1 angka.
Penulisannya menggunakan tanda tambah 2 kali untuk increment, dan tanda kurang
2 kali untuk decrement. Penempatan tanda tambah atau kurang ini boleh di awal
seperti ++a dan --a, atau di akhir variabel seperti a++ dan a--.

Dengan demikian terdapat 4 jenis increment dan decrement dalam bahasa C :


Operator Contoh Penjelasan

Pre-increment ++a Tambah a sebanyak 1 angka, lalu tampilkan


hasilnya

Post- a++ Tampilkan nilai a, lalu tambah a sebanyak 1


increment angka

Pre-decrement --a Kurangi a sebanyak 1 angka, lalu tampilkan


hasilnya

Post- a-- Tampilkan nilai a, lalu kurangi a sebanyak 1 angka


decrement

Tabel 3. Opeator Increment


Berikut contohnya :

Gambar 5. Contoh 1 Program Penggunaan Operator Increment

Di sini kita mengisi angka 5 sebagai nilai awal untuk variabel a dan b. Hasilnya,
setelah operasi a++ dan ++b, kedua variabel sama-sama berisi angka 6. Artinya
variabel a dan b akan bertambah 1 angka. Hal yang sama juga berlaku di decrement:

Gambar 6. Contoh 2 Program Penggunaan Operator Increment

Angka 5 sebagai nilai awal untuk variabel a dan b. Hasilnya, setelah


operasi a-- dan --b, kedua variabel sama-sama berisi angka 3. Artinya
variabel a dan b akan berkurang 1 angka.
Gambar 7. Contoh Program Pre Icrement dan Post Incerement

Terlihat bahwa post-increment (a++), akan menampilkan hasilnya terlebih


dahulu, baru nilai variabel a naik 1 angka, namun dengan pre-increment (++a),
variabel a akan ditambahkan 1 angka, baru nilainya ditampilkan. Begitu juga hal nya
dengan operasi post-decrement dan pre-decrement:

Gambar 8. Contoh Program Pre-Decrement dan Post-Decrement

Terlihat bahwa post-decrement (a--), akan menampilkan hasilnya terlebih


dahulu, baru nilai variabel a dikurangi 1 angka. Dengan pre-decrement (--a), variabel
a langsung dikurangi 1 angka, lalu nilainya ditampilkan.
Operator increment dan decrement yang kita bahas disini nantinya banyak di
terapkan dalam perulangan (looping). Selain itu kebiasaan banyak programmer lebih
sering menggunakan post-increment (a++) dan post-decrement (a--). Nama bahasa
pemrograman C++ juga terinspirasi dari post increment dari bahasa C, yakni
penambahan dari bahasa C.

3) Operator Perbandingan / Relasional

Operator perbandingan dipakai untuk membandingkan 2 buah nilai, apakah


nilai tersebut sama besar, lebih kecil, lebih besar, dll. Hasil dari operator
perbandingan ini adalah boolean True atau False, namun karena bahasa C tidak
memiliki tipe data boolean bawaan, maka hasilnya adalah integer 1 atau 0.

Operator Penjelasan Contoh Hasil

== Sama dengan 5 == 5 1 (true)

!= Tidak sama dengan 5 != 5 0 (false)

> Lebih besar 5>6 0 (false)

< Lebih kecil 5<6 1 (true)

>= Lebih besar atau sama dengan 5 >= 3 1 (true)

<= Lebih kecil atau sama dengan 5 <= 5 1 (true)

Tabel 4. Tabel Operator Perbandingan atau Relasional

Berikut contoh kode program untuk operasi perbandingan dalam bahasa


pemrograman C :
Gambar 9. 1 Contoh Program Operator Perbandingan atau Relasional

Karena bahasa C tidak memiliki tipe data boolean, maka hasilnya


antara 1 (sebagai pengganti true) atau 0 (sebagai pengganti false). Operasi
perbandingan tidak hanya untuk tipe data angka saja, tapi juga bisa berbagai tipe
data lain seperti char. Berikut contohnya:

Gambar 10. Contoh 2 Program Operator Perbandingan atau Relasional

Jika yang dibandingkan berupa karakter, hasilnya dilihat dari urutan karakter
ASCII. Dalam tabel ASCII, karakter ‘A’ memiliki nomor urut yang lebih rendah
daripada ‘B’, sehingga ‘A’ > ‘B’ adalah false (0). Dalam prakteknya, operasi
perbandingan baru ‘berguna’ dalam percabangan kode program seperti struktur IF.
Berikut contohnya:
Gambar 11. Contoh 3 Program Operator Perbandingan atau Relasional

Di awal kode program user untuk menginput sebuah angka. Angka ini
kemudian disimpan ke dalam variabel a hasil dari perintah scanf(“%d”,&a). Pada
baris 10, kita melakukan sebuah operasi perbandingan: if (a % 2 == 0)? Yakni apakah
a habis dibagi 2? Jika anda ragu dengan tanda %, itu adalah operator modulus yang
pernah kita bahas dalam tutorial operator aritmatika. Kondisi di atas hanya akan
true (1) jika a diisi dengan angka genap. Jika ini yang terjadi, jalankan
perintah printf(“%d adalah angka genap \n”,a). Jika hasilnya false,
jalankan printf(“%d adalah angka ganjil \n”,a). Inilah salah satu penerapan dari
operasi perbandingan / relasi.

4) Operator Logika / Boolean

Operator logika dipakai untuk menghasilkan nilai boolean true atau false dari 2
kondisi atau lebih.

OperatorNama Penjelasan Contoh

&& And Akan menghasilkan 1 jika kedua operand 1 && 0, hasilnya:


1 0

|| Or Akan menghasilkan 1 jika salah satu 1 || 0, hasilnya:


operand 1 1

! Not Akan menghasilkan 1 jika operand 0 !0, hasilnya: 1

Tabel 5. Operator Logika atau Boolean

Rumus yang dipakai adalah sebagai berikut:


 Operator && hanya akan menghasilkan 1 jika kedua operand bernilai 1, selain itu
hasilnya 0.
 Operator || hanya akan menghasilkan 0 jika kedua operand bernilai 0, selain itu
hasilnya 1.
 Operator ! Akan membalikkan logika, !0 menjadi 1, !1 menjadi 0.

Berikut contoh kode programnya :

Gambar 12. Contoh 1 Program Operator Lgoika atau Boolean

Di sini kita membuat beberapa percobaan menggunakan operator logika.


Rumus yang dipakai adalah sebagai berikut :

 Operator && hanya akan menghasilkan 1 jika kedua operand bernilai 1, selain itu
hasilnya 0.
 Operator || hanya akan menghasilkan 0 jika kedua operand bernilai 0, selain itu
hasilnya 1.
 Operator ! Akan membalikkan logika, !0 menjadi 1, !1 menjadi 0.

Juga bisa menggabungkan lebih dari satu operasi seperti contoh berikut:
Gambar 13. Contoh 2 Program Operator Lgoika atau Boolean

Untuk operasi seperti ini, akan diproses dari kiri ke kanan, kecuali ditemukan
tanda kurung maka itulah yang akan diproses terlebih dahulu.

 Di baris 7, operasi (0 && 1) || (1 || 0) akan diproses menjadi 0 || 1, hasilnya 1.


 Di baris 10, operasi !0 && (0 || 1) akan diproses menjadi 1 && 1, hasilnya 1.
 Di baris 13, operasi ((1 && 1) || (1 || 0)) && !1 akan diproses menjadi (1 || 1)
&& 0, kemudian menjadi 1 && 0, hasilnya 0.

Nilai boolean true (1) dan false (0) ini biasanya di dapat dari hasil operasi
perbandingan. Inilah praktek yang sering dibuat untuk operator logika, berikut
contohnya :

Gambar 14. Contoh 2 Program Operator Lgoika atau Boolean

 Di baris 7, operasi (5 > 4) && (10 > 9) akan diproses menjadi 1 && 1, hasilnya 1.
 Di baris 10, operasi (15 <= 15) && (15 < 15) akan diproses menjadi 1 && 0,
hasilnya 0.
 Di baris 13, operasi (‘a’== ‘a’) || (‘a’ == ‘b’) akan diproses menjadi 1 || 0,
hasilnya 1.
 Di baris 16, operasi (10 > 7) && (‘duniailkom’ == ‘duniailkom’) akan diproses
menjadi 1 && 1, hasilnya 1.

Sama seperti operasi perbandingan, operasi logika ini akan banyak dipakai
pada percabangan kode program, misalnya untuk bisa login seseorang harus
memiliki username DAN password yang sesuai. Jika salah satu saja tidak terpenuhi,
maka tidak bisa login.

5) Operator Bitwise

Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner
dalam bentuk bit. Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri
dari 2 jenis angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan bilangan biner,
akan dikonversi secara otomatis oleh compiler C menjadi bilangan biner. Misalnya 7
desimal = 0111 dalam bilangan biner. Bahasa C mendukung 6 jenis operator bitwise.
Daftar lengkapnya dapat dilihat pada tabel berikut :

Operator Nama Contoh Biner Hasil Hasil (desimal)


(biner)

& AND 10 & 1010 & 1000 8


12 1100

| OR 10 | 12 1010 | 11001110 14

^ XOR 10 ^ 1 1010 ^ 0110 6


1100

~ NOT ~5 ~0101 1011 -11 (Two’s


complement)

<< Left shift 10 << 1 1010 << 1 10100 20

>> Right 10 >> 1 1010 >> 1 101 5


shift

Tabel 6. Operator Bitwise


Berikut adalah contoh program yang menggunakan operator bitwise :

Gambar 15. Contoh Kode Program Operator Bitwise

Dalam contoh di atas, kita mendefinisikan 2 variabel : a dan b. Kemudian


memberikan nilai awal 181 dan 108. Jika di konversi ke dalam bentuk biner,
keduanya berisi angka berikut:

a = 181 (desimal) = 10110101 (biner)

b = 108 (desimal) = 01101100 (biner)

Di baris 12 dilakukannya operasi & (AND) terhadap kedua variabel. Operasi


bitwise “and” ini akan memproses bit per bit dari kedua variabel, jika kedua bit
sama-sama 1, maka hasilnya juga 1, selain kondisi tersebut, nilai akhirnya adalah 0.
Berikut perhitungan bitwise “and”:

a = 10110101

b = 01101100

--------

a & b = 00100100 = 36 (desimal)

Dan dari hasil printf, terlihat bahwa hasilnya adalah 36 (dalam bentuk desimal).
Di baris 15 terdapat operasi | (OR), hasilnya akan bernilai 0 jika kedua bit bernilai 0,
selain itu nilai bit akan di set menjadi 1. Berikut cara perhitungan bitwise “or”:
a = 10110101

b = 01101100

--------

a | b = 11111101 = 253 (desimal)

Di baris 18 terdapat operasi ^ (XOR), hasilnya akan bernilai 1 jika salah satu
dari kedua variabel bernilai 1 (namun tidak keduanya). Dengan kata lain jika kedua
bit berlainan, hasilnya 1 tapi kalau sama-sama 0 atau sama-sama 1, hasilnya 0.
Berikut cara perhitungan bitwise “xor”:

a = 10110101

b = 01101100

--------

$a ^ $b = 11011001 = 217 (desimal)

Di baris 21, operasi ~ atau not, yang akan membalikkan nilai bit sebuah
variabel dari 0 menjadi 1, dan 1 menjadi nol. Namun perhitungan bit not ini sedikit
membingungkan karena jika kita hanya membalikkan seluruh bit saja, hasilnya tidak
sesuai dengan apa yang dihitung oleh compiler C:

a = 10110101

--------

~a = 01001010 = 74 (desimal) ==> salah ???

Dari hasil menjalankan program, dapat dilihat bahwa ~a = -182, dari manakah
datangnya angka -182?

Ini berkaitan dengan cara compiler bahasa C menyimpan angka biner (dan juga
hampir semua bahasa pemrograman komputer modern). Angka biner di dalam
bahasa C disimpan dalam format “Two’s complement”.

Secara singkat, rumusnya adalah -a - 1, sehingga ~a = -181 - 1 = -182 (desimal).

Di baris 24, terdapat operator shift right “>>” dimana bahasa C akan menggeser
posisi bit dalam variabel a ke kanan sebanyak 1 tempat. Berikut proses yang terjadi:
a = 10110101 = 181

a >> 1 = 1011010 = 90 (desimal)

Operator shift right menggeser nilai biner variabel a ke arah kanan, sehingga
digit paling kanan akan dihapus. Operator shift right ini akan menghasilkan nilai
asal / 2. Dalam contoh kita, hasilnya adalah 180/2 = 90 (dibulatkan). Setiap
penggeseran 1 tempat ke kanan akan membagi 2 nilai asal.

Di baris 27 adalah operator shift left “<<” dimana nilai variabel b akan digeser
sebanyak 2 digit ke kiri. Berikut proses yang terjadi:

b = 01101100 = 108

b << 1 = 011011000 = 216 (desimal)

b << 2 = 0110110000 = 432 (desimal)

Ketika hasil pergeseran ke kiri, digit paling kanan akan diisi angka 0. Setiap
penggeseran 1 tempat ke kiri akan mengkali 2 nilai asal. Karena variabel b berisi
desimal 108, maka hasil dari << 2 sama dengan 108 * 2 = 216, 216 * 2 = 432.

6) Operator Lainnya

Operator Lainnya ini adalah kelompok operator khusus yang tidak termasuk ke
dalam kelompok sebelumnya, diantaranya adalah operator sizeof dan operator
ternary ” ? : “.

Itulah jenis-jenis operator yang terdapat di dalam bahasa pemrograman C.


Penjelasan lebih detail, termasuk pengertian, cara penggunaan serta contoh kode
programnya akan kita bahas pada tutorial terpisah.

7) Operator Mod (Modulus)

Operator mod (singkatan dari modulo atau modulus) dipakai untuk mencari
nilai sisa pembagian. Operator mod perlu penjelasan tersendiri terutama bagi yang
baru pertama kali belajar bahasa pemrograman komputer. Operator ini terdengar
asing tapi sebenarnya cukup sederhana. Sebagai contoh:

8 mod 5 = 3, karena 3 adalah angka sisa pembagian.


100 mod 7 = 2, karena hanya 98 yang habis dibagi 7 (bersisa 2).

Berikut contoh kode program penggunaan operator mod dalam bahasa C :

Gambar 16. Contoh Program Penggunaan Operator Mod

8) Operator Assignment

Operator assignment adalah operator yang digunakan untuk memberikan nilai


ke dalam suatu variabel. Di dalam bahasa C, operator assignment menggunakan
tanda sama dengan ” = “. Nantinya juga terdapat operator assignment gabungan,
seperti ” += “, ” -= “.

a = 500;

Berarti “memasukkan nilai 500 ke dalam variabel a”. Dalam bahasa pseudo
code (jika anda membaca buku tentang algoritma), ini biasa ditulis dengan simbol
panah ke kiri:

a <- 500

Dalam prakteknya, operator assignment juga bisa dipakai “bertingkat” seperti


contoh berikut :
Gambar 17. Contoh Program Penggunaan Operator Assigment

Di awal kode program didefinisikan 5 variabel, yakni a, b, c, d,


dan e sebagai integer. Kemudian menginput angka 5 ke dalam variabel a (baris 6),
dan angka 3 ke dalam variabel b (baris 7). Di baris 8, perintah b = b + 1 mungkin bisa
membuat bingung. Tapi intinya adalah, operator assignment di proses dari kanan ke
kiri, jadi operasi tersebut bisa dibaca: “tambah isi variabel b dengan 1, lalu simpan
kembali ke dalam variabel b”. Karena variabel b sudah berisi angka 3, maka hasil
akhirnya variabel b akan bernilai 4. Di baris 9, perintah c = a + b akan di proses
sebagai c = 5 + 4, hasilnya c berisi angka 9. Di baris 10, perintah d = c + c + a akan di
proses sebagai d = 9 + 9 + 5, hasilnya c berisi angka 23. Terakhir, di baris 11,
perintah e = (c + d)* a akan di proses sebagai e = (9 + 23) * 5, hasilnya c berisi
angka 160.

9) Operator Assignment Gabungan Bahasa C

Operator assignment gabungan adalah cara penulisan singkat


operator assignment yang digabung dengan dengan operator lain. Dalam bahasa C
(dan juga bahasa turunan C seperti C++, PHP, JavaScript atau Java), operator
assignment gabungan ini terdiri dari operator assignment dengan operator lain
seperti operator aritmatika dan bitwise.

Sebagai contoh, operasi a = a + 1 bisa disingkat (dan digabung) menjadi a += 1.


Contoh lain operasi b >>= 1 adalah penulisan singkat dari b = b >> 1. Tidak ada
pengaruh apa-apa dari penulisan singkat seperti ini, anda boleh memilih penulisan
yang panjang a = a + 1, atau di singkat menjadi a += 1. Tabel berikut merangkum
semua operator assignment dalam bahasa C:

Operator Contoh Penjelasan

+= a += b a=a+b

-= a -= b a=a–b

*= a *= b a=a*b

/= a /= b a=a/b

%= a %= b a=a%b

&= a &= b a=a&b

|= a |= b a=a|b

^= a ^= b a=a^b

<<= a <<= b a = a << b

>>= a >>= b a = a >> b

Gambar 18. Operator Bitwise


Berikut contoh praktek dari operator gabungan dalam bahasa C:

Gambar 19. Contoh Program Penggabungan Operator


Dalam kode program ini kita membuat 6 buah operator assignment gabungan.
Variabel a, b, c, d, e, dan f semuanya diisi dengan nilai awal 10, kemudian di proses
dengan berbagai operator assignment gabungan.

b. Penanganan Input dan Output

1. Fungsi Perintah printf dalam Bahasa Pemrograman C

Bentuk penggunaan paling sederhana dari perintah printf adalah menampilkan


sebuah teks. Berikut contoh kode programnya:

Gambar 20. Contoh 1 Penggunaan Printf


Hasilnya dari program di atas jika dikompile dan dijalankan menampilkan teks “Belajar
bahasa C di UNP”. Bagaimana dengan membuat dua t Tidak ada tinggal tambah satu lagi
perintah printf di bawahnya:

Gambar 21. Contoh 2 Penggunaan Printf


Pada contoh program di atas kedua teks tampil disambung dalam 1 baris? Jika ingin agar
perintah printf kedua tampil di baris baru, harus ada instruksi untuk hal tersebut. Di
dalam bahasa C, caranya adalah dengan menuliskan karakter “pindah baris”. Karakter ini
ditulis sebagai “\n”. Mari kita modifikasi kode program sebelumnya:
Gambar 22. Contoh 3 Penggunaan Printf
Sekarang diantara kedua kalimat ditambah kode printf(“\n”). Hasilnya kedua kalimat akan
tampil di baris baru. Sebuah karakter yang diawali dengan tanda backslash “\” memiliki
makna khusus di dalam programming. Kode “\n” berarti new line, ini adalah kode untuk
pindah baris.Selain itu ada juga kode “\t” untuk karakter tab dan beberapa kode-kode
lain. Kode-kode ini disebut juga sebagai escape character, yakni kode khusus untuk
mewakili karakter yang tidak bisa ditulis. Berikut daftar lengkapnya:

Tabel 7. Escape Character


ESCAPE CHARACTER CHARACTER
\B Backspace
\F Form feed
\N Newline
\R Return
\T Horizontal tab
\V Vertical tab
\\ Backslash
\’ Single quotation mark
\” Double quotation mark
\? Question mark
\0 Null character
Kode “\n” juga tidak harus ditulis secara terpisah, tapi juga bisa digabung ke dalam 1
perintah printf:
Gambar 23. Contoh 4 Penggunaan Printf
Hasilnya, teks akan bergeser ke kanan karena terdapat karakter “\t” sebagai
pengganti tab. Selain itu perintah diatas akan tampil dalam dua baris karena terdapat
karakter \n di tengah-tengah kalimat. Ini sebagai instruksi untuk pindah baris, meskipun
hanya ditulis dalam 1 perintah printf.

1) Format Penulisan Perintah printf untuk Menampilkan Variabel


Untuk menampilkan variabel menggunakan printf, terdapat pola khusus. Di
dalam bahasa pemrograman C harus mempersiapkan “tempat” untuk variabel itu, lalu
menulis nama variabel di akhir perintah printf. Agar lebih jelas, langsung saja lihat
contoh kode programnya:

Gambar 24. Contoh 5 Penggunaan Printf


Diawal kode program, didefinisikan 3 buah variabel,
yakni harga, nilai_ip dan huruf. Masing-masing variabel bertipe integer
(int), float dan char. Setiap variabel langsung diisi dengan nilai awal. Ketika isi variabel
akan ditampilkan dengan perintah printf, kita tidak bisa menulisnya begitu saja, tapi
ada format penulisan khusus.
Dalam bahasa C, perintah printf pada dasarnya adalah
sebuah function atau fungsi. Sebuah function bisa diisi dengan argumen yang berfungsi
sebagai nilai inputan. Argumen ini ditulis di dalam tanda kurung pada saat
pemanggilan function. Jika terdapat beberapa argumen, dipisah dengan tanda koma.
Misalkan kita menulis perintah seperti ini :

printf("teks1", teks2, teks3);

Kode diatas artinya, kita menjalankan perintah printf dengan 3 buah argumen.
Argumen pertama berupa “teks1”, argumen kedua adalah teks2, dan argumen ketiga
dengan nama teks3. Jika ada argumen ke-4, kita tinggal menambahkannya di bagian
belakang, misalnya seperti ini:

printf("teks1", teks2, teks3, teks4);

Inilah yang dimaksud dengan penulisan argumen. Kembali kepada kode program
sebelumnya, terdapat perintah berikut:

printf("Harga bakwan %i",harga);

Disini perintah printf dijalankan dengan 2 buah argumen. Argumen pertama


berupa teks “Harga bakwan %i”, dan argumen kedua adalah variabel harga. Perhatikan
kode ‘%i’ di dalam teks argumen pertama. Sama seperti escape character dalam
tutorial sebelumnya, tanda % juga memiliki makna khusus di dalam bahasa
pemrograman C, terutama di perintah printf.

Kode %i disini akan menginstruksikan kepada compiler bahasa C bahwa “ganti


karakter ini dengan sebuah variabel bertipe integer yang ada di argumen kedua“.
Apakah isi argumen kedua? Yakni variabel harga. Apakah variabel harga
bertipe integer? Betul. Maka hasilnya menjadi:

Harga bakwan 5000

Hal yang sama juga berlaku untuk perintah berikutnya:

printf("Semester 1 dapat nilai %f",nilai_ip);

Kode %f akan digantikan dengan isi dari variabel nilai_ip. Yang hasilnya menjadi:

Semester 1 dapat nilai 3.120000


Terakhir, perintah :

printf("%c adalah huruf pertama dalam


abjad",huruf)

Akan diproses menjadi :

A adalah huruf pertama dalam abjad

Intinya adalah, kode % nantinya akan diganti dengan isi variabel yang ada di
argumen kedua dari fungsi printf. Akan tetapi, kenapa kodenya beda-beda? Ada %i,
ada %f dan %c, apa maksudnya? ini merupakan kode variabel untuk fungsi printf.

2) Kode Variabel untuk Perintah Printf


Kode-kode khusus seperti %i, ada %f dan %c di dalam fungsi printf merujuk
ke tipe data dari argumen kedua dari fungsi printf. Kode %i adalah kode khusus untuk
variabel bertipe integer. Kode %f untuk variabel bertipe float, dan kode %c untuk
variabel bertipe char. Selain 3 kode ini, masih ada beberapa kode lain tergantung
kepada apa tipe data dari variabel tersebut. Daftar lengkapnya lumayan panjang, tapi
setidaknya ada 4 kode yang paling banyak dipakai:

Tabel 8. Kode Variabel untuk Perintah Printf


KODE FORMAT TIPE DATA
VARIABEL
%I ATAU %D int
%C char
%F float
%S string
Penulisan perintah printf seperti ini juga tidak hanya untuk satu variabel dalam
satu perintah, tapi juga bisa banyak sekaligus selama urutan penulisan variabelnya
sesuai. Berikut contoh kode programnya:
Gambar 25. Contoh 6 Penggunaan Printf
Kode program ini merupakan modifikasi dari kode sebelumnya. Pada program ini
hanya menggunakan satu perintah printf untuk menampilkan tiga variabel. Hal yang
harus diperhatikan adalah, urutan variabel yang akan menggantikan kode khusus.
Misalnya dalam contoh diatas, terdapat kode %d paling awal. Dengan demikian, di
dalam argumen kedua kita harus menulis variabel yang bertipe integer.

Selanjutnya di dalam teks ada kode %f, ini akan berpasangan dengan argumen
ketiga, begitu seterusnya hingga akhir teks. Penulisan isi variabel dibahasa pascal
misalnya, kita tinggal menulis isi variabel tanpa harus pusing dengan kode tipe data,
seperti:

write("Harga bakwan",harga);

atau di dalam bahasa PHP menjadi lebih simple lagi:

echo "Harga bakwan $harga";

Namun inilah keunikan dari setiap bahasa pemrograman. Terlebih bahasa C


memang paling dekat dengan bahasa mesin yang penuh dengan kode-kode. Inipula
yang menjadi alasan aplikasi yang dibuat dengan bahasa C bisa berjalan dengan lebih
cepat dibandingkan aplikasi yang dibuat dengan bahasa yang lebih “mudah ditulis”.

2. Fungsi scanf dan Cara Penggunaan Perintah scanf

Perintah scanf, atau lebih tepatnya function scanf() adalah perintah bahasa C untuk
menerima masukan ke dalam program, yakni sebagai sarana input dari pengguna. Dengan
menggunakan perintah scanf, kita bisa membuat program yang lebih interaktif, yakni
meminta data dari user / pengguna. Data ini nantinya bisa disimpan ke dalam variabel dan
diolah lebih lanjut untuk kemudian ditampilkan kembali.

Sama seperti printf, perintah scanf juga merupakan function yang butuh beberapa
argumen. Berikut format dasar penggunaan fungsi scanf:

scanf(kode_format,
&nama_variabel_penampung)

Bagian kode_format adalah format untuk tipe data inputan. Kode format ini sama
seperti yang dipakai untuk fungsi printf, misalnya kode “%d” untuk tipe data integer,
atau “%c” untuk tipe data char.

Bagian nama_variabel_penampung adalah nama variabel yang digunakan untuk


menampung nilai inputan. Variabel ini harus sudah di deklarasikan sebelumnya. Perhatikan
penambahan tanda ‘&’ diawal variabel penampung. Tanda ini merujuk ke pointer untuk
alamat memory dari variabel tersebut. Untuk tipe data dasar seperti int, float dan char,
tanda ‘&’ harus disertakan. Untuk beberapa tipe data seperti string, tidak perlu ditambahkan
tanda ‘&’.

Sama seperti printf, fungsi scanf juga bukan bagian dari inti bahasa C, tapi berasal dari
library stdio.h. Karena itu kode #include <stdio.h> harus ditulis agar bisa menggunakan
perintah scanf. Silahkan lihat contoh kode program bahasa C untuk penggunaan perintah
scanf:
Gambar 26. Contoh 1 Program dengan scanf
Di awal kode program, didefinisikan 1 buah variabel harga yang diset sebagai int.
Artinya, variabel harga hanya bisa diisi dengan angka bulat.

Selanjutnya terdapat baris printf(“Masukkan harga barang: “). Ini digunakan untuk
menampilkan teks sebagai keterangan agar pengguna menginput sesuatu.

Proses pembacaan data di tangani oleh perintah scanf(“%d”,&harga). Disini, cursor


akan berhenti dan menunggu kita menginput suatu nilai. Nilai ini akan disimpan ke dalam
variabel harga. Tanda “%d” adalah sebagai kode format kalau nilai inputan harus
berupa integer.

Terakhir, nilai dari variabel harga ini kita tampilkan kembali dengan
perintah printf(“Harga barang adalah: %d”, harga). Coba jalankan, bagaimana hasilnya.

Hal yang juga harus menjadi catatan, ketika karakter yang diinput bukan angka, bahasa
C akan mengkonversi karakter tersebut. Misalnya diinput angka 5500.25 (pecahan), yang
akan di ambil hanya angka 2500 saja. Karena variabel harga hanya bisa menampung angka
bulat. Sebagai contoh kedua, kita akan buat kode program untuk menampung 3 inputan
sekaligus:
Gambar 27. Contoh 2 Program dengan scanf
Kode program ini mirip seperti sebelumnya, hanya saja kali ini kita membuat 3 variabel
bertipe int, float dan char. Setelah itu terdapat 3 perintah scanf untuk menerima input
untuk ketiga variabel ini. Akan tetapi, jika anda menjalankan kode program diatas, terdapat
1 masalah. Ketika kita menekan tombol enter setelah menginput angka untuk
variabel nilai_ip, program langsung berakhir tanpa sempat berhenti untuk menerima input
untuk variabel huruf. Hal ini terjadi karena karakter “Enter” akan dibaca sebagai inputan
untuk variabel huruf yang di set sebagai char. Solusinya, tambahkan 1 spasi di dalam
baris scanf(“%c”,&huruf) menjadi:

scanf(" %c",&huruf);

Trik ini akan mengatasi masalah karakter “Enter” yang langsung terinput ke variabel
huruf. Berikut perubahan kode programnya:
Gambar 28. Contoh 3 Program dengan scanf

c. Penanganan Input dan Output tidak Beformat

1. Gets()

Fungsi gets() memungkinkan pengguna memasukkan beberapa karakter diikuti


dengan tombol enter. Semua karakter yang dimasukkan oleh pengguna disimpan dalam
array karakter. Karakter null ditambahkan ke array untuk membuatnya menjadi string.
Gets() memungkinkan pengguna untuk memasukkan string pemisah spasi. itu
mengembalikan string yang dimasukkan oleh pengguna. Berikut cara mendeklarasikan
fungsi gets() :

Berikut contoh program yang menggunakan fungsi gets() :


Gambar 29. Contoh Program Menggunakan gets()

Fungsi gets() berisiko bagi pengguna karena tidak melakukan pemeriksaan terikat
array Hail itu bisa membuat buffer overflow, yang dapat dihindari dengan menggunakan
fgets(). fgets() memastikan bahwa tidak lebih dari batas maksimum karakter yang dibaca.
Perhatikan contoh berikut :

Gambar 30. Contoh Program Menggunakan fgets()

2. Put()

Fungsi puts() sangat mirip dengan fungsi printf(). Fungsi puts() digunakan untuk
mencetak string di konsol yang sebelumnya dibaca dengan menggunakan gets() atau
scanf()fcunftion. Fungsi puts() mengembalikan nilai integer yang mewakili jumlah karakter
yang dicetak di konsol. Karena, ia mencetak karakter baris baru tambahan dengan string,
yang memindahkan kursor ke baris baru di konsol, nilai integer yang dikembalikan oleh
puts() akan selalu sama dengan jumlah karakter yang ada dalam string ditambah 1.
Berikut cara mendeklarasikan fungsi puts() :

Berikut contoh program yang menggunakan fungsi puts() :

Gambar 31. Contoh Program Menggunakan puts()


4. Forum Diskusi

a. Diskusikanlah apa perbedaan penanganan input dan output berformat dan tidak
berformat!

C. Penutup
1. Rangkuman

 Operator adalah instruksi yang diberikan untuk mendapatkan hasil dari proses tersebut.
 Operand adalah nilai asal yang dipakai dalam sebuah proses operasi.
 Ungkapan-ungkapan yang berisikan beberapa operator akan mengeksekusi operasi
mereka berdasarkan pengurutan pengutamaan bawaan terkecuali ditentukan secara
eksplisit dengan menambahkan tanda kurung.
1. Tes Formatif

1. Jika diberikan A=5 dan B=20, maka tentukanlah hasil dari ekspresi berikut :
a. A*5-B
b. A-2*B
c. B Mod 5
2. Susunlah algoritma untuk Menghitung tinggi layangan berdasarkan sudut tali (elevasi)
dan panjang tali terulur. Implementasikan dalam bahasa C!
Untuk menghitung berapa tinggi sebuah layangan, kita perlu mengetahui berapa
panjang tali terulur dan berapa sudut antara tali dan daratan tanah (sudut elevasi).
Kedua nilai ini akan digunakan untuk menghitung tinggi layangan dari tanah daratan,
tentu saja kita berasumsi bahwa tali dianggap lurus, artinya lengkung tali yang terulur
diabaikan.
Kita tahu, bahwa formula yang bisa digunakan untuk menghitung tinggi layangan dari
tanah dengan mengetahui nilai sudut dan panjang tali terulur adalah formula mencari
tinggi sebuah segitiga siku-suka dengan mengetahui sudut elevasi dan panjang sisi
miring, perhaitkan penjelasan berikut ini:

Apabila sisi miring dan sudut α diketahui, maka kita dapat mencari DEPAN atau tinggi
dari segitiga melalui cara:
Tinggi = sin α * MIRING
Catatan: dalam bahasa C, untuk mencari nilai sinus suatu sudut, nilai sudutnya harus
dalam radian, bukan dalam derajat. Sehingga apabila sudut dalam derajat yang
diketahui maka kita harus mengkonversi sudut dalam derajat ke nilai sudut dalam
radian, sebagai berikut:
1 derajat = 180/π = 0.0174533
Sehingga apabila x derajat, kita tinggal kalikan dengan nilai tersebut untuk memperoleh
nilai radian:
Radian = 180/π * sudut derajat
Radian = 180/π * x, dimana x adalah sudut dalam derajat
Dengan demikian untuk mencari tinggi layangan langkah-langkahnya adalah sebagai
berikut:
- baca nilai panjang tali, misal y
- baca nilai sudut derajat, misal x
- konversi sudut derajat x ke radian dengan cara:
rad = 180/π * x
- hitung tinggi dengan cara:
Tinggi = sin rad * y
- tampilkan informasi

Daftar Pustaka
Utama:

 Rinaldi Munir. 2016. Algoritma dan Pemrograman. Bandung. Informatika ITB


 Noel Kalicharan. 2015. Learn to Program with C. New York, Springer-Science
 Harry H. Chaudhary. 2014. C Programming Step by Step. LLC USA. Amazong Inc.
Pendukung:

 Mike McGrath. 2015. Coding for Beginners. Leamington Spa. Easy Step Limited.
 Dan Gookin. 2014. Beginning Programming with C for Dummies. New Jersey. John Wiley & Sons.
 www.tutorialspoint.com
 www.javatpoint.com
 www.programiz.com
Kunci Jawaban
1. Hasil ekspresi jika diberikan A=5 dan B=20 :
a. A-2*B  5*5-20= 25-20=5
b. B Mod 5 = 20 Mod 5=0
2. Menghitung tinggi layangan berdasarkan sudut tali (elevasi) dan panjang tali terulur
Analisis Kebutuhan Input Tampilan:
kebutuhan: Ketikkan Panjang Tali Terulur (dalam meter) : XXX
Ketikkan Sudut Tali dgn Tanah (dalam derajat: XX
Kebutuhan Output Tampilan:
Panjang Tali Terulur (dalam meter) : XXX meter
Sudut Tali dgn Tanah (dalam derajat : XX derajat
Tinggi layangan (dalam meter) : XXX meter
Konstanta Konstanta bilangan phi bernilai 3.14, beri nama PHI = 3.14
Variabel - variabel untuk menyimpan nilai panjang tali, beri nama
tali, bertipe double
- variabel untuk menyimpan nilai sudut tali dalam
derajat, beri nama sudut bertipe double
- variabel untuk menyimpan nilai tinggi layangan, beri
nama tinggi bertipe double
- variabel untuk menyimpan nilai sudut dalam radian,
beri nama radian bertipe double
Proses - rumus untuk mengkonversi sudut dalam derajat ke
dlam sudut dalam radian:
 radian = 180/PHI * sudut
- rumus untuk menghitung tinggi layangan:
 tinggi = (sin(radian)) * tali
Algoritma {Menghitung tinggi layangan berdasarkan sudut tali (elevasi) dan panjang tali terulur }

Deklarasi
Konstanta
PHI = 3.14
Variabel
tali, sudut, radian, tinggi: real/double
Deskripsi:
Start
write(‘Program untuk menghitung tinggi layangan’)
write(‘Ketikkan panjang tali dalam meter: ‘)
read(tali)
write(‘Ketikkan sudut tali dalam derajat: ‘)
Read(sudut)
radian <- sudut/180 * PHI
tinggi <- (sin(radian)) * tali
write(‘Panjang tali terulur : ‘, tali, ‘meter’)
write(‘Sudut tali dengan daratan : ‘, sudut,’ derajat’)
write(‘Tinggi layangan dari daratan: ‘, tinggi, ‘ meter’)
Stop
Implementasi /*
Nama File: layang2.c
C
Menghitung tinggi layangan berdasarkan sudut tali (elevasi) dan panjang tali
terulur
*/

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

//konstanta PHI
#define PHI 3.14

main()
{
//rumus mencari tinggi segitiga siku2
//sin a = t/m
//t = (sin a)*m
//t adalah tinggi
//m adalah panjang tali

//rumus mengkonversi sudut derajat ke radian


//1 derajat = PHI/180 radian
//30 derajat = 30 * PHI/180 radian
//a derajat = a * PHI/180 radian
//sin a = sin (a * PHI/180) radian
//sehingga t = (sin (a*PHI/180)) * m
// atau t = (sin(PHI*a/180)) * m

double tali, sudut, tinggi, radian;

printf("Program untuk menghitung tinggi layangan\n\n");


printf("Ketikkan panjang tali dalam meter: ");
scanf("%lf", &tali); fflush(stdin);
printf("Ketikkan sudut tali dalam derajat: ");
scanf("%lf", &sudut); fflush(stdin);

//hitung atau konversikan sudut ke radian


radian = sudut/180 * PHI;
//hitung tinggi layangan
tinggi = (sin(radian)) * tali;
printf("Panjang tali terulur : %0.2lf meter\n", tali);
printf("Sudut tali dengan daratan : %0.2lf derajat\n", sudut);
printf("Tinggi layangan dari daratan: %0.2lf meter\n", tinggi);

}
MODUL2

Anda mungkin juga menyukai