Daimus Programming

programming guide & tutorial; lastest programming news; free e-learning materials

Operator merupakan simbol yang digunakan untuk memberitahu compiler untuk melakukan manipulasi data. Terdapat beberapa jenis operator dalam bahasa pemrograman pascal, yakni

  • Operator Aritmatika
  • Operator Boolean
  • Operator Relasional

Operator Aritmatika

Operator aritmatika digunakan untuk melakukan operasi matematika seperti penjumlahan, pengurangan dan perklaian.

Operator Operasi Operand Hasil Operand Contoh
+ Penjumlahan Integer, Real Integer, Real 13 + 7 = 20
- Pengurangan Integer, Real Integer, Real 13 - 7 = 6
* Perkalian Integer, Real Integer, Real 13 * 7 = 91
/ Pembagian Integer, Real Integer, Real 10 / 4 = 2,5
Div Pembagian Integer, Real Integer 15 div 4 = 3
Mod Sisa Pembagian Integer, Real Integer 20 mod 6 = 2
Contoh Implementasi Operator Aritmatika dalam Pascal
Source Code
program simpleCalc;
    var
        a:integer=46;
        b:integer=12;
    begin
        writeln('Nilai A = 46');
        writeln('Nilai B = 12');
        writeln();
        writeln('Penjumlahan A dan B     = ', a + b);
        writeln('Pengurangan A dan B     = ', a - b);
        writeln('Perkalian A dan B       = ', a * b);
        writeln('Pembagian A dan B       = ', a / b);
        writeln('Pembagian (div) A dan B = ', a div b);
        writeln('Modulus A dan B         = ', a mod b);
        readln();
    end.
Implementasi Operator Aritmatika dalam Pascal
Output Program : Implementasi Operator Aritmatika dalam Pascal.
Operator Boolean

Operator boolean membandingkan nilai untuk menghasilkan expresi TRUE atau FALSE. Input maupun output dari operasi ini adalah bertipe boolean.

Operator Operasi Contoh
not Negasi (~) not TRUE = FALSE
and Konjungsi (^) TRUE and TRUE = TRUE
or Disjungsi (v) TRUE or TRUE = TRUE
xor Ekslusif OR TRUE xor TRUE = FALSE
Source Code
program boolOperator;
    var
        c:boolean=true;
        d:boolean=false;
    begin
        writeln('nilai c = ',c);
        writeln('nilai d = ',d);
        writeln();
        writeln('not C   = ', not c);
        writeln('C and D = ', c and d);
        writeln('C or D  = ', c or d);
        writeln('C xor D = ', c xor d);
        readln();
    end.
Implementasi Operator Boolean dalam Pascal
Output Program : Implementasi Operator Boolean dalam Pascal.
Operator Relasional

Operator relasional membandingkan dua nilai untuk menghasilkan nilai kebenaran (TRUE or FALSE)

Operator Operasi Contoh
= Sama dengan (45 = 9) = FALSE
<> Tidak sama dengan (4 <> 21) = TRUE
< Kurang dari (7 < 9) = TRUE
<= Kurand dari sama dengan (45 <= 45) = TRUE
>/td> Lebih dari (8 > 17) = FALSE
>= Lebih dari sama dengan (9 >= 3) = FALSE
Source Code
program relationOperator;
    var
        x:integer=25;
        y:integer=93;
    begin
        writeln('nilai X = ',x);
        writeln('nilai Y = ',y);
        writeln();
        writeln('X = Y    = ', x = y);
        writeln('X <> Y   = ', x <> y);
        writeln('X > Y    = ', x > y);
        writeln('X >= Y   = ', x >= y);
        writeln('X < Y    = ', x < y);
        writeln('X <= Y   = ', x <= y);
        readln();
    end.
Implementasi Operator Relasi dalam Pascal
Output Program : Implementasi Operator Relasi dalam Pascal.

Output

Dalam contoh-contoh program sebelumnya, telah banyak kita lihat statement writeln. Statement tersebut adalah statement output (menampilkan teks pada console) dalam bahasa pemrograman pascal. Dalam bahasa pemrograman pascal terdapat setidaknya dua statement untuk mencetak teks pada layar. Statement tersebut adalah write dan writeln. Perbedaan keduanya adalah writeln akan menambah baris baru setelah teks ditampilkan, sedangkan write tidak. Untuk lebih jelasnya mari kita lihat contoh berikut.

Source Code
program writeAndWriteln;
    begin
        write('Indonesia ');
        write('Bagus! ');
        readln();
    end.
