Jumat, Juli 10, 2015

Programming in C - Part 7: Operator dalam bahasa C

Operator dalam bahasa C terbagi dalam beberapa bagian yaitu
  1. Operator Aritmatika
  2. Operator Logikal
  3. Operator Relasional
  4. Operator Assignment
  5. Operator Bitwise, dan
  6. Operator lain

 

Operator Aritmatika:

 

Operator yang digunakan dalam perhitungan aritmatika seperti penjumlahan, pengurangan dll

Operator    Penggunaan
+    Penjumlahan
-    Pengurangan
*    Perkalian
/    Pembagian
%    Menghitung sisa pembagian (modulus)
++    Penambahan kontinu
--    Pengurangan kontinu



contoh penggunaan :

/* =======================================
 * Contoh Penggunaan operator aritmatika
 * Created by: Sastrawan
 * Topik : + - % / ++ dan --
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
  
    int a = 10 ;
    int b = 4 ;
  
    int hasilTambah, hasilKurang, sisaBagi,hasilKali;
    int penambahanKontinu,penguranganKontinu;
    double hasilBagi ;
  
    hasilTambah = a + b ;  
    hasilKurang    = a - b ;
    sisaBagi    = a - b ;
    hasilBagi    = (double)a/b ;        // casting (mengubah) int menjadi float
    hasilKali    = a * b ;
  
    penambahanKontinu = a++;
    penguranganKontinu= a--;
  
    printf("Operasi Aritmatika a = %d, dan b = %d \n", a,b);
    printf("Hasil penjumlahan a + b = %d \n", hasilTambah);
    printf("Hasil pengurangan a - b = %d \n", hasilKurang);
    printf("Hasil sisa pembagian a  b = %d \n", sisaBagi);
    printf("Hasil Pembagian a / b = %.2f \n", hasilBagi);
    printf("Hasil perkalian a * b = %d \n", hasilKali);
    printf("Hasil dari  a++ = %d \n", penambahanKontinu);
    printf("Hasil dari  a-- = %d \n", penguranganKontinu);

    return 0;
    
 }



hasil dari program di atas adalah sbb :

Operasi Aritmatika a = 10, dan b = 4
Hasil penjumlahan a + b = 14
Hasil pengurangan a - b = 6
Hasil sisa pembagian a  b = 6
Hasil Pembagian a / b = 2.50
Hasil perkalian a * b = 40
Hasil dari  a++ = 10
Hasil dari  a-- = 11

catatan :
tanda \n setelah placeholder memerintahkan untuk meletakkan hasil pada baris berikutnya pada output

jika masih bingung dengan placeholder silahkan baca artikel sebelumnya tentang placeholder

Operator Logikal

Operator ini memberikan kesempatan kepada programmer untuk memeriksa keadaan suatu variabel apakah dalam kondisi benar (true) atau salah (false). Adapun operator jenis ini adalah sbb :

Operator    Kegunaan
&&    operator AND, menggabungkan kedua kondisi
||    operator OR, memilih salah satu kondisi
!    operator NOT, memilih kebalikan dari suatu kondisi

contoh penggunaan

/* =======================================
 * Contoh Penggunaan operator Logika
 * Created by: Sastrawan
 * Topik : &&, || dan !
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
  
    int a = 10 ;
    int b = 4 ;
  
    if((a==10) && (b==4)) {
        printf("kondisi && BENAR \n");
    }
  
    if((a==10)  || (b==4)) {
        printf("kondisi || BENAR \n");
    }
      
    if((a==100) || (b==4)) {
        printf("kondisi || BENAR \n");
    }
 
    if(a !=10 )  {
        printf("Jika anda melihat tulisan ini berarti a tidak sama dengan 10");
    }

     return 0;
    
 }
 

Hasil jika a = 10

kondisi && BENAR
kondisi || BENAR
kondisi || BENAR


jika a diganti dengan 100 hasilnya adalah sbb :

kondisi || BENAR
kondisi || BENAR

Jika anda melihat tulisan ini berarti a tidak sama dengan 10
perhatikan bahwa kondisi && tidak tercetak karena tidak terpenuhi.

Operator  Relational

Sebenarnya kita sudah menggunakan operator relasional pada contoh di atas, dimana kita menguji dua buah kondisi dengan menggunakan operator jenis ini. Beberapa operator jenis ini adalah sbb

==    menguji apakan nilai di sebelah kiri tanda ini sama dengan sebelah kanan tanda ini
!=    menguji apakan nilai di sebelah kiri tanda ini TIDAK sama dengan sebelah kanan tanda ini
> menguji apakan nilai di sebelah kiri tanda ini LEBIH BESAR dari sebelah kanan tanda ini
< menguji apakan nilai di sebelah kiri tanda ini LEBIH KECIL  dari sebelah kanan tanda ini
>= menguji apakan nilai di sebelah kiri tanda ini LEBIH DARI ATAU SAMA DENGAN sebelah kanan tanda ini
<= menguji apakan nilai di sebelah kiri tanda ini KURANG DARI ATAU SAMA DENGAN sebelah kanan tanda ini


contoh penggunaan :

/* =======================================
 * Contoh Penggunaan operator Relasi
 * Created by: Sastrawan
 * Topik : == , != <= >=, >, <
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
  
    int a = 10 ;
    int b = 4 ;
  
    printf(" Operator Relational : a = %d, b = %d \n \n", a, b);
  
    if(a == b) {
        printf("a SAMA DENGAN b \n");
    }
  
    if(a != b) {
        printf("a TIDAK SAMA DENGAN b \n");
    }
  
    if(a > b) {
        printf("a LEBIH BESAR DARI b \n");
    }
  
    if(a < b) {
        printf("a LEBIH KECIL b \n");
    }
  
    if(a >= b) {
        printf("a LEBIH DARI ATAU SAMA DENGAN b \n");
    }

    if(a <= b) {
        printf("a KURANG DARI ATAU SAMA DENGAN b \n");
     }
     return 0;
    
 }


Jika a = 10 dan b= 4 maka hasilnya adalah sbb :

 Operator Relational : a = 10, b = 4

a TIDAK SAMA DENGAN b
a LEBIH BESAR DARI b
a LEBIH DARI ATAU SAMA DENGAN b


Jika a diganti menjadi 2 dan b= 4 maka hasilnya adalah sbb :

Operator Relational : a = 2, b = 4

a TIDAK SAMA DENGAN b
a LEBIH KECIL b
a KURANG DARI ATAU SAMA DENGAN b


coba tebak bagaimana luaran dari program jika a diganti dengan 4 ?

Operator Assignment

Operator assigment ini adalah operator yang dapat digunakan untuk memberikan nilai kepada suatu variabel. Sebenarnya kita sudah banyak menggunakan operator ini pada contoh contoh sebelumnya. Adapun jenis jenis operator ini adalah sebagai berikut:

=    Mengisi variabel sebelah kiri tanda ini dengan nilai di sebelah kanan tanda ini

+=    Mengisi variabel sebelah kiri tanda ini dengan nilai di sebelah kanan tanda ini ditambah nilai sebelumnya.

-=    Mengisi variabel sebelah kiri tanda ini dengan nilai di sebelah kanan tanda ini dikurangi nilai sebelumnya.

*=    Mengisi variabel sebelah kiri tanda ini dengan nilai di sebelah kanan tanda ini dikali nilai sebelumnya.

/=    Mengisi variabel sebelah kiri tanda ini dengan nilai di sebelah kanan tanda ini dibagi nilai sebelumnya.

contoh penggunaan :

/* =======================================
 * Contoh operator assignment
 * Created by: Sastrawan
 * Topik : Bitwise operator +=
 * ========================================
 */

 #include<stdio.h>

 int main( int argc, char *argv[])
 {
  
    int a=10,b=100 ;   // ini adalah operator assignment
    int x ;

        printf("Nilai awal a sekarang = %d \n", a);
        printf("Nilai awal b sekarang = %d \n", b);
      
    for(x=0;x<10;x++)
    {
        printf("Putaran : %d \t",x);
        a += 2 ;
        printf("Nilai a sekarang = %d \t", a);
        b -= 2 ;
        printf("Nilai b sekarang = %d \n", b);
      
      
    }
  
  
    return 0;
    
 }



 Hasilnya adalah sbb :

