Lompat ke isi

Free Pascal: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28476571; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Free Pascal''' adalah [[kompilator]] [[sumber terbuka]] untuk bahasa [[Pascal]] dan [[Object Pascal]] yang berjalan secara lintas platform. Saat versi 2.4.4, kompilator ini dapat menghasilkan aplikasi di sekitar 20 pasangan arsitekur-sistem operasi (lihat ). Untuk arsitektur-sistem operasi yang kecil (misalnya perangkat genggam), aplikasi dapat dihasilkan melalui [[kompilasi silang]].
[[File:FPClogogif.gif|thumb|right|280px|FPClogogif]]
 
'''Free Pascal''' adalah [[kompilator]] [[sumber terbuka]] untuk bahasa [[Pascal]] dan [[Object Pascal]] yang berjalan secara lintas platform. Saat versi 2.4.4, kompilator ini dapat menghasilkan aplikasi di sekitar 20 pasangan arsitekur-sistem operasi (lihat <ref>[http://wiki.lazarus.freepascal.org/Platform_List Salinan arsip].</ref>). Untuk arsitektur-sistem operasi yang kecil (misalnya perangkat genggam), aplikasi dapat dihasilkan melalui [[kompilasi silang]].


== Sejarah ==
== Sejarah ==
Baris 5: Baris 7:


== Dialek ==
== Dialek ==
Dialek utama yang diimplementasikan oleh Free Pascal adalah dialek yang menjadi standar ''[[de facto]]'' oleh [[programmer]] Pascal di seluruh dunia, yaitu [[Borland Pascal]]. Namun, tim pengembang tidak menutup kesempatan jika ada yang ingin menambahkan dukungan untuk dialek [[ANSI]]/[[ISO]] Pascal (dukungan dasar sudah tersedia di versi yang masih dikembangkan). Selain dialek utama tersebut, terdapat beberapa dialek lain untuk mendukung kompatibilitas dengan implementasi bahasa Pascal oleh kompilator lain. Saat ini setidaknya ada 6 dialek* yang didukung oleh Free Pascal, dengan perbedaan terletak pada fitur-fitur yang dapat digunakan dan semantik beberapa pengenal:
Dialek utama yang diimplementasikan oleh Free Pascal adalah dialek yang menjadi standar ''[[de facto]]'' oleh [[programmer]] Pascal di seluruh dunia, yaitu [[Borland Pascal]]. Namun, tim pengembang tidak menutup kesempatan jika ada yang ingin menambahkan dukungan untuk dialek [[ANSI]]/[[ISO]] Pascal (dukungan dasar sudah tersedia di versi yang masih dikembangkan). Selain dialek utama tersebut, terdapat beberapa dialek lain untuk mendukung kompatibilitas dengan implementasi bahasa Pascal oleh kompilator lain. Saat ini setidaknya ada 6 dialek* yang didukung oleh Free Pascal, dengan perbedaan terletak pada fitur-fitur yang dapat digunakan dan semantik beberapa pengenal:<ref>[http://www.freepascal.org/docs-html/prog/progap4.html Salinan arsip].</ref>
 
{| class="wikitable"
|-
!  !! Overloading !! Class, Interface, Exception !! Integer = LongInt !! String = AnsiString !! @procvar !! Komentar bersarang !! Konversi otomatis PChar -> String !! cvar !! Kepala fungsi forward harus diulang ketika diimplementasikan
|-
| FPC (default) ||  ||  ||  ||  ||  ||  ||  ||  ||
|-
| ObjFPC ||  ||  ||  ||  ||  ||  ||  ||  ||
|-
| TP ||  ||  ||  ||  ||  ||  ||  ||  ||
|-
| Delphi ||  ||  ||  ||  ||  ||  ||  ||  ||
|-
|}
''* tidak terdapat informasi mengenai perbedaan fitur-fitur di atas untuk dialek MacPas dan belum ada dokumentasi untuk dialek ISO''
''* tidak terdapat informasi mengenai perbedaan fitur-fitur di atas untuk dialek MacPas dan belum ada dokumentasi untuk dialek ISO''


Baris 27: Baris 41:
=== Paket-Paket Lainnya ===
=== Paket-Paket Lainnya ===
Paket-paket yang tidak termasuk di atas digolongkan ke dalam paket-paket lain. Paket-paket ini menambah fungsionalitas yang ada tetapi tidak secara khusus terkategorisasi dan terkadang tidak dipertahankan oleh tim pengembang. Termasuk di antaranya implementasi ekspresi reguler, alternatif manipulasi arsip terkompresi, pengevaluasi ekspresi dan sebagainya.
Paket-paket yang tidak termasuk di atas digolongkan ke dalam paket-paket lain. Paket-paket ini menambah fungsionalitas yang ada tetapi tidak secara khusus terkategorisasi dan terkadang tidak dipertahankan oleh tim pengembang. Termasuk di antaranya implementasi ekspresi reguler, alternatif manipulasi arsip terkompresi, pengevaluasi ekspresi dan sebagainya.
== Referensi ==


== Pranala luar ==
== Pranala luar ==
=== Situs web resmi ===
=== Situs web resmi ===
*  FPC
*  FPC
Baris 39: Baris 48:


=== Pengenalan umum ===
=== Pengenalan umum ===
* [https://www.freepascal.org/docs.var Official documentation]
* [https://www.freepascal.org/docs.var Official documentation]  
* [https://castle-engine.io/modern_pascal_introduction.html Modern Object Pascal Introduction for Programmers]  - by Michalis Kamburelis
* [https://castle-engine.io/modern_pascal_introduction.html Modern Object Pascal Introduction for Programmers]  - by Michalis Kamburelis


Baris 49: Baris 58:


=== Situs dengan kekhususan dalam pengembangan game ===
=== Situs dengan kekhususan dalam pengembangan game ===
* [http://www.pascalgamedevelopment.com Pascal Game Development]
* [http://www.pascalgamedevelopment.com Pascal Game Development]  
* [http://www.pascalgamer.com Pascal Gamer Magazine]
* [http://www.pascalgamer.com Pascal Gamer Magazine]  
* [http://itaprogaming.free.fr/tutorial.html FPC 4 GBA Programming Tutorial]  – an extensive tutorial into game programming on the Game Boy Advance with Free Pascal
* [http://itaprogaming.free.fr/tutorial.html FPC 4 GBA Programming Tutorial]  – an extensive tutorial into game programming on the Game Boy Advance with Free Pascal


== Referensi ==
<references />


== Sumber dan atribusi ==


== Sumber dan atribusi ==
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Free+Pascal&oldid=28476571 Wikipedia bahasa Indonesia], revisi 28476571 (2025-11-14T05:18:04Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Free+Pascal&oldid=28476571 Wikipedia bahasa Indonesia], revisi 28476571 (2025-11-14T05:18:04Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 24 Agustus 2026 18.08

FPClogogif

Free Pascal adalah kompilator sumber terbuka untuk bahasa Pascal dan Object Pascal yang berjalan secara lintas platform. Saat versi 2.4.4, kompilator ini dapat menghasilkan aplikasi di sekitar 20 pasangan arsitekur-sistem operasi (lihat [1]). Untuk arsitektur-sistem operasi yang kecil (misalnya perangkat genggam), aplikasi dapat dihasilkan melalui kompilasi silang.

Sejarah

Ketika Borland memutuskan tidak akan ada Turbo Pascal 8.0 dan produk berikutnya (Delphi) hanya akan tersedia untuk platform Windwos, seorang pelajar Jerman, Florian Paul Klämpfl memulai pembuatan kompilator Pascal yang ditargetkan memiliki kompatibilitas tinggi dengan Turbo Pascal tetapi tersedia di sebanyak mungkin platform dan menghasilkan kode 32-bit. Platform pertama yang didukung adalah DOS dengan go32v1 extender. Saat itu, kompilatornya bernama FPK Pascal dan ditulis dalam Turbo Pascal ditambah dengan beberapa Assembly untuk hal-hal yang tidak dapat dilakukan dari bahasa tingkat tinggi. Karena Turbo Pascal merupakan kompilator 16-bit, maka FPK Pascal juga 16-bit walaupun kode yang dihasilkannya 32-bit. 2 tahun setelahnya, FPK Pascal mampu mengompilasi kode sumbernya sendiri, menjadikannya 32-bit dan tidak lagi tergantung dengan Turbo Pascal. Kompilator tersebut pun mulai didistribusikan di Internet dan namanya diganti menjadi Free Pascal Compiler (FPC).

Dialek

Dialek utama yang diimplementasikan oleh Free Pascal adalah dialek yang menjadi standar de facto oleh programmer Pascal di seluruh dunia, yaitu Borland Pascal. Namun, tim pengembang tidak menutup kesempatan jika ada yang ingin menambahkan dukungan untuk dialek ANSI/ISO Pascal (dukungan dasar sudah tersedia di versi yang masih dikembangkan). Selain dialek utama tersebut, terdapat beberapa dialek lain untuk mendukung kompatibilitas dengan implementasi bahasa Pascal oleh kompilator lain. Saat ini setidaknya ada 6 dialek* yang didukung oleh Free Pascal, dengan perbedaan terletak pada fitur-fitur yang dapat digunakan dan semantik beberapa pengenal:[2]

Overloading Class, Interface, Exception Integer = LongInt String = AnsiString @procvar Komentar bersarang Konversi otomatis PChar -> String cvar Kepala fungsi forward harus diulang ketika diimplementasikan
FPC (default)
ObjFPC
TP
Delphi

* tidak terdapat informasi mengenai perbedaan fitur-fitur di atas untuk dialek MacPas dan belum ada dokumentasi untuk dialek ISO

Paket dan Pustaka

Dalam distribusi standarnya, Free Pascal menyertakan puluhan paket dan pustaka untuk membuat aplikasi terutama yang bersifat non-trivial. Karenanya Free Pascal mampu dan mudah digunakan untuk membuat aplikasi besar, pemrogram tidak perlu lagi repot-repot mencari fungsionalitas yang diperlukan karena sebagian besar sudah diimplementasikan dalam pustaka yang disediakan. Secara umum, pustaka-pustaka yang disediakan dapat diklasifikasi dalam paket-paket. Dari keseluruhan paket, dapat dibagi menjadi 3 paket besar, yaitu RTL (Run-Time Library), FCL (Free Component Library) dan paket pihak ketiga.

RTL

RTL merupakan fondasi dari semua paket yang ada. Paket ini berisi pustaka dengan fungsi-fungsi dan definisi tipe-tipe dasar (masukan/keluaran, aritmetika, untaian, larik, waktu dan tanggal, manajemen memori dan ulir dan sebagainya), dukungan untuk pemrograman berorientasi objek, antarmuka dengan sistem operasi (GUI primitif, jaringan, perangkat keras dan sebagainya), dukungan informasi pengawakutuan dan pemeriksa kebocoran memori. Terdapat satu pustaka terpenting dalam paket ini yang akan selalu digunakan oleh pustaka maupun program apapun, yaitu unit System. Di dalamnya terdapat fungsi-fungsi "ajaib" kompilator (karena secara khusus dibuat untuk digunakan oleh kompilator) terutama untuk masukan/keluaran, konversi antar tipe data, dan manipulasi angka.

FCL

FCL merupakan paket yang berisi fungsi-fungsi tingkat tinggi yang ditujukan untuk mempermudah pembuatan program dengan menyediakan fungsionalitas dengan kompleksitas tinggi namun sering kali diperlukan. Termasuk di dalam paket ini adalah pustaka-pustaka yang mengimplementasikan struktur data, perlindungan data (enkripsi/dekripsi), layanan (daemon di dunia *nix), basis data, pencatatan (logging), pengatur waktu, manipulasi berkas multimedia, manipulasi arsip terkompresi, internasionalisasi, stream, implementasi manajemen memori alternatif, komunikasi antar proses, informasi tipe data program berjalan, objek sinkronisasi (untuk ulir), protokol komunikasi (http, ftp, rpc dan sebagainya), kejadian asinkron, pengurai ekspresi, manipulasi registry, unit testing, format data (json, xml, ini dan sebagainya) dan masih banyak lagi. FCL murni diimplementasikan dalam bahasa Pascal, sehingga portabilitasnya sama tingginya dengan kompilator.

Paket Pihak Ketiga

Paket pihak ketiga terbagi lagi menjadi dua, yaitu wrapper (biasanya untuk pustaka yang ditulis dalam bahasa C) dan port (hasil konversi dari bahasa maupun kompilator lain).

Wrapper biasanya dibuat untuk pustaka-pustaka yang sudah sangat kompleks atau yang memerlukan dukungan perangkat keras, sehingga cara yang paling masuk akal untuk dapat menggunakannya adalah dengan mengaitkan aplikasi melalui wrapper ini. Pustaka-pustaka yang termasuk kategori ini diantaranya OpenGL, OpenAL, GTK, Aspell, GMP, Gnome, GDB, ImageMagick dan POSIX threads.

Port biasanya dibuat agar penggunaan pustaka bisa dimaksimalkan. Misalnya, mungkin dalam bahasa aslinya suatu pustaka hanya dapat berjalan di atas sistem operasi Windows. Dengan adanya port ini, diharapkan pustaka dapat berjalan juga di sistem operasi lainnya. Selain itu, dengan adanya port memudahkan untuk maintenance karena tidak ada ketergantungan terhadap bahasa / kompilator lain.

Paket-Paket Lainnya

Paket-paket yang tidak termasuk di atas digolongkan ke dalam paket-paket lain. Paket-paket ini menambah fungsionalitas yang ada tetapi tidak secara khusus terkategorisasi dan terkadang tidak dipertahankan oleh tim pengembang. Termasuk di antaranya implementasi ekspresi reguler, alternatif manipulasi arsip terkompresi, pengevaluasi ekspresi dan sebagainya.

Pranala luar

Situs web resmi

  • FPC
  • Lazarus RAD IDE

Pengenalan umum

Alat pengembangan FPC lainnya

  • FPS –a complete Win32-based IDE for FPC, including debugger (trace, breakpoint and watch windows)
  • DevPascal – Win32 based IDE for FPC
  • Tabitha – a Windows portable editor for FreePascal
  • Morfik – Win32 based IDE for build Ajax-based web applications that uses FPC for compiling back-end server side logic

Situs dengan kekhususan dalam pengembangan game

Referensi

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28476571 (2025-11-14T05:18:04Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.