Menggunakan lebih dari satu tipe data

Seperti yang sudah kita ketahui bahwa di dalam Pascal terdapat beberapa tipe data. Variabel yang kita deklarasikan dengan tipe data tertentu, haruslah menyimpan nilai sesuai dengan tipe data tersebut. Misalnya, jika kita mendeklarasikan variabel a sebagai integer, maka variabel a hanya boleh diisi dengan bilangan-bilangan bulat. Jika kita mencoba untuk mengisikan kalimat ke dalam variabel a, akan menghasilkan error.
Bahasa Pascal memberikan kebebasan yang sangat luas kepada programmer untuk menuliskan kode-kode atau instruksi programnya, asalkan masih mengikuti aturan-aturan yang ditetapkan di dalam bahasa pemrograman Pascal. Demikian juga hal yang sama berlaku untuk bahasa pemrograman lainnya. Untuk variabel yang digunakan, kita dapat memesan lebih dari satu variabel untuk tipe data yang sama, bahkan kita dapat juga memesan lebih dari satu tipe data yang berbeda.

Contoh:
Uses crt;
Var
a:integer;
b:string;
Begin
Clrscr;
a:=5;
b:=’Percobaan’;
writeln(a);
writeln(b);
End.

Jika kita perhatikan contoh diatas, kita dapat melihat dua variabel a dan b dengan tipe data yang berbeda dapat digunakan di dalam satu kesatuan program. Hal ini juga berlaku untuk tipe data yang lainnya seperti real, char dan sebagainya.
Pemakaian perintah READ dan READLN akan dapat langsung digunakan untuk tipe data yang berbeda, tanpa harus menggunakan rumus atau ketentuan lain.

Perhatikan contohnya:
Uses crt;
Var
a:integer;
b:string;
Begin
Clrscr;
write(‘Masukkan nilai variabel a : ‘);
readln(a);
write(‘Masukkan nilai variabel b : ‘);
readln(b);
End.

Kalau kita lihat, perintah readln untuk menerima input dari keyboard untuk tipe data integer dan string, perintahnya sama. Hal ini tergantung dari data yang kita masukkan. Jika data yang dimasukkan tidak sesuai dengan tipe data variabelnya, maka akan menimbulkan error.

Mengatur posisi pencetakan layar

Sebelumnya kita perlu tahu apa yang disebut dengan kursor. Pada era DOS sekitar tahun 90-an, kursor memegang peranan penting, karena melalui kursor kita memberikan perintah kepada komputer untuk melakukan suatu pekerjaan. Di zaman era windows sekarang, posisi kursor sudah digantikan dengan mouse, yang serba klik dan geser. Secara sederhana kita dapat menyimpulkan bahwa kursor sebenarnya hanyalah tanda berupa garis kecil melintang yang biasanya berkedip-kedip untuk menunjukkan posisi munculnya karakter yang kita ketikkan dari keyboard.
Pada program kita sebelumnya, kita akan menyadari bahwa posisi pencetakan yang diberikan dari perintah WRITE atau WRITELN adalah selalu di ujung kiri. Ini adalah posisi standar yang sudah ditetapkan Pascal, jika dia tidak menjumpai perintah untuk memindahkan kursor ke posisi tertentu sebelum perintah WRITE.
Di dalam Pascal dan kebanyakan program-program non windows lainnya, sebuah layar dibagi kedalam sistem koordinat x dan y, dimana jumlah x adalah antara 1 sampai dengan 80 dan jumlah y antara 1 sampai dengan 25, yang artinya pada satu layar, akan mampu menampilkan karakter sebanyak 25 x 80 = 2000 karakter.
Jika pada suatu saat kita menginginkan untuk mencetak suatu kalimat pada posisi tertentu, kita dapat memberikan perintah GOTOXY(x,y) sebelum perintah WRITE atau WRITELN, dimana nilai x dan y, masing-masing adalah posisi kolom dan baris kursor.

