1 / 16

Operator dan Ekspresi

TE E 2 103 Algoritma dan Pemrograman. Operator dan Ekspresi. Dosen: Abdillah, MIT Hp : 0853 6581 8665 Email: abdill 01 @ gmail.com Website: www. abdill01.wordpress.com. Tujuan. Mahasiswa memahami jenis operator dan ekspresi serta penggunaannya dalam program C.

allayna
Download Presentation

Operator dan Ekspresi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEE 2103Algoritma dan Pemrograman Operatordan Ekspresi Dosen: Abdillah, MIT Hp: 0853 6581 8665 Email: abdill01@gmail.com Website: www.abdill01.wordpress.com

  2. Tujuan Mahasiswa memahami jenis operator dan ekspresi serta penggunaannya dalam program C.

  3. Operator dan Ekspresi • Operator adalah karakter simbol yang menentukan sebuah ekspresi. Misalnya pada ekspresix + y karakter + adalah operator, sedangkan karakter x dan y adalah operand. • Pada C terdapat operator aritmetika, perbandingan, logika, penaikan, penurunan dan penugasan.

  4. Operator Aritmetika • Operator aritmetika terdiri atas + ‒ * / dan % (modulus). • Ekspresi x/y pada bilangan bulat akan memotong semua angka di belakang koma. Misalnya hasil pembagian bilangan bulat 5/9 yakni 0,55 akan terpotong menjadi 0. Contoh lain: 4/3, 8/3 dan 15/4 akan menghasilkan 1, 2 dan 3.

  5. Operator Modulus • Ekspresi x%y menghasilkan sisa hasil pembagian x/y. Misalnya ekspresi 5%9 menghasilkan nilai 9. Contoh lain: 5%3, 11%4 dan 15%5 akan menghasilkan 2, 3 dan 0. • Operator % tidak dapat diaplikasikan pada bilangan berkoma (float dan double).

  6. Precedence • Operator * / dan % memiliki precedence (derajat komputasi) yang sama. • Operator + dan ‒ memiliki derajat komputasi lebih rendah.

  7. Operator Perbandingan • Operator relasional (perbandingan) terdiri atas > >= < <= == dan !=. Operator > >= < dan <= memiliki derajat komputasi yang sama. Operator == dan != memiliki derajat komputasi lebih rendah. • Operator perbandingan memiliki derajat komputasi lebih rendah daripada operator aritmetika.

  8. Operator Logika • Operator logika terdiri atas && dan ||. Ekspresi logika bernilai 1 jika benar 0 jika salah. • Derajat komputasi operator && lebih tinggi daripada operator || dan derajat komputasi keduanya lebih rendah daripada operator perbandingan.

  9. Contoh Program Tahun kabisat diuji menggunakan operator aritmetika, perbandingan dan logika. Tahun kabisat adalah tahun yang habis dibagi 4 dan tidak habis dibagi 100, atau tahun yang habis dibagi 400. if ((tahun%4 == 0 && tahun%100 != 0) || tahun%400 == 0) printf("%d adalahtahunkabisat\n", tahun); else printf("%d bukan tahunkabisat\n", tahun);

  10. Latihan • Tulislah sebuah program yang membaca sebuah bilangan tahun dan menentukan apakah tahun tersebut adalah kabisat atau bukan. • Gunakan fungsi scanf untuk membaca nilai tahun dari piranti masukan (keyboard). printf("Masukkanbilangan tahun: "); scanf("%d",&tahun);

  11. Konversi Tipe Data Jika sebuah operator memiliki operand yang berbeda tipe, maka operand itu dikonversi dengan aturan sbb: • Jika salah satu operand adalah long double, konversi operand yang lainnya ke long double. • Atau jika salah satu operand adalah double, konversi operand yang lainnya ke double. • Atau jika salah satu operand adalah float, konversi operand yang lainnya ke float. • Atau konversi char dan short ke int • Maka jika salah satu operand adalah long, konversi operand yang lainnya ke long.

  12. Operator Menaik dan Menurun • C menyediakan operator untuk menaikkan dan menurunkan nilai variabel, yakni ++ dan ‒‒. • Operator menaik menambah 1 pada operand sedangkan operator menurun mengurangi 1. • Penulisan operator menaik dan menurun bisa sebagai awalan atau akhiran. Misalnya n memiliki nilai 5, kemudian x = n++ ini berarti memberi nilai 5 pada x, tapi x = ++n akan memberi nilai 6 pada x.

  13. Operator Penugasan • Operator penugasan adalah +=. • Ekspresi i = i + 2 dapat ditulis dalam bentuk ringkas i += 2

  14. Ekspresi Bersyarat Statement di atas dapat ditulis dalam ekspresi bersyarat dengan format sbb: expr1 ? expr2 : expr3; Ekspresi expr1dievaluasi pertama kali. Jika kondisi (syarat) bernilai benar, maka expr2dievaluasi. Jika salah, maka ekspresi expr3dievaluasi. Hanya salah satu dari expr2 dan expr3 yang dievaluasi. if (a > b) z = a; else z = b; z = (a > b) ? a : b;

  15. Contoh Program Sebuah contoh program konversi char ke int adalah fungsi lower, yang memetakan karakter tunggal ke huruf kecil untuk himpunan karakter ASCII. /* lower: konversi c ke huruf kecil ASCII */ int lower(int c) { if (c >= 'A' && c <= 'Z') return c + 'a' - 'A'; else return c; }

  16. Latihan • Tulislah sebuah sebuah fungsi htoi (s), yang mengkonversi string hexadesimal ke nilai bilangan bulat. Angka yang diperbolehkan adalah 0-9, a-f dan A-F.

More Related