Kamis, 31 Desember 2015

Free Pascal - Memulai Masuk ke Dunianya


Free Pascal merupakan salah satu bahasa pemrograman favorit dalam kompetisi yang menggunakan bahasa pemrograman. Syntax kode-nya mudah dibaca sehingga bahasa ini menjadi pilihan di Indonesia. Katanya, Free Pascal mudah dipelajari karena itu dalam soal OSN Komputer tingkat Kabupaten dan Provinsi menggunakan Free Pascal sebagai pseudo-code-nya. Dalam tulisan ini, saya akan bahas bagaimana memulai belajar bahasa Free Pascal. Sebenarnya, nama bahasa pemrograman ini Pascal, namun kita menggunakan Free Pascal sebagai compiler-nya. Selain Free Pascal, ada Turbo Pascal yang populer di sistem opersi Windows. Kenapa kita belajar Free Pascal? Karena dalam sistem judment tokilearning.org menggunakan Free Pascal. Sehingga lebih baik pelajari Free Pascal yang digunakan di dalam semua sistem judment.

Secara umum, untuk mengenal sebuah bahasa pemrograman, kita akan mulai dengan sedikit sejarah bahasa pemrograman tersebut. Kemudian berlanjut ke materi input/output, if statement, looping, lalu sedikit tentang function (method).

Sejarah

Pengembang utama Free Pascal adalah Florian Klämpfl. Ia menulis compiler ini dengan bahasa Object Pascal dan Assembly. Veris 1.0 dirilis pada bulan Juli 2000. Nama Free Pascal Compiler disebut dengan fpc yang kini (31 Desember 2015) telah menginjak versi 2.7.1.

Struktur Umum Kode

Di dalam Free Pascal, secara umum struktur kode-nya terdiri dari nama program (program), variabel (var), pembuka (begin), dan penutup (end.). Namun terkadang ada juga yang menambahkan fungsi definisi untuk compiler (uses). Jika dibuat, maka struktur seperti ini:

program ...; // ... diisi dengan nama program, tanpa spasi
uses ...; // ... diisi dengan module compiler yang ingin digunakan, ini optional, boleh tidak digunakan
var ...: ...; // ...: ... diisi dengan "nama variabel": "tipe data"
begin // pembuka
... // ... isi kode yang akan dijalankan
end. // penutup

Komentar

 Dalam bahasa pemrograman, ada yang namanya komentar. Komentar merupakan bagian yang diabaikan oleh compiler, sehingga apapun yang kita tulis tidak akan berpengaruh. Di dalam Free Pascal, kita dapat gunakan:

(* Ini Komentar *)
{ Ini Komentar }
// Ini Komentar
Perbedaan dari ketiga-nya yaitu untuk // hanya mengabaikan 1 baris. Sementara (* *) dan { } akan mengabaikan sebanyak apapun dari pembuka (* atau { hingga penutup } atau *).

Input/Output

Untuk masukan berupa variabel di dalam bahasa Free Pascal kita dapat gunakan perintah var. Kemudian diikuti dengan nama variabel serta tipe data-nya. Setelah itu, barulah kita berikan masukan. Sebagai contoh, saya akan buat variabel dengan nama "angka" serta dengan tipe data Byte. Secara umum, penulisannya seperti ini:

var angka: Byte = 5;
// atau
var angka: Byte;
begin
  angka := 5;
