Share Everything to Everyone

Jumat, 31 Oktober 2014

COMPILE JAVA DI CMD WINDOWS

07.57 Posted by ROSYID'S BLOG No comments
Selamat Malam sobat, jika sebelumnya saya sudah menulis materi tentang pengenalan java. Sekarang akan saya kasi tau cara compile file java di command prompt di Operating System Windows. Berikut step-step yang harus anda lakukan supaya compile file java di CMD :

1.  Download Java Development Kit (JDK), bisa anda donload disini.

2.  Install aplikasi JDK tersebut, apabila sudah terinstall coba sobat cari lokasi/path instalasi JDK. Biasanya lokasinya di C:\Program Files\Java\jdk1.7.0_45\bin

3.  Setelah lokasi/path instalasi sudah diketahui, sekarang edit setting path java dengan cara buka explorer, klik kanan pada Computer-->Properties-->Advanced System Settings-->Environment Variables

4.  Kemudian pilih "path" lalu pilih "edit".

5.  Masukkan alamat folder java bin yang sudah di instal (misalkan : C:\Program Files\Java\jdk1.7.0_45\bin ) ke dalam Path tadi dengan cara :

- Tambahkan tanda ; (titik koma sebagai pemisah) di akhir variabel value dan copy-kan alamat folder bin diatas.


6.  Setelah itu, cek pada CMD (klik ikon windows,ketik CMD) apakah sudah jalan atau belum. Sebelumnya pindah direktori dulu dimana file java sobat disimpan, misalkan disimpan di direktori "D", maka ketikan cd D: kemudian D: . 
Lalu, ketikan javac Hello.java (Ganti nama file java sesuai file name yang kalian buat), kemudian ketikan java Hello .


7.  Selsesai dan jangan lupa bilang alhamdulillah kalo sudah bisa. :-D

Rabu, 29 Oktober 2014

RUMUS TURUNAN

07.51 Posted by ROSYID'S BLOG No comments
Turunan fungsi ( diferensial ) adalah fungsi lain dari suatu fungsi sebelumnya, misalnya fungsi f menjadi f' yang mempunyai nilai tidak beraturan. Konsep turunan sebagai bagian utama dari kalkulus dipikirkan pada saat yang bersamaan oleh Sir Isaac Newton ( 1642 – 1727 ), ahli matematika dan fisika bangsa Inggris dan Gottfried Wilhelm Leibniz ( 1646 – 1716 ), ahli matematika bangsa Jerman. Turunan ( diferensial ) digunakan sebagai suatu alat untuk menyelesaikan berbagai masalah dalam geometri dan mekanika.

 





Selasa, 28 Oktober 2014

Variabel dan Tipe Data

13.41 Posted by ROSYID'S BLOG No comments
Hallo Sobat, kali ini saya akan menyampaikan materi Algoritma yang kedua yaitu Variabel dan Tipe Data . untuk posting algoritma saya presentasikan berupa slide, jadi silahkan dibaca-baca ya sobat. Kalo masih ada yang bingung silahkan mengisi komentar di blog ini. Insya Allah akan saya balas.

Pengantar Algoritma

13.28 Posted by ROSYID'S BLOG No comments
Hallo Sobat, kali ini saya akan menyampaikan materi Algoritma, tentu saja karena ini pertama jadi materinya Pengantar dulu. untuk posting algoritma saya presentasikan berupa slide, jadi silahkan dibaca-baca ya sobat. Kalo masih ada yang bingung silahkan mengisi komentar di blog ini. Insya Allah akan saya balas.

MENGHITUNG IP ADDRESS DAN SUBNET MASK

09.00 Posted by ROSYID'S BLOG 2 comments
Sebelum kita tahu bagaimana cara menghitung sebuah IP Address, ada baiknya kita terlebih dahulu mengetahui istilah-istilah umum dalam pengalamatan IP. Beberapa istilah tersebut yaitu sebagai berikut :
  • Host IP Address = alamat IP klien
  • Network Mask = seringkali disebut subnet mask, digunakan untuk menentukan banyaknya jaringan yang dapat dicakup
  • Network Address = alamat jaringan, digunakan sebagai pengenal sebuah jaringan, selalu diperoleh dari alamat pertama dari sekumpulan alamat terdaftar dalam suatu jaringan
  • Network Broadcast Address = alamat broadcast, digunakan untuk melakukan broadcasting (penyebaran) paket data dalam satu jaringan, selalu diperoleh dari alamat terakhir dari sekumpulan alamat terdaftar dalam suatu jaringan
  • Total Number of Host Bits = jumlah total host yang dapat ditampung dalam bit, untuk mengetahui jumlah host/klien maksimal yang dapat diberi alamat IP pada sebuah jaringan
  • Number of Hosts =jumlah alamat yang dapat digunakan sebagai host, jumlah yang dapat digunakan merupakan jumlah alamat total dalam sebuah jaringan dikurangi dengan 2 (karena satu sebagai Network Address, dan satunya lagi untuk Broadcast Address)
 
