Sunday, June 13, 2010

Intro Interaksi Manusia dan Komputer

Interaksi Manusia dan Komputer (IMK) atau yang dikenal sebagai Human Computer Interaction / HCI merupakan satu disiplin ilmu yang mengkaji komunikasi atau interaksi diantara pengguna
dengan sistem.

Sistem tersebut meliputi :

- Sistem pada komputer
- Sistem yg digunakan dalam kehidupan sehari - hari : kendaraan, peralatan rumah tangga dan sebagainya.

Peran Utama Interaksi Manusia dan Komputer

Menghasilkan sebuah sistem yang mudah digunakan, aman, efektif dan efisien.

- Model IMK melibatkan 3 komponen :
a. Pengguna
b. Interaksi
c. Sistem

.
- Kunci utama IMK adalah daya guna (usability) :

a. Sistem harus mudah digunakan
b. Memberi keamanan kepada pengguna
c. Mudah dipelajari

Definisi dari Interaksi Manusia Komputer :

1. Sekumpulan proses, dialog dan kegiatan di mana melaluinya pengguna memanfaatkan dan
berinteraksi dengan komputer.
2. Suatu disiplin ilmu yang menekankan pada aspek desain, evaluasi, dan implementasi dari
sistem komputer interaktif untuk kegunaan manusia dengan mempertimbangkan fenomena- fenomena di sekitar manusia itu sendiri.
3. Suatu studi ilmiah tentang masyarakat di dalam lingkungan kerjanya

Faktor-faktor Pendewasa HCI

HCI merupakan suatu ilmu multidisiplin, banyak faktor secara langsung mempengaruhinya.

Berbagai faktor yang ikut mendewasakan dan mengembangkan IMK, diantaranya :
- kecerdasan buatan (artificial intelligence)
- rekayasa perangkat lunak (software engineering)
- matematika
- ergonomics
- multimedia (graphic design)

Faktor Rekayasa Perangkat Lunak

Definisi Rekayasa Perangkat Lunak :

1. Instruksi-instruksi yang bila dieksekusi akan memberikan fungsi dan kerja yang diinginkan
2. Struktur data yang memungkinkan suatu program memanipulasi informasi secara proporsional.
3. Dokumen yang menggambarkan operasi dan kegunaan program.

Faktor RPL merupakan faktor yang bisa menciptakan suatu program yang efektif,efisien,
serta user friendly sehingga dihasilkan mesin yang betul-betul diinginkan oleh user.

Faktor Kecerdasan Buatan

Kecerdasan buatan merupakan bagian ilmu komputer yang bertujuan agar komputer dapat
melakukan pekerjaan seperti dan sebaik yang dilakukan manusia serta menggabungkan cara
berpikir manusia dengan mesin, untuk mengambil keputusan, memecahkan masalah
dan pembelajaran.

Faktor ini berperan penting dalam pengembangan IMK,sehingga akan tercipta sistem yang betul-betul menyerupai pola pikir manusia.
Contoh : Robot

Faktor Linguistik Komputasional

Peran bahasa yang digunakan sebagai antarmuka sangat penting, agar user lebih mudah menggunakan sistem dan tidak terjadi kesalah pahaman. Dibutuhkan komposisi bahasa yang sangat baik, yang dapat dengan mudah dimengerti oleh user.

Faktor Psikologi

Pemahaman akan psikologi orang yang akan menggunakan software sangatlah dibutuhkan dalam IMK, mengingat setiap user memiliki sifat dan kelakuan yang berbeda. Dalam perancangan program, harus diperhatikan :
- siapa target pengguna program
- bagaimana lingkungan nya
- bagaimana perilaku mereka secara umum
sehingga hasil program lebih user friendly.

Faktor Multimedia

Dengan multimedia, tampilan dari suatu interaksi akan menjadi lebih menarik dan lebih mudah dimengerti oleh pengguna. Contoh : anak-anak sudah bisa memainkan game dengan komputer karena ada banyak konteks multimedia di dalamnya (gambar, suara, teks, grafik dsb)

