PENGERTIAN VARIABEL, TIPE DATA, KONSTANTA, OPERATOR, DAN EKSPRESI
Variabel
Kalian
masih ingat apakah arti variabel? Iya, variabel adalah suatu nama atau simbol
untuk menyimpan sebuah nilai. Atau lebih tepatnya variabel adalah sebuah nama
yang diberikan olehprogrammer yang berfungsi sebagai tempat penyimpanan data,
sehingga dapat dimanipulasi oleh program. Seperti pada contoh pada source code
di atas, Progam Biodata diperlukan variabel nama, alamat dan umur. Pada program
menghitung volume diperlukan variabel r,t, V yang mewakili jari-jari, tinggi,
dan volume tabung. Sedangkan pada Program UAN diperlukan variabel NilaiMat,
NilaiIngg, NilaiInd, rerata, dan stsLulus.
Variabel ini ditentukan sesuai dengan kebutuhan dari solusi permasalahan. Karena Volume tabung adalah Volume = πr2t, maka tentu kita membutuhkan variabel untuk mewakili Volume, jari-jari dan tinggi, dan satu lagi adalah π sebagai konstanta. Jadi ada 3 variabel dan 1 konstanta. Demikian juga dengan kelulusan, karena tergantung dari nilai ketiga mata pelajaran, maka variabel-variabel yang dibentuk pun menyesuaikan.
Jenis
nilai yang disimpan variabel tentu berbeda-beda sesuai dengan kebutuhan, ingat
kembali
materi
pada semester 1. Variabel namadan alamat tentu menyimpan nilai berupa susunan
huruf, atau
yang
dulu dikenalkan sebagai string (dalam Pascal disebut juga string), Volume, r,
dan t menyimpan
nilai
bilangan real, sedangkan variabel nilaiMat, nilaiInd menyimpan nilai bilangan bulat
(mungkin juga
bilangan
real, sesuai kebutuhan). Jenis-jenis data inilah yang disebut sebagai TIPE
DATA. Oleh karena itu dalam mendeklarasikan variabel harus didefinisikan juga
tipe data yang akan digunakan. Hal ini sekaligus digunakan program untuk menentukan
besarnya memori sebagai tempat penyimpanan variabel tersebut.
Sintaks
Penulisan Variabel Berikut ini adalah sintaks pendeklarasian variabel.
var nama_variabel:tipe_data;
Jika
ada beberapa variabel dengan tipe data sama, sintaksnya adalah:
var namaVar1, namaVar2,
namaVar3:tipe_data;
Jika
ada beberapa variabel dengan tipe data berbeda-beda sintaksnya adalah:
var
namaVar1:tipe_data1;
namavar2:tipe_data2;
namaVar3:tipe_data3;
Pemberian Nama Variabel
Pemberian
nama variabel sebagaimana pemberian nama identifier seperti yang dijelaskan pada
Bab 1, sebagai berikut.
1.
Nama
identifier harus dimulai dengan karakter huruf alfabet a-z atau A-Z.
2.
Setelah
karakter pertama, dapat dilanjutkan dengan karakter afanumerik (angka maupun
huruf) dan underscore (_).
3.
Dalam
penulisan identifier tidak boleh menggunakan karakter-karakter berikut ini. ~ !
@ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' <> ? , . / |
4.
Tidak
boleh menuliskan identifier dengan nama yang sama pada kata kunci dari Pascal,
seperti and, array, begin, case, const, div, do, downto, else, end, file, for,
forward, function, goto, if, in, label, mod, nil, not, of, or, packed,
procedure, program, record, repeat, set, then, to, type, until, var, while,
with
5.
Jika
ingin tetap digunakan, maka kata tersebut harus dirangkai dengan kata/karakter
yang lain. Misal program_if, begin1.
Aturan
tersebut juga berlaku untuk pemberian nama konstanta, tipe data buatan, dan sub
program (procedure dan function).
Berikut ini contoh pemberian nama
variabel yang benar.
Jari_jari,
jari2, Volume_Balok, LuasPersegi, Luas_segi3, record3.
Berikut ini contoh nama variabel
yang salah
Jari^2,
jari-jari, Volume Balok, p*l, 2jari, alam@t
Konstanta
Variabel
dapat diturunkan dari kebutuhan input, output, dan segala sesuatu yang
dilibatkan dalam pengolahan input menjadi output. Pemberian nilai variabel
dapat dilakukan melalui perintah baca (input) maupun dari pernyataan pemberian
nilai (assignment), dengan demikian nilai variable dapat berubah-ubah selama
proses dijalankan. Jika diperlukan suatu nilai yang tetap, maka dibutuhkan
konstanta. Dalam hal ini, sebagai contoh karena besaran nilai π adalah tetap,
tidak berubahselama perhitungan maka π yang diwakili dengan variabel Phi
dideklarasikan sebagai konstanta. Jadi konstanta adalah variabel yang mempunyai
nilai tunggal, dimana nilai tunggal tersebut tidak dapat berubah ketika program
sudah dieksekusi. Sebagaimna juga variabel constants mempunyai tipe data
tertentu yang menyesuaiakan nilai yang diberikan dalam deklarasi konstanta.
Sintaks deklarasi
penggunaan konstanta adalah sebagai berikut :
ConstNama_konstanta
= nilai_konstanta;
Contoh
deklarasi konstanta pada beberapa tipe :
ConstA
= 100;
ConstPi
= 3.14;
ConstOperator
= ‘+’;
ConstPesan
= ‘Selamat Datang’;
Tipe Data
Tipe
data merupakan klasifikasi jenis data dari variabel atau object yang terdapat
dalam program computer. Jenis data yang digunakan dalam variabel merupakan
bagian penting dalam pengkodean pemrograman computer. Ketepatan pemilihan data
pada variabel atau konstanta akan sangat menentukan pemakain sumber daya
komputer (terutama memori komputer). Sehingga dalam pemilihan tipe data yang
akan digunakan dalam variabel dan konstanta akan mempengaruhi efesiensi dan
kinerja dari program tersebut.
Secara
garis besar tipe data dalam Pascal dibagi menjadi 3 kategori, yaitu tipe data
sederhana (tunggal), Tipe data pointer dan tipe data terstruktur (stuctured
data). Masing-masing kategori dapat dibagi lagi menjadi beberapa jenis lagi
seperti pada Gambar 2.1.
1.
Tipe
Data Sederhana
Tipe
data sederhana merupakan tipe data paling dasar yang terdapat dalam pascal.
Tipe data ini mewakili satu objek yaitu hanya satu nilai yang dapat disimpan
dalam tipe data ini sehingga disebut juga tipe data tunggal. Tipe data
sederhana dibagi menjadi dua yaitu tipe data standar dan User Defined.
a)
Standar,
merupakan tipe data yang umum dijumpai dalam berbagai bahasa pemrograman. Tipe
data standar meliputi integer, real, character dan boolean.
i. Integer
Tipe data integer
merupakan tipe data berupa bilangan bulat. Tipe data ini cocok untuk variabel-variabel
seperti: jumlah anak, bulan, tahun, dan sebagainya. Berat badan, tinggi, suhu,
panjang, lebar, nominal uang dapat juga dimasukkan dalam tipe data ini,
meskipun dapat juga dimasukkan ke dalam tipe data lain seperti bilangan real.
Dalam bahasa
Pemrograman, terkait dengan penggunaan memori untuk menyimpan variabel, maka
tipe data integer, dibagi menjadi beberapa kelas sesuai dengan kebutuhan. Sebagai
contoh untuk variabel jumlah anak, maka kita dapat memperkirakan batasan berapa
maksimalnya. Jumlah anak biasanya tidak leboh dari 10, maka dipilih tipe data integer
dengan jangkauan yang kecil, yaitu byte. Sedangkan untuk nominal uang, karena tidak
mungkin bernilai negatif, dan jangkaunnya yang tinggi (bisa mencapai ratusan
juta atau milyar) bisa digunakan tipe data cardinal, dan sebagainya. Hal ini
penting untuk diperhatikan agar program kita lebih efisien.
Tabel jenis-jenis tipe data
integer dapat dilihat pada Tabel 2.1.
Gambar 2.1. Macam-macam tipe data dalam Pascal
Penulisan
deklarasi dengan tipe data integer adalah sebagai berikut :
var nama_variabel :
integer; atau var nama_variabel :
byte;
atau
var nama_var1,
nama_var2,nama_var3:integer;
ii. Real
Tipe data real
merupakan tipe data yang berisi bilangan yang bisa memuat angka di belakang
koma. Berbeda dengan integer yang hanya menyimpan bilangan bulat. Dalam tipe
data real nilai yang tersimpan dapat berupa bilangan desimal. Untuk
mengidentifikasi variabel dengan tipe data real, dapat dilihat dari operasi
yang dibutuhkan dalam proses perhitungan. Jika variabel tersebut diperoleh dari
operasi dari bilngan lain bertipe data real maka tipe datanya juga real.
Sebagai contoh Luas lingkaran, volume tabung dan kerucut termasuk bertipe data
real karena melibatkan perkalian dengan Phi3.14 sehingga hasilnya pasti ada
angka di belakang koma. Selain itu adanya operasi bagi (‘/’) juga menghasilkan
bilangan real. Sebagai contoh Luas segitiga = (alas*tinggi)/2 termasuk mempunyai
tipe data real, demikian juga rata-rata, suhu konversi dalam Reamur dan
Farenheit, karena
melibatkan operasi pembagian. Selain berdasarkan operasi, variabel dengan tipe
data bilangan real tergantung kebutuhan. Misalkan menghitung tinggi badan. Kita
bisa melakukan pembulatan tanpa koma sehingga tinggi badan bisa kita masukkan
tipe data integer. Jika ingin lebih teliti, menggunakan koma, bisa menggunakan
tipe data real. Sebagaimana pada tipe data integer, tipe data bilangan real ini
dapat dibagi menjadi beberapa kelas sesuai dengan jangkauannya seperti pada
Tabel 2.2.
Sedangkan penulisan
deklarasi variabel dengan tipe data real adalah sebagai berikut.
var nama_variabel :
real; atau var nama_variabel :
double;
atau
var nama_var1,
nama_var2,nama_var3:real;
iii. Character
Tipe data character
merupakan tipe data yang menyimpan karakter yang berupa angka maupun huruf.
Tipe data character dalam pascal meliputi char dan string. Tipe data char hanya
meyimpan 1 karakter saja. Variabel yang cocok untuk tipe data karakter adalah variabel
yang nilainya hanya terdiri dari satu karakter saja, contoh: JenisKelamin
(nilainya bisa diwakili ‘L’ untuk laki-laki atau ‘P’ untuk perempuan), Pilihan
yang bernilai iya dan tidak (bisa diwakili dengan ‘Y’ atau ‘N’), dan lain-lain.
Tipe data string
merupakan susunan dari karakter-karakter dengan batas maksimum 255 karakter,
tipe data string digunakan untuk menyimpan data text, misal nama, alamat dan sebagainya.
Penulisan deklarasi variaebl dengan tipe data characterdan string adalah sebagai
berikut :
var nama_variabel :
char;
atau
var nama_variabel :
string[batasMaksimal];
Keterangan: batasMaksimal diganti
dengan banyaknya karakter yang maksimal dapat ditampung oleh variabel tersebut.
Contoh:
var Gender:char;
var pilihan:char;
var nama:string[20];
var alamat:string
[50];
iv. Boolean
Tipe data Boolean merupakan
tipe data yang hanya mempunyai dua nilai yaitu trueataufalse. Tipe data ini
biasanya digunakan variabel yang hanya mempunyai nilai benar atau salah saja.
Misalkan statusLulus, bisa bernilai True atau False; remidi, bias bernilai true
atau false, Menikah, bisa bernilai true atau false, pdan sebagainya. Penulisan
deklarasi variabel dengan tipe data ini adalah ebagai berikut.
Var
nama_variabel:boolean;
b)
User
defined
Tipe data ini merupakan tipe data
yang dibuat oleh sang programmer. Jadi setiap programmer
dapat membuat tipe data baru yang
dibutuhkannya. User defined meliputi enumerated dan
subrange.
1)
Enumerated
Tipe
data enumerated merupakan tipe data yang didefinisikan oleh programmer.
Hal ini memungkinkan programmer untuk membuat tipe datanya sendiri, yang
terdiri dari kumpulan symbol. Contoh penulisan code program tipe data
enumerated adalah sebagai berikut:
type hari =
(senin,selasa,rabu,kamis,jumat,sabtu,minggu);
var nama_hari : hari;
Dari
contoh diatas, baris pertama menunjukkan pembuatan tipe data baru yaitu hari
yang berisi nama-nama hari, kemudian di baris kedua menunjukkan deklarasi
penggunaan tipe data yang telah dibuat
tadi.
2)
Subrange
Tipe
data subrange merupakan tipe data yang memungkinkan programmer untuk
mendefinisikan
beberapa nilai dari tipe data tertentu. Misalkan seorang programmer ingin
membuat
tipe data nilai yang dimana tipe data ini berisi bilangan integer dari 1 sampai
10.
Contoh
penulisan code program tipe data enumerated adalah sebagai berikut:
type nilai = 1..10;
var nilai_mtk :
nilai;
Dari
contoh diatas, baris pertama merupakan tipe data baru yang berisi bilangan
integer
dari
satu sampai 10. Berikut beberapa contoh lain untuk tipe data subrange :
Positif
= 1..32500;
Skor
= 0.00..4.00;
Abjad
= ‘Z’..’A’;
Range
= ‘1’..9;
Count
= -15..15;
2.
Tipe
Data Pointer
Sama
seperti tipe data sederhana, pointer merupakan tipe data yang dapat menyimpan
satu nilai saja. Bedanya adalah, sesuai dengan namanya tipe data ini berfungsi
menunjuk, yaitu alamat memori yang digunakan suatu variabel dengan tipe data
tertentu. Misalkan a adalah variable dengan tipe data integer. Variabel point
adalah variabel dengan tipe data pointer dari integer. Ketika variabel point
diberi nilai dengan alamat a (alamat memori a), maka kita bisa mengubah isi a
melalui variabel point tersebut dengan langsung mengakses ke memori tanpa
melalui variable a. Tipe data ini sangat berguna untuk membangun suatu program
dengan data yang dinamis. Lebih jelasnya akan dipelajari di kelas XI nanti.
3.
Tipe
Data Terstruktur
Berbeda
dengan tipe data sederhana dan pointer, yang hanya dapat menyimpan satu nilai
saja, tipe data terstruktur dapat menyimpan beberapa nilai dalam satu variabel.
Tipe data terstruktur adalah tipe data yang terdiri dari data-data tunggal,
yang diorganisasi oleh suatu tipe data terstruktur. Sebagai contoh, terdapat
data mengenai nilai ulangan 20 anak, apakah kita harus membuat 20 variabel
untuk menyimpan masing-masing nilai tersebut? Tentu ini akan menjadikan program
komputer menjadi tidak efisien. Mungkinkah kita bisa mengumpulkan semua variable
tersebut dalam satu wadah? Iya, bisa yaitu menggunakan tipe data terstruktur.
Inilah pentingnya data terstruktur dalam algoritma atau pemrograman. Berikut
ini jenis-jenis tipe data terstruktur.
a)
Array
Array dapat diartikan sebagai
larik, atau barisan. Array digunakan untuk menyimpan banyak data dengan tipe
data yang sama. Sebagai contoh, dalam sebuah algoritma diberikan input sejumlah
data ulangan anak, misalkan 40 anak. Jika untuk menyimpan data itu salah satu alternatifnya
adalah memberikan variabel Nilai1, Nilai2, dan seterusnya, hingga Nilai40. Bagaimna
jika 100 anak? Maka cara ini sangatlah tidak efisien. Data seperti ini dapat
disimpan dalam satu wadah yang disebut dengan Array. Untuk lebih jelasnya
perhatikan ilustrasi berikut :
Berikut deklarasi variabel dengan
tipe data array pada Pascal.
Typenama_array : Array[nilai
array] of tipe_data;
Contoh :
Typenilai : Array[1..40] of
integer;
b)
Record
Jika Array hanya mampu menyimpan
sejumlah data yang bertipe sama, record, bias menampung datat-data dengan tipe
yang berbeda. Sebagai contoh data seorang siswa, bias terdiri dari Nama, Nomor
Induk Siswa, Alamat, Tempat Lahir, Jenis Kelamin, Kelas Umur. Agar data
tersebut menjadi satu kesatuan informasi maka perlu suatu wadah untuk menampung
tipe data seperti itu, yaitu RECORD. Berikut deklarasi tipe data record dalam
pascal :
Typenama_record = record
variabel_1 : tipe_data_1;
variabel_2 : tipe_data_2;
….
variabel_n : tipe_data_n;
end;
Contoh:
Typebuku = record
judul :string[30];
tahun_terbit = integer;
pengarang = string[30];
end;
c)
File
Dalam pemrograman pascal terdapat
tipe data file, dimana data input dan output dari suatu program dapat disimpan
dalam bentuk file.txt. Selain menyimpan pascal daoat juga membaca dan mengedit
file.txt tersebut. Sebagai contoh kita ingin memproses suatu nilai ulangan dari
20 anak yan telah tersimpan dengan format text. Tentunya sangat tidak efisien
jika data harus diinput satu persatu. Agar data yang sudah ada dapa terbaca
dalam pascal maka kita perlu tipe data file. Penjelasan mengenai penggunaan
tipe data ini dibahasa pada Buku Pemrograman DasarKelas XI.
Berikut ini contoh
bagaimana menentukan variabel dan tipe data dalam suatu permasalahan.
Contoh 1.
Budi
seorang programmer di SMP Nusantara akan membuat program untuk menampilkan data
nilai siswa, dimana data yang akan ditampilkan meliputi : nomor induk siswa,
nama siswa, nilai matematika, nilai bahasa Indonesia, nilai bahasa inggris dan
rata-rata nilai. Dimana data yang diinputkan mempunyai peraturan yaitu
1) nomor induk siswa terdiri dari 6
karakter,
2)
nama
siswa maksimal 30 karakter,
3)
nilai
matematika, nilai bahasa Indonesia dan nilai bahasa inggris merupakan bilangan
bulat skala 1 – 100,
4)
rata
– rata nilai berupa bilangan desimal dengan dua digit angka di belakang koma,
yang diperoleh dari penjumlahan nilai matematika, bahasa Indonesia dan bahasa
inggris dibagi tiga.
Contoh data yang akan
diinputkan adalah sebagai berikut :
Nomor induk siswa :
A45789
Nama Siswa : Slamet
Sentosa
Nilai Matematika : 80
Nilai Bahasa
Indonesia : 76
Nilai Bahasa Inggris
: 70
Rata – rata nilai :
75.33
Bantulah budi untuk
menentukan variabel dan tipe data yang tepat dagian deklarasinya dalam
Program!
Jawab:
Untuk
menentukan variabel dan tipe data yang tepat, kita harus memperhatikan data apa
saja yang akan diinputkan ke dalam program. Pada contoh diatas data yang
diinputkan meliputi : nomor induk siswa, nama siswa, nilai matematika, nilai
bahasa Indonesia, nilai bahasa inggris dan ratarata nilai. Kemudian kita
perhatikan contoh data yang akan diinputkan. Dengan demikian dapat ditentukan
variabel dan tipe data sebagai berikut.
1)
Coba
perhatikan data nomor induk siswa pada contoh di atas. Jika kita perhatikan,
data nomor induk siswa terdiri dari 1 huruf dan 5 angka, maka tipe data yang
tepat adalah string. Karena string dapat menyimpan data berupa huruf atau
karakter dan angka. Sehingga dapat ditentukan nama variabel NIS sebagai string
dengan panjang maksimal 6 karakter.
2)
Kemudian
perhatikan data nama siswa pada contoh diatas. Data nama siswa terdiri dari
huruf, maka tipe data yang tepat adalah string. Karena string dapat menyimpan
data berupa huruf atau karakter.Sehingga dapat ditentukan nama variabel Nama
sebagai string. Panjangnya dapat diperkirakan maksimal 30.
3)
Selanjutnya,
perhatikan data nilai matematika. Data tersebut berupa bilangan bulat maka tipe
data yang tepat adalah integer. Jika kita perhatikan, data nilai bahasa
Indonesia dan data nilai bahasa inggris mempunyai data yang sama dengan nilai
matematika. Maka tipe data yang tepat adalah integer. Karena tipe data integer
dapat menyimpan bilangan bulat. Sehingga dapat ditentukan nama variabel
Nilai_Mat, Nilai_BInd, Nilai_Inggris sebagai integer.
4)
Berikutnya,
perhatikan data rata-rata nilai. Data tersebut di dapat dari penjumlahan nilai
matematika, bahasa Indonesia dan bahasa inggris dibagi tiga. Karena ada operasi
pembagian, maka tipe data yang tepat adalah real.
Deklarasi
variabel dan tipe data
Var
NIS : string[6];
Nama:
string[30];
Nilai_Mat
: integer;
Nilai_BInd
: integer;
Nilai_Inggris
: integer;
Rerata
: real;
Pada
nomor induk siswa akan menyimpan data dengan maksimal 6 karakter, sedangkan
pada nama siswa maksimal 30 karakter. Sehingga, walaupun user menginputkan data
lebih dari 30 karakter, maka data yang tersimpan tetap 30 karakter.
EKSPRESI
Ekspresi
yaitu sesuatu yang jika dievaluasi/diproses menghasilkan suatu nilai. Sebagai
contoh dimasukkan nilai a adalah 30 dan b adalah 5.
a*b
memberikan nilai 150
a/b
memberikan nilai 6.00
a
mod b mememberikan nilai 0
(a
mod b)=0 memberikan nilai TRUE.
Selanjutnya
simbol-simbol *, /, mod dan = dsiebut sebagai operator dan nilai yang
dioperasikan disebut operan. Ketika nilai dari ekspresi diberikan kepada
variabel lain maka disebut sebagai assignment.
d:=a*b;
e:=a/b;
c:=(a
mod b =0)
Dalam
Pascal assignment ditandai dengan := (titik dua sama dengan). Selain ituperlu
diperhatikan bahwa operasi yang dilakukan menentukan tipe data dari variabel
yang diberi nilai. Variabel d tetap integer, e bertipe real, sedangkan c
menjadi boolean.
OPERATOR
Operator
adalah sebuah symbol yang memberitahukan compiler pascal untuk melakukan sebuah
operasi matematika maupun operasi logika. Ada beberapa jenis operator dalam
pemrograman pascal diantaranya perator aritmatika, operator relasional,
operator Boolean
1.
Operator
aritmatika
Operator aritmatika adalah
operasi hitung dari bilangan-bilangan. Terdapat dua macam tipe data bilangan
yaitu integer dan bilangan real. Operator-operator yang berlaku keduanya hampir
sama, kecuali untuk bagian pembagian.
Berikut ini adalah operator-operator untuk tipe data integer dan bilangan
real.Operator Aritmatika pada Bilangan Integer
2.
Operator
relasional
Operator relasional adalah
operator yang menghubungkan nilai dari variabel. Hasil ekspresi dengan operator
ini adalah nilai kebenaran True atau False. Berikut operator relasional dalam
Pascal.
Operator relasional tidak hanya
berlaku pada tipe data bilangan (integer dan real) namun berlaku pula untuk
tipe data lain seperti karakter, string maupun boolean.
Sebagai contoh:
‘a’ < ‘c’ memberikan nilai
true
if (Nama)=’Dwi’ then ....
If (StatusLulus=True) then ....
While (n>100) do ....
.
Operasi relasional seringkali
muncul pada kondisi bersyarat, yaitu pemenuhan suatu syarat untuk melakukan
proses lanjutan. Meskipun pembahasan kondisi bersyarat masih pada Bab
selanjutnya, tak ada salahnya kita mengenal bentuknya terlebih dahulu untuk
memahami pentingnya operasi relasional.
3.
Operator
Boolean
Operator Boolean adalah operator
yang digunakan pada sebuah statement. Berikut beberapa operator Boolean pada
pascal :