Pages

Ads 468x60px

Selasa, 22 Oktober 2013

Makalah Java


MAKALAH
” Konsep Dasar Java “
Makalah ini disusun untuk memenuhi tugas mata kuliah Teknologi Informasi dan Komunikasi (TIK)
Dosen Pengampu : Bapak Septia Lutfi, S.Kom, M.Kom


Disusun oleh :
Nama               : Irma Damayanti
NIM                : 1102412093
Rombel            : 02



KURIKULUM DAN TEKNOLOGI PENDIDIKAN
FAKULTAS ILMU PENDIDIKAN
UNIVERSITAS NEGERI SEMARANG
2013



KATA PENGANTAR

Segala puji bagi Allah SWT yang telah memberikan limpahan karunia, nikmat dan kasih sayang-Nya sehingga penulis dapat menyelesaikan makalah dengan judul Konsep Dasar Java”. Makalah  ini disusun dan dibuat sebagai salah satu pelengkap untuk memenuhi tugas mata kuliah Teknologi Informasi dan Komunikasi.
Penulis menyadari bahwa makalah ini masih banyak kekurangan dan kesalahan. Oleh karena itu, penulis mengharapkan saran dan kritik demi kesempurnaan karya ini. Akhirnya penulis berharap semoga makalah ini dapat memberikan manfaat kepada kita semua.



                                                                                          
                                                                                                Semarang, 16 Oktober 2013

Penulis









DAFTAR ISI
C. Versi Java..............................................................................................................................................10
1. Kelebihan............................................................................................................................15



















Pesatnya teknologi, terutama teknologi komputer sudah tak bisa dipungkiri lagi, bagi yang mengikuti perkembangannya ia tidak akan dipandang sebelah mata. Sebaliknya, bagi yang tidak mengikuti perkembangannya, bersiaplah untuk mundur secara suka rela dari panggung kompetisi. Ibarat wabah, teknologi komputer sudah menyebar hampir semua bidang kehidupan manusia. Dari pemerintah pusat sampai tingkat pemerintah desa, perusahaan-perusahaan, supermarket, minimarket, perguruan tinggi, SMA, SMP, bahkan SD hampir semuanya mengenal komputer.
Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak diminati, juga dapat digunakan untuk menghasilkan uang  adalah dunia pemrograman komputer. Dalam dunia pemrograman komputer, dikenal banyak bahasa pemrograman, seperti C, C++, Pascal, Basic, Java, dan lain-lain. Di antara banyaknya bahasa pemrograman, tim penyusun akan membahas Java dan c++  dalam makalah ini.

1.      Apa Yang dimaksud Dengan Teknologi Java?
2.      Bagaimana sejarah munculnya Java ?
3.      Apa saja versi java sampai sekarang ini ?
4.      Mengapa mempelajari Pemrograman Java?
5.      Fitur apa saja yang terdapat pada pemrograman Java?
6.      Apa saja kelebihan dan kekurangan aplikasi java ?
7.      Apa saja manfaat dari penggunaan java
8.      Bagaimana tentang eksepsi java ?
9.      Bagaimana tentang contoh pemrograman java ?


1.      Mengetahui pengertian Teknologi Java
2.      Mengetahui sejarah munculnya java
3.      Mengetahui alasan untuk mempelajari java
4.      Mengetahui pentingnya Pemrograman Java
5.      Mengetahui Fitur-firur dalam Java
6.      Mengetahui kelebihan dan kekurangan java
7.      Mengetahui manfaat penggunaan java
8.      Mengetahui bagaimana eksepsi java
9.      Mengetahui contoh pembrograman java