Faktor Antropologi

Faktor antropologi memberikan gambaran tentang cara kerja kelompok yang masingmasing
anggotanya diharapkan dapat memberikan kontribusi sesuai bidang masingmasing.

Contoh : Perusahaan di bidang televisi memiliki 100 karyawan . Bagaimana masing-masing
individu di dalam kantor tsb berinteraksi dengan teknologi, sangat menentukan masa depan
perusahaan itu.

Faktor Ergonomik

Ergonomik berhubungan dengan aspek fisik untuk mendapatkan lingkungan kerja yang nyaman. Manusia yang bekerja di depan komputer, biasanya menghabiskan waktu yang cukup lama. Maka letak meja, kursi, monitor, keyboard, mouse, posisi duduk, pengaturan cahaya, kebersihan dan berbagai aspek lain sangat berpengaruh terhadap interaksi manusia dan komputer yang digunakannya.

Faktor Sosiologi

Pada IMK, sosiologi berhubungan dengan pengaruh sistem komputer dalam struktur sosial.
Pada intinya faktor ini merupakan konteks dari suatu interaksi.

Faktor Teknik Penulisan

Suatu produk (program) yang dibuat membutuhkan petunjuk manual agar orang yang belum biasa menggunakan produk tersebut bisa mempelajari lebih dahulu, sehingga dapat terjadi interaksi yang baik antara orang itu dengan komputer.

Faktor Matematika

Pembuatan suatu produk(software) haruslah efisien dalam perhitungan matematika. Jika software bisa dijalankan oleh semua orang, baik yang baru belajar komputer maupun yang telah pakar, unsur kemudahan dalam segi hitungan matematika akan membuat software itu
disukai oleh banyak orang.

Faktor Bisnis

Persaingan bisnis yang semakin ketat, membuat produsen software/hardware membuat produk yang lebih mudah digunakan.

Manusia dipandang sebagai sistem yang memproses informasi.

1. Informasi diterima dan ditanggapi dengan
proses input-output.
2. Informasi disimpan di dalam ingatan.
3. Informasi diproses dan diaplikasikan dengan
berbagai cara.

Proses pemasukan dan pengeluaran yang terjadi pada manusia merupakan suatu vision(pandangan).

1. Pemasukan secara fisik dari stimulus.
2. Pengelolaan dan interpretasi dari stimulus.
Alat fisik yang digunakan untuk mendapatkan visi adalah mata. Proses yang terjadi pada mata
untuk mendapatkan visi :

1. Merupakan suatu mekanisme penerimaan cahaya yang ditransformasikan ke dalam energi
elektrik.
2. Cahaya memantul dari objek-objek yang dipandang dan citra dari objek tersebut difokuskan secara terbalik pada retina.
3. Retina mengandung rod(organ berbentuk batang) untuk pandangan cahaya lemah dan cone (organ berbentuk kerucut) untuk pandangan berwarna.
4. Sel ganglion (pusat syaraf) berfungsi untuk mendeteksi pola dan pergerakan

Komputer didefinisikan perangkat elektronik yang dapat dipakai untuk mengolah data dengan perantaraan sebuah program yang mampu memberikan informasi dan hasil dari pengolahan tersebut. Atau, suatu mesin yang menerima input untuk diproses dan menghasilkan output.

Sistem komputer terdiri dari prosesor, memori I/O. Fungsi dasarnya adalah eksekusi program.
Program yang akan dieksekusi berisi sejumlah instruksi yang disimpan di dalam memori. CPU akan melakukan tugas ini dengan cara mengeksekusi program.

Interaksi membantu manusia apa yang terjadi antara user dan sistem komputer. Sistem interaksi menerjemahkan antara apa yang diinginkan oleh user terhadap sistem yang
ada. Hubungan antara user dan komputer dijembatanai oleh antarmuka pengguna (user
interface)