Demo Statement Write Pascal
Output Program : Demo Statement Write Pascal.

Selanjutnya bandingkan dengan code menggunakan statement writeln

Source Code
program writeAndWriteln;
    begin
        writeln('Indonesia ');
        writeln('Bagus! ');
        readln();
    end.
Demo Statement Write Pascal
Output Program : Demo Statement Write Pascal.

Formatting Output

Output dapat diformat dengan mudah, kita cukup menaruh titik dua diikuti dengan jumlah karakter. Jika kita ingin memformat tipe bilangan real, kita cukup menambah simbol titik dua lagi diikuti dengan jumlah angka dibelakang koma.

Syntax
value : (panjang karakter) : (panjang karakter dibelakang koma)

Input

Untuk membuat program lebih interaktif, dapat dicoba untuk melibatkan user dengan memasukan suatu input tertentu. Untuk melakukannya, bahasa pemrograman pascal mengakomodir dengan adanya statement read dan readln. Perbedaan keduanya sama dengan statement write dan writeln, yakni pada statement readln akan ditambah baris baru.

Sebenarnya terdapat satu lagi jenis input pada pascal, yakni readkey. Readkey menerima jenis masukan berupa karakter, dan input dapat langsung dibaca program tanpa harus menekan tombol enter. Namun untuk menggunakan readkey, sebelumnya harus diimport unit crt atau wincrt pada deklarasi uses.

Contoh Program Data Mahasiswa

Source Code
program writeAndWriteln;
    uses wincrt;
    var 
        nama:string;
        nim:string;
        prodi:string;
        fakultas:string;
        semester:integer;
    begin
        write('Masukan Nama     : ');
        readln(nama);
        write('Masukan NIM      : ');
        readln(nim);
        write('Masukan Prodi    : ');
        readln(prodi);
        write('Masukan Fakultas : ');
        readln(fakultas);
        write('Masukan Semester : ');
        readln(semester);
        writeln('==========/ HASIL /==========');
        writeln('Nama     : ', nama);
        writeln('NIM      : ', nim);
        writeln('Prodi    : ', prodi);
        writeln('Fakultas : ', fakultas);
        writeln('Semester : ', semester);
        readkey();
    end.
Program Data Mahasiswa Pascal
Output Program : Program Data Mahasiswa Pascal.

Pengertian Konstanta

Konstanta adalah entitas yang memiliki nilai yang tidak dapat dirubah selama program berjalan. Konstanta harus dideklarasikan pada bagian deklarasi const. Nilai pada konstanta juga harus ditetapkan pada bagian tersebut, dan nilai-nilai tersebut harus bertipe

  • Char
  • Integer
  • Pointer
  • Real
  • Set
  • String

Format/Syntax konstanta pada bahasa pemrograman pascal adalah sebagai berikut.

const
  identifier1 = value;
  identifier2 = value;
  identifier3 = value;

Contoh Deklarasi Konstanta

Sebagai contoh, berikut berbagai deklarasi konstanta dalam berbagai tipe data.

const
  pi = 3.1415926535897932;
  usia = 20;
  nama = 'John Doe';
  grade = 'A';

Contoh Penggunaan Konstanta dalam Program

Source Code
program hitungLuasLingkaran;
    const
        pi = 3.1415926535897932;
    var
        r:real=23;
        l:real;
    begin
        l := pi * r * r;
        writeln('Luas Lingkaran = ', l:0:2);
        readln();
    end.
Contoh Penggunaan Konstanta dalam Program Luas Lingkaran.
Output Program : Contoh Penggunaan Konstanta dalam Program Luas Lingkaran.

Pengertian Variabel

Variabel hampir sama dengan konstanta, hanya saja nilai pada variabel dapat berubah selama program berjalan. Variabel harus dideklarasikan pada awal program (bagian deklarasi var), masing-masing variabel harus memiliki tipe data. Format/Syntax deklarasi suatu variabel adalah sebagai berikut

var
    (* Deklarasi variabel dengan penetapan nilai di awal *)
    identifier1 : tipe_data = nilai;
    (* Deklarasi variabel dengan penetapan nilai di akhir/main program *)
    identifier2 : tipe_data;

Contoh Deklarasi Variabel

var
    (* Deklarasi variabel dengan penetapan nilai di awal *)
    hargaAwal : integer = 12000;
    namaPenulis : string = 'Alex Rins';
    nilai : char = 'A';
    (* Deklarasi variabel dengan penetapan nilai di akhir/main program *)
    namaAyah : string;
    luasSegitiga : real;
    nilaiRataan : integer;

