Linux Fun
Sekilas Tentang Microsoft Access
Adalah paket software database relasional yang hebat, yang memudahkan untuk mengelola dan membuat database yang kompleks. Pada microsaft Access sebuah database disimpan dalam sebuah berkas dengan ekstensi .mdb, didalam berkas inilah semua objek yang terkait dengan database termasuk semua table, disimpan pada istilah kolom yang biasa dipakai pada basis data relasional disebut Field dan baris biasa disebut Record.
Access dapat menolong mengelola segala ukuran database, dari daftar yang sederhana sampai database bisnis yang komplek.
Dengan menggunakan Microsoft Access dapat melakukan hal berikut :
- memulai secara cepat database baru dengan menggunakan database Wizard.
- membuat table dari awal atau dengan menggunakan Wizard.
- menambah dan memeriksa informasi dengan menggunakan Table maupun Form.
memanipulasi data dalam beberapa table dangan menggunakan Query dan Report.
Microsoft Assecc memakai sebuah type database yang dinamakan database rational. Databae rational adalah database yang mengorganisasi data dalam bentuk table. Tabel dibentuk dengan mengelompokkan data yang mempunyai obyek yang sama. Tabel berisi baris–baris dan kolom–kolom informasi. Tabel–tabel dapat saling berhubungan jika diinginkan.
Pengertian Database
Database adalah sekumpulan data yang berhubungan. Pada waktu lalu, database merupakan sebuah file, misalnya mahasiswa.dbf, pegawai.dbf yang berisi sebuah tabel. Di dalam file mahasiswa.dbf terdapat kolom–kolom yang berhubungan yaitu NPM, Nama ,Alamat, TglLahir dan seterusnya.
Dalam Microsoft Assecc, database bukanlah sebuah file tetapi merupakan konsep logis yang berisi sekumpulan obyek–obyek yang berhubungan.Misalnya sebuah database berisi data struktur database, index, sekuritas, view, dan stored procedure.
Obyek – obyek dalam sebuah database :
- Tabel : Obyek yang berisi tipe–tipe data dan data mentah.
- Kolom : Sebuah tabel berisi kolom–kolom untuk menampung data. Kolom memnpunyai sebuah type dan nama yang unik.
- Tipe data : Sebuah kolom menpunayi sebuah tipe data. Tipe data yang dipilih adalah karakter, numerik, tanggal, boolean dan lain–lain.
- Strored prosedure : merupakan perintah–perintah SQL yang membentuk makro. Dengan menjalankan strored procedure berarti anda menjalankan perintah–perintah SQL didalam sebuah procedure.
- Trigger : adalah strore procedure yang diaktifkan pada saat data ditambahkan, diubah, atau dihapus dari database. Trigger dipakai untuk menjamin aturan integritas didalam database. Misalnya sebuah trigger dapat menjamin bahwa setiap mahasiswa mempunyai NPM yang sesuai dengan peraturan.
- Rule : diberlakukan pada kolom sehingga data yang dimasukkan harus sesuai dengan aturan.
- Kunci utama (primary key) : menjamin setiap baris data unik, dapat dibedakan dari data lain.
- Kunci tamu (foreign key) : adalah kolom–kolom yang mengacu kunci utama atau konstrain unik pada tabel lain. Kunci utama dan kunci tamu dipakai untuk menghubungkan sebuah tabel dari tabel lain.
- Konstrain : adalah mekanisme integrasi data yang berbasis server dan diimplementasikan oleh sistem.
- Default : dinyatakan pada filed (kolom) sehingga jika kolom tersebut tidak diisi data maka diisi nilai default.
- View : adalah query yang memakai beberapa tabel dan disimpan didalam database. View dapat memiliki beberapa kolom dari sebuah tabel atau menghubungkan beberapa tabel. View dapat dipakai untuk menjaga keamanan data.
- Index : membantu mengorganisasi data sehigga query menjadi lebih cepat.
Lingkungan Kerja Visual Basic
Lingkungan kerja dari Visual basic 6.0 pada umumnya bekerja pada lima buah window yang dirancang sebagai sebuah aplikasi multi window. Interface Development Environment (IDE) adalah tampilan antar muka program dengan pengguna yang sudah bersifat Graphical User Interface (GUI) . Satu window utama dalam Visual Basic 6.0 mengatur beberapa window yang saling berhubungan, yaitu window form, window project, window property dan code editor. Form layout bila windows akan ditutup atau diminimize, maka seluruh window yang berhubungan akan dilakukan perintah yang sama
Window Visual Basic
Pada waktu kita mambuka Visual Basic maka akan muncul beberapa window yang disediakan oleh program ini agar user (pembuat aplikasi) dapat merancang suatu program aplikasi yang dapat menyelesaikan masalah yang dihadapi oleh user. Adapun window-window tersebut adalah sebagai berikut:
- Window Form
Window ini merupakan sebuah media untuk kita membuat aplikasi atau antar muka yang bersifat Graphical User Interface (GUI). Kita dapat menggabungkan berbagi macam obyek atau kontrol diatas form ini. Biasanya pada form ini diberi nama Form1 yang merupakan bawaan dari Visual Basic itu sendiri. - Project Window
Project window merupakan suatu window dalam Visual Basic 6.0 yang digunakan untuk melihat form atau object apa saja dalam suatu project. Selain itu kita dapat menghapusnya dari project window tersebut. - Toolbox
Toolbox merupakan suatu window dalam Visual Basic 6.0 yang berisi komponen-komponen standard yang diperlukan dalam membuat aplikasi seperti label, textbox, combo box dan lain-lain. - Properties Window
Merupakan jendela yang mengandung semua informasi mengenai objek yang terdapat pada visual basic 6.0 yang digunakan untuk menentukan seting suatu objek. Seting property akan menentukan cara kerja dari objek yang besangkutan saat program aplikasi dijalankan, misalnya menentukan warna, nama, posisi, dan sebagainya. - Code Editor
Merupakan salah satu jendela yang penting didalam visual basic. Jendela ini berisi kode-kode program yang merupakan intruksi yang akan dilaksanakan oleh visual basic. Misalnya untuk menutup aplikasi, membatalkan perintah, menyimpan data, dan lain-lainnya. Jendela Code terbagi menjadi tiga bagian utama yaitu:- Nama objek atau kontrol
- Nama Event
- Tempat menulis kode program
- Standar Toolbar
Menyediakan fasilitas yang umum digunakan oleh para programmer ketika sedang mendesain sebuah aplikasi seperti membuat atau menyimpan file, menjalankan program lain-lain. - Form Layout Window
Form Layout window pada Visual Basic 6.0 digunakan untuk menetapkan tampilan ketika program dijalankan. Penggunaannya cukup mudah yaitu kita klik form layout tersebut, kemudian kita gerakkan ke posisi yang ingin kita tampilkan.
File-File Yang Membangun Project Pada Visual Basic 6.0
Sebuah project Visual Basic 6.0 terdiri dari project, form, class, resource dan lain-lain. Beberapa file yang dibuat oleh Visual Basic 6.0 pada saat kita membangun sebuah aplikasi resource seperti icon dan yang lainnya adalah file file yang diambil dari sumber lain. File-file yang membangun project dalam Visual Basic 6.0 adalah sebagi berikut:
- File Project (.VBP)
File yang dipakai untuk menyimpan informasi mengenai project yang kita buat atau mengenai aplikasi yang kita buat. Dalam file ini bisa juga terdiri dari beberapa file lainnya. - File Form atau Interface (. FRM)
File ini untuk menyimpan informasi tentang bentuk form pada sebuah aplikasi. - File Kode Editor
File ini untuk menyimpan perintah-perintah yang membuat sebuah aplikasi berjalan.
Visual Basic
BASIC (Beginners All Purpose Syimbolic Instruction Code), yaitu sebuah bahasa pemrograman yang dalam sejarahnya sudah banyak digunakan oleh para programer untuk menyusun suatu aplikasi.
Visual BASIC adalah salah satu program untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, visual basic menggunakan pendekatan visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan bahasa basic yang cenderung mudah dipelajari. Visual BASIC telah menjadi program yang terkenal bagi para pemula maupun para developer (profesional).
Dalam lingkungan Windows pemakai (user-interface) sangat memegang peranan penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan user-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan.
- Edisi Learning
Di dalam edisi ini para programmer diberi kesempatan untuk membuat sebuah aplikasi sederhana Microsoft Windows dan Windows NT secara mudah. Di dalamnya disertakan beberapa kontrol sederhana, ditambah grid, tab, dan kontrol data-bound. - Edisi Profesional
Di dalam edisi ini disertakan tool-tool yang lengkap. Di samping berisi semua fasilitas yang ada dalam edisi learning, juga ditambah kontrol ActiveX, desainer aplikasi informasi internet, integrated data tools dan data environment, active data objects, serta dynamic Hyper Text Mark-up Language page desainer. - Edisi enterprise
Edisi ini memberikan ijin kepada para profesional untuk membuat aplikasi dalam sebuah tim. Di dalamnya dimasukkan semua fasilitas yang ada pada edisi profesional.
Kelebihan Visual Basic
Kelebihan visual basic dibandingkan dengan pemrograman lain seperti delphi dan prolog adalah pada kemampuannya untuk mengkompilasi program dalam bentuk native code, yaitu optimisasi pada saat prosesor mengkompilasi dan menjalankan program tersebut. Selain itu visual basic juga menyediakan fasilitas antarmuka penulisan code program yang lebih mudah di mengerti dan dipakai sehingga berbagai tipe program dapat dikembangkan di dalamnya, misalnya EXE, DLL dan OCX, bahkan program-program yang berbasis internet.
Protokol HTTP
Sebagian besar dokumen yang ada di jaringn internet adalah dokumen HTML (Hypertext Markup Language). Untuk proses transfer dokumen HTML, anata server dan client diperlukan protokol HTTP. Dalam perkembangannya protokol HTTP tidak hanya digunakan untuk transfer dokumen HTML namun juga untuk data audio sampai data visual. Protokol HTTP bekerja diatas protokol TCP/IP dengan nomor port 80.
Web Client dan Web Server
Contoh implementasi dari protokol HTTP dibagi menjadi dua, jika dilihat dari sisi pengguna (user). HTTP client (web client) yaitu aplikasi yang sering digunakan dalam browsing internet di sisi client, seperti Opera, Internet Explorer, Netscape, Mozilla Firefox, dan lain-lainnya. HTTP server (web server) yaitu aplikasi yang melayani permintaan HTTP dari HTTP client, seperti Internet Information Service, Apache, Tomcat, dan lain-lainnya. Readmore…
GPRS
Teknologi transmisi data GSM berupa GPRS (General Packet Radio Services) adalah sebuah teknologi yang dipergunakan untuk pelayanan data wireless seperti pada wireless internet atau intranet serta pelayanan multimedia. GPRS disebut juga sebagai teknologi jaringan telepon seluler generasi ke 2,5. GPRS menggunakan 1 sampai 8 slot waktu (time slot) yang dapat digunakan secara bersamaan oleh pengguna yang lain. Kecepatan maksimum secara teoritis sampai dengan 171.2 kbps bisa diperoleh dengan GPRS yang menggunakan kedelapan time slot secara bersamaan. Biasanya disebut sebagai GSM-IP (Internet Protocol), karena akan menghubungkan pengguna dengan ISP (Internet Service Provider).
Fungsi GPRS
Pengguna GPRS, hanya akan memakai kanal radio saat ia mengirim atau menerima data. Saat ia tidak melakukan transaksi data, kanal radio (khusus GPRS) tidak akan digunakannya. Namun, walaupun tidak melakukan transaksi data, pengguna GPRS tetap terkoneksi ke jaringan, tanpa membebani kanal GPRS. Dengan teknologi ini panggilan secara voice dapat dilakukan secara bersamaan dengan transmisi data. Melalui fitur GPRS ini, kita dapat mengirimkan gambar maupun video (moving picture) dari server ke client atau dari client ke client. Tetapi ini tergantung dari jenis hp yang digunakan.
Secara rinci ada beberapa faktor yang menjadi pertimbangan bahwa GPRS merupakan teknologi kunci untuk data bergerak, yakni;
- Mampu memanfaatkan kemampuan cakupan global yang dimiliki GSM
- Memperkaya utiliti investasi untuk perangkat GSM yang sudah ada
- Merupakan teknologi jembatan yang bagus menuju generasi ke 3
- Menghilangkan atau mengurangi beberapa pembatas bagi akses data bergerak
- Berbasis paket sehingga mampu memenuhi lalu lintas data (yang lazimnya bersifat rentetan / burst) dan mampu memberikan pelayanan pada banyak pengguna.
- Dapat berfungsi sebagai komunikasi yang ‘selalu’ terhubung sehingga memiliki waktu sesi hubungan yang pendek dan akses langsung ke internet
- Menawarkan QoS (Quality of Service = kualitas layanan), mendukung adanya penundaan mana yang lebih didahulukan sesuai dengan kriteria yang berbeda-beda, serta berbagai kelas reliabilitas
- Menawarkan hubungan komunikasi dalam bentuk point to point atau multipoint.
- Memiliki keamanan yang sudah menjadi ciri bagi data yang terpaketisasi. Readmore…
SQL
Aplikasi database telah menjadi suatu bagian integral dari hampir seluruh kehidupan manusia. Tanpa database, banyak hal yang kita lakukan akan menjadi sangat membosankan atau bahkan tidak mungkin sama sekali. Bank, universitas, dan perpustakaan adalah tiga contoh organisasi yang tergantung sekali pada database. Dalam dunia internet, aplikasi search engine, online shopping, dan bahkan sistem penamaan suatu Website yang dikenal dengan DNS akan menjadi tidak mungkin tanpa adanya dukungan database. Website yang monoton akan akan ditinggalkan oleh pengunjung. Suatu database yang diimplementasikan dan ditampilkan pada suatu komputer biasanya dikenal dengan istilah Database Server.
MySQL, sebagai salah satu SQL (Structured Query Language) Database Server, dikembangkan pertama kali oleh T.c.X DataKonsultAB yang merupakan perusahaan komersial yang membangun bisnis dengan memprioritaskan pada layanan seputar database MySQL.
Pengertian MySQL
- MySQL adalah suatu sistem manajemen database.
Database merupakan sekumpulan data. Untuk menambah, mengakses, memproses semua data pada databaseserver, anda memerlukan suatu manajemen seperti MySQL. - MySQL adalah manajemen database yang terstruktur.
Database pada MySQL menyimpan semua data dalam tabel-tabel yang berbeda dan tidak mengumpulkan dalam suatu ruang penyimpangan yang sangat besar. Hal ini akan meningkatkan kecepatan dan fleksibilitas. Setiap tabel akan saling berhubungan sesuai data yang diinginkan penggunanya - MySQL adalah software yang bersifat open source.
Open Source berarti setiap orang bebas menggunakan maupun memodifikasinya. Kita bisa mendownload MySQL dari internet dan menggunakan tanpa harus membayar apapun. MySQL menggunakan GPL (GNU General Public License) untuk menjelaskan kepada anda apa yang boleh dan tidak boleh anda lakukan terhadap software tersebut pada situasi yang berbeda.
Keunggulan MySQL Sebagai Database Server
Seperti telah dijelaskan bahwa MySQL bersifat open source, gratis, downloadable, sehingga telah menjadi salah satu keunggulan MySQL dibandingkan SQL Server lainnya. Dan masih ada keunggulan yang lain yaitu:
- Mampu menampung jumlah user yang sangat banyak dalam waktu bersamaan.
- Daya tampung record yang sangat besar, yaitu lebih dari 50.000.000.
- Waktu eksekusi perintah yang sangat cepat, mungkin yang tercepat di pasaran database server.
- Mudah dalam instalasi maupun manajemennya.
- Dapat berjalan di atas banyak platform yang berbeda (FreeBSD, Linux, Mac OS X Server, Alpha-DEC-Unix, NetBSD, OS/2, Solaris dan Windows).
- Server dapat menampilakan pesan error dalam banyak bahasa ke user.
- Sistem alokasi memory yang sangat cepat.
Data yang mengalir ke atau dari SMS-center harus berbentuk PDU (Protocol Data Unit). PDU berisi bilangan-bilangan heksadesimal yang mencerminkan bahasa I/O. PDU terdiri atas beberapa header. Header untuk kirim SMS ke SMS-center berbeda dengan SMS yang diterima dari SMS-center.
PDU untuk kirim SMS ke SMS Center
PDU untuk mengirim SMS terdiri dari delapan header, yaitu sebagai berikut:
- Service Center Address (SCA)
Terdiri atas tiga komponen, yaitu:- Len
Panjang informasi SMSC dalam oktet, adalah 00 - Type of number
untuk nasional, sub headernya adalah 81 hexa
internasional , kode sub headernya yaitu 91 hexa - Nomor SMS-center, untuk format PDU pasangan heksanya dibalik-balik, dan bila ganjil maka akan dipasang dengan huruf F di depannya. Dalam pengiriman SMS, nomor SMSC tidak dicantumkan sehingga type of number dan SMSC adalah none. SCA = 00
- Len
- PDU Type
Nilai default untuk pengiriman SMS adalah 11hexa. PDU = 11 - Massage Reference (MR)
Nomor referensi SMS, nomor referensi dibiarkan 0 , jadi bilangan heksanya adalah 00. MR = 004. - Destination Address
Nomor telepon seluler penerima, terdiri atas tiga subheader, yaitu:- LeN
Jumlah bilangan desimal nomor telepon seluler yang dituju dalam bilangan heksadesimal. - National/Internasional Kode
untuk nasional, sub headernya adalah 81hexa
internasional , kode sub headernya yaitu 91hexa - Nomor SMS-center, untuk format PDU pasangan heksanya dibalik-balik, dan bila ganjil maka akan dipasang dengan huruf F di depannya.
Contoh: untuk nomor tujuan +6285220023183 menjadi 0D 91 265822003281F3
Untuk nomor tujuan 085220023183 menjadi 0C81802502201338
- LeN
- Protocol Identifier(PID)
- 0, menjadi 00 dikirim sebagai SMS
- 1, menjadi 01 dikirim sebagai telex
- 2, menjadi 10 dikirim sebagai fax
- Data Coding Scheme (DCS) atau skema encoding data I/O
- Skema 7 bit , ditandai dengan angka 0 dan kode 00
- Skema 8 bit, dengan angka lebih besar dari 0
- Validity Period
Adalah lama waktu pesan disimpan di SMSC apabila pesan gagal diterima oleh handphone penerima. Jika diskip, maka berarti tidak membatasi waktu berlaku SMS. Missal diinginkan VP-nya 5 hari maka VP = 166 + 5 = 171d = AB hexa. Jadi VP = AB. - User Data Length (UDL)
Adalah panjang pesan yang dikirim. Misal pesan adalah ”pesan pendek”. Memiliki karakter 12 = 0Ch. UDL = 0C - User Data (UD)
Adalah isi pesan dalam format heksadesimal. Misal ”pesan pendek” kodenya adalah D0F23CEC06C1CB6E72790D
Untuk mengirim kata “pesan pendek” ke telepon seluler nomor “6285220023183″ lewat dengan jangka waktu valid 5 hari, maka PDU lengkapnya adalah : 0011000D91265822003281F30000AB0CD0F23CEC06C1CB6E72790D Readmore…
SMS
Short Message Service (SMS) adalah salah satu fasilitas dari teknologi GSM yang memungkinkan mengirim dan menerima pesan-pesan singkat berupa text dengan kapasitas maksimal 160 karakter dari Mobile Station (MS). Kapasitas maksimal ini tergantung dari alphabet yang digunakan, untuk alphabet Latin maksimal 160 karakter, dan untuk non-Latin misalnya alphabet Arab atau China maksimal 70 karakter.
Service SMS membutuhkan sistem SMS Center (SMSC) yang menyimpan dan mem-forward text yang dikirimkan. Pada saat pesan SMS dikirim dari handphone (mobile originated) pesan tersebut tidak langsung dikirimkan ke handphone tujuan (mobile terminated), akan tetapi dikirim terlebih dahulu ke SMS Center (SMSC), baru kemudian pesan tersebut diteruskan ke handphone tujuan.
Jaringan SMS
Arsitektur dasar jaringan SMS sebagai berikut:
J2ME
Java 2 Micro Edition (J2ME) merupakan salah satu bagian dari teknologi Java, yang dikembangkan untuk memungkinkan aplikasi berbasis teknologi Java dapat berjalan di perangkat-perangkat mobile device yang hanya memiliki memory kecil (misal: handphone, Palm, PDA, PocketPC) dan telah ditanamkan JVM pada device tersebut.
Configuration dan Profile J2ME
Dalam J2ME dibagi menjadi dua bagian yang dikenal dengan istilah configuration dan profile. Dua buah istilah tersebut sangat penting dalam pengembangan sebuah aplikasi wireless dengan teknologi Java.
- J2ME Configuration
J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime. Karena setip handheld device memiliki fitur yang berbeda-beda, J2ME Configuration ini dirancang, yakni menyediakan libary standar yang mengimplementsikan fitur standar dari sebuah handheld device. Lingkungan kerja yang dimaksud meliputi Java Virtual Machine (JVM) yang digunakan untuk menjalankan program aplikasi Java. Untuk JVM pada J2ME berbeda dengan JVM yang dipakai pada J2SE, karena hanya fitur-fitur penting yang berkaitan dengan perangkat handheld device saja yang diimplementasikan.
Ada dua kategori J2ME Configuration, yaitu :- CDC (Connected Devide Configuration)
Kategori ini umumnya digunakan untuk aplikasi Java pada perangkat-perangkat handheld device dengan ukuran memory sekitar 2 Megabytes. Contohnya adalah Internet TV, Nokia Communicator, dan car television. - CLDC (Connected Limited Device Configuration)
Kategori ini umunya digunakan untuk aplikasi Java pada handphone semacam Nokia, Samsung Java Phone, Motorola i85s, PDA, Palm, atau PocketPC. Umumnya perangkat-perangkat tersebut hanya memiliki memory berukuran 128-512 KiloBytes.
CLD CLDC JVM yang digunakan dikenal dengan nama CVM JVM yang digunakan dikenal dengan nama KVM Digunakan pada perangkat handheld dengan ukuran memory minimal 2 Mbytes
Digunakan pada perangkat handheld dengan ukuran memory terbatas (128-512 Kbytes)
Processor : 32 bit Processor : 16 atau 32 bit Implementasi seluruh fitur J2SE Implementasi subset J2SE - CDC (Connected Devide Configuration)
- J2ME Profile
Jika J2ME Configuration menyediakan library–library Java untuk implementasi fitur-fitur standar dari sebuah handheld device, J2ME Profile menyediakan implementasi-implementasi tambahan yang sangat spesifik dari sebuah handheld device. Sebagai analogi sebuah handphone dengan merek tertentu memiliki kemampuan untuk mengirim SMS kesuatu nomor tertentu, karena itu merupakan kemampuan standar dari sebuah handphone.Namun masing-masing handphone tersebut tentu memiliki fitur-fitur yang berbeda antara yang satu dengan yang lainnya, seperti misal ada handphone yang dilengkapi dengan kamera, atau ada handphone yang mampu memutar file MP3. Kemampuan standar itulah yang diimplemntasikan oleh J2ME Configuration, sedangkan kemampuan/fitur lain yang dimiliki oleh setiap handheld diimplementasikan oleh J2ME Profile. Untuk implementasi Java pada wireless phone, J2ME Profile yang akan digunakan yaitu Mobile Information Device Profile (MIDP) atau yang biasa disebut MIDLet yang berkerja pada CLDC.
Java – Object Oriented Programming
Bahasa Java merupakan bahasa pemrograman berorientasi obyek yang memiliki kemampuan multiplatform, dapat dijalankan sekaligus di berbagai sistem operasi, sesuai dengan motto-nya “write once run everywhere”. Di samping itu, software berbasis Java juga dapat dijalankan di mesin apapun tanpa harus diubah kode programnya.
Pada bahasa pemrograman Java yang menggunakan metode object oriented programming menjanjikan penyederhanaan tugas pemrograman dan sebuah solusi pada masalah inkompatibilitas. Programmer tidak lagi berurusan dengan “pemindahan target” dari hardware dan inkompatibilitas software system operasi. Sebagai gantinya Java mengajukan sebuah model baru bagi pengembangan software, berdasarkan pada prinsip: “Write Once, Run Anywhere”. Pada sebuah kompiler Java akan mengkompilasi kode program Java menjadi Java Bytecode yang merupakan byte-byte instruksi untuk Java Virtual Machine (JVM). Sehingga aplikasi Java akan dapat berjalan pada mesin dan system operasi yang berbeda-beda selama mesin tersebut memiliki Java Virtual Machine (JVM). Komponen lain yang terdapat pada Java adalah Application Program Interface (API), yang merupakan kumpulan library untuk menjalankan dan mengembangkan program aplikasi Java.
Sun Microsystemtm sebagai pengembang Java, pada perkembangan selanjutnya memperkenalkan Java versi 1.2 atau lebih dikenal dengan nama Java 2 yang terdiri atas JDK(Java Development Kit) dan JRE(Java Runtime Environment) versi 1.2. Aplikasi-aplikasi Java yang compatible dengan Java 2 ini dikenal dengan Java 2 Compliant.
Kategori Java 2
Pada Java 2 ini dibagi menjadi tiga kategori, yaitu :
- Java 2 Standard Edition (J2SE)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada level PC (Personal Computer).
- Java 2 Enterprise Edition (J2EE)
Kategori ini digunakan untuk menjalankan dan mengembangkkan aplikasi-aplikasi pada lingkungan enterprise, dengan menambah fungsionalitas-fungsionalitas Java semacam EJB (Enterprise Java Bean), Java COBRA, Java Server Page (JSP), servlet, serta Java XML (Extensible Markup Language).
- Java 2 Micro Edition (J2ME)
Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi-aplikasi Java handheld device atau perangkat-perangkat semacam handphone, Palm, PDA, Pocket PC.
Namun sebenarnya saat ini ada satu kategori lain yakni Java card, yang khusus dikembangkan untuk aplikasi pada smart card. Misalnya aplikasi kartu telepon CHIP, kartu VISA, kartu SIM pada handphone dan aplikasi mobile banking BCA yang saat ini sudah umum digunakan.