Antarmuka Pengguna sebagai bagian sistem yang dikendalikan oleh user untuk mencapai dan melaksanakan fungsi - fungsi suatu sistem. Suatu antarmuka secara tidak langsung juga menunjukkan fungsi sistem kepada pengguna. Antarmuka merupakan gabungan dari elemen - elemen suatu sistem,elemen-elemen dari pengguna, dan juga komunikasi atau interaksi diantara keduanya.

Sebuah sistem antarmuka pengguna,memiliki :
- piranti masukan (keyboard, mouse, dll)
- piranti keluaran (monitor,printer)
- masukan pengguna (gerakan mouse, sentuhan , keyboard)
- hasil yang dikeluarkan komputer(grafik, bunyi, tulisan)

Peran antarmuka pengguna dalam kedayagunaan sistem sangat penting. Dan pembangunannya merupakan proses utama dalam pembangunan suatu sistem.

Piranti Bantu Pengembangan Sistem Komputer tidak bisa berinteraksi dengan
manusia bila tidak ada software yang menghubungkan.

Bahasa yang digunakan dalam pemrograman tingkat tinggi adalah bahasa yang dipakai manusia sehari-hari, yaitu bahasa Inggris dengan menggunakan aturan tertentu yg ditulis dan diterjemahkan oleh komputer ke dalam bahasa komputer / bhs mesin.

Paradigma dan Prinsip Interaksi Sistem yang interaktif memungkinkan pengguna untuk mencapai suatu tujuan tertentu dalam suatu domain aplikasi. Sistem interaksi harus
dapat didayagunakan untuk meningkatkan keberhasilan suatu aplikasi.

1. Bagaimana suatu sistem interaksi dibangun supaya mempunyai daya guna yang tinggi?
2. Bagaimana mengukur atau mendemonstrasikan daya guna suatu sistem interaksi?

Dua pendekatan untuk menjawab permasalahan.

- Paradigma

Sistem interaksi yang berhasil pada umumnya diyakini akan meningkatkan daya guna dari
sistem tersebut.

Jenis paradigma

1. Time Sharing : satu komputer yang mampu mendukung banyak user, meningkatkan keluaran dari sistem.
2. Video Display Units : dapat memvisualisasikan dan memanipulasi informasi yang sama dalam representasi yang berbeda dan mampu memvisualisasikan abstraksi data.
3. Programming toolkits : Alat bantu pemrograman yang memungkinkan pemrogram untuk meningkatkan produktivitasnya.
4. Personal computing : mesin berukuran kecil yang powerful, yang dirancang untuk pengguna tunggal.
5. Window System dan WIMP interface
6. Metaphor
7. Direct Manipulation
8. Hypertext.

- Prinsip

Interaksi efektif dari berbagai aspek pengetahuan seperti psikologi, komputasi dan sosiologi, yang mengarahkan pada peningkatan desain dan evolusi produk yg akhirnya akan
meningkatkan daya guna sistem tersebut.

Prinsip, diharapkan dapat meningkatkan daya guna sistem. Pendayagunaan, dipengaruhi oleh beberapa sifat :

1. Learnability, kemudahan yang memungkinkan user baru berinteraksi secara efektif dan dapat mencapai performance yang maksimal.
2. Flexibility : menyediakan banyak cara bagi user dan sistem untuk bertukar informasi.
3. Robustness : tingkat dukungan yang diberikan agar user dapat menentukan keberhasilan
ataupun tujuan yang diinginkan.

sumberr>>>>http://www.gudangmateri.com/2010/06/intro-interaksi-manusia-dan-komputer.html

Sunday, March 21, 2010

Algoritma dan Flowchart

Secara umum, struktur suatu program terdiri dari beberapa bagian yaitu :

1. Input
Bagian ini merupakan proses untuk memasukkan data ke komputer melalui device yang ada misalnya keyboard, mouse, scanner dll.

Program melakukan proses membaca data yang akan diolah dari device tersebut.

2. Output
Bagian ini merupakan proses untuk menampilkan data yang telah diolah, melaporkan hasil pegolahan data melalui device seperti monitor, printer dll. Program melakukan proses mencetak data ke device tersebut.
3. Proses Pengolahan Data
Bagian ini merupakan proses mengolah data yang diinputkan dengan nenerapkan metode-metode, teknik-teknik, algoritma-algoritma yang ada. Proses ini menghasilkan data output yang akan dioutputkan kepada pengguna program.

