Kelebihan dan Kekurangan Bahasa Pemrograman Kelebihan dan Kekurangan Bahasa Pemrograman : 1. 2. 3. 4. 5. 6. 7. Cobol Pascal Visual basic C++ JAVA SQL PHP 1.COBOL Kelebihan : Program COBOL dibuat dalam instruksi bahasa inggris, sehingga lebih mudah dipelajari dan dibuat. Program COBOL sesuai untuk pengolahan data yang banyak diterapkan pada permaslahan . Program COBOL sifatnya standard, sehingga dapat dipergunakan pada komputerkomputer yang berbeda, tanpa banyak perbedaan. Struktur program COBOL jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor, atau manajer-manajer yang hanya mempunayai pengetahuan pengolahan data yang sedikit. COBOL menyediakan fasilitas Listing Program, bilamana perlu dapat diperiksa oleh orang lain selain programer. Mudah didokumentasikan dan dikembangkan bilamana perlu. Problem Orientad Language. Kekurangan : Operasi masukan dan keluaran yang masih kaku. Struktur penulisan program yang sangat kaku dan bertele-tele. 2. PASCAL Kelebihan bahasa Pascal : Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, string. User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar. Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan. Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang. Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami. Kekurangan bahasa Pascal : Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas. Sintaks Pascal terlalu bertele-tele. Tidak mendukung pemrograman berorientasi objek. Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar. 3. Visual Basic 6.0 kelebihan: a. Kurva pembelajaran dan pengembangan yang lebih singkat dibandingkan bahasa pemrograman yang lain seperti C/C++, Delphi atau bahkan PowerBuilder sekalipun. b. Menghilangkan kompleksitas pemanggilan fungsi windows API, karena banyak fungsi – fungsi tersebut sudah di “embedded” kedalam syntax visual basic. c. Cocok digunakan untuk mengembangkan aplikasi / program yang bersifat “Rapid Application Development). d. Sangat cocok digunakan untuk membuat program atau aplikasi bisnis. e. Digunakan oleh hampir microsoft office sebagai bahasa macro dan segera akan diikuti oleh yang lainnya. f. Dapat membuat ActiveX Control g. Dapat menggunakan OCX atau komponen yang disediakan oleh pihak ketiga (Third Party) sebagai tools pengembang. h. Menyediakan wizard yang sangat berguna untuk mempersingkat atau mempermudah pengembangan aplikasi. i. Mendekati Object Oriented Programming. j. Dapat di-integrasikan dengan internet, baik itu pada sisi Client maupun pada sisi Server. k. Dapat membuat ActiveX Automation Server. l. Integrasi dengan Microsoft Transaction Server. m. Dapat menjalankan server tersebut dari mesin yang sama atau bahkan dari mesin atau komputer yang lain. kekurangan : a. File Distribusi Runtime lebih besar dari C/C++. b. Tidak mempunyai fungsi – fungsi untuk mengambil fitur – fitur dari operating system sebanyak C/C++. 4. C++ Kelebihan: - Kode bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk semua jenis komputer. - bahasa Standard-nya ANSI bisa dipakai diberbagai platform. - kecepatan program jika dibanding dengan program yang sama buatan bahasa lain, relatif lebih cepat. - Bahasa C++ tersedia hampir di semua jenis komputer. - 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. - Kode program bersifat reuseable, sehingga dapat digunakan kembali pada project lain dengan hanya menggunakan library dan file header. - C++ dapat membuat aplikasi graphic processor berkualitas tinggi. Kekurangan: - C++ tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep OOP karena kaidahkaidah OOP dapat dilanggar. Dan di C++ ada konsep pointer yang sangat membingunkan, ini salah satu alasan mengapa C++ menjadi momok 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. - “susah” untuk membuat sesuatu dengan C++ sehingga kepeminatannya dalam memperdalam Programming akhirnya harus kandas kecuali dengan inisitif sendiri mempelajari bahasa/teknologi lain 5. JAVA Kelebihan 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. OOP (Object Oriented Programming – Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun. 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). Kekurangan : Tulis sekali, perbaiki 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. 6. MySQL Kelebihan - Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows, MacOS dll. - Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python. - Memiliki lebih banyak type data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM. - Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ). - Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC. - Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server. - Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas. - Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama. - Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda. - Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host-Based’ Verifikasi. Kekurangan 1. Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual. 2. Data yang ditangani belum begitu besar 7. PHP Kelebihan : PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce, bulletin board, dll. PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web. PHP termasuk dalam Open Source Product dan telah mencapai versi 4. Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web. Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server Apache dan OS Linux. Sintaks mirip C dan mudah dipelajari. Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com, phpbuilder.com, phpindo.com, dll. Berbagai script atau aplikasi yang gratis telah tersedia. Kekurangan : Tidak detail untuk pengembangan skala besar. Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya. Tidak bisa memisahkan antara tampilan dengan logic dengan baik. PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP. Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend.