Pada lanjutan tutorial belajar bahasa pemrograman pascal di Duniailkom kali ini, saya akan membahas tentang pengertian dan cara penggunaan tipe data Integer di Pascal.
Pengertian Tipe Data Integer
Dalam bahasa pemrograman, tipe data integer adalah tipe data yang terdiri dari angka bulat (tidak mengandung nilai pecahan atau nilai desimal). Nilai ini bisa berbentuk angka positif maupun negatif, contohnya 1, 2, 6, -44, 20000, atau 128730123.
Pascal mendukung beragam tipe data integer, seperti byte, shortint, smallint, word, integer, cardinal, longint, longword, int64, dan qword. Tipe-tipe ini dibedakan berdasarkan jangkauan nilai dan kapasitas memory yang dibutuhkan.
Cara Penggunaan Tipe Data Integer dalam Pascal
Untuk menggunakan tipe data integer di Pascal, kita tinggal menulisnya seperti variabel biasa. Berikut contoh kode program yang mendefenisikan variabel integer di dalam pascal:
program tipe_integer; uses crt; var a:integer; begin clrscr; a:=20; writeln('a: ',a); Â a:=15; writeln('a: ',a); Â a:= a + 10; writeln('a: ',a); readln; end.
Dalam kode diatas saya mendefenisikan variabel a dengan tipe data integer (baris ke-4). Kemudian sepanjang kode program variabel a ini diubah-ubah nilainya, dan pada setiap perubahan, ditampilkan sebagai output (menggunakan perintah writeln).
Hasil akhir kode diatas adalah sebagai berikut:
Contoh lain penggunaan tipe data integer bisa dilihat dari kode program dibawah ini:
program tipe_integer; uses crt; var a,b,c,d:integer; begin clrscr; a:=1234; b:=-1234; Â c:= a + b; d:= a * 3; Â writeln('a: ',a); writeln('b: ',b); writeln('c: ',c); writeln('d: ',d); readln; end.
Kali ini saya mendefenisikan variabel a, b, c dan d bertipe integer. Variabel a dan b langsung diisi dengan nilai 1234 dan -1234, sedangkan variabel c dan d digunakan untuk menampung operasi penambahan dan perkalian.
Pascal menganut sistem variabel bertipe, oleh karena itu jika sebuah variabel di defenisikan sebagai integer, kita tidak bisa mengisinya dengan nilai lain seperti huruf, kalimat, atau bahkan angka pecahan.
Sebagai contoh, jika saya mengisi huruf kedalam variabel integer, compiler Pascal akan 'komplain' dengan Error 26: Type mismatch:
program tipe_integer; uses crt; var a:integer; begin clrscr; a:='Duniailkom'; readln; end.
Begitu juga jika kita menginput nilai yang diluar jangkauan integer, seperti kode berikut ini:
program tipe_integer; uses crt; var a:integer; begin clrscr; a:=32767; readln; end.
Kode errornya adalah Error 76: Constant out of range. Karena secara default tipe data integer hanya bisa menampung nilai dari -32768 hingga 32767. Bagaimana jika angka yang kita butuhkan lebih besar dari ini? Kita harus menggunakan tipe data selain 'integer'.
Jenis-jenis Tipe Data Integer di dalam Pascal
Walaupun kita sudah menggunakan tipe data integer di dalam contoh kode program diatas, tetapi 'integer' hanyalah salah satu tipe data angka bulat di dalam Pascal. Setidaknya terdapat 10 tipe data integer yang bisa digunakan. Tabel berikut merangkum seluruh tipe data integer Pascal beserta jangkauan dan kapasitas memory yang dibutuhkan:
Type | Range | Ukuran (dalam byte) |
---|---|---|
Byte | 0 .. 255 | 1 |
Shortint | -128 .. 127 | 1 |
Smallint | -32768 .. 32767 | 2 |
Word | 0 .. 65535 | 2 |
Integer* | antara smallint atau longint size | 2 atau 4 |
Cardinal | longword | 4 |
Longint | -2147483648 .. 2147483647 | 4 |
Longword | 0 .. 4294967295 | 4 |
Int64 | -9223372036854775808 .. 9223372036854775807 | 8 |
QWord | 0 .. 18446744073709551615 | 8 |
Tabel diatas adalah tipe data integer yang tersedia didalam Free Pascal. Untuk Turbo Pascal 7, mungkin terdapat sedikit perbedaan.
* Dalam Free Pascal, secara default jangkauan tipe data integer sama dengan smallint, namun dalam aplikasi Object Pascal seperti Delphi atau Lazarus, jangkauan tipe integer sama dengan longint.
Berikut contoh penggunaan tipe data ini:
program tipe_integer; uses crt; var a:shortint; b:byte; c:longint; d:longword; e:int64; begin clrscr; a:=-128; b:=255; c:=-2147483648; d:=4294967295; e:=9223372036854775807; Â writeln('a: ',a); writeln('b: ',b); writeln('c: ',c); writeln('d: ',d); writeln('e: ',e); readln; end.
Pada contoh program diatas saya mendefenisikan 5 variabel: a, b, c, d, dan e dengan berbagai tipe variabel integer.
Tipe data integer yang kita pelajari disini sangat penting untuk dipahami, terutama tentang jangkauan tipe-tipe data integer. Jika anda butuh jangkauan yang cukup besar, bisa menggunakan tipe data longword atau int64.
Selanjutnya, kita akan membahas tipe data real di dalam Pascal.
ditunggu tutorial untuk C++ dan VB nya bro
Siip gan, mudah2an akan segera menyusul…
Kenapa iterasi belum dibahas gan? Terutama yg i, j, k… Ditunggu
Yup, bahasannya belum sampai kesana gan… mudah2an bisa segera dilengkapi.
ga sabar nih. makasih banyak
yang ini ane ga ngerti gan di tabelnya, maksud di range itu apa ya?
contoh range: 0…200 berarti nlai maksimalnya itu 200 dan minimalnya itu 0 ya? atau bagaimana?
terus dalam table ada ukuran(dlm byte) itu maksudnya ukuran memori atau per karakternya ya?
thanks admin
Yup, betul gan.. range itu angka minimal dan maksimalnya. Kalau kita pakai Byte, dan diinput angka 270, pascal akan error, karena maksimalnya hanya 255.
Untuk ukuran itu adalah jumlah memory komputer yang digunakan untuk menyimpan 1 variabel (bukan per karakter). Misalnya saya pakai tipe data byte, memory yang digunakan komputer tetap 1 byte apakah angkanya 0, 1 atau 255.
gan , aku mau nanya, gimana sih proses pembacaan looping yang kita buat di pascal?
Untuk tutorial looping saat ini masih saya tulis gan, mungkin minggu depan sudah bisa rilis artikelnya. Ditunggu saja ya…
Gan, ane punya program gini :
Program Tugas61;
uses crt;
Var
Nama : string[50];
NIM : byte;
Tgs, Mid, Fnl : integer;
Total : real;
Hrf : char;
begin
clrscr;
Writeln('DAFTAR NILAI MAHASISWA');
Writeln(' JURUSAN INFORMATIKA ');
writeln('======================');
Write ('Nama Mahasiswa : ') ; Readln(Nama);
write ('NIM Mahasiswa : ') ; Readln(NIM);
write ('Nilai Tugas : ') ; Readln(tgs);
write ('Nilai Mid Test : ') ; Readln(Mid);
write ('Nilai Final Test : ') ; Readln(Fnl);
Total := (20 / 100 * Tgs) + (30 / 100 * Mid) + (50 / 100 * fnl);
Case Total Of
80..100 : Hrf :='A';
70..79 : Hrf :='B';
51..69 : Hrf :='C';
41..50 : Hrf :='D';
0..40 : Hrf :='E';
end;
writeln('Total Nilai : ', Total);
Writeln('Nilai Huruf : ', Hrf);
Writeln('======================');
readln;
end.
Dari situ, yang salah yang mananya ya gan? kok daritadi error mulu :(
Kondisi case tidak bisa dipakai untuk tipe data real, harus bilangan bulat (integer) atau string. Di kode program ini agan membuat variabel total sebagai real. Solusinya bisa pakai struktur if else saja.
Ko pky it gk mau ya
Gan saya mau nanya kok kalo misalkan dalam program ane input
writeln(2*integer('A'));
readln;
end,
jadi 130 ? itu integer('A') dapet dari mana nilainya?
Dalam daftar karakter ASCII, huruf A bernomor desimal 65. Jadi 130 itu di dapat dari 65*2.
baru kelas 10, kurtilas, pake pascal, bingung @-@
Kak ada gk 1 program yang mencakup semua type data kayak integer real boolean char dan string
Klo ada contohnya dong kak
Please
Kalau sudah baca semua tutorial pascal di duniailkom ini, nanti bisa sendiri tuh. Tinggal disatukan saja misalnya buat program input data siswa yang berisi: nama (string), umur (integer), tinggi badan dalam satuan meter (real), tinggal di asrama (boolean), golongan darah (char).
clrscr itu kegunannya apa sih gan??
jelaskan lebih rinci dong cara paling mudah kita mengelompokkan suatu variabel itu adalah tipe data integer,string,real,char dll???. soalnya saya masih bingung dalam menentuinnya. mohon bantuannya, terimakasih
clrscr itu untuk membersihkan tampilan layar cmd dari hasil program sebelumnya. Mengenai hal ini sudah pernah di bahas pada Part 7: https://www.duniailkom.com/tutorial-belajar-pascal-struktur-dasar-kode-program-pascal/
Agar belajarnya lebih terstruktur, disarankan untuk mempelajari tutorial Pascal di duniailkom dari Part 1 hingga selesai. Atau jika berminat bisa juga order buku Pascal Uncover duniailkom untuk penjelasan yang lebih rinci.
Dari range yang bertype integer saya gk ngerti maksudnya apa? apakah type integer bisa menginputkan angka smallint sampai longint, begitukah?
Bukan, maksudnya itu tergantung ke jenis compiler Pascal dan sistem operasi yang digunakan.
Misalnya untuk compiler Free Pascal di Windows 10, tipe data integer sama dengan smallint. Tapi di compiler lain bisa saja integer ini menampung angka sampai longint.
ka, kalo mau ngebatesin cuman 2 bilangan aja tapi bilangannya bebas mau berapa aja untuk di input nanti ka, pake apa ya?