A.    Pengertian Java
Java menurut definisi dari Sun adalah mana untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada computer stand alone ataupun pada lingkungan jaringan. Java 2 adalah generasi kedua dari java platform. Kata berdiri di atas sebuah mesin interpreter yang diberi mana Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file.class dari suatu program sebagai representasi langsung dari program yang berisi bahasa mesin. Oleh karena itu, bahasa java disebut  sebagai bahasa pemrograman yang portable karena dapat dijalankan pada  berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi, java harus dikompilasi menjadi file bytecode. 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. Java memiliki beberapa versi library atau teknologi yang disebut juga sebagai edisi dari bahasa pemrograman Java.
Tiga edisi utama dari library tersebut adalah Micro, Standard, dan Enterprise. J2ME (Java2 Micro Edition) 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. Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang.
Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer. Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java. Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995. Sayang 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 merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.
a. Sebuah Bahasa Pemrograman
Sebagai bahasa pemrograman, java dapat membuat seluruh bentuk aplikasi, dekstop, web dan lainya. Sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang berorientasi obyek (OOP) dan dapat dijalankan pada berbagai platfom sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembamgakan untuk berbagai sistem opersi dan bersifat open source.
 b. Sebuah Development Environment
Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, intepreter, penyusun dokumtasi, paket kelas dan sebagainya.
c. Sebuah Aplikasi
Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
d.  Sebuah Deployment Environment
Terdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas-kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java.
Proyek Java dimulai pada tahun 1991, ketika sejumlah insinyur perusahaan Sun yang dimotori oleh James Gosling mempunyai keinginan untuk mendesain sebuah bahasa komputer kecil yang dapat dipergunakan untuk peralatan konsumen seperti kotak tombol saluran TV. Proyek ini kemudian diberi nama sandi Green. Keharusan untuk membuat bahasa yang kecil , dan kode yang ketat mendorong mereka untuk menghidupkan kembali model yang pernah dicoba oleh bahasa UCSD Pascal, yaitu mendesain sebuah bahasa yang portable yang menghasilkan kode intermediate. Kode intermediate ini kemudian dapat digunakan  pada banyak komputer yang interpreternya telah disesuaikan.
            Karena orang-orang Sun memiliki latar belakang sebagai pemakai unix sehingga mereka lebih menggunakan C++ sebagai basis bahasa pemrograman mereka, maka mereka secara khusus mengembangkan bahasa yang berorientasi objek bukan berorientasi prosedur. Seperti yang dikatakan Gosling ”Secara keseluruhan, bahasa hanyalah sarana, bukan merupakan tujuan akhir”. Dan Gosling memutuskan menyebut bahasanya dengan nama “Oak” (diambil dari nama pohon yang tumbuh tepat diluar jendela kantornya di Sun), tetapi kemudian nama Oak diubah menjadi java, karena nama Oak merupakan nama bahasa komputer yang sudah ada sebelumnya.
            Pada tahun 1994 sebagian besar orang menggunakan mosaic, browser web yang tidak diperdagangkan yang berasal dari pusat Supercomputing  Universitas Illinois pada tahun 1993. (Mosaic sebagian ditulis oleh Marc Andreessen dengan bayaran $6.85 per jam, sebagai mahasiswa yang melakukan studi praktek. Di kemudian hari ia meraih ketenaran sebagai salah seorang pendiri dan pemimpin teknologi di netscape)
            Browser yang sesungguhnya dibangun oleh Patrick Naughton dan Jonathan Payne dan berkembang ke dalam browser HotJava yang kita miliki saat ini. Browser HotJava ditulis dalam Java untuk menunjukkan kemampuan Java. Tetapi para pembuat juga memiliki ide tentang suatu kekuatan yang saat ini disebut dengan applet, sehingga mereka membuat browser yang mampu penerjemahkan kode byte tingkat menengah. “Teknologi yang Terbukti” ini diperlihatkan pada SunWorld ’95 pada tanggal 23 mei 1995, yang mengilhami keranjingan terhadap Java terus berlanjut.
C.    Versi-versi Java
Bahasa Java dapat dikategorikan sebagai sebuah bahasa pemrograman berorientasi objek, pemrograman terdistribusi dan bahasa pemrograman multithrreaded. Objek Java dispesifikasi dengan membentuk kelas. Untuk masing-masing kelas Java, kompiler Java memproduksi sebuah file keluaran arsitektur netral yang akan jalan pada berbagai implementasi dari Java Virtual Machine (JVM). Awalnya Java sangat digemari oleh komunitas pemrograman internet, karena Java mendukung untuk applets, dimana program dengan akses sumber daya terbatas yang jalan dalam sebuah web browser. Java juga menyediakan dukungan level tinggi untuk networking dan objek terdistribusi.
Java juga dianggap sebagai sebuah bahasa yang aman. Tampilan ini pada khususnya penting menganggap bahwa sebuah program Java boleh mengeksekusi silang sebuah jaringan terdistribusi. Terdapat beberapa versi java yaitu:
1.      Versi Awal
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
·         java.lang: Peruntukan kelas elemen-elemen dasar.
·         java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
·          java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
·         java.net: Peruntukan kelasTCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
·         java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
·         java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.

2.      Java 7
Oracle baru saja mengumumkan peluncuran platform Java standard edition 7 (Java SE7). Mereka mengklaim bahwa Java terbaru ini akan memiliki berbagai kemudahan dibandingkan dengan versi-versi sebelumnya.

Dikatakan terdapat tujuh keuntungan Java SE7. Pertama adalah perubahan bahasa. Perubahan bahasa ini dikatakan Oracle dapat membantu pengembang untuk dapat lebih produkitf dan menghasilkan program dengan syntak yang sederhana sehingga dapat dengan mudah dimengerti.
Kedua adalah peningkatan bahasa pendukung dinamis, seperti Ruby, Phyton, dan Javascript. Dengan adanya bahasa pendukung tersebut dapat meningkatkan performance pada JVM.
Ketiga adalah multicore API baru yang membuat pengembang lebih mudah untuk mendekomposisi permasalahan menjadi beberapa bagian yang nantinya dapat dieksekusi secara paralel. Selain itu terdapat juga interface I/O yang lebih komprehensif, fitur jaringan dan kemananan baru, support terhadap internasionalisasi, termasuk unicode 6.0, dan yang terakhir adalah tersedia beberapa versi update librari.
Java SE7 yang baru pertama kali ini dikembangkan oleh Oracle memiliki kompabilitas dengan versi sebelumnya. Sehingga para pengembang tak perlu susah-susah untuk beradaptasi.
Guna mencakup lingkungan-lingkungan aplikasi yang berbeda, Sun mendefinisikan 3 (tiga) edisi java, yaitu :

