Pemrograman Multi-Platform (Java)

JAVA

1.      Pengertian Java
Java adalah bahasa pemrograman yang multi platform dan multi device. Sekali anda menuliskan sebuah program dengan menggunakan Java, anda dapat menjalankannya hampir di semua komputer dan perangkat lain yang support Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non-spesifik.

2.      Kelebihan dan Kekurangan Java
Java mempunyai beberapa keunggulan dibandingkan dengan bahasa pemrograman lainnya. Keunggulan bahasa pemrograman Java antara lain:

1. Berorientasi objek
Java adalah bahasa pemrograman yang berorientasi pada objek. Java membagi program menjadi objek-objek serta memodelkan sifat dan tingkah laku masing-masing dalam menyelesaikan suatu masalah.

2. Java bersifat multiplatform
Java dirancang untuk mendukung aplikasi yang dapat beroperasi di lingkungan jaringan berbeda. Untuk mengakomodasi hal tersebut, Java compiler membangkitkan bytecodes (sebuah format yang tidak tergantung pada arsitektur tertentu yang didesain untuk mengirimkan kode ke banyak platform perangkat keras dan perangkat lunak secara efisien). Java dapat dijalankan oleh banyak platform seperti Linux, Unix, Windows, Solari, maupun Mac.

3.    Java bersifat multithread
Multithreading adalah kemampuan suatu program komputer untuk mengerjakan beberapa proses dalam suatu waktu. Thread dalam Java memiliki kemampuan untuk memanfaatkan kelebihan multi prosessor apabila sistem operasi yang digunakan mendukung multi prosessor.

4. Dapat didistribusi dengan mudah
Java memiliki library rutin yang lengkap untuk dirangkai pada protocol TCP/IP (seperti HTTP dan FTP) dengan mudah. Kemampuan networking Java lebih kuat dan lebih mudah digunakan. Java memudahkan tugas pemrograman jaringan yang sulit seperti membuka dan mengakses sebuah soket koneksi. Java juga mamudahkan pembuatan CGI (Common Gateway Interface).

5. Bersifat dinamis
Java dirancang untuk beradaptasi dengan lingkungan yang sedang berkembang. Java bersifat dinamis dalam tahap linking. Class yang ada dapat di link sebatas yang diperlukan, apabila diperlukan modul kode yang baru dapat di link dari beberapa sumber, bahkan dari sumber dalam jaringan Internet.

                        Selain kelebihannya Java juga memiliki kelemahan antara lain :
1.      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.
2.      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.

3.      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.

OOP
1.      Pengertian OOP
Object Oriented Programming adalah semacam metode dalam pembuatan program yang berbasiskan pada objek yang mempunyai tujuan untuk menyelesaikan berbagai masalah pemprograman yang semakin meningkat dan rumit.
Didalam Object Oriented Programming ini tentunya mempunyai beberapa konsep yaitu :

1.   Class/kelas
Class/kelas ini dapat didefinisikan sebagai sekumpulan data atau sebuah fungsi dalam satu lingkup yang mempuyai tujuan tertentu. Didalam kelas biasanya terdapat atribut dan method. Berbeda dengan objek, class lebih mendefinisikan method secara umum.

2.   Object/objek
Object/objek ini dapat diartikan sebagai pembugkus dari suatu fungsi dalam pemprograman berorientasi objek (OOP) atau juaga dapat dikatakan sebagai dasar atau modul dalam pemrograman berorientasi objek (OOP).

3.   Enkapitulasi
Enkapsulasi yaitu suatu penerapan yang menyembunyikan suatu proses dalam sistem. Agar tidak bisa terlihat yang bertujuan hanya memberikan hak akses kepada yang  dituju yang bertujuan menghindari interfensi dan menyederhanakan penggunaan sistem itu sendiri. Dalam sebuah objek tentunya memeiliki barbagai variabel dan method, maka dari itu sebuah objek membutuhkan tempat untuk menampung variabel dan method tersebut, tempat inilah yang dinamakan Enkapitulasi. Singkatnya Enkapitulasi adalah sebuah wadah atau pembungkus sebuah program dan data yang akan diolah. Enkapitulasi memeiliki beberapa keuntungan diantranya adalah :

a.       Melindungi program atau data.
b.      Objek dapat dikelola secara independen dan kita juga bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.

Pebedaan pemprograman berorientasi objek dengan pemprogram prosedural adalah :
a.       Pemprograman berorientasi objek lebih fokus pada masalah  yang akan ditangani menggunakan komputer.
b.      Sedangkan pemprograman prosedural memfokuskan tentang bagaimana sebuah komputer menangani suatu masalah.