Contoh Penggunaan Variabel dalam Program

Source Code
program biodata;
    var
        nama:string;
        usia:integer;
        (* Variabel yang nilainya langsung dideklarasikan *)
        alamat:string='Jl. Veteran no. 48 Meikarta';
    begin
        (* Cara penetapan nilai variabel dalam progam *)
        nama := 'Setyono Nova Ananto';
        usia := 57;
        writeln('NAMA   : ',nama);
        writeln('USIA   : ',usia);
        writeln('ALAMAT : ',alamat);
        readln();
    end.
Contoh Penggunaan Variabel dalam Program Biodata
Output Program : Contoh Penggunaan Variabel dalam Program Biodata.

Simbol Assigment

Kita telah melihat contoh-contoh penggunaan variabel dalam pascal, kita juga tahu bahwa nilai dari variabel dapat berubah-ubah selama program berjalan. Sebaiknya kita juga tahu tentang simbol assignment, simbol assignment adalah simbol yang digunakan untuk menetapkan nilai baru terhadap sebuah variabel. Simbol assignment dalam bahasa pemrograman pascal diwujudkan dengan := . Nilai yang ada pada variabel akan mengikuti nilai yang terakhir ditetapkan/diberikan pada variabel tersebut.

Source Code
program assignSimbol;
    var
        nilai:integer;
    begin
        nilai := 12;
        writeln(nilai);
        nilai := 46;
        writeln(nilai);
        nilai := 25;
        writeln(nilai);
        nilai := 93;
        writeln(nilai);
        nilai := 99;
        writeln(nilai);
        readln();
    end.
Contoh Penggunaan Simbol Assignment dalam Program Biodata
Output Program : Contoh Penggunaan Simbol Assignment dalam Program Biodata.

Didalam dunia teknologi informasi, terdapat banyak sekali macam-macam data yang harus diolah, ada yang berupa huruf, kata, angka, pernyataan benar/salah dan lain sebagainya. Untuk itu, data-data tersebut perlu diklasifikasikan menjadi jenis-jenis tertentu. Klasifikasi tersebut dinamakan tipe data.

Pengertian Tipe Data

Tipe data merupakan penggolongan data yang dimaksudkan untuk memberitahu compiler/interpreter bagaimana data tersebut diolah. Tipe data pada umumnya digunakan untuk mendefinisikan jenis nilai yang ada pada variabel atau konstanta.

Tipe Data dalam Bahasa Pemrograman Pascal

Berikut ini berbagai jenis tipe data yang dapat digunakan dalam bahasa pemrograman pascal.

  1. Tipe Data Sederhana
    1. Boolean

      Boolean adalah tipe data yang bernilai TRUE atau FALSE. Ukuran dari tipe data boolean adalah 1 byte.

      Contoh
      TRUE
      FALSE
    2. Char

      Char atau AnsiChar ialah tipe data yang hanya dapat menampung satu karakter. Char dapat menampung nilai numerical (angka), namun tipe data ini tidak dapat dilakukan perhitungan. Panjang dari tipe data ini ialah 1 byte (8 bit).

      Contoh
      2
      A
      #
    3. Integer

      Integer dapat menampung nilai berupa bilangan bulat (bukan pecahan). Integer sendiri terbagi menjadi beberapa kategori, diantaranya

      # Tipe Data Ukuran Rentang Nilai
      1 Byte 1 byte 0 s/d 255
      2 Shortint 1 byte -28 s/d 127
      3 Smallint -32768 s/d 32767
      4 Integer 2 byte -327 s/d 32767
      5 Word 2 byte 0 s/d 65535
      6 Longint 4 byte -2147483648 s/d 2147483647
      6 Int64 8 byte -9223372036854775808 s/d 9223372036854775807
      Contoh
      46
      123
      -1022
      5
      
    4. Real

      Real merupakan tipe data yang menerima masukan nilai berupa angka pecahan. Real juga terbagi menjadi beberapa tipe lagi, yakni

      # Tipe Data Ukuran Rentang Nilai
      1 Real 6 byte ±1.7976931348623157×10308
      2 Currency -922337203685477.5808 to 922337203685477.5807
      3 Extended 10 bytes 3.4 x 104932 s/d 1.1 x 104932
      Contoh
      2,655
      78,0
      12,5
  2. Tipe Data Composite
    1. Array

      Array atau larik adalah jenis tipe data yang mampu menyimpan banyak data dengan tipe yang sama, misalnya array dari integer, array dari char dan lain sebagainya. Data-data didalam array ditandai dengan nomor index. Bentuk dari array ada yang satu dimensi (baris/vektor) dan adapula yang dua dimensi (matriks).

    2. Record

      Record merupakan tipe data terstruktur yang ada pada pascal. Record pada umumnya digunakan untuk mengelompokkan data-data. Tipe data record hampir sama dengan array, dia mampu menampung banyak tipe data, namun pada record ia dapat menampung data yang berbeda tipe. Misalnya suatu record dapat menampung integer, string, real, boolean, char.

  3. Tipe Data Lain
    1. String

      String merupakan jenis tipe data yang dapat menampung kata/kalimat. String sebenarnya adalah bentuk array dari char. String sendiri masih dibedakan menjadi beberapa tipe lagi, yakni

      • ShortString, merupakan tipe string yang memiliki panjang maksimum 255 karakter.
      • AnsiString, tidak memiliki batasan panjang maksimum. Secara internal AnsiString dikenal sebagai pointer, isi sebenarnya disimpan di dalam heap.
      • WideString, memiliki panjang maksimum sama seperti AnsiString. WideString digunakan untuk menampilkan unicode character didalam aplikasi COM.
      • UnicodeString, merupakan array dari WideChar. UnicodeString bersifat reference counted dan null-terminated array.
    2. Set

      Set merupakan tipe data abstrak yang dapat menyimpan nilai-nilai tertentu. Set mirip dengan himpunan dalam matematika.

    3. Pointer

      Pointer merupakan variabel yang berisi alamat memory variabel global maupun lokal, atau alamat memori yang telah dibuat dan disimpan di dalam heap.

