You are on page 1of 13

BAB IV

TIPE DATA & VARIABEL

4.1 DATA

Menurut Gordon B. Davis data adalah bahan mentah dari informasi.


Informasi adalah data yang sudah diolah. Data adalah bentuk jamak dari
datum yaitu fakta atau bahan-bahan. Komputer merupakan alat pengolah
data menjadi informasi. Masalahnya adalah data seperti apa yang dapat
diolah oleh komputer. Karena data yang akan diolah disimpan dalam memory
komputer, tentunya satuan data tidak terlepas dari satuan memory komputer
yaitu byte. Satuan data terbentuk mulai dari 1 byte, 2 byte, 4 byte, 8 byte,
dan seterusnya sesuai kebutuhan.

Secara umum tipe data dikelompokkan menjadi dua macam yaitu;


1) Tipe data Dasar
Tipe data dasar merupakan data tunggal yang sudah dikenali oleh
processor. Adapun tipe-tipe data tersebut adalah;
a) Tipe data bilangan (bilangan bulat dan riil)
b) Tipe data character
c) Tipe data logika

2) Tipe data Terstruktur (Bentukan)


Data berstruktur merupakan gabungan dari data dasar/tunggal. Ada
beberapa data berstuktur yang umum digunakan yaitu;
a) Tipe data Array
b) Tipe data Enumerasi
c) Tipe data Record
d) Tipe data Class/object

4.1.1 Tipe data bilangan


Tipe data bilangan adalah tipe data yang dapat dioperasikan mengikuti
aturan operasi aritmatik yaitu ditambah, dikurangi, dikalikan, dibagi, dan
dipangkatkan. Dalam memory komputer dikenal ada dua macam tipe
data bilangan yaitu bilangan bulat dan bilangan riil.

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 2/13

a) Bilangan bulat
Bilangan yang tidak mengandung nilai pecahan dan batasan nilainya
tergantung jumlah byte dalam memory yang menyusunnya seperti tabel
berikut;

Tabel 4.1 Ukuran Bilangan Bulat


Tipe Bil. Bulat Ukuran Nilai Range Nilai
8
Tinyint 1 2 0 … 255
16
short int 2 ±2 -32767 … 0 … 32768
16
Unsigned short int 2 2 0 … 65535
Integer 4 ±2 32 -2.147.483.648...0...2.147.483.647
unsigned int 4 2 32 0 .. 4.294.967.295
64
Bigint 8 ±2 Hitung sendiri ya
*) Ukuran adalah jumlah byte yang diperlukan untuk menyimpan dalam memory, 1 byte = 8 bit

Cara mendefinisikan variabel bilangan bulat adalah;


Umur : tinyint { umur cukup berisi angka dari 0 s/d 255 }
Gaji : integer

Cara mengakses nilai variabel bilangan bulat adalah;


Umur = 25 { memory Umur diisi dengan nilai 25 }
Gaji = 2000000
Pajak = 10/100 * (Gaji-1000000)

b) Bilangan riil
Bilangan yang mengandung nilai pecahan desimal dan batasan nilainya
tergantung jumlah byte dalam memory yang menyusunnya seperti tabel
berikut;
Tabel 4.2 Ukuran Bilangan Riil
Tipe Bilangan Riil Ukuran Presisi Range Nilai
Float / Real 4 8 digit -1.2 e-38 ... 0 … 3,4 e38
Double 8 16 digit -1.2 e-308 ... 0 … 3,4 e308
*) Ukuran adalah jumlah byte yang diperlukan untuk menyimpan dalam memory, 1 byte = 8 bit

Cara mendefinisikan variabel bilangan riil adalah;


Bonus : real { dipilih real karena nilai bonus bisa pecahan }
GajiPokok : real

Cara mengakses nilai variabel bilangan riil adalah;


Bonus = 18,5 { memory Bonus diisi dengan nilai 18,5 }
Gaji = 2000000 + Bonus/100*GajiPokok

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 3/13

4.1.2 Tipe data Character

