Rabu, 22 Oktober 2014

Makalah Java

JAVA



DiSusun Oleh :
HARIS SRI WIDYOKO
NIM :
2114R0796
Dosen :Septia Lutfi

Kata Pengantar

Puji syukur kami haturkan kepada ALLAH SWT, karena atas berkat dan rahmat-Nya lah tugas makalah ini dapat diselesaikan dengan penuh rasa tanggung jawab. Tugas makalah ini berjudul “JAVA”. Adapun tujuan dari pembuatan makalah ini untuk memenuhi tugas dari bapak dosen STMIK HIMSYA Teknik informatika. Selain itu juga, dengan makalah ini penulis dapat lebih memahami tentang apa itu Java serta aplikasi-aplikasi didalamnya. Makalah ini saya susun sesimpel mungkin agar mudah dipahami dan dapat menarik minat siapapun untuk membaca informasi yang tertera didalamnya. Saya berusaha semaksimal mungkin dalam penyusunannya agar memberikan kesan yang baik bagi siapapun yang membacanya.
Penulis  mengharapkan  makalah  ini  dapat  bermanfaat  bagi  semua  pembaca  yang khususnya  para  pelajar dan mahasiswa  di  seluruh  Indonesia,terutama  bagi  penulis  sendiri.Kepada pembaca  jika  terdapat  kekurangan  atau  kekeliruan  dalam  makalah  ini,  penuli smohon  maaf, karena penulis sendiri dalam tahap belajar.Dengan  demikian,  tak  lupa  penulis  ucapkan  terimakasih,  kepad parapembaca.Semoga  Allah  memberkahi  makalah  ini  sehingga  benar-benar  bisabermanfaat.amin


Blora, Oktober 2014          
Penulis                               


Haris Sri Widyoko            


Latar belakang
Pada saat ini perkembangan zaman sudah semakin maju. Hal ini disebabkan oleh perkembangan teknologi yang selalu mengalami kemajuan pesat. Hal ini pulalah yang menyebabkan masyarakat saling bersaing satu sama lain dalam kemajuan teknologi tersebut. Tidak sedikit orang saling menciptakan teknologi-teknologi baru untuk menggantikan teknologi-teknologi lama yang dianggap sudah ketinggalan atau tidak layak pakai. Dan salah satu contoh dari kemajuan teknologi yang baru tersebut adalah lahirnya bahasa pemrograman Java. Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa pemrograman yang saat ini sudah ada antara lain: Cobol, Pascal, Basic dan lain-lain, termasuk yang paling banyak digunakan C++. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems yang saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasiaplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web. Oleh karena itu, makalah ini dibuat untuk menjelaskan tentang perkembangan teknologi bahasa pemrograman Java yang saat ini cukup berkembang di dunia.

