Kamis, 01 Maret 2012

sejarah delphi




Sejarah Delphi
“Delphi” Delphi adalah sebuah IDE Compiler untuk bahasa pemrograman pascal dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai object pascal (pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework. Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE
Pada tanggal 8 Februari 2006, Borland mengumumkan akan melepas seluruh jajaran produk pengembangan aplikasi komputernya termasuk di antaranya Delphi. Saat ini Delphi menjadi bagian dari jajaran IDE milik Embarcadero Technologies setelah Embarcadero Technologies mengakuisisi CodeGear, anak perusahaan Borland yang menangani tool pengembangan aplikasi.
Versi Delphi
Borland Delphi 1
Delphi 1 dirilis pada 1995 untuk 16-bit Windows 3.1 dan merupakan contoh awal dari apa yang kemudian dikenal sebagai Rapid Application Development (RAD). Delphi 1 adalah penerus Turbo Pascal dan Borland Pascal. Kode delphi ditulis dalam dialek bahasa pemrograman Pascal yang dikenal sebagai Object Pascal.
Borland Delphi 2
Delphi 2, dirilis pada 1996 , dapat digunakan dalam Windows 32-bit.
Borland Delphi 3
Delphi 3, dirilis pada 1997. Delphi versi ini juga masih dapat digunakan dalam Windows 16-bit.
Borland Delphi 4
Borland Delphi 4 dirilis pada 1998.
Borland Delphi 5
Borland Delphi 5 dirilis pada 1999.
Kylix
Pada tahun 2001 muncul dirilis Delphi versi Linux, bernama Kylix. Karena masih jarang mengadopsi Linux di kalangan programmer pada saat itu, menyebabkan penjualan menurun, dan Kylix diam-diam ditinggalkan setelah versi 3. Ini adalah usaha pertama untuk menambahkan dukungan Linux dalam produk Delphi.


Borland Delphi 6
Upaya untuk mendukung Linux dan Windows dibuat, dan sebuah-platform alternatif yang menyeberang ke VCL dikenal sebagai CLX dikirim pada 2001 dengan merilis Delphi 6. Ini adalah upaya kedua untuk mendukung Linux dengan produk Delphi.
Delphi 6 termasuk versi CLX sama (CLX 1) sebagai versi pertama dari Kylix. Sejak CLX dibuat sebelum Delphi 6, set fitur yang didasarkan pada VCL 5; yang menciptakan beberapa kerugian bagi CLX yang tidak memiliki beberapa fitur dibandingkan dengan VCL 6 disertakan dengan Delphi 6.
Borland Delphi 7
Delphi 7, yang dirilis pada Agustus 2002, menjadi versi standar yang digunakan oleh pengembang Delphi lebih dari versi tunggal lainnya. Ini merupakan salah satu keberhasilan IDE yang diciptakan oleh Borland karena kecepatan, stabilitas dan persyaratan kebutuhan perangkat keras yang rendah dan masih aktif digunakan (sampai saat ini 2011). Delphi 7 menambahkan dukungan untuk tema Windows XP, dan menambahkan lebih banyak dukungan untuk membangun aplikasi web. Versi ini juga merupakan versi terakhir dari Delphi yang dapat digunakan tanpa aktivasi.
Borland Delphi 8
Delphi 8, dirilis Desember 2003. Hanya merilis .NET yang memungkinkan para pengembang untuk mengkompilasi kode Delphi Object Pascal ke .NET Cil (Common Intermidiete Language) . IDE ditulis ulang untuk mengakomodasi untuk pengembangan .NET. IDE berubah menjadi antarmuka yang mirip dengan Microsoft Visual Studio.NET. Delphi 8 sangat dikritik karena kualitas yang rendah dan fakta yang tidak mungkin lagi untuk membuat aplikasi asli (*. exe).
Borland Delphi 2005
Versi berikutnya, Delphi 2005 (Delphi 9, juga Borland Developer Studio 3.0), termasuk Win32 dan pengembangan NET. Dalam IDE tunggal, Borland mengulangi komitmen untuk pengembang Win32. Versi ini juga memperbaiki IDE dan menambahkan statement for … in (seperti C# foreach ). Namun, hal tersebut dikritik karena terdapat bug, baik Delphi 8 dan Delphi 2005 memiliki masalah stabilitas. Kemampuan untuk mengkompilasi aplikasi asli windows (*. exe) ditambahkan kembali ke Delphi 2005 setelah dihapus dalam Delphi 8.
Borland Delphi 2006
Pada akhir 2005, Delphi 2006 Delphi (Delphi 10, Borland Developer Studio 4.0) dirilis dan menggabungkan pengembangan C# dan Delphi.NET, Delphi Win32 dan C++ ke dalam IDE tunggal. Versi ini jauh lebih stabil daripada Delphi 8 atau Delphi 2005, versi ini merilis service pack dan beberapa hotfix.
Codegear Delphi 2007
Delphi 2007 (Delphi 11), versi pertama oleh CodeGear, dirilis pada tanggal 16 Maret 2007. Memiliki fitur baru termasuk dukungan untuk Microsoft yaitu, membangun perangkat tambahan ke Visual Component Library untuk Windows Vista, tapi C# Builder merosot dalam rilis ini dikarenakan penjualan tidak setinggi yang diharapkan. Pada saat yang sama Visual Studio juga menawarkan C#. Borland CodeGear dijual kepada Embarcadero Technologies pada tahun 2008.
Embarcadero Delphi 2009
Delphi 2009 (Delphi 12), menambahkan banyak fitur baru seperti VCL dan RTL untuk dukungan Unicode, dan menambahkan generik dan metode anonim untuk pengembangan asli Win32. Sebuah produk baru, Delphi Prism, ditawarkan untuk pembangunan .NET. Delphi Prism adalah plugin Visual Studio, dan tidak termasuk RTL atau VCL untuk porting kode.
Embarcadero Delphi 2010
Delphi 2010 (Delphi 14, nomor 13 dilewati), dirilis pada tanggal 25 Agustus 2009 dan merupakan rilis Unicode kedua Delphi. Ini mencakup kompiler baru sistem RTTI, dukungan untuk Windows 7 2D, layar sentuh(touchscreen) dan gerakan, sebuah formatter kode sumber, visualizers debugger dan juga pilihan untuk memiliki palet komponen gaya lama dalam IDE. Sistem RTTI baru membuat file executable jauh lebih besar dari versi sebelumnya.
Embarcadero Delphi XE
Versi terbaru dari Delphi, Delphi XE (Delphi 2011), dirilis pada tanggal 30 Agustus 2010.
Delphi Edisi Pemula
Pada 27 Januari 2011 Embarcadero mengumumkan ketersediaan Edisi Pemula yang ditujukan untuk penggemar dan perusahaan baru berkembang dengan fitur yang sedikit dikurangi dan harga yang lebih murah.
Keuntungan
Adapun sejumlah keuntungan Embarcadero Delphi, antara lain:
• Komunitas pengguna yang besar pada Usenet maupun web.
• Dapat mengkompilasi menjadi single executable (aplikasi portable), memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning.
• Banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya tersedia berikut source codenya) ataupun tools pendukung lainnya (dokumentasi, tool debugging).
• Optimasi kompiler yang cukup cepat.
• Mendukung multiple platform dari source code yang sama.
Kerugian
• Partial single vendor lock-in (Borland dapat menetapkan standar bahasa, kompatibilitas yang harus mengikutinya).
• Terbatasnya kemampuan portabilitas antar-platform OS (sebelum ada kylix).
• Akses pada platform dan library pihak ketiga membutuhkan file-file header yang diterjemahkan ke dalam bahasa pascal.
• Dokumentasi atas platform dan teknik-teknik yang menyertainya sulit ditemukan dalam bahasa pascal (contoh akses COM dan Win32).
Sumber : berbagai sumber dan wikipedia

[Delphi] Sejarah Singkat Borland Delphi


Sejarah Borland Delphi
Code:
 Pengenalan Borland Delphi

Delphi adalah sebuah bahasa pemrogaman dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh Borland(sebelumnya dikenal sebagai Inprise). Bahasa Delphi, yang sebelumnya dikenal sebagai object pascal (pascal dengan ekstensi pemrogaman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework (lihat di bawah). Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE.

Khusus untuk pemrogaman database, Borland Delphi menyediakan fasilitas obyek yang kuat dan lengkap yang memudahkan programmer membuat program untuk aplikasi database. Format database yang dimiliki Delphi yaitu format database Paradox, dBase, MS Access, ODBC, SyBASE, Oracle dan lain-lain
· Pengembangan Delphi

Umumnya delphi lebih banyak digunakan untuk pengembangan aplikasi desktop dan enterprise berbasis database, tapi sebagai perangkat pengembangan yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis proyek pengembangan software. Ia juga yang dikenal sebagai salah satu yang membawa istilah RAD tool, kepanjangan dari Rapid Application Development, saat dirilis tahun 1995 untuk windows 16-bit. Delphi 2, dirilis setahun kemudian, mendukung lingkungan windows 32-bit, dan versi c++, C++Builder, dirilis beberapa tahun kemudian. Pada tahun 2001 sebuah versi linux yang dikenal sebagai Kylix tersedia. Dengan satu rilis baru setiap tahunnya, pada tahun 2002 dukungan untuk Linux (melalui Kylix dan CLX component library) ditambahkan dan tahun 2003 .NET mulai didukung dengan munculnya Delphi.Net (Delphi 8). Kini sudah keluar juga untuk versi .NET terbaru yaitu RAD Studio 2007 dan Turbo Delphi .NET dengan versi desktopnya yaitu Delphi 2007 for win 32 dan Turbo Delphi.

Chief Architect yang membidani Delphi, dan pendahulunya Turbo Pascal, adalah Anders Hejlsberg sampai kemudian ia pindah ke Microsoft tahun 1996 di mana ia sebagai chief designer C# dan termasuk orang kunci dalam perancangan Microsoft .Net Framework. Dukungan penuh untuk .Net ditambahkan pada Delphi 8 (dirilis pada bulan Desember 2003) dengan penampilan user interface (look and feel) mirip dengan Microsoft Visual Studio .NET.

Delphi 2005 (nama lain dari Delphi 9) mendukung code generation baik untuk win32 maupun .NET, dan seperti yang telah dikenal, fitur-fitur manipulasi data secara live dari database secara design-time. Ia juga membawa banyak pembaruan pada IDE secara signifikan.

Para penganjur delphi mengklaim dengan bahasa pemrograman Delphi, dan component library (VCL / CLX) yang disediakan oleh vendor tunggal memungkinkan satu paket yang lebih konsisten dan mudah dikenali. Produk delphi ini didistribusikan dalam beberapa rancangan: Personal, Professional, Enterprise (sebelumnya Client/Server) dan Architect.
Hal Umum Tentang Delphi

Perbedaan fitur yang utama antara Delphi, Kylix dengan IDE-IDE yang lain adalah keberadaan bahasanya (Bahasa pemrograman delphi), VCL/CLX (Visual Component Library), Penekanan konektifitas database yang sangat baik, dan banyaknya komponen-komponen pihak ketiga yang mendukungnya.

Aspek penting yang perlu dicatat tentang Bahasa pemrograman Delphi termasuk:

1. Penanganan object sebagai reference/pointer secara transparan

2. Properti sebagai bagian dari bahasa tersebut; benar, sebagai getter dan setter (atau accessor and mutator), yang secara transparan mengenkapsulasi akses pada field-field anggota dalam kelas tersebut.

3. Property index dan Default yang menyediakan akses pada data kolektif

4. Pendelegasian (type safe method pointer) yang digunakan untuk memproses event yang dipicu oleh component

5. Pendelegasian implementasi interface pada Field ataupun property dari class.

6. Implementasi penanganan windows message dengan cara membuat method dalam class dengan nomer/nama dari windows message yang akan dihandle.

7. bersifat sebagai interface yang independen dengan implementasi class sebagai reference counted

8. Kompilasi yang dapat menghasilkan kode yang berjalan secara native x86 ataupun managed code pada arsitektur framework .NET

Lingkungan pengembangan terpadu atau Integrated Development Environment (IDE) dalam program Delphi terbagi dalam 6 bagian utama, yaitu Main Window, Toolbar, Component Palette, Form Designer, Code Editor dan Object Inspector. Namun dalam pengembangan Delphi, terdapat 1 bagian IDE lagi yaitu Object Tree View. Untuk lebih jelasnya perhatikan gambar dibawah ini.



Keunggulan dan Kelemahan Delphi

Delphi mempunyai keunggulan – keunggulan :

1. Komunitas pengguna yang besar pada Usenet maupun web

2. Dapat mengkompilasi menjadi single executable, memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning

3. Banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya tersedia berikut source codenya) ataupun tools pendukung lainnya (dokumentasi, tool debugging)

4. Optimasi kompiler yang cukup cepat

5. Mendukung multiple platform dari source code yang sama

Kelemahan – kelemahan Delphi :

1. Partial single vendor lock-in (Borland dapat menetapkan standar bahasa, kompatibilitas yang harus mengikutinya)

2. Terbatasnya kamampuan portabilitas antar-platform OS (sebelum ada kylix)

3. Akses pada platform dan library pihak ketiga membutuhkan file-file header yang diterjemahkan ke dalam bahasa pascal

4. Dokumentasi atas platform dan teknik-teknik yang menyertainya sulit ditemukan dalam bahasa pascal (contoh akses COM dan Win32)

Beberapa Klon Delphi

Meskipun tidak bersifat subsitutif penuh terhadap keseluruhan paket delphi, ada beberapa usaha yang dilakukan untuk membuat kompatibilitas bahasa ini menjadi lebih baik atu bahkan lebih buruk dengan membuat kode delphi yang tidak bisa dicapai oleh delphi ataupun kylix sendiri.

Produk-produk berikut bisa membuat kode delphi berjalan dalam alur yang tidak mungkin dilakukan oleh Delphi (seperti dukungan terhadap sistem operasi yang berbeda, distribusi yang gratis dan penggunaan untuk kebutuhan pendidikan, dan penyertaan kode dari kompilernya sendiri) yang menjadikan vendor bisa menjadi lebih independen. Produk-produk berikut ini umumnya digunakan untuk kebutuhan edukasi dan mengusahakan agar sisi aplikasi delphi yang berjalan pada server bisa berjalan pada sistem operasi alternatif selain dari yang didukung oleh delphi/kylix, umumnya produk tersebut sudah mensupport linux sebelum kylix muncul.

o Bloodshed Dev-Pascal Salah satu IDE Win32 yang mensupport GNU Pascal maupun Free Pascal

o Free Pascal Kompiler berbasis commandline dengan dialek yang sangat dekat dengan Turbo Pascal dan Delphi. Fitur yang terdapat pada Delphi versi 4 ke atas hanya diimplementasikan pada seri versi 1.9.x (akan menjadi seri 2.0.x). Versi beta ini sudah bisa digunakan secara baik. Beroperasi umumnya pada sistem operasi berbasis x86. Mendukung Linux, Mac OS dan Mac OS X (termasuk implementasi Xcode pada keluarga PowerPC, dan Linux berbasis AMD64. SPARC and arsitektur Mesin RISC Acorn (ARM) masih sedang dikerjakan dan belum siap dideploy.

o GNU Pascal secara terpisah didistribusikan sebagai bagian dari GNU Compiler Collection dan tidak mendukung dialek pascal yang diimplementasikan borland

o InnerFuse merupakan interpreter bahasa Delphi yang dapat diintegrasikan dengan aplikasi Delphi

o Lazarus merupakan satu upaya untuk membangun sebuah RAD berbasis Free Pascal.

o OpenSibyl

o Virtual Pascal

o WDOSX

o Winsoft Pocket Studio 
[Delphi] Sejarah Singkat Borland Delphi


Sejarah Borland Delphi
Code:
 Pengenalan Borland Delphi

Delphi adalah sebuah bahasa pemrogaman dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh Borland(sebelumnya dikenal sebagai Inprise). Bahasa Delphi, yang sebelumnya dikenal sebagai object pascal (pascal dengan ekstensi pemrogaman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework (lihat di bawah). Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE.

Khusus untuk pemrogaman database, Borland Delphi menyediakan fasilitas obyek yang kuat dan lengkap yang memudahkan programmer membuat program untuk aplikasi database. Format database yang dimiliki Delphi yaitu format database Paradox, dBase, MS Access, ODBC, SyBASE, Oracle dan lain-lain
· Pengembangan Delphi

Umumnya delphi lebih banyak digunakan untuk pengembangan aplikasi desktop dan enterprise berbasis database, tapi sebagai perangkat pengembangan yang bersifat general-purpose ia juga mampu dan digunakan dalam berbagai jenis proyek pengembangan software. Ia juga yang dikenal sebagai salah satu yang membawa istilah RAD tool, kepanjangan dari Rapid Application Development, saat dirilis tahun 1995 untuk windows 16-bit. Delphi 2, dirilis setahun kemudian, mendukung lingkungan windows 32-bit, dan versi c++, C++Builder, dirilis beberapa tahun kemudian. Pada tahun 2001 sebuah versi linux yang dikenal sebagai Kylix tersedia. Dengan satu rilis baru setiap tahunnya, pada tahun 2002 dukungan untuk Linux (melalui Kylix dan CLX component library) ditambahkan dan tahun 2003 .NET mulai didukung dengan munculnya Delphi.Net (Delphi 8). Kini sudah keluar juga untuk versi .NET terbaru yaitu RAD Studio 2007 dan Turbo Delphi .NET dengan versi desktopnya yaitu Delphi 2007 for win 32 dan Turbo Delphi.

Chief Architect yang membidani Delphi, dan pendahulunya Turbo Pascal, adalah Anders Hejlsberg sampai kemudian ia pindah ke Microsoft tahun 1996 di mana ia sebagai chief designer C# dan termasuk orang kunci dalam perancangan Microsoft .Net Framework. Dukungan penuh untuk .Net ditambahkan pada Delphi 8 (dirilis pada bulan Desember 2003) dengan penampilan user interface (look and feel) mirip dengan Microsoft Visual Studio .NET.

Delphi 2005 (nama lain dari Delphi 9) mendukung code generation baik untuk win32 maupun .NET, dan seperti yang telah dikenal, fitur-fitur manipulasi data secara live dari database secara design-time. Ia juga membawa banyak pembaruan pada IDE secara signifikan.

Para penganjur delphi mengklaim dengan bahasa pemrograman Delphi, dan component library (VCL / CLX) yang disediakan oleh vendor tunggal memungkinkan satu paket yang lebih konsisten dan mudah dikenali. Produk delphi ini didistribusikan dalam beberapa rancangan: Personal, Professional, Enterprise (sebelumnya Client/Server) dan Architect.
Hal Umum Tentang Delphi

Perbedaan fitur yang utama antara Delphi, Kylix dengan IDE-IDE yang lain adalah keberadaan bahasanya (Bahasa pemrograman delphi), VCL/CLX (Visual Component Library), Penekanan konektifitas database yang sangat baik, dan banyaknya komponen-komponen pihak ketiga yang mendukungnya.

Aspek penting yang perlu dicatat tentang Bahasa pemrograman Delphi termasuk:

1. Penanganan object sebagai reference/pointer secara transparan

2. Properti sebagai bagian dari bahasa tersebut; benar, sebagai getter dan setter (atau accessor and mutator), yang secara transparan mengenkapsulasi akses pada field-field anggota dalam kelas tersebut.

3. Property index dan Default yang menyediakan akses pada data kolektif

4. Pendelegasian (type safe method pointer) yang digunakan untuk memproses event yang dipicu oleh component

5. Pendelegasian implementasi interface pada Field ataupun property dari class.

6. Implementasi penanganan windows message dengan cara membuat method dalam class dengan nomer/nama dari windows message yang akan dihandle.

7. bersifat sebagai interface yang independen dengan implementasi class sebagai reference counted

8. Kompilasi yang dapat menghasilkan kode yang berjalan secara native x86 ataupun managed code pada arsitektur framework .NET

Lingkungan pengembangan terpadu atau Integrated Development Environment (IDE) dalam program Delphi terbagi dalam 6 bagian utama, yaitu Main Window, Toolbar, Component Palette, Form Designer, Code Editor dan Object Inspector. Namun dalam pengembangan Delphi, terdapat 1 bagian IDE lagi yaitu Object Tree View. Untuk lebih jelasnya perhatikan gambar dibawah ini.



Keunggulan dan Kelemahan Delphi

Delphi mempunyai keunggulan – keunggulan :

1. Komunitas pengguna yang besar pada Usenet maupun web

2. Dapat mengkompilasi menjadi single executable, memudahkan distribusi dan meminimalisir masalah yang terkait dengan versioning

3. Banyaknya dukungan dari pihak ketiga terhadap VCL (biasanya tersedia berikut source codenya) ataupun tools pendukung lainnya (dokumentasi, tool debugging)

4. Optimasi kompiler yang cukup cepat

5. Mendukung multiple platform dari source code yang sama

Kelemahan – kelemahan Delphi :

1. Partial single vendor lock-in (Borland dapat menetapkan standar bahasa, kompatibilitas yang harus mengikutinya)

2. Terbatasnya kamampuan portabilitas antar-platform OS (sebelum ada kylix)

3. Akses pada platform dan library pihak ketiga membutuhkan file-file header yang diterjemahkan ke dalam bahasa pascal

4. Dokumentasi atas platform dan teknik-teknik yang menyertainya sulit ditemukan dalam bahasa pascal (contoh akses COM dan Win32)

Beberapa Klon Delphi

Meskipun tidak bersifat subsitutif penuh terhadap keseluruhan paket delphi, ada beberapa usaha yang dilakukan untuk membuat kompatibilitas bahasa ini menjadi lebih baik atu bahkan lebih buruk dengan membuat kode delphi yang tidak bisa dicapai oleh delphi ataupun kylix sendiri.

Produk-produk berikut bisa membuat kode delphi berjalan dalam alur yang tidak mungkin dilakukan oleh Delphi (seperti dukungan terhadap sistem operasi yang berbeda, distribusi yang gratis dan penggunaan untuk kebutuhan pendidikan, dan penyertaan kode dari kompilernya sendiri) yang menjadikan vendor bisa menjadi lebih independen. Produk-produk berikut ini umumnya digunakan untuk kebutuhan edukasi dan mengusahakan agar sisi aplikasi delphi yang berjalan pada server bisa berjalan pada sistem operasi alternatif selain dari yang didukung oleh delphi/kylix, umumnya produk tersebut sudah mensupport linux sebelum kylix muncul.

o Bloodshed Dev-Pascal Salah satu IDE Win32 yang mensupport GNU Pascal maupun Free Pascal

o Free Pascal Kompiler berbasis commandline dengan dialek yang sangat dekat dengan Turbo Pascal dan Delphi. Fitur yang terdapat pada Delphi versi 4 ke atas hanya diimplementasikan pada seri versi 1.9.x (akan menjadi seri 2.0.x). Versi beta ini sudah bisa digunakan secara baik. Beroperasi umumnya pada sistem operasi berbasis x86. Mendukung Linux, Mac OS dan Mac OS X (termasuk implementasi Xcode pada keluarga PowerPC, dan Linux berbasis AMD64. SPARC and arsitektur Mesin RISC Acorn (ARM) masih sedang dikerjakan dan belum siap dideploy.

o GNU Pascal secara terpisah didistribusikan sebagai bagian dari GNU Compiler Collection dan tidak mendukung dialek pascal yang diimplementasikan borland

o InnerFuse merupakan interpreter bahasa Delphi yang dapat diintegrasikan dengan aplikasi Delphi

o Lazarus merupakan satu upaya untuk membangun sebuah RAD berbasis Free Pascal.

o OpenSibyl

o Virtual Pascal

o WDOSX

o Winsoft Pocket Studio


Sejarah dan Perkembngan Delphi


Borland Delphi adalah bahasa tingkat tinggi dan terkompilasi yang mendukung bahasa terstruktur serta Perancangan Berorientasi Object (OOD). Delphi menggunakan bahasa Pascal, sebuah bahasa terstruktur generasi ketiga. Delphi menawarkan gaya pemrograman yang bersih dan konsisten dan yang terpenting menghasilkan aplikasi yang lebih dapat diandalkan.

Pascal dan Sejarahnya

Asal usul Pascal bermula dari rancangan Algol, bahasa tingkat tinggi pertama yang mudah dibaca, terstruktur dan mendefinisikan sintax secara sistematis. Pada akhir tahun 1960-an (196x), beberapa usulan evolusi penerus algol dikembangkan. Salah satu yang paling sukses adalah Pascal, ditemukan oleh Prof Niklaus Wirth. Wirth mempublikasikan temuan asli Pascal pada tahun 1971. Mulai diimplementasikan di tahun 1973 dengan beberapa modifikasi. Banyak fitur pascal yang berasal dari bahasa sebelumnya. Pernyataan Case dan parameter value-result berasal dari Algol, dan catatan struktur yang mirip dengan Cobol dan PL 1. Pascal menambahkan kemampuan untuk mendefinsikan tipe data baru secara lebih sederhana dari yang pernah ada. Pascal juga mendukung struktur data dinamis, contohnya : struktur data yang dapat tumbuh dan menyusut saat program berjalan. Bahasa ini dirancang untuk menjadi alat pembelajaran bagi siswa pada kelas pemrograman.


Pada tahun 1975, Wirth dan Jensen memproduksi buku referensi Pascal terakhir “Pascal User Manual and Report”. Wirth berhenti bekerja pada Pascal pada tahun 1977 untuk menciptakan sebuah bahasa baru, Modula – penerus Pascal.

Borland Pascal

Dengan dirilisnya Turbo Pascal 1.0 pada November 1983, Borland mulai perjalanannya dengan lingkungan pengembangan dan perangkatnya. Untuk menciptakan Turbo Pascal 1.0 Borland melisensikan kompilator inti pascal yang cepat dan murah, yang ditulis oleh Anders Hejlsberg. Turbo Pascal memperkenalkan suatu Lingkungan pengembangan terintegrasi / Integrated Development Environment (IDE) dimana anda dapat mengedit code, menjalankan compiler, melihat kesalahan dan melompat kembali ke baris yang mengalami kesalahan. Kompiler turbo pascal telah menjadi salah satu compiler terlaris sepanjang waktu, dan membuat bahasa ini sangat popular pada platform PC

Pada tahun 1995 Pascal kembali dengan memperkenalkan lingkungan aplikasi bernama Delphi – mengubah pascal menjadi sebuah bahasa pemrograman visual. Keputusan yang strategis dengan membuat perangkat
database dan konektivitas sentral dari produk pascal.

Permulaan Delphi

Setelah merilis Turbo Pascal 1, Anders bergabung dengan perusahaan sebagai seorang karyawan dan arsitek untuk semua versi dari kompiler Turbo Pascal dan tiga versi pertama dari Delphi. Sebagai kepala arsitek di Borland, Hejlsberg diam-diam merubah Turbo Pascal menjadi bahasa pengembangan aplikasi berorientasi obyek, lengkap dengan lingkungan yang benar-benar visual dan fitur akses database yang luar biasa

Mengapa diberi nama “Delphi”

Seperti yang dijelaskan dalam Museum artikel Borland, proyek dengan codename Delphi muncul pada pertengahan 1993. Mengapa Delphi? Sangat sederhana: “Jika Anda ingin berbicara dengan Oracle, pergilah ke Delphi”. Ketika tiba saatnya untuk memilih nama produknya, setelah sebuah artikel di ‘Windows Tech Journal’ tentang sebuah produk yang akan mengubah hidup programmer, nama terakhir yang diusulkan adalah AppBuilder. Sejak Novell merilis Visual AppBuilder, orang-orang Borland perlu mengambil nama lain, tetapi menjadi semacam komedi: semakin keras orang-orang berusaha untuk mengabaikan “Delphi” sebagai nama produk, semakin banyak nama tersebut mendapat dukungan. Setelah disebut-sebut sebagai “pembunuh VB” Delphi tetap menjadi produk landasan untuk Borland.

Rabu, 29 Februari 2012

Artikel Algoritma Dan Pemrograman


PENGANTAR

1.     A.    Pengertian Algoritma & Pemrograman
2.     1.      Algoritma
Asal  usul  kata  algoritma  dapat  Anda  baca  dalam  buku  “The  Art  of  Computer Programming Second Edition Volume I” yang ditulis oleh Donald E. Knuth (1973, p1- )
Menurut  Donald  E.  Knuth  (1973,p4),  algoritma  dalam  penger tian  modern mempunyai kemiripan dengan istilah resep ,  proses, metode, teknik, prosedur, rutin . Algor itma  adalah  sekumpulan  aturan-aturan  berhingga  yang  memberikan  sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus. Menurut  Rinaldi  Munir,  algoritma  adalah  urutan  langkah-langkah  logis penyelesaian masalah yang disusun secara sistematis. Berdasarkan dua pengertian algoritma di atas, dapat disimpulkan bahwa algor itma merupakan suatu istilah yang luas, yang tidak hanya berkaitan dengan dunia komputer.
1.     2.      Pemrograman
Pemrograman berasal dar i kata  program  yang diberi awalan pe– dan akhiran –an. Dalam buku ini, program berarti progr am komputer. Pengertian   program   computer menurut John M. Zelle,  Ph.D.  dalam bukunya  yang  berjudul “Python  Programming: An  Introduction to  Computer  Science”  (2002,  p1)  adalah  sekumpulan  instruksi langkah per langkah yang member itahukan mengenai yang harus dilakukan computer secara  tepat.  Pemrograman   adalah  segala  kegiatan  pembuatan  program  computer.
Kemudian  terdapat  pula  istilah   bahasa  pemrograman   yang  berarti  bahasa  yang digunakan dalam pembuatan program komputer. Berdasarkan  pengertian  algor itma  dan  pemrograman,  maka  dapat  dikatakan bahwa  progr am  merupakan  hasil  penerapan  dari  algoritma- algoritma.  Akan  tetapi, dalam  buku  ini  tidak dibahas  materi  mengenai  pembuatan  program  komputer.  Buku ini  memfokuskan teknik-teknik pembuatan  algoritma  itu  sendir i.  Nama  mata  kuliah Algor itma dan Pemrogr aman dalam hal ini berarti mempelajari pembuatan algoritma- algoritma yang dapat diterapkan dalam pemrograman.

1.     B.     Tipe-tipe Algoritma Berdasarkan Format Penulisan
Algoritma  adalah  independen  terhadap  bahasa  pemr ograman  tertentu,  artinya algoritma  yang  telah  dibuat  tidak  boleh  hanya  dapat  diterapkan  pada  bahasa pemrograman  tertentu.  Penulisan  algoritma  tidak  ter ikat  pada  suatu  aturan  tertentu, tetapi harus jelas maksudnya untuk tiap langkah algoritmanya. Namun pada dasar nya algoritma dibagi menjadi beberapa macam berdasarkan for mat penulisannya, yaitu:
1.     1.      Deskriptif
Algoritma  bertipe  deskr iptif  maksudnya  adalah  algoritma  yang  ditulis  dalam bahasa manusia sehari- hari (misalnya bahasa Indonesia atau bahasa Inggris) dan dalam bentuk  kalimat.  Setiap  langkah  algoritmanya  diterangkan  dalam  satu  atau  beberapa kalimat.
Sebagai contoh misalnya algoritma menentukan bilangan terbesar dari 3 bilangan berikut ini:
Algoritma Menentukan_bilangan_terbesar_dari_3_bilangan
§  Meminta input 3 bilangan dari user, misalkan bilangan a, b, dan c.
§  Apabila  bilangan  a  lebih besar  dari  b  maupun  c,  maka  bilangan  a merupakan bilangan terbesar.
§  Jika  tidak  (bilangan  a tidak  lebih  besar  dari  b  atau  c)  berarti bilangan  a  sudah  pasti  bukan  bilangan  terbesar.  Kemungkinannya tinggal  bilangan  b  atau  c.  Apabila  bilangan  b  lebih  besar  dari  c, maka  b  merupakan  bilangan  terbesar.  Sebaliknya  apabila  bilangan  b tidak lebih besar dari c, maka bilangan c merupakan yang terbesar.
§  Selesai.
1.     2.      Flow Chart (Diagram Alir)
Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam  bentuk diagram- diagram dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Algor itma yang ditulis dengan simbol-simbol demikian yang dinamakan  flow chart .
Mengenai  lambang- lambang  yang  digunakan  akan  dibahas  pada  bagian selanjutnya. Sekarang diberikan suatu contoh algoritma menentukan bilangan terbesar dar i 3 bilangan seperti yang dicontohkan sebelumnya, tetapi ditulis dalam bentuk flow chart.

1.     3.      Pseudocode
Pseudo  berarti imitasi dan  code  ber arti kode yang dihubungkan dengan instruksi yang  ditulis  dalam  bahasa  komputer  (kode  bahasa  pemrograman).  Apabila diterjemahkan  secar a  bebas,  maka  pseudocode  berarti  tiruan  atau  imitasi  dari  kode bahasa pemrograman. Pada  dasarnya,  pseudocode  merupakan  suatu  bahasa  yang  memungkinkan programmer untuk berpikir terhadap per masalahan yang harus dipecahkan tanpa harus memikirkan   syntax   dar i  bahasa  pemrogr aman  yang  tertentu.  Tidak  ada  aturan penulisan   syntax   di  dalam  pseudocode.  Jadi  pseudocode  digunakan  untuk menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya.
Walaupun pseudocode tidak ada aturan penulisan syntax, di dalam buku ini akan diberikan  suatu aturan-aturan  penulisan syntax yang cukup  seder hana  agar  pembaca dapat  lebih  mudah  dalam  mempelajari algoritma-algor itma  yang  ada  di  dalam  buku ini.  Pseudocode  yang  ditulis  di  dalam  buku  ini  akan  menyerupai  (meniru)  syntax- syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin sehingga tidak akan ada  kesulitan  bagi  pembaca  untuk  memahami  algoritma- algor itma  dalam  buku  ini walaupun pembaca belum pernah mempelajar i bahasa Pascal.
Contoh  algoritma  menentukan  bilangan  terbesar  dar i  tiga  bilangan  yang  ditulis dalam bentuk pseudocode bergaya buku ini.

01|    ALGORITMA Menentukan_terbesar_dari_3_bilangan
02|    Deklarasi:
03|    a,b,c, terbesar : integer
04|
05|    Deskripsi:
06|      Read(a,b,c)
07|      If (a>b) and (a>c) then
08|          Terbesar     a
09|      Else
10|          If b>c then
11|             Terbesar   b
12|          Else
13|             Terbesar     c
14|          Endif
15|      Endif
16|      Write(terbesar)

1.     C.    Flow Chart (Diagram Alir)
2.     1.      Pengertian
Diagram alir atau flow chart adalah suatu bagan yang menggambarkan arus logika dar i data  yang akan dipr oses dalam suatu program dari awal sampai  akhir. Diagram alir terdiri dar i simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flow lines)  menunjukkan urutan dari simbol-simbol yang akan diker jakan.
1.     2.      Simbol-simbol Flow Chart
1.     Simbol terminal (terminator )







digunakan untuk menunjukkan awal dan akhir algoritma
1.     Simbol persiapan (preparation)







digunakan untuk memberikan nilai awal suatu variabel atau suatu counter
1.     Simbol proses (process)







digunakan  untuk  proses  perhitungan  aritmatika  atau  proses pemindahan data
1.     Simbol Data (data)







digunakan  untuk  menunjukkan  proses  input  maupun  output data.

1.     Simbol Keputusan (decision)







digunakan  untuk  pengambilan  keputusan  dua  jalur  atau  lebih dalam flow chart.
1.     Simbol Penghubung (on-page refer ence)


digunakan untuk  menunjukkan  hubungan  arus  flow chart  yang terputus, tetapi masih dalam halaman yang sama.
1.     Simbol Penghubung Halaman Lain (off- page reference)







digunakan untuk menunjukkan hubungan arus flow chart yang terputus yang berada di halaman lain.

1.     3.      Bentuk-bentuk Dasar Struktur Logika Flow Chart
1.     Runtunan (Sequence Structure)














1.     Pemilihan/Percabangan IF (Selection Structure)











1.     Pengulangan FOR (FOR Loop Structur e)













Pengertian ALGORITMA
Algoritma
Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma.
Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Sejarah istilah "algoritma"Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
Jenis-jenis Algoritma
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;
dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.


Sekilas tentang Algortima Komputer
Orang yang telah terbiasa “bergaul” dengan komputer menggunakan satu bahasa pemrograman tertentu (tingkat mahir), biasanya tidak lagi memerlukan kertas coret-coretan untuk membuat suatu program komputer. Namun bagi pemula, pembelajar, atau yang belum mahir, diperlukan kertas coret-coretan tersebut. Kertas coret-coretan itu akan digunakan untuk menyusun algoritma (langkah-langkah penyelesaian masalah), flowcharting (alur logika perintah, yang merupakan aplikasi dari algoritma), maupun menuliskan perintah sesuai dengan kaidah dari bahasa pemrograman yang akan digunakannya. Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu. menyesuaikan dengan) bahasa pemrograman yang nanti akan kita gunakan. Hal utama yang kita pikirkan adalah kaidah (hirarki) dari komputer itu sendiri,
yaitu input-proses-output. Input adalah data yang harus ada (sudah ada/ sudah tersedia), yang dapat diproses dengan aturan-aturan tertentu untuk menghasilkan output seperti yang dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” dapat diproses untuk menghasilkan output. “Bambang Wahyudi, SKom., MMSI
Dan Apa sech manfaatnya belajar Algoritma Komputer??? sangat banyak sekali…!!! setiap apapun yang kita kerjakan pasti mengunakan algortima tanpa kita sadari… Semisal: Sebuah truk mengangkut Batu 10 Ton, dengan kecepatan 100 km/jam. berapa waktu yang di perlukan untuk menempuh jarak 500 KM ??
hal ini sebetulnya sangat mudah… cuman kalau kategori yang di butuhkan banyak, atau inputnya sangat banyak.. kalau tidak menggunakan Media komputer kita sangat kwalahan… oleh karena itu kita beljar memahami algoritma alur dari permasalahan di atas lalu kita terapkan dalam dalam program komputer. dan menggunakan Bahasa Pemrogaman.
PERLUNYA PERINTAH BAHASA PEMROGRAMAN DI DALAM ALGORITMA
Meskipun sudah dikatakan, bahwa sewaktu kita menyusun algoritma kita tidak perlu tahu bahasa pemrograman apa yang akan digunakan kelak, namun, untuk penulisan algoritma yang lebih efisien dan efektif, maka penggunaan sebagian perintah yang ada di dalam bahasa pemrograman perlu dilakukan juga.
Adapun perintah bahasa pemrograman yang paling sering digunakan untuk menyusun algoritma adalah bahasa pemrogrman yang terstrukutur, seperti
Pascal, C, SNOBOL, PL/1, dan sebagainya. Misalkan saja, untuk contoh berikut ini :
Langkah 1 : Beri nilai 10 ke variabel S
Maka, akan lebih mudah jika ditulis sebagai :
Langkah 1 : S := 10;
Belum lagi jika algoritma yang ditulis harus melakukan perulangan langkah
ke langkah-langkah sebelumnya (looping).
10 Mulai I:= 1;
11 Lakukan perbandingan data ke I dengan data ke I+1
12 Jika data ke I+1 lebih kecil, maka tukar tempat keduanya
13 Tambahkan I dengan 1
14 Lakukan langkah 11 hingga langkah 13 selama nilai I < 10
15 selesai
Tentu akan lebih ringkas jika kita tulis (perintah BASIC) :
10 For I= 1 to 10
20 If A(i) > A(I+1) then SWAP A(i), A(j)
30 next
40 end
Jadi terlihat, jika algoritma tersebut sederhana, maka penyusunan algoritma akan sama dengan penyusunan sebuah program (karena semua perintahnya
sudah sesuai dengan kaidah penulisan di bahasa pemrogramannya). Apakah semuanya akan demikian ?. Tentu saja tidak, misalkan, kita diminta untuk menentukan bilangan terkecil dari seratus buah bilangan yang akan dimasukkan ke komputer, ini masih dapat langsung dibuatkan programnya. Algoritma (program)nya bisa kita susun sebagai berikut :
1 DIM A(100)
2 FOR M = 1 TO 100
3 INPUT A(M) : NEXT : KECIL = A(1)
4 FOR M = 2 TO 100
5 IF KECIL > A(M) THEN X = KECIL: KECIL = A(M) : A(M) = X
6 NEXT : PRINT KECIL : END
Tetapi, misalkan jika kita diminta untuk mengalihkan notasi infix menjadi postfix melalui stack, hal itu sulit untuk dilakukan.
Algoritmanya bisa menggunakan gabungan kalimat dengan bahasapemrograman, berikut contoh penggalannya.
Contoh :
1. Asumsi : deretan notasi infix dimasukkan ke dalam sebuah variabel array
bernilai string, nama variabelnya D
2. S adalah variabel string untuk menyimpan susunan data di dalam stack
3. H adalah variabel string untuk menyimpan hasil
4. P = banyaknya elemen array
5. For I = 1 to p
If top(s) = empty then
{top(s) adalah posisi atas stack)
if D(i) = operand then
H = D(i)
Else
S = S + D(i)
Top(s) = D(i)
Endif
Else
If D(i) = operator then
If derajat D(i) > derajat Top(s) then


.. .

Jadi, terdapat beberapa kata yang tidak dapat dijabarkan langsung ke dalam bahasa pemrograman. Misalkan, kata Top(s), empty, operand, operator,
dan derajat.