Nilai awal a sekarang = 10
Nilai awal b sekarang = 100
Putaran : 0  | Nilai a sekarang = 12 Nilai b sekarang = 98
Putaran : 1  | Nilai a sekarang = 14 Nilai b sekarang = 96
Putaran : 2  | Nilai a sekarang = 16 Nilai b sekarang = 94
Putaran : 3  | Nilai a sekarang = 18 Nilai b sekarang = 92
Putaran : 4  | Nilai a sekarang = 20 Nilai b sekarang = 90
Putaran : 5  | Nilai a sekarang = 22 Nilai b sekarang = 88
Putaran : 6  | Nilai a sekarang = 24 Nilai b sekarang = 86
Putaran : 7  | Nilai a sekarang = 26 Nilai b sekarang = 84
Putaran : 8  | Nilai a sekarang = 28 Nilai b sekarang = 82
Putaran : 9  | Nilai a sekarang = 30 Nilai b sekarang = 80



Penjelasan :
Kita menggunakan loop / pengulangan untuk menjelaskan efek += dan -=. loop dilakukan sebanyak 10 kali. Pada setiap putaran nilai a ditambah dengan 2 dan nilai b dikurangi dengan 2. Dengan demikian nilai a dan b terus berubah setiap putaran. Pada putaran terakhir nilai a menjadi 30 dan nilai b menjadi 80.