Sejarah Java
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
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
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 lain 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. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
Pengertian Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkinKarena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platformsistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.
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
Ø  Programing –language specifi cation
Java2 adalah generasi yang sekarang sedang berkembang dari platformJava. 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 libraryJava yang digunakan.
Platform Java memiliki tiga buah edisi yang berbeda, yaitu J2EE ( Java2 Enterprose Edition), J2ME ( Java2 Micro Edition) dan J2SE (Java2 Second Edition). J2EE adalah kelompok dari beberapa API (Application Programming Interface) dari Java dan teknologi selain Java. J2EE sering dianggap sebagai middleware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat digunakan di semua lapisan dari sebuah sistem informasi. Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dari rutin standar untuk aplikasi klien maupun server, termasuk aplikasi yang berjalan di web browser. J2SE adalah lingkungan dasar dari Java, sedangkan J2ME merupakan edisilibrary yang dirancang untuk digunakan pada device tertentu sepertipagers dan mobile phone.
Java merupakan bahasa pemrogrman yang bersifat case sensitive yang berarti penulisan menggunakan huruf besar ataupun huruf kecil pada kode program dapat berarti lain. Misalnya penulisan "System" akan diartikan berbeda dengan "system" oleh interpreter. Java tidak seperti C++, Java tidak mendukung pemrograman prosedural, tapi mendukung pemrograman berorientasi objek sehingga ada sintaks class pada kode programnya.
Ø  Application-programming interface
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
Ø   Virtual-machine specification
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 menurunkanbytecodearsitektur netral kedalam bahasa mesin untuk host computer.
Istilah-istilah Java
*      1.   Pernyataan Switch
Pernyataan Switch satu-satunya jenis pernyataan yang mengimplementasikan java multiway percabangan. Ketika pernyataan switch dievaluasi, salah satu jumlah cabang pilihan yang berbeda untuk menjalankan cabang ditentukan dengan mengendalikan ekspresi yang ditutupi dalam kisaran waktu setelah kata kunci mengkonfirmasi switch ekspresi harus mengevaluasi ke char, int, pendek, atau byte. Setiap pernyataan cabang dalam sebuah pernyataan switch diawali dengan kata cadangan, diikuti oleh sebuah konstanta yang disebut label kasus, diikuti oleh titik dua, dan kemudian urutan laporan. Setiap kasus harus diberi label dengan jenis kasus yang sama perlu mengendalikan ekspresi. Label tidak terdaftar atau span interval lengkap. merupakan edisi library yang dirancang untuk digunakan pada device tertententu seperti pagers dan mobile phone. J2SE (Java2 Standard Edition)merupakan edisi library yang dirancang untuk membuat aplikasi desktop atau applet pada web browser. J2EE (Java2 Enterprise Edition) merupakan edisi librari Java yang dirancang untuk membuat sebuah aplikasi enterprise yang memerlukan antarmuka dengan sumber data (data source) atau dapat pula dikatakan bahwa J2EE adalah kelompok yang lebih besar dengan J2SE di dalamnya.
*      2.   Operator bersyarat
Operator Bersyarat adalah varian notational dari beberapa bentuk pernyataan istilah. kata lain disebut juga operator ternary atau aritmetika , contoh
if (n1 > n2)   max = n1;
else           max = n2;
vs.
max = (n1 > n2) ? n1 : n2;
Ekspresi di sebelah kanan operator penugasan adalah operator ekspresi dari ekspresi kondisional Boolean. Jika benar, maka ekspresi dievaluasi ke nilai ungkapan pertama (n1), selain untuk mengevaluasi nilai dari ekspresi kedua (n2)
*      3.    Ekspresi Boolean
Ekspresi Boolean adalah ekspresi benar atau salah. ekspresi Boolean yang paling sederhana untuk membandingkan nilai dari dua ekspresi <== myScore yourScore waktu batas. Catatan bahwa Java menggunakan dua tanda sama dengan (==) untuk pengujian kesetaraan: A sama satu sign (=) digunakan hanya untuk tugas Ekspresi. Boolean yang ditutupi dalam kurung tersebut tidak diperlukan, kecuali ia digunakan dalam pernyataan jika
*      4.    Perangkap string
Kesetaraan operator perbandingan (==) dengan benar dapat menguji dua nilai dari tipe primitive. Namun ketika diterapkan pada dua benda sebagai obyek uji String kelas (==) untuk melihat jika mereka disimpan dalam lokasi memori yang sama, bukan apakah atau tidak mereka memiliki. Untuk sedikit nilai tes yang sama dua tali untuk melihat apakah mereka memiliki nilai yang sama, menggunakan metode yang serupa dengan, atau equalsIgnoreCase.
string1.equals(string2)
string1.equalsIgnoreCase(string2)
*      5.    Leksikografis dan urutan abjad
Leksikografis server sama dengan ASCII server, termasuk huruf, angka, dan huruf besar lainnya. Semua karakter dalam urutan abjad, dan huruf kecil semua dalam urutan abjad, tetapi huruf kapital semua datang sebelum huruf kecil. Jika s1 dan s2 adalah dua variabel jenis String yang telah diberi nilai String, kemudian s1.compareTo (s2) return angka negatif jika datang sebelum s1 s2 dalam rangka leksikografis, kembali nol jika kedua string sama, dan kembali angka positif jika s1 s2. Ketika datang sebelum melakukan perbandingan alfabet dari string (bukan perbandingan leksikografis), yang terdiri atas campuran huruf kecil dan huruf besar, gunakan metode tidak compareToIgnoreCase
6.    Membuat Ekspresi Boolean
Ketika dua ekspresi yang dikombinasikan dengan menggunakan Boolean "dan" (& &) operator, seluruh ekspresi benar memberikan dua ekspresi benar jika ekspresi salah. Ketika dua ekspresi yang dikombinasikan dengan menggunakan Boolean "atau" (| |) operator, yang seluruh ekspresi benar selama satu ekspresi yang benar dari istilah ini adalah salah hanya jika kedua ekspresi palsu. Setiap ekspresi Boolean dapat menegasikan menggunakan! Tempat operator ekspresi dalam tanda kurung dan tempat! Tidak seperti operator di depan notasi matematika, string dari pertidaksamaan harus bergabung oleh & Gunakan (min <hasil) & & (hasil <max) daripada min <hasil <maks.
*      7.    Evaluasi Ekspresi Boolean
Meskipun ekspresi Boolean yang digunakan untuk mengontrol cabang dan laporan loop, ekspresi Boolean dapat eksis secara independen atau variable. Boolean dapat diberikan nilai ekspresi Boolean menggunakan. Boolean Expression tugas laporan dapat dievaluasi dengan cara yang sama bahwa ekspresi aritmatika dievaluasi. Satu-satunya perbedaan adalah bahwa ekspresi aritmatika menghasilkan sejumlah sebagai hasilnya, sementara ekspresi Boolean menghasilkan baik benar atau salah sebagai akibatnya mereka
boolean madeIt = (time < limit) && (limit < max);
*      Truth Tables , Hubungan singkat dan Evaluasi lengkap
Java dapat mengambil jalan pintas ketika mengevaluasi bagian pertama dari ekspresi Boolean hasil dari bagian kedua bahwa evaluasi tidak dapat mengubah disebut sirkuit evaluasi singkat atau evaluasi malas. misalnya, ketika mengevaluasi dua subexpressions Boolean bergabung oleh & &, jika yang pertama subexpression mengevaluasi ke false, maka ekspresi akan mengevaluasi seluruh ke false, tidak peduli nilai subexpression. kedua cara itu, ketika mengevaluasi dua subexpressions bergabung dengan Boolean | |, jika subexpression pertama mengevaluasi true, maka ekspresi akan mengevaluasi seluruh menjadi true.
Ada saat-saat ketika menggunakan evaluasi hubung singkat dapat mencegah kesalahan runtime. contoh berikut, jika jumlah anak-anak adalah sama dengan nol, maka subexpression kedua tidak akan dievaluasi, sehingga mencegah membagi dengan nol kesalahan.
Perhatikan bahwa urutan terbalik dari subexpressions tidak akan mencegah hal ini
if ((kids !=0) && ((toys/kids) >=2)) . . .
Kadang-kadang lebih baik untuk selalu mengevaluasi kedua ekspresi, yaitu permintaan untuk evaluasi yang lengkap. Dalam hal ini, menggunakan & dan | operator daripada & & dan | |
*      9.    Pendahuluan dan peraturan Associativity
Boolean dan ekspresi aritmatika tidak perlu sepenuhnya kurung. Jika beberapa atau semua tanda kurung dihapus, Java akan mengikuti preseden dan aturan associativity (diringkas dalam tabel berikut) untuk menentukan urutan operasi.
Jika satu operator terjadi lebih tinggi dalam tabel dari siapapun lain, memiliki hak yang lebih tinggi dan dikelompokkan dengan operan sebelum hak operator rendah.
Jika dua operator memiliki hak yang sama, maka aturan associativity untuk menentukan yang dikelompokkan pertama
*      10. Mengevaluasi Ekspresi
 Secara umum, kurung dalam ekspresi dapat untuk membantu dokumen programmer. Daripada mengandalkan aturan protokoler dan associativity, yang terbaik adalah memasukkan tanda kurung siku, kecuali arti yang diinginkan jelas Binding: Hubungan dari operan dengan operator mereka. Ekspresi kurung menyelesaikan dan sepenuhnya mengikat untuk semua operator dalam ekspresi