Sebelum lebih jauh melangkah, alangkah baiknya kita mengetahui apa itu identifier dan reserved word. Hal ini berguna ketika kelak tidak terjadi error ketika memilih penamaan misalnya variabel yang salah.

Identifier

Identifier adalah nama yang ditentukan pengguna untuk mengenali elemen dalam suatu program, misalnya variabel, constant, prosedur/fungsi dan lain sebagainya. Contohnya misalkan saya memiliki variabel luas = 400, maka yang dimaksud dengan identifier adalah luas, identifier luas digunakan untuk 'memberi nama' elemen program (variabel) yang bernilai 400.

Walaupun penamaan identifier ditentukan oleh diri kita sendiri, namun penamaan tersebut harus sesuai dengan aturan yang berlaku. Terdapat tiga aturan dalam penamaan identifier, yakni

  1. Identifier harus diawali dengan huruf latin atau karakter underscore ( _ ).
  2. Karakter yang diperbolehkan setelahnya hanyalah huruf latin, angka dan underscore.
  3. Identifier tidak boleh mengandung karakter spesial seperti.
    ~ ! @ # $ % ^ & * ( ) + ` - = { } [ ] : " ; ' < > ? , . / | \
    

Contoh Penggunaan Identifier

Contoh SALAHPenggunaan Identifier
11januari
bulat/datar
#indonesia
diskon%
Contoh BENARPenggunaan Identifier
luas
panjang2
_indonesia
TotalDiskon
buku_5

Panjang identifier pada beberapa compiler pascal bermacam-macam. Namun kebanyakan panjang identifier dibatasi 32 karakter. Sedangkan compiler Free Pascal sendiri memperbolehkan panjang identifier sebanyak 127 karakter. Meskipun demikian, identifier sebaiknya ditulis secara singkat namun merepresentasikan nama dari elemen program tersebut. Hal ini untuk menjaga kompatibilitas dengan compiler lain serta untuk memudahkan pengguna membacanya.

Reserved Words

Sesuai namanya Reserved Word berarti 'Kata yang sudah dipesan'. Maksudnya kata-kata ini sudah digunakan untuk internal program, sehingga kata-kata ini tidak bisa kita gunakan. Reserved words berbeda-beda tiap compiler, berikut reserved words dari tiga compiler pascal paling populer, yakni Turbo Pascal, Delphi dan Free Pascal.

Turbo Pascal
absolute and array asm begin break case const
constructor continue destructor div do downto else end
file for function goto if implementation in inherited
inline interface label mod nil not object of
on operator or packed procedure program record reintroduce
repeat self set shl shr string then to
type unit until uses var while with xor

Delphi

Pada Delphi reserved words sama dengan reserved words pada Turbo Pascal, dengan tambahan reserved words dibawah.

