Rabu, 16 Oktober 2013

MAKALAH BAHASA PEMROGRAMAN JAVA




IMPLEMENTASI BAHASA PEMROGRAMAN JAVA UNTUK PEMBELAJARAN

“Diajukan untuk memenuhi salah satu tugas dari mata kuliah Teknologi Informasi dan Komunikasi”
Dosen pengampu: Septia Lutfi M,pd


Disusun Oleh             : Mutia Nurotul Bariyah
NIM                            : 1102412022
Rombel                       : 02 (dua)






TEKNOLOGI PENDIDIKAN
FAKULTAS ILMU PENDIDIKAN
UNIVERSITAS NEGERI SEMARANG
2013

KATA PENGANTAR

Alhamdulilah, puji syukur saya haturkan kehadirat Allah SWT. Atas rahmat-Nya lah saya dapat menyelesaikan makalah ini dengan baik.
Tak lupa saya juga haturkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah mendukung dan membantu dalam menyelesaikan makalah ini.
   Saya menyadari bahwa Makalah ini memang belum mencapai kesempurnaan, masih banyak kekurangan-kekurangan yang harus diperbaiki. Untuk itu, saya sebagai penyusun mengharapkan kritik dan saran yang membangun dari para pembaca agar dapat memperbaiki dalam penulisan Makalah yang saya buat selanjutnya. 
Akhirnya saya sebagai penyusun berharap, semoga Makalah yang saya buat dapat menambah wawasan kepada saya pada khususnya dan kepada para pembaca pada umumnya.

Semarang,    September 2013

Mutia Nurotul Bariyah










Daftar Isi


                                     Halaman
Halaman Sampul .................................................................................................1   
Kata Pengantar .....................................................................................................2
Daftar Isi ..............................................................................................................3
BAB I. PENDAHULUAN                                                                                
A.    Latar Belakang ...................................................................................4
B.     Rumusan Masalah ..............................................................................5
C.     Tujuan ................................................................................................5
BAB II. PEMBAHASAN
A.    Pengertian Java ...................................................................................6
B.     Sejarah Java ........................................................................................7
C.     Evolusi Java Platfrom ........................................................................10
D.    Edisi Java ...........................................................................................11
E.     Fitur-fitur Java ...................................................................................14
F.      Kegunaan Java ...................................................................................20
G.    Aturan Dasar Java ..............................................................................22
H.    Karakteristik Bahasa Pemrograman Java.....................................................................................................22
I.       Konsep OOP Java...............................................................................25
J.       Implementasi Bahasa Pemrograman Java
 Untuk Pembelajarn Geometri..............................................................................................29
K.    Kelebihan dan Kekurangan Java ........................................................30
BAB III. PENUTUP
A.    Simpulan ............................................................................................34
B.     Saran ..................................................................................................35
C.     Daftar Pustaka ....................................................................................36
BAB I
PENDAHULUAN


A.    LATAR BELAKANG

Dengan kondisi dunia yang semakin mengglobal, tak dapat dipungkiri bahwa kemajuan perkembangan teknologi setiap tahunnya sudah menjadi barang wajib untuk melakukan inovasi baru dari berbagai variasi yang berbasis Teknologi Informasi (TI). Jika kita melihat realita masa sekarang nampaknya perbaharuan teknologi yang sangat signifikan dan semakin modern, selalu diikuti oleh penggemar bidang IT. Karena terbukti di zaman sekarang teknologi komputer sudah menyusupi hampir semua bidang kehidupan manusia, baik dari tingkat pemerintah pusat sampai pemerintah desa, perusahaan, supermarket, mini market, maupun lembaga pendidikan dari semua jenjang hampir semua mengenal komputer. Komputer dapat dijadikan sarana belajar dengan konsep e-learning yang melatih kita untuk belajar mandiri.
Saat ini, dengan perkembangan teknologi yang semakin berkembang dengan lingkungan yang semakin luas dan banyak diminati, dan mempunyai nilai ekonomi yang sangat tinggi yaitu dunia pemrograman komputer. Seperti halnya dunia pemrograman komputer dikenal banyak bahasa pemrograman komputer, seperti C, C++, Pascal Basic, Java,  dan lain-lain. di anatara bahasa pemrograman, java adalah yang paling diminati, karena perannya yang sudah tidak diragukan lagi dan ke eksisannya dalam perkembangan TI. Oleh karena itu yang akan dibahas dalam makalah ini adalah bahasa pemrograman java, dan hal-hal menarik yang ada dalam bahasa pemrograman java.



B.     RUMUSAN MASALAH
A.    Apa Pengertian Java ?
B.     Bagaimana Sejarah Munculnya Java ?
C.     Seperti Apa Evolusi Java Platfrom ?
D.    Apa Saja Edisi Java ?
E.     Apa Saja Fitur-fitur Java ?
F.      Apa Kegunaan Java ?
G.    Bagaimana Aturan Dasar Pada Java ?
H.    Seperti Apa Karakteristik  Bahasa Pemrograman Java ?
I.       Bagaimana Konsep OOP Pada Java ?
J.       Bagaimana Implementasi Bahsa Pemrograman Java Untuk Pembelajaran Geometri ?
K.    Apa Kelebihan dan Kekurangan Java ?


C.    TUJUAN
Makalah ini disusun dengan tujuan sebagai sarana untuk mengikuti
pesatnya perkembangan di bidang teknologi informasi dan komunikasi di masa sekarang, salah satunya pada dunia pemrograman yang sekarang semakin banyak diminati dan banyak hal menarik yang dapat di pelajari menegenai dunia pemrograman java serta untuk menambah wawasan kita tentang bahasa pemrograman Java, yang ternyata dapat pula diimplementasikan dalam pembelajaran geometri. Selain itu tujuan disusunya makalah ini adalah untuk memenuhi tugas dari mata kuliah Teknologi Informasi dan Komunikasi.