1.    J2ME (Java Micro Edition)

Edisi ini ditunjukan bagi lingkungan dengan sumber daya terbatas, seperti smartcard, ponsel, dan PDA.

2.      J2SE (Java 2 Standard Edition)

Edisi ini ditunjukan bagi lingkungan workstation, seperti pembuatan aplikasi-aplikasi desktop.

3.      J2EE (Java 2 Enterprise Edition)

Edisi ini ditunjukan bagi lingkungan Internet atau aplikasi terdistribusi dalam skala besar.

Perbedaan setiap edisi meliputi fitur-fitur bahasa yang didukung dan API yang tersedia. Berdasarkan tingkatannya, edisi yang lebih tinggi mampu mengemulasi edisi yang lebih rendah. Adapun urutan edisi yang tertinggi ke rendah adalah J2EE, J2SE, J2ME.

Sedangkan pada Versi java kita cermati dari versi-versi Java yang telah dirilis Sun yang menggunakan dua jenis versi, yaitu versi produk dan versi developer. Seperti kita ketahu, versi terbaru saat ini adalah versi 6 (Versi produk) atau versi 1.6.5 (Versi developer), dengan nama kode Mustang. Sejak tahun 2006, Sun juga menyederhanakan penamaan platform dengan tujuan untuk mencerminkan tingkat kematangan, stabilitas, skalabilitas, dan sekurity yang lebih baik. Jika penamaan versi sebelumnya adalah Java 2 Platform, Standard Edition 5.0 (J2SE 5.0), maka sekarang disederhanakanmenjadi Java Platform, Standard Edition 6 (Java SE 6, atau lebih sering disebut Java 6).

Dalam perkembangannya versi java secara internal muncul dalam versi-versi sesuai dengan JDK (java development kit) yang beredar. Sedangkan secara eksternal kita kenal adalah 1,2,5,dan6. Perlu diketahui bahwa versi 3 dan 4 tidak dimunculkan. Namun perkembangannya versi JDK biasanya ditulis dengan 1.1, 1.2, 1.3, 1.4, 1.5, 1.6. sekitar bulan maret 1995, untk pertama kali kode sumber java versi 1.0a2 dibuka. Kemudian tahun 1996 versi awal java sudah merupakan versi release sehingga sehingga dinamakan java versi 1.0. java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya yaitu java.lang, java.io, java.util, java.net, java.awt, dan java.applet. jumlah class saat itu baru 211 class.

Setiap versi JDK selalu menambahkan API baru, API baru mungkin melibatkan perubahan pada bahasa (misal: API Reflection), namun biasanya tidak. API yang tidak berhubungan dengan perubahan bahasa (secara sintaks/semantik) bisa diimplementasikan ulang di JDK versi lama (misal di JDK 1.5 ada Regex, di JDK sebelumnya kita bisa mengunakan library regex dari pihak ketiga).

D.    Alasan Mempelajari Java
1.      Sederhana (Simple)
            Syntax untuk Java seperti syntax pada C++ tetapi syntax Java tidak memerlukan header file, pointer arithmatic (atau bahkan pointer syntax), struktur union, operator overloading, class virtual base, dan yang lainnya. Jika anda mengenal C++ dengan baik, maka anda dapat berpindah ke syntax Java dengan mudah tetapi jika tidak, anda pasti tidak berpendapat bahwa Java sederhana.
2.      Berorientasi Objek (Object Oriented)
            Rancangan berorientasi objek merupakan suatu teknik yang memusatkan rancangan pada data (objek) dan interface. Fasilitas pemrograman berorientasi objek pada Java pada dasarnya adalah sama dengan C++. Feature pemrograman berorientasi objek pada Java benar-benar sebanding dengan C++, perbedaan utama antara Java dengan C++ terletak pada penurunanberganda (multiple inheritance), untuk ini Java memiliki cara penyelesaian yang lebih baik.
3.      Terdistribusi (Distributed)
            Java memiliki library rutin yang luas untuk dirangkai pada protokol TCP/IP sepetrti HTTP dan FTP dengan mudah. Aplikasi Java dapat membuka dan mengakses objek untuk segala macam NET lewat URL sama mudahnya seperti yang biasa dilakukan seorang programmer ketika mengakses file sistem secara lokal.
