Melanjutkan tutorial belajar bahasa pemrograman pascal di duniailkom, kali ini kita akan membahas tentang pengertian dan cara penggunaan tipe data char di dalam pascal.
Pengertian Tipe Data Char di Pascal
Tipe data Char adalah tipe data yang hanya bisa diisi dengan 1 karakter saja. Karakter ini harus ditulis diantara tanda kutip. Karena hanya bisa diisi dengan 1 karakter saja, tipe data char hanya membutuhkan 1 byte memory (1 byte = 8 bit).
Selain itu, variabel bertipe data char juga bisa diisi dengan urutan karakter ASCII. Ini akan lebih mudah dijelaskan dengan menggunakan contoh kode program.
Di dalam compiler FreePascal, selain tipe data Char, didukung juga tipe data AnsiChar dan WideChar.
Cara Penggunaan Tipe Data Char Pascal
Sesuai dengan pengertian sebelumnya, variabel bertipe data char hanya bisa diisi dengan 1 karakter yang ditulis diantara tanda kutip. Berikut contohnya:
program tipe_char; uses crt; var  a:char; begin  clrscr;  a:='A';  writeln('a: ',a);   a:='9';  writeln('a: ',a);   a:='x';  writeln('a: ',a);  readln; end.
Dalam contoh diatas, saya mendefenisikan variabel a dengan tipe data char, sehingga kita bisa mengisinya dengan 1 karakter saja.
Yang perlu diperhatikan, penulisan angka untuk tipe data char juga harus menggunakan tanda kutip. Karakter '9' tidak boleh ditulis sebagai 9 (tanpa tanda kutip), karena jika tanpa tanda kutip, ini adalah tipe data integer!. Berikut contohnya:
program tipe_char; uses crt; var  a:char; begin  clrscr;   a:=9;  writeln('a: ',a);  readln; end.
Jika anda menjalankan kode diatas, akan tampil pesan Error: Incompatible types: got "ShortInt" expected "Char". Oleh karena itu kita harus ingat untuk menambahkan tanda kutip ini.
Membuat Karakter Char Berdasarkan Nomor ASCII
Selain menulis karakter secara langsung, tipe data char juga mendukung penulisan karakter berdasarkan nomor urut tabel ASCII.
Karakter ASCII (American Standard Code for Information Interchange) adalah 256 karakter dasar yang digunakan secara internal oleh komputer. Selain programmer, sangat jarang anda akan berurusan dengan karakter ASCII ini, walaupun sebenarnya ia ada di setiap komputer.
Sebagaimana yang kita tahu, komputer hanya beroperasi berdasarkan 2 kondisi: hidup dan mati, atau on dan off. Selanjutnya kondisi off dan on dari ratusan juta transistor di dalam komputer direpresentasikan dengan angka biner: 0 dan 1.
Agar sebuah komputer bisa 'mengingat' karakter, misalnya huruf 'A', kita perlu membuat aturan bagaimana 'A' ini disimpan sebagai angka biner.
Salah satu standar ini adalah tabel  karakter ASCII, dimana huruf 'A' disimpan dengan nilai biner: 01000001, yang dalam bentuk desimal (basis 10) dikonversi menjadi angka 65. Oleh karena itu, karakter 'A' berada pada urutan ke 65 dari tabel karakter ASCII. Daftar lengkap tabel ASCII ini bisa anda lihat di www.ascii-code.com.
Kembali ke pembahasan tentang tipe data char di pascal, kita bisa menginput karakter berdasarkan no urut tabel ASCII ini. Caranya, dengan menambahkan tanda pagar "#" sebelum angka no urut.
Sebagai contoh, karakter 'A' yang mimiliki nilai ASCII: 65 bisa ditulis sebagai berikut:
a:=#65;
Berikut contoh lengkap kode programnya:
program tipe_char; uses crt; var  a:char; begin  clrscr;  a:=#65;  writeln('a: ',a);   a:=#57;  writeln('a: ',a);   a:=#137;  writeln('a: ',a);  readln; end.
Silahkan anda samakan urutan tabel ASCII untuk nilai '65', '57' dan '137'. Hasilnya sama dengan karakter 'A', '9' dan tanda permil (per million).
Dalam tutorial belajar pascal kali ini kita telah membahas tipe data char yang bisa digunakan untuk menyimpan sebuah karakter. Jika anda ingin menyimpan banyak karakter, atau kumpulan karakter, harus menggunakan tipe data string, yang akan kita pelajari pada tutorial selanjutnya.
Numpang tanya om. Apa bedanya jika menggunakan tipe data string untuk menyimpan 1 karakter dengan tipe data char ?.
Mohon Bantuannya ;)
Kalau hanya untuk menyimpan 1 karakter teks saja, bisa dibilang sama gan.
Tp ada beberapa function yang membutuhkan tipe data char untuk di proses, misalnya jika ingin menkonversi suatu karakter menjadi angka ASCII menggunakan fungsi ord(). Syaratnya, karakter tersebut harus disimpan dengan tipe data char, tidak bisa string.
Permisi numpang nanya kalau mau nulis pi gimana?
Di buat sebagai konstanta saja gan…
Bagaimana caranya agar program tidak bisa di inputkan huruf? Alias hanya angka saja? Thanks admin mohon balasan nya
Untuk di Pascal, saya belum ketemu caranya nih… mungkin rekan2 yang lain bisa bantu..
Terimakasih Pak Andre, Materi-materi yang di berikan sangat bermanfaat dan membantu dalam belajar , mantap..