BAB II
PEMBAHASAN

A.    PENGERTIAN JAVA
Java adalah sebuah platfrom teknologi pemrograman yang dikembangkan oleh Sun Micrisystem. Pertama kali dirilis tahun 1991 dengan nama kode Oak, yang kemudian pada tahun 1995 kode Oak diganti dengan nama Java. Yang memotivasi Java dibuat adalah untuk membuat sebuah bahasa pemrograman yang portable dan independent terhadap pltfrom (platfrom independent). Java juga dapat membuat perangkat lunak yang dapat ditanamkan (embedded) pada berbagai mesin dan peralatan konsumer seperti handphone, microwave, remote control, dan lain-lain. kemudian hal ini Java memiliki konsep yang disebut “write once run everywhere” tersebut. 
Kita lebih suka menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding hanya sebuah bahasa pemrograman konvensional. Dalam tingakatan level bahasa pemrograman, Java tergolong bahasa tingkat lebih tinggi (higher-level language). Ciri khas dari bahasa yang tingkatannya lebih tinggi adalah kemampuan user untuk memanipulasi operasi pada level hardware lebih rendah. Bahkan pada bahasa higher-lever seperti Java, user benar-benar tidak dapat melakukan manipulasi pada level hardware secara kangsung, karena operasi-operasi pada hardware misalnya; pengalokasian memory, penghapusan data pada memory sudah dilakukan secara otomatis oleh Java  Virtual Machine (JVM).
Java 2 adalah generasi kedua dari Java platfrom. Sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM ini lah yang akan membaca bytecode dalam file. Class dari suatu program sebagai reprsentasi langsung dari program yang berisi bahasa mesin. Dengan demikian bahasa java disebut sebagai bahasa pemrograman yang portabel karena dapat dijalankan pada berbagai sistem operasi seperti, Windows, Linux, Unix, MacOS, atau SymbianOS (mobile) asalkan pada sistem operasi tersebut terdapat JVM.  Kunci dari portabilitas ini adalah keluaran hasil kompilasi java bukanlah file executable melainkan berbentuk bytecode.
Sebenarnya eksekusi interpreter lebih lambat dibandingkan dengan kompilasi executable, maka Sun menyuplai teknologi HotSpot yang menyediakan compiler JIT (Just In-Time) untuk bytecode dan menjadi bagian dari JVM untuk mengkompilasi bytecode menjadi executable code secara real-time, sehingga menjalankan aplikasi Java lebih cepat.
Ekstensi java harus dikompilasikan menjadi file bytecode, agar program java dapat dijalankan. Untuk menjalankan bytecode tersebut dibutuhkan JRE (Java Runtime Environment) yang memungkinkan pemakai untuk menjalankan program java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan library java yang digunakan.