4.      Kuat (Robust)
            Java dimaksudkan untuk membuat suatu program yang benar-benar dapat dipercaya dalam berbagai hal. Java banyak menekankan pada pengecekan awal untuk kemungkinan terjadinya masalah, pengecekan pada saat run0time dan mengurangi kemungkinan timbulnya kesalahan (error). Perbedaan utama antara Java dan C++ adalah Java memiliki sebuah model pointer yang mengurangi kemungkinan penimpaan (overwriting) pada memory dan kerusakan data (data corrupt).
5.      Aman (Secure)
            Java dimaksudkan untuk digunakan pada jaringan terdistribusi. Sebelum sampai pada bagian tersebut, penekanan terutama ditujukan pada masalah keamanan. Java memungkinkan penyusunan program yang bebas virus, sistem yang bebas dari kerusakan.
6.      Netral Arsitektur (Architecture Neutral)
            Kompiler membangkitkan sebuah format file dengan objek arsitektur  syaraf, program yang di kompile dapat dijalankan pada banyak prosesor, disini diberikan sistem run time dari Java. Kompiler Java melakukannya dengan membangkitkan instruksi-instruksi kode byte yang tidak dapat dilakukan oleh arsitektur komputer tertentu. Dan yang lebih baiik Java dirancang untuk mempermudah penterjemahan pada banyak komputer dengan mudah dan diterjemahkan pada komputer asal pada saat run-time.
7.      Portabel (Portable)
            Tidak seperti pada C dan C++, di Java terdapat ketergantungan pada saat implementasi (implement dependent). ukuran dari tipe data primitif ditentukan, sebagaimana kelakuan aritmatik padanya. Librari atau pustaka merupakan bagian dari sistem yang mendefinisikan interface yang portabel.
8.      Interpreter
            Interpreter Java dapat meng-eksekusi kode byte Java secara langsung pada komputer-komputer yang memiliki interpreter. Dan karena proses linking dalam Java merupakan proses yang kenaikannya tahap demi tahapdan berbobot ringan, maka proses pengembangan dapat menjadi lebih cepat dan masih dalam penelitian.

9.      Kinerja Yang Tinggi (High Performance)
            Meskipun kinerja kode byte yang di interpretasi biasanya lebih dari memadai, tetapi masih terdapat situasi yang memerlukan kinerja yang lebih tinggi. Kode byte dapat diterjemahkan (pada saat run-time) de dalam kode mesin untuk CPU tertentu dimana aplikasi sedang berjalan.
10.  Multithreaded
            Multithreading adalah kemampuan sebuah program untuk melakukan lebih dari satu pekerjaan sekaligus. Keuntunga dari multithreading adalah sifat respons yang interaktif dan real-time.
11.  Dinamis
            Dalam sejumlah hal, Java merupakan bahasa pemrograman yang lebih dinamis dibandingkan dengan C atau C++. Java dirancang untuk beradaptasi dengan lingkungan yang terus berkembang. Librari dapat dengan mudah menambah metode dan variabel contoh yang baru tanpa banyak mempengaruhi klien. Informasi tipr run-time dalam Java adalah langsung (straigtforward).

E.     Fitur-fitur dalam Java
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware danplatform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform maupun karena prose 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 intruksi 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.
Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri obyek-obyek yang tidak perlu digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.
Code Security terimplementasi pada Java melalui pengguanan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.
·         Pertama, class-loader menagani permutaan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan denagn memisahkan kelas-kelas yang bersal dari local disk dengan kelas-kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas-kelas yang berasal dari local disk yang dimuat terlebih dahulu.
·         Kedua, bytecode veryfier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java.
·         Ketiga, manajemen keamanan menagani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sunberdaya seperti sistem file, port jaringan, proses eksternal dan sistem windowin.

F.     Kelebihan dan Kekurangan Java
1.      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 WindowsLinux,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 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).
·         Tulis sekali, perbaiki di mana saja – Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. UntukJ2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
2.      Kekurangan
·         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. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak.
·         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.
G.    Manfaat Aplikasi Java
·         Aplikasi facebook
Facebook termasuk dari salah satu social networking platform yang paling populer. Jejaring seperti Facebook tidak hanya menghubungkan satu orang dengan orang lainnya di dunia tanpa batas, akan tetapi menciptakan komunikasi atas profil, kegemaran, dan terutama pencitraan. Tidak mengherankan apabila jejaring sosial (social networking) seperti Facebook sering dimanfaatkan untuk keperluan promosi, kampanye, bahkan propaganda. Tidak hanya untuk mengkomunikasikan citra individu, akan tetapi termasuk pula kelompok, organisasi, maupun produk. Di tahun 2008 lalu, Facebook bahkan mampu mengalahkan popularitas jejaring sosial ternama lainnya seperti MySpace, Friendster, dan Multiply. Siapapun bisa memanfaatkan ataupun mengoptimalkan Facebook Di sini disediakan dua buah ebook panduan menggunakan Facebook untuk pemula (for Dummies)dan tingkat lanjut (advanced user).
Aplikasi online Facebook tidak hanya mampu mengkomunikasikan melalui pesan, akan tetapi mampu pula menciptakan komunikasi interaktif online. Di antara situs jejaring sosial, Facebook memiliki fitur yang paling lengkap. Mereka yang memanfaatkan aplikasi jejaring online Facebook tidak hanya individu, akan tetapi kelompok, organisasi, dan bahkan suatu negara. Tentunya kita masih ingat ketika Israel pernah memanfaatkan Facebook (bersama dengan Twitter) untuk membela kepentingan mereka di Jalur Gaza.

