• Tidak ada hasil yang ditemukan

OPERATOR SEDERHANA DENGAN OPERATOR

Dalam dokumen Modul kelas Memulai Pemrograman Dengan C (Halaman 41-48)

OPERATOR SEDERHANA DENGAN OPERATOR

7.1 Pengantar Operasi Sederhana dengan Komputer

Dengan mempunyai CPU (Central Processing Unit) yang terdiri dari ALU (Arithmetic and Logical Unit), komputer dapat melakukan perhitungan aritmetika (perhitungan kali, bagi, tambah, kurang), operasi logika (aljabar boolean), atau perbandingan (sama, tidak sama, lebih besar, lebih kecil). Dengan operasi dasar ini, Anda dapat melakukan proses komputasi yang Anda butuhkan. Misalnya melakukan kalkulasi berdasarkan suatu rumus. mengurutkan, mencari suatu nilai yang harganya tertentu, atau melakukan operasi bit hitam putih menghasilkan gambar hitam/putih dalam kodifikasi informasi.

7.2 Operasi Aritmatika

Berikut ini adalah contoh program-program yang melakukan perhitungan aritmetika sederhana terhadap type numerik (bilangan integer dan bilangan riil).

Pada pelajaran berhitung, Anda sudah mengenal prioritas perhitungan, yaitu bahwa perkalian dan pembagian akan dilakukan sebelum penjumlahan dan pengurangan jika ditulis a+b*c-d, maka perhitungan yang dilakukan adalah a + (b * c) - d.

Best Practices: Untuk tidak tergantung kepada prioritas bahasa pemrograman, disarankan untuk menulis ekspresi aritmatika dengan tanda kurung, sehingga perhitungan yang dilakukan akan selalu sesuai dengan yang Anda maksudkan.

1. /* File : aritmatika.c */

2. /* Penulis : bu Dengklek, email inge@bebras.or.id*/

3. /* Operasi aritmatika bilangan integer dan bilangan rii l :

4. Menuliskan jumlah, hasil perkalian, pembagian, modul o

5. dua buah variabel integer*/

6. #include<stdio.h>

7. int 8. main () 9. {/* Kamus */

10. int x=5;

11. int y=8;

12. /* Program */

13. printf ("Ini nilai x + y : %d \n", x+y );

14. printf ("Ini nilai x - y : %d \n", x-y );

15. printf ("Ini nilai x * y : %d \n", x*y );

16. printf ("Ini nilai x / y : %d \n", x/y );

34 17. printf ("Ini nilai y / x : %d \n", y/x );

18. printf ("Ini nilai x mod y : %d \n", x%y );

19.

20. /* bandingkan dengan operasi pembagian bilangan riil */

21. float a=5, b=8;

22. printf ("Ini nilai a / b : %5.2f \n", a/b );

23. printf ("Ini nilai b / a : %5.2f \n", b/a );

24.

25. return 0;

26. }

7.2.1 Rangkuman Kompetensi

Mengenal operasi aritmatika dalam bahasa C, dan operator {+, *, / mod} dan urutan perhitungannya.

7.2.2 Aktivitas kreatif

Lakukanlah perhitungan:

1. x+x+x 2. x*x+x

7.2.3 Inilah Computational Thinking!

Dengan tanda kurung, Anda mengidentifikasi komponen dari sebuah ekspresi. Misalnya, program akan dapat melakukan ”dekomposisi” yang sesuai dengan apa yang Anda pikirkan (dan tuliskan) dengan ekspresi:

(((1+2)/(7*5)*8)-7)+9.

7.3 Operasi Boolean

Perhatikan bahwa dalam bahasa C, tidak dikenal bilangan boolean yang bernilai TRUE atau FALSE. False adalah nilai 0 dalam bahasa C, sedangkan bukan 0 atau 1 adalah True.

1. /* File: boolOP.c */

2. /* Penulis : Bu Dengklek, email inge@bebras.or.id */

3. /* Deskripsi : */

4. /* Contoh perhitungan aljabar boolen, perhatikan cara penulisan

5. AND dan OR serta NOT */

6. #include<stdio.h>

