Turbo Pascal

**Turbo Pascal** adalah sebuah sistem pengembangan perangkat lunak yang terdiri atas kompiler dan lingkungan pengembangan terintegrasi (dalam bahasa inggris: *Integrated Development Environment - IDE*) atas bahasa pemrograman pascal untuk sistem operasi CP/M, CP/M-86, dan MS-DOS, yang dikembangkan oleh Borland pada masa kepemimpinan Philippe Kahn. Nama **Borland Pascal** umumnya digunakan untuk paket perangkat lunak tingkat lanjut (dengan kepustakaan yang lebih banyak dan pustaka kode sumber standar) sementara versi yang lebih murah dan paling luas digunakan dinamakan sebagai **Turbo Pascal**. Nama Borland Pascal juga digunakan sebagai dialek spesifik Pascal buatan Borland.

Borland telah menembangkan tiga versi lama dari Turbo Pascal secara gratis disebabkan karena sejarahnya yang panjang khusus untuk versi 1.0, 3.02, dan 5.5 yang berjalan pada sistem operasi MS-DOS.

## Sejarah
Turbo Pascal pada awalnya adalah kompiler Blue Label Pascal yang dibuat untuk sistem operasi komputer mikro berbasis kaset, NasSys, milik Nascom tahun 1981 oleh Anders Hejlsberg. Kompiler tersebut ditulis ulang untuk CP/M dan dinamai Compas Pascal, dan kemudian dinamai Turbo Pascal untuk sistem operasi MS-DOS dan CP/M. Versi Turbo Pascal untuk komputer Apple Macintosh sebenarnya pernah ditembangkan tahun 1986, tetapi pengembangannya dihentikan sekitar tahun 1992. Versi-versi lain pernah tersedia pula untuk mesin-mesin CP/M seperti DEC Rainbow dalam beberapa penembangan.

### Versi Dos
Kompiler Turbo Pascal didasari pada kompiler Bule Laber Pascal secara resmi dihasilkan untuk NasSys cassette-based operating system dari Nascom mikrokomputer pada 1981 oleh Anders Hejlsberg. Borland melisensikan inti kompiler "PolyPascal" milik Hejlsberg (**Poly Data** adalah nama dari perusahaan Hejlsberg di Denmark), dan menambahkan tampilan muka dan editor. Anders Hejlsberg bergabung dengan perusahaan sebagai karyawan dan arsitek untuk seluruh versi dari kompiler Turbo Pascal dan satu dari tiga versi dari Borland Delphi.
Kompiler pertama sekali dirilis sebagai Compas Pascal untuk CP/M, dan kemudian dirilis pada 20 November 1983 sebagai Turbo Pascal untuk CP/M, CP/M-86 (contoh komputer Apple II yang dipasangkan dengan Z-80 SoftCard) dan mesin DOS. Pada debut pertama a di pasar Amerika, Turbo Pascal dijual 49.99 USD. Kompiler Pascal yang terintegerasikan memiliki kualitas yang sangat bagus dibandingkan dengan produksi Pascal yang lain pada saat itu dan juga sangat diterima dikalangan umum.

Nama Turbo diambil karena berhubungan dengan kecepatan kompuladi dari produksi exekute. Siklus edit/compile/run lebih cepat dibandingkan implementasi dari Pascal yang lain karena semuanya berhubungan dengan membangun program yang disimpan di RAM, dan karena ini merupakan kompiler sekali yang ditulis pada bahasa Assembly. Kompilasi terjadi dengan sangat cepat dibandingkan dengan bahasa yang lain (bahkan kompiler Borland untuk bahasa C), dan waktu programmer juga menjadi hemat sejak program dapat dikompile dan dijalankan dari IDE. Kecepatan file execute COM adalah terobosan untuk developer yang hanya memiliki satu pengalaman dalam mikrokomputer program seperti BASIC.

Bill Gates melihat kesuksesan dari Turbo Pascal pada kehidupan pribadi dan tidak dapat mengerti kenapa produk Microsoft sangat lambat. Dia melampiaskan kemarahannya pada Greg Whitten [direktur programming di Microsoft Languages] dan berteriak padanya selama satu jam. Dia tidak dapat mengerti kenapa Kahn dapat mengalahkan kompetitor kuat seperti Microsoft.

IDE masih sangat canggih sampai sekarang, ketika sumber daya komputer pada PC IBM sangat terbatas (desain IBM memiliki keterbatasan yang besar sehingga performanya tidak dapat melawan produk enterprise yang menguntungkan IBM). IDE sangat simple dan intuitif, dan menu sistem yang sangat terorganisasi dengan baik. Versi terbaru dari penggunaan editor; Wordstar key functions, menjadi standar pada saat ini. Versi selanjutnya dari IDE, didesain untuk PC dengan mengecilkan ruang pada disk dan memory, yang dapat menampilkan definisi dari kata kunci dari bahasa dengan menempatkan kursor pada kata kunci dan menekan F1. Definisi juga menampilkan kode contoh. Ini memberikan pelajaran kepada programmer yang belum handal dengan menggunakan IDE, tanpa membutuhkan pertolongan dari buku.