·         Aplikasi opera mini
Opera Mini adalah penjelajah web yang dirancang khusus untuk ponsel, dan juga untuk PDA Phone dan Smartphone. Penjelajah Web ini tersedia dalam Java , Android, Windows Mobile, iOS, BlackBerry OS, UIQ3, Symbian, dan Zeebo. Opera Mini adalah sebuah aplikasi yang gratis, didukung melalui kemitraan antara para pengembang, yaitu Opera Software, situs aplikasi gratis Gamejump, situs web Yahoo, dan Mesin Pencari Google.
Opera Mini berasal dari penjelajah web Opera untuk komputer pribadi, yang telah tersedia untuk umum sejak 1996. Opera Mini pada awalnya dirancang untuk ponsel yang telah mampu terkoneksi atau tersambung ke jaringan internet. Opera Mini pertama kali diperkenalkan pada tanggal 10 Agustus 2005sebagai pilot project dalam kerjasama dengan stasiun televisi Norwegia, TV 2. Sehingga pada saat itu, Opera Mini hanya tersedia untuk pelanggan TV 2.
Opera Mini terbaru mempunyai fitur yang tidak ada pada browser bawaan ponsel biasa yaitu mengupload file secara langsung. Opera Mini terkenal akan dengan kecepatan browsingnya yang cukup cepat, biasanya lebih cepat daripada browser bawaan ponsel. Keunggulan lainnya dari Opera Mini adalahtarifnya yang relatif lebih murah dari browser bawaan milik ponsel ini dikarenakan Opera Mini dapat mengkompres suatu halaman sampai 90%. Keunggulan yang menarik ialah dapat menyimpan halaman website yang dianggap penting atau menarik oleh penggunanya, dan selanjutnya disimpan di folder yang telah dipilih pengguna pada memori telepon atau kartu memori. Opera Mini juga dapat menyinkronkan bookmark, dan tekan cepat ke akun milik anda diKomunitas Opera[2]. Versi Opera Mini 6 menyertakan fitur Share yang memungkinkan pengguna membagikan halaman yang dibaca ke account jejaring sosial Facebook, Twitter, dan My Opera[3].
·         Aplikasi kamus
Aplikasi Kamus sangat berguna dalam berbahasa, tahap pembelajaran kamus berperan penting dalam memahami kosa kata. Semangat belajar berbahasa tentu dilengkapi fasilitas yang lengkap diantaranya kamus tebal yang di bawa-bawa sepanjang waktu. Anda tidak perlu repot lagi membawa kamus yang tebal, karena ada solusi jitu yang akan membantu untuk menyelesaikan masalah yang berhubungan dengan bahasa yang sulit untuk dimengerti. karena dengan menggunakan aplikasi kamus bisa mengurangi kepikunan sebab tanpa kita sadari aplikasi kamus mengajak  agar orang sedikit berfikir dan menganalisa tentang bahasa yang ingin di mengerti. Karena dengan berfikir dan menganalisa itu dapat mengurangi kepikun dalam usia yang sudah lanjut usia.
Sesuai dengan konsep belajar bahasa yang menyarankan agar kita praktek kapanpun dan dimanapun kita merasa senang untuk belajar Software kamus  ini ada dalam  versi sesuai dengan sistem yang lebih banyak dipakai oleh pengguna aplikasi mobile yaitu dalam bentuk Java.
·         Aplikasi game
Bermain game juga ada manfaatnya. Manfaatnya yang selama ini saya dapatkan adalah melatih kepekaan, melatih problem solving, berpikir logis dan kreatif, dan yang paling berpengaruh adalah secara tidak langsung kita belajar bahasa Inggris. Manfaat yang terakhir ini sungguh luar biasa, kita sebagai orang Indonesia sangat buruk dalam mempelajari bahasa Inggris tetapi dengan bermain game mau tidak mau kita harus belajar bahasa Inggris agar kita bisa memecakan permasalahan yang ada didalam pemainan game agar kiata bisa memenangkan game itu. Karena bahasa yang digunakan dalam game pada umumnya adalah bahasa Inggris, dan dialog, pengantar, tips, pilihan yang ada memakai bahasa Inggris, sehingga semakin sering kita bermain game, kita secara tidak langsung telah berlatih bahasa Inggris. Hasil penelitian menyebutkan bahwa para pemain game ini memiliki fokus yang lebih terhadap apa yang terjadi di sekelilingnya, jika dibandingkan dengan mereka-mereka yang jarang main game, apalagi yang tidak main sama sekali. Manfaat dari bermain game juga dapat dirasakan bagi orang yang sudah tua atau dengan kata lain lanjut usia karena dengan bermain game bisa mengurangi kepikunan sebab tampa kita sadari game mengajak pemainnya agar sedikit berfikir dan menganalisa bagaimana cara menyelesaikan permain game. Karena dengan berfikir dan menganalisa itu dapat ngurangi kepikun dalam usia yang sudah lansia. Ternyata maksud dari semua pembuat game dan kebanyakan programmer game adalah berusaha melatih kepekaan, problem solving, dan logika pemain ketika dihadapkan pada suatu keadaan yang kurang menguntungkan, dibumbui dengan kejutan2 dan ketegangan yang memompa adrenalin dan emosi. Contohnya : KONAMI, pembuat game SILENT HILL, dan developer game2 yang lain ingin mengatakan bahwa “dalam keadaan serba sulit, asal kita mau berusaha, pasti ada jalan keluarnya”
Jadi manfaat dari bermain game, dapat disimpulkan dalam beberapa point sebagai berikut:
·         Bisa menjadi sarana hiburan yang menyediakan interaksi sosial.
·         Membangun semangat kerja sama atau teamwork ketika dimainkan dengan gamers-gamers lainnya secara multiplayer
·         Bagi manula (lansia) , bisa mengurangi efek kepikunan.
·         Meningkatkan rasa percaya diri dan harga diri anak saat mereka mampu menguasai permainan.
·         Mengembangkan kemampuan dalam membaca, matematika, dan memecahkan masalah atau tugas
·         Membuat anak-anak merasa nyaman dan familiar dengan teknologi – terutama anak perempuan, yang tidak menggunakan teknologi sesering anak cowok.
·         Melatih koordinasi antara mata dan tangan, serta skill motorik.
·         Mengakrabkan hubungan anak dan orangtua. Dengan main bersama, terjalin komunikasi satu sama lain.
·         Bisa membantu memulihkan kesehatan untuk beberapa kasus penyembuhan

