MAKALAH JAVA

MAKALAH
“JAVA”


Disusun oleh :
Okta Pratiwi
1102412102

Dosen Pengampu :
Septia Lutfi


Teknologi Pendidikan Universitas Negeri Semarang Tahun 2012/ 2013
PENDAHULUAN
A.     Latar Belakang
Kemajuan berpikir dan kesadaran manusia akan diri dan dunianya, telah mendorong terjadinya globalisasi. Situasi global membuat kehidupan semakin kompetitif dan membuka peluang bagi manusia untuk mencapai status dan tingkat kehidupan yang lebih baik. Dengan adanya globalisasi dan perkembangan zaman yang semakin pesat dan teknologi semakin canggih. Manusia semakin mudah menggunakan teknologi. Apalagi teknologi yang sekarang berkembang ini bermacam-macam jenisnya, misalnya menggunakan smartpone, android, blackberry, ipone dan lain sebagainya masih banyak lagi. Dengan menggunakan teknologi seperti yang dikatakan diatas manusia semakin mudah mengakses apapun yang mereka inginkan. Dapat dengan mudah informasi didapat. Namun dengan demikian tentunya dalam penggunaannya ada kekurangan dan ada kelebihannya. Setiap teknologi-teknologi yang terdapat  pada setiap gadget tentunya berbeda.
B.     Rumusan Masalah
1.      Apa pengertian Java ?
2.      Apa saja jenis-jenis Java?
3.      Apa fungsi Java?
4.      Apa tujuan menggunakan Java?
5.      Apa manfaat menggunakan Java?
6.      Apa kekurangan dan kelebihan Java?
C.     Tujuan
1.      Mengetahui apa itu Java.
2.      Mengetahui manfaat Java.
3.      Mengetahui kelemahan dan kekurangan Java.







BAB II
PEMBAHASAN
A.     Pengertian Java


Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Kita lebih menyukai menyebut Java sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap dibanding sebuah bahasa pemrograman konvensional. Teknologi Java memiliki tiga komponen penting, yaitu: · Programming-language specification · Application-programming interface · Virtual-machine specification.
Java adalah bahasa pemrograman yang multi platform dan multi device. Sekali anda menuliskan sebuah program dengan menggunakan Java,anda akan dapat menjalankannya hampir di semua computer dan perangkat lain yang support Java., dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini di kompulasikan kedalam p-code dan bisa dijalankan dengan Java Virtual Machine, Fungsionalitas dari Java ini dapat berjalan dengan platform system operasi yang berbeda karena sifatnya yang umum dan non spesifik.
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram  Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket(package). Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.
Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana. Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa Java namun harus waspada karena mungkin Java mengambil arah (semantiks) yang berbeda dibanding C++.
Java merupakan bahasa berorientasi objek (OOP) yaitu cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai kelompok objek yang saling berinteraksi. Deskripsi ringkas OOP adalah mengorganisasikan program sebagai kumpulan komponen, disebut objek. Objek-objek ini ada secara independen, mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerintahkan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu. Kelas bertindak sebagai modul sekaligus tipe. Sebagai tipe maka pada saat jalan, program menciptakan objek-objek yang merupakan instan-instan kelas. Kelas dapat mewarisi kelas lain. Java tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan pewarisan jamak dengan fasilitas antarmuka yang lebih elegan.
Seluruh objek diprogram harus dideklarasikan lebih dulu sebelum digunakan. Ini merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini memungkinkan kompilator Java menentukan dan melaporkan terjadinya pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variabel bertipe integer dengan variabel bertipe string). Pencegahan sedini mungkin diharapkan menghasilkan program yang bersih. Kebaikan lain fitur ini adalah kode program lebih dapat dioptimasi untuk menghasilkan program berkinerja tinggi.
Java menggunakan model pengamanan tiga lapis (three-layer security model) untuk melindungi sistem dari untrusted Java code. Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java. Kedua, class loader menangani pemuatan kelas Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem window.
Platform independence adalah kemampuan program bekerja di sistem operasi yang berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak bergantung platform. Tipe variabel Java mempunyai ukuran sama di semua platform sehingga variabel bertipe integer berukuran sama tidak peduli dimana program java dikompilasi. Begitu telah tercipta file .class dengan menggunakan kompilator Java di platform manapun, maka file .class tersebut dapat dijalankan di platform manapun. Jadi “dimanapun dibuat, dimanapun dapat dijalankan”. Slogan ini biasa diringkas sebagaiWrite Once, Run Anywhere (WORA).
Java termasuk bahasa Multithreading. Thread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kelas untuk menulis program multithreaded, program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa tugas secara konkuren.
Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkan alokasi dinamis.
Java mempunyai mekanisme exception-handling yang ampuh. Exception-handling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar. Ketika kesalahan yang serius ditemukan, program Java menciptakan exception. Exception dapat ditangkap dan dikelola program tanpa resiko membuat sistem menjadi turun.
Program Java mendukung native method yaitu fungsi ditulis di bahasa lain, biasanya C/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 berjalan.
Selain itu keuntungan menggunakan bahasa pemrograman Java antara lain
memori pada Java secara otomatis dilengkapi garbage collector yang berfungsi mendealokasi memori yang tidak diperlukan. Tidak ada lagi upaya yang dilakukan pemrogram untuk melakukan dispose(). Kita tidak lagi dibebani urusan korupsi memori. Java menerapkan array sebenarnya, menghilangkan keperluan aritmatika pointer yang berbahaya dan mudah menjadi salah. Menghilangkan pewarisan jamak (multiple inheritance) diganti fasilitas antarmuka. Dan mudah dijalankan diberbagai platform.
Grafical User Interface (GUI) adalah salah satu kemampuan Java dalam mendukung dan manajemen antarmuka berbasis grafis. Tampilan grafis yang akan ditampilkan terhubung dengan program serta tempat penyimpanan data. Elemen dasar di Java untuk penciptan tampilan berbasis grafis adalah dua paket yaitu AWT dan Swing. Abstract Windowing Toolkit (AWT), atau disebut juga “Another Windowing Toolkit”, adalah pustaka windowing bertujuan umum dan multiplatform serta menyediakan sejumlah kelas untuk membuat GUI di Java. Dengan AWT, dapat membuat window, menggambar, manipulasi gambar, dan komponen seperti Button, Scrollbar, Checkbox, TextField, dan menu pull-down.
Penggunaan komponen AWT ditandai dengan adanya instruksi : import java.awt.*; Swing merupakan perbaikan kelemahan di AWT. Banyak kelas swing menyediakan komponen alternatif terhadap AWT. Contohnya kelas JButton swing menyediakan fungsionalitas lebih banyak dibanding kelas Button. Selain itu  komponen swing umumnya diawali dengan huruf “J”, misalnya JButton, JTextField, JFrame, JLabel, JTextArea, JPanel, dan sebagainya. Teknologi swing menggunakan dan memperluas gagasan-gagasan AWT. Sementara, penggunaan komponen Swing ditandai dengan adanya instruksi : import javax.swing.*;
Beberapa perbedaan AWT dan Swing, AWT merupakan komponen heavyweight (kelas berat) sedangkan Swing lightweight (kelas ringan). Swing memiliki lebih banyak komponen. Fasilitas SwingLook and Feel : Metal, Windows, Motif. Komponen Swing berdasar model-view, yaitu suatu cara pengembangan komponen dengan pemisahan penyimpanan dan penanganan data dari representasi visual data.