### Versi 1 hingga versi 3

Borland membeli lisensi atas kompiler PolyPascal yang ditulis oleh Anders Hejlsberg (Poly Data adalah nama perusahaan yang didirikannya di Denmark), dan menambahkan antar muka pengguna serta editor. Anders kemudian bergabung sebagai karyawan dan menjadi arsitek atas semua versi kompiler Turbo Pascal dan tiga versi pertama Borland Delphi.

Versi pertama dari Turbo Pascal, yang kemudian disebut sebagai versi 1, memiliki unjuk kerja yang sangat cepat dibandingkan kompiler pascal untuk komputer mikro lainnya. Kompiler tersebut tersedia untuk sistem operasi CP/M, CP/M-86, dan MS-DOS, dan penggunaannya sangat luas pada masa itu. Versi Turbo Pascal untuk CP/M saat itu bisa digunakan pada komputer Apple II yang sangat populer jika digunakan dengan sebuah Z-80 SoftCard, produk perangkat keras pertama yang ditembangkan microsoft pada tahun 1980.

Pada saat itu CP/M menggunakan format berkas *executable* yang sederhana dengan menggunakan ekstensi .COM; sistem operasi MS-DOS bisa menggunakan baik .COM (tidak kompatibel dengan format yang terdapat pada CP/M) maupun format .EXE. Turbo Pascal pada saat itu hanya mendukung kode biner berformat .COM, pada masa itu hal tersebut tidak menjadi suatu bentuk keterbatasan. Perangkat lunak Turbo Pascal itu sendiri merupakan sebuah berkas berekstensi .COM dan berukuran sekitar 28 kilobita, termasuk editor, kompiler, dan *linker*, dan rutin-rutin pustaka. Efisiensii proses edit/kompilasi/jalankan lebih cepat dibandingkan dengan implementasi paskal pada kompiler lainnya disebabkan semua elemen yang terkait dalam pengembangan program diletakkan pada memori komputer (RAM), dan karena kompilernya sendiri merupakan kompiler berjenis *single-pass compiler* yang ditulis dengan bahasa assembler. Unjuk kerja proses kompilasi sangat cepat dibandingkan dengan produk lain (bahkan dibandingkan dengan kompiler C milik Borland sendiri).

Ketika pertama kali versi Turbo Pascal muncul pada tanggal 20 November 1983, jenis IDE yang digunakannya masih terbilang baru. Pada debutnya terhadap pasar perangkat lunak di Amerika, perangkat lunak tersebut dibandrol dengan harga USD$49.99. Kualitas kompiler pascal terintegrasi terdapat dalam Turbo Pascal sangat baik dibandingkan kompetitor lain dan atas fitur-fitur tersebut ditawarkan dengan harga yang terjangkau.

Versi 2 dan 3 merupakan pengembangan lebih lanjut dari versi sebelumnya, mampu berkerja dalam memori, dan menghasilkan berkas biner berekstensi .COM/.CMD. Dukungan atas sistem operasi CP/M dan CP/M-86 dihentikan setelah versi 3.

### Bahasa Assembly
Saat seluruh versi dari Turbo Pascal dapat memasukkan kode mesin, versi selanjutnya memberikan kemampuan untuk berintegrasi dengan mudah pada bahasa Assembly tanpa pascal.
Dukungan untuk 8086 mode memory disediakan dengan inline assembly, pilihan kompiler, dan ekstensi bahasa seperti kata kunci yang "pasti".

### Versi-versi lanjutan
Versi 4, ditembangkan tahun 1987, merupakan perangkat lunak yang ditulis ulang untuk keseluruhan sistem. Kompiler menghasilkan berkas biner berekstensi .EXE pada MS-DOS, dan tidak lagi .COM. Sistem operasi CP/M dan C/M-86 tidak lagi didukung pada versi kompiler ini. Versi ini pula memperkenalkan sebuah antar muka berlayar penuh dengan yang dilengkapi dengan menu tarik; versi-versi awal memilik layar menu berbasis teks; dan editor berlayar-penuh. Microsoft Windows belum ada saat versi ini ditembangkan, dan bahkan pemanfaatan tetikus-pun masih jarang.

Versi 5.x diperkenalkan dengan layar biru yang kemudian menjadi ciri khas yang sangat familiar, yang kemudian menjadi merek dagang perusahaan perangkat kompiler MS-DOS sampai era DOS berakhir di pertengahan tahun 1990-an.