H.    Eksepsi Java
            Eksepsi adalah keadaan tidak normal yang muncul pada suatu bagian program pada saat dijalankan. Penanganan eksepsi pada java membawa pengelolaan kesalahan program saat dijalankan kedalam orientasi-objek. Eksepsi java adalah objek yang menjelaskan suatu keadaan eksepsi yang muncul pada suatu bagian program.
Saat suatu keadaan eksepsi muncul, suatu objek exception dibuat dan dimasukkan ke dalam method yang menyebabkan eksepsi. Method tersebut dapat dipilih untuk menangani eksepsi berdasarkan tipe tertentu. Method ini juga menjaga agar tidak keluar terlalu dini melalui suatu eksepsi, dan memiliki suatu blok program yang dijalankan tepat sebelum suatu eksepsi menyebabkan metodenya kembali ke pemanggil.
Eksepsi dapat muncul tidak beraturan dalam suatu method, atau dapat juga dibuat secara manual dan nantinya melaporkan sejumlah keadaan kesalahan ke method yang memanggil.
Dasar-dasar penanganan Eksepsi
            Penanganan eksepsi pada java diatur dengan lima kata kunci : try, catch, throw, throws dan finally. Pada dasarnya try digunakan untuk mengeksekusi suatu bagian program, dan jika muncul kesalahan, sistem akan melakukan throw suatu eksepsi yang dapat anda catch berdasarkan tipe eksepsinya, atau yang anda berikan finally dengan penangan default.
            Berikut ini bentuk dasar bagian penanganan eksepsi  :
            try {
                        //  Block of Code
                        }         
catch (ExceptionType1 e) {
            //          Exception Handler for ExceptionType1
                        }          catch (ExceptionType2 e) {
                        // Exception Handler for ExceptionTYpe2
                                    throw (e); // re-throw the Exception…
                                    }
            finally  {
                        }
Tipe Eksepsi
            Dipuncak hirarki class eksepsi terdapat satu class yang disebut throwable. Class ini digunakan untuk merepresentasikan semua keadaan ekasepsi. Setiap ExceptionType pada bentuk umum diatas adalah subclass dari throwable.
            Dua subclass langsung throwable didefinisikan untuk membagi class throwable menjadi dua cabang yang berbeda. Satu, class Exception, digunakan untuk keadaan eksepsi yang harus ditangkap oleh program yang kita buat. Sedangkan yang lain diharapkan dapat menangkap class yang kita subclasskan untuk menghasilkan keadaan eksepsi.
            Cabang kedua throwable adalah class error, yang mendefinisikan keadaan yang tidak diharapkan untuk ditangkap dalam lingkungan normal.
