Data – Logika Boolean – Ekspresi
Tim Penyusun Materi Pengenalan Komputasi Institut Teknologi Bandung © 2019
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
17/10/21 KU1072/Pengenalan Komputasi B 2
Data
17/10/21 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.
17/10/21 Pengenalan Komputasi 4
Contoh data kalimat
“Computational thinking is for everyone” di-encode dalam QR code
Data Diskrit vs Kontinyu
17/10/21 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
17/10/21 KU1072/Struktur Dasar Program Prosedural 6
Kecepatan Kendaraan Bergerak
Persoalan Abstraksi Data
17/10/21
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
17/10/21 8
Tipe data dasar dalam pemrograman
17/10/21 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-1
Character: 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
17/10/21 KU1072/Struktur Dasar Program Prosedural 10
Contoh jenis data lain
17/10/21 Pengenalan Komputasi 11
Data gambar (image)
Disimpan dalam 3 format: bitmap, JPEG, PNG
Contoh jenis data lain
17/10/21 Pengenalan Komputasi 12
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
17/10/21 Pengenalan Komputasi 13
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
17/10/21 Pengenalan Komputasi/Computing System, Network and
Internet 14
Logika Boolean
17/10/21 Pengenalan Komputasi 15
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?
17/10/21 Pengenalan Komputasi 16
Operasi Logika
• Proposisi baru dapat dibentuk dengan menghubungkan dua proposisi dengan operasi logika
• Operasi logika yang akan dibahas: AND OR NOT
• Jika P adalah proposisi dan Q adalah proposisi maka:
17/10/21 Pengenalan Komputasi 17
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
Ekspresi
17/10/21 Pengenalan Komputasi 18
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
17/10/21 Pengenalan Komputasi 19
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 : nilai bilangan bulat
17/10/21 KU1072/Struktur Dasar Program Prosedural 20
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
17/10/21 Pengenalan Komputasi 21
Operasi Aritmatika
17/10/21 Pengenalan Komputasi 22
Operator Description Type Operan Example
+ Penjumlahan: menambahkan nilai kedua operan Bil. bulat, real a + b = 31
- Pengurangan: mengurangi nilai operan kiri dengan nilai 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 bulat
Bil. bulat b / a = 2
/ Pembagian riil: Jika operan adalah float, maka hasil operasi 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 kanan
Bil. bulat, real 10 ^ 2 = 100 Contoh: Jika a = 10 dan b = 21, maka:
Operator Relasional
17/10/21 Pengenalan Komputasi 23
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 true
Bil. bulat, real, character, boolean, string
(a <> b) menghasilkan true
> Jika nilai operan kiri lebih besar dari operan kanan, maka menghasilkan true
Bil. bulat, real (a > b) menghasilkan false
< Jika nilai operan kiri lebih kecil dari operan kanan, maka menghasilkan true
Bil. bulat, real (a < b) menghasilkan true
>= Jika nilai operan kiri lebih besar dari atau sama dengan operan kanan, maka menghasilkan true
Bil. bulat, real (a >= b) menghasilkan false
<= Jika nilai operan kiri lebih kecil dari atau sama dengan operan kanan, maka menghasilkan true
Bil. bulat, real (a <= b) menghasilkan true
Contoh: Jika a = 10 dan b = 21, maka:
Operator Logika
17/10/21 Pengenalan Komputasi 24
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:
Memperkenalkan: Scratch
17/10/21 Pengenalan Komputasi 25
Scratch
• Scratch adalah event-driven visual programming language (bahasa pemrograman visual) berbasis blok
• Service disediakan oleh MIT Media Lab
• Digunakan khususnya untuk belajar pemrograman pada level dasar
• Juga merupakan komunitas online dengan lebih dari 40 juta projek yang dibuat oleh lebih dari 40 juta pengguna (per Mei 2019)
• Akses: https://scratch.mit.edu/
• “Kode program” ditulis dengan cara melakukan drag-and-drop
blok program dari blocks palette ke coding-area. Hasil run program dapat dilihat pada stage area.
17/10/21 Pengenalan Komputasi 26
17/10/21 Pengenalan Komputasi 27
Scratch Desktop
Download: https://scratch.mit.edu/download Blocks
Palette
Stage Coding Area
Area
Mendefinisikan Variabel
• Operasi dasar terhadap variabel:
• Set nilai suatu variabel
• Mengubah nilai suatu variabel
• Menampilkan nilai variabel
• Dll (silakan dieksplorasi)
• Variabel dapat memiliki nilai dengan tipe dasar: bilangan bulat, bilangan real, string, character
17/10/21 Pengenalan Komputasi 28
Ekspresi dalam Scratch
• Block palette terkait ekspresi:
Operator
• Operasi artimatika
• Operasi relasional
• Operasi logika
• Dll. (silakan dieksplorasi sendiri)
17/10/21 Pengenalan Komputasi 29
Operator aritmatika
Operator relasional Operator
logika
Membaca Input dari Keyboard
• Blok Sensing: ask and wait
17/10/21 Pengenalan Komputasi 30
Menampilkan hasil
• Blok Looks/Sound
• Dalam bentuk teks/suara
17/10/21 Pengenalan Komputasi 31
Tugas
• Download Scratch Desktop
• https://scratch.mit.edu/download
• Buatlah program kecil yang melakukan hal berikut:
• Mendefinisikan variabel A, B, C
• Mengisi nilai A, B dengan bilangan bulat (bebas)
• Mengeset C = A * B
• Menampilkan C
• Dengan melihat contoh-contoh projek yang ada, buatlah program- program lain yang menarik dengan memanfaatkan objek-objek
yang tersedia di Scratch yang memanfaatkan variabel dan menggunakan ekspresi yang tersedia
17/10/21 Pengenalan Komputasi 32