B.     SEJARAH JAVA
Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Selanjutnya pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai “*7″ (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan TV kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto. Yang kemudian perusahaan itu menjadi bertambah maju serta jumlah karyawan yang meningkat dalam kurun waktu yang cukup singkat, awalnya 13 lalu menjadi 70 orang. Dan pada rentan waktu ini juga ditetapkan pemakaian internet sebagai medium yang menjembatani kerja dan ide diantara mereka. Yang pada waktu itu internet hanya dipake di kalanagan akademisi dan militer saja.
Terinspirasi dari film tahun 80-an, Blade Runner. Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah java pertama yang dinamai Web Runner, yang pada perkembanagan rilis pertama berganti nama menjadi Hot Java.
Sun kemudian mengumumkan bahasa java sebagai bahasa yang mampu menjalankan web secara interaktif dan aman. Pada pertengahan tahun 1995 Netscape mengumumkan akan mengadopsi java di dalam browser mereka, sehingga pada waktu itu secara defaco menjadi bahasa standar di dunia maya Internet. Perkembangan java dipermudah lagi dengan tersedianya JDK (Java Development Kit) di situs milik Sun yang dapat di download secara gratis. Kemudian di akhir tahun 1995,IBM dan Microsoft memutuskan untuk membeli lisensi Java untuk dipakai dalam teknologi mereka. Bahasa Java itu sendiri dikembangkan dari bahasa sebelumnya yaitu C++, karena proyek Green tersebut telah dikembangkan oleh orang-orang yang dulunya bekerja dengan bahasa C++. Java lahir dari kebutuhan akan sebuah pemrograman berorientasi objek. Java itu sendiri diciptakan karena ketidak puasan akan kinerja C++ karena dinilai memeiliki banyak bug, berbiaya besar dan tergantung pada platfrom.
Sekitar bulan Maret 1995, untuk pertama kali kode java versi 1.0a2 dibuka kesuksesan mereka diikuti dengan  pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayangnya terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja “bapak java”, James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merk dagang tersebut, sehingga diambil nama penggantinya menjadi “Java”. Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.
Versi keluaran awal java ditahun 1996 sudah merupakan versi relase sehingga dinamakan java versi 1.0, versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya, seperti;
·         Java lang, yaitu peruntukan kelas elemen-elemen dasar
·         Java io, yaitu peruntukan kelas input dan output, termasuk penggunaan berkas
·         Java until, yaitu peruntukan kelas pelengkap seperti kelas struktur data dan kelas penaggalan
·         Java net, yaitu peruntukan kelas TCP/IP
·         Java awt, yaitu kelas dasar untuk aplikasi antar muka dengan pengguna (GUI)
·         Java applet, yaitu kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web




C.    EVOLUSI JAVA PLATFROM

Munculnya browser-browser baru, standar HTML pun mulai dikenal namanya serta diperhitungkan keberadaannya, DOM menjadi lebih lengkap fiturnya walaupun kegunaanya berbeda antar browser. Semakin banyak hal yang dapat dilakukan Javascript, kebutuhan cross platfrom pun akhirnya muncul akibat kurangnya monopoli browser. Pustaka dan framework Javascript pun banyak lahir, hal itu tidak saja menjawab kebutuhan cross platfrom, pustaka ini juga menambahkan fitur yang hilang lewat Javascript itu sendiri misalnya, struktur class, variabel privat dan publik, pemanggil fungsi secara asinkron, emulasi threading, dan masih banyak lagi.
Tidak hanya populer disisi klien, karakteristik Javascript rupanya juga diinginkan disisi server (Jaxer). Bahkan kini telah berevolusi menjadi platfrom, bukan hanya sekedar bahasa pelengkap. Banyak pihak yang kini menawarkan platfrom dengan dukungan Javascript, bahkan ada yang ekslusif mendukung javascript saja. Berikut ini contoh-contohnya platform javascript:
·         Appjet
Layanan ini bekerja, sama seperti yang dilakukan oleh Google lewat Google App Engine. Appjet ini hanya mendukung Javascrip. Satu set API yang cukup komprehensif (printing, utilities, xhr, etc) ditambah dengan pustaka sumbangan dari parapenggunanya membuat Appjet mampu menjadi prasarana Rapid Prototyping.
·         TitaniumApp
Layanan ini banyak meniru kesuksesan  AdobeAIR dengan memberikan SDK Opensource yang dapat dipakai untuk membangun desktop, web dan mobile app dengan mudah melalui HTML, CSS dan Javascript API. Namun saat ini layanan inibelum lengkap, tetapi akan tetap menarik karena akan berbeda dengan yang ada di ADOBE AIR.
·         Javascript dari Joyent
Joyent telah berkecimpung dalam hal application acceleration dan scaling service dengan produk Jpyent acceleratiornya. Bahkan dalam waktu lalu telah mengakuisisi Reasonably Smart, akan diluncurkan platfrom berbasis javascript.


D.    EDISI JAVA

Sebagian besar bahasa pemrograman modern berdiri atas diatas pustaka-pustaka kelas yang telah ada untuk mendukung fungsionalitas. Sementara pada bahasa pemrograman java, kelompok-kelompok kelas yang berkaitan erat dengan fungsi java yang dimasukkan kedalam satu paket, bervariasi sesuai dengan edisi java. Dengan masing-masing paket digunakan untuk maksut tertentu, baik untuk applet, aplikasi standar, Skala Enterprise dan produk konsumer.
Seperti yang telah diuraikan diatas bahawasannya Java merupakan bahasa pemrograman yang dapat dijalankan disemua platfrom, diberagam lingkungan seperti; Internet, Consumer electronic product dan Computer applications. Java platfrom tersedia dalam tiga edisi untuk keperluan yang berbeda yaitu :
1.      Java 2 Micro Edition (J2ME)
2.      Java 2 Standard Edition (J2SE)
3.      Java 2 Enterprise Edition (J2EE)

Pada pengembangan Enterprise applicationkita menggunakan sejumlah besar paket. Pada Consumer Electronic Product, hanya sebagian kecil bahasa yang diggunakan. Masing-masing edisi berisis Java 2 Software Development Kit (SDK) untuk mengembangkan aplikasi Java 2 Run Time Environtmen untuk menjalankan aplikasi.
Java memiliki beberapa versi library atau teknologi yang disebut juga sebagai edisi dari bahasa pemrograman java. Tiga edisi utama dari library adalah Micro, Standard, dan Enterprise. J2ME (Java2 Micro Edition) merupakan edisi library yang dirancang untuk membuat aplikasi desktop untuk digunakan pada device tertentu seperti pagers dan mobile phone, handheld PDA dan set-top box. J2ME sembari menyediakan bahasa Java yang sama serta unggul dalam hal portabilitas dan sefe network delivery seperti J2SE dan J2EE. J2ME menggunakan sekumpulan paket yang lebih kecil. J2Me berisi subset paket J2SE ditambah dengan paket spesifik Micro Edition Java.aplikasi J2ME juga dapat diskala agar dapat berjalan pada aplikasi J2SE dan J2EE.
 Untuk merancang aplikasi yang jalan pada alat kecil seperti telepon genggam, koputer genggam dan pager. J2SE (Java2 Standart Edition) merupakan edisi library yang dirancang untuk membuat aplikasi desktop atau applet pada web browser dengan bahasa dasar yang mendukung grafis, M/K, keamanan, konektivitas basis data dan jaringan. The Java 2 Platfrom, Standard Edition (J2SE) juga menyediakan lingkungan pemrograman yang kaya fitur, serta stabil, aman dan cross-platfrom. Edisi ini mendukung koneksi ke basis data, rancanagan antar muka pengguna aplikasi dan jaringan komputer sebagai paket-paket dasar bahasa pemrograman Java.
J2EE (Java2 Enterprise Edition) merupakan edisi librari java yang dirancang untuk membuat aplikasi enterprise yang memerlukan antar muka dengan sumber data (data source). J2EE dapat pula dikatakan bahwa J2EE adalah kelompok yang lebih besar dengan J2SE di dalamnya. The Java 2 Platfrom, Enterprise Edition (J2EE) juga menyediakan lingkungan untuk membangun dan menjalankan multitier enterprise applications. J2EE berisi paket-paket didalam Standard Edition serta ditambah dengan paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlet, javaServer pages dan kendali transaksi yang fleksibel.
Java Virtual Machine (JVM) adalah sebuah spesifikasi untuk sebuah komputer abstrak. JVM terdiri dari sebuah kelas pemanggil dan sebuah interpreter Java yang mengeksekusi kode arsitektur netral. Kelas pemanggil memanggil file. Class dari kedua program Java dan Java API untuk dieksekusi oleh interpreter Java. Interpreter Java mungkin sebuah perangkat lunak interpreter yang menterjemahkan satu kode byte pada satu waktu, atau mungkin sebuah just-intime (JIT) kompiler yang menurunkan bytecode arsitektur netral kedalam bahasa mesin untuk host computer.
JMF API (Java Media Framework Application Programming Interface) adalah extension dari J2SE yang dikonsentrasikan untuk pemrograman pada multimedia streaming (JMF version 2.1.1e). JMF version 2.1.1e sudah mendukung RTP (Realtime Protocol) yang digunakan sebagai protokol aplikasi yang realtime seperti audio/video streaming. Dengan menggunakan API ini akan mempermudah dalam meng-implementasikan realtime protocol pada multimedia streaming.
JMF API merupakan arsitektur yang menggabungkan protokol dan pemrograman interface untuk merekam, mentransmisi, dan playback media. Pada JMF 2.1.1e, Sun’s sebagai perusahaan pengembang bahasa pemrograman java berinisiatif untuk membawa pemrosesan time-base media kedalam bahasa pemrograman Java. Time-base media adalah mengubah data yang diterima dengan berdasarkan waktu, termasuk didalamnya seperti audio dan video klip, MIDI, dan animasi.
Karakteristik time-basedmedia adalah dibutuhkannya waktu untuk mengirimkan dan memproses media. Streaming media dapat dikatakan ketika media data dialirkan harus ditemukan timing yang yang tepat untuk menerima dan menampilkannya. Misalkan, ketika sebuah film dimainkan, data tidak dapat dikirimkan dengan cepat sehingga akan terjadi delay pada waktu playback. Artinya, jika data tidak dapat dikirimkan dan di proses dengan cepat maka akan kehilanagan data atau dropping frame untuk memperbaiki playback.
Dalam mengatasi masalah waktu transfer data maka dikembangkan banyak formataudio/video seepperti Cinepak, MPEG-1, H.263, JPEG, PCM, Mu-Law, G.723.1 dan lain-lain. Dari masing masing format tersebut akan mempengaruhi kualitas video/audio, kebutuhan CPU, dan bandwidth.

E.     FITUR-FTUR JAVA
Fitur-fitur Java antara lain;
1.      Java Virtual Machine (JVM)
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang  membuat  aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.
Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi. class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
2.      Gerbage Collection
Dimana disini terdapat banyak bahasa pemrograman lain dengan memberi kebebasan seorang programmer untuk mengalokasikan memory pada saat program yang dijalankan yang selanjutnya memory tersebut harus ditempatkan kembali blok memory tersebut supaya program lain juga dapat menggunakannya. Dalam C, C++dan bahasa lainnya, yang bertanggungjawab adalah seorang programmer tentang hal ini. Namun apabila programmer tersebut lupa, akan menyebabkan suatu keadaan yang biasa disebut dengan nama memory leaks. Memory leaks, adalah suatu keadaan dimana suatu blok memory yang dialokasikan, namun tidak pernah dibebaskan oleh pihak yang bertanggungjawab (program), jika memory yang dialokasikan tidak dibebaskan dari memory, maka akan mengurangi ketersediaan memory yang akan digunakan oleh sistem operasi dan aplikasi lainnya. Dengan demikian apabila terdapat dalam jumlah yang besar , sudah tentu sangat mempengaruhi kinerja sistem operasi dan aplikasi lainnya. Dengan gerbage collection program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi, sehingga akan mengurangi beban pengelolaan memory oleh programmer dan mengeleminasi sumber kesalahan memory leaks tersebut.
3.      Code Security
Code security ini terimplementasi pada Java dengan melalui penggunaan Java Runtime Environment (JRE). Java menggunakan tiga lapis model pengamanan untuk melindungi sistem dari untrusted Java Code, yaitu diantaranya;
a.       Clas loader, menangani pemuatan kelas java ke runtime interpreter, local disk denga kelas-kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas - kelas di local disk di muat terlebih dahulu. proses ini menyediakan pengamanan dengan memisahkan kelas-kelas yang berasal dari local disk yang dimuat terlebih dahulu.
b.      Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java
c.       Manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti file , port jaringan , proses eksternal dan sistem widowing. Sistem windowing adalah komponen dari GUI yang khususnya pada lingkungan desktop yang mendukung pelaksanaan manajer window dan memberikan dukungan dasar untuk perangkat keras grafis, perangkat penunjuk seperti mouse dan keyboard.
Sementara itu teknik pengamanan lain yang disediakan Java, antara lain yaitu;
1.      Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
2.      Java memeiliki pengamanan terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan,  maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela  yang dibuka. Hal ini  mencegah jendela  pop-up menipu sebagai permintaan keterangan username dan password. Applet sendiri dapat didefinisikan sebuah program kecil yang ditulis dengan menggunakan bahasa pemrograman Java yang diakses melalui halaman web dan dapat di-download ke dalam mesin klien yang kemudian menjalankannya didalam jendela penjelajah web.
Dalam pemrograman Java, terdapat pula fitur-ftur yang tersedia dalam bahasa pemrograman Java. Sehingga banyak orang menyebut java memiliki prospek yang bagus, diantaranya yaitu seperti;
·         Aksesibilitas dari berbagai lokasi dunia
Java sebagai bahasa pemrograman yang ditujukann untuk internet, sehingga java dapat diakses melalui wolrd wide web serta dapat di akses dari lokasi manapun di seluruh dunia. Dengan demikian ini sangat memudahkan bagi pengguna di seluruh dunia. Untuk mengakses mereka hanya membutuhkan akses internet agar dapat mengakses java.
·         Sistem yang bebas virus
Java mengimplementasikan strong type-cheking pada komputer pengguna, perubahan pada program akan ditandai sebagai error dan program tidak akan dapat dijalankan. Type checking adalah sistem pengecekan dimana kode akan dicek apakah terdapat perubahan dalam kode asli. Jika firus mengubah kode tersebut, maka program tidak akan dijalankan. Sehingga komputer aman dari serangan virus.
·         Aplikasi yang cocok dengan berbagai platform.
Java juga merupakan pemrograman bahasa yang dapat digunakan diberbagai platfrom (platfrom independent Application). Java compiler meng-compile java code menjadi intermediate bytecode yang dapat dibaca oleh JMV (Java Virtual Machine). Java Interpreter pada browser yang mendukung java agar dapat mengeksekusi bytecode ini. Dengan proses kompilasi bytecode dan interpretasinya oleh web browser, program pada java dapat dijalankan diberbagai hardwaredan sistem operasi, asalkan sistem operasi ini memiliki web browser yang mendukung Java atau Java Interpreter.  
·         Java 2D/3D
Menyediakan sekumpulan API yang digunakan untuk membangun grafik 2D/3D.
·         Java Server Page (JSP)
Berkembang dari Java Servlet yang dipakai untuk mengganti aplikasi CGI, JSP yang mirip ASP dan PHP merupakan alternatif untuk solusi aplikasi internet.
·         Java Native Interface (JNI)
Menyediakan sekumpulan API yang digunakan untuk mengakses fungsi – fungsi di library yang dibuat dari bahasa penrograman lain.
·         Java Sound
Menyediakan sekumpulan API yang digunakan untuk memanipulaisi Sound.
·         Java Interface Definition Language + COBRA(Common Object Request Broker) 
·         Java IDL menyediakan dukungan Java untuk implementasi COBRA yang merupakan model distributed Object untuk solusi aplikasi besar di dunia networking.
·         Java Card
Digunakan pada aplikasi smart card.
·         Java Telephony API (JTAPI)
Menyediakan sekumpulan API untuk memanfaatkan peralatan telephony, sehingga cocok untuk aplikasi Computer Telephony Integration yang diperlukan seperti Automatic Call Distribution, PC-PBX dan lain sebagainya.
·         Bahasa Berorientasi Objek
Meskipun Java dipengaruhi bahasa-bahasa yang lalu, namun Bahasa Java bukan turunan langsung dari bahasa manapun, dan juga tidak dirancang untuk kompatibel secara kode sumber dengan bahasa-bahasa sebelumnya. Bahasa Java secara menyeluruh baru.
·         Bahasa Statically Typed
Seluruh objek dalam program harus dideklarasikan lebih dahulu sebelum digunakan. Ini memungkinkan kompiler Java menentukan dan melaporkan terjadinya pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variable bertipe integer dengan variable bertipe string).  Kelebihan lain dari fitur ini adalah kode program dapat dioptimasi untuk menghasilkan program berkinerja tinggi. 
·         Bahasa Dikompilasi
Sebelum menjalankan program di bahasa Java, program dikompilasi menggunakan Java compiler. Kompilasi akan menghasilkan file bytecode yang sama fungsinya dengan file kode mesin dan dapat dieksekusi disemua Java Interpreter. Java Interpreter membaca file “bytecode” dan menerjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat dieksekusi. 
·         Bahasa yang Aman
Salah satu prinsip kunci pembuatan Java adalah keselamatan dan keamanan. Bahasa Java (implementasinya) telah memperoleh pengalaman aspek keamanan dari Java Applet.
·         Bahasa Independen terhadap Platform
Platform independence adalah kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak bergantung pada platform. Tipe variabel Java mempunyai ukuran yang sama di semua platform sehingga variabel bertipe integer (int, long) berukuran sama tidak peduli dimana program Java dikompilasi.
·         Bahasa Multithreading
Thread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kakas untuk menulis program multithread, program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa tugas secara baik. Semua aplikasi pasti sedikitnya mempunyai satu thread yang merepresentasikan jalur utama eskekusi. 
·         Bahasa  yang Didukung Garbage Collector
Program Java melakukan garbage collection yang berarti pemrogram tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkan kesalahan alokasi dinamis. 
·         Bahasa yang Mampu Diperluas
Program Java mendukung native method, yaitu fungsi ditulis di bahasa lain, biasanya C atau C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang dapat dieksekusi lebih cepat dibanding fungsi ekivalen di Java. Native method secara dinamis akan di-link ke program Java, yaitu diasosiasikan dengan program saat jalan.  Bahasa mempunyai banyak fitur modern yang bagus untuk pengelolaan sistem kompleks.