IP Address merupakan alat yang digunakan agar paket data dapat mencapai tujuan. Di dalam Jaringan, pengiriman suatu paket data membutuhkan alamat sebagai identitas suatu data akan dikirimkan (Destination Address) dan berasal (Source Address). 
Agar unik setiap computer yang terkoneksi ke Internet diberi alamat yang berbeda. Alamat ini supaya seragam seluruh dunia maka pemberian alamat IP address diseluruh dunia diberikan oleh badan internasional Internet Assigned Number Authority (IANA), dimana IANA hanya memberikan IP address Network ID nya saja sedangkan host ID diatur oleh pemilik IP address tersebut. 
 
Alamat yang unik terdiri dari 32 bit yang dibagi dalam 4 oktet (8 bit)
00000000  .  00000000  .  00000000 . 00000000
o 1                   o 2                   o 3       o 4
 
IP ADDRESS dibagi menjadi 2 bagian yaitu Network ID dan Host ID, Network ID yang akan menentukan alamat dalam jaringan (network address), sedangkan Host ID menentukan alamat dari peralatan jaringan yang sifatnya unik untuk membedakan antara satu mesin dengan mesin lainnya. Ibaratkan Network ID Nomor jalan dan alamat jalan sedangkan Host ID adalah nomor rumahnya
IP address dibagi menjadi kelas yaitu ;
 
1. Kelas A ( 1-126)
2. Kelas B ( 128 – 192)
3. Kelas C ( 192 – 223)
4. Kelas D (224 – 239)
5. Kelas E (240 – 255)
 
IP Address Private & Public
 
Jumlah IP Address sangat terbatas, apalagi jika harus memberikan alamat semua host di
Jaringan Local Area Network (LAN). 
Sehingga perlu dilakukan efisiensi dalam penggunaan IP Address. Konsep  subnetting IP
Address merupakan teknik yang umum digunakan di Jaringan Internet untuk efisiensi alokasi IP
Address dalam sebuah jaringan. 
Selain Konsep Subnetting, cara lain adalah dengan mengalokasikan beberapa IP Address
khusus yang digunakan untuk lingkungan LAN dikenal dengan IP  Private. Sedangkan IP
Address yang dapat dikenal di Internet dikenal dengan IP Public.
IP Private antara lain adalah :
  • Class A: 10.0.0.0/8
  • Class B: 172.16.0.0/16 s/d 172.31.0.0/15
  • Class C: 192.168.0.0/24 s/d 192.168.255.0/24
Penghitungan Subnetting

Pada hakekatnya semua pertanyaan tentang subnetting akan berkisar di empat masalah:  
  • Jumlah Subnet
  • Jumlah Host per Subnet
  • Blok Subnet
  • Alamat Host- Broadcast