4. Penyimpanan Data
Bagian ini merupakan proses menyimpan data dalam memori atau device penyimpanan data seperti disket, harddisk, CD dll.
Algoritma

Algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah atau problem.

Flowchart

Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut.

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.

Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya
masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti :

1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.

2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.

3.
Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.

4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan MENGHITUNG PAJAK PENJUALAN.

5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.

6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan
percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.

7. Gunakan simbol-simbol flowchart yang standar.


JENIS-JENIS FLOWCHART

1. FLOWCHART SISTEM
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem.

Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.

Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses
yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).

2. FLOWCHART PAPERWORK / FLOWCHART DOKUMEN
Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem.
Flowchart Paperwork sering disebut juga dengan Flowchart Dokumen.
Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.

Gambar 2. menggambarkan suatu contoh flowchart ini mengenai alur
pembuatan kartu anggota untuk suatu perpustakaan.

FLOW DOKUMEN SISTEM BARU CALON ANGGOTA PERPUSTAKAAN


Gambar 2. Flowchart Paperwork

KETERANGAN :
# : Masukkan data calon anggota ke dalam komputer (proses pengisian data)
P : Tanda tangan dan validasi data

3. FLOWCHART SKEMATIK
Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau prosedur. Flowchart Skematik ini bukan hanya menggunakan simbol-simbol flowchart standar, tetapi juga menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain yang digunakan dalam sistem.

Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart.

Gambar-gambar ini mengurangi kemungkinan salah pengertian tentang sistem, hal ini disebabkan oleh ketidak-mengertian tentang simbol-simbol yang digunakan. Gambar-gambar juga memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan dan tanpa ada salah pengertian.

4. FLOWCHART PROGRAM
Flowchart Program dihasilkan dari Flowchart Sistem.
Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi.

Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer.

Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.

5. FLOWCHART PROSES
Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.

Flowchart Proses memiliki lima simbol khusus



Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.

SIMBOL-SIMBOL FLOWCHART


Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol flowchart standar yang dikeluarkan oleh ANSI dan ISO.

Simbol-simbol ini dapat dilihat pada Gambar 6. Simbol Flowchart Standar berikut ini :





Monday, January 4, 2010

Membuat Method di Java

Sekarang kita akan belajar membuat method di JAVA, maksud dari method ini adalah memanggil potongan program dari file yang berbeda. Sekarang kita akan mulai, buatlah satu file dengan nama:

Program Pertama:

MainClass.java

public class MainClass {

public static void main(String[] args){

CallingMethod method = new CallingMethod();

System.out.println(”Addition: ” + method.add(30,15)); //memanggil method add dari file callingmethod.java

System.out.println(”Subtraction: ” + method.subtract(30,15));

System.out.println(”Multiplication: ” + method.multiply(30,15));

System.out.println(”Division: ” + method.division(30,15));

System.out.println(”Modulus: ” + method.modulus(30,15));

}

}

Program Kedua

CallingMethod.java


public class CallingMethod{

int c;

public int add(int a, int b){

return a+b;

}

public int subtract(int a, int b){

return a-b;

}

public int multiply(int a, int b){

return a*b;

}

public int division(int a, int b){

return a/b;

}

public int modulus(int a, int b){

return a%b;

}

}

Silahkan di compile dan run, kita akan lihat apakah program kita berjalan dengan baik.

Sunday, January 3, 2010

Membuat game java sederhana

java merupakan perangkat lunak yang di dalamnya berisi pemrograman. buat orang awam seperti saya, menggunakan pemrograman java cukup bikin otak muter” dan harus kerja mati”an dalam mengerjakan suatu program. seperti dalam hal berikut, namun sedikit demi sedikit saya mencoba untuk membuat suatu game sederhana, GAME SUIT namanya,,
seperti inilah bentuk rupa listingnya..