Data character hanya berisi satu charakter alphanumerik (seperti huruf,


angka, tanda baca, dan simbol-simbol/operator), misalnya : ‘a’, ‘B’, ‘8’,
‘?’, ‘{‘, ‘+’, ESC, RETURN, EOL. Data jenis ini tidak bisa dioperasikan
secara aritmatik, operasi yang bisa dilakukan adalah perbandingan
dengan operator relasi ‘=’ atau ‘≠’ , dan hasil operasinya adalah tipe
logika (TRUE atau FALSE). Charakter ESC, RETURN, EOL atau kode 0
sampai 31 dalam ASCII adalah kode Character Control yang tidak nampak
tapi ada efek aksinya.

Tabel 4.3 Ukuran Data Character


Jenis Ukuran Nilai
Char 1 Berisi salah satu dari kode ASCII yaitu sebanyak 28
=256 kode untuk huruf, angka, tanda, kontrol.
Lihat tabel ASCII pada lampiran
*) Ukuran adalah jumlah byte yang diperlukan untuk menyimpan dalam memory, 1 byte = 8 bit

Cara mendefinisikan variabel character adalah;


JenisKelamin : char { untuk menyimpan satu huruf ’L’ / ’P’ }
Kategori : char { untuk kategori nilai A,B,C,D,E }

Cara mengakses nilai variabel character adalah;


JenisKelamin = ’L’ { ’L’ untuk Laki-laki, ’P’ untuk Perempuan}
Kategori =’B’ { nilai yang disimpan ‘B’ }

4.1.3 Tipe data Logika

Data logika hanya berisi salah satu dari nilai benar (true) atau salah
(false). Data jenis ini tidak bisa dioperasikan secara aritmatika, hanya
bisa dioperasikan dengan operator logika ( NOT, AND, OR).

Tabel 4.4 Ukuran Tipe Data Logika


Jenis Ukuran Nilai
Boolean 1 Berisi salah satu dari logika BENAR
(TRUE=1) atau SALAH (FALSE=0)
*) Ukuran adalah jumlah byte yang diperlukan untuk menyimpan dalam memory, 1 byte = 8 bit

Cara mendefinisikan variabel Boolean adalah;


CobaLagi : Boolean

Cara mengakses nilai variabel Boolean adalah;


CobaLagi = TRUE { CobaLagi berisi nilai logika TRUE }
CobaLagi = 20<5 { CobaLagi berisi nilai logika FALSE}
Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT
Algoritma Pemrograman Bab 4 hal. 4/13

Adapun operasi logika dapat dijelaskan pada tabel berikut;

Tabel Operasi AND dan OR


MASUKAN KELUARAN OPERATOR
A B AND OR
0 0 (Salah) 0 (Salah) 0 (Salah) 0 (Salah)
1 0 (Salah) 1 (Benar) 0 (Salah) 1 (Benar)
2 1 (Benar) 0 (Salah) 0 (Salah) 1 (Benar)
3 1 (Benar) 1 (Benar) 1 (Benar) 1 (Benar)

Untuk Operasi OR dapat diilustrasikan pada gambar berikut;

a) Operasi OR: Switch A

Arus listrik C Arus listrik

Switch B

Gambar 4.1 Ilustrasi Operasi OR

Tabel Operasi OR (=Operator tambah)


A B C
0 (buka) 0 (buka) 0 : tak ada arus listrik
0 (buka) 1 (tutup) 1 : ada arus listrik
1 (tutup) 0 (buka) 1 : ada arus listrik
1 (tutup) 1 (tutup) 1 : ada arus listrik

Kesimpulan untuk operator OR sama dengan ‘TAMBAH’, jika ada


masukan sama dengan SATU maka keluaran pasti sama dengan SATU,
karena SATU ditambah berapapun hasilnya pasti SATU.

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 5/13

b). Operasi AND

Operasi AND dapat diilustrasikan sebagai berikut;

Switch A Switch B
Arus listrik C Arus listrik

Gambar 4.2 Ilustrasi Operasi AND

Tabel Operasi AND (=Operator kali)


A B C
0 (buka) 0 (buka) 0 : tak ada arus listrik
0 (buka) 1 (tutup) 0 : tak ada arus listrik
1 (tutup) 0 (buka) 0 : tak ada arus listrik
1 (tutup) 1 (tutup) 1 : ada arus listrik

Kesimpulan untuk operator AND sama dengan ‘KALI’, jika ada masukan
sama dengan NOL maka keluaran pasti sama dengan NOL, karena NOL
dikalikan berapapun hasilnya pasti NOL.

c). Operasi NOT

Operasi untuk membalikkan nilai logika.


Adapun operasi logika dapat dijelaskan pada tabel berikut;

Tabel Operasi NOT


Masukan Keluaran
0 (Salah) 1 (Benar)
1 (Benar) 0 (Salah)

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 6/13

