Topik 4 Tipe Data Algoritma & Struktur Data PS. Manajemen Informatika
Topik 4Tipe Data
Algoritma & Struktur Data
PS. Manajemen Informatika
Sub Topik
1. Konsep Penamaan Peubah
2. Konsep Tipe dan Peubah
3. Bilangan Logik
4. Bilangan Bulat
5. Bilangan Pecahan
6. Karakter
7. String
8. Tipe Bentukan
Tujuan
Tujuan Instruksional Umum :
Mahasiswa diharapkan mampu menggunakan tipe data dalam algoritma
Tujuan Instruksional Khusus :
Mahasiswa memahami konsep penamaan Mahasiswa memahami penggunaan nama untuk
peubah Mahasiswa memahami konsep tipe data Mahasiswa memahami perbedaan tipe-tipe data
yang ada Mahasiswa mampu menggunakan tipe data untuk
peubah
Konsep Penamaan Peubah
Nama dipakai sebagai pengidentifikasi “sesuatu” danpemrogram mengacu “sesuatu” itu melalui namanya
Aturan penulisan nama :1. Nama harus dimulai dengan huruf alfabet, tidak
boleh dimulai dengan angka, spasi, atau karakterkhusus lainnya
2. Huruf besar atau huruf kecil tidak dibedakan3. Karakter penyusun nama hanya boleh huruf alfabet,
angka dan “_”4. Nama tidak boleh mengandung operator aritmatika,
relasional, tanda baca, dan karakter khusus lainnya5. Karakter-karakter didalam nama tidak boleh dipisah
dengan spasi6. Panjang nama tidak dibatasi
Nama sebaiknya mencerminkan nilai atau fungsi yang terkandung didalamnya
Contoh penamaan yang salah :6titiknilai ujianPT-1hari!A 1
Contoh penamaan yang benar :titik6 atau titik_6nilaiujian atau nilai_ujianPT1 atau PT_1hariA1
Didalam algoritma, objek yang diberi nama dapat berupa :
1. Peubah (Variable)• Peubah adalah tempat penyimpanan
data/informasi di memori yang isinya dapatdiubah
• Contoh :
DEKLARASIX, nilai_ujian, jumlah : realk : integerc : char
X, nilai_ujian, jumlah, k, c adalah nama-nama peubahNilai-nilai peubah dapat dimanipulasi melaluipernyataan-pernyataan didalam algoritma
2. Konstanta (Constant)• Peubah adalah tempat penyimpanan
data/informasi di memori yang isinya tetapselama pelaksanaan program dan tidak dapatdiubah nilainya
• Notasinya : const• Contoh :
DEKLARASIconst phi = 3.14const Nmaks = 100const sandi = ‘xyz’
phi, Nmaks, dan sandi adalah nama konstantaNilai konstanta yang sudah diisikan ke dalamnama konstanta tidak dapat diubah oleh instruksidi dalam algoritma
3. Tipe bentukanContoh :
DEKLARASItype Tanggal : record
<dd : integer {1 .. 31}mm : integer {1 .. 12}yyyy : integer { > 0}
>Now : Tanggal
Tanggal adalah nama tipeNow adalah peubah yang bertipe Tanggal
4. Nama fungsiContoh :
DEKLARASIFUNCTION Maksimum (input A, B : integer) integer{ mengembalikan nilai terbesar diantara A dan B }
Maksimum adalah nama fungsi
5. Nama prosedurContoh :
DEKLARASIPROCEDURE Tukar (input/output A, B : integer){ mempertukarkan nilai A dan B }
Tukar adalah nama prosedur
Konsep Tipe & Peubah
Peubah (variabel) dan konstanta adalah objek dasar yang dimanipulasi didalam program
Deklarasi daftar peubah digunakan untuk menyatakan tipepeubah
Operator menspesifikasikan operasi apa yang dapatdilakukan terhadap peubah dan konstanta
Tipe sebuah objek menentukan himpunan nilai yang dapatdimilikinya dan operasi yang dapat dilakukan pada objektersebut
Tipe data dikelompokkan menjadi dua macam, yaitu tipedasar dan tipe bentukan
Bilangan Logik
Nama tipe bilangan logik adalah boolean (diambil darinama matematikawan Inggris, George Boole)
Bilangan logik hanya mengenal dua nilai yaitu benar (true) dan salah (false)
Konstanta pada tipe ini adalah true dan false
Operasi yang bisa dilakukan terhadap tipe ini adalahoperasi logika• Jika a dan b adalah peubah yang bertipe boolean, maka
hasil operasi logika terhadap a dan b adalah :
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
a Not(a)
True False
False True
Bilangan Bulat
Nama tipe bilangan bulat adalah integer
Tipe ini memiliki keterurutan, dimana nilai sebelumnya dansesudahnya dapat ditentukan
Ranah nilai :
Tipe Rentang Nilai Format
byte 0 .. 255 Unsigned 8-bit
shortint -128 .. 127 Signed 8-bit
word 0 .. 65535 Unsigned 16-bit
integer -32768 .. 32767 Signed 16-bit
longint -2147483648 .. 2147483647 Signed 32-bit
Konstanta untuk tipe ini harus ditulis tanpa mengandung titikdesimal
Operasi yang dapat dilakukan terhadap tipe ini adalah :
1. Operasi Aritmatika
• Hasilnya berupa bilangan bulat
• Operator yang dapat digunakan :
+ tambah
- kurang
* kali
divbagi
mod sisa hasil bagi
2. Operasi Perbandingan
• Hasilnya berupa nilai boolean
• Operator yang dapat digunakan : <, ≤, >, ≥, =, ≠
Bilangan Pecahan
Nama tipe bilangan pecahan adalah real
Konstanta untuk tipe ini harus ditulis dengan tanda titikdesimal
Ranah nilai :
Tipe Rentang Nilai Format
Real 2.9 x 10-39 .. 1.7 x 1038 6 byte
Single 1.5 x 10-45 .. 3.4 x 1038 4 byte
Double 5.0 x 10-324 .. 1.7 x 10308 8 byte
Extended 3.4 x 10-4932 .. 1.1 x 104932 10 byte
Operasi yang dapat dilakukan terhadap tipe ini adalah :
1. Operasi Aritmatika
• Hasilnya berupa bilangan riil
• Operator yang dapat digunakan :
+ tambah
- kurang
* kali
/ bagi
2. Operasi Perbandingan
• Hasilnya berupa nilai boolean
• Operator yang dapat digunakan : <, ≤, >, ≥, ≠
Karakter
Nama tipe untuk karakter adalah char
Ranah nilai adalah semua huruf didalam alfabet (‘a’..’z’, ‘A’..’Z’), angka desimal (0..9), tanda baca (‘.’,’:’,’!’,’?’,’,’, danlain-lain), operator aritmatika (‘+’,’-’,’*’,’/’) dan karakter-karakter khusus seperti (‘$’,’#’,’@’,’^’,’~’, dan lain-lain)
Konstanta karakter harus diapit oleh tanda petik tunggal
Catat : Ingat : ‘9’ adalah karakter, tetapi 9 adalah integer
Karakter kosong (null) adalah karakter yang panjangnya noldan dilambangkan dengan ‘’
Operasi yang bisa dilakukan adalah operasi perbandingan
Operator yang digunakan adalah =, ≠, ≤ , <, >, ≥
Tipe ini memiliki keterurutan yang ditentukan oleh carapengkodeannya didalam komputer, misalnya kode ASCII
String
String adalah untaian karakter dengan panjang tertentu
Nama tipe untuk karakter adalah string
Ranah nilainya adalah deretan karakter yang telahdidefinisikan pada ranah char
Konstanta string harus diapit oleh tanda petik tunggal
String kosong (null) adalah string yang panjangnya nol dandilambangkan dengan ‘’
Operasi yang bisa dilakukan adalah :
1. Operasi Penyambungan (Concatenation)
• Operatornya : +
• Jika a dan b adalah peubah bertipe string, maka
a + b = ab
2. Operasi Perbandingan
• Hasilnya berupa nilai boolean
• Operator yang dapat digunakan : <, ≤, >, ≥, =, ≠
• String yang disusun oleh gabungan numerik dan karakterdisebut alfanumerik
Tipe Bentukan Sendiri
Untuk memberi nama baru pada tipe dasar digunakan katakunci type
Ranah nilai, cara menulis konstanta dan operasi-operasiterhadap tipe baru sama seperti tipe dasarnya
Contoh :
type BilanganBulat : integer
P : BilanganBulat
BilanganBulat merupakan tipe baru yang berasal dari tipedasar integer
P merupakan peubah yang bertipe BilanganBulat, dimana P secara tidak langsung bertipe integer
Tipe Terstruktur
Tipe yang berbentuk rekaman (record)
Rekaman disusun oleh satu atau lebih field
Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukanlain yang sudah didefinisikan sebelumnya
Contoh : Mendefinisikan tipe tanggal
Didefinisikan tipe terstruktur yang mewakili tanggal dalam kalenderMasehi. Hari dinyatakan dengan sebagai tanggal (dd), bulan (mm), dantahun (yyyy), misalnya 28-09-2009. Misalkan tipe bentukan tersebut diberinama Tanggal.
Cara menuliskan tipe Tanggal :
type Tanggal : record
<dd : integer {1 .. 31}
mm : integer {1 .. 12}
yyyy : integer { > 0}
>
Tipe Terstruktur
Tipe yang berbentuk rekaman (record)
Rekaman disusun oleh satu atau lebih field
Tiap field menyimpan data dari tipe dasar tertentu atau daritipe bentukan lain yang sudah didefinisikan sebelumnya
Operasi :
1. Operasi aritmatika bilangan bulat terhadap tiap field
2. Operasi perbandingan terhadap masing-masing field
Contoh : Mendefinisikan tipe tanggal
Didefinisikan tipe terstruktur yang mewakili tanggaldalam kalender Masehi. Hari dinyatakan dengan sebagaitanggal (dd), bulan (mm), dan tahun (yyyy), misalnya 28-09-2009. Misalkan tipe bentukan tersebut diberi namaTanggal.
Cara menuliskan tipe Tanggal :
type Tanggal : record
<dd : integer {1 .. 31}
mm : integer {1 .. 12}
yyyy : integer { > 0}
>
Contoh Soal
Kasus 1: Pseudocode kasus 2 di Topik 3
ALGORITMA cetak_nama
{algoritma ini digunakan untuk mencetak tulisan ‘Halo, apa kabarnama?}
DEKLARASI
nama : string {bertipe string karena nama berisi deretan karakter}
DESKRIPSI:
input(nama)
output(‘Halo, apa kabar’,nama,’?’)
Kasus 2:
Buatlah algoritma English Structure, Flowchart danPseudocode untuk menghitung luas bujursangkar, dimananilai sisi merupakan masukan dari user!
English Structure
Masalah : Menghitung luas bujursangkar
Input : sisi, bertipe bilangan bulat
Output : luas, bertipe bilangan bulat
Proses
1. Membaca nilai sisi dari masukan user
2. Menghitung luas = sisi * sisi
3. Mencetak hasil luas ke layar
Flowchart :
Pseudocode :
ALGORITMA luas_bujursangkar
{program ini digunakan untuk menghitung luas bujursangkar}
DEKLARASI
sisi, luas : integer
DESKRIPSI:
input(sisi)
luas sisi * sisi
output(luas)
Rangkuman
Nama peubah mencerminkan isi peubah
Tipe dasar : bilangan logik, bilangan bulat, bilangan pecahan, karakter
Tipe bentukan : string, tipe bentukan sendiri, tipe terstruktur
Pemilihan tipe tergantung pada kapasitas nilai dari peubah
Latihan Soal
Kasus 1:
Buatlah algoritma untuk menghitung luas segitiga, dimana nilai alas dan tinggi merupakan masukan dari user, dan mencetak hasilnya ke layar!
Kasus 2:
Buatlah algoritma untuk menghitung luaspersegipanjang, dimana nilai panjang dan lebar merupakanmasukan dari user, dan mencetak hasilnya ke layar!
REFERENSI
1. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan TeknikPemrograman”. Yogyakarta: ANDI OFFSET.
2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma danPemrograman”. Yogyakarta: ANDI OFFSET.
3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 1”. Bandung: Informatika.
4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 2”. Bandung: Informatika.