Dimulai pada tahun 1991 dibentuknya suatu tim yang diberi nama green
Tim ini dipimpin oleh Patrick Naughton dan James Gosling (Sekelompok insinyur Sun ).
Awalnya mereka ingin membuat suatu bahasa komputer yang dapat digunakan oleh TV kabel ( Cable TV Box) yang memiliki memori kecil dan setiap perusahaan memiliki tipe yang berbeda.
Untuk mengaplikasikan hal tersebut mereka menggunakan hal yang pernah dicoba oleh bahasa pascal.
Sebelumnya Niclaus Wirth telah membuat sebuah bahasa yang portable yang akan digunakan dalam mesin bayangan selanjutnya ini disebut sebagai Virtual Mesin namun saat itu belum diumumkan.
Akhirnya tim green mengunakan ide ini akhirnya mereka menciptakan Java Virtual Mesin.
Vitual mesin inilah yang menbuat java dapat dijalankan diberbagai platform.
Pada tahun 1992 tim green membuat produknya yang diberi nama *7 (Star Seven )
Namun produk ini gagal dipasaran.

Setelah itu dibuat produk yang baru. Inilah java, pada awalnya bahasa pemrograman yang dibuat tersebut diberi nama “oak “ (Kemungkinan nama ini diambil dari nama pohon yang ada didepan jendela James Gosling)
Namun setelah diperiksa ternyata nama oak sudah pernah digunakan. Maka lahirlah nama “ Java “
Pada tahun 1993 sampai pertengahan 1994 tim green yang mempunyai nama baru First person. Inc hanya menghabiskan waktu dengan memperhatikan penjualan dari produknya. Ternyata tidak satupun orang ditemukan. Akhirnya pada tahun 1994 First Person dibubarkan.
Pada tahun itu Web berkembang sangat pesat saat itu browser yang banyak digunakan adalah Mosaic suatu broser yang gratis.