Side Effects: Bila, selain untuk nilai-nilai, ekspresi mengubah sesuatu, seperti nilai-nilai dari variable tugas, meningkatkan dan operator penurunan semua menghasilkan efek samping
*      11. Aturan Untuk Mengevaluasi Ekspresi
Tentukan setara. Sepenuhnya melakukan ekspresi mengikat menggunakan kurung yang benar dan aturan associativity. Prosiding kiri ke kanan, mengevaluasi apa yang bisa segera dievaluasi subexpressions. subexpressions atau metode argumen, misalnya, evaluasi konstan atau variabel numerik untuk setiap operasi asing dan metode permintaan sesegera semua operator (argumen yaitu) telah dievaluasi
*      12. Pengulangan
Loop di Java sama dengan dalam bahasa tingkat tinggi lain. java memiliki tiga jenis laporan loop: Sementara itu, sementara agenda, dan melaporkan kode berulang dalam satu lingkaran loop disebut tubuh disebut tubuh masing-masing loop-loop iterasi putaran
*      13. Pernyataan While
Sebuah pernyataan yang sementara digunakan untuk mengulang bagian dari kode tersebut (yaitu, tubuh loop) berdasarkan evaluasi ekspresi. Ekspresi Boolean Boolean diperiksa sebelum tubuh loop dijalankan ka salah, tubuh loop tidak dijalankan sama sekali. Sebelum pelaksanaan setiap loop iterasi berikut tubuh, ekspresi Boolean diperiksa kembali. Jika itu benar, tubuh loop dijalankan lag, Jika salah, pernyataan itu mengakhiri loop tubuh loop dapat terdiri dari sebuah pernyataan tunggal, atau pernyataan yang ditutupi dalam sepasang kurung (())
*      14. Pernyataan Do- while
Do- while pernyataan yang digunakan untuk menjalankan beberapa kode (misalnya, tubuh loop), kemudian ulangi berdasarkan evaluasi ekspresi Boolean dari tubuh loop dieksekusi sedikitnya satu kali dalam ekspresi. Boolean diperiksa setelah tubuh loop dijalankan adalah ekspresi Boolean diperiksa setelah setiap iterasi dari tubuhar, tubuh loop dijalankan lagi palsu, pernyataan loop ujung
Lupa untuk meletakkan titik koma setelah ekspresi Boolean. Sebagai laporan sementara, tubuh loop dapat terdiri dari pernyataan tunggal, atau pernyataan yang ditutupi dalam sepasang tanda kurung (())
*      15. Perancangan Algoritma
Komputer itu bodoh! Kenapa? Karena sebagai programmer, kita harus memberikan perintah hingga sangat detail apa yang harus dikerjakan oleh komputer. Programmer adalah orang yang bertugas untuk menerjemahkan suatu tugas menjadi instruksi detail yang dapat dimengerti oleh komputer. Komputer hanya melakukan apa yang diperintahkan baris demi baris, tetapi komputer tidak bisa berfikir bagaimana melakukan suatu tugas seefisien mungkin.
Untuk itu programmer baru harus dilengkapi dengan cara berfikir dan peralatan yang memungkinkan mereka untuk sukses dalam menerjemahkan suatu tugas menjadi rangkaian perintah yang bisa dimengerti oleh komputer.
Program komputer itu seperti seni yang memuat suatu ide. Seorang programmer mulai dengan suatu tugas di kepalanya, misalnya menghitung sisi miring dari segitiga siku-siku. Kemudian dia akan berfikir tentang apa yang harus dilakukan untuk menyelesaikan tugas tersebut dalam bahasa manusia. Dalam hal ini misalnya, sisi miring dapat dihitung dengan mengambil akar kuadrat dari jumlah kuadrat sisi siku-sikunya. Pemecahan masalah ini kemudian diterjemahkan ke dalam bahasa pemrograman yang berupa perintah langkah demi langkah bagaimana komputer harus menyelesaikan tugas tersebut.
Perintah langkah demi langkah hingga detail ini disebut algoritma. (Secara teknis, algoritma adalah kumpulan langkah-langkah sederhana yang jelas, tidak membingungkan karena hanya ada satu cara untuk melakukan langkah sederhana tersebut, dilakukan selama kurun waktu tertentu. Kita tidak ingin program menghitung selamanya tanpa batas waktu.)
Program ditulis dalam bahasa pemgrograman tertentu. Tetapi algoritma ditulis secara umum atau generic, dalam bahasa manusia, sehingga bisa diimplementasikan menggunakan bahasa pemrograman apapun. Atau dengan kata lain, algoritma mirip seperti ide di belakang program yang akan kita tulis. Tetapi ide tersebut harus jelas, dan memuat langkah demi langkah yang sederhana.
Jadi darimana algoritma itu datang? Biasanya orang harus membuat algoritma itu. Dengan skill, latihan dan pengalaman, orang akan lebih mudah membuat suatu algoritma. Di bagian ini akan dibahas tentang bagaimana membuat suatu algoritma. Jadi bahasa Java akan kita tinggalkan sementara. Kita akan beralih untuk berfikir secara abstrak.
Misalnya, kita memiliki suatu tugas di kepala. Salah satu cara untuk menyelesaikan tugas itu adalah menuliskan penyelesaiannya langkah demi langkah, dan dari sana kita membuat algoritma untuk menyelesaikan masalah itu. Kemudian dari setiap langkah tersebut, kita bisa membuat langkah-langkah lain yang lebih detail, sampai kita bisa menerjemahkan langkah-langkah itu ke dalam bahasa pemrograman. Metode ini disebut penghalusan bertahap (stepwise refinement), dan sifatnya top-down atau dari atas ke bawah. Sambil kita menambah detail pada setiap langkah, kita bisa mulai menuliskan algoritma dalam bentuk pseudocode (kode palsu) yang bentuknya tidak harus persis atau mengikuti suatu bahasa pemrograman.
Misalnya, kita ambil contoh untuk menghitung rata-rata dari 5 bilangan. Kita bisa menuliskan pseudocode dalam bentuk berikut :
ambil input user untuk bilangan pertama
masukkan ke variabel x
ambil input user untuk bilangan kedua
tambahkan variabel x dengan bilangan kedua
ambil input user untuk bilangan ketiga
tambahkan variabel x dengan bilangan ketiga
ambil input user untuk bilangan keempat
tambahkan variabel x dengan bilangan keempat
ambil input user untuk bilangan kelima
tambahkan variabel x dengan bilangan kelima
bagi variabel x dengan 5
tampilkan hasilnya di layar
Algoritma di atas betul, tetapi terlalu banyak perulangan. Bagaimana jika bilangan yang akan dirata-ratakan ada 100? Kita bisa udah algoritma di atas dengan pseudocode yang lebih mudah dimengerti, misalnya
while a kurang dari 5
    ambil input user untuk bilangan ke-a
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Sekarang, ambil input user bisa dideskripsikan lebih jauh. Kita harus memberikan pertanyaan kepada user. Dan seperti dipelajari pada bab sebelumnya, input dari user berupa String yang harus diterjemahkan ke dalam tipe data bilangan untuk bisa dikalkulasi. Pseudocode di atas dapat ditulis ulang sebagai berikut :
while a kurang dari 5
    beri pertanyaan kepada user untuk memasukkan bilangan ke-a
    ambil input user untuk bilangan ke-a
    ubah input menjadi bilangan
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Dan juga dari pelajaran sebelumnya, untuk mengambil input user, kita bisa dihadapkan pada permasalahan IO (input output). Selain itu kita juga harus menginisialisasi pembaca dan tempat meletakkan string sementara. Untuk itu, kita harus mengubah pseudocode nya menjadi seperti ini
inisialisasi pembaca
inisialisasi tempat string sementara
while a kurang dari 5
    beri pertanyaan kepada user untuk memasukkan bilangan ke-a
    "coba" ambil input user untuk bilangan ke-a
        jika ada masalah keluar dari program
    ubah input menjadi bilangan
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Kemudian, perlu diperhatikan bahwa variabel a dan x tidak diketahui nilai awalnya oleh komputer. Bayangkan jika nilai a dan x ditentukan oleh komputer secara acak, bukan saja hasil rata-ratanya menjadi tak tentu, tetapi juga perulangannya menjadi tak menentu. Untuk itu kita harus tambahkan perintah untuk menginisialisasi a dan x dengan 0, sehingga pseudocodenya menjadi
inisialisasi x dengan 0
inisialisasi a dengan 0
inisialisasi pembaca
inisialisasi tempat string sementara
while a kurang dari 5
    beri pertanyaan kepada user untuk memasukkan bilangan ke-a
    "coba" ambil input user untuk bilangan ke-a
        jika ada masalah keluar dari program
    ubah input menjadi bilangan
    tambahkan nilai x dengan bilangan ke-a
    tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Dari sini kita bisa menerjemahkan pseudocode tersebut menjadi program Java, yaitu