package mainsuit;

import java.io.*;

public class MainSuit {

public static void main(String[] args) {

System.out.println(”Permainan suit”);
System.out.println(”==============”);
System.out.println(”Masukkan salah satu dari 3 kemungkinan :”);
System.out.println(”J untuk Jempol”);
System.out.println(”T untuk Telunjuk”);
System.out.println(”K untuk Kelingking”);
System.out.println(”");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = null;
boolean inputvalid = false;


int suitKomputer = 0;
int suitUser = 0;
while (!inputvalid) {
System.out.print(”Masukkan suit Anda “);
try {
input = br.readLine();
} catch (IOException ioe) {
System.out.println(”Kesalahan IO, program berhenti”);
System.exit(1);
}
if (input.length() > 0) {
switch (input.charAt(0)) {
case ‘j’ :
case ‘J’ :
suitUser = 0;
inputvalid = true;
break;
case ‘t’ :
case ‘T’ :
suitUser = 1;
inputvalid = true;
break;
case ‘k’ :
case ‘K’ :
suitUser = 2;
inputvalid = true;
break;
}
}
}
suitKomputer = (int)(Math.random()*3);
if (suitKomputer == 3) {
suitKomputer = 2;
}
switch (suitKomputer) {
case 0:
System.out.println(”Suit komputer = Jempol”);
switch (suitUser) {
case 0:
System.out.println(”Seri”);
break;
case 1:
System.out.println(”Anda kalah”);
break;
case 2:
System.out.println(”Anda menang”);
break;
}
break;
case 1:
System.out.println(”Suit komputer = Telunjuk”);
switch (suitUser) {
case 0:
System.out.println(”Anda menang”);
break;
case 1:
System.out.println(”Seri”);
break;
case 2:
System.out.println(”Anda kalah”);
break;
}
break;
case 2:
System.out.println(”Suit komputer = Kelingking”);
switch (suitUser) {
case 0:
System.out.println(”Anda kalah”);
break;
case 1:
System.out.println(”Anda menang”);
break;
case 2:
System.out.println(”Seri”);
break;
}
break;
}
}
}

silahakan mencoba,, ;)

Membuat Form Login Java

Form Login
Langkah 1 :
Buat form seperti gambar berikut :

Langkah 2 :
Selanjutnya buat table user dengan field seperti pada gambar berikut :

Langkah 3 :
Tambahkan code di bawah ini sesuaikan dengan method dan event dari masing- masing obyek.

public class frmLogin extends javax.swing.JFrame {
Connection Con;
ResultSet RsUser;
Statement stm;
/** Creates new form frmLogin */
public frmLogin() {
initComponents();
open_db();
}

private void cmdOkActionPerformed(java.awt.event.ActionEvent evt) {
try{
char[] input=txtPassword.getPassword();
String password;
password = new String(txtPassword.getPassword());
stm = Con.createStatement();
RsUser=stm.executeQuery("select * from user where user_id='"+
txtUserId.getText()+"' and password=md5('"+password+"')");
int baris=0;
while(RsUser.next()) {
baris = RsUser.getRow();
}
if(baris==1)
{
JOptionPane.showMessageDialog(null, "User dan Password Cocok");
System.exit(0);
}
else
{
JOptionPane.showMessageDialog(null, "User atau Password tdk
Cocok -> "+txtUserId.getText()+" --> "+password);
}
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, e);
}
}
private void cmdBatalActionPerformed(java.awt.event.ActionEvent
evt) {
System.exit(0);
}
private void open_db()
{
try{
KoneksiMysql kon = new KoneksiMysql ("localhost","root",
"root","penjualan");
Con = kon.getConnection();
}catch (Exception e) {
System.out.println("Error : "+e);
}
}





Smogaaa bermanfaa’at…………………………..



Friday, January 1, 2010

JAVA

SEJARAH

Java pertama lahir 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, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

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 pemeritaan 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.

VERSI

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 kelas TCP/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.

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 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 oebjek 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).

KEKURANGAN

· 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 koe 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.