Penulisan IP address umumnya adalah dengan 192.168.1.2. Namun adakalanya ditulis dengan 192.168.1.2/24, apa ini artinya? Artinya bahwa IP address 192.168.1.2 dengan subnet mask 255.255.255.0. Lho kok bisa seperti itu? Ya, /24 diambil dari penghitungan bahwa 24 bit subnet mask diselubung dengan binari 1. Atau dengan kata lain, subnet masknya adalah: 11111111.11111111.11111111.00000000 (255.255.255.0). Konsep ini yang disebut dengan CIDR (Classless Inter-Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT.
 
 
 
SUBNETTING PADA IP ADDRESS CLASS C
 
Subnetting seperti apa yang terjadi dengan sebuah NETWORK ADDRESS 192.168.1.0/26 ?
Analisa: 192.168.1.0 berarti kelas C dengan Subnet Mask /26 berarti 11111111.11111111.11111111.11000000 (255.255.255.192).
Penghitungan: Seperti sudah saya sebutkan sebelumnya semua pertanyaan tentang subnetting akan berpusat di 4 hal, jumlah subnet, jumlah host per subnet, blok subnet, alamat host dan broadcast yang valid. Jadi kita selesaikan dengan urutan seperti itu:
  1. Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untuk kelas B, dan 3 oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22 = 4 subnet
  2. Jumlah Host per Subnet = 2y - 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir subnet. Jadi jumlah host per subnet adalah 26 - 2 = 62 host
  3. Blok Subnet = 256 - 192 (nilai oktet terakhir subnet mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
  4. Bagaimana dengan alamat host dan broadcast yang valid? Kita langsung buat tabelnya. Sebagai catatan, host pertama adalah 1 angka setelah subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya.
 
 
 
Sumber :Riki Octavia

 

UML (Unified Modeling Language)

08.36 Posted by ROSYID'S BLOG No comments
UML (Unified Modeling Language) merupakan pengganti dari metode analisis berorientasi object dan design berorientasi object (OOA&D) yang dimunculkan sekitar akhir tahun 80-an dan awal tahun 90-an.
         UML merupakan gabungan dari metode Booch, Rumbaugh (OMT) dan Jacobson. Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahan pengembangan UML dilakukan standarisasi proses dengan OMG (Object Management Group) dengan harapan UML akan menjadi bahasa standar pemodelan pada masa yang akan datang.
         UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses. Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode yang digunakan untuk mendesain secara cepat.
        Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain.
UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk  visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak.


Diagram - Diagram UML

UML menyediakan 4 macam diagram untuk memodelkan aplikasi perangkat lunak berorientasi objek. Yaitu:
1.  Use Case Diagram

              Use case diagram adalah sebuah diagram yang menunjukkan hubungan antara actors dan use cases. Digunakan untuk analisis dan desain sebuah sistem. (The Elements of UML 2.0: Scott W.Ambler,
2005:33)

 
Use cases menjelaskan tentang tindakan/aksi yang dilakukan oleh actors. Use case digambarkan dalam bentuk elips yang horizontal. (The Elements of UML 2.0 : Scott W.Ambler, 2005:33-
34)

b. Actors

Actors adalah seorang peran yang berinteraksi dengan sistem. Actors meliputi baik manusia maupun organisasi yang saling bertukar informasi. (The Elements of UML 2.0 : Scott W.Ambler, 2005:35)

b. Relationship

Relationship adalah hubungan antara use cases dengan actors. (The Elements of UML 2.0 : Scott W.Ambler, 2005:38-39) 
Relationship dalam use case diagram meliputi:

- Asosiasi antara actor dan use case

Hubungan antara actor dan use case yang terjadi karena adanya interaksi antara kedua belah pihak. Asosiasi tipe ini menggunakan garis lurus dari actor menuju use case baik dengan menggunakan mata panah terbuka ataupun tidak.

- Asosiasi antara 2 use case

Hubungan antara use case yang satu dan use case lainnya yang terjadi karena adanya interaksi antara kedua belah pihak. Asosiasi tipe ini menggunakan garis putus-putus/garis lurus dengan mata panah terbuka di ujungnya.

- Generalisasi antara 2 actor

Hubungan inheritance (pewarisan) yang melibatkan actor yang satu (the child) dengan actor lainnya (the parent). Generalisasi tipe ini menggunakan garis lurus dengan mata panah
tertutup di ujungnya.

- Generalisasi anatari 2 use case

Hubungan inheritance (pewarisan) yang melibatkan use case yang satu (the child) dengan use case lainnya(the parent). Generalisasi tipe ini menggunakan garis lurus dengan mata panah
tertutup di ujungnya.

2. Class Diagram

              Class diagram adalah sebuah diagram yang menunjukkan hubungan antar class yang didalamnya terdapat atribut dan fungsi dari suatu objek. (The Elements of UML 2.0 : Scott W.Ambler, 2005:47)
Class diagram mempunyai 3 relasi dalam penggunaannya, yaitu :

a. Assosiation

Assosiation adalah sebuah hubungan yang menunjukkan adanya interaksi antar class. Hubungan ini dapat ditunjukkan dengan garis dengan mata panah terbuka di ujungnya yang mengindikasikan adanya aliran pesan dalam satu arah.

b. Generalization

Generalization adalah sebuah hubungan antar class yang bersifat dari khusus ke umum.

c. Constraint

Constraint adalah sebuah hubungan yang digunakan dalam sistem untuk memberi batasan pada sistem sehingga didapat aspek yang tidak fungsional.

Sumber: The Elements of UML 2.0: Scott W.Ambler (2005:71)

3. Activity Diagram

              Activity diagram adalah suatu diagram yang menggambarkan konsep aliran data/kontrol, aksi terstruktur serta dirancang dengan baik dalam suatu sistem. (Journal of Object
Technology:Conrad Bock, 2003:45)

Berikut ini merupakan komponen dalam activity diagram menurut Journal of Object Technology:Conrad Bock (2003:47) yaitu :

a. Activity Node

Activity node menggambarkan bentuk notasi dari beberapa proses yang beroperasi dalam kontrol dan nilai data.

b. Activity Edge

Activity edge menggambarkan bentuk edge yang menghubungkan aliran aksi secara langsung ,dimana menghubungkan input dan output dari aksi tersebut .

c. Initial state

Bentuk lingkaran berisi penuh melambangkan awal dari suatu proses.

d. Decision

Bentuk wajib dengan suatu flow yang masuk beserta dua atau lebih activity node yang keluar. Activity node yang keluar ditandai untuk mengindikasikan beberapa kondisi.

e. Fork

Satu bar hitam dengan satu activity node yang masuk beserta dua atau lebih activity node yang keluar.

f. Join

Satu bar hitam dengan dua atau lebih activity node yang masuk beserta satu activity node yang keluar, tercatat pada akhir dari proses secara bersamaan. Semua actions yang menuju join harus lengkap sebelum proses dapat berlanjut.

g. final State

Bentuk lingkaran berisi penuh yang berada di dalam lingkaran kosong, menunjukkan akhir dari suatu proses

4. Sequence Diagram

              Sequence diagram adalah sebuah diagram yang menggambarkan kolaborasi dari objek-objek yang saling berinteraksi antar elemen dari suatu class. (Embedded System Design:Bruce Powell Douglass, 2003:55)

Berikut ini merupakan komponen dalam sequence diagram :
a. Activations
Activations menjelaskan tentang eksekusi dari fungsi yang dimiliki oleh suatu objek.
b. Actor
Actor menjelaskan tentang peran yang melakukan serangkaian aksi dalam suatu proses.
c. Collaboration boundary

Collaboration boundary menjelaskan tentang tempat untuk lingkungan percobaan dan digunakan untuk memonitor objek.
d. Parallel vertical lines

Parallel vertical lines menjelaskan tentang suatu garis proses yang menunjuk pada suatu state.
e. Processes
Processes menjelaskan tentang tindakan/aksi yang dilakukan oleh aktor dalam suatu waktu.

f. Window

Window menjelaskan tentang halaman yang sedang ditampilkan dalam suatu proses.
g. Loop

Loop menjelaskan tentang model logika yang berpotensi untuk diulang beberapa kali.

Data dan Skala Pengukuran

08.30 Posted by ROSYID'S BLOG No comments

Pengertian Data

Data merupakan kumpulan fakta atau angka atau segala sesuatu yang dapat dipercaya kebenarannya sehingga dapat digunakan sebagai dasar penarikan kesimpulan.
Kualitas kue ditentukan oleh bahan dasar dan cara memasaknya. Demikian halnya, kualitas kesimpulan penelitian ditentukan oleh data (bahan dasar) dan teknik analisis dan penyajiannya.

Karakteristik Data

  • Elemen atau UnsurSerangkaian data memiliki elemen. Masing-masing elemen memiliki karakteristik.
  • Variabel adalah karakteristik atau ciri khas elemen yang menjadi perhatian dan memiliki nilai-nilai yang berbeda.
  • Kasusadalah informasi yang menyangkut seluruh variabel dari suatu elemen tertentu.
  • Observasi, Observasi adalah hasil pengamatan tertentu
contoh karakteritik data

Pengelompokan Data

Berdasarkan Sumber Data

Data Primer

Data yang langsung dikumpulkan oleh peneliti sendiri. Terdapat beberapa metode pengumpulan data primer, antara lain:
  • Wawancara langsung dengan responden.
  • Wawancara tak langsung (melalui informan) → penelitian tentang dampak minuman keras (peneliti mungkin kesulitan bertemu langsung dengan pemakai, jadi ia mungkin menghubungi tetangga, penjual miras, teman teman si pemabuk).
  • Dengan menggunakan angket (yang disebar atau melalui pos)

Data Sekunder

Data yang dikutip dari sumber dokumentasi.
  1. Sumber data sekunder yang dipublikasi (data harga saham, harga komoditas dari surat khabar, majalah atau media elektronik)
  2. Sumber data sekunder yang tak dipublikasi (arsip pemerintah, lembagalembag penelitian, dsb.)

Berdasarkan Penampilan

Data Kualitatif

Data yang dinyatakan dalam bentuk non-angka/non-numerik atau biasa juga disebut atribut. Dalam istilah komputer disebut data bertipe string.

Data Kualitatif

Data yang dinyatakan dalam bentuk angka (data numerik). Dalam komputer
dikenal sebagai data numeric. Data kuantitatif dikelompokkan menjadi dua, yaitu:
  • Data diskrit: data kuantitatif diskrit adalah data hasil pencacahan dan berupa bilangan bulat (dalam komputer dikenal sebagai integer).
  • Data kontinyu: data kuantitatif diskrit adalah data hasil proses pengukura dan dapat berupa bilangan pecahan (bilangan real).

Berdasarkan Skala

Data Nominal

  • Dibedakan dalam kategori tanpa memperhatikan urutan.
  • Satu pengukuran hanya menghasilkan satu-satunya kategori.
  • Setiap kategori dianggap sama (tanpa tingkatan).
  • Data paling ‘rendah’ dalam level pengukuran data.
  • Tak bisa dioperasikan secara matematis.
Contoh:
  • Jenis kelamin
  • Data alamat
  • Jenis sabun
  • Tanggal/Tempat lahir
  • Suku
  • Agama
Data Ordinal
  • Dibedakan dalam kategori berdasarkan urutan.
  • Memiliki tingkatan data.
  • Lebih ‘tinggi’ dibanding data nominal dalam level pengukuran data.
  • Tak bisa dioperasikan secara matematis.

Contoh:

  • Ranking kelas I, II, III
  • Tingkat senioritas pegawai
  • Ranking juara I, II, III
  • Status sosial (kaya, sedang, miskin)
  • Tingkat kepangkatan ΓΌ Tingkat pengetahuan

Data Interval

  • Urutan bertingkat dan dapat dikuantifikasi (diberi nilai)
  • Memiliki interval tertentu
  • Lebih ‘tinggi’ dibanding data ordinal dalam level pengukuran data
  • Dapat dianalisis dengan uji statistik parametrik.
contoh data ordinal 

Data Rasio

  • Data bersifat angka dalam arti yang sesungguhnya
  • Memiliki angka nol absolut
  • Memiliki kedudukan paling ‘tinggi’ dalam level pengukuran data
  • Dapat dioperasikan secara matematis.

Contoh

  • Angka produksi
  • Harga saham
  • Tinggi badan
  • Jumlah warga desa
 
 

Kamis, 23 Oktober 2014

Pengenalan Bahasa JAVA

13.29 Posted by ROSYID'S BLOG No comments
              Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.
            

              Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus oada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.

Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya. Aplikasi dengan teknologi Java secara umum adalah aplikasi serbaguna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).


Mengapa mempelajari Java ?

Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :

1. Sederhana (Simple)
Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.


2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.


3. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.


4. Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.


5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.


6. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.


7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.


8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.


9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).


10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.


11. Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.


Berikut ini beberapa fitur yang ada pada JAVA :

1. Java Virtual Machine (JVM)

         JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.


         Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.


2. Garbage Collection

           Banyak bahasa pemrogaman lain yang mengijinkan seorang pemrogram mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah pemrogram yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana pemrogram tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.


           Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek – objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.


3. Code Security

         Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.


1. Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas – kelas yang berasal dari local disk dengan kelas – kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas – kelas yang berasal dari local disk yang dimuat terlebih dahulu.


2. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan – aturan dasar bahasa Java.


3. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.


Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.


Fase-fase pemrograman JAVA :


Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java.

Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari adalah berupa berkas bytecode dengan ekstensi .class.

Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.

Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program Java :