Perhatikan contoh programnya berikut;
Uses crt;
Var
a:integer;
b:string;
Begin
Clrscr;
write(‘Masukkan nilai variabel a : ‘);
readln(a);
write(‘Masukkan nilai variabel b : ‘);
readln(b);
gotoxy(10,10);
write(‘Mencetak variabel a pada posisi baru = ‘,a);
gotoxy(10,12);
write(‘Mencetak variabel b pada posisi baru = ‘,b);
End.

Program diatas akan mengambil dua masukan dari keyboard dengan tipe bilangan bulat dan string / kalimat, setelah itu program akan memindahkan kursor sebelum mencetak variabel a dan b.

Looping / Perulangan

Bagaimana sebenarnya kita dapat membaca sebuah program Pascal? Sesuai dengan aturan algoritma, sebuah program yang utuh akan dibaca dari atas ke bawah. Looping atau perulangan akan mengijinkan jalannya program kembali lagi ke atas dan akan terus diulang sampai memenuhi syarat tertentu untuk mengakhiri perulangan.
Apa manfaat perulangan? Looping atau perulangan akan sangat bermanfaat jika kita ingin mengetikkan suatu perintah beberapa kali. Jika ditinjau dari pemakaian memory, penulisan instruksi yang sama secara berulang-ulang dianggap akan memakan memory lebih besar jika dibandingkan dengan menggunakan looping. Jika memakai looping, kita cukup menuliskan satu perintah di dalam blok looping, sehingga perintah tersebut akan terus di ulang sampai syarat tertentu terpenuhi.
Salah satu bentuk Looping di dalam Pascal adalah looping While… Do, adapung bentuk umumnya adalah sebagai berikut;
While <syarat> Do
Begin
……………………
……………………
……………………
End;

Perhatikan bahwa looping mempunyai blok yang diapit perintah Begin dan End; (Ingat, End disini diakhiri tanda titik koma. Perintah End. hanya digunakan untuk mengakhiri program) Perintah apapun yang ada di dalam blok tersebut akan diulang. Jumlah pengulangannya sesuai dengan syarat yang ditentukan.
Untuk jelasnya, coba perhatikan program berikut:
Uses crt;
Var
a:integer;
Begin
Clrscr;
a:=1;
While a<=5 do
Begin
writeln(a);
a:=a+1;
End;
End.

Mari kita perhatikan jalannya program dengan seksama.
Kita telah memesan satu variabel a dengan tipe integer, dengan nilai awal 1. Looping yang kita tuliskan setelah pengisian variabel a dengan 1 mempunyai syarat, bahwa looping akan terus dikerjakan selama nilai a masih lebih kecil atau sama dengan 5.
Pada saat looping pertama kali dijalankan, nilai variabel a akan dicetak, dalam hal ini adalah 1. Setelah itu kita menjumpai bentuk matematika yang tidak lazim yaitu a:=a+1, maksudnya adalah jumlahkan variabel a dengan 1, hasilnya disimpan kembali ke dalam variabel a. Sehingga apabila pada looping pertama nilai variabel a=1, setelah perintah ini dijalankan, nilai variabel menjadi 2. Setelah menjumpai perintah End, sesuai dengan sifat looping, dia akan kembali lagi ke atas, yaitu pada perintah While…
Pengecekan kembali dilakukan, karena nilai variabel a masih lebih kecil dari 5, maka looping kedua dijalankan. Sama seperti looping pertama, dia akan mencetak nilai variabel a, yang dalam hal ini sudah menjadi 2. Perintah dibawahnya adalah menjumlahkan variabel a dengan 1, sehingga yang tadinya variabel a bernilai 2, sekarang menjadi 3. Kemudian, dia akan kembali lagi ke atas untuk melanjutkan loopingnya, sampai nilai variabel a lebih besar dari 5.
Setelah dijumpai nilai variabel a lebih besar dari 5, maka looping akan berhenti, dan jalannya program akan dilanjutkan ke baris perintah tepat dibawah looping.

Uses crt;
Var
a,b:integer;
Begin
Clrscr;
a:=1;
b:=5;
While a<=b do
Begin
writeln(a);
a:=a+1;
b:=b-1;
End;
End.

Coba anda analisa jalannya program diatas dan coba tentukan outputnya.