7. int main () 8. {/* Kamus */

35 9. int TRUE=1;

10. int FALSE=0;

11. /* Algoritma */

12. printf ("Ini nilai TRUE AND TRUE : %d \n", TRUE &&

TRUE );

13. printf ("Ini nilai TRUE OR FALSE : %d \n", TRUE ||

FALSE);

14. printf ("Ini nilai FALSE AND TRUE : %d \n", FALSE

&& TRUE );

15. printf ("Ini nilai FALSE OR FALSE : %d \n", FALSE

|| FALSE );

16. printf ("Ini nilai NOT TRUE : %d \n", !TRUE);

17. printf ("Ini nilai NOT FALSE : %d \n", !FALSE );

18. return 0;

19. }

7.3.1 Rangkuman Kompetensi

Memahami bagaimana operasi boolean dilakukan terhadap variabel boolean yang dalam bahasa C direpresentasi sebagai integer. Nilai “false”

direpresentasi dengan 0, sedangkan “true” adalah bukan 0.

7.3.2 Aktivitas Kreatif

Modifikasilah program di atas sehingga Anda menghasilkan tabulasi operasi boolean seperti yang biasa dituliskan, misalnya sebagai berikut:

--- OR T F T T T F T F ---

--- AND T F

T T F F F F ---

--- NOT T F

F T --- ---

OR T F T 1 1 F 1 0 ---

--- AND T F

T 1 0 F 0 0 ---

--- NOT T F

0 1 --- 7.3.3 Inilah Computational Thinking!

Dengan pola pemahaman operator aritmatika, Anda dapat mengenali pola operasi boolean. Lakukan operasi aritmatika hanya dengan 0 dan 1 (contoh tabel kreatif di mana TRUE ditulis sebagai 1 dan FALSE ditulis sebagai 0), identifikasilah operator aritmatika yang berkesesuaian.

36 7.4 Operasi Perbandingan

Komputer mampu melakukan proses perbandingan, yaitu {lebih besar, lebih kecil, sama dengan, atau tidak sama dengan} untuk nilai numerik.

Operator {sama dengan, tidak sama dengan} dapat dilakukan untuk karakter, yaitu misalnya untuk membandingkan apakah nilai yang diketikkan sama dengan ‘A’.

Hasil dari suatu perbandingan adalah nilai bolean (true atau false).

Daftar operator relasional (perbandingan) dalam bahasa C dan artinya:

Tabel VII-1 Operasi Perbandingan

Operator Arti

< Lebih kecil

> Lebih besar

!= Tidak sama dengan

== Sama dengan

Contoh operasi perbandingan diberikan pada program sebagai berikut, amati hasil perbandingan yang dilakukan.

1. /* File: relasional.c */

2. /* Penulis : Bu Dengklek, email inge@bebras.or.id */

3. /* Deskripsi : */

4. /* Contoh perbandingan nilai numerik */

5. #include<stdio.h>

6. int main () 7. {/* Kamus */

8. int X=5;

9. int Y=8;

10. /* Program */

11. printf ("Hasil X < Y : %d \n", X < Y);

12. printf ("Hasil X > Y : %d \n", X > Y);

13. printf ("Hasil X <= Y : %d \n", X <= Y );

14. printf ("Hasil X >= Y : %d \n", X >= Y );

15. printf ("Hasil X == Y : %d \n", X == Y ); /*operator kesamaan : ==*/

16. printf ("Hasil X != Y : %d \n", X != Y); /*operator ke-tidak-samaan:!=*/

17.

18. printf ("Hasil X == X : %d \n", X == X ); /*operator kesamaan: ==*/

19. printf ("Hasil X != X : %d \n",X != X); /*operator k e-tidak-samaan:!=*/

37 20.

21. return 0;

22. }

7.4.1 Rangkuman Kompetensi

Mengenal operator relasional yang akan dipakai untuk membandingkan dua buah nilai.

7.4.2 Aktivitas kreatif

Seringkali, pengguna pemula lupa dan salah menuliskan “sama dengan”

dengan “=”. Karena “=” artinya adalah mengisikan nilai, maka bisa berakibat fatal. Cobalah untuk mengganti secara sengaja “==” dengan “=”, amatilah apa yang terjadi. Anda akan mendapat “surprise.”

7.4.3 Inilah Computational Thinking!

Salah satu kemampuan komputer adalah membandingkan dua buah nilai.