Dalam suatu wawancara pada pertengahan tahun 94 James Gosling mengatakan “We could build a real cool browser. It was one of the few things in the client/serve mainstream that needed some of the weird things we’d done: architecture neutral, real-time,reliable, secure—issues that weren’t terribly important in the workstation world. So we built a browser.”
Akhirnya dibuatlah suatu browser oleh Patrick Naughton dan Jonathan Payne.
Browser itu diberi nama Hot Java. Browser ini dibuat dengan menggunakan bahasa java untuk menunjukkan kemampuan dari java.
Yang tidak kalah hebatnya mereka juga membuat teknologi yang disebut Aplet sehingga browser dapat menjalankan kode program didalam browser.
Inilah bukti dari teknologi itu yang ditunjukkan java pada tanggal 25 mei 1995
Sejak saat itu browser java memberikan lisensinya kepada browser lain untuk bisa menjalankan Applet dan pada tahun 1996 diberikan pada Internet Explorer.
Akhirnya pada tahun 1996 dikeluarkan versi pertama dari java dengan mengeluarkan java 1.02

Java adalah bahasa yang dapat dijalankan dimanapun dan di sembarang platform apapun, di beragam lingkngan : internet, intranets,consumer electronic products, dan computer applications.The java 2 platform tersedia dalam 3 edisi untuk keperluan berbeda. Untuk beragam aplikasi yang dibuat dengan bahasa Java, java dipaketkan dalam edis – edisi berikut :
1.Java 2 Standard Edition ( J2SE )
2.Java 2 Enterprise dition ( J2EE )
3.Java 2 Micro Edition ( J2ME )
Masing – masing edisi berisi Java 2 Software Development Kit ( J2SDK ) untuk mengembangkan aplikasi dan Java 2 Runtime Environent ( J2RE ) untuk menjalankan aplikasi.
Kelebihan Java di bandingkan dengan C++
Pembuat program java telah merancang java untuk menghilangkan pengalokasian dan dealokasi memori secara manual, karena java memiliki Garbage Collection
Diperkenalkannya deklarasi array yang sebenarnya dan menghilangkan aritmatika pointer. Hal ini yang sering menyebabkan memori overwrite.
Dihilangkannya multiple inheritance, mereka menggantinya dengan interface.
                                

B.     Jenis Java

1.   Java API Java API terdiri dari tiga bagian utama: · Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi desktop dan applets dengan bahasa dasar yang mendukung grafis, M/K, keamanan, konektivitas basis data dan jaringan. · Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi server dengan mendukung untuk basis data. · Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti telepon genggam, komputer genggam dan pager.
2.   Java Virtual Machine 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.
3.   Sistem Operasi Java Sistem operasi biasanya ditulis dalam sebuah kombinasi dari kode bahssa  dan assembly, terutama disebabkan oleh kelebihan performa dari bahasa tersebut dan memudahkan komunikasi dengan perangkat keras. Satu kesulitan dalam merancang sistem basis bahasa adalah dalam hal proteksi memori, yaitu memproteksi sistem opeasi dari pemakai program yang sengaja memproteksi pemakai program lainnya. Sistem operasi tradisional mengaharapkan pada tampilan perangkat keras untuk menyediakan proteksi memori. Sistem basis bahasa mengandalkan pada tampilan keamanan dari bahasa. Sebagai hasilnya, sistem basis bahasa menginginkan pada alat perangkat keras kecil, yang mungkin kekurangan tampilan perangkat keras yang menyediakan proteksi memori. 

1. J2SE (Standard Edition) : berbasis desktop
J2SE (Java 2 Standard Edition) J2SE adalah inti dari bahasa pemrograman Java. Digunakan untuk aplikasi berbasis desktop.
2. J2EE (Enterprise Edition) : berbasis web
Java 2 Platform Enterprise Edition (J2EE) adalah salah satu Java Family Suite, yang menjadi
standard penting untuk mengembangkan enterprise aplikasi multitier berbasis komponen.
Diantaranya adalah untuk aplikasi e-bussiness, e-commerce dan web based application.
3. J2ME (Mobile Edition) : berbasis mobile / handphone  
J ava 2 Mobile Edition   adalah salah satu standar penting untuk mengembangkan Mobile aplikasi.diantaranya adalah untuk aplikasi perangkat lunak di handphone,yang banyak sekali kita lihat dan gunakan di telphon genggam.
4. Java Script
JavaScript adalah bahasa skrip yang populer di internet dan dapat bekerja di sebagian besar penjelajah web populer seperti Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan dalam halaman web menggunakan tag SCRIPT.
JavaScript pertama kali dikembangkan oleh Brendan Eich dari Netscape dibawah nama Mocha, yang nantinya namanya diganti menjadi LiveScript, dan akhirnya menjadi JavaScript. 
Berikut istilah yang sering sekali kita temui :
Program         : Adalah serangkaian instruksi yang logis, ditulis dalam bahasa pemrograman (bahasa yang dimengerti oleh komputer) untuk menghasilkan informasi (output) sesuai dengan keinginan si pemakai jasa komputer (User). 
Programming : Adalah tahapan dalam pembuatan program.
Programmer   : Adalah orang atau tenaga pelaksana yang mempunyai tugas untuk membuat dan menyiapkan program siap pakai.