4.1.4. Tipe data Array


Data array merupakan rangkaian data (dasar/berstruktur) yang sejenis.
Array dapat memiliki dimensi satu, dua, tiga, dan seterusnya tergantung
dari fasilitas bahasanya. Berikut adalah beberapa contoh array.

a) Array dimensi satu


Berikut adalah contoh array dimensi satu yang memiliki 9 elemen
berisi angka. Isi setiap elemen harus sejenis, jika diisi angka maka
semua harus diisi angka, tidak boleh dicampur dengan jenis lain,
misalnya char.

Cara mendefinisikan variabel array dimensi satu adalah;


Rantang[9] : integer

Cara mengakses nilai variabel array dimensi satu adalah;


Rantang[0] = 145 { Rantang nomor 0 diisi 145 }
Rantang[1] = 80 { Rantang nomor 1 diisi 80 }
Rantang[2] = 65 { Rantang nomor 2 diisi 65 }
Rantang[7] = Rantang[3] + Rantang[5] { akan terisi 60 }

Rantang 145 80 65 45 90 15 70

indek: 0 1 2 3 4 5 6 7 8

Gambar 4.3 Ilustrasi dimensi satu

b) Array dimensi satu yang berisi char (=String)

String adalah jenis data array khusus yang hanya berisi character
saja. Data string merupakan rangkaian character yang panjangnya
bisa di tentukan sesuai kebutuhan. Operasi yang dapat dilakukan
adalah dengan operator perbandingan ’=’ atau ‘≠’ menghasilkan nilai
logika, serta operator penggabungan ‘&’ yang menggabungkan dua
string. Misalnya string untuk menyimpan nama jalan perlu 18 char.

Cara mendefinisikan variabel String adalah;


Alamat : String[18]

Cara mengakses nilai variabel String adalah;


Alamat =”JL.WAHIDIN NO.145 ”

Alamat
J L . W A H I D I N N O . 1 4 5

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 7/13

c) Array dimensi dua


Merupakan jenis data yang berisi rangkaian tipe data dasar dalam
susunan baris dan kolom. Berikut adalah contohnya.

Cara mendefinisikan variabel Array dimensi dua adalah;


Loker[3,5] : integer

Cara mengakses nilai variabel Array dimensi dua adalah;


Loker[0,0]=5 { loker baris 0 kolom 0 diisi nilai 5 }
Loker[1,3]=9 { loker baris 1 kolom 3 diisi nilai 9 }
Loker[2,0]=Loker[0,0] + Loker[1,0] {5+3=8}

5 8 4 7 8
3 6 2 9 5
8 1 5 2 6

Gambar 4.4 Ilustrasi dimensi dua

d) Array dimensi tiga


Merupakan jenis data yang berisi rangkaian tipe data dasar dalam
bentuk tiga dimensi.

Cara mendefinisikan variabel Array dimensi tiga adalah;


Kamar[3,4,2] : integer

Cara mengakses nilai variabel Array dimensi tiga adalah;


Kamar[0,0,0]=5 { kamar baris 0 kolom 0 lajur 0 diisi nilai 5 }
Kamar[1,3,0]=9 { kamar baris 1 kolom 3 lajur 0 diisi nilai 9 }
Kamar[2,0,0]=Kamar[0,0,0] + Kamar[1,3,0] { 5 + 9 = 14 }

Gambar 4.5 Ilustrasi dimensi tiga

Secara algoritma, jumlah dimensi tidak dibatasi dan didukung


beberapa bahasa pemrograman, tetapi kesulitan dalam visualisasinya.

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 8/13

4.1.5 Tipe data Enumerasi

Tipe data enumerasi adalah himpunan yang didefinisikan dengan


melakukan enumerasi atau menyebut anggotanya satu persatu.
Cara mengakses anggotanya adalah dengan;
- First, untuk mengakses nilai anggota pertama
- Last, untuk mengakses nilai anggota terakhir
- Successor(anggota), untuk mengakses nilai anggota berikutnya
- Predecessor(anggota), untuk mengakses nilai anggota sebelumnya

Contoh:
Cara membuat tipe enumerasi adalah;
Tipe Rasa=(manis, masam, hambar, pahit)

Cara mendefinisikan variabel enumerasi adalah;


RasaJeruk : Rasa

Cara mengakses nilai anggota himpunan Rasa adalah;