F.     KEGUNAAN JAVA

Jika kita sering bergelut dengan aplikasi-aplikasi yang tersedia sekarang ini, tentunya sangat banyak kegunaan Java dalam komputer. Ada beberapa aplikasi dan situs yang tidak akan berfungsi jika, terkecuali jika mempunyai Java yang terinstal. Dimana hal tersebut akan bertambah banyak setiap harinya. Karena kelebihan Java sendiri adalah cepat, aman dan handal. Dari laptop untuk pusat data, konsol game untuk superkomputer ilmiah, ponsel ke internet, atau singkatnya dunia maya. Berikut merupakan kegunaan Java platfrom, diantaranya yaitu :
1.      Pembuatan perangkat lunak pada satu platfrom dan menjalankannya pada hampir semua platfrom lain.
2.      Membantu pembuatan programuntuk dijalankan pada browser Web dan layanan Web.
3.      Pembuatan aplikasi server-side untuk forum online, toko, jajak pendapat, HTML pemrosesan from , dan banyak lagi.
4.      Membantu mengkombinasikan aplikasi atau layanan menggunakan bahasa Java sehingga tercipta sebuah aplikasi atau layanan yang sangat disertakan.
5.      Menciptakan aplikasi yang kuat dan efisien untuk ponsel, prosesor terpencil, produk murah konsumen, dan hampir semua perangkat yang lain dengan basic digital.

