Algoritma dan Pemrograman Bab II – Tipe Data, Variabel, & Konstanta
Adam Mukharil Bachtiar, S.Kom. & Andri Heryandi, M.T. Universitas Komputer Indonesia
TIPE DATA
Tipe Data 1. Tipe Data Dasar
2. Tipe Data Bentukan
Tipe Data Dasar 1. Sudah dikenal dalam kehidupan sehari-hari.
2. Disebut sebagai predefined data type. 3. Contoh: bilangan lojik, bilangan bulat, bilangan riil, karakter, dan string.
Bilangan Lojik 1. Nama Tipe : boolean.
2. Nilai
: benar (true) atau salah (false).
3. Bisa dinyatakan dengan 0 dan 1 (pendefinisan benar dan salah tergantung pembuat algoritma).
Operasi Bilangan Lojik x true false
x true true false false
y true false true false
not x false true
x and y true false false false
x or y true true true false
x xor y false true true false
Contoh Tipe Boolean program demo_tipe_boolean; var dewasa:boolean; umur:integer; begin write('Umur : ');readln(umur); if umur>=17 then dewasa:=true else dewasa:=false;
if dewasa then writeln('Anda sudah dewasa') else writeln('Anda belum dewasa'); readln; end.
Umur : 20 Anda sudah dewasa
Bilangan Bulat
Contoh Tipe Bilangan Bulat program demo_tipe_integer; var a,b:integer; begin write('A : ');readln(a); write('B : ');readln(b); writeln('-------------------------------'); writeln('A + B = ',a+b); writeln('A - B = ',a-b); A : 19 writeln('A * B = ',a*b); B : 5 writeln('A / B = ',a/b:0:4); -----------------writeln('A div B = ',a div b); A + B = 24 writeln('A mod B = ',a mod b); A - B = 14 readln; A * B = 95 end. A / B = 3.8000 A div B = 3 A mod B = 4
Bilangan Riil
Contoh Tipe Bilangan Real program demo_tipe_real; var a,b:real; begin write('A : ');readln(a); write('B : ');readln(b); writeln('-------------------------------'); writeln('A + B = ',a+b:10:4); writeln('A - B = ',a-b:10:4); writeln('A * B = ',a*b:10:4); A : 2.5 writeln('A / B = ',a/b:10:4); B : 75.65 --------------------readln; A + B = 78.1500 end. A - B = -73.1500 A * B = 189.1250 A / B = 0.0330
Karakter 1. Nama Tipe : char.
2. Nilai
: semua huruf (‘a’..’z’, ‘A’..’Z’), semua
angka desimal (0..9), tanda baca, operator aritmatika dan karakter khusus (simbol ASCII). 3. Operasi Perbandingan : < , ≤ , > , ≥ , = , ≠.
Contoh Tipe Karakter program demo_tipe_karakter; var c:char; begin write ('Karakter : writeln('Kode ASCII : writeln('Sebelumnya : writeln('Berikutnya : writeln('Kapital : writeln('Huruf Kecil : readln; End. Karakter : Kode ASCII Sebelumnya Berikutnya Kapital Huruf Kecil
: : : : :
');readln(c); ',ord(c));// Ordinal ',pred(c));// Karakter sebelumnya ',succ(c));// Karakter berikutnya ',upcase(c));// Huruf kapital ',lowercase(c));// Huruf kecil c 99 b d C c
String 1. Nama Tipe : string.
2. Nilai
: deretan karakter diapit ’ ’.
3. Operasi Penyambungan : +. 4. Operasi Perbandingan : < , ≤ , > , ≥ , = , ≠.
Contoh Tipe String program demo_tipe_string; var ndepan,nbelakang,nlengkap:string; begin write('Nama Depan : ');readln(ndepan); write('Nama Belakang : ');readln(nbelakang); nlengkap:=ndepan+' '+nbelakang; writeln('Halo ',nlengkap); nlengkap:=upcase(nlengkap);// dikapitalkan writeln('Halo lagi ',nlengkap); readln; end. Nama Depan : James Nama Belakang : bond Halo James bond Halo lagi JAMES BOND
Tipe Bentukan 1. Tipe dasar yang diberi nama tipe baru.
2. Tipe struktur.
Tipe Dasar yang Diberi Nama Tipe Baru 1. Alasan: agar lebih mudah diingat dan High
Readibility. 2. Kata kunci : type. 3. Contoh: type pecahan : real {tanda : bisa diganti =}
Contoh Tipe Bentukan program demo_tipe_bentukan1; type pecahan=real; bilbul=longint; var a,b:bilbul; c:pecahan; begin write('A : ');readln(a); write('B : ');readln(b); writeln('-------------------'); c:=a/b; writeln('A / B = ',c:10:4); readln; end.
A : 19 B : 7 ------------------A / B = 2.7143
Tipe Terstruktur (Record) 1. Kumpulan data (field) yang memiliki tipe data
berbeda. 2. Contoh Pendeklarasian: type Mahasiswa : record < NIM
: integer,
{0..9}
Nama : string,
{‘A’..’Z’, ‘a’..’z’}
Nilai
{0..100} >
: real
Tipe Terstruktur (Record) 3. Jika mhs1 bertipe Mahasiswa maka cara
mengakses tiap field adalah sebagai berikut: a. mhs1.NIM b. mhs1.Nama c. mhs1.Nilai
Contoh Tipe Terstruktur (Record) program demo_tipe_data; type TMhs=record nim:string[8]; nama:string[30]; uts,uas:byte; nilaiakhir:real; end; var mhs:TMhs; begin write('NIM : ');readln(mhs.nim); write('Nama : ');readln(mhs.nama); write('UTS : ');readln(mhs.uts); write('UAS : ');readln(mhs.uas); mhs.nilaiakhir:= 0.40 * mhs.uts + 0.60 * mhs.uas; writeln('Mahasiswa yang bernama ',mhs.nama, ' mempunyai nilai ',mhs.nilaiakhir:6:2); readln; end.
NIM : 10112007 Nama : James Bond UTS : 78 UAS : 85 Mahasiswa yang bernama James Bond mempunyai nilai
82.20
Perbandingan Tipe Data Algoritma boolean integer
real
char string type varrecord:record < field1:type1, field2:type2, ... fieldn:typen>
Pascal boolean byte shortint word integer longint real single double extended char string string[n] type varrecord=record field1:type1; field2:type2; ... fieldn:typen; end;
Rentang Pascal true dan false 0..255 -128..127 0..65535 -32768..32767 -2147483648..2147483647 2.9 x 10-39..1.7 x 1038 1.5 x 10-45..3.4 x 1038 5.0 x 10-324..1.7 x 10308 3.4 x 10-4932..1.1 x 104932
Perbandingan Operator Algoritma + * / div mod
Algoritma not and or xor
Pascal + * / div mod
Pascal not and or xor
Algoritma < ≤ > ≥ = ≠
Pascal < <= > >= = <>
Algoritma type const true false { komentar}
Pascal type const true false { komentar } (* komentar *)
IDENTIFIER (Pengenal / Nama)
Identifier (Pengenal/Nama) Digunakan untuk mengacu sesuatu di dalam algoritma atau program
Identifier (Pengenal/Nama)
Konstanta AREA KAMUS
Tipe Bentukan
Variabel
Aturan Penamaan 1. Nama harus dimulai dengan alphabet dan tidak
boleh diawali dengan angka. 2. Huruf besar dan kecil tidak dibedakan (PASCAL) saran: konsisten. 3. Karakter penyusun identifier hanya boleh alphabet, angka, dan ‘_’. 4. Identifier tidak boleh mengandung operator aritmatika, relasional, tanda baca, dan karakter khusus lainnya.
Aturan Penamaan 5. Tidak boleh mengandung spasi
6. Panjang identifier tidak dibatasi akan tetapi pilihlah nama yang sederhana dan mudah diingat.
Variabel VS Konstanta Variabel dan konstanta sama sama digunakan untuk
menampung sebuah nilai. Perbedaannya terletak dari sifat penyimpanannya. Variabel memungkinkan perubahan nilai di dalamnya selama program dieksekusi sedangkan konstanta akan tetap menyimpan nilainya secara permanen.
Variabel VS Konstanta Deklarasi variabel Nama_variabel:tipe_data Contoh: x,y:integer
Deklarasi Konstanta const nama_konstanta = nilai_konstanta
Contoh:
const phi =3.14
Contoh Konstanta program demo_konstanta; Radius : 12 uses crt; Luas Lingkaran : 452.16 Keliling Lingkaran : 75.36 const pi=3.14; biru=1; var radius,luas,keliling:real; begin textcolor(biru); write('Radius : ');readln(radius); luas:=pi*radius*radius; keliling:=2*pi*radius; writeln('Luas Lingkaran : ',luas:6:2); writeln('Keliling Lingkaran : ',keliling:6:2); readln; end.