Jenis-jenis tipe data java

1. Apakah Variable itu?
Program melakukan manipulasi data yang disimpan dalam memori. Dalam bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untuk mengganti alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini disebut variable.
Variable bukan isi dari data, tapi lokasi di memori yang menyimpan data tersebut. Variable bisa diibaratkan sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa berubah, variable hanya dapat dipercaya pada satu saat saja, walaupun tempatnya selalu sama.
Variable dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data. Kompiler akan menampilkan kesalahan sintax apabila variable ini dicoba untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe kuat atau strongly typed language.
1.      Tipe Data
Java memiliki tipe data yang dapat dikategorikan menjadi dua kelompok, yaitu tipe data Primitif dan tipe data Referensi.
2.1. Tipe Data Primitif








Ada 8 jenis tipe data primitif dalam pemrograman Java :
Jenis Data
Deskripsi
Ukuran
Minimum
Maksimum
boolean
true / false
1-bit
char
Karakter Unicode
16-bit
byte
Bilangan bulat
8-bit
-127
128
short
Bilangan bulat
16-bit
-32768
32767
int
Bilangan bulat
32-bit
-2147483648
2147483647
long
Bilangan bulat
64-bit
-9223372036854775808
9223372036854775807
float
Bilangan riil
32-bit
1.40129846432481707e-45
3.40282346638528860e+38
double
Bilangan riil
64-bit
4.94065645841246544e-324
1.79769313486231570e+308
2.2. Tipe Data Referensi
Kelebihan pemrograman berorientasi object adalah dapat mendefinisikan tipe data baru yang merupakan object dari class tertentu. Tipe data ini digunakan untuk mereferensikan object atau class tertentu, seperti String, class, interface, dan array. Di Java 5.0, ditambahkan dua tipe referensi baru, yaitu enumerasi dan anotasi.
Tidak seperti tipe primitif yang nilai default-nya variatif, semua tipe referensi nilai default-nya adalah null. Khusus untuk variable lokal, tidak ada nilai default yang diberikan, sehingga harus di inisialisasi.
Perbedaan mendasar antara tipe primitif dan referensi :
·         Tipe-tipe primitif didefinisikan oleh bahasa Java, sedangkan tipe referensi pada dasarnya adalah tipe user-defined.
·         Tipe primitif merepresentasikan nilai tunggal, sedangkan tipe referensi dapat menampung nol atau lebih nilai primitif atau object.
1.      Deklarasi Variable
Suatu variable baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variable digunakan untuk mendeklarasikan satu atau lebih variable dan memberinya nama. Ketika komputer mengeksekusi deklarasi variable, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variable yang diberikan. Definisi variable berbentuk seperti :
modifiers namatipe namavariable;
Dalam pendeklarasian variable, kita dapat medeklarasikan beberapa nama sekaligus, yang dipisah dengan koma.
private float num;
private String nama;
private boolean bol;
private int cadence,gear; //mendeklarasikan nama variable dalam satu pernyataan
Atau pendeklarasian variable bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut :
private int num = 1000;
private char ch = ‘e’;
private float angka = -1.504;
private boolean bol = true;
1.      Jenis – jenis Variable pada Java.
Java memiliki beberapa jenis variable yang dapat dikelompokkan sebagai berikut :
·         Instance Variable (tidak statis).
Dalam bahasa pemrograman berorientasi object, object menyimpan variable yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu class dapat dijelmakan ke dalam beberapa object. Nilai yang terkandung dalam variable tak-statis ini berbeda untuk setiap objectnya.
Instance variable merupakan variabel yang terletak di dalam pendefinisian suatu class. Instance variable baru terbentuk apabila suatu class dibuat instance-nya.
Contoh dari Instance Variable :
[php]
public class Bicycle {
int cadence;
int speed;
int gear;

}
[/php]
Tipe Data Sederhana Java
Secara umum Java mengenal dua jenis tipe data, yaitu tipe data sederhana dan tipe data object. Khusus pada posting ini saya hanya akan membahas tipe data sederhana di Java.
Pada dasarnya Java memiliki 4 macam jenis tipe data sederhana, yaitu :
1.      Tipe data number atau angka bulat
2.      Tipe data desimal atau angka pecahan
3.      Tipe data character
4.      Tipe data logical
Tipe data number atau angka
Contoh tipe data angka bulat pada Java adalah tipe data integer dan long. Tipe data integer memiiki range antara -2147483648 s/d 2147483647. Sedangkan tipe data Long memiliki range antara -9223372036854775808 s/d 9223372036854775807.
Tipe data desimal atau angka pecahan
tipe data desimal fungsinya sama seperti tipe data angka. Perbedaannya adalah kalau tipe data desimal dapat menyimpan baik angka berupa bilangan bulat dan desimal. Tipe data desimal ini terdiri dari tipe data float dan double. Tipe data float memiliki range antara -3.4 x 1038 s/d 3.4 x 1038. Tipe data double memiliki range antara -1.8 x 10308 s/d 1.8 x 10308.
Tipe data character
Tipe data character hanya dapat menyimpan 1 buah digit data. Tipe data ini dapat menyimpan baik angka dan simbol-simbol khusus selama panjang data yang disimpan adalah 1 digit.
Tipe data Logical
Tipe data logical dapat menyimpan nilai true dan false saja.