Bagi para maniak downloader keberadaan Java tentunya sangat membantu beragam bentuk pengunduhan di internet, contoh spesifikasinya adalah ketika hendak mengunduh video dari situs terkenal youtube.com melalui situs mengunduh keepvid.com. ketika menekan tombol unduh setelah memasukan url (alamat) video, maka akan keluar sebuah peringatan dihalaman itu yang berisis bahawa untuk mengunduh video ini haruslah sudah terinstal Java di Computer. Dengan kata lain tanpa keberadaan Java yang terinstal , maka tidak tidak akan bisa mengunduh video yang kita inginkan.




G.    ATURAN DASAR JAVA

Aturan dasar dari penggunaan sintaks bahasa Java, yaitu:
§  Java bersifat case-sensitive
§  Secara umum Java mengabaikan spasi kosong (karakter yang tidak muncul pada layar, misalnya kosong, tab, baris baru)
§  Brace {} adalah simbol peneglompokan pada dala Java yang menandai bagian awal dan akhir dari suatu program
§  Setiap pernyataan Java diakhiri dengan simbol ;.
§  Simbol // membuat sebuah baris komentar, simbol /* ... */ membatasi bagian awal dan akhir suatu komentar.
§  Komentar javadoc khusus digunakan untuk men-generate dokumentasi HTML untuk program Java, dapat menciptakan komentar javadoc dengan memulai baris dengan /** dan mengakhirinya dengan */.
§  Java memiliki beberapa kata yang dicadangkan dan tidak bisa digunakan dalam ekspresi biasa. Kata-kata tersebut keyword.
§  Kelas pertama dalam program Java (disebut kelas penegndali) harus memiliki nama yang sam dengan file dimana ia disimpan.