First(RasaJeruk) { menghasilkan manis }
Last(RasaJeruk) { menghasilkan pahit }
Succ(masam) { menghasilkan hambar}
Pred(masam) { menghasilkan manis }

Rasa

manis
masam
hambar
pahit

RasaJeruk RasaSoftDrik

Gambar 4.6 Ilustrasi tipe Enumerasi

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 9/13

4.1.6 Tipe data Record

Tipe record merupakan rangkaian data (dasar/berstruktur) yang dapat


berbeda jenisnya. Karena berbeda jenisnya maka record tidak memiliki
dimensi.

Contoh:
Cara membuat tipe record adalah;
Tipe Identitas=(NIM:Integer, Nama:String, Nilai:riil, Kesukaan:Rasa)

Cara mendefinisikan variabel record adalah;


IdMahasiswa : Identitas

Cara mengisi nilai anggota (field) record IdMahasiswa adalah;


IdMahasiswa.NIM=460088 { mengisi NIM dengan angka}
IdMahasiswa.Nama=’Sugiono’ { mengisi Nama dengan String }
IdMahasiswa.Nilai=98,8 { mengisi Nilai dengan riil }
IdMahasiswa.Kesukaan=’Manis’ { mengisi Kesukaan dengan Rasa }

Cara mengakses (mendapatkan) nilai (field) record IdMahasiswa adalah;


IdMahasiswa.NIM { mendapatkan isinya NIM}
IdMahasiswa.Nama { mendapatkan isinya Nama }
IdMahasiswa.Nilai { mendapatkan isinya Nilai }
IdMahasiswa.Kesukaan { mendapatkan isinya Kesukaan }

NIM Nama Nilai Kesukaan


460088 Sugiono 98,8 Manis

IdMahasiswa

IdPesertaAlgoritma

ArrayDaftarKelasA

FileMahasiswa

Gambar 4.7 Ilustrasi tipe Record


Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT
Algoritma Pemrograman Bab 4 hal. 10/13

4.1.6 Jenis data class/object


Jenis data ini hampir sama dengan record, tetapi diperluas berisi data dan
metode yang berupa fungsi atau prosedur. Berikut adalah contoh
mendefinisikan class dan membuat objeknya.

Contoh:
Cara membuat tipe class adalah;
Class Identitas=(Atribute, Metode)
Atribute=(NIM:Integer,Nama:String, #Nilai:riil,Kesukaan:Rasa)
Metode=[ Identitas(), HitungNilai(), SetNilai(x), GetNilai() ]

Cara mendefinisikan variabel objek dari class adalah;


IdMahasiswa : new Identitas() { membuat objek kosong }

Cara mengisi nilai atribute IdMahasiswa adalah;


IdMahasiswa.NIM=460088 { mengisi NIM dengan angka}
IdMahasiswa.Nama=’Sugiono’ { mengisi Nama dengan String }
IdMahasiswa.Kesukaan=’Manis’ { mengisi Kesukaan dengan Rasa }
IdMahasiswa.Nilai=98,8 { salah, karena variabel lokal }

Cara mengakses atribute & memanggil metode IdMahasiswa adalah;


IdMahasiswa.NIM { mendapatkan isinya NIM}
IdMahasiswa.HitungNilai() { memanggil metode HitungNilai}
IdMahasiswa.Identitas() { memanggil konstruktornya}
IdMahasiswa.SetNilai(98,8) { mengisi variabel lokal Nilai }

Class Identitas

NIM : integer
Nama : string
#Nilai : real
Kesukaan : rasa

Identitas()
HitungNilai()
Objek IdMahasiswa Objek Id Putri
SetNilai(x)
GetNilai()
NIM : 460088 NIM : 460081
Nama : ‘Sugiono’ Nama : Luna Maya
#Nilai : 98,8 #Nilai : 78
Kesukaan : ‘Manis’ Kesukaan : Masam

Identitas() Identitas()
HitungNilai() HitungNilai()
SetNilai(x) SetNilai(x)
GetNilai() GetNilai()

Gambar 4.8 Ilustrasi tipe class

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 11/13

4.2 VARIABEL

Variabel (peubah) merupakan tempat sementara dalam memory komputer.


Artinya memory komputer bisa dipesan sebagai tempat (variabel) sesuai
dengan jenis datanya. Hubungan yang terpenting antara data dan varibel
adalah bahwa varibel hanya dapat ditempati oleh data yang sesuai dengan
jenisnya. Bagaimana membuat variabel, mengisi, memanipulasi, dan
menghapus isinya dapat diilustrasikan sebagai berikut;

AIR

POT= 0 POT=GELAS+GULA GELAS=AIR


( menghapus ) ( memanipulasi ) ( mengisi )

?
?
GELAS

POT

Gambar 4.9 Ilustrasi Operasi Variabel

Keterangan : AIR, GULA sebagai DATA


POT, GELAS sebagai VARIABEL
POT:=GELAS+GULA sebagai PERNYATAAN

a. Membuat/memberi nama variabel

Aturan pemberian nama variabel yaitu;

1) Character pertama harus dimulai huruf