berdasarkan penjelasan di atas, dapat dikatakan sbb

a += 2 sama dengan a = a+2
a -= 2 sama dengan a = a-2

hal yang sama berlaku untuk operator assignmen lainnya.

Tantangan :


1. Buatlah program untuk membuat deret bilangan seperti berikut ?

1 2 4 7 11 16 22 29 37 46

2. Buatlah program untuk membuat 100 buah deretan bilangan genap mulai dari 12

3. Buatlah program untuk membuat bilangan prima yang kurang dari 100 mulai dari 2. Bilangan prima adalah bilangan yang hanya bisa dibagi dirinya sendiri.(clue: gunakan loop bertingkat dan gunakan operator aritmatika untuk mengetahui sisa pembagian!. bilangan yang tidak habis dibagi bilangan lainnya akan memiliki sisa.)

Berikut ini adalah output dari jawaban soal nomor 2 dan 3

daftar 100 Bilangan genap mulai dari 12
12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 184 186 188 190 192 194 196 198 200 202 204 206 208 210

daftar Bilangan prima yang kurang dari 100  mulai dari 2
2 adalah bilangan prima
3 adalah bilangan prima
5 adalah bilangan prima
7 adalah bilangan prima
11 adalah bilangan prima
13 adalah bilangan prima
17 adalah bilangan prima
19 adalah bilangan prima
23 adalah bilangan prima
29 adalah bilangan prima
31 adalah bilangan prima
37 adalah bilangan prima
41 adalah bilangan prima
43 adalah bilangan prima
47 adalah bilangan prima
53 adalah bilangan prima
59 adalah bilangan prima
61 adalah bilangan prima
67 adalah bilangan prima
71 adalah bilangan prima
73 adalah bilangan prima
79 adalah bilangan prima
83 adalah bilangan prima
89 adalah bilangan prima
97 adalah bilangan prima


0 comments:

Posting Komentar

Write your comment here