C.     Fungsi Java

Fungsi yang mengembalikan suatu nilai adalah fungsi yang ketika kembali ke program utamanya disertai dengan membawa suatu nilai. Berikut adalah program untuk menjumlahkan 2 buah bilangan yang di dalamnya menggunakan fungsi.
import java.util.Scanner;
public class Main {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
int bil1, bil2, bil3;
System.out.println(“Program Menjumlahkan 2 bilangan“);
System.out.print(“Masukkan bilangan 1 : ”); bil1 = masukan.nextInt();
System.out.print(“Masukkan bilangan 2 : ”); bil2 = masukan.nextInt();
System.out.print(“Masukkan bilangan 3 : ”); bil3 = masukan.nextInt();
System.out.println();
System.out.println(“Jumlah bil1 + bil2 : ”+(jumlah(bil1,bil2)));
System.out.println(“Jumlah bil2 + bil3 : ”+(jumlah(bil2,bil3)));
System.out.println(“Jumlah bil1 + bil3 : ”+(jumlah(bil1,bil3)));
}

private static int jumlah(int a, int b) {
int hasil = a + b;
return hasil;
}
}

Fungsi yang tidak mengembalikan nilai adalah seperti prosedur pada pemrograman Pascal. Berikut adalah contoh program untuk menghitung luas 2 buah bidang datar, yang penentuan bidang yang dihitung, ditentukan oleh pengguna melalui menu.

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner masukan = new Scanner(System.in);
int pilihan=9;
do {
System.out.println("\nMENU\n");
System.out.println("1. Menghitung Luas Persegi Panjang");
System.out.println("2. Menghitung Luas Lingkaran");
System.out.println("3. Keluar");
System.out.print("Masukkan Pilihan Anda : ");
pilihan = masukan.nextInt();
switch(pilihan){
case 1 : luasPersegiPanjang(); break;
case 2 : luasLingkaran(); break;
}
} while(pilihan != 3);
}

private static void luasPersegiPanjang() {
Scanner masukan = new Scanner(System.in);
float panjang, lebar, luas;
System.out.print("Masukkan nilai panjang : "); panjang = masukan.nextFloat();
System.out.print("Masukkan nilai lebar : "); lebar = masukan.nextFloat();
luas = panjang * lebar;
System.out.println("Luas Persegi Panjang : " + luas);
}

