Rabu, 07 November 2012

Mengenal Softwere Pemrograman Berbasis Objek


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 .
·         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.
·         Lingkungan pengembang Delphi
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.
·         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.
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.
·         OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
·         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.
·         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
·         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.

Tahun 2012 bukan ramalan KIAMAT

suku maya,kiamat,2012(thinkstockphoto)
Para ahli menegaskan bahwa, akhir dari kalendar Suku Maya tak ubahnya akhir kalender tahunan modern yang harus diganti tiap Desember. Jadi menurut para ahli, habisnya kalender tersebut bukan tanda kiamat.
"Bukti-bukti yang ditemukan mendukung bahwa tanggal tersebut memang tanggal penting yang dirayakan Suku Maya kuno. Meskipun demikian, mereka tidak meramalkan hari kiamat berkaitan dengan tanggal itu," jelas Marcello Canuto, Direktur Tulane University Middle America Research Institute.
Teks kuno yang ditemukan mengonfirmasi akhir penanggalan Suku Maya  --dikenal dengan kalendar Long Count-- akan jatuh pada 21 Desember 2012. Hari tersebut dikenal sebagai hari terakhir dari bak'tun ke-13 atau siklus 144.000 hari. Suku Maya Kuno memandang akhir bak'tun ke-13 merupakan akhir dari siklus penciptaan.
Interpretasi dari akhir tersebutlah yang membuat banyak kalangan meramalkan hari kiamat. Tidak semua orang membayangkan kiamat berupa hujan api dan badai yang menyebabkan musnahnya kehidupan di muka Bumi. John Hopes, ahli sejarah Maya dari University of Kansas, mengatakan, sekelompok orang memperkirakan adanya transformasi spiritual pada 21 Desember.
Sebuah jajak pendapat yang dilakukan Reuters pada Mei tahun ini menunjukkan bahwa 15 persen responden di seluruh dunia yakin kiamat akan terjadi pada saat mereka hidup. Sedangkan 10 persen responden meyakini akhir dunia tersebut akan terjadi tahun ini.
"Apa pun penyebabnya: 'tangan Tuhan', bencana alam, atau berkaitan dengan politik, mereka percaya kiamat sudah dekat," kata Keren Gottfried, Manajer Penelitian di Ipsos Global Public Affairs yang melakukan jajak pendapat untuk Reuters.
Hari kiamat sebetulnya adalah hal ilmiah. Para astronom dan berbagai peneliti sudah mengetahui bahwa alam semesta semakin luas hingga pada suatu saat, Matahari akan berada sangat jauh dan tidak mampu menyokong kehidupan di Bumi. Meskipun demikian, para peneliti meyakini bahwa saat itu tidak akan terjadi dalam jutaan tahun dari sekarang.