Eksepsi Yang Tidak Dapat Ditangkap
            Obyek eksepsi secara otomatis dihasilkan oleh runtime java untuk menanggapi suatu keadaan eksepsi. Perhatikan contoh berikut       :
            class Exc0 {
            public static void main (Stinr args[]) {
                        int d = 0;
                        int a = 42 / d;
                        }
            }
            Saat runtime java mencoba meng-eksekusi pembagian, akan terlihat bahwa pembaginya adalah nol, dan akan membentuk objek eksepsi baru yang menyebabkan program terhenti dan harus berurusan dengan keadaan kesalahan tersebut. Kita belum mengkodekan suatu penangan eksepsi, sehingga penanganan eksepsi default akan segera dijalankan. Keluaran dari program diatas       :
            java.lang.ArithmeticExpression : /by zero
            at Exc0.main (Exc0.java:4)
Berikut adalah contoh lainnya dari eksepsi    :
            class Exc1 {
            static void subroutine() {
                        int d = 0;
                        int a = 42 / d;
                        }
            public static void main (Stinr args[]) {
                        Exc1.subroutine();
                        }
            }
Output-nya    :
java.lang.ArithmeticException : / by zero
            at Exc1.subroutine(Exc1.java :4)
            at Exc1.main(Exc1.java : 7)

Try dan Catch
            Kata kunci try digunakan untuk menentukan suatu blok program yang harus dijaga terhadap semua eksepsi, setelah blok try masukkan bagian catch, yang menentukan tipe eksepsi yang akan ditangkap. Perhatikan contoh berikut :
            class Exc2 {
            public static void main (String args[]) {
                        try {
                                    int d = 0;
                                    int a = 42 / d;
                                    }
                        catch (ArithmeticException e) {
                                    System.out.println(“Division By Zero);
                                    }
                        }
            }

Throw
            Pernyataan throw digunakan untuk secara eksplisit melemparkan suatu eksepsi. Pertama kita harus mendapatkan penanganan dalam suatu instance throwable, melalui suatu parameter kedalam bagian catch, atau dengan membuatnya menggunakan operator new. Bentuk umum pernyataan throw            :
            throw ThrowableInstance;
            Aliran eksekusi akan segera terhenti setelah pernyataan throw, dan pernyataan selanjutnya tidak akan dicapai. Blok try terdekat akan diperiksa untuk melihat jika telah memiliki bagian catch yang cocok dengan tipe instance Throwable. Jika tidak ditemukan yang cocok, maka pengaturan dipindahkan ke pernyataan tersebut. Jika tidak, maka blok pernyataan try selanjutnya diperiksa, begitu seterusnya sampai penanganan eksepsi terluar menghentikan program dan mencetak penelusuran semua tumpukan sampai pernyataan throw. Contoh     :
            class throwDemo {
            static void demoProc() {
                        try {
                                    throw new NullPointerException(“demo”);
                                    }
                        catch (NullPointerException e) {
                                    System.out.println(“caught inside demoproc…”);
                                    throw e;
                                    }
                        }
            public static void main (String args[]) {
                        try {
                                    demoproc();
                                    }
                        catch (NullPointerException e) {
                                    System.out.println(“recaugt : “ + e);
                                    }
                        }
            }
Output            :
caught inside demoproc
recaught : java.lang.NullPointerException : demo
Throws
            Kata kunci throws digunakan untuk mengenali daftar eksepsi yang mungkin di-throw oleh suatu method. Jika tipe eksepsinya adalah error, atau RuntimeException, atau suatu subclassnya, aturan ini tidak berlaku, karena tidak diharapkan sebagai bagian normal dari kerja program.
            Jika suatu method secara eksplisit men-throws suatu intans dari Exception atau subclassnya, diluar RuntimeException, kita harus mendeklarasikan tipenya dengan pernyataan throws. ini mendefinisikan ulang deklarasi method sebelumnya dengan sintaks sbb      :
                        type method-name (arg-list) throws exception-list {  }
Contoh                       :
            class ThrowsDemo {
            static void procedure () thorws IllegalAccessException {
                        System.out.println(“Inside Procedure”);
                        throw new IllegalAccessException(“demo”);
                        }
                        public static void main(String args[]) {
                        try {
                                    procedure();
                                    }
                        catch (IllegalAccessException e) {
                                    System.out.println(“caught “+ e);
                                    }
                        }
            }
Output            :
Inside procedure
caught java.lang.IllegalAccessException : demo