2.      Kelebihan dan Kekurangan OOP
OOP memiliki beberapa keuntungan dalam pemrograman, di antaranya:
1.      OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sangat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detil implementasinya tersembunyi.
2.      OOP akan mempermudah dalam memaintain dan memodifikasi kode yang sudah ada. Objek yang baru dapat dibuat tanpa mengubah kode yang sudah ada.
3.      OOP menyediakan framework untuk library kode di mana komponen software yang tersedia dapat dengan mudah diadaptasi dan dimodifikasi oleh programmer. Hal ini sangat berguna untuk mengembangkan GUI (Graphical User Interfaces).
Sedangkan beberapa kelemahan OOP antara lain adalah sebagai berikut:
1.      Tidak memperbolehkan implementasi yang kuat pada reuse.
2.      Properti software tidak terikat dalam satu unit fungsional, sehingga harus crosscut di antara komponennya.
3.      Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan.
Netbeans
1.      Pengertian Netbeans
Netbeans merupakan sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.
2.      Kelebihan dan Kekurangan Netbeans
a.       Kelebihan NetBeans GUI Builder :
Salah satu yang menjadi kelebihan NetBeans GUI Builder adalah yang telah disebutkan diatas, yaitu GRATIS. Selain itu NetBeans GUI Builder sangat kompetebel dengan Swing karena memang langsung dikembangkan oleh Sun yang notabenenya sebagai pengembang Swing.
b.      Kekurangan NetBeans GUI Builder :
 NetBeans hanya mensupport 1 pengembangan Java GUI, yaitu Swing, yang padahal ada Java GUI yang dikembangkan oleh eclipse yang bernama SWT dan JFace yang sudah cukup populer.

JSP
1.      Pengertian JSP
Java Server Pages (JSP) merupakan sebuah tenologi servlet-based yang digunakan pada web tier untuk menghadirkan dynamic dan static content. JSP merupakan text-based dan kebanyakan berisi template text HTML yang digabungkan dengan spesifik tags dynamic content.