private static void luasLingkaran(){
Scanner masukan = new Scanner(System.in);
float jari2, luas;
System.out.print("Masukkan nilai jari-jari : ");
jari2 = masukan.nextFloat();
luas = 3.14f * jari2 * jari2;
System.out.println("Luas Lingkaran : " + luas);
}
}
Fungsi dan prosedur memiliki kesamaan dalam bentuknya hanya saja fungsi memiliki nilai yang bisa dihasilkan kembali (Dikembalikan). Fungsidibuat biasanya untuk menyederhanakan sebuah operasi. Ketika dua buah prosedur membutuhkan sebuah operasi yang sama maka operasi tersebut dapat ditulis kedalam fungsi sehingga bisa menghemat waktu penulisan tanpa harus menulis dua kali.
Dalam bahasa Java fungsi biasanya diawali dengan tipe data (int, char, bool). Dan diakhir statementnya terdapat kata “return”. Nilai yang direturn harus nilai yang sama seperti yang dideklarasikan di nama fungsi.
Sangat banyak kegunaan Java dalam komputer kita terutama jika kita sering bergelut dengan aplikasi-aplikasi yang tersedia sekarang ini. Ada banyak aplikasi dan situs yang tidak akan berfungsi kecuali jika kamu memiliki Java yang terinstal, yang mana hal tersebut bertambah banyak setiap hari. Kelebihan Java adalah cepat, aman, dan handal. Dari laptop untuk pusat data, konsol game untuk superkomputer ilmiah, ponsel ke Internet, singkatnya dalam dunia maya, Java ada dimana-mana! Beberapa alasan yang membenarkan banyak orang menggunakan platform yang satu ini antara lain :
1.
Memungkinkan pembuatan perangkat lunak pada satu platform dan menjalankannya pada hampir semua platform lain.
2.
Membantu pembuatan program untuk dijalankan dalam browser Web dan layanan Web.
3.
Memungkinkan pembuatan aplikasi server-side untuk forum online, toko, jajak pendapat, HTML pemrosesan form, dan banyak lagi.
4.
Membantu mengkombinasikan aplikasi atau layanan menggunakan bahasa Java sehingga tercipta sebuah aplikasi atau layanan yang sangat disetarakan.
5.
Menciptakan aplikasi yang kuat dan efisien untuk ponsel, prosesor terpencil, produk murah konsumen, dan hampir semua perangkat lain dengan basic digital.
Dan masih banyak lagi kegunaan Java yang lain. Bagi kita sebagai maniak downloader tentunya keberadaan Java akan sangat membantu beragam bentuk pengunduhan dari internet. Contoh spesifiknya adalah saat kita akan mengunduh video dari situs terkenal youtube.com melalui situs pengunduh keepvid.com. Ketika kita tekan tombol unduh setelah memasukkan url (alamat)  video, dengan segera akan keluar sebuah peringatan di halaman itu yang isinya bahwa untuk mengunduh video dari situs ini haruslah sudah terinstal Java di Computer kita. Dengan kata lain, tanpa keberadaan Java yang terinstal, kita tidak akan bisa mengunduh video yang kita maksud.
Beberapa Fungsi pada Java

1.      String
String adalah variable untuk teks yang merupakan gabungan huruf, angka, whitespace (spasi), dan berbagai karakter. Fungsi ini digunakan untuk membuat identifier String/teks. (Identifier : tanda pengenal)
format: String identifier_name;

2. int
int (Integer) adalah variable untuk angka numerik yang tidak menggunakan koma, untuk tipe data 32 bit.
berikut contohnya: (dikombinasikan dengan String yang tadi)
format : int identifier_name;

3. Double
Double adalah variable untuk angka, sama seperti int, tapi Double dapat menggunakan koma dan tipe data merupakan 64 bit. format : Double identifier_name;

4. char
char adalah variable untuk karakter tunggal, bisa berupa alpabet ataupun angka
format: char identifier_name;


5. for
fungsi for mengijinkan tanda koma “,” dalam menginisialisasi sebuah kondisi. Perhatikan potongan script berikut :
for(i=0;i<10;i++){
System.out.println(i);
}


6. while
Selama kondisi belum terpenuhi fungsi while akan mengerjakan pernyataan, perhitungan / penambahan nilai kondisi dilakukan setelah mengerjakan pernyataan. Penambahan nilai kondisi dilakikan setelah pengecekan kondisi.


7. do..while
Berbeda dengan while fungsi Do…while akan mengerjakan pernyataan sampai kondisi terpenuhi. Penambahan nilai kondisi sebelum pengecekan kondisi.


D.    Manfaat Java


Mengenal package dan manfaat package. Package adalah sebuah sarana untuk mengelompokkan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library. Package mempengaruhi mekanisme hak akses ke kelas didalamnya. hal terpenting yang diperhatikan pada saat mendeklarasikanpackage, bahwa class tersebut harus disimpan pada suatu directory yang sama dengan nama package nya. Alasan menggunakan package pada java ialah untuk menghindari tabrakan nama kelas yang akan dibuat dengan nama kelas yang sudah ada. Selain itu, salah satu yang menjadi keuntungan menggunakan package adalah untuk mudahnya developer dalam hal mencari dan me-manage akses yang diberikan.  Mengerti akan konsep dari package akan membantu mengelola dan menggunakan file yang disimpan didalam JAR (Java Archive).

E.     Kekurangan Java

Berorientasi objek , Memudahkan untuk mendesign dan mengembangkan program dengan cepat dan teliti , sehinnga mudah digunakan . Salah satu bahasa pemrograman yang berorientasi objek secara murni .
Mirip c++, Mempunyai sintaks yang mirip dengan bahasa pemrograman c++ . Sehingga para pengguna c++ banyak yang hijrah menggunakan Java . 
Multiplatform, Dapat digunakan dibanyak sistem operasi . 
Perkembangan yang luas, Dari game sampai sistem operasi handphone menggunakan program java . Misalnya Handphone Sonny Ericsson dan Opera Mini 3 yang bertipe .jar ( Java Archive ) .
Mempunyai pengumpulan sampah otomatis .
• Multiplatform – Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan.

Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.

