Melanjutkan materi tentang operator dalam 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 dalam operator aritmatika, namun saya akan memisahkannya menjadi bahasan tersendiri.
Pengertian Increment dan Decrement Bahasa C
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-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 akhir akan menghasilkan nilai yang sama. Berikut contohnya:
#include <stdio.h> int main(void) { int a = 5; a++; printf("Isi variabel a: %d \n",a); int b = 5; ++b; printf("Isi variabel b: %d \n",b); return 0; }
Di sini saya 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:
#include <stdio.h> int main(void) { int a = 5; a--; printf("Isi variabel a: %d \n",a); int b = 5; --b; printf("Isi variabel b: %d \n",b); return 0; }
Hasil kode program:
Isi variabel a: 4 Isi variabel b: 4
Saya kembali mengisi angka 5 sebagai 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 jika kita akses pada saat operasi berlangsung, seperti contoh berikut:
#include <stdio.h> int main(void) { int a = 5; printf("Post Increment \n"); printf("Isi variabel a: %d \n",a); printf("Isi variabel a: %d \n",a++); printf("Isi variabel a: %d \n",a); printf("\n"); int b = 5; printf("Pre Increment \n"); printf("Isi variabel b: %d \n",b); printf("Isi variabel b: %d \n",++b); printf("Isi variabel b: %d \n",b); return 0; }
Perbedaannya ada di baris 8 dan 16, yakni ketika kita akses langsung pada saat operasi increment dilakukan.
Terlihat bahwa post-increment (a++
), akan menampilkan hasilnya terlebih dahulu, baru nilai variabel a naik 1 angka, namun dengan pre-increment (++b
), variabel b akan ditambahkan 1 angka, baru nilainya ditampilkan.
Begitu juga hal nya dengan operasi post-decrement dan pre-decrement:
#include <stdio.h> int main(void) { int a = 5; printf("Post Decrement \n"); printf("Isi variabel a: %d \n",a); printf("Isi variabel a: %d \n",a--); printf("Isi variabel a: %d \n",a); printf("\n"); int b = 5; printf("Pre Decrement \n"); printf("Isi variabel b: %d \n",b); printf("Isi variabel b: %d \n",--b); printf("Isi variabel b: %d \n",b); return 0; }
Hasil kode program:
Post Decrement Isi variabel a: 5 Isi variabel a: 5 Isi variabel a: 4 Pre Decrement Isi variabel b: 5 Isi variabel b: 4 Isi variabel b: 4
Terlihat bahwa post-decrement (a--
), akan menampilkan hasilnya terlebih dahulu, baru nilai variabel a dikurangi 1 angka. Dengan pre-decrement (--b
), variabel b 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.
Berikutnya, kita akan masuk ke Operator Perbandingan atau Operator Relasional Bahasa C.
Mau tanya itu kan untuk a+1 jadinya nya a++,
Kalau a+0.2 gimana ya rumusnya?
Untuk yang seperti itu bisa menggunakan operator assignment gabungan, yakni a+=0.2.
Penjelasannya bisa kesini https://www.duniailkom.com/tutorial-belajar-c-jenis-jenis-operator-assignment-bahasa-c/
kalo kaya gini gimana? d = ++a * b – -c
Itu sudah gabungan beberapa operator, silahkan di coba saja…