2.      Kelebihan dan Kekurangan JSP
a.       Kelebihan JSP
1)      JSP dapat berjalan pada sembarang platform.
2)      JSP cenderung memiliki performansi yang lebih baik, karena JSP dilakukan kompile terlebih dahulu menjadi servlet yang berupa bytecode.
3)      Didukung bahasa Java yang memilki kemampuan OOP dan tingkat reuseability tinggi.
4)      Dapat menggunakan JavaBean untuk mengenkapsulasi kode-kode java.
b.      Kelemahan JSP
1)   Proses kompile terhadap halaman JSP mengakibatkan client harus menunggu lebih lama pada saat pertama kali di lakukan loading. Hal ini tentu saja menyebabkan kecepatan proses JSP secara menyeluruh berkurang.
MySQL
1.      Pengertian MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread dan multi-user.
2.      Kelebihan dan Kekurangan MySQL
a.       Kelebihan :
1.      Dapat bekerja di beberapa platform yang berbeda seperti LINUX, Windows, MacOS, FreeBSD, Solaris, dll.
2.      Dapat dikoneksikan pada bahasa C, C++, Java , Perl, PHP, dan Python.
3.      Mempunyai lebih banyak tipe 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.
4.      Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY . Mendukung terhadap fungsi penuh ( COUNT ( ), COUNT(DISTINCT), AVG( ), STD ( ), SUM ( ), MAX ( ), AND MIN ( ) ).
5.      Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
6.      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.
7.      Menggunakan GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
8.      Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama. Structure table MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
9.      Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
10.  Privilege (hak) dan password sangat fleksibel dan aman serta mengijinkan "Host-Based" Verifikasi. Memiliki beberapa lapisan keamanan , seperti subnet mask, nama host, dan izin akses user dengan sistem perijinan yang mendetail serta sandi/password terenkripsi.
11.  Program dapat running di semua OS,PHP MySQL berjalan secara web base, itu artinya semua operating system yang memiliki web browser dapat menggunakan aplikasi ini, dan semua OS tentu saja selalu memiliki web browser, Windows dengan internet explorer, Linux dengan Mozilla, Macintosh dengan safari, dan handphone dengan opera mini. Sangat mobile dan flexibel.
12.  Sangat cocok dan mudah diterapkan pada komputer berjaringan , program PHP MySQL cukup diinstall di salah satu komputer pada jaringan yang dalam hal ini adalah komputer server, pada komputer client, kita tidak usah menginstalasikan program apapun lagi. Pada komputer client kita cukup mengarahkan web browser ke komputer server dan program dapat langsung running, apabila program error(walau kemungkinan sangat kecil sekali) program cukup di maintenance di pihak komputer server yang terinstalasikan program tanpa harus memaintenance komputer client juga. sangat mudah dan simple.
13.  Tidak ada virus yang menginfeksi program PHP, sampai saat ini program PHP belum dapat diinfeksi virus, kebanyakan virus menginfeksi file berekstensi *.exe dan *.dll, sangat awet dan aman.
14.  Sangat stabil disemua operating system program PHP walau dipakai dalamwaktu yang sangat lama tidak akan memberatkan sistem dan tidak akan mempengaruhi komputer untuk berjalan sangat lambat, sangat cocok diterapkan pada komputer yang selalu nyala 24 jam
15.  Sangat multi user, program PHP tidak akan bentrok dengan pengguna lain yang sama-sama menggunakan program dalam satu jaringan karena MySQL merupakan turunan dari konsep SQLMulti user
16.  Merupakan DBMS yang gratis/open source berlisensi GPL (Generic Public License).
17.  Cocok untuk perusahaan dengan skala yang kecil.
18.  Tidak membutuhkan spesifikasi hardware yang tinggi untuk bisa menjalankan MySQL ini bahkan dengan spesifikasi hardware yang minimal sekalipun.
19.  MySQL dapat melakukan koneksidengan komputer client menggunakan protokol TCP/IP, Unix Socket (UNIX), atau Named Pipes(Windows NT).
20.  MySQL memiliki antar muka/interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application progamming interface).
21.  Command and function MySQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query.
b.      Kekurangan :
1.      Untuk koneksi kebahasa pemrograman visual seperti VB(Virus Basic), 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. Tidak cocok baik menyimpan data maupun untuk memproses data.
3.      Program hanya dapat running di windows. Itupun untuk windows lama,untuk windows terbaru seperti Vista,Visual Basic sangat tidak stabil berjalan di platform tersebut,banyak kantor yang dapat menghubungkan laptop pegawai mereka untuk bergabung dalam sistem jaringan kantor.Bagaimana untuk pengguna Macintosh maupun Linux? Program tidak dapat dijalankan di laptop mereka. Walaupun bisa, program harus diinstall terlebih dahulu menggunakan emulator.
4.      Tidak Praktis apabila diterapkan pada jaringan komputer. Itu dikarenakan VB program yang berdiri sendiri yang berarti harus diinstalasikan pada tiap komputer pada jaringan tersebut. Bayangkan apabila ada puluhan komputer? ada berapa lama waktu untuk instalasi dan pemeliharaannya?
5.      Aplikasi yang rentan terkena virus, program yang dibuat menggunakan Visual Basic adalah berupa execution program(*.exe) yang dapat terinfeksi virus seperti virus Sality, program menjadi rusak dan tidak bisa dijalankan. apabila program terinfeksi tersebut di scan oleh antivirus, program akan dihapus dari sistem, sangat tidak aman untuk sebuah program yang menjadi tulang punggung perusahaan.
6.      Mudah hang dan crash, program dari VB seringkali menjadi not responding lalu mati tiba-tiba.
7.      Tidak multi user, apabila dalam satu jaringan komputer menggunakan program dalam satu waktu, salah satu user harus mengalah sampai user yang lain selesai menggunakan program.
8.      Memiliki keterbatasan kemampuan kinerja dalam server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.

Apache Tomcat
1.      Pengertian Apache dan Apache Tomcat
Apache adalah sebuah nama web server yang bertanggung jawab pada request-response HTTP dan logging informasi secara detail. Selain itu, Apache juga diartikan sebagai suatu web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja sangat digemari. Apache Tomcat merupakan salah satu servlet/web container yang paling populer di lingkungan pemrograman web java.
2.      Kelebihan dan Kekurangan Apache dan  Tomcat
a. Kelebihan Apache Tomcat
1.   Performanya yang tinggi, stabil, memiliki banyak fitur
2.   Mudah Dikonfigurasi
3.    Menggunakan hanya sedikit sumber daya pada server.
4.    Tidak bergantung kepada thread untuk melayani klien.
b. Kekurangan Apache Tomcat
1.   Belum support IPV6
2.   Update/patchnya versi terbarunya lama keluar
3.   Fast-CGInya tidak berfungsi maximal
4.   Pemakainya tidak sebanyak Apache atau IIS(Komunitasnya tidak sebanyak Apache atau IIS)


Refferansi : http://informatikahotnews.blogspot.co.id/

Posting Komentar

0 Komentar