Versi terakhir yang pernah ditembangkan adalah versi 7. Borland Pascal 7 terdiri atas sebuah IDE, dan kompiler untuk MS-DOS, DOS terekstensi, dan program Windows 3.x. Turbo Pascal 7 di sisi lain hanya bisa membuat program MS-DOS standar. Perangkat lunak tersebut dilengkapi pula dengan pustaka grafis yang mengabstraksi pemrograman dalam menggunakan beberapa driver grafis eksternal, tetapi unjuk kerja pustaka ini tidak memuaskan.

## Bahasa Perakit
Meski semua versi Turbo Pascal mendukung *inline machine code* kode mesin yang disertakan dalam baris kode sumber bahasa pascal, versi-versi berikutnya mendukung integrasi bahasa perakit (Assembly) dengan Pascal secara mudah. Hal ini memungkinkan pemrogram untuk meningkatkan unjuk kerja eksekusi program lebih lanjut, selain itu, memungkinkan pemrogram untuk mengakses perangkat keras secara langsung.

Dukungan atas model memori atas prosesor 8086 tersedia melalui *inline assembly*, opsi kompiler, dan eksensi bahasa seperti menggunakan kata kuci "absolute".

## Suksesi
Pada tahun 1995 Borland menghentikan pengembangan Turbo Pascal dan menggantinya dengan Delphi, berbasis Object Pascal (bahasa Pascal yang telah dilengkapi dengan fitur pemrograman berorientasi objek). Perangkat lunak tersebut membawa banyak konsep baru kepada pengguna Turbo Pascal seperti konsep pemrograman berbasis RAD (singkatan dari *rapid application development*). Meski demikian, versi 32 bit Delphi masih mendukung cukup banyak aspek-aspek yang ada pada Turbo Pascal.

Beberapa produk lain yang kompatibel dengan Turbo Pascal juga bermunculan seperti Free Pascal dan Virtual Pascal.

## Pendidikan
Borland Pascal masih digunakan sebagai materi yang dipelajari sebagai mata pelajaran atau mata kuliah di beberapa sekolah, dan universitas di Jerman, dan Amerika. Di Beligia, Romania, Serbia, Moldova dan Bulgaria Pascal digunakan bahkan di sekolah menengah tingkat pertama. Namun di Afrika selatan, Pascal tidak lagi digunakan, melainkan menggunakan Delphi dan Java.

Beberapa kalangan guru lebih memilih Borland Pascal 7, atau Turbo Pascal 5.5 disebabkan karena lebih sederhana dibandingkan IDE modern yang ada saat ini (seperti Visual Studio, atau Borland JBuilder), dengan demikian meraka dapat memfokuskan pengajaran lebih banyak pada sisi bahasa, dan bukan pada bagaimana cara mengoperasikan IDE tersebut. Selain dari itu, perangkat lunak tersebut tersedia secara gratis dan bisa diunduh dari situs resminya.

## Contoh kode
* Bahasa Pascal tidak bersifat *case sensitive*.
* Secara historis, komentar dalam bahasa pascal diidentifikasikan sebagai `{ seperti ini }`, atau `(* seperti ini *)`, dan bisa terdiri atas beberapa baris. Versi lanjutan Borland Pascal juga mendukung model komentar seperti yang terdapat pada C++.`// seperti ini `, yang berlaku pada satu baris.
* Sintaksis `case` yang lebih fleksibel daripada Pascal standar.
* Himpunan hanya bisa memiliki hingga 28 (256) anggota.
* Standar, string dengan panjang yang tetap didukung, tetapi terdapat pula tipe data `String` yang lebih fleksibel.

Berikut ini adalah contoh klasik program Halo dunia dengan Turbo Pascal:

```pascal
begin
  WriteLn('Halo dunia');
end.
```


Dan berikut ini contoh program yang meminta masukan nama dan menuliskannya kembali di layar sebanyak seratus kali:

```pascal
program TulisNama;

var
  ANama: String; { Deklarasi variabel Name sebagai string }
  AUlang: integer; { variabel yang digunakan untuk perulangan }
begin
  Write('Masukkan nama anda: ');
  Readln(ANama); { Readln akan membaca masukan yang dientrikan oleh pengguna }
  for AUlang:= 1 to 100 do
    WriteLn('Halo ', ANama)
end.
```


## Rujukan

## Lihat pula
* Borland Delphi
* Pascal

## Pranala luar
*  Borland Developer Network Museum 
*  comp.lang.pascal.borland Mini FAQ , contains links to Runtime Error 200 patches and updated RTLs
*  SWAG SourceWare Archive Group — collection of source code and program examples for the Pascal programming language
*  Turbo Pascal 3 Code Generation Detailed explanation of Turbo Pascal 3 code generation
*  Turbo Pascal 7 Internals  Detailed explanation of Turbo Pascal 7 compiler with source code in Turbo Pascal
*  Turbo Pascal programming material 
*  comp.lang.pascal.borland at Google
*  Turbo Pascal programming material: games, graphics, mathematics, manual