• OOP (Object Oriented Programming – Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir.

Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.

• Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

• Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.

• Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

> Dapat dijalankan di beberapa sistem operasi komputer biasa disebut multiplatform, sehingga pengguna cukup menuliskan sebuah program Java untuk kemudian digunakan pada beberapa sistem operasi komputer yang berbeda. Contohnya: Untuk Hp yang ada Platform Java, Android, Windows, Linux.
> Bahasa pemrograman yang digunakan tidak rumit dan banyak fitur yang dulunya manual telah dikerjakan secara otomatis, jadi memudahkan programer.
> Pemrograman berorientasi objek, Konsep ini dalam bahasa inggris Object Oriented Programming
> Lengkapnya perpustakan (library) yang akan sangat memudahkan pengguna untuk membangun aplikasi yang sesuai dengan kebutuhannya.
> Bergaya C++ sehingga menarik banyak pemrograman dengan konsep C++ untuk hijrah ke Java.
> Pengumpulan ‘sampah’ secara otomatis, sehingga pengguna tidak perlu melakukan pengaturan memori secara langsung.
Java mempunyai beberapa keunggulan dibandingkan dengan bahasa pemrograman lainnya. Keunggulan bahasa pemrograman Java antara lain:
1. Berorientasi objek
Java adalah bahasa pemrograman yang berorientasi pada objek. Java membagi program menjadi objek-objek serta memodelkan sifat dan tingkah laku masing-masing dalam menyelesaikan suatu masalah.
2. Java bersifat multiplatform Java dirancang untuk mendukung aplikasi yang dapat beroperasi di lingkungan jaringan berbeda. Untuk mengakomodasi hal tersebut, Java compiler membangkitkan bytecodes (sebuah format yang tidak tergantung pada arsitektur tertentu yang didesain untuk mengirimkan kode ke banyak platform perangkat keras dan perangkat lunak secara efisien). Java dapat dijalankan oleh banyak platform seperti Linux, Unix, Windows, Solari, maupun Mac.3. Java bersifat multithread
Multithreading adalah kemampuan suatu program komputer untuk mengerjakan beberapa proses dalam suatu waktu. Thread dalam Java memiliki kemampuan untuk memanfaatkan kelebihan multi prosessor apabila sistem operasi yang digunakan mendukung multi prosessor.
4. Dapat didistribusi dengan mudah
Java memiliki library rutin yang lengkap untuk dirangkai pada protocol TCP/IP (seperti HTTP dan FTP) dengan mudah. Kemampuan networking Java lebih kuat dan lebih mudah digunakan. Java memudahkan tugas pemrograman jaringan yang sulit seperti membuka dan mengakses sebuah soket koneksi. Java juga mamudahkan pembuatan CGI (Common Gateway Interface).
5. Bersifat dinamis
Java dirancang untuk beradaptasi dengan lingkungan yang sedang berkembang. Java bersifat dinamis dalam tahap linking. Class yang ada dapat di link sebatas yang diperlukan, apabila diperlukan modul kode yang baru dapat di link dari beberapa sumber, bahkan dari sumber dalam jaringan Internet.
F.      Kelemahan Java

Proses Compile, Mengharuskan pengguna mengcompile programnya sebelum dijalankan, berbeda dengan bahasa pemrograman python yang tidak perlu mengcompile terlebih dahulu .
Penggunaan Memori yang besar , Berbeda dengan bahasa pemrograman lain yang hanya membutuhkan memori sedikit.
• Tulis sekali, perbaiki di mana saja – Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.

• Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.

• Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

·                     Java memiliki kecepatan yang kurang dari bahasa C ++.
·                     Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.Sehingga flatform satu dengan yang lainnya tidak kompatibel.
·                     Java 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 ).
·                     Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat dengan bahasa lain seperti C atau C++.
·                     Java merupakan bahasa pemrograman yang kompleks.

