Melanjutkan bahan mengenai operator di bahasa pemrograman C, kali ini kita akan membahas Jenis-jenis Operator Increment dan Decrement dalam Bahasa C. Beberapa sumber ada yang mengelompokkan operator ini ke di operator aritmatika, namun saya akan memisahkannya menjadi bahasan tersendiri.
Pengertian Increment dan Decrement Bahasa C
Operator increment dan decrement yaitu sebutan untuk operasi seperti a++
, dan a--
. Ini sesungguhnya 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 ahir variabel seperti a++
dan a--
.
Dengan demikian terdapat 4 jenis increment dan decrement di bahasa C:
Operator | Contoh | Penjelasan |
---|---|---|
Pre-increment | ++a |
Tambah a sebanyak 1 angka, lalu tampilkan hasilnya |
Post-increment | a++ |
Tampilkan nilai a, lalu tambah a sebanyak 1 angka |
Pre-decrement | --a |
Kurangi a sebanyak 1 angka, lalu tampilkan hasilnya |
Post-decrement | a-- |
Tampilkan nilai a, lalu kurangi a sebanyak 1 angka |
Untuk melihat apa perbedaan dari setiap operator akan kita bahas dengan contoh kode program.
Contoh Kode Program Increment dan Decrement
Secara umum, penulisan tanda di awal maupun di ahir akan menghasilkan nilai yang sama. Berikut contohnya:
1 |
#include <stdio.h><br/><br/>int main(void)<br/>{<br/> int a = 5;<br/> a++;<br/> printf(Isi variabel a: %d n,a);<br/><br/> int b = 5;<br/> ++b;<br/> printf(Isi variabel b: %d n,b);<br/><br/> return 0;<br/>} |
Di sini saya mengisi angka 5 selaku 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 pun berlaku di decrement:
1 |
#include <stdio.h><br/><br/>int main(void)<br/>{<br/> int a = 5;<br/> a--;<br/> printf(Isi variabel a: %d n,a);<br/><br/> int b = 5;<br/> --b;<br/> printf(Isi variabel b: %d n,b);<br/><br/> return 0;<br/>} |
Hasil kode program:
1 |
Isi variabel a: 4<br/>Isi variabel b: 4 |
Saya kembali mengisi angka 5 selaku nilai awal untuk variabel a dan b. Hasilnya, setelah operasi a--
dan --b
, kedua variabel sama-sama berisi angka 4. Artinya variabel a dan b akan berkurang 1 angka.
Perbedaan Pre-Increment dengan Post-Increment
Jadi apa beda antara pre-increment (++a
) dengan post-increment (a++
)? Perbedaannya baru terlihat jikalau kita akses di ketika operasi berlangsung, seperti contoh berikut:
1 |
#include <stdio.h><br/><br/>int main(void)<br/>{<br/> int a = 5;<br/> printf(Post Increment n);<br/> printf(Isi variabel a: %d n,a);<br/> printf(Isi variabel a: %d n,a++);<br/> printf(Isi variabel a: %d n,a);<br/><br/> printf(n);<br/><br/> int b = 5;<br/> printf(Pre Increment n);<br/> printf(Isi variabel b: %d n,a);<br/> printf(Isi variabel b: %d n,++a);<br/> printf(Isi variabel b: %d n,a);<br/><br/> return 0;<br/>} |
Perbedaannya ada di baris 8 dan 16, yakni ketika kita akses seketika di ketika operasi increment dilakukan.
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.
Seperti itu pun hal nya dengan operasi post-decrement dan pre-decrement:
1 |
#include <stdio.h><br/><br/>int main(void)<br/>{<br/> int a = 5;<br/> printf(Post Decrement n);<br/> printf(Isi variabel a: %d n,a);<br/> printf(Isi variabel a: %d n,a--);<br/> printf(Isi variabel a: %d n,a);<br/><br/> printf(n);<br/><br/> int b = 5;<br/> printf(Pre Decrement n);<br/> printf(Isi variabel b: %d n,b);<br/> printf(Isi variabel b: %d n,--b);<br/> printf(Isi variabel b: %d n,b);<br/><br/> return 0;<br/>} |
Hasil kode program:
1 |
Post Decrement<br/>Isi variabel a: 5<br/>Isi variabel a: 5<br/>Isi variabel a: 4<br/><br/>Pre Decrement<br/>Isi variabel b: 5<br/>Isi variabel b: 4<br/>Isi variabel b: 4 |
Terlihat bahwa post-decrement (a--
), akan menampilkan hasilnya terlebih
dahulu, baru nilai variabel a dikurangi 1 angka. Dengan pre-decrement (--a
), variabel a seketika dikurangi 1 angka, lalu nilainya ditampilkan.
Operator increment dan decrement yang kita bahas disini nantinya banyak di terapkan di perulangan (looping). Selain itu kebiasaan banyak programmer lebih sering menggunakan post-increment (a++
) dan post-decrement (a--
). Nama bahasa pemrograman C++ pun terinspirasi dari post increment dari bahasa C, yakni penambahan dari bahasa C.
Berikutnya, kita akan masuk ke Operator Perbandingan atau Operator Relasional Bahasa C.
Sumber https://www.duniailkom.com/