Operator Aritmatika


Seperti yang kita bahas sebelumnya, bahwa salah satu Operator yang ada dalam pemrograman Bahasa C adalah Operator Aritmatika. Operator Aritmatika dalam Bahasa C digunakan untuk mempresentasekan dasar-dasar perhitungan seperti penambahan, pengurangan, pembagian, perkalian, dan sisa hasil bagi. Dari dasar-dasar aritmatika ini, dapat dikembangkan ke arah perpangkatan, penarikan akar, dan lain sebagainya. Oleh karena itu Operator Aritmatika menjadi sangat penting dalam setiap bahasa pemrograman ataupun dalam kehidupan nyata.

Untuk memulainya, seperti kita bahas sebelumnya, Operator-Operator Aritmatika dalam Bahasa Pemrograman C adalah seperti di basa ini.

Operator        Jenjang          Fungsi

     *                    3               Perkalian

    /                     3               Pembagian

   %                    3                Sisa Hasil Pembagian (Modulus)

   +                    4                Penambahan

    –                     4                Pengurangan

Untuk menggunakan Operator-operator ini dalam sebuah ungkapan secara bersamaan, maka sangat penting untuk mengetahui tentang jenjang dari operator seperti yang kita lihat di atas. Jenjang Sebuah operator menentukan operator mana yang diprioritaskan terlebih dahulu ketika digunakan secara bersamaan dalam sebuah statement atau ungkapan. Ketika Jenjang dari operator yang digunakan adalah sama, maka operator yang akan dikerjakan terlebih dahulu adalah operator yang berada di sebelah kiri.

sebagai contoh :

A=5-1+3     artinya     A=4+3  –> A =7

A=3+10/2-2 artinya   A=3+5-2  –> A=8-2 –> A=6

Untuk merubah jenjang digunakan operator ‘()’, sehingga operator yang berada pada tanda operator ‘()’, akan mempunyai jenjang tertinggi. Perhatikan contoh di bawah ini.

A=5-(1+3)     artinya     A=5-4  –> A = 1

A=(3+10)/2-2, artinya A=13/2-2 –> A=6,5-2 –> A=4,5

Operator ‘*’ digunakan untuk perkalian bilangan. Operator ‘/’ digunakan untuk pembagian bilangan. Secara khusus Operator ‘/’ jika digunakan pada nilai dengan tipe integer akan menghasilkan bilangan bulat, meskipun variabel penerima yang menyimpannya di deklarasikan/atau bertipe pecahan. Hal ini disebabkan karena sifat dari pembagian bilangan bulat, yang apabila dua bilangan bulat dioperasikan dengan pembagian akan menghasilkan bilangan bulat. Sehingga hasil bilangan bulat tersebut walaupun di simpan dalam variabel bertipe pecahan, tetap akan menghasilkan berbentuk bilangan bulat juga.

Untuk memperjelasnya, silahkan coba menulis source program berikut. Program berikut adalah contoh penulisan program dalam Bahasa C dan penulis menggunakan Compiler GCC Versi 4.6.3 dengan Platform Ubuntu 12.04. Hal ini digunakan penulis karena pada dasarnya Bahasa Pemrograman C di Linux masih berpatokan pada standart UNIX yang asli.

Bertujuan untuk menulis contoh source code program, maka penulis akan memandu cara membuatnya pada Sistem Operasi Linux. Untuk pembaca yang menggunakan tool lain untuk menulis program C seperti Turbo C, dapat mencoba dalam tool tersebut karena hasilnya akan sama saja.

Bagi pembaca yang menggunakan Linux, silahkan buka terminal dengan cara klik pada desktop atau bisa langsung dengan shortcut Ctrl + Alt + T. Jika Terminal/Console anda sudah terbuka silahkan rubah directori penyimpanan contoh program ini dengan perintah CD. Sebagai contoh, penulis akan masuk ke directory /Home/Ocol/ContohProgramC, untuk menyimpan contoh program ini.

$ cd /home/ocol/ContohProgramC/

Kemudian tekan Enter. Selanjutnya jika directori yang aktif sudah berubah, silahkan ketikkan perintah berikut.

$ nano aritmatika.c

Perintah di atas digunakan untuk mengaktifkan lembar editan (seperti notepad di windows) yang diberi nama aritmatika.c. Jika sudah ketikkan kode program di bawah pada lembar editan tersebut.

#include <stdio.h>     // menambahkan header stdio.h