Finally
            Saat suatu eksepsi dilemparkan, alur program dalam suatu method membuat jalur yang cenderung tidak linier melalui method tersebut, melompati baris-baris tertentu, bahkan mungkin akan keluar sebelum waktunya pada kasus dimana tidak ada bagian catch yang cocok. Kadang-kadang perlu dipastikan bahwa bagian program yang diberikan akan berjalan, tidak perduli eksepsi apa yang terjadi dan ditangkap. Kata kunci finally dapat digunakan untuk menentukan bagian program seperti itu.
            Setiap try membutuhkan sekurang-kurangnya satu bagian catch atau finally           yang cocok. Jika kita tidak mendapatkan bagian catch yang cocok, maka bagian finally akan dieksekusi sebelum akhir program, atau setiap kali suatu method akan kembali ke pemanggilnya, melalui eksepsi yang tidak dapat ditangkap, atau melalui pernyataan return, bagian finally akan dieksekusi sebelum kembali ke method kembali.
            Berikut adalah contoh program yang menunjukkan beberapa method yang keluar dengan berbagai cara, tidak satu pun tanpa mengeksekusi bagian finally-nyA.
            class finallyDemo {
                        static void proA() {
                                    try {
                                                System.out.println(“Inside procA..”);
                                                throw new RuntimeException(“Demo”);
                                                }
                                    finally {
                                                System.out.println(“procA is finally”);
                                                }
                                    }
                        static void proB() {
                                    try {
                                                System.out.println(“Inside procB..”);
                                                return;
                                                }
                                    finally {
                                                System.out.println(“procB is finally”);
                                                }
                                    }

                        public static void main(String args[]) {
                                    try {
                                                procA{};
                                                }
                                    catch (Exception e);
                                    procB();
                                    }
                        }
Output            :
Inside procA..
procA is finally
Inside procB..
procB is finally

Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
Public class HaloDunia
     {
        public static void main(String[] args)
        {
        System.out.println("Halo Dunia");
         }
            }
a. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas ‘.java’.
b. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas ‘.class’.
c. Muat. Pemuat kelas memuat bytecodes ke memori.
d. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
e. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.
2.  Integrated Development Environment
Banyak pihak telah membuat IDE (Integrated Development Environment – Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain:
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.
§  Eclipse JDT (open source- Eclipse Public License)
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota ‘Eclipse Foundation’ (beserta individu-individu lain). Banyak nama besar yang ikut dalam ‘Eclipse Foundation’, termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
§  IntelliJ IDEA (commercial, free 30-day trial)
§  Oracle JDeveloper (free)
§  Xinox JCreator (ada versi berbayar maupun free)
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.
3. Fase-fase Pemrograman JAVA
Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java.Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java compiler. Hasil dari adalah berupa berkas bytecode dengan ekstensi .class.
Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.
Proses
Tool
Hasil
Menulis kode program
Text editor
Berkas berektensi .java
Kompilasi program
Java compiler
Berkas berekstensi .class(Java Bytecode)
Menjalankan program
Java Interpreter
Program Output













BAB III
         A.Kesimpulan
Di dalam pemrograman java terdapat beberapa fitur. Adapun fitur itu meliputi Java Virtual Machine (JVM), Garbage Colletion dan Code Security. Java Virtual Machine (JVM) adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. garbage collection yang berarti program tidak perlu menghapus sendiri obyek-obyek yang tidak perlu digunakan lagi. Sedangkan Code Security Code Security terimplementasi pada Java melalui pengguanan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code yaitu class-loader, bytecode veryfier, manajemen keamanan.
Yang menarik adalah bahwa Java bisa digunakan untuk membuat program yang dapat berjalan di atas HP, PDA, dan peralatan yang dilengkapi dengan Java Virtual Machine (JVM). Java juga lebih mudah dan Java sangat membantu terutama jika anda mengembangkan sofware berskala besar, multiplafform, dan mulitiinteerface. Ini dikarenakan Java memiliki standar yang komperhensif, integral dan jauh lebih terorganisasi dibanding bahasa pemrograman lain.
Dikarenakan cukup rumitnya bahasa pemrograman Java dan semakin banyaknya pesaing yang berkompetisi di bidang pemrograman Java, maka Penyusun menyarankan kepada pembaca (khususnya pemula), untuk sejak dini mempelajari bahasa pemrograman tersebut.





http://www.scribd.com/doc/28082900/Makalah-Pemrograman-Java, diakses tanggal 15 Oktober 2013 Pukul 09.00
http://octacuby.blogspot.com/2012/05/makalah-java.html, diakses tanggal 15 Oktober 2013 Pukul 09.00
http://ayie03.wordpress.com/2010/01/13/makalah-pemrograman-java/, diakses tanggal 15 Oktober 2013 Pukul 09.00
http://febriyanto-febrilabont.blogspot.com/2010/03/makalah-java.html, diakses tanggal 15 Oktober 2013 Pukul 10.00


0 komentar:

Posting Komentar