as class except exports finalization finally initialization
is library on property raise threadvar try

Free Pascal

Reserved words pada compiler Free Pascal meliputi reserved words yang ada pada Turbo Pascal dan Delphi plus reserved words berikut.

dispose exit false new true

Hello World! pada awalnya digunakan pada bahasa C untuk menunjukan apakah bahasa pemrograman tersebut bekerja atau tidak. Lambat laun, hello world juga digunakan pada bahasa pemrograman lain seperti java, php dan pascal.

Membuat Aplikasi Hello World! pada Pascal

Menampilkan teks hello world pada layar dalam bahasa pemrograman pascal dilakukan dengan statement write atau writeln. Untuk lebih lengkapnya, silakan amati code berikut.

Source Code
program helloWorld;
    
    begin
        writeln('Hello World!');
        readln();
    end.
program HelloWorld;

Baris ini mendefinisikan nama program bernama Helloworld.

begin
Kode ini menandai awal dari main program.
writeln('Hello, World!');
Baris ini merupakan perintah untuk menampilkan kata 'Hello World!' kedalam console.
readln;
Statement ini berfungsi untuk memberi jeda sampai user menekan tombol. Hal ini untuk mencegah program langsung menutup (dalam hal ini supaya teks 'Hello World!' dapat terbaca.)
end.
Kode ini mendandai akhir dari main program.

Melakukan Compile

Sebelum kita menjalankan code pascal, code tersebut harus terlebh dahulu di compile supaya dapat dieksekusi oleh komputer. Pada Charm Pascal IDE, compile program bisa dilakukan dengan cara klik menu Build Compile

Jika compile sukses, akan muncul pop up window yang menyatakan bahwa compile sukses dengan 0 error. Namun jika gagal, program akan menampilkan pop up window dengan keterangan baris dan kolom letak kesalahan kode, serta jenis kesalahannya.

Menjalankan Program

Setelah proses compile berhasil, langkah selanjutnya adalah menjalankan program untuk melihat apakah hasilnya sudah sesuai dengan apa yang kita inginkan atau tidak. Untuk menjalankan program bisa dilakukan dengan cara klik menu Build Run atau dengan menekan tombol run seperti yang ditunjukan pada gambar berikut.

Setelah program dijalankan, akan muncul jendela console dengan tulisan "Hello World!". Hal tersebut menandakan bahwa program yang kita jalankan sudah berjalan sesuai dengan apa yang kita harapkan.

Pascal Hello World
Output Program : Hello World dalam Pascal.
Sebelum membuat program pascal, terlebih dahulu kita harus mengenal struktur bahasa pemorgraman pascal. Struktur ini akan tetap jadi acuan selama kita menggunakan bahasa pemrograman pascal kedepannya.

Struktur Dasar

Secara garis besar, bahasa pemrograman pascal memiliki struktur sebagai berikut.
  • Judul Program
  • Blok Program
    • Deklarasi
      1. Label
      2. Konstanta
      3. Tipe
      4. Variabel
      5. Prosedur/Fungsi
    • Main Program

Mari kita ulas satu per satu struktur diatas.

Judul Program

Bagian ini menginisialisasikan judul dari program yang akan dibuat. Judul program diawali dengan kata program diikuti dengan nama program dan diakhiri dengan simbol semicolon (;). Bagian ini sebenarnya adalah opsional, boleh ditambahkan boleh tidak.

Contoh
program hitungLuas;
Deklarasi Label

Label merupakan nama yang diberikan pada blok kode tertentu, yang dapat dilompati dari lokasi lain dengan statement goto.

label
 lokasi1;
 asdf;
Deklarasi Konstanta

Konstanta merupakan elemen yang dideklarasikan pada awal program dan memiliki nilai yang tidak dapat diubah.

const
 nama = 'Budi';
 panjang = 20;
 pi = 3.1415926535897932;
Deklarasi Tipe

Deklarasi tipe merupakan deklarasi tipe data yang ditentukan oleh pengguna.

type
 arrayKu = array [0 .. 9] of Integer;
Deklarasi Variabel

Variabel merupakan elemen program yang dikaitkan dengan identifier dan memiliki nilai yang bisa diubah.

var
 nama : string;
 luas : integer;
Deklarasi Prosedur/Fungsi

Prosedur/Fungsi merupakan sekumpulan statement yang terpisah dari program utama. Prosedur/Fungsi dapat dipanggil berulang-ulang dari program utama.