double x = 0;
int a = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String strbilangan = null;
while (a < 5) {
    System.out.print("Masukkan bilangan ke-" + a + " : ");
    try {
        strbilangan = br.readLine();
    } catch (IOException ioe) {
        System.out.println("Kesalahan IO, program berhenti");
        System.exit(1);
    }
    x = x + Double.parseDouble(strbilangan);
    a = a + 1;
}
x = x / 5;
System.out.println("Rata-rata bilangan yang dimasukkan adalah " + x);
Jangan lupa bahwa program tersebut membutuhkan paket java.io.*, sehingga kita harus menambah
import java.io.*

*      16. Pernyataan For
Untuk klaim yang paling sering digunakan untuk langkah melalui variabel integer tahap yang sama diawali dengan kata kunci for, diikuti dengan tiga ekspresi dalam kurung yang menjelaskan apa yang harus dilakukan dengan satu atau lebih variabel untuk mengontrol ekspresi pertama memberitahu bagaimana variabel kontrol atau variabel diinisialisasi atau dideklarasikan dan diinisialisasi sebelum iterasi pertama ekspresi, kedua menentukan waktu loop harus berakhir, berdasarkan evaluasi ekspresi Boolean sebelum setiap iterasi ekspresi ketiga menceritakan bagaimana variabel kontrol atau variabel akan diperbarui setelah setiap tubuh loop iterasi
*      17. Pernyataan Syntax  For
For (inisialisasi; Boolean_Expression; Update) Badan Pengawas dapat terdiri dari pernyataan tunggal atau daftar laporan tertutup dalam sepasang tanda kurung (()). Perhatikan bahwa tiga ekspresi kontrol dipisahkan oleh dua,, bukan tiga titik koma. Perhatikan bahwa ada tidak ada titik koma setelah kurung tutup pada awal loop
*      18. Tanda Koma dari Pernyataan For
For loop dapat berisi beberapa inisialisasi tindakan dipisahkan oleh koma Perhatian harus digunakan ketika menggabungkan sebuah deklarasi dengan beberapa tindakan ini ilegal untuk menggabungkan beberapa jenis deklarasi dengan beberapa tindakan, seperti untuk menghindari masalah yang mungkin, yang terbaik adalah untuk menyatakan semua variabel luar pernyataan for A untuk loop dapat berisi tindakan memperbarui beberapa, dipisahkan dengan koma juga Hal ini bahkan dimungkinkan untuk menghilangkan tubuh loop di jalan, namun, untuk loop hanya dapat berisi satu ekspresi Boolean untuk menguji loop akhir.
Kelebihan Java
Java mempunyai beberapa keunggulan dibandingkan dengan bahasa pemrograman lainnya. Keunggulan bahasa pemrograman Java antara lain:
Berorientasi pada 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.
 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.
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.
 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).
 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.