> Slogan java adalah ‘tulis sekali, jalankan di mana saja’, slogan tersebut tidak sepenuhnya bisa berjalan dengan lancar, karena masih ada beberapa hal yang tidak kompatibel antara satu sistem operasi dengan sistem operasi lainnya.
> Mudah didekompilasi, dekompilasi adalah proses membalikan kode jadi menjadi kode sumber.
Hal ini mungkin disebabkan oleh kode yang digunakan pada Java merupkan bytekode yang menyimpan banyak atribut bahasa tingkat tinggi. Dan akibatnya akan ada orang yang tidak bertanggung jawab memplagiat kode sumber buatan orang lain.
> Pengunaan memori yang banyak, lebih banyak dibandingkan dengan bahasa tingkat tinggi yang muncul sebelum Java, seperti C/C++ dan Pascal.
yang lain adalah penggunaan memori yang cukup banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi Java. Namun hal ini memang sesuai dengan fitur beragam yang dimiliki oleh Java. Masalah memori ini juga tidak dialami oleh semua pengguna aplikasi Java. Mereka yang sudah menggunakan perangkat keras dengan teknologi terbaru tidak merasakan kelambatan dan konsumsi memori Java yang tinggi. Lain halnya dengan mereka yang menggunakan teknologi lama ataukomputer yang sudah berumur tua lebih dari empat tahun akan merasakan adanya kelambatan. Namun apapun kelemahan yang dimiliki Java, faktanya adalah Java merupakan bahasa pemrograman yang populer dan digunakan di seluruh dunia saat ini.
Dan kekurangan java di karenakan Proses Compile, Mengharuskan pengguna mengcompile programnya sebelum dijalankan, berbeda dengan bahasa pemrograman python yang tidak perlu mengcompile terlebih dahulu .
Penggunaan Memori yang besar , Berbeda dengan bahasa pemrograman lain yang hanya membutuhkan memori sedikit







  • 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
PENUTUPAN

1.         Kesimpulan

            Dari beberapa bahasan mengenai bahasa pemrograman Java diatas, maka dapat disimpulkan bahwa Java merupakan suatu teknologi di mana teknologi tersebut mencakup Java sebagai bahasa pemrograman yang memiliki sintaks dan aturan pemrograman tersendiri, juga mencakup Java sebagai platform yaitu di mana teknologi ini memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan program yang ditulis dengan bahasa pemrograman java. James Gosling, selaku pencipta dan penemu bahasa pemrograman Java yang lahir pada 19 Mei 1956 dari tiga bersaudara di dekat Calgary, Kanada. Sejak kecil dia memang sangat tertarik dengan elektronika. Pada mulanya bahasa pemrograman yang ditemukan oleh James hendak dinamakan Oak, namun karena nama tersebut sudah digunakan perusahaan lain maka namanya berganti menjadi Java. Asal mula penamaan Java oleh James karena James sangat menyukai minuman kopi tubruk yang konon katanya berasal dari pulau Jawa. Itulah sebabnya dinamakan Java yang merupakan bahasa Inggris dari Jawa.
Java diciptakan oleh suatu tim yang dipimpin oleh Patrick Naughton dan James Gosling dalam suatu proyek dari Sun Microsystem yang memiliki kode Green dengan tujuan untuk menghasilkan bahasa komputer sederhana yang dapat dijalankan di peralatan sederhana dengan tidak terikat pada arsitektur tertentu. setelah melalui beberapa transformasi dan proses, Sun akhirnya meluncurkan browser dari Java yang disebut Hot Java yang mampu menjalankan applet. Setelah itu teknologi Java diadopsi oleh Netscape yang memungkinkan program Java dijalankan di browser Netscape sejak January 1996 yang kemudian diikuti oleh Internet Explorer. Karena keunikan dan kelebihannya, teknologi Java mulai menarik banyak vendor terkemuka seperti IBM, Symantec, Inprise, dll.
Akhirnya Sun merilis versi awal Java secara resmi pada awal 1996 yang kemudian terus berkembang hingga muncul JDK 1.1 kemudian JDK 1.2 yang menghasilkan banyak peningkatan dan perbaikan sehingga mulai versi ini Java disebut Java2. Perubahan yang utama adalah adanya Swing yang merupakan teknologi GUI (Graphical User Interface) yang mampu menghasilkan aplikasi window yang benar-benar portabel.
Dan pada tahun-tahun berikutnya (1998-1999) lahirlah teknologi J2EE (Java 2 Enterprise Edition) yang berbasis J2SE yang diawali dengan servlet dan EJB kemudian diikuti JSP. Kelebihan Java di lingkungan network dan terdistribusi serta kemampuan multithreading mengakibatkan Java menjadi cepat populer di lingkungan server side.
Terakhir teknologi Java melahirkan J2ME (Java 2 Micro Edition) yang sudah diadopsi oleh Nokia, Siemens, SonyEricsson, Motorola, Samsung untuk menghasilkan aplikasi mobile baik games maupun software bisnis dan berbagai jenis software lain yang dapat dijalankan di peralatan mobile seperti ponsel.
2.         Saran

            Dalam pembuatan makalah ini, saya merasa ada banyak kekurangan baik itu dari segi penulisan, tata letak penyajian maupun kosa kata yang mungkin agak kurang proporsional. Untuk itu bagi yang membaca makalah saya ini, bila anda menemui suatu kejanggalan, kekurangan atau sesuatu hal yang kurang pas saya mohon untuk memberi saran atau masukan yang membangun dan bermanfaat dari anda sekalian. Saran dari anda yang membaca makalah ini sangat bermanfaat dan dapat membantu menyempurnakan makalah yang kurang sempurna ini.






1 komentar: