• Tidak ada hasil yang ditemukan

Tipe data

N/A
N/A
Protected

Academic year: 2024

Membagikan "Tipe data"

Copied!
30
0
0

Teks penuh

(1)

ALGORITMA

DAN PEMROGRAMAN

(2)

Tipe data

• Tipe sebuah objek menentukan himpunan nilai yang dapat dimiliki nya dan operasi yang dapat dilakukan pada objek tersebut

• Ada 2 macam tipe data:

1. Tipe dasar : tipe yang dapat langsung dipakai

2. Tipe bentukan : tipe yang dibentuk dari tipe dasar atau tipe bentuka n lain yang sudah didefinisikan sebelumnya

(3)

Tipe data dasar

1. Bilangan logic : boolean 2. Bilangan bulat : integer 3. Bilangan riil : real

4. Karakter : char 5. String : string

(4)

Bilangan logic (boolean)

Hanya ada 2 nilai : benar (true) dan salah (false)

• Nilai benar bisa dinyatakan dengan nilai 1 dan nilai salah bisa din yatakan dengan nilai 0 (atau sebaliknya, bergantung pada konven si yang dibuat)

• Operasi yang dapat dilakukan pada tipe boolean disebut operasi l ogika, yang menghasilkan nilai true atau false

• Operasi yang umum digunakan: not, and, or, xor

(5)

Bilangan logic (lanjut.)

Bila a dan b adalah peubah bertipe boolean, maka hasil operasi a d an b dapat dilihat pada tabel berikut:

a not a

true false

false true

a b a and b a or b a xor b

true true true true false

true false false true true

false true false true true

false false false false false

(6)

Bilangan bulat (integer)

• Bilangan bulat sudah umum digunakan dalam kehidupan sehari-h ari

• Bilangan bulat adalah bilangan yang tidak mengandung pecahan desimal

• Dalam komputer, bilangan bulat mempunyai ranah nilai yang terb atas, bergantung pada mesin komputer dan kompilator yang digu nakan

(7)

Bilangan bulat (lanjut.)

Operasi yang dilakukan terhadap bilangan bulat ada 2 macam:

1. Operasi Aritmetika : +, -, *, div, mod

2. Operasi Perbandingan, menghasilkan nilai boolean : >, ≤, <, ≥, !

(8)

Bilangan riil (real)

• Bilangan riil adalah bilangan yang mengandung pecahan desimal

• Dalam komputer, tipe real mempunyai rentang nilai yang bergantu ng pada mesin dan kompilator yang digunakan

• Dalam kompilator Pascal, tipe real dapat direpresentasikan dalam empat tipe: real, single, double dan extended.

• Dalam bahasa C, ada 2 tipe real: float (berpresisi tunggal) dan do uble (berpresisi ganda)

(9)

Bilangan riil (lanjut.)

Operasi yang dilakukan terhadap bilangan riil ada 2 macam:

1. Operasi Aritmetika : +, -, *, /

2. Operasi Perbandingan, menghasilkan nilai boolean : <, ≤, >, ≥,

(10)

Karakter (char)

• Yang termasuk karakter adalah semua huruf abjad, semua tanda baca, angka ‘0’, ’1’, … , ‘9’, karakter khusus seperti: ‘’&, ‘^’, ‘%’, ‘#’

, ‘@’, dan sebagainya

• Daftar karakter baku yang lengkap dapat dilihat pada buku yang memuat tabel ASCII

• Operasi yang dapat dilakukan: operasi perbandingan, yang meng hasilkan nilai boolean: <, ≤, >, ≥, =, ≠

(11)

String (string)

• String adalah untaian karakter dengan panjang tertentu, sebenarn ya bukan tipe dasar murni, karena disusun dari elemen-elemen b ertipe karakter

• Operasi terhadap data bertipe string ada 2 macam:

1. Operasi penyambungan, dengan operator : +

2. Operasi perbandingan, yang menghasilkan nilai boolean, dengan o perator : <, ≤, >, ≥, =, ≠

• String yang disusun dari gabungan numerik dan karakter sering di namakan alfanumerik

(12)