Mirip c++, Mempunyai sintaks yang mirip dengan bahasa pemrograman c++ . Sehingga para pengguna c++ banyak yang hijrah menggunakan Java. 
  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
 Kekurangan Java
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.
Aplikasi Java
Ebuddy
            Selain Mig33 yang handal untuk urusan chatting, ada satu lagi aplikasi
yang patut diunggulkan. Ebuddy adalah aplikasi Java yang support
untuk berbagai akun Instans Massage. Seperti Yahoo Messenger,
Facebook, MSN, Google Talk, dan masih banyak lagi. Aplikasi ini dapat
diperoleh secara gratis.
Al-Quran Digital
Al-Quran Digital merupakan aplikasi Al-Quran yang dibuat untuk mobile, dengan mengedepankan segi kepraktisan. Aplikasi ini menyuguhkan ayat-ayat Al-Quran sekaligus artinya. Aplikasi ini juga mudah dicari dan dapat diunduh secara gratis
Nimbuzz
            Sejatinya, Nimbuzz pada awalnya hanya diperuntukkan bagi pengguna
PC.
Namun pada perkembangannya kemudian, Nimbuzz dapat berjalan
di berbagai ponsel. Termasuk ponsel Java. Nimbuzz adalah aplikasi
messenger yang support dengan beberapa akun IM, seperti Yahoo
Messenger, Facebook, Google Talk, Skype, MSN, Jabber, dan masih
banyak lagi. Aplikasi ini dapat diunduh secara gratis
 Opera Mini