H.    KARAKTERISTIK BAHASA PEMROGRAMAN JAVA

a.      Karakter Java
Sintaks Java merupakan pengembangan dari bahsa C, C++. Berikut adalah beberapa karakter tentang pemrograman Java :
1.      Bersifat portable dan platfrom independent. Program Java yang telah ditulis akan dapat dieksekusi di mesin apapun tanpa harus mengubah dari program tersebut.
2.      Memiliki garbage collection yang dapat mendealokasikan memori secara otomatis
3.      Menghilangkan sifat pewarisan berganda yang terdapat pada C++.
4.      Mengurangi pointer aritmateka. Pengaksesan memori secara langsung dengan menggunakan pointer memungkinkan program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi kemungkina  kesalahan seperti ini penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
5.      Memilki array sejati
6.      Mengurangi keracunan antara pemberian nilai pada statement conditional.



b.      Karakteristik Java
Ada pula beberapa karakteristik mengenai bahasa pemrograman Java, yaitu sebagai berikut:
a.       Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip C++, namun sintaks pada java telah banyak mengalami perubahan perbaikkan. Terutama untuk menghilangkan pointer yang rumit dan multipleinhritance. Java juga menggunakan automatic memory allocationdan memory garbage collection.
b.      Berorientasi Obyek (Obyek Oriented)
Java menggunakan pemrograman berorientasi obyek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi obyek memodelkan dunia nyata ke dalam obyek dan melakukan interaksi antar obyek-obyek tersebut.
c.       Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya leberries networking yang terintegrasi pada Java.
d.      Interpreted
Program Java dijalankan menggunakan interpreted yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikomplikasi menjadi java bytecode dapat dijalankan pada platfrom yang berbeda-beda.
e.       Robust
Java mempunyai relibilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handing untuk membantu mengatasi error pada pemrograman.
f.       Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
g.      Architecture Neutral
Program Java merupakan platfrom independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.
h.      Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
i.        Perfomance
Perfomance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan mengguanakan kompilasi Java lain seperti buatan inprise, Microsoft ataupun Symantecyang menggunakan Just In Time Compilers (JIT).
j.        Multitheaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
k.      Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

I.       KONSEP OOP DAN JAVA
Dalam pemrograman, java merupakan bahasa pemrograman berorietasi objek. Pemrograman berorintasi objek atau disebut object oriented programming ialah suatu bahasa pemrograman yang dikembangkan untuk membentuk objek-objek. Jadi, java menggunakan kelas untuk membentuk objek-objek tersebut.
Seperti yang dijelaskan di atas bahwa java memiliki sifat yang portable, karena java bisa dijalankan disemua jenis sistem operasi tanpa harus mengkompilasi ulang. Jadi, ketika java dibuat dalam sistem operasi windows, untuk menjalankan pada sistem operasi lain. oleh karena itu dengan bahasa pemrograman java akan dimanjakan dengan kemudahan-kemudahan yang tersedia.
Dalam pemrograman berorientasi objek menekankan pada konsep-konsep seperti berikut;
A.    Class
Yaitu kumpulan atas devinisi data dan fungsidalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh “class of dog” merupakan suatu unit yang terdiri atas definisi data dan fungsi-fungsi menunjukkan pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Class merupakan contoh abstrak dari sebuah objek yang telah terbentuk dari proses penyederhanaan. Contoh nyata atau perwujudan dari  sebuah objek dinamakan intance.
B.     Object
Object adalah sebuah entiti yang memiliki keadaan behavior dan identitas yang tugasnya dirumuskan dalam suatu lingkup masalah dengan baik. Inilah intance yang sebenarnya dari sebuah class, ini juga yang dikenal intance. Intance sendiri dibuat pada waktu meng-intantiate class menggunakan kata kunci new dalam sistem registrasi siswa. Contoh dari sebuah object yaitu entiti Student.