Tipe bentukan

• Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogr am

• Ada 2 macam tipe bentukan:

1. Tipe dasar yang diberi nama dengan nama baru 2. Tipe terstruktur

(13)

Tipe Dasar dengan Nama baru

• Kadang pemrogram ingin memberi nama baru terhadap tipe dasar dengan alasan agar nama baru tersebut lebih akrab dan lebih mu dah diinterpretasi oleh orang yang membaca teks algoritma

• Nama baru untuk tipe dasar menggunakan kata kunci: type

• Contoh : type BilanganBulat : integer

(14)

Tipe Terstruktur

• Tipe terstruktur adalah tipe yang berbentuk rekaman (record), yan g disusun oleh satu atau lebih field

• Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe b entukan lain yang sudah didefinisikan

Contoh:

1. Tipe koordinat titik:

type titik : record < x, y : real >

2. Tipe bilangan kompleks : a + b i

type Kompleks : record < a, b : real >

(15)

Contoh lain tipe terstruktur

1. Tipe tanggal :

type Tanggal : record

< dd : integer, {1 . . 31}

mm : integer, {1 . . 12}

yy : integer { > 0 }

>

2. Tipe jam :

type Jam : record

< hh : integer, { 0. . 23}

mm : integer, { 0 . . 59 } ss : integer { 0 . . 59 } >

(16)

Nama

Dalam algoritma, objek yang diberi nama berupa:

1. Peubah ( variable) DEKLARASI

X, nilai_ujian, jumlah : real k : integer

c : char

2. Konstanta (constant) DEKLARASI

const phi = 3.14 const Nmaks = 100 const sandi = ‘xyz’

(17)

Nama (lanjut.)

3. Tipe bentukan DEKLARASI

type Titik : record < x, y : real >

type Jam : record

< hh : integer, { 0. . 23}

mm : integer, { 0 . . 59 } ss : integer { 0 . . 59 } >

P : Titik

J1, J2 : Jam

4. Nama fungsi DEKLARASI

FUNCTION Maksimum (input A, B : integer) : integer

(18)

Nama (lanjut.)

4. Nama fungsi DEKLARASI

FUNCTION Maksimum (input A, B : integer) : integer { mengembalikan nilai terbesar antara A dan B }

5. Nama Prosedur DEKLARASI

PROCEDURE Tukar (input/output A, B : integer) { mempertukarkan nilai A dan B }

(19)

Nilai

Pengisian nilai ke dalam peubah dapat dilakukan dengan dua cara:

1. Pengisian nilai secara langsung (assignment)

Notasi yang digunakan :

2. Pembacaan

Diisi secara eksternal dari piranti masukan, misal dari papan ketik, dari s ebuah file, dari mouse, dan sebagainya

Notasi algoritmik untuk pembacaan nilai dari piranti masukan : read (nama_1, nama_2, …, nama_n)

(20)

Contoh pengisian nilai langsung

DEKLARASI

k : integer jarak : real

ketemu : boolean Nama kota : string

type Jam : record

< hh : integer, { 0. . 23}

mm : integer, { 0 . . 59 } ss : integer { 0 . . 59 } >

J : Jam

(21)

ALGORITMA : k 5

jarak 0.03 ketemu false

NamaKota ‘SOLO’

{ Mengisi J dengan jam 6:12:39 } J <6, 12, 39>

{ atau, kita bisa mengisi setiap field dari J:

J.hh 6 J.mm 12 J.ss 39 }

(22)

Contoh pembacaan

DEKLARASI

M, a1, a2, a3 : real nama_mhs : string NIM : integer

type Titik : record < x : real, y : real >

P : Titik

ALGORITMA : read(M)

read(a1, a2, a3)

read(nama_mhs, NIM) read(P.x, P.y)

(23)

Ekspresi

• Suatu nilai dipakai untuk proses transformasi menjadi keluaran ya ng diinginkan

• Transformasi nilai menjadi keluaran dilakukan melalui suatu perhit ungan/komputasi, yang dinyatakan dalam suatu ekspresi

• Ekspresi terdiri dari operand dan operator