Aplikasi ini berguna untuk membuka web di layar ponsel. Aplikasi ini
sangat populer dengan banyak pemakai khususnya Indonesia. Dengan
Opera Mini maka laman web dapat dibuka di layar ponsel dan
dikompres datanya sedemikian rupa sehingga dapat dengan mudah
dibuka karena ringan. Opera Mini dapat diunduh secara gratis tanpa
harus membayar. Dalam hal pendidikan Opera Mini pada prinsipnya sama seperti mozila firefox atau google chrome yang berfungsi mencari informasi apa saja.
 Mig33
Aplikasi ini diperuntukkan untuk para penggila chatting di dunia maya.
Dengan Mig33 maka kita akan bertemu dengan banyak kawan baru baik
itu melalui PV (Private Chat) ataupun melalui Room Chat. Mig33 dapat
diperoleh secara gratis dan Indonesia merupakan pengguna terbanyak
Mig33 di dunia.
Kamus Besar Bahasa Indonesia Mobile (KBBI)
Aplikasi ini merupakan aplikasi layaknya sebuah kamus bahasa Indonesia. Perbedaannya, aplikasi ini tidak menjabarkan semua kata dari abjad A sampai Z, tetapi hanya disuguhkan sebuah kotak pencarian, lalu user menulis kata apa yang ingin dicari. Aplikasi ini dinilai sangat praktis untuk pembelajaran, dibandingkan dengan kamus bahasa Indonesia yang cenderung lebih berat untuk dibawa. Selain itu aplikasi ini juga mudah dicari dan dapat diunduh secara gratis.
PD English-Indonesia
Aplikasi ini juga merupakan aplikasi layaknya sebuah kamus bahasa inggris Indonesia. Prinsip kerjanya sama dengan KBBI Mobile yakni hanya disediakan kotak pencarian, lalu user mencari kata yang mau diterjemahkan, dari inggris Indonesia atau dari Indonesia ke inggris. Aplikasi ini juga mudah dicari dan dapat diunduh secara gratis.
Macam-macam Game Java
Sebenarnya banyak sekali game-game mobile yang dibuat oleh java, akan tetapi disini penulis hanya menjelaskan beberapa game saja, yakni:
1.    Sudoku
Game ini merupakan salah satu game java yang sangat sederhana. Akan tetapi meskipun sederhana game ini cukup susah untuk diselesaikan, karena untuk menyelesaikan game ini dibutuhkan ketelitian yang luar biasa. Game ini banyak tersebar di internet dan dapat diunduh secara gratis. 
2.    Brain Challenge
Game ini merupakan game asah otak yang mengukur kemampuan otak dalam memcahkan masalah secara cepat. Game ini layaknya psikotest namun lebih sederhana dan simple. Pertanyaan dan soal yang disuguhkan berupa logika dan bersifat rasional. Game ini banyak tersebar di internet dan dapat diunduh secara gratis.

