Skip to main content

Tanya Jawab Seputar Ekspresi dan Statement Penugasan

Berikut di bawah ini adalah tanya jawab singkat seputar ekspresi (expression) dan statemen penugasan (assignment statements) dalam bahasa pemrograman.

Expression

1. Apa itu expression? Dan contohnya?
  • kumpulan/kombinasi dari operand, operator, variable, konstanta, fungsi yang diproses bahasa pemrograman untuk mengembalikan suatu nilai.
Contohnya?
  • 2 + 3 * 4
  • y + 6
  • 4 != 4
2. Sebutkan beberapa kategori expression! Dan contohnya
  • arithmetic expression. contoh: 6 + 8;
  • relational expressions. contoh: (x  == y)
  • boolean expression. contoh: ( x && y)
Arithmetic Expression


3. Deskripsikan masing-masing apa saja yang bisa ada dalam arithmetic expression?

  • operators, operands, parentheses, function calls

4. Apa yang dimaksud dengan operator unary, binary, dan ternary? Dan contohnya!

  • memiliki satu operand, dua operand, tiga operand
  • (-i); 4 * 3; (x > y) ? x : y
5. Urutkan prioritas evaluasi operator berikut (dalam bahasa berbasis c, seperti c++, C#, java, dll): binary +, - , ++, --,unary +,-,++, --, *, /, %

  1. ++, --
  2. Unary
  3. ++, --
  4. *, /, %
  5. binary +, -
6. Bagaimana urutan aritmetika berikut: -a ** b ? unary atau exponen dulu?

  • -(a**b)
Associativity

7. Apa yang dimaksud dengan associativity? dan contohnya?
  • urutan evaluasi operator bila memiliki level yang sama. 
  • contoh: a - b + c - d dari kiri ke kanan atau dari kanan ke kiri?
8. x = 6/2*(2+1); Berapa x? 9 atau 1?

  • x = 9
9. Dari operator berikut mana yang di evaluasi dari kiri dan mana yang dari kanan?
*, /, %, binary +, binary -, ++, --, unary -, unary +
Untuk bahasa-bahasa berbasis C: 
  • Left: *, /, %, binary +, binary -
  • Right: ++, --, unary -, unary +
Overloaded Operator

10. Apa yang dimaksud dengan operator overloading? Contohnya?
penggunaan operator untuk beberapa operasi
contoh:
  • + untuk penambahan dan catenation (java)
  • ampersand (&) untuk logical AND (binary) dan address-of operator (unary) --> di (C++) 
Type Conversions

11. Apa yang dimaksud dengan narrowing conversion dan widening conversion? dan Contohnya?
  • narrowing conversion: mengkonversi nilai ke type yang tidak bisa menyimpan bahkan perkirannya dari semua nilai dari type asalnya. contoh: long ke int; double ke float;
  • widening conversion: mengkonversi nilai ke type yang bisa menyimpan setidaknya perkiraan dari semua nilai type asalnya. contoh: int ke long; int ke float;
Mixed-mode expressions  & Coercions

12. Apa yang dimaksud mixed-mode expressions dan coercions
  • expression dimana operator memiliki dua operand yang berbeda type
  • coercion mengkonversi type data secara implisit
Explicit conversion/Casting

13. Apa yang dimaksud dengan explicit conversions/casting & contohnya di C/Java
  • menkonversi type data oleh programmer
  • contoh: int a = (int) x
Relational & Boolean Expressions

Relational Expressions

14. Apa yang dimaksud dengan relational expressions? dan contohnya?
  • relational expression adalah expression yang memiliki operator yang membandingkan nilai dari dua operand (relational operator) dan nilai kembaliannya bertipe boolean
  • contoh: "7" == 7 ; "7" === 7; a + 1 > 2 * b
Boolean Expressions

15. Apa yang dimaksud dengan boolean expressions? dan contohnya?
  • expression yang memiliki operand/variable/konstanta bertipe boolean, relational expression  dan menggunakan operator boolean dan hasilnya juga bertipe boolean. 
  • contoh: (a > b) && (c < d)
Short-circuit Evaluation

16. Apa yang dimaksud dengan short-circuit evaluation? Dan contohnya?
  • evaluasi dari suatu expression dimana hasilnya ditentukan tanpa mengevaluasi semua operand dan/atau operatornya. 
  • Contoh: 
    • (13 * a) * (b / 13 - 1)  --> jika a = 0?
    • (a >= 0) && (b < 10)  --> jika a < 0 ??
Assignment Statements

Conditional Targets

17. Ubahlah ke bentuk if-else :
x = (y > z) ? y : z;
dan
($flag ? $count1 : $count2) = 0;
-----------------------------------------------------
if (y > z)
x = y;
else
x = z;
dan 
           if ($flag) 
$count1 = 0;
else
$count2 = 0;
Compound Assignment Operators

18. Apa yang dimaksud dengan compound assignment operators? Dan contohnya?
  • Suatu teknik/metode untuk menyingkat bentuk assignment yang umum diperlukan.
  • Contoh: a = a + b --> a +=b
19. Berapa hasil variabel berikut ini:
i = 6; | i = 6;
j = ++i; | j = i++;
print(j); | print(j);
  • silahkan cek melalui coding
20. Berapa hasil variabel berikut ini:
i = -5; | i = -5;
j = i--; | j = --i;
print(j); | print(j);
  • silahkan cek melalui coding
Unary Assignment Operators

21. Berapa hasil variabel berikut ini:
i = -5; | i = -5;
j = -i++; | j = -++i;
print(j); | print(j);
  • silahkan cek melalui coding
Assignment as Expressions

22. Apa yang dimaksud dengan assignment as expressions? dan contohnya?
  • Assignment yang digunakan sebagai suatu expression dan sebagai operand di dalam expression yang lain. 
  • Contoh: while ((ch = getchar()) != EOF) { ... }
Multiple Assignments

23. Apa yang dimaksud dengan multiple assignments? Contohnya?
  • assignment statement yang memiliki multiple-target dan multiple source
  • Contoh: ($first, $second, $third) = (20, 40, 60);

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan d...