1Karakteristik utama, kelebihan, dan
kelemahan softewere Delphi, Java, PHP, dan C++
a. 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 (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
Karakteristiknya yaitu nama , properti & method/procedure.
Bahasa Delphi tidak hanya berupa teks, tetapi juga berupa gambar. Delphi
merupakan bahasa tingkat tinggi dan bahasa prosedural, yang artinya bahasa
mengikuti urutan tertentu/prosedur.
Kelebihannya :
·
Komponen dapat dipakai ulang dan dapat
dikembangkan Delphi mempermudah pembuatan program bagi komponen-komponen
Windows seperti label, button dan bahkan dialog dan lainnya. Komponen ini dapat
diatur sesuai dengan kebutuhan kita si pembuat program.
·
Dapat mengakses VBX.
Dengan Delphi kita dapat langsung mengakses komponen VBX yang sudah merupakan satu kesatuan dan dapat langsung digunakan .
Dengan Delphi kita dapat langsung mengakses komponen VBX yang sudah merupakan satu kesatuan dan dapat langsung digunakan .
·
Template Aplikasi dan template Form
Dalam Delphi telah didefinisikan template aplikasi dan template Form yang dapat dipakai untuk membuat semua form aplikasi dengan lebih cepat.
Dalam Delphi telah didefinisikan template aplikasi dan template Form yang dapat dipakai untuk membuat semua form aplikasi dengan lebih cepat.
·
Lingkungan pengembang Delphi
Lingkungan yang disedia pada Delphi sangat mudah untuk digunakan dalam pengembangan aplikasi yang produktif.
Lingkungan yang disedia pada Delphi sangat mudah untuk digunakan dalam pengembangan aplikasi yang produktif.
·
Program terkompilasi.
Kebanyakan lingkungan pengembang visual pada windows menyatakan dapat mengkompilasi program. Namun sebenarnya mereka hanya dapat mengkompilasi sebagian program dan kemudian mengabungkan interpreter dan pcode dalam sebuah file. Dengan cara ini akan menghasilkan aplikasi dengan eksekusi yang lambat. Namun dengan pemrograman delphi output yang dihasilkannya merupakan file yang benar-benar terkompilasi tanpa interpreter dan pcode sehinga dapat berjalan lebih cepat. Program Delphi yang kecil dapat diserahkan dalam bentuk sebuah file EXE tanpa harus menyertakan file DLL.
Kebanyakan lingkungan pengembang visual pada windows menyatakan dapat mengkompilasi program. Namun sebenarnya mereka hanya dapat mengkompilasi sebagian program dan kemudian mengabungkan interpreter dan pcode dalam sebuah file. Dengan cara ini akan menghasilkan aplikasi dengan eksekusi yang lambat. Namun dengan pemrograman delphi output yang dihasilkannya merupakan file yang benar-benar terkompilasi tanpa interpreter dan pcode sehinga dapat berjalan lebih cepat. Program Delphi yang kecil dapat diserahkan dalam bentuk sebuah file EXE tanpa harus menyertakan file DLL.
·
Kemampuan mengakses data dalam bermacam format.
Dalam Delphi terdapat BDE ( Borland Database Engine) yang digunakan untuk mengakses format file data yang ada. BDE telah melalui beberapa tahap pengembangan, yang sebelumnyaBDE dikenal dengan ODAPI , kemudian IDAPI. Sekarang BDE sudah menjadi standar untuk akses semua jenis data yang ada saat ini. BDE juga dapat mengakses Database Client / Server seperti Sybase, SQL Server, Oracle dan Borland Interbase. Bila dibandingkan dengan microsoft ODBC , BDE lebih unggul dalam hal unjuk kerjannya, hal ini karena BDE memiliki bentuk yang lebih mendekati format database tujuannya.
Dalam Delphi terdapat BDE ( Borland Database Engine) yang digunakan untuk mengakses format file data yang ada. BDE telah melalui beberapa tahap pengembangan, yang sebelumnyaBDE dikenal dengan ODAPI , kemudian IDAPI. Sekarang BDE sudah menjadi standar untuk akses semua jenis data yang ada saat ini. BDE juga dapat mengakses Database Client / Server seperti Sybase, SQL Server, Oracle dan Borland Interbase. Bila dibandingkan dengan microsoft ODBC , BDE lebih unggul dalam hal unjuk kerjannya, hal ini karena BDE memiliki bentuk yang lebih mendekati format database tujuannya.
Kelemahannya :
·
Partial
single vendor lock-in (Borland dapat menetapkan standar bahasa, kompatibilitas
yang harus mengikutinya)
·
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)
b. Java adalah bahasa pemrograman yang dapat dijalankan
di berbagai komputer
termasuk telepon genggam. Bahasa ini awalnya
dibuat oleh James Gosling saat masih bergabung
di Sun Microsystems saat ini merupakan
bagian dari Oracle
dan dirilis tahun 1995.
Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan
sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras
bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke
dalam p-code
(bytecode) dan dapat dijalankan
pada berbagai Mesin Virtual Java (JVM). Java merupakan
bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan
dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang
memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi
yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java
merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas
dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun
aplikasi berbasis web.
Karekteristiknya :
·
Berorientasi
Object, Java telah menerapkan konsep pemograman berorientasi object yang modern
dalam implementasinya
·
Robust,
Java mendorong pemograman yang bebas dengan kesalahan yang bersipat strongly
typed dan memiliki run time checking.
·
Protable,
pemograman Java berjalan pada system operasi apapun yang memiliki Java Virtual
Machine.
·
Multithreding,
Java mendukung pemograman multitreding dan terintegrasi secara langsung dalam
bahasa Java.
·
Dinamis,
program Java dapat melakukan sesuatu tindakan yang ditentukan pada saat
eksekusi program dan pada saat kompilasi.
·
Sederhana,
Java menggunakan bahasa yang sederhana dan mudah dipelajari.
·
Terdistribusi,
Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet.
·
Aman,
aplikasi yang dibuat dengan bahasa Java lebih dapat dijamin keamanannya
terutama untul aplikasi internet.
·
Netral
secara arsitektur, Java tidak terkait pada suatu mesin atau mesin operasi
tertentu.
·
Interpreted,
aplikasi java bisa dieksekusi pada platform yang berbeda-beda karena melakukan
interpretasi pada bytecode.
·
Berkinerja
tinggi, byte kode Java telah teroptimasi dengan baik sehingga eksekusi program
dapat dilakukan dengan cepat
Kelebihannya :
·
Multiplatform. Kelebihan utama dari Java ialah
dapat dijalankan di beberapa platform
/ sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja.
Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan
dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin /
bytecode) sekali lalu hasilnya
dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini
memungkinkan sebuah program berbasis java dikerjakan diatas operating system
Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang
didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan
programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk
meninterpretasikan bytecode
tersebut.
·
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman
java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk
membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan
komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan
baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
·
Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram
C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar
adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada
murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna
juga bagi mereka yang bukan mengambil jurusan komputer.
·
Pengumpulan sampah
otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para
pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti
halnya dalam bahasa C++ yang dipakai secara luas).
Kelemahannya
:
·
Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak
kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
·
Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi
menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak
atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data.
Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang
digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
·
Penggunaan memori yang banyak. Penggunaan memori untuk program
berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi
sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object
Pascal).
Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi
terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah
bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari
4 tahun.
c. PHP: Hypertext
Preprocessor[1]
adalah bahasa skrip yang dapat ditanamkan atau disisipkan
ke dalam HTML.[2][3]
PHP banyak dipakai untuk memrogram situs web
dinamis. PHP dapat digunakan untuk membangun sebuah CMS.
Karakteristiknya :
·
Tipe
data dari PHP adalah Integer, Double, Boolean, String,
Object, Array, Null, Nill, Resource
·
Bahasa
pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah
kompilasi dalam penggunaanya.
Kelebihannya :
·
Web
Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS,
Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.'
·
Dalam
sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer
yang siap membantu dalam pengembangan.'
·
Dalam
sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki
referensi yang banyak.
·
PHP
adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix,
Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta
juga dapat menjalankan perintah-perintah system.
Kelemahannya :
·
Tidak
ideal untuk pengembangan skala besar
·
Tidak
memiliki sistem pemrograman berorientasi objek yang sesungguhnya (sampai versi
4 ini)
·
Tidak
bisa memisahkan antara tampilan dengan logik dengan baik (walau penggunaan
template dapat memperbaikinya)
·
PHP
memiliki kelemahan security tertentu apabila programmer tidak jeli dalam
melakukan pemrograman dan kurang memperhatikan isu dan konfigurasi PHP
·
Kode
PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool
yang mahal dari Zend ($2000).
d. C++ adalah bahasa pemrograman komputer
yang di buat oleh (Bjarne Stroustrup) merupakan perkembangan dari
bahasa C dikembangkan di Bell Labs (Dennis
Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari bahasa
sebelumnya, yaitu BCL, Pada awalnya, bahasa tersebut dirancang sebagai bahasa
pemrograman yang dijalankan pada sistem Unix, Pada
perkembangannya, versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi versi
dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan
sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel
labs pertama kali mengembangkan C++ pada awal 1980-an, Untuk mendukung
fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman
tingkat rendah (low level coding). Pada C++ ditambahkan
konsep-konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan
overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah
dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming). Perbedaan
Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan
sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa
pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan
membagi-bagi masalah tersebut kedalam su-submasalah yang lebih kecil, Selain
itu, C++ merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi objek,
Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan menjelaskan
class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi
dari object-object fisik, Class tersebut berisi keadaan object,
anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class dibuat
kemudian masalah dipecahkan dengan Class.
Karakteristiknya :
·
Encapsulation
pengemasan data dan fungsi menjadi satu unit yang disebut dengan class.
pengemasan data dan fungsi menjadi satu unit yang disebut dengan class.
·
inheritance (pewarisan)
inilah kelebihan dari C++, class induk bisa menurunkan sifatnya kepada class lainnya (disebut class turunan). seperti di dunia nyata, anak mewarisi sifat ibu,bapak dll
inilah kelebihan dari C++, class induk bisa menurunkan sifatnya kepada class lainnya (disebut class turunan). seperti di dunia nyata, anak mewarisi sifat ibu,bapak dll
·
polymorphisme
polymorphisme berasal dari bahasa yunani yang artinya mempunyai banyak bentuk. sesuatu yang sama dapat memiliki bentuk dan prilaku yang berbeda..overloading adalah salah satu contoh dari polymorphisme.
polymorphisme berasal dari bahasa yunani yang artinya mempunyai banyak bentuk. sesuatu yang sama dapat memiliki bentuk dan prilaku yang berbeda..overloading adalah salah satu contoh dari polymorphisme.
Kelebihannya :
·
Bahasa
Standard-nya ANSI bisa dipakai diberbagai platform.
·
Kecepatan
program jika dibanding dengan program yang sama buatan bahasa lain, relatif
lebih cepat.
·
Kode
bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk semua jenis
komputer.
·
Bahasa
C++ tersedia hampir di semua jenis komputer.
·
Kode
program bersifat reuseable, sehingga dapat digunakan kembali pada project lain
dengan hanya menggunakan library dan file header.
·
Bahasa
C++ hanya menyediakan sedikit kata-kata kunci (hanya terdapat 48 kata kunci).
·
Dukungan
pustaka fungsi dan kelas yang banyak sehingga memungkinkan pembuatan aplikasi
makro.
·
C++
adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung OOP.
·
Bahasa
C++ termasuk bahasa tingkat menengah dan lebih dekat dengan bahasa mesin.
·
C++
dapat membuat aplikasi graphic processor berkualitas tinggi.
Kelemahannya :
·
C++
tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep OOP karena
kaidah-kaidah OOP dapat dilanggar. Dan di C++ ada konsep pointer yang sangat
membingunkan, ini salah satu alasan mengapa C++ menjadi sesuatu yg paling tidak
disukai.
·
C++
walapun tidak terpengaruh oleh Sistem Operasi tetapi tool untuk developmentnya
harus spesific pada salah satu sistem operasi contoh Visual Studio hanya dapat
berjalan di Windows. Alasan ini juga nantinya akan dapat menurunkan minat
terhadap sistem operasi yang lain contohnya Linux. Apabila dalam praktiknya
menggunakan Visual Studio maka otomatis akan menggunakannya juga dan pada
akhirnya malas untuk mencoba sistem operasi yang lain.
·
Implementasi
C++ dalam teknologi IT pada saat sekarang sudah sangat sedikit sekali.
·
Sulitnya
untuk membuat sesuatu dengan C++ sehingga kepeminatannya dalam memperdalam
programming akhirnya harus kandas, kecuali dengan inisiatif sendiri mempelajari
bahasa/teknologi lain.