main()        // fungsi utama
{                 // awal dari fungsi utama
//badan fungsi utama

                 // deklarasi variabel
       int A, B;
       float C;

       A = 23;             // A di isi dengan 23
       B = 5;               // B di isi dengan 5

      C = A / B;            /*
A,B adalah variabel tipe Integer
C adalah variabel tipe float (pecahan).
Kemudian A / B –> 23/5
Operasi ini akan menghasilkan nilai
4 karna integer 23 dibagi dengan integer
5 akan menghasilkan integer 4 pula.
Kemudian nilai bulat 4 akan disimpan
dalam variabel tipe float yakni C.
Meskipun variabel C bertipe float, tapi
nilai yang disimpan akan bernilai bulat,
karena nilai hasil bagi di atas sudah lebih
dulu bulat sebelum di simpan ke variabel C.
Sehingga hasil akhirnya adalah 4,0.
*/

          /* tampilkan hasil di monitor, dalam kode format
A format integer, B format Integer, dan
C format Float/Pecahan
*/
  printf(“Nilai %d dibagi dengan %d adalah %f\n”,A,B,C);

}           // akhir dari fungsi utama

Jika sudah menulis kode ini, silahkan tekan tombol Ctrl + O untuk pilihan WriteOut. Jika ada dialog seperti ini, File Name to Write: aritmatika.c tekan tombol Enter. Kemudian tekanlah tombol Ctrl + X untuk pilihan Exit. Anda akan kembali ke jendela terminal. Selanjutnya, kita harus melakukan kompile kode program tadi dengan perinta cc atan gcc.

Berikut perintah yang penulis ketikan pada terminal untuk mengkompile kode program tadi.

$ cc aritmatika.c -o aritmatika

Perintah di atas akan menghasilkan sebuah file dengan nama aritmatika sebagai hasil kompile dari file sumber aritmatika.c. Jika sudah mengetikkan perintah di atas tekanlah tombol Enter untuk mulai mengkompile. Jika tidak ada error maka kita sudah berhasil mengkompile kode program kita yang tadi. Namun jika ada pesan error, sebagai contoh di bawah ini :

aritmatika.c: In function ‘main’:
aritmatika.c:9:2: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘float’
aritmatika.c:12:2: error: ‘B’ undeclared (first use in this function)
aritmatika.c:12:2: note: each undeclared identifier is reported only once for each function it appears in
aritmatika.c:14:2: error: ‘C’ undeclared (first use in this function)

maka silahkan periksa kembali source kode yang anda ketik tadi, sesuai dengan pesan error yang ada pada terminal masing-masing. Dari contoh di atas, file aritmatika.c pada fungsi main, pada baris 9 kolom 2 tidak terdapat  ‘=’, ‘,’, ‘;’, ‘asm’ atau ‘__attribute__ sebelum kata ‘float’. Variabel B tidak deklarasikan.

Selanjutnya, jika sudah benar semua, silahkan kompile kembali dengan cara di atas, dan apabila sudah tidak terdapat error, maka kita dapat menjalankannya dengan perintah

$ ./aritmatika

Dan hasilnya akan menjadi seperti dibawah ini.

Nilai 23 dibagi dengan 5 adalah 4.000000

Seperti yang dijelaskan di atas, maka hasil yang disimpan pada variabel C dengan tipe pecahan akan tetap bernilai bilangan bulat.

Untuk operator-operator aritmatika yang lainnya, silahkan mencobanya sendiri tergantung kreasi dengan cara yang sama di atas. Selanjutnya, saya akan menjelaskan aturan apabila dua buah bilangan atau operand dioperasikan dengan berbeda tipe data. Misal tipe integer di bagi dengan tipe float dan sebagainya. Operasi-operasi ini akan menghasilkan nilai yang berbeda dengan si pembuat program. Olehnya, dibutuhkan pemahaman tentang aturan apabila terjadi hal semacam ini. Adapun aturan operasinya adalah sebagai berikut.

  1. Tipe char akan dikonversi ke tipe integer.
  2. Tipe Double akan dikonversi ke tipe double.
  3. Jenjang tertinggi adalah mulai dari long double, double, long int, unsigned int, dan int. Ini berarti jika double di operasikan dengan long double akan menghasilkan nilai long double. Atau double di operasikan dengan integer akan menghasilkan nilai double.

sebagai contoh perhatikan operasi berikut:

int a;

char b;

float c,d;

d = a / b * c

Seperti aturan diatas, maka variabel b akan dikonversi ke bentuk integer, sehingga operasi pertama yakni a / b akan menghasilkan nilai integer. Selanjutnya nilai integer tadi akan dioperasikan dengan c yang bertipe float. C kemudian dikonversi ke tipe double, sehingga int dikali dengan double akan menghasilkan nilai double. Jadi, hasil akhir dari operasi ini akan tipe double.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s