C.     Atribut
Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi tentang object. Dikenal juga sebagai member data, variabel intance, propertiatau sebuah flied data. Kembali pada contoh sistem registrasi siswa, dimana atribut dari sebuah siswa adalah nomor siswa.
D.    Method
Sebuah method menjelaskan behavior dari sebuah object. Method juga dikenal sebagai fungsi atau proseur, sebagai contoh methode yang mungkin tersedia untuk entiti siswa adalah method register.
E.     Abstraksi
Yaitu kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya dan berkomunikasi dengan obejk lainnya. Dalam sistem ini tanpa harus mengungkapkan bagaimana kelebihan ini diterapkan. Proses fungsi atau metode dapat juga dibuat abstrak, dan teknik digunakan untuk mengembangkan sebuah pengabstrakan.
F.      Enkapsulasi
Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara-cara yang tidak layak, karena hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Obejek lainnya tidak akan mengetahui dan tergantung pada trepresentasi dalam objek tersebut.

G.    Pewarisan
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, dapat dituliskan kode method hanya sekali dan dengan demikian dapat digunakan oleh semua subclass. Dari konsep penurunan ini suatu kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas orangtuanya. Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya. Bisa ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang menggambarkan silsilah kelas tersebut.
H.    Polimorfisme melalui pengiriman pesan
Polimorfisme adalah kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda. Secara harfiah, “poli” berarti banyak sementara “morph” berarti bentuk. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tunggal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas pertama.




J.      IMPLEMENTASI BAHASA PEMROGRAMAN JAVA UNTUK PEMBELAJARAN GEOMETRI

Seperti yang telah dijelaskan diatas bahwa aplikasi-aplikasi yang terdapat didalam software atau hardware komputer dapat dijadikan pembelajaran dengan menggunakan konsep e-learning. Seperti halnya dengan adanya potensi pembelajaran menggunakan telepon seluler yang disebut mobile atau perangkat lunak mobile learning berbasis Java untuk pembelajaran geometri bidang datar.
Learning (m-learning). Sistem atau aplikasi m-learning seharusnya dibuat agar dapat diakses secara luas dan independen terhadap platfrom mauoun divais yang digunakan. Oleh karena itu aplikasi atau sistem harus dibuat dengan teknologi yang memiliki interoperabilitas dan kompatibilitas tinggi serta dapat berjalan pada lingkungan yang beragam dan aspek desain instruksional yang juga tak kalah pentingnya dalam pembangunan aplikasi mobile learning. Dengan rangkaian diatas bahasa pemrograman Java akan sangat berperan penting dalam proses m-learning tersebut karena dengan kemudahannya untuk dapat berjalan di semua platfrom tanpa harus mengubah kode sedikitpun hanya dengan syarat pada sistem yang digunakan sudah terdapat JRE (Java Runtime Envvironment). Hal ini lah yang akan menjadi kekuatan java sebagai bahasa pemrograman  multiplatfrom write once run anyware.
Kemudian, sistem yang akan dibangun  dan diberi nama mobile geobid adalah sebuah rekayasa software mobile learning application. Dengn fokus utama mobile geobid adalah aplikasi mobile untuk telepon seluler dengan menggunakan pendekatan kontekstual, yaitu sebuah konsep belajar mengajar yang membantu para guru menghubungkan isi dari mata pelajaran dengan situasi nyata, dan memotivasi para siswa untuk membuat hubungan antara pengetahuan dan mengaplikasikan pengetahuan yang mereka miliki kedalam kehidupan mereka baik sebagai anggota keluarga, masyarakat, negara dan didalam kerja keras mereka terdapat suatu proses belajar terus-menerus.
Pada pembelajaran mobile ini, pembelajaran matematika geometri bidang disajikan teks yang merupakan isi pembelajaran dan gambar-gambar yang menunjukkan konteks geometri bidang yang sedang dijelaskan, selain itu teks pembelajaran dirancanga agar siswa merasa pembelajaran ini dilaksanakan layaknya pembelajaran tradisional dimana guru mendampingi secara langsung.
Perancangan perangkat lunak mobile learnig berbasis Java untuk pembelajaran geometri datar ini dilakukan dengan Rational Unifed Process (RUP) dengan merancang struktur kelas berdasarkan hasil analisis kebutuhan dengan pendekatan kontektual dan perancangan subsistem dan antar muka komponen-komponen yang akan diimplementasikan. Selanjutnya implementasi mobile Geobid dilakukan dengan mengimplementasikan semua kelas yang telah dirancang dengan menggunakan Java yang merupakan open satandard yang portable telah memberikan  dukungan bagi pengembanagan aplikasi yang beragam, yaitu aplikasi yang berjalan pada perangkat, yang kemudian bergerak dengan J2ME, sehingga diharapkan aplikasi mlearning akan dapat berjalan pada banyak platfrom mesin, sistem operasi yang divais.