Tentu saja, nilai yang dibandingkan seharusnya ber-type sama. Anda hanya bisa membandingkan misalnya dua orang, tidak bisa membandingkan seseorang dengan sebuah jeruk karena “type”-nya tidak sama. Operasi membandingkan akan banyak dipakai dalam problem solving, terutama untuk proses-proses komputasi standar yang akan Anda kenal berikutnya misalnya dalam persoalan search dan sort.

7.5 Gabungan Operasi Boolean dan Relasional

Seringkali Anda perlu untuk menuliskan suatu aturan atau kondisi dalam bentuk misalnya, Anda akan keluar membeli gorengan jika mempunyai uang lebih besar dari 5000 (rupiah) dan hari tidak hujan, yang dapat ditulis sebagai ekspresi:

(uang > 5000) && (!hujan)

1. /* File: gabungan.c */

2. /* Penulis : Bu Dengklek, email inge@bebras.or.id */

3. /* Deskripsi : *

/ 4. /* Contoh perbandingan nilai numerik */

5. #include<stdio.h>

6. int main () 7. {/* Kamus */

8. int uang= 6000;

9. int hujan=0; /*artinya hujan bernilai FALSE */

10. /* Program */

38 11. printf ("uang>5000 dan tidak hujan: %d \n", (uang>5

000) && (!hujan));

12.

13. uang= 6000;

14. hujan=1; /*artinya hujan bernilai TRUE */

15. printf ("uang>5000 dan tidak hujan: %d \n", (uang>5 000) && (!hujan));

16.

17. return 0;

18. }

7.5.1 Rangkuman Kompetensi

Menggabungkan pemakaian operator.

7.5.2 Aktivitas kreatif

1. Tuliskanlah beberapa kondisi lainnya berdasarkan lebih banyak variabel, dan tuliskanlah ekspresinya dalam bahasa C.

7.5.3 Inilah Computational Thinking!

Dengan memahami operator "campuran" ini, Anda dapat mengkomposisi beberapa ekspresi dan juga melakukan dekomposisi dari sebuah ekspresi yang hasilnya true atau false. Ekspresi terdiri dari beberapa sub-ekspresi yang akan dikomputasi sesuai dengan urutannya. Sebuah ekspresi yang hasil perhitungannya true atau false akan menjadi dasar dari construct berikutnya yang dipelajari pada bagian selanjutnya, sebagai bagian dari instruksi kondisional.

7.6 Operasi Penambahan Satu pada Nilai Integer (Increment)

Operasi untuk menambahkan satu ke suatu nilai integer seringkali diperlukan sehingga bahasa C menyediakan operator ++ yang artinya adalah sebagai berikut:

 i++ artinya setelah dieksekusi, nilainya bertambah dengan 1. Jika nilai i adalah lima, setelah instruksi i++ maka nilai I menjadi 6.

 ++i artinya sebelum dieksekusi, nilainya bertambah dengan 1. Jika nilai i adalah lima, sebelum instruksi ++ maka nilai I menjadi 6.

 /* File: inkremen.c */

 /* Penulis : Bu Dengklek, email inge@bebras.or.id */

 /* Deskripsi : *

/

 /* Efek dari operator ++ */

 #include<stdio.h>

39

 int main ()

 {

 /* Kamus */

 int i;

 /* Program */

 i = 3;

 printf ("Nilai i :%d %d\n", i, i++);

 i = 3;

 printf ("%d\n", ++i); /* sebelum dicetak, nilai i dit ambah 1 */

 return 0;

 }

7.6.1 Rangkuman Kompetensi

Memakai operator inkremen untuk maksud yang tepat.

7.6.2 Aktivitas kreatif

Selain inkremen, dikenal operator dekremen yaitu --.

Gantilah notasi ++ dengan -- dan amati eksekusi programnya.

7.6.3 Inilah Computational Thinking!

Dengan melakukan dekomposisi nama variabel dan operator ++ dan mengamati letaknya, Anda dengan mudah memahami urutan operasi inkremen yang dilakukan terhadap nilai yang disimpan.

Dengan pola yang sama, Anda akan memahami operasi dekremen (--) yang mempunyai pola operasi yang sama dengan ++, hanya saja efeknya yang berbeda yaitu bukan menambah satu, melainkan mengurangi dengan satu.

40

Dalam dokumen Modul kelas Memulai Pemrograman Dengan C (Halaman 41-48)