procedure hitung(var p,l:char);
 var luas:integer; 
 begin
  luas := p * l;
 end;
Main Program

Main program adalah bagian yang berisi statement dan ekspresi yang disusun berdasarkan algoritma tertentu.

Unsur-unsur program harus diletakkan dalam susunan yang benar, akan tetapi unsur yang tidak diperlukan dapat dihilangkan. Misalkan pada program hello world berikut, dia hanya bertugas menampilkan dua kata, namun memiliki semua elemen yang dibutuhkan.
Source Code
program HelloWorld;

begin
   writeln('Hello, World!');
   readln;
end. 

Mari kita lihat penjelasan bagian-bagian kode diatas.

program HelloWorld;

Baris ini mendefinisikan nama program bernama Helloworld.

begin
Kode ini menandai awal dari main program.
writeln('Hello, World!');
Baris ini merupakan perintah untuk menampilkan kata 'Hello World!' kedalam console.
readln;
Statement ini berfungsi untuk memberi jeda sampai user menekan tombol. Hal ini untuk mencegah program langsung menutup (dalam hal ini supaya teks 'Hello World!' dapat terbaca.)
end.
Kode ini mendandai akhir dari main program.

White Space & Komentar

White space merupakan istilah yang merujuk pada penggunaan karakter 'tak terlihat' seperti spasi, tab dan enter. Tujuan penggunaan space adalah untuk membuat kode lebih rapi dan mudah dibaca atau dikenal juga dengan istilah indentasi. Sedangkan komentar adalah teks yang berfungsi sebagai penjelas suatu blok kode. Komentar dalam pascal dinyatakan dengan simbol (* sebagai pembuka dan *) sebagai penutup. White space dan komentar dalam pascal tidak akan dieksekusi (diabaikan)

Case Sensitivity

Case sensitivity dalam dunia pemrograman merupakan sifat penulisan syntax apakah membedakan antara huruf kapital atau tidak. Bahasa pemrograman pascal sendiri bersifat Case Insensitive, artinya dia tidak berpengaruh terhadap penulisan huruf kapital atau huruf kecil. Misalnya kata INDONESIA, Indonesia, indonesia atau InDoNeSiA dianggap sama. Walaupun demikian, supaya kode mudah dibaca, penulisan kode program sebaiknya memperhatikan kaidah-kaidah penggunaan huruf kapital dan huruf kecil.

Referensi

  • Modul Bahasa Pemrograman Pascal UB
  • Modul Bahasa Pemrograman Pascal UNISBA
  • http://wiki.freepascal.org/Program_Structure

Dalam menyusun tutorial ini, saya menggunakan program Free Pascal sebagai compilernya dan Charm Pascal sebagai IDE pengganti IDE Free Pascal. Saya memilih kedua software tersebut karena gratis dan mudah digunakan. Pada posting ini kita akan melakukan instalasi kedua program tersebut dan mempelajari bagaimana menggunakan software tersebut. Menginstall kedua program tersebut tidaklah sulit, khususnya bagi anda yang sudah pernah menginstall software sebelumnya. Langkah-langkah instalasi saya dokumentasikan dalam slide dibawah ini.

Free Pascal Compiler

Dalam post ini dan seterusnya kita hanya akan menggunakan compiler Free Pascal. Namun untuk sekedar tahu saja kira-kira seperti ini tampilan visual dari Free Pascal IDE. Walaupun tampilan masih berbasis CMD, tetapi FP IDE sebenarnya juga bisa merespon klik mouse. Free Pascal IDE memiliki shortcut keyboard yang agak berbeda dari program aplikasi lain. Misalnya F2 untuk menyimpan file, Alt + Backspace untuk undo, Ctrl + Ins untuk copy text ke clipboard, Shift + Ins untuk paste, dan lain sebagainya, daftar lebih lengkapnya bisa dilihat melalui link ini. Bagi pemula, hal ini menjadi kesulitan tersendiri ketika harus membiasakan diri dengan shortcut keyboard tersebut.

Free Pascal IDE.
Free Pascal IDE.

Charm Pascal IDE

Dibandingkan dengan IDE Free Pascal, Charm Pascal IDE memiliki user interface dan user experience yang lebih friendly. Selain itu dengan berbagai macam fitur seperti sytax highlighting, auto indent, code snippets, code folding, dark theme dan lain sebagainya, membuat Charm Pascal cocok digunakan baik yang masih dalam tahap belajar maupun yang sudah tingkat lanjut.

Charm Pascal IDE.
Charm Pascal IDE.