Kamis, 19 Juli 2012

Pengenalan Awal Pemrograman JAVA


Sejarah Awal 
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, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Dukeyang 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 (browserMosaic 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 Maret1995, 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 Mei1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotelSheraton 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). 


Apakah JAVA itu ??
“Java adalah suatu teknologi di dunia software komputer. Selain merupakan suatu bahasa pemrograman, Java juga merupakan suatu platform.”
Penulis secara ringkas telah menjawab pertanyaan tersebut dalam kalimat tersebut, dan berikut ini penulis akan menjelaskan lebih lanjut:
“Java merupakan 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”.
Asal Mula Java
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.
Mula-mula James Gosling menyebut bahasa pemrograman yang dihasilkan dengan OAK tetapi karena OAK sendiri merupakan nama dari bahasa pemrograman komputer yang sudah ada maka kemudian Sun mengubahnya menjadi Java.
Akhirnya 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.
Java mempunyai 2 bagian utama :
  • Java Virtual Machine (JVM)
  • Java Application Programming Interface (Java API)
Sun membagi arsitektur Java menjadi 4 bagian, yaitu :
  • Enterprize Edition(J2EE) untuk aplikasi Web, aplikasi system tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan SuperSet dari Standart Java.
  • Standart Edition (J2SE) ini dikenal sebagai bahasa Java.
  • Micro Edtiton (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk Mobile Device.

Versi Awal 
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:

  • java.lang: Peruntukan kelas elemen-elemen dasar.
  • java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
  • java.net: Peruntukan 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.

Fitur Fitur Menarik JAVA 
  • Applet
    Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih interaktif.
  • Java Networking
    Sekumpulan API yang menyediakan fungsi untuk aplikasi-aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alas an sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan Protokol ICMP.
  • Java Database Connectivity(JDBC)
    Menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle,MySQL,PostgreSQL,Microsoft SQL Server.
  • Java Security
    Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara High Level datau Low Level, seperti public/private key menegement dan certificates.
  • Java Swing
    Menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI dan model GUI yang diinginkan bisa bermacam-macam.
  • Java RMI
    Java RMI menyediakan sekumpulan API untuk membangun aplikasi-aplikasi Java yang mirip dengan model RPC (remote Procedure Call), jadi objek-objek Java bisa di call secara remote di Jaringan Komputer.
  • Java 2D/3D
    Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang menarik dan juga akses ke printer.
  • Java Server Pages (JSP)
    Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi-aplikasi CGI. JSP yang mirip ASP dan PHP merupakan alternatif terbaik untuk solusi aplikasi internet.
  • JNI (Java Native Interface)
    Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic.
  • Java Sound
    Menyediakan kumpulan API untuk manipulasi Sound.
  • Java IDL + CORBA
    Menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia Networking.
  • Java Card
    Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada Handphone.
  • JTAPI (Java Telephony API)
    Sekumpulan API untuk memanfaatkan devices-devices telephony, sehingga cocok untuk aplikasi-aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution) PCPBX dan lainnya.

Kelebihan JAVA
  • 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).

Kekurangan JAVA
  • 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++ danPascal (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.

Apakah GUI Itu ??
GUI (Graphical User Interface) merupakan tampilan grafis yang mengandung alat-alat atau komponen-komponen yang memampukan pengguna untuk melakukan pekerjaan interaktif. GUI (Graphical User Interface) software yang dikembangkan oleh para peneliti di Xerox Palo Alto Research Center (PARC) di tahun 70-an. GUI di kembangkan dengan tujuan pengguna berinteraksi dengan perangkat keras computer serta memudahkan dalam mengoprasikan sebuah system operasi (user friendly).
GUI (Graphical User User Interface) berkerja dengan cara setiap komponen, dan GUI tersebut, diasosiasikan dengan satu atau lebih rutin yang ditulis pengguna yang dikenal sebagai callback. Eksekusi setiapcallback dipicu oleh aksi tertentu dari pengguna seperti tombol ditekan, klik-an mouse, pemilihan menu item, atau cursor melewati sebuah komponen. Kita sebagai GUI, yang menyediakan callback tersebut.Callback merupakan fungsi yang kita tulis dan asosiasikan dengan sebuah komponen tertentu pada GUI atau dengan GUI itu sendiri.Callback mengontrol sifat GUI atau komponen dengan melakukan beberapa aksi untuk merespon kejadian pada komponennya tersebut. Kejadian dapat berupa mouse diklik pada sebuah push button, pemilihan menu, keyboard ditekan, etc.







Tidak ada komentar:

Posting Komentar