end.
Lalu, untuk keluaran, yang biasa digunakan merupakan write atau writeln. Write untuk menulis, serta writeln untuk menulis di satu baris tersendiri. Keduanya hanya mau diberi kutip satu ('). Jika diberikan kutip dua (") maka akan muncul error dan kode tidak di compile. Secara umum penulisannya seperti ini:

write('A');
write('B');
// maka keluaran: AB
writeln('A');
writeln('B');
// maka keluaran:
// A
// B
writeln(angka); // Asumsikan angka telah didefinisikan di atas
// maka keluaran:

// 5
Keduanya juga dapat ditulis kosong seperti ini:

write;
writeln;

If Statement

Di dalam bahasa pemrograman, sangat erat dengan yang namanya logical expression. Nah, hal tersebut bersangkutan dengan if statement. Bisa dibilang, if statement merupakan hal wajib ada sama halnya dengan input/output. Di dalam Free Pascal, penggunaan if statement secara umum seperti ini:

if kondisi then perintah;
Untuk 1 perintah, sebaiknya gunakan if-then dalam satu baris. Atau bisa juga:

if kondisi then
  perintah;
Dan untuk lebih dari 1 perintah, bisa gunakan if-then-begin-end seperti ini:

if kondisi then
begin
  perintah;
  perintah;
  // ...
end;

If digunakan untuk mencari nilai benar. Misal, if kondisi = ketentuan. Jika kondisi sama dengan ketentuan, maka akan bernilai benar dan kode di bawah if tersebut akan dieksekusi. Lalu, bagaimana jika bernilai salah? Kode dalam if tidak akan dieksekusi, namun akan berjalan ke else apabila didefinisikan.

if kondisi = ketentuan then
  perintah // jika bernilai benar
else
  perintah; // Jika bernilai salah
Jika perintahnya lebih dari 1, maka penggunaannya seperti ini:

if kondisi = ketentuan then
  begin
    // perintah...
  end
else
  begin
    // perintah...
  end;
"=" di dalam kode tersebut disebut ekspresi. Lalu, apa saja yang dapat kita gunakan di dalam Free Pascal?
Secara umum, kita dapat gunakan apa yang ada di tabel untuk ekspresi.

EkspresiPenjelasan
=Sama dengan. Apabila kondisi sama dengan ketentuan maka benar
>Lebih dari. Apabila kondisi lebih dari ketentuan maka benar
>=Lebih dari sama dengan. Apabila kondisi lebih dari sama dengan ketentuan maka benar
<Kurang dari. Apabila kondisi kurang dari ketentuan maka benar
<=Kurang dari sama dengan. Apabila kondisi kurang dari sama dengan ketentuan maka benar
<>Tidak. Apabila kondisi tidak sama dengan ketentuan maka benar

Di dalam statement, kita dapat menggunakan boolean untuk multiple condition. Misal, jika kondisi = ketentuan atau kondisi <> ketentuan.

if (kondisi1 = ketentuan1) or (kondisi2 <> ketentuan2) then
  perintah;
Secara umum, boolean yang digunakan di dalam if yaitu or dan and. Or (atau) apabila salah satunya bernilai benar, maka ia akan bernilai benar. And (dan) apabila salah satunya bernilai salah, maka ia akan bernilai salah. Jika Anda ingin lihai dalam penggunaan ini, sebaiknya Anda mulai belajar "Logika Matematika".

Else If dilakukan secara manual di dalam Free Pascal. Karena tidak ada perintah else-if.

if kondisi = ketentuan then
  if kondisi2 = ketentuan2 then
    perintah;

if kondisi = ketentuan then
  if kondisi2 = ketentuan2 then
    perintah
  else
    perintah
else
  perintah;

Looping

Looping di dalam Free Pascal secara umum ada 3, yaitu for, repeat, dan while.

For

For digunakan untuk kasus-kasus yang biasanya menggunakan fixed number. Semisal, saya mau looping sebanyak 10 kali dan saya butuh variabel berapa kali saya sudah melakukan loop.

var i: Byte;
begin
  for i := 1 to 10 do
    writeln('Saya sudah looping sebanyak ', i, 'kali!');
end.
Sama halnya dengan if statement, jika di dalam for kita akan memberikan perintah lebih dari satu, maka gunakan block begin-end.

var i: Byte;
begin
  for i := 1 to 10 do
    begin
      // perintah
      // perintah
    end;
end.
Di kode tersebut terdapat perintah "to" yang maksudnya hingga. Semisal, saya ingin looping dari 1 hingga 10. Maka gunakan to, "1 to 10". Lalu, bagaimana jika saya ingin perhitungan mundur? Anda bisa gunakan downto. Semisal, saya ingin looping dari 100 hingga 1. Maka gunakan downto, "100 downto 1".
Sebenarnya selain for-to, ada for-in. Tapi, for-in digunakan dalam kasus yang memiliki Enumeration (daftar barisan data). Hal-hal yang sifatnya advanced akan dibahas di tulisan tersendiri.

Repeat

Seperti namanya, fungsi dari repeat yaitu ulangi perintah hingga ke batas yang ditentukan (repeat-until). Untuk penggunaannya:

repeat
  perintah;
until ketentuan;
Semisal, saya ingin ulangi perintah hingga 100 kali dengan variabel i = 1 (dari 1 hingga 100).

repeat
  writeln('Cetak ini terus!');
  i := i+1; // jika variabel i tidak ditambahkan secara manual, maka ini akan berulang terus selamanya
until i >= 100;
Perbedaan antara for dan repeat telah terlihat bukan? For secara otomatis melakukan penambahan +1 pada variabel patokannya. Sementara repeat, jika tidak ditambahkan secara manual ia akan terus mengulanginya. Karena, variabel until tidak akan pernah tercapai.

While

Penggunaan while hampir sama dengan repeat. Bedanya, pada repeat pengecekan ketercapaian kondisi dilakukan saat akhir perulangan. Sementara pada while, akan dicek saat awal memulai perulangan. Dan while akan melakukan perulangan jika kondisi belum keluar dari ketentuan. Adapun penggunaannya:

i := 1;
// Ulangi hingga variabel i di atas 10
while i < 10 do
  perintah;
  i := i+1; // penambahan manual
while i < 10 do
  begin
    perintah;
    perintah;
    i := i+1; // penambahan manual
  end;

Tambahan

Di dalam looping, Anda dapat bermain dengan perintah break dan continue. Break digunakan untuk menghentikan looping. Sementara continue digunakan untuk melewati dan langsung ke looping yang selanjutnya. Adapun kode yang dilewati hanya kode yang berada di bawahnya.

i := 0;
repeat
  i := i+1;
  if i = 2 then continue;
  writeln(i);
  if i = 5 then break;
until i > 10;
Kode di atas akan berjalan looping dari 1 hingga 10. Namun, pada saat i = 2 kode di bawahnya tidak akan dieksekusi dan langsung berlanjut ke proses berikutnya. Lalu, pada saat i = 5, kode akan dihentikan dan keluar dari looping. Sehingga keluaran akan menjadi:

1
3
4
5

Function

Function digunakan untuk membuat sebuah method yang akan digunakan berkali-kali untuk menghemat penulisan. Di dalam Free Pascal, function ditulis di atas pembuka (begin). Adapun penulisan untuk function seperti ini:

function name(parameter): dataType;
begin
  // isi function
end;
Contoh:

var i: Integer;
function
tambah(i: Integer): Integer;
begin
  i := i+1;
  tambah := i; // return value di dalam Free Pascal
end;
Selain function, ada procedure. Perbedaannya, procedure tidak mendukung return value sehingga hanya digunakan untuk hal-hal yang bersifat langsung berupa keluaran. Tapi, yang paling sering digunakan bukanlah function, namun procedure karena jarang ada orang yang bermain return value di Free Pascal. Apa yang dibuat, langsung dikeluarkan. Seperti itulah.

Procedure

Penggunaannya tidak jauh berbeda dari function.

var i: Integer;
procedure tambah(i: Integer);
begin
  i := i + 1;
  writeln(i);
end;
Dilihat dari perbadingannya sudah terlihat bukan? Seperti yang saya jelaskan sebelumnya di dalam function.

Penutup

Demikian tulisan saya yang membawa Anda memulai belajar bahasa Pascal dengan menggunakan compiler Free Pascal. Adapun yang kita bahas hanyalah sebagian kecil, yaitu secara umum. Kita sekarang telah mengenal komentar, input/output, if statement, function serta procedure, dan looping di dalam bahasa Pascal. Masih sangat banyak yang belum saya jelaskan. Dari masing-masing perintah seperti if, while, repeat, dan lain sebagainya masih banyak yang belum dijelaskan dan dijabarkan.
Saya hanyalah manusia biasa yang mencoba menjadi penulis. Saya juga masih baru belajar. Jadi, apabila ada kesalahan harap dikoreksi dan dimaklumi serta dimaafkan. Saya akan memperbaikinya segera apabila terdapat kesalahan. Terima kasih.

Tulisan Lainnya:

  • PHP - Penulisan Gaya If Statement Dalam bahasa pemrograman PHP, ada banyak cara atau gaya penulisan if statement. Beberapa gaya mungkin menjadi ciri khas seseorang, tapi beberapa gaya penulisan ini juga dapat digunakan sesuai kebutuhannya. Misal, apabila di… Baca
  • Free Pascal - Referensi Tipe Data Secara Umum Bahasa pemrograman Free Pascal sebenarnya memiliki banyak tipe data. Namun, beberapa tipe data yang digunakan secara umum meliputi Integer, Subrange, Boolean, Strings, dan Arrays. Yang saya maksud "umum" di sini merupakan… Baca
  • PHP - Kompleksitas Kode untuk Keluaran PHP merupakan salah satu bahasa yang sangat populer di Indonesia. Dan tulisan ini saya buat untuk semua kalangan developer yang memcari efisiensi penulisan kode serta kompleksitasnya sehingga waktu eksekusi dapat dioptima… Baca
  • Free Pascal - Tips untuk Kode yang Lebih Baik Di dalam bahasa pemrograman apapun, dikenal dengan faster code dan smaller code. Adapun tujuannya yaitu untuk mendapatkan kompleksitas kode yang baik sehingga ukuran kode ringan serta cepat. Berikut ini tips yang diberikan… Baca
  • Free Pascal - Memulai Masuk ke Dunianya Free Pascal merupakan salah satu bahasa pemrograman favorit dalam kompetisi yang menggunakan bahasa pemrograman. Syntax kode-nya mudah dibaca sehingga bahasa ini menjadi pilihan di Indonesia. Katanya, Free Pascal mudah dip… Baca

0 komentar :

Posting Komentar

Komentar saya buka untuk umum termasuk Anonim. Gunakanlah bahasa Indonesia yang baik dan benar.