Java menerapkan fitur-fitur dari bahasa pemrograman lain, dimana fitur tersebut dianggap
merupakan suatu kelebihan oleh tim sun. contohnya JVM (Java Virtual Machine) atau JRE
(Java Runtime Envronment) yang merupakan mesin maya pada pascal, sintaks dan
Exception Handling diambil dari C/C++ dan lain sebagainya.
JVM atau JRE merupakan fitur java yang membuatnya dapat berjalan pada semua platform
sistem operasi.
Keunggulan Java
Ada beberapa keunggulan java diantaranya
A. Sederhana
Bahasa pemrograman Java yang menggunakan coding hampir sama C++, namun sintaks
pada java sudah banyak diperbaiki terutama menghilangkan penggunaan pointer yang
rumit dan multiple inheritance. Java menggunakan automatic memory
allocation dan memory garbage collection.
B. Berorientasi objek (object oriented)
Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat
secara modular dan dapat dipergunakan kembali. Pemrograman objek oriented
memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek
tersebut.
C. Dapat didistribusi dengan mudah
Java dibuat untuk aplikasi terdistribusi secara mudah dengan adanya libraries networking
yang terintegrasi pada java.
D. Portable
Source code maupun program java dapat mudah dibawa ke platform yang berbeda-beda
tanpa harus dikompilasi ulang.
E. Dinamis
Java didesain untuk dapt dijalankan pada lingkungan yang dinamis. Perubahan suatu class
dengan cara menambahkan properties ataupun method dapat dilakukan tanpa mengganggu
program yang menggunakan class tersebut.
Analogi
Pernah melihat atau merasakan baris-berbaris? XD Barisan yang rapih itu bisa disebut
beruntun atau berurutan. Sama seperti urutan alphabet [a-z] atau angka [1-n].
Struktur
{ Judul }
algoritma_sekuensial
{ Kamus }
nama: String
{ Algoritma }
Output('Masukkan nama kamu: ')
Input(nama)
Output('Halo, ', nama, '!')
Pseudocode, struktur algoritma paling sederhana. Penggunaan format ini hanya sebagai
patokan, bukan sebuah bahasa pemrograman.
Flow Chart, struktur algoritma ini berbentuk bagan alir atau diagram. Setiap bentuk bagan
memiliki definisi masing-masing.
{ Kamus }
nama: String
{ Algoritma }
Output('Masukkan nama kamu: ')
Input(nama)
Output('Halo, ', nama, '!')
DEKLARASI
angka : integer {angka yang di baca}
ALGORITMA :
read (angka)
case angka
1 : write (‘satu’)
2 : write (‘dua’)
3 : write (‘tiga’)
4 : write (‘empat’)
otherwise : write (‘angka yang dimasukan salah’)
endcase
Nah inilah pengaplikasian Algoritma tadi kedalam bahasa C dan C++ :
Bahasa C :
/* PROGRAM NAMA NAMA HARI */
/* Mencetak nama hari berdasarkan nomor bulan (1..3) */
//blogemashyda.blogspot.com
#include <stdio.h>
main ()
{
/* DEKLARASI */
int nomor_hari;
/*ALGORITMA */
printf(“Masukan amgka hari (1-7) :”); scanf(“%d”,
&nomor_hari);
switch (AngkaHari)
{
case 1 : printf(“senin \n”); break;
case 2 : printf(“selasa \n”); break;
case 3 : printf(“rabu \n”); break;
case 4 : printf(“kamis \n”); break;
case 5 : printf(“jumat \n”); break;
case 6 : printf(“sabtu \n”); break;
case 7 : printf(“minggu \n”); break;
default : printf(“bukan hari yang benar”); break;
}
}
Bahasa C++ :
/* PROGRAM NAMA NAMA HARI */
/* Mencetak nama hari berdasarkan nomor bulan (1..3) */
//blogemashyda.blogspot.com
#include <cstdlib>
#include <iostream>
/*ALGORITMA */
printf("Masukan angka hari (1-7) :");
scanf("%d",&nomor_hari);
switch (nomor_hari)
{
case 1 : printf("senin \n"); break;
case 2 : printf("selasa \n"); break;
case 3 : printf("rabu \n"); break;
case 4 : printf("kamis \n"); break;
case 5 : printf("jumat \n"); break;
case 6 : printf("sabtu \n"); break;
case 7 : printf("minggu \n"); break;
default : printf("bukan hari yang benar"); break;
}
system("PAUSE");
return EXIT_SUCCESS;
Analogi
Seperti judulnya “selection”, ketika kamu memilih satu presiden dari dua presiden. Pilihan
kamu itu yang akan dilanjutkan atau dijalankan, sesuai instruksi selanjutnya. E.g: jadi
presiden atau mundur (instruksinya)
Struktur
1 Kasus
Hanya if, namun dengan inisialisasi atau nilai awal.
Contoh gambar:
a.1 Gambar 1 kasus
Contoh pseudocode:
{ Judul }
Memeriksa_angka_genap_atau_ganjil
{ Kamus }
angka: Integer
keterangan: String
{ Algoritma }
Input(angka);
{ Pemilihan - 1 Kasus }
keterangan <- 'Angka ganjil' // inisialisasi
Output(keterangan)
{ Kamus }
a, b: Integer
keterangan: String
{ Algoritma }
Input(a, b);
{ Pemilihan - 2 Kasus }
If a > b Then
keterangan <- 'A lebih besar dari B'
Else
keterangan <- 'B lebih besar dari A'
Output(keterangan)
{ Kamus }
nilai: Real
indeks: Char
{ Algoritma }
Input(nilai);
Output(indeks)
a) Program
1. Algoritma Pengubah Sekuensial
int q, w, ee;
q = 3;
w = 5;
ee = q;
q = w;
w = ee;
System.out.println ("nilai setelah diubah a=" +q+ " dan b =" +w);
2. Algoritma If Else
/* if else */
System.out.println ("");
System.out.println ("algoritma untuk menentukan bilangan positif atau
bilangan negatif dengan kasus 2 kondisi. bilangan a = -11");
int bilangan ;
bilangan = 11 ;
if( bilangan < 0) {
System.out.println ("bilangan a disebut bilangan negatif");
} else {
System.out.println ("bilangan a disebut bilangan positif");
}
/*lebih dari dua kondisi*/
System.out.println ("nilai akhir sebuah MK dengan kondisi nilai = 89");
int mk;
mk = 90;
if (mk >= 80){
System.out.println ("mk mendapat indeks a"); }
else if (mk >= 70) {
System.out.println ("mk mendapat indeks b");}
else if (mk >=60){
System.out.println ("mk mendapat indeks c");}
else if (mk >=50){
System.out.println ("mk mendapat indeks d");}
else{
System.out.println ("mk mendapat indeks e");}
System.out.println ("");
b) Penjelasan Program
1. Algoritma Pengubah Sekuensial
Dalam beberapa kasus pemograman algoritma, java dapat menyelesaikan kasus
sesuai dengan input yang sesuai dengan tujuan kasus. Seperti kasus pengubahan
nilai satu dengan satu yang lain. Dalam kasus yang saya kerjakan saya akan
mengubah variable a (input q) yang sebelumnya bernilai 3 menjadi bernilai 5
yang tadinya dimiliki oleh variable b (input w). Dalam penukaran kedua nilai
ini terdapat variabel c sebagai “gerbang perantara” dari kedua variable a dan b.
ee (varibel c) = q (variable a) ;
nilai a akan ditampung pada variable c
q (variable a) = w (variable b);
nilai a yang sekarang kosong, diberi nilai dari b
w (variable b) = ee (variable c);
nilai b yang sekarang kosong, diberi nilai dari c (sebelumnya telah menampung
nilai a)
setelah dimasukan input diatas makan nilai a dengan b akan mengubah ke nilai
lawannya
2. Algoritma If Else
Dalam beberapa kasus pemograman algoritma, java dapat menyelesaikan kasus
sesuai dengan input yang sesuai dengan tujuan kasus. Seperti kasus pemilihan.
Dalam 2 kondisi kasus ini saya membuat agar ouput menyimpulkan
kemungkinan kemungkinan yang saya berikan. Kasus pertama dengan kondisi
hanya dua kemungkinan. Saya ingin mengeluarkan output bahwa angka 11
merupakan bilangan positif. Maka saya memebrikan input pernyataan bilangan
kurang dari 0 sama dengan negative berarti selainnya adalah bilangan positif.
Dengan memasukan input if dan else maka angka 11 menjadi diluar jangakauan
kurang dari 0, maka outputnya bilangan 11 merupakan bilangan positif. Kasus
kedua dengan lebih dari 2 kemungkinan. Saya ingin mengeluarkan output bila
nilai mahasiswa 90, maka output akan mengeluarkan indeks nilai a untuk nilai
mata kuliah tersebut. Dalam kasus ini saya menginput, if, else, else if sesuai
dengan dasar teori yang ada, maka output menunjukan bahwa mk mendapat
nilai indeks a karena 90 lebih besar sama dengan 80 (nilai 90 termasuk
pengelompokan nilai diatas 80). Jika kita mengganti inputnya maka output akan
menyimpulkan sesuai dengan kemungkinan kemungkinan yang telah kita input.
c) Hasil
1. Algoritma Pengubah Sekuensial
2. Algoritma If Else
3. Kesimpulan
Java merupakan pemograman yang sederhana dan mudah digunakan untuk membuat suatu
program jika kita mengetahui semua fungsi fungsi yang terdapat pada Java. Dari praktik
ini dapat disimpulkan bahwa dalam algoritma pengubah sequential tanda “=” bisa
digunakan sebagai pengubah sequential dengan variable lain sebagai penampung
sementara; dalam algoritma pemilihan input “if” digunakan untuk memasukan
kemungkinan pengelompokan pertama lalu “else if” digunakan untuk memasukan
kemungkinan selanjutnya dan “else” digunakan untuk memasukan kenungkinan terakhir,
serta dalam algoritma percabangan “switch” digunakan untuk memasukan keterangan
kasus kita, “case 1 – case keinginan kita (angka)” digunakan untuk memasukkan ketentuan
yang kita inginkan, dan “default” digunakan untuk memasukan ketentuan kita bila
ketentuan sebelumnya tidak ada dalam deklarasi yang kita berikan.