• Operand adalah nilai yang dioperasikan dengan operator tertentu

(24)

Macam-macam ekspresi

1. Ekspresi Aritmetik : jenis ekspresi yang operandnya bertipe nu merik dan hasilnya juga bertipe numerik

2. Ekspresi Relasional : jenis ekspresi dengan operator <, ≤, >, ≥,

=, ≠, not, and, or, xor, dan hasil evaluasi ekspresinya berupa nil ai bertipe boolean

3. Ekspresi String : jenis ekpresi untuk tipe data karakter dan strin g dengan operator “+” (operator penyambungan)

(25)

Penulisan nilai

• Nilai konstanta, peubah, dan hasil ekspresi dapat ditampilkan ke p iranti keluaran (berupa layar peraga atau suatu file)

• Instruksi penulisan nilai dilakukan dengan notasi write

(26)

LATIHAN

1. Sebutkan tipe data untuk menyatakan hal berikut ini a. Banyaknya pengunjung perpustakaan

b. Ukuran baju (s, m, l, xl) c. Luas sebuah perkebunan

d. Nama-nama kota di Indonesia e. Jenis kelamin

(27)

LATIHAN

2. Tuliskan tipe data variabel berikut yang sesuai dengan operasiny a

a. C = A / B;

b. P = Q or R;

c. Z = A = B;

d. I = J or (X = Y);

(28)

LATIHAN

3. Tuliskan variabel input yang dibutuhkan untuk membuat algoritma penyelesaian masalah berikut ini. Sebutkan juga tipe datanya masin g-masing.

a. Menghitung luas segitiga

b. Menghitung luas permukaan balok

c. Menghitung jarak dari dua buah titik yang diketahui koordinatnya

Untuk soal diatas buat juga algoritma pseudo code serta conto h prosesnya dengan menggunakan flowgorithm

(29)

LATIHAN

4. Tentukan hasil operasi matematika dan logika berikut ini yang disi mpan pada variabel X, bila diketahui A = 5, B = 2, C = 3, D = 4, E = f alse, F =true

a. X = ( A + B ) * C b. X = A * C + B c. X = A * B + C / D d. X = A > B and E e. X = B * C > A f. X = C + D / B – A g. X = C = D or B < A

Buat contoh prosesnya dengan menggunakan flowgorithm

(30)

LATIHAN

5. Diketahui terdapat dua input yaitu dua buah pasangan tanggal, b ulan dan tahun. Tuliskan algoritma untuk menghitung berapa hari jar ak kedua tanggal tersebut.

Untuk soal diatas buat juga algoritma pseudo code serta conto h prosesnya dengan menggunakan flowgorithm

Referensi

Dokumen terkait

Tidak seperti logika boolean yang menyatakan bahwa suatu pernyataan adalah benar atau salah, fuzzy logic dapat membaginya dalam derajat keanggotaan dan derajat

Sebuah proposisi ( p , q , r , …) adalah suatu kalimat ( sentence) yang memiliki nilai kebenaran ( truth value) benar ( true ), dengan notasi T, atau nilai kebenaran salah ( false

StrToBool Mengkonversikan data bertipe String yang berisi nilai TRUE, FALSE, atau angka menjadi data bertipe boolean. StrToBool akan bernilai TRUE jika

Pembelajaran kooperatif tipe True Or False adalah salah satu tipe pembelajaran yang pembelajarannya dengan cara membagikan kartu yang berisi pernyataan benar dan salah

Operator boolean adalah operator kondisi yang kedua operandnya berupa nilai boolean (true atau false), sedangkan Operator Pembanding membandingkan 2 nilai seperti pada

Atribut Berikut adalah beberapa tipe data yang dikenal oleh ABS : o Bool = True | False Tipe data Boolean dengan nilai dapat berupa true atau false o Unit Tipe data yang tidak

Jodohkanlah dengan menulis huruf sesuai jawaban yang benar.. True or False Benar atau salah

Salah Jenis Soal :Salah Benar True/False Jawaban Benar :B 38 Galang, Pipit, and Monita will learn English after the school break.. Salah Jenis Soal :Salah Benar True/False Jawaban