K.    KELEBIHAN SERTA KEKURANGAN BAHASA PEMROGRAMAN JAVA

a.       Kelebihan bahasa pemrograman Java, beberapa diantaranya, yaitu:

·         Multiplatfrom
Kelebihan utama dari Java adalah dapat dijalankan pada beberapa platfrom sistem operasi komputer, yang sesuai dengan prinsip tulis sekali, jalankan dimana saja dengan kelebihan ini. Pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah dari bahasa yang dimengerti manusia menjadi bahasa mesin atau bytecode). Keudian hasilnya dapat dijalankan diatas beberapa platfrom tanpa adanya perubahan. Dengan kelebihan ini memungkinkan sebuah program berbasis Java dapat dikerjakan diatas sistem operasi Linux serta dapat dijalankan dengan baik diatas Microsoft Windows. Platfrom yang didukung samapi saat ini adalah Microsoft Window, 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 atau 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 melengkapi seluruh kebutuhan pembangunan aplikasi.
·         Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk berpindak ke Java. Saat ini pengguna Java sangat banyak, bahkan sebagian besar penggunanya adalah pemrogram C++ yang berpindak ke Jav. Bahkan dalam dalam proses pembelajaran di Perguruan Tinggi di Amerika mulai berpindak ke Java, dengan mengajarkan java kepada peserta didiknya karena dianggap lebih mudah untuk dipahami oleh peserta didik dan dapat berguna pula 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).

b.      Kekurangan dari bahasa pemrograman Java, diantaranya, yaitu:
·         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.





























BAB III
PENUTUP

A.    SIMPULAN

            Pada dasarnya bahasa pemrograman java termasuk ke dalam golongan tingkatan bahasa dengan level lebih tinggi dengan yang lainnya. Karena banyak kelebihan serta keunggulan Java di banding dengan yang lainnya, seperti dapat dijalankan pada berbagai platfrom sistem operasi, seperti;  Internet, Consumer, electronic product dan Computer Applications. Bahkan perkembangannya tidak hanya terfokus pada suatu sistem operasi saja, akan tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.
            Java platfrom terdesedia dalam tiga edisi untuk keperluan yang berbeda yaitu :
1.      Java 2 Standart Edition (J2SE). The Java 2 Platfrom, Standart Edition (J2SE) menyediakan lingkungan pemrograman yang kaya fitur, stabil, aman, dan cross-platfrom. Edisi ini mendukung koneksi ke basis data, rancangan antar muka pengguna aplikasi dan pemrograman jaringan komputer sebagai paket-paket  dasar bahasa Java.
2.      Java 2 Enterprise Edition (J2EE). The Java 2 platfrom, Enterprise Edition (J2EE). Menyediakan lingkungan untuk membangun dan menjalankan multitier enterprise applications. J2EE berisi paket-paket didalam Standart Edition ditambah dengan paket paket untuk mendukung pengembangan Enterprise JavaBeans, Java Servlet JavaServer Pages dan kendali transaksi fleksibel.
3.      Java 2 Micro Edition (J2ME). The Java 2 platfrom, Micro Editions (J2ME) untuk beragam cunsomer electronic product, seperti [ager, smart card, cell phone, handheld PDA dan set-box. J2ME dengan menyediakan bahasa Java yang sama, unggul dalm portabilitas, dan safe network delivery seperti J2SE dan J2EE, J2ME menggunakan sekumpulan paket yang lebih kecil, J2ME berisi subset paket J2SE ditambah dengan paket spesifik Micro Edition java.microedition.io
Aplikasi J2ME juga dapat diskala agar dapat berjalan pada aplikasi J2SE dan J2EE.
            Dengan berbagai macam fitur yang dimiliki Java pun, ternyata bahasa pemrograman yang satu ini pun dapat diimplementasikan dalam pembelajaran geometri dengan menggunakan rekayasa dari software mbile learning application, yang fokus utamanya adalah untuk telepon seluler dengan dengan menggunakan pendekatan kontesktual. Denganperancanagan perangkat lunak mobile learning (m-learning) berbasis Java utnuk pembelajarn geometri yang dilakukan dengan Rational Unified Process (RUP).

B.     SARAN

            Menggunakan bahasa pemrograman Java sangat cocok bagi para programer pemula ataupun senior. Karena saat ini dalam jenjang perguruan tinggi, contohnya saja di universitas-universitas di Amerika sudah belajar bahasa pemrograman Java karena dengan keunggulan dan dan kemudahannya yang dapat dengan mudah dimengerti oleh peserta didiknya. Maka untuk pemula sangat cocok jika belajar bahasa pemrograman Java.


C.    DAFTAR PUSTAKA


5 komentar:

  1. thanks buatreverensinya , aku copas ya buat belajar

    BalasHapus
  2. Bener nih.. Write once code anywhere hehe..
    Oh iya saya ada artikel bagus nih,,

    http://library.gunadarma.ac.id/repository/view/3805805/aplikasi-java-untuk-penghitungan-kalori-harian-tubuh-melalui-smartphone-berbasis-android.html/

    semoga bermanfaat.

    BalasHapus
  3. THANK YOU Q COBA UNTUK BELAJARNYA
    <a href="http://blog.binadarma.ac.id/ay_ranius</a>

    BalasHapus
  4. Terimakasih, izin menggunakan sebagai referensi

    BalasHapus

Social Profiles

Twitter Facebook Google Plus LinkedIn RSS Feed Email Pinterest

Copyright © Mutia Nb | Powered by Blogger
Design by Lizard Themes | Blogger Theme by Lasantha - PremiumBloggerTemplates.com