Kesimpulan
Java merupakan bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Java sendiri merupakan bahasa pemrograman yang mudah dan cepat dipelajari. Ditambah lagi Java memiliki berbagai macam kelebihan diantaranya Java yang support Multiplatform (Microsoft Windows, Linux, Adnroid, Mac OS dan Sun Solaris), OOP (Object Oriented Programming), Perpustakaan Kelas Yang Lengkap , Bergaya C++, Pengumpulan sampah Yang jelas peran bahasa pemrograman Java saat ini masih banyak digunakan, walau saat ini sudah bermunculan bahasa pemrograman yang siap menyaingi Java, namun saat ini Java menjadi bagian yang penting dalam perkembangan arah kemajuan di bidang teknologi bahasa pemrograman.


Blora, Oktober 2014          
Penulis                               


Haris Sri Widyoko            



Penutup

Demikian makalah saya mengenai “JAVA” , semoga makalah ini dapat menjadi sumber pengetahuan dan dapat bermanfaat bagi pembacanya.
saya  mengucapkan terima kasih terhadap pihak-pihak terkait yang membantu penyusunan makalah ini.
Kepada teman-teman dan bapak dosen atas saran dan bimbinganya yang akhirnya mampu memunculkan makalah yang luar biasa ini.
Mohon maaf apabila saat proses penulisan sering terjadi selisih antara yang satu dengan yang lain.
Mohon maaf apabila ternyata ada kesalahan pengetikan nama dan kesalahan penulisan informasi.
Sekali lagi terima kasih atas perhatian dan dukungungannya.
Daftar Pustaka



untuk mendapatkan  dalam bentuk PowerPoint silahkan klik dibawah ini
DOWNLOAD