Dalam tutorial belajar pascal kali ini kita akan membahas tentang pengertian variabel dan cara penulisan variabel dalam bahasa pemrograman pascal.
Pengertian Variabel
Variabel adalah 'penanda' identitas yang digunakan untuk menampung suatu nilai. Nilai tersebut dapat diubah sepanjang kode program. Secara teknis, variabel merujuk kepada suatu alamat di memory komputer. Setiap variabel memiliki nama yang sebagai identitas variabel tersebut.
Dalam matematika, konsep variabel biasanya menggunakan x atau y, seperti persamaan berikut:
x = y + 2
Disini, nilai 'x' dan 'y' bisa diisi dengan angka apapun (walaupun dalam persamaan diatas, nilai x bergantung kepada nilai y).
Di dalam pemrograman, nilai variabel bisa berubah dari waktu ke waktu, tergantung kebutuhkan. Sebagai contoh, jika saya membuat program menghitung luas lingkaran, saya bisa membuat variabel 'jari2' dan mengisinya dengan nilai '7', kemudian di dalam kode program, saya bisa mengubah nilainya menjadi '8', '10' atau '1000'.
Cara Penulisan Variabel di dalam Pascal
Untuk membuat variabel di dalam pascal, kita harus men-deklarasikan-nya sebelum main program. Setiap variabel juga memiliki tipe data tertentu, dan sepanjang kode program, variabel tersebut hanya dapat diubah nilainya asalkan masih dalam tipe yang sama.
Sebagai contoh, jika variabel 'jari2' di-set dengan tipe data 'angka', kita hanya bisa mengisi variabel ini dengan nilai angka seperti 4, 6, atau 90. Kita tidak bisa mengisinya dengan nilai huruf atau kata seperti 'empat', 'lima' atau 'Andi'.
Jenis-Jenis Tipe Data dalam Pascal
Pascal mendukung berbagai jenis tipe data. Tipe data ini bisa dikelompokkan menjadi tipe data dasar, tipe data terstruktur, tipe data bentukan, dll.
Terdapat 4 tipe data dasar di dalam Pascal. Keempat tipe data ini dikenal juga sebagai tipe data 'scalar' :
- Integer: tipe data berupa angka bulat, seperti 1,2,5,9,1000 atau 476563.
- Real: tipe data yang berisi angka desimal (pecahan), seperti 22.7, 3.14, atau 0.006
- Char: tipe data yang berisi huruf, seperti "a", "A", "C" atau "z".
- Boolean: tipe data yang hanya berisi 2 nilai, true atau false.
Selain itu, Pascal juga menyediakan 8 tipe data tambahan:
- String: tipe data yang berisi kumpulan karakter, seperti "aku", "kamu" atau "belajar pascal di duniailkom".
- Enumerated: tipe data bentukan yang bisa didefenisikan sendiri. Sebagai contoh kita bisa membuat tipe data warna yang terdiri dari nama-nama warna.
- Subrange: tipe data bentukan yang berisi bagian dari tipe data lain. Sebagai contoh, kita bisa membuat tipe data "angka_kecil" yang hanya berisi angka 1 – 9 (merupakan bagian dari tipe data integer)
- Array: tipe data yang terdiri dari banyak variabel, sebagai contoh kita bisa membuat nama siswa sebagai array "siswa", dan variabel penyusunnya adalah siswa[1], siswa[2], siswa[3], dst.
- Record: tipe data bentukan yang bisa berisi berbagai tipe data. Record untuk "siswa" bisa terdiri dari "nama", "alamat", "tinggi_badan", dll.
- Set: tipe data yang mirip dengan subrange, tetapi bisa digunakan untuk operasi himpunan seperti gabungan, irisan, bagian, dll.
- File: tipe data yang digunakan untuk mengakses file atau dokumen.
- Pointer: tipe data khusus yang merujuk kepada sebuah alamat di memory.
Gambar dibawah ini memperlihatkan jenis-jenis tipe data dan pembagiannya (sumber: tutorialspoint.com):
Penjelasan lebih lanjut mengenai penggunaan tipe data diatas akan dibahas dalam tutorial tersendiri.
Aturan Penulisan Variabel dalam Pascal
Sebuah variabel di dalam pascal harus ditulis sesuai dengan aturan berikut:
- Karakter pertama harus berupa huruf.
- Karakter kedua dan seterusnya bisa berupa huruf, angka, atau karakter underscore "_".
- Penulisan variabel tidak boleh menggunakan karakter selain angka, huruf dan underscore. Kita tidak bisa menggunakan spasi, dan tanda-tanda khusus seperti *, +, -, &, %, $, #, atau @.
- Maksimal panjang variabel tergantung kepada compiler yang digunakan. Beberapa mendukung 32 karakter hingga 63 karakter. Walaupun begitu, sebaiknya gunakan nama variabel yang tidak terlalu panjang.
- Sebelum digunakan, setiap variabel harus dideklarasikan terlebih dahulu.
- Variabel hanya bisa diubah nilainya sesuai dengan tipe data asal.
Berikut adalah contoh penulisan variabel yang salah:
- 9ayam: diawali dengan angka
- belajar+: menggunakan karakter '+'
- pertama*: menggunakan karakter '*'
- jari jari: dipisahkan oleh spasi
Berikut adalah contoh penulisan variabel yang benar:
- panjang_persegi
- angkatan99
- AnGKa
Cara Pendeklarasian Variabel
Sebelum dapat digunakan di dalam kode program, sebuah variabel harus di deklarasikan terlebih dahulu. Berikut format penulisannya:
var nama_variabel:tipe_data;
Perhatikan bahwa penulisan nama variabel dengan tipe datanya dipisah oleh karakter titik dua " : ". Diakhir deklarasi juga ditutup dengan karakter titik koma ";"
Berikut contohnya di dalam kode pascal:
var nama: string; umur: integer; alamat: string;
Pascal juga membolehkan deklarasi variabel untuk tipe data yang sama dalam 1 baris (dipisahkan dengan tanda koma " , "):
var nama, alamat: string; umur: integer;
Cara Memberikan Nilai Variabel (Assignment)
Setelah variabel dideklarasikan, berikutnya adalah men-input nilai kedalam variabel tersebut. Berikut format penulisannya:
nama_variabel := nilai;
Perhatikan bahwa untuk memberikan nilai, pascal menggunakan karakter 'titik dua sama dengan' yakni " := ". Di dalam pemrograman, proses pemberian nilai ini dikenal dengan istilah assignment, dan tanda " := " disebut juga dengan operator assignment di dalam pascal.
Proses assignment dibaca dari kanan ke kiri. Perhatikan kode berikut:
nama := 'Andika';
Kode diatas berarti kita memberikan nilai 'Andika' kedalam variabel nama.
Penggabungan Perintah Deklarasi dan Assignment
Pascal juga membolehkan proses deklarasi dan assignment digabung dalam 1 kali penulisan. Berikut contoh penggunaannya:
nama:string='Andika'; umur:integer:19;
Cara memberikan nilai pada saat deklarasi ini dikenal dengan istilah inisialisasi (bahasa inggris: initialization).
Menampilkan Nilai Varibel
Untuk menampilkan nilai variabel, kita tinggal menuliskannya dengan perintah writeln, seperti contoh berikut ini:
writeln(nama); writeln(umur);
Contoh Program mengenai Variabel
Sebagai penutup tutorial pascal kali ini, berikut adalah contoh kode program sederhana yang merangkum apa yang kita pelajari kali ini:
program biodata; uses crt; Â var nama,alamat:string; umur:integer=19; sekolah:string='SMA 1 Durian Runtuh'; Â begin clrscr; Â nama:='Andika'; alamat:='Jl. Kemerdekaan no.9'; umur:=17; Â writeln(nama); writeln(umur); writeln(alamat); writeln(sekolah); readln; end.
Dalam kode diatas saya membuat beberapa variabel, memberikan nilai kepada variabel tersebut, kemudian menampilkannya.
Pada baris ke-5 saya membuat 2 variabel: nama dan alamat. Kedua variabel ini bertipe string.
Pada baris ke-6, variabel umur dideklarasikan dengan tipe integer, kemudian langsung diberikan nilai 19. Dengan kata lain, variabel umur di-inisialisasi dengan nilai integer 19.
Baris selanjutnya saya juga men-inisialisasi variabel sekolah dengan nilai string 'SMA 1 Durian Runtuh'.
Dalam program utama (main program), pada baris 12 dan 13 saya men-assigment variabel nama dan alamat dengan nilai masing-masing. Di baris 14, saya juga memberi nilai 17 ke dalam variabel umur. Perhatikan bahwa variabel umur juga telah saya isi dengan nilai 19 pada saat inisialisasi, sehingga nilai dalam variabel umur akan "ditimpa" dengan nilai baru.
Sebagai percobaan, anda bisa memberikan nilai 'sembilan belas' kepada variabel umur. Hasilnya? Seperti yang bisa ditebak, pascal akan 'komplain' dan mengeluarkan error, karena kita mencoba mengisi variabel umur yang bertipe integer dengan nilai string 'sembilan belas'. Dalam bahasa pemrograman pascal, setiap variabel hanya bisa diisi dengan nilai yang sesuai dengan tipe datanya.
Dalam tutorial kali ini kita telah mempelajari pengertian variabel dan cara penulisan variabel di pascal. Dalam tutorial selanjutnya, kita akan membahas tentang pengertian konstanta dan cara penulisan konstanta di pascal.
Hello,
Kenapa kode ini tidak bisa berfungsi ya ? Saya menggunakan Turbo Pascal 7. Sepertinya assignment nya gagal
var
nama,alamat:string;
umur:integer=19;
sekolah:string='SMA 1 Durian Runtuh';
Terimakasih infonya gan.. Iya, setelah saya coba, di Turbo Pascal 7 akan menghasilkan error. Sepertinya Turbo Pascal tidak mendukung perintah gabungan deklarasi dan assignment. Saya sudah update tutorialnya terkait perbedaan ini :)
saya udah coba di atas gan, dan berhasil dan selanjunya gi mana ni, apakah ini sudah menjadi aplikasi gan, atau kegunaan pembuatan program di atas untuk apa gan, tolong penjelasannya ?
Iya gan, sudah menjadi aplikasi sederhana. Tapi gunanya saat ini cuma menampilkan data saja. Untuk membuat aplikasi lain yang lebih kompleks, g cukup ini saja gan, silahkan lanjut dulu ke tutorial2 pascal berikutnya…
Terimakasih Atas .. Sekarang saya sudah ngerti
bang andre, mau tanya dong. ini script ny
program Identitas_Diri;
uses crt;
var
nama, TTL, alamat, kelas, npm:string;
kontak:integer=1;
begin
clrscr;
nama:='Adam';
npm:='D1A.15.0031';
kelas:='1 Regular B';
TTL:='Yogyakarta, 2 Desember 1996';
alamat:='Sukamandijaya';
kontak:=080808080808;
writeln('Nama:',nama);
writeln('Npm:',npm);
writeln('Kelas:',kelas);
writeln('TTL:',TTL);
writeln('Alamat:',alamat);
writeln('Kontak:',kontak);
readln;
end.
yang saya tanyakan, saya coba menambahkan input kontak pada identitas. bukankah untuk kontak nomor tipe datanya integer? tapi waktu dicompile & dirun, data output 'kontak' tidak sesuai dengan inputny, malah keluar data 'kontak:30120' knp tuh bang?
Alasannya karena angka 080808080808 sudah melebihi nilai maksimal integer gan. Untuk 'angka' seperti nomor HP, No Telp, No ID, sebaiknya tetap diinput sebagai string. Karena walaupun berupa angka, kita tidak menggunakannya dalam proses perhitungan. Awalan 0 di depan sebuah angka integer juga otomatis akan dihapus.
ohh ok ok. ane ngerti.
gan, sankyu berat ilmu ny. klo ada yg kgk ngarti ane tnyain lg. (y)
Gan ane msh krng paham sma crt dan clrscr, ane udh cba hpus biar tau bedanya tp kok malah g terjadi apa2 ya?
Pengaruhnya clr dan clrscr itu ap?
Coba jalankan kode yang sama beberapa kali gan, lalu lihat hasilnya dengan dan tanpa perintah clrscr :)
Perintah clrscr digunakan untuk membersihkan layar tampilan dari hasil kode sebelumnya. Tapi dari sisi kode program, memang tidak ada pengaruh apa2.
gan saya mau tanya kenapa nilai variabel di sini dipisah pisah? ada yang di jadikan satu saat pendeklarasian variabel dan dibagian main program. terus kenapa nila variabel umurnya ada 2, 19 dan 17?
var
nama,alamat:string;
umur:integer=19;
sekolah:string='SMA 1 Durian Runtuh';
begin
clrscr;
nama:='Andika';
alamat:='Jl. Kemerdekaan no.9';
umur:=17;
Itu untuk contoh saja gan, setiap variabel nilainya bisa ditimpa dengan nilai lain sepanjang kode program. Untuk program asli, tentunya kita hanya menggunakan 1 nilai saja.
ok terimaksih gan atas bantuannya
trims gan
penjelasannya gambalng banget, jadi mudah buat dipelajari
Siip, lanjut gan…
Mas, variabel itu case sensitive gak? Misalnya variabel saya sama SAYA, itu sama atau beda? Terima kasih
Variabel dan perintah di pascal bersifat case insensitive mas, jadi ga membedakan huruf besar dan kecil (dianggap sama).
Mas crt gunanya buat apa ya
Itu semacam library atau kumpulan fungsi2 tambahan gan. Kalau "use crt" tidak ditulis, kita tidak bisa menjalankan perintah clrscr. Fungsi dari clrscr sendiri adalah untuk membersihkan layar tampilan dari kode program sebelumnya.
mantaaap
jelas dan ditel skali tutornya min
terima kasih banyak^^
crt itu apaan om ?
Itu untuk pemanggilan library crt, yang berhubungan dengan tampilan (screen). Kalau itu tidak dibuat, kita tidak bisa membersihkan tampilan menggunalan clrscr; Kalo g salah sudah saya bahas di part2 awal tutorial pascal ini, silahkan di baca2 lagi…
kenapa punya saya kok ada tulisan "Error 85: ";" expected." di "umur:integer=19;" . . . . ???? itu kenapa ya…?
Agan menggunakan compiler Free Pascal atau Turbo Pascal?
Untuk Turbo Pascal memang tidak mendukung cara penulisan seperti itu, kita harus memisahkan penulisan deklarasi dan inisialisasi variabel…
gan, gimana bisa apa kagak buat kolom komentar di free pascal ?? kalau bisa gimana caranya ya ??
gan punya saya gak bisa di run mulu , ada tulisan fatal cannot executable,, padahal udh 100% benar dalam penulisan sesuai contoh
masalahnya dimana ya gan ?
Kalau yakin kode programnya udah sama persis, dan menggunakan free pascal, saya juga kurang tau errornya dimana lagi…
gan mau tanya untuk error 201 di Free pascal itu gimana ngatasinya ya??
terimakasih banyak
Isi error 201 itu apa y gan? Range check error y? kalau iya, kemungkinan besar ada nilai variabel yang terlalu tinggi, misalnya nilai 10000000 disimpan ke dalam tipe data byte. Solusinya bisa ganti dengan tipe data yang lebih besar, atau pakai tipe data real.
Fatal: Can't find unit crt used by biodata
Penulisannya crt dan clrscr sudah sama seperti di atas.
Tapi tetep muncul pesan error tsb.
Saya memakai Free Pascal IDE
Kalau errornya seperti itu berarti Free Pascal tidak bisa menemukan library/unit crt. Mungkin bisa coba install ulang Free Pascal (download versi terbaru), dan install di drive D.
sek dicoba dulu
bener gan,
kudu di re-install :D
Siip :)
kenapa kode var alamat sekolah di pisah ya.. kalo jadinya gini gimana ya?
program biodata;
uses crt;
var
nama,alamat:string;
umur:integer=19;
begin
clrscr;
nama:='Andika';
alamat:='Jl. Kemerdekaan no.9';
umur:=17;
sekolah='SMA 1 Durian Runtuh';
writeln(nama);
writeln(umur);
writeln(alamat);
writeln(sekolah);
readln;
end.
var untuk sekolahnya di pindahin ke bawah malah error?
Di dalam pascal, setiap variabel harus di daftarkan dulu di bagian var. Kode program ini akan error karena pascal g tau apa itu "sekolah". Jadi di bagian var-nya harus di deklarasikan:
var
nama,alamat:string;
umur:integer=19;
sekolah:string;
Atau bisa juga digabung di baris pertama:
var
sekolah,nama,alamat:string;
umur:integer=19;
Terima kasih, materi-materi ini saya gunakan untuk membuat tutorial ya :D
Silahkan.. tapi kalau pengen di publish di blog/website, mohon cantumkan link sumbernya kesini y gan..
mantap cuma di blog ini saya mengerti sedikit2 bahasa pemrograman mudah di pahami
Vang berati sama aja kita ngambil yg di main program donk ? kan kalo kita
program bla;
begin
nama :='bla';
writeln(nama)
readln;
end.
itu sama aja kita harus ngebuat Namanya aja trus ane juga kurang ngerti kegunaan yang var itu apa ?
memberikan hasil itu mksdnya di kasih nama apakah kaya di css/php5/html/? mohon penjelasannya vang :3 >,> <,<
Kegunaan variabel akan makin jelas saat masuk ke kode program yang meminta inputan (readln). Silahkan lanjut dulu ke tutorial2 berikutnya…
mas andre, gmn caranya saya di exe nya saya input nama saya terus keluar data saya??? terimakasih
Jika pengen buat yang seperti itu, harus gabungan perintah readln() dan kondisi if else.
Perintah readln() dipakai untuk membaca inputan, kemudian di periksa menggunakan kondisi if else apakah namanya sesuai atau tidak. Jika sesuai bisa tampilkan pesan, jika tidak bisa juga ditampilkan pesan lain, tergantung kode program yang dibuat.
Alhamdulillah Berhasil. Thanks brother/sister
program biodata;
uses crt;
var
nama,alamat,universitas,program_studi,nomor_handphone:string;
umur:integer;
begin
clrscr;
nama:='Ridho Saputra'
alamat:='Jl. Damai RT.10/RW.03 No.25A';
umur:=19;
universitas:='Universitas Indraprasta PGRI';
program_studi:='Informatika';
nomor_handphone:='081282819699'
writeln(nama);
writeln(alamat);
writeln(umur);
writeln(universitas);
writeln(program_studi);
writeln(nomor_handphone);
readln;
end.
Tested on : Windows 10 Pro Anniversary Update Version 1607 x64
Free Pascal IDE Version 2.6.4
Siip…
terimakasih infonya sangat bagus membantu saya lebih memahami tentang teori dari pascal itu sendiri karena maklum dosen algoritma programnya killer :') #salamanakteknikinformatika
Hehe, siip.. semoga tutorial ini bisa bermanfaat. Titip salam sama pak dosennya…
Kenapa Harus Durian Runtuh??
Hehe, itu terinspirasi dari upin ipin…
bang saya mau tanya, kenapa pakai angka seperti umur:=19; tidak pakai ' di angkanya seperti pada nama dan alamat yang pakai 'andika'; . apa karena angka jadi tidak perlu atau ada tutorial yang saya lewatkan?
Betul, karena kalau ingin menginput angka, malah tidak boleh dipakai tanda kutip.
Perintah umur:=19 artinya kita menginput angka 19 ke dalam variabel umur. Tapi jika ditulis umur:='19', ini artinya variabel umur berisi teks 19 (bukan angka, tapi 'teks'). Lengkapnya nanti akan dibahas di tutorial tentang tipe data.
Gan, Bisa Bantu saya. Bagaimana cara Membuat Kata 'String' sesudah meletakan Hasil variable 'Integer'.
Begini Singkat Programnya :
var Hasil: integer;
write('Pergi Sekolah = ');readln(Hasil);
writeln('Anda Berangkat Kesekolah dengan Waktu ,Hasil Menit');
readln;
end.
Nah, Tepat pada Meletakan Variable ,Hasil dan Menambahkan String 'Menit' sesudahnya, itu Tak bisa di Compile oleh Pascal, Mungkin ada Penulisan Code yang Salah, Gimana Caranya agar Bisa di Compile Gan ???. Supaya Hasilnya bisa Jadi: Anda Berangkat Sekolah dengan Waktu '30' Menit. Sebagai Contoh..
Penulisannya bisa seperti ini:
writeln('Anda Berangkat Kesekolah dengan Waktu ',Hasil,' Menit');
jadi interger buat angka dan string buat huruf?
bisa tolong jelasin gan saya kurang paham bedanya stirng sama integer
Mengenai tipe data akan dibahas dalam artikel terpisah, silahkan lanjut dulu ke part berikutnya. Dalam tutorial ini saya hanya fokus ke cara pembuatan variabel saja.
Tapi secara singkat, tipe data string dipakai untuk menampung kumpulan karakter, sedangkan integer dipakai untuk menampung angka bulat.
ok thanks gan
Mau nanya gan…
contoh
Angka1:=7000;
Angka2:=7000000;
Angka3:=70.123;
writeln('Angka1 = ',Angka1);
writeln('Angka2 = ',Angka2:3);
writeln('Angka3 = ',Angka3);
writeln('Angka3 lagi = ',Angka3:5:2);
Penjelasan dari "Angka2:3" sama "Angka 3:5:2" apa ya?
Angka tersebut dipakai untuk mengatur tampilan desimal di belakang koma. Lengkapnya nanti akan dibahas pada tutorial pascal bagian tipe data real: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-tipe-data-real-pascal/
yang saya ngertiin itu gini
variabel : untuk memberi data dari server
begin : memulai program, beserta keterangan masing variabel
lalu untuk string itu tulisan huruf, sedangkan integer kusus angka yang gak boleh di kasi tanda ' angka '
writeIn : adalah input data yang akan output ke apk exe
readIn itu baca terus di tampilin
crt ngambil rumusan dari perpus pascal, sedangkan clrscr yaitu menghilangkan sebuah rumusan dan menampilkan secara utuh readIn nya.
dan end; merupakan penutupan dari exe nya
betul tidak rangkupan yang saya pahami sampai pada part ini bang andre?
Sebagian sudah benar, tapi variabel bukan "untuk memberi data dari server", tapi variabel adalah wadah untuk menampung suatu nilai.
Bisa di ulang lagi baca tutorial ini untuk memahami variabel dengan lebih dalam.
Dan Untuk penjelasan tentang struktur kode Pascal, bisa baca2 kembali tutorial sebelumnya: https://www.duniailkom.com/tutorial-belajar-pascal-struktur-dasar-kode-program-pascal/
hallo kak kalau biodata,pas(12,2) fatal : syntax error, expected but "identifier NAMA" Found.
itu kenapa ya padahal udah ikutin persis contoh diatas tapi error terus. tiap ulang permasalahannya beda terus
Kalau keluar pesan "syntax error", berarti ada kode yang salah tulis. Dalam programming, 1 saya karakter koma atau titik lupa ditulis kodenya tidak akan berjalan. Alternatif terakhir, copy paste saja kode yang ada dalam tutorial ini.
kak kenapa ya kalo saya pake uses crt sama clrscr selalu gk bisa di run?
selalu ada bacaan can't find unit system used by judul_program
gak jadi kak, saya coba copy file crt.o dan crt.ppu dari rtl-console ke rtl.
dan masalahpun selesai
gan saya mau nanya,kan saya ikutin model kayak contoh diatas,tapi kenapa yg keluar cuma sebatas kata"nama","alamat",sama kata"sekolah" saja,sedangkan nilanya tidak keluar,padahal sudah diinput,sedangkan kalau di RUN bisa
Makasih gan ilmunyaaa. Semoga berkah selalu. Aamiin Yaa Robbal Alamin