2) Character berikutnya boleh huruf, angka, atau garis bawah.
3) Bukan merupakan keyword (kata/perintah pada bahasa itu), misal INT
4) Sebaiknya pemberian nama mencerminkan fungsinya
5) Khusus variabel array setelah nama diikuti ‘[‘ bilangan bulat sebagai
indek ‘]’
6) Panjang nama pada dasarnya tidak dibatasi (tergantung jenis
bahasanya)

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 12/13

Berikut adalah beberapa contoh nama variabel yang boleh dan tidak boleh

Nama variabel yang boleh:


A, A2, ABC, Panjang, Jari2, Jari_jari, Rak_almari[5], Matrik_A[3,5]

Nama variabel yang tidak boleh:


2A, Jari-2, Jari-jari, Rak Almari

Berikut adalah contoh membuat variabel pada bahasa C++;

int Panjang, Lebar, Luas;


float Tinggi, Jari_jari;
char Nilai_akhir;
bool Habis, Oke;

char Nama_Mahasiswa[30];
char Alamat[]=”Jln. Semolowaru 45”;
int Rak_Almari[]={8,5,9,3,7};
float Matrik_A[5][3];
float Matrik_B[2][3]={ (10,20,30), (11,12,13) };

b. Mengisi variabel

Dalam mengisi variabel harus disesuaikan dengan jenis datanya, nilai


yang tersimpan dalam variabel adalah nilai paling akhir dimasukkan.
Adapun cara mengisi variabel adalah dengan perintah penugasan /
asigment (=), misalkan;

Panjang =10
Lebar = 5.25 ; salah karena jenis tidak sesuai
Tinggi = 15.75
Nilai_akhir=A ; salah, seharusnya diapit tanda ‘ ‘
Nilai_akhir=’9’
Nilai_akir =’98’ ; salah karena tidak cukup tempatnya
Habis =true
Nama_mahasiswa=’BILL GATE’
Rak_Almari[1]=50
Matrik_B[2,1] =50

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT


Algoritma Pemrograman Bab 4 hal. 13/13

4.3 PERNYATAAN

Pernyataan (ekspresi) merupakan gabungan variabel, data, dan operator


sehingga menghasilkan salah satu jenis data bilangan, logik, atau string.
Evaluasi dari suatu pernyataan dimulai dari kiri ke kanan dengan mengikuti
hirarki operator.

Adapun hirarki operator yang dikerjakan mengikuti urutan sebagai berikut;


1) unary (tanda minus)
2) tanda kurung ‘(‘ berpasangan dengan tanda ‘)’
3) NOT
4) AND
5) OR
6) Pangkat (^)
7) Kali (*) atau Bagi (/)
8) Tambah (+), Kurang (-), %

Contoh pernyataan
1. Lebar= ( (12+18)/(2+3) * 8+2) / 2
2. Luas = panjang * lebar
3. Sisa = Luas – panjang/5 + 20*3.5
4. Habis= (1000+100) > (2000-100 * 17-2)
5. Oke = (Nilai>=85) AND (wajah=’Cantik’ OR wajah=’Manis’)
6. Gabung=Nama_mahasiswa + ’ suka makan bakso’

4.4 Latihan :

Selesaikan setiap permasalahan berikut;

a) Buatlah 5 buah pernyataan yang bernilai bilangan


b) Buatlah 5 buah pernyataan yang bernilai logik
c) Buatlah 5 buah pernyataan yang bernilai string
d) Buatlah algoritma untuk menambah matrik A[3,4] + B[3,4] = C[3,4]

Kesempatan hanya datang sekali,


hanya bagi mereka yang siap pikirannya
dapat meraih dan mendapatkan keberuntungan.

Jurusan Teknik Informatika Untag Surabaya Ir. Sugiono, MT