Data – Logika Boolean – Ekspresi
Tim Penyusun Materi Pengenalan Komputasi Institut Teknologi Bandung © 2021
Tujuan
• Mahasiswa dapat
• Menjelaskan berbagai jenis type data dan kegunaannya
• Menjelaskan dan menggunakan operasi logika dan
• Menjelaskan dan menggunakan operasi logika yang berkaitan dengan berbagai type data
• Menggunakan blok program terkait data dan ekspresi dalam Scratch
9/27/2021 KU1072/Pengenalan Komputasi B 2
Data
9/27/2021 KU1072/Struktur Dasar Program Prosedural 3
Data
Definisi data menurut Oxford English Dictionary:
The quantities, characters, or symbols on which operations are performed by computers and other automatic equipment and which may be stored, or transmitted in the form of electrical signal, magnetic
tapes, punched cards
*)etc.
*) Dewasa ini magnetic tapes dan punched cards sudah tidak digunakan.
Teknologi terbaru menggunakan CD, DVD, flash drive, dll.
9/27/2021 Pengenalan Komputasi 4
Contoh data kalimat
“Computational thinking is for everyone” di-encode dalam QR code
Data Diskrit vs Kontinyu
9/27/2021 Pengenalan Komputasi 5
Berapa berat total sekeranjang jeruk?
Jawab:
504,9343498 gram
Untuk merepresentasikan data berat jeruk terdapat sejumlah tak terbatas yang dapat digunakan (bilangan riil)
data kontinyu Ada berapa banyak jeruk di
dalam kerjanjang?
Jawab: 7 buah
Untuk merepresentasikan data jumlah jeruk dalam keranjang terdapat angka yang berbatas yang dapat digunakan (bilangan bulat) data diskrit
Abstraksi Data
90
Suhu Air?
Berat Badan?
Kecepatan Kendaraan
Bergerak
kemampuan kita untuk menginterpretasikan
suatu data dengan konteks masalahnya
9/27/2021 KU1072/Struktur Dasar Program Prosedural 6
Kecepatan Kendaraan Bergerak
Persoalan Abstraksi Data
9/27/2021
Suhu Air?
Berat Badan?
75
derajat
Celcius Kilogram
Km/jam
kemampuan kita untuk mengerti konteks dan
merepresentasikan menjadi bentuk lain.
KU1072/Struktur Dasar Program Prosedural 7
Tipe Data
• Setiap data memiliki jenis yang berbeda-beda
• Data umur seseorang berbeda dengan data nama
• Data umur dibentuk dari kumpulan angka
• Data nama dibentuk dari serangkaian huruf
• Untuk setiap jenis data juga memiliki rentang (range) yang berbeda
• Data umur rentangnya antara 1 sampai 100 (bila diasumsikan bahwa umur seseorang tidak lebih dari 100).
• Data nama rentangnya mulai dari 1 sampai 50 (bila di anggap nama tidak ada yang melebihi 50 huruf
• Tipe data mendefinisikan himpunan nilai-nilai tertentu, misalnya:
• Tipe data integer : himpunan nilai yang terdiri atas bilangan bulat (negatif, 0, positif)
• Tipe data boolean: himpunan nilai yang terdiri atas nilai true dan false
KU1072/Struktur Dasar Program Prosedural
9/27/2021 8
Tipe data dasar dalam pemrograman
9/27/2021 KU1072/Struktur Dasar Program Prosedural 9
Domain Nilai
Boolean/Logika: true = 1; false = 0
Integer/bilangan bulat: bilangan bulat negatif, 0, bilangan bulat positif Contoh: 1; -144; 999; 0
Bilangan real/floating point: bilangan riil, positif dan negatif Contoh: 3.14; -7.021; 4.01x10
-1Character: karakter/huruf Contoh: A; #; b
String: Kumpulan karakter/huruf
Contoh: xcxcx
Contoh Tipe untuk Suatu Data
• Umur Integer contoh: 25; 44; 35
• Kota String, contoh: “Jakarta”; “Bandung”
• Nama String, contoh: “Budi”; “Ali”
• Suhu Integer atau real, contoh: 37.5; 100
• Luas Integer atau real, contoh: 400; 43.5
• Berat Badan Integer atau real, contoh: 60.5; 75
• NIM Integer atau string?, contoh: 15812001
9/27/2021 KU1072/Struktur Dasar Program Prosedural 10
Contoh jenis data lain
9/27/2021 Pengenalan Komputasi 11
Data gambar (image)
Disimpan dalam 3 format: bitmap, JPEG, PNG
9/27/2021 Pengenalan Komputasi 12
Contoh jenis data lain
9/27/2021 Pengenalan Komputasi 13
Data suara (sound) direpresentasikan dalam bentuk sound wave (gelombang suara)
Representasi Data dalam Komputer
• Bit: Binary digit
• Unit terkecil dari informasi yang bisa diproses komputer
• Merepresentasikan sistem angka biner
• Nilai yang mungkin : 0 atau 1
• Byte
• Kumpulan 8 bits
• Dapat
• merepresentasikan 256 pesan berbeda
9/27/2021 Pengenalan Komputasi 14
Bit dapat dianalogikan seperti lampu bohlam.
Nilai 0 adalah lampu mati, nilai 1 adalah lampu menyala.
Ada 2n nilai berbeda yang dapat direpresentasikan dgn n buah bit Contoh di atas: 3 bit data dapat merepresentasikan 23 = 8 nilai
Bit sebagai Kode
• Kode merepresentasikan setiap huruf, digit, dan karakter spesial
• ASCII: paling banyak digunakan
• Setiap karakter memiliki kode 8 bit yang unik
• 256 kode unik dari 26 huruf, 10 digit, dan beberapa karakter spesial
• Awalnya dirancang hanya untuk karakter b. Inggris
• Unicode: mendukung lebih dari 100.000 karakter unik
• Memungkinkan untuk merepresentasikan karakter bahasa- bahasa dunia lainnya
9/27/2021 Pengenalan Komputasi/Computing System, Network and
Internet 15
Logika Boolean
9/27/2021 Pengenalan Komputasi 16
Which photo do you want? – Flowchart
9/27/2021 KU1102 - Pengenalan Komputasi - Algorithmic Thinking 17
Mulai Mulai
ambil foto ke-1
ada payung?
semua foto sudah diperiksa? atau foto
sesuai ditemukan? SelesaiSelesai
ada sesuatu di kepala?
dapat melihat laut?
Cetak foto
Tidak Ya
Ya Tidak
Ya
Tidak
Tidak
Ya
Cetak “foto tidak ditemukan”
foto sesuai ditemukan?
Ya
Tidak
cek foto berikutnya
foto sesuai ditemukan
Ya
Logika Boolean
• Logika berkaitan dengan bagaimana manusia melakukan penalaran (reasoning) terhadap apa yang benar atau salah
• Boolean logic (logika boolean): dibentuk dari proposisi
• Pernyataan yang bisa bernilai true atau false
• true dan false nilai logika/kebenaran
• Contoh proposisi:
• Gunung Everest adalah gunung tertinggi di dunia bernilai true
• Sungai Kapuas adalah sungai terpanjang di dunia bernilai false
• Bukan proposisi, contoh:
• Sikat gigimu!
• Berapa tinggi Gunung Everest?
9/27/2021 Pengenalan Komputasi 18
Operasi Logika
• Proposisi baru dapat dibentuk dengan menghubungkan dua proposisi dengan operasi logika
• Operasi logika yang akan dibahas: AND OR NOT XOR
• Jika P adalah proposisi dan Q adalah proposisi maka:
9/27/2021 Pengenalan Komputasi 19
P Q P and Q P or Q not P not Q
true true true true false false
true false false true false true
false true false true true false
false false false false true true
9/27/2021 Pengenalan Komputasi 20
fruit OR vegetables
rivers AND salinity
(foxes OR rabits) AND pest control
9/27/2021 Pengenalan Komputasi 21
Ekspresi
9/27/2021 Pengenalan Komputasi 22
Variabel (Peubah)
• Variabel digunakan menyimpan suatu nilai yang ber-”tipe data”
tertentu
• Merepresentasikan suatu makna di dunia nyata yang ingin diolah dalam ekspresi, misalnya:
• Sum : jumlah beberapa angka (bilangan riil)
• Max : nilai maksimum (bilangan bulat)
• N : jumlah mahasiswa dalam kelas
9/27/2021 KU1072/Struktur Dasar Program Prosedural 23
Ekspresi
• Ekspresi adalah kombinasi dari satu atau lebih nilai data atau
variabel dalam tipe tertentu, dan operator yang bermakna menurut aturan dan menghasilkan suatu nilai dalam suatu tipe tertentu
• Operator adalah suatu fungsi standar untuk melakukan beberapa hal dasar seperti perhitungan aritmatika, logika, dan relasional.
• Struktur umum ekspresi [biner]: <operan1> <operator> <operan2>
• Hasil dari operasi bergantung pada tipe data operan
• Operan dapat berupa nilai, variabel, atau ekspresi lain
9/27/2021 Pengenalan Komputasi 24
Jenis Ekspresi
• Jenis ekspresi menurut arity dari operator:
• Ekspresi biner: bentuk dasarnya adalah operasi dengan 2 operan
• Contoh: A + 5
• Ekspresi uner: bentuk dasarnya adalah operasi dengan 1 operan
• Contoh: not (found)
• Jenis ekspresi menurut tipe data yang dihasilkan:
• Ekspresi aritmatika: operan bertipe numerik (int/float) dan menghasilkan nilai numerik
• Ekspresi relasional: operan bertipe numerik (int/float) dan menghasilkan nilai bool/logika
• Ekspresi logika: operan bertipe bool/logika dan menghasilkan nilai bool/logika
9/27/2021 Pengenalan Komputasi 25
Operasi Aritmatika
9/27/2021 Pengenalan Komputasi 26
Operato
r Description Type Operan Example
+
Penjumlahan: menambahkan nilai kedua operan Bil. bulat, real a + b = 31-
Pengurangan: mengurangi nilai operan kiri dengannilai operan kanan Bil. bulat, real a – b = -11
*
Perkalian: mengalikan nilai kedua operan Bil. bulat, real a * b = 210/
Pembagian bulat: , maka hasil operasi adalah pembagian bulatBil. bulat b / a = 2
/
Pembagian riil: Jika operan adalah float, maka hasiloperasi adalah pembagian bilangan float Bil. bulat, real b / a = 2.1
mod
Modulo: sisa hasil pembagian bulat Bil. bulat b mod a = 1^
Pangkat: memangkatkan operan kiri dengan operan kananBil. bulat, real 10 ^ 2 = 100 Contoh: Jika a = 10 dan b = 21, maka:
Operator Relasional
9/27/2021 Pengenalan Komputasi 27
Operator Description Type Operan Example
=
Jika nilai kedua operan sama, maka menghasilkan true (tidak berlaku untuk bilangan riil)Bil. bulat, character, boolean, string
(a == b) menghasilkan false
<>
Jika nilai kedua operan tidak sama, maka menghasilkan trueBil. bulat, real, character, boolean, string
(a <> b) menghasilkan true
>
Jika nilai operan kiri lebih besar dari operan kanan, maka menghasilkan trueBil. bulat, real (a > b) menghasilkan false
<
Jika nilai operan kiri lebih kecil dari operan kanan, maka menghasilkan trueBil. bulat, real (a < b) menghasilkan true
>=
Jika nilai operan kiri lebih besar dari atau sama dengan operan kanan, maka menghasilkan trueBil. bulat, real (a >= b) menghasilkan false
<=
Jika nilai operan kiri lebih kecil dari atau sama dengan operan kanan, maka menghasilkan trueBil. bulat, real (a <= b) menghasilkan true
Contoh: Jika a = 10 dan b = 21, maka:
Operator Logika
9/27/2021 Pengenalan Komputasi 28
Operator Description Type Operan Example
and Logika AND: Jika kedua operan bernilai true, maka menghasilkan true.
boolean (a and b) menghasilkan false
or Logika OR: Jika setidaknya salah satu dari kedua operan bernilai true, maka menghasilkan true.
boolean (a or b) menghasilkan false not Logika NOT: Untuk membalik nilai logika dari operannya. boolean not(a) menghasilkan false
Jika a = true dan b = false, maka:
Latihan
a = 10 b = 13 c = 15
d = FALSE e = TRUE
9/27/2021 Pengenalan Komputasi 29