Senin, 12 Desember 2011

Hukum Moore's Law




Hukum Moore's Law  menggambarkan tren jangka panjang dalam sejarah perangkat keras komputer.
 Jumlah transistor yang dapat ditempatkan  pada sebuah sirkuit terpadu ganda kira-kira setiap dua tahun periode dan sering dikutip sebagai "18 bulan" karena Daud House, seorang eksekutif Intel, yang memprediksi bahwa periode dua kali lipat dalam kinerja chip.

Kemampuan dari banyak perangkat elektronik digital sangat terkait dengan Hukum Moore's Law kecepatan pemrosesan, kapasitas memori, sensor dan bahkan jumlah dan ukuran piksel dalam kamera digital. Semua ini meningkatkan di (sekitar) harga eksponensial juga Peningkatan eksponensial telah secara dramatis meningkatkan dampak dari elektronika digital dalam hampir setiap segmen ekonomi dunia. hukum Moore menggambarkan kekuatan pendorong perubahan teknologi dan sosial di akhir abad ke-21 ke-20.

Hukum ini dinamai Intel co-founder E. Gordon Moore, yang menggambarkan tren di tahun 1965 mencatat bahwa jumlah komponen dalam sirkuit terpadu telah dua kali lipat setiap tahun dari penemuan dari sirkuit terpadu pada tahun 1958 sampai tahun 1965 dan memperkirakan bahwa kecenderungan akan terus "untuk setidaknya sepuluh tahun" prediksi-Nya telah terbukti secara luar biasa akurat, sebagian karena hukum yang sekarang digunakan dalam industri semikonduktor untuk membimbing panjang jangka perencanaan dan menetapkan target untuk penelitian dan pengembangan
Lanjut Gan >>

Sabtu, 03 Desember 2011

Piranti I/O [Input/Output]

Fungsi : Memindahkan informasi antara CPU atau memori
utama dengan dunia luar
I/O terdiri :
- Piranti l/O (peripheral)
- Pengendali I/O (device controller)
- Perangkat lunak

Proses transfer informasi antara CPU dengan sebuah
peripheral :
- Memilih I/O dan mengujinya.
- Menginisialisasi transfer dan mengkoordinasikan

pengaturan waktu operasi I/O.
- Mentransfer informasi.
- Menghentikan proses transfer.
Klasifikasi piranti I/O terdiri 3 kelompok:
- Kelompok yang memasukkan informasi (input), contoh :
keyboard, ADC, scanner
- Kelompok yang rnenampilkan informasi (output),
contoh : VDU (monitor), printer
- Kelompok yang melayani input dan output, contoh :
Floppy disk

Pengaksesan I/O terdiri dari 2 cara :
1. Memory mapped I/O
Piranti I/O dihubungkan sebagai lokasi memori virtual
dimana port I/O tergantung memori utama.

Karakteristik:
- Port I/O dihubungkan ke bus alamat.
- Piranti input sebagai bagian memori yang
memberikan data ke bus data. Piranti output sebagai
bagian memori yang memiliki data yang tersimpan di
dalamnya.
- Port I/O menempati lokasi tertentu pada ruang alamat
dan diakses seolah-olah adalah lokasi memori.

2. I/O mapped I/O (I/O isolated)
Piranti I/O dihubungkan sebagai lokasi terpisah dengan
lokasi memori, dimana port I/O tidak tergantung pada
memori utama.
Karakteristik:
- Port I/O tidak tergantung memori utama.
- Transfer informasi dilakukan di bawah kendali sinyal
kontrol yang menggunakan instruksi INPUT dan
OUTPUT.
- Operasi I/O tergantung sinyal kendali dari CPU.
- lnstruksi I/O mengaktifkan baris kendali read/write
pada port I/O, sedangkan instruksi memori akan
mengaktifkan baris kendali read/write pada memori.
- Ruang memori dan ruang alamat I/O menyatu,
sehingga dapat memiliki alamat yang sama.
Kelebihan dan kekurangan:
- I/O mapped I/O Iebih cepat dan efisien, karena lokasi
I/O terpisah dengan lokasi memori.
- I/O mapped I/O mempunyai keterbatasan jumlah
instruksi yang dapat digunakan untuk operasi I/O.
Operasi I/O terbagi menjadi 3 metode :

1. I/O terprogram
Metode di mana CPU mengendalikan operasi I/O secara
keseluruhan dengan menjalankan serangkaian instruksi
I/O dengan sebuah program.
Karakteristik:
- Program tersebut digunakan untuk memulai,
mengarahkan dan menghentikan operasi-operasi I/O.
- Membutuhkan sejumlah perangkat keras (register)
yaitu:
• Register status, berisi status piranti I/O dan data
yang akan dikirimkan.
• Register buffer, menyimpan data sementara
sampai CPU siap menerimanya
• Pointer buffer, menunjuk ke lokasi memori di mana
sebuah karakter harus ditulis atau dan mana
karakter tersebut harus dibaca.
• Counter data, tempat penyimpanan jumlah karakter
dan akan berkurang nilainya jika karakter
ditransfer.
- Membutuhan waktu proses yang lama dan tidak
efesien dalarn pemanfaatan CPU.

2. I/O interupsi
Metode di mana CPU akan bereaksi ketika suatu piranti
mengeluarkan permintaan untuk pelayanan.
Karakteristik:
- Lebih efisien dalam pemanfaatan CPU, karena tidak
harus menguji status dari piranti.
- Interupsi dapat berasal dari piranti I/O, interupsi
perangkat keras misalnya : timer, memori, power
supply, dan Interupsi perangkat lunak misalnya :
overflow, opcode/data yang ilegal, pembagian
dengan nol.

Ada 2 jenis interupsi:
1. lnterupsi maskable
Interupsi yang dapat didisable (dimatikan) untuk
sementara dengan sebuah instruksi disable interupsi
khusus.

2. Interupsi nonmaskable
Interupsi yang tidak dapat didisable dengan instruksi
perangkat lunak.
Dalam sistem komputer terdapat lebih dari satu piranti
yang memerlukan pelayanan interupsi, dapat digunakan
metode:

- Polling/polled interupt
Berdasarkan urutan prioritas yang telah ditentukan
sebelum piranti memerlukan interupsi.
Misal: piranti A dan B mempunyai urutan prioritas A
lebih Iebih dulu dari B, maka jika A dan B secara
bersamaan memerlukan pelayanan interupsi, maka
piranti A akan didahulukan.
- Vector Interupt
Peralatan yang berinterupsi diidentifikasikan secara
Iangsung dan dihubungkan routine pelayanan vector
interupt.
INTR = Sinyal yang dikeluarkan oleh peralatan.
INTA = Sinyal kendali yang digunakan CPU untuk
menyiapkan pelayanan interupt
Cara yang biasa digunakan dengan metode daisy chain
dan encoder prioritas
3. Direct Memory Access (DMA)
Metode transfer data secara langsung antara memori
dengan piranti tanpa pengawasan dan pengendalian CPU.
• Skema transfer blok DMA dual port
CPU dan DMA controller mengakses memori utama
melalui MAR dan MBR dengan menggunakan
sebuah memori utama dual port (2 port).
Port I ----> melayani CPU
Port II ----> melayani DMA controller
• Skema transfer blok DMA cycle stealing (pencurian
siklus)
Hanya memerlukan sebuah memori port tunggal di
mana CPU dan piranti I/O beradu cepat pada basis
asinkron, prioritas utama akan diberikan pada piranti
I/O.
Interfacing
Adalah peralatan yang digunakan untuk menghubungkan
suatu piranti dengan CPU melalui bus.



Keterangan:
• Register kendali (CR) digunakan untuk mencatat
berbagai perintah dan informasi lainnya dalam
peripheral.
• Register status (SR) digunakan untuk menyimpan
status piranti dan memberitahukan pesan-pesan
kesalahan .
• Register data input (IDR) dan register data output
(ODR) masing-masing berfungsi sebagai bufer data
untuk operasi input dan output.
• Urutan operasi interface:
- Unit logika handshaking memasok unit kendali
dengan empat sinyal.
- Dua sinyal, register kendali penulisan (WCR atau
write control register) dan register status
pembacaan (RSR atau read status register),
masing-masing berhubungan dengan CR dan
SR.
- Sedangkan dua sinyal lainnya adalah register
pembacaan data input (RIDR atau read input data
register) dan register penulisan data output
(WODR atau write output data register ), masingmasing
mengendalikan IDP dan ODR.
Transfer data
Format transfer
- Paralel : semua bit pada karakter (word dengan
panjang tertentu) dikirim secara bersamaan dalam
batas waktu yang diberikan.
- Serial : Data dikirim secara berurutan dalam satu
saluran.
Transfer data secara paralel lebih cepat daripada secara
serial karena saluran transmisinya banyak, kelemahannya
kalau terlalu panjang akan terjadi interferensi antar
saluran.
Mode transfer data
1. Synchronous mode
Baris kendali digunakan untuk mengsinkronkan waktu
pada semua kejadian yang terjadi selama periode
waktu tertentu.
Kelemahan:
• Tiap piranti I/O berbeda-beda kecepatan operasinya,
sehingga harus diturunkan pada kecepatan yang
paling rendah.


2. Asynchronous mode
Menggunakan teknik jabat tangan (hand shaking) untuk
menyakinkan transfer data antara pengirim dan
penerima tidak ada kesalahan (data valid)

 





Kelemahan :
- memerlukan lebih banyak kendali
- kecepatan transfer lebih rendah dari yang sebenarnya.
Kelebihan :
- memungkinkan penggunaan piranti I/O yang memiliki
berbagai varasi kecepatan dalama system yang sama.
Sistem Prosesor I/O
Saluran I/O:
Merupakan sebuah prosesor khusus dengan
kemampuan terbatas yang disusun untuk interface
beberapa piranti I/O ke memori.
- Saluran I/O dapat melakukan pendeteksian dan
pembetulan kesaIahan dan beroperasi dalam basis
cycle stealing.
- Saluran I/O berkomunikasi dengan CPU sebagai
suatu fasiIitas DMA dan berkomunikasi dengan
piranti I/O seolah-olah sebuah CPU.
Karena piranti I/O mempunyai kecepatan transfer yang
berbeda-beda, maka saluran dibagi menjadi 3
pelayanan, yaitu:
- Saluran Multiplexer
Digunakan untuk menghubungkan piranti yang
berkecepatan rendah dan sedang serta serta
mengoperasikannya secara bersamaan dengan
multiplexing.
- Saluran Selektor
Digunakan untuk menghubungkan piranti I/O yang
berkecepatan tinggi tanpa multiplexing.
Contoh: pita magnetis, disk
-Saluran Multiplexer Blok Merupakan kombinasi dari
dua pelayanan diatas.
Prosesor I/O (IOP)
Merupakan komputer umum yang berkomunikasi dengan
memori utama melalui fasilitas DMA system bus dan
dengan piranti I/O atas satu atau lebih bus I/O.
Ada 2 mode yaitu :
1. Single Shared bus
Setiap IOP mengendalikan sejumlah piranti I/O
tertentu yang tetap.


2. Switching matriks bus
Setiap IOP mengendalikan satu piranti I/O

 Konfigurasi Multiprosesor

Di dalam satu komputer seakan-akan terdapat
beberapa mikroprosesor, meskipun sebenarnya
mikroprosesor utamanya hanya satu, sedangkan yang
Iainnya berupa prosesor I/O (lOP).
Hubungan yang paling sederhana menggunakan
common bus.

• Bus umum bersifat membagi waktu (time shared)
oleh semua prosesor dan hanya satu prosesor 
yang dapat  mengakses memori pada waktu
tertentu.Tetapi dapat juga menggunakan bus
umum ke dalam organisasi multiprosesor dual bus.
• Setiap komputer dihubungkan suatu pengendali
sistem ke bus umum
• Komunikasi interkomputer ini dilakukan pada
sistem bus melalui memori umum.

Lanjut Gan >>

Kamis, 19 Mei 2011

Jumat, 15 April 2011

Jumlah Data

package jumlahdata;

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        int a,i;
        Scanner input=new Scanner(System.in);
        System.out.print("masukan data="); a=input.nextInt();
        for (i=1; i<=a; i++)
        {
            System.out.println("NPM");
            System.out.println("Nama");
            System.out.println("Jurusan\n");
        }
    }

}




Looping metode input

package loopingmetodearray;

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        int in,dy;
        System.out.print("Masukan nilai awal="); in=input.nextInt();
        System.out.print("Masukan nilai akhir="); dy=input.nextInt();
        for (int i=in; i<dy; i++)
            System.out.println(i);
    }

}
 
Lanjut Gan >>

Selasa, 22 Maret 2011

Luas Segitiga

Bray...baru kelar nih gw ......... !
Nih hasil outputan-nya bray.....!

Lanjut Gan >>

Selasa, 01 Maret 2011

Percobaan switch-case

Percobaan membuat percabangan tentang kejuaraan dan dapat mendali…
Menggunakan percabangan switch-case



class kejuaraan {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int Point;

      Point = 3;
        System.out.println("====================");
        System.out.println("Nama : Indy Nurmala");
        System.out.println("Point : " + Point);
        switch (Point){
            case 1:
                   System.out.println("ket : Perunggu");
                   break;
            case 2:
                   System.out.println("ket : Perak");
                   break;
            case 3:
                   System.out.println("ket : emas");
                   break;
                   default:

        System.out.println("=====================");

        // TODO code application logic here
        }
    }
}

Lanjut Gan >>
Percabangan

      a.       if-else
       
Bentuk umumnya sebagai berikut:

If (boolean-expression)  statement1;  (else statement2; )

Klausa else boleh ditulis boleh tidak. Setiap statement dapat berupa kumpulan pernyataan yang dibatasi oleh kurung-kurawal. Biasanya, untuk amannya, kurung-kurawal ini tetap digunakan, walaupun hanya ada satu statement. Contoh berikut pemakaiannya :

int dataTersedia;
// …
If (dataTersedia > 0)  {
   ProsesData () ;
   dataTersedia  -= n ;
} else {
   TungguDataBerikut () ;
}

Contoh Coding

class praktek1
{
       public static void main (String args [] )
             {
                  int nilai ;
                   nilai=70;
                       System.out.println(“=========================”);
                       System.out.println(“Nama : Duo Maxwell”);
                       System.out.println(“Nilai : “ + nilai );
                       If (nilai > 90)
                             System.out.println(“ket : Istimewa euy !”);
                       else
                             System.out.println(“ket : Tidak Istimewa”);
                             System.out.println(“=======================”);
             }
}


      b.      break

proses break memerintahkan runtime untuk menjalankan program dibelakang blok tertentu. Untuk dapat ditunjuk, sebuah blok diberi nama, dan java memiliki bentuk label untuk menyatakan nama suatu blok. Berikut contoh penggunaannya:

class Break  {
   public static void main (String args [] )  {
      boolean t =true;
a:    {
b:         {
c:               {
                      System.out.println(“Sebelum break”);
                      if  (t)
                        break  b;
                      System.out.println(“Pernyataan ini tidak akan pernah dieksekusi”);
                   }
                   System.out.println(“Ini juga tidak akan dieksekusi”);
               }
                System.out.println(“Ini setelah b”);
            }
          }
       }


Sebagai catatan, break juga dapat digunakan tanpa label untuk keluar dari suatu  loop.

      c.      Switch-case

Bentuk umumnya adalah sebagai berikut :

switch  (expression)  {
   case value1 :
      statement1 ;
      break ;
   case value2  :
      statement2 ;
      break ;
   case valueN :
      statement ;
      break ;
   default :
      statement default ;
}


Nilai expression dibandingkan dengan setiap nilai pada pernyataan case (value). Jika ada yang cocok, maka urutan statement yang ada dibelakang pernyataan case akan dieksekusi. Jika tidak menuliskan break, maka eksekusi akan dilanjutkan kecase selanjutnya.

Contoh Coding

classpraktek2
{
    public static void main (String args [] )
         {
              int nilai ;
                nilai=6;
                    System.out.println(“===========================”);
                    System.out.println(“Nama : Helena Peacecraft”);
                    System.out.println(“Nilai : “ + nilai );
                    switch (nilai)  {
                         case 10;
                         case 9;
                                      System.out.println(“ket : Istimewa”);
                                      break;
                         case 8;
                         case 7;
                                      System.out.println(“ket : Bagoess”);
                                      break;
                         case 6;
                                      System.out.println(“ket : Cukup”);
                                      break;
                                      default:

                                      System.out.println(“ket : Kurang”);
                     System.out.println(“============================”);
         }
}
     


      d.       return

return menyebabkan eksekusi menyambung kembali kepemanggil method. Contoh pemakaian return berikut menyebabkan eksekusi kembali kepemanggilnya, dalam hal ini adalah runtime java.

class ReturnDemo  {
   public static main void (String args [] )  {
      boolean  t;
      System.out.println(“Sebelum return”);
      if  (t)
         return;
      System.out.println(“Pernyataan ini tidak akan pernah dieksekusi”);
   }
}

Lanjut Gan >>

Rabu, 23 Februari 2011

PENGENALAN JAVA

Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programmer junior maupun senior. Modul selanjutnya akan membawa anda mengenal lebih jauh bahasa ini melalui pembahasan konsep dan petunjuk sederhana penggunaannya.


A.Apakah Java ?

Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystem sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk,namun dirancang lebih mudah dipakai. Platporm independent dapat dijalankan diberbagai jenis system operasi dan arsitektur komputer.bahasa ini juga dirancang untuk pemrograman di internet sehingga aman dan portable. Java telah menambah dunia mobile dengan JM2E (Micro Edition:MIDlet,dipakai mobile phone,PDA,smart phone dan sebagainya). Java juga dipakai aplikasi server J2EE(Enterprise Edition:JSP,Servlet).
Pada perkembangannya banyak vendor-vendor seperti oracle (http://www.oracle.com/), Nokia (http://www.nokia.com/), Siemens (http://www.siemens.com/), Yahoo portal (http://www.tibco.com/) yang menggunakan java untuk pengembangan aplikasinya.


B.Program Java
 
Program-program java dapat dikategorikan menjadi 2 yaitu:
·          Application, program yang dapat dijalankan dari command prompt suatu system operasi. Window-based application menggunakan antar muka grafikal sedangkan console application menggunakan karakter-karakter tanpa antar muka grafikal. Application yang berdiri sendiri dapat mengakses resources, Networked application dapat menggunakan resources yang ada pada jaringan. Application dapat membaca dan menuliskan file pada computer local, Application yang berdiri sendiri terletak pada hard disk local computer.
·          Applet, program java yang dieksekusi didalam wab page. Untuk menggunakan applet maka diperlukan browser yang mendukung java,seperti MS Internet Explorer 4.0, Netscape Navigator 4.0 atau HotJava. Applet mudah digunakan, karena untuk menggunakan applet pengguna hanya perlu mengakses web page. Sedangkan application harus didownload dahulu pada computer local sebelum dieksekusi. Applet tidak dapat mengakses file-file pada computer yang men-download-nya.


 C.Fitur-fitur yang disediakan oleh java:

·                      Aksesibilitas dari lokasi manapun didunia:
Java adalah bahasa pemrograman untuk internet dan dapat diakses melalui world wide web yang dapat diakses dari lokasi manapun didunia.

·                Sistem bebas virus:
Java mengimplementasikan strong type-checking pada computer pengguna. Type-checking adalah proses pengecekan kode untuk mengetahui perubahan yang dibuat terhadap kode asli.
·                      Aplikasi dapat digunakan diberbagai platform (platform independent application)
Java compiler meng-compile kode java menjadi intermediate bytecode yang dapat dibaca oleh JVM (Java Virtual Machine). Dengan proses kompilasibytecode dan interprestasinya oleh web browser, program java dapat dijalankan hardware dan system operasi,asalkan system ini memiliki internetbrowser yang mendukung java interpreter.


D.Sejarah Java

Nama java kebetulan sama dengan pulau diindonesia yaitu jawa, namun tidak ada hubungannya secara fisik dengan Indonesia/pulau jawa.
Bahasa java mulai dikenalkan pada tahun 1991 ketika Sun Microsystem memulai proyek penelitian yang diberi nama kode Green. Mereka mengangankan peralatan cerdas yang dapat berkomunikasi dan dapat diperintah oleh manusia hanya dengan sentuhan tombol jarak jauh.
Sun memfokuskan proyek untuk TV kabel yang disebut set-top box. Tujuannya agar pemirsa TV dapat berinteraksi dengan industri.
Untuk merealisasikan proyek ini, mereka merencanakan untuk membangun system operasi dengan bahasa C++. Tetapi, James Gosling salah satu pengembang proyek Green merasa tidak puas dengan bahasa C++. Ia membuat bahasa pemrograman baru yang diberi nama Oak. Bahasa baru ini dibuat berdasarkan syntax bahas C++. Tetapi Oak lebih sederhana dari C++, lebih stabil, lebih mendukung network programming. Sedangkan disisi lain Oak merupakan murni obyek oriented. Selain itu bahasa Oak juga tidak terikat pada satu flatform (cross flatform atau multiflatform).


Dua tahun berikutnya tahun 1994, proyek bisnis Green yang kemudian diperbesar oleh Sun menjadi proyek Firstperson, mengalami kegagalan penolakan pasar terhadap ide TV interaktif. Sun mengalami kegagalan pada impian peralatan cerdasnya. Bahasa Oak yang dibuat sebagai bahasa multiflatform serta diajukan untuk pemrograman interaktif dan distributed.
Nama Oak kemudian harus diganti karena ada produk lain yang mematenkan nama tersebut. Pada tahun 1995, nama Oak diganti dengan nama java. Nama java dipilih mengalahkan nama-nama lainnya, karena mereka merasa nama ini sangat bagus. Bersamaan dengan lahirnya nama java, Sun juga mengganti nama web-browser menjadi HotJava (semula bernama webrunner).
Sun kemudian mengumumkan bahasa java adalah bahasa yang mampu menjalankan web secara interaktif dan aman. Pertengahan tahun 1995, Netscape akan mengadopsi java didalam browser mereka. Kemudian java secara de facto menjadi bahasa standar didunia maya internet.
E.Platform Independent
Platform independent berarti program yang ditulis dalam bahasa java mudah dipindahkan antar berbagai jenis system operasi dan berbagai jenis arsitektur computer. Sifat ini berlaku untuk level source code dan binary code dari program java. Source code program java sendiri tidak perlu dirubah jika anda ingin mengkompile ulang diplatform lain. Hasil mengkompile code java bukanlah kode mesin atau intruksi prosesor, melainkan berupa bytecode yang berupa file berekstensi. class. Bytecode tersebut dapat langsung anda eksekusi ditiap platform dengan menggunakan java virtual machine (JVM) sebagai interpreter terhadap bytecode tersebut.
JVM sendiri adalah sebuah aplikasi yang berjalan diatas sebuah system operasi dan menerjemahkan bytecode program java.

Dengan cara ini, Sebuah program java yang telah dikompilasi akan dapat berjalan diplatform mana saja, asalkan ada JVM disana.
Compiler dan interpreter untuk program java berbentuk java development kit (JDK) yang diproduksi oleh Sun Microsystem. JDK ini dapat didownload gratis dari situs java.sun.com. interpreter untuk program java sendiri sering juga disebut Java Runtime Environment (JRE) dapat didownload juga disitus yang sama. Namun untuk mengeksekusi applet (sebuah bytecode java juga) anda tidak perlu mendownload JRE karena browser yang java enabled telah memiliki JVM sendiri.


F.Library

Selain compiler dan interpreter, bahasa java sendiri memiliki library yang cukup besar yang dapat mempermudah anda dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi, jaringan, suara, database, dan lain-lain.


G.OO (Objeck Oriented )

Pemrograman berorientasi secara gambling adalah tehnik untuk mengorganisir program dan dapat dilakukan dengan hamper smua bahasa pemrograman.
Sedikit perbandingan tambahan dengan bahasa C dan C++, java dapat mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dari bahasa C++ tanpa mengurangi kekuatannya. Di balik kemudahan yang ditawarkan java, luasnya fasilitas library java sendiri membuat seorang programmer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.


H.Memulai Pemrograman Java

Untuk membuat program java, seperti telah disebutkan sebelumnya, anda membutuhkan JDK. Proses instalasi JDK tersebut mudah dan tidak membutuhkan pengetahuan tertentu. Umumnya yang perlu anda lakukan memasukkan path ke direktori JDK anda ke setting path pada sistem operasi anda. Misalkan direktori JDK anda adalah C:\jdkl.4 maka pada windows 98 anda cukup menambahkan baris perintah SET PATH=C:\jdkl.4\bin pada file autoexec.bat anda. Untuk windows NT/2000/XP anda cukup menambahkan direktori C:\jdkl.4\bin pada pariabel path disystem environment.
Untuk Linux, tambahkan baris perintah SET CLASSPATH=(direktori jdk anda) ke file profile anda. Untuk mencoba JDK, ketikkan perintah java dan javac pada shell prompt (atau DOS command prompt). Untuk kemudahan berbagai fasilitas tambahan anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa java seperti visual café dari Symantec atau JBuilder dari Borland.
Urutan langkah-langkah untuk membuat sebuah program java sederhana adalah:
      1.    Membuat source code program dengan editor teks apapun. Ingat, file tersebut harus berekstensi . java dan case sensitive.
      2.    Mengkompile source code dengan perintah javac. Misalkan, Javac HelloWorld.java. jika berhasil, hasilnya adalah file bytecode berakhiaran .class.
      3.    Mengeksekusi bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hasil kompilasi tanpa ekstensi .class. contoh: Java HelloWorld.  


I.Source code

  Berikut kode untuk HelloWorld.Java:

            Public class HelloWorld                                                                                                                                              {                                                                                                                                                  public static void main(String[] args)                                                                                             {                                                                                                                                System.out.println(“Apa Kabar Dunia”);                                                                     }                                                                                                                                }
               

Perlu di ingat bahasa java bersifat case sensitive, sehingga harus diperhatikan huruf besar dan kecilnya. Penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga bisa saja penulisan source code tersebut dalam satu baris asalkan tidak lupa dengan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tertentu.


J.Kompilasi

Setelah itu simpan/save syntax dengan nama HelloWorld.java (sesuai dengan nama class). kemudian kita akan meng-compile syntax program tersebut dengan perintah:


prompt>
javac HelloWorld.java



K.Sintaks Program

Sekarang kita akan mencoba membahas elemen-elemen dalam source code tersebut.
Pada listing terdapat pernyataan public class . pernyataan ini adalah pembuka sebuah kelas. Kelas sendiri diciptakan untuk menciptakan objek. Kata public didepannya berfungsi agar kelas tersebut dapat diakses oleh semua program lain.
Kemudian kita menemukan baris pernyataan public static void main (String[] args). ini merupakan pembuka semua metode. Metode sendiri adalah kumpulan pernyataan untuk melakukan suatu tugas tertentu dalam kelas. Dalam sebuah aplikasi harus ada metode main yang akan dieksekusi pertama kali saat program dieksekusikan. Namun nantinya anda akan menemukan bentuk lain seperti private dan protect.
Pada listing terdapat kata static pada pernyataan pembuka metode main. Sehingga dapat dikatakan berdiri sendiri dan tidak terikat dengan objek. Dalam metode main dalam aplikasi, parameternya selalu String[] args, dimana args hanyalah sebuah nama dari sebuah objek array dari String. Sementara anda tidak perlui mengerti mengenai parameter tersebut, cukup diingat bahwa metode main harus selalu demikian.
Kemudian didalam metode pada listing tersebut, anda tentu saja dapat meletakan lebih dari satu pernyataan dalam sebuah metode. Setiap pernyataan dalam sebuah metode dipisahkan titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada listing memanggil sebuah metode lain yaitu println. Untuk memanggil sebuah metode diperlukan tiga komponen yaitu:
      1.    Objek yang ingin kita pakai. System .out
      2.    Nama metode yang ingin kita pakai. Println
      3.    Sepasang tanda kurung yang berisi informasi tambahan yang diperlukan oleh metode yang dipanggil, yaitu parameter.
Dalam listing, pernyataan System.out.println(“Apa Kabar Dunia”); berarti carilah objek out dalam kelas System kemudian panggil metode println dari objek out dengan parameter berupa string “Apa Kabar Dunia?”.


L.Eksekusi

Setelah selesai membahas syntax java dalam listing tersebut, selanjutnya kita akan mencoba mengeksekusikan program ini. Ketik perintah java HelloWorld pada prompt dan pesan Apa Kabar Dunia? Akan tampil pada layar:


prompt >
java HelloWorld



Tipe Data Primitive dan String

Pada java terdapat tipe data sederhana dan tipe data array. Tipe data sederhana terdiri dari: tipe boolean, dan tipe numeric yang terdiri dari byte, short, int, long, char, float dan double. Boolean adalah tipe data untuk besaran logika, hanya memiliki dua kemungkinan nilai, true atau false.

Java API juga menyediakan kelas-kelas untuk tipe-tipe variable tersebut, yaitu byte, short, integer, long, character, float, double. Namun dapat juga secara eksplisitdi-impor dari package java.long.
Java menyediakan String untuk menampung data yang lebih dari satu karakter. Penggunaan String, tidak beda dengan penggunaan data yang lain.
Array adalah kumpulan variable dengan tipe sejenis dengan nama yang sama. Berikut adalah contoh pendeklarasian dari variable dengan tipe “array of int”;
            int vector [];
indek array dimulai dari 0 (nol). Contoh berikut untuk mengalokasikan 5 buah integer ke dalam array:
            vector = new int [5];
selanjutnya untuk mengisi elemen-elemen array adalah sebagai berikut:
            vector [0] = 4;
            vector [1] =3;
            vector [2] = 7;
            vector [3] = 5;
            vector [4] = 4;
anda juga bisa menginisialsasi array yang sama dengan contoh di atas dengan cara yang lebih singkat sebagai berikut:
            int vector [] = {4, 3, 7, 5, 4};




Operator dalam java

Java memiliki 44 operator, yang terbagi dalam 4 jenis dasar, yaitu:
                            

            1. Operator Numerik

Digunakan untuk proses matematis (aljabar), operan harus berupa tipe numeric. Operator ini tidak dapat digunakan untuk tipe boolean, tetapi dapat digunakan untuk tipe char, karena chart adalah anggota himpunan int.



Operator         Hasil
               +                        Penjumlahan
               +=                      Persamaan Penjumlahan
     -                           Pengurangan (juga untuk unary minus)
   -=                       Persamaan Pengurangan
   *                         Perkalian
    *=                      Persamaan Perkalian
    /                         Pembagian
    /=                       Persamaan Pembagian
   %                        Modulus (sisa pembagian)
   %=                      Persamaan Modulus
    ++                      Penambahan
     -­­-                       Pengurangan
________________________________________________________________



     2.  Operator Bitwise

                 Tipe numerik integer, long, int, short, char, dan byte memiliki kumpulan operator tambahan yang dapat memodifikasi dan memeriksa bit-bit yang menyusun nilainya.



Operator          Hasil
              ~                        unary NOT
              &                        AND
               |                         OR
               ^                        exclusive OR
              >>                      shift kanan
               >>>                   shift kanan, isi dengan nol
              <<                      shift kiri
               &=                     pernyataan AND
               |=                       pernyataan OR
               ^=                      pernyataan ekclusive OR
               >>=                   pernyataan shift kanan
               >>>=                 pernyataan shift kanan, isi dengan nol
               <<=                   pernyataan shift kiri
            _______________________________________________________________



3.    Operator Relasi

                 Untuk membandingkan dua buah nilai, java memiliki kumpulan operator relasi berikut ini untuk menyatakan kesamaan dan urutan.


Operator        Hasil
                ==                    sama dengan
                |=                     tidak sama dengan
                >                      lebih dari
                <                      kurang dari
                >=                    lebih dari atau sama dengan
                <=                    kurang dari atau sama dengan
            ________________________________________________________________



4.    Operator Logika

                 Operator logika boolean pada table dibawah ini bekerja hanya pada operan boolean.  Semua operator ini mengkombinasikan dua besaran boolean untuk menghasilkan besaran boolean.


Operator        Hasil
             &                     logika AND
             |                       logika OR
             ^                      logika XOR
             ||                      hubungan-singkat OR
            &&                    hubungan-singkat AND
             !                       hubungan-singkat NOT
             &=                   pernyataan AND
             |=                     pernyataan OR
             ^=                    pernyataan XOR
             ==                    sama dengan
              !=                    tidak sama dengan
 ?:                     operator ternary if-then-else
                          




Contoh syntax dengan menggunakan tipe data
                     
             A.  Tipe data

class contohinteger
          {
                      public static void main (String args[] )
                      {
                      int nilai ;

                      nilai = 95 ;

                      System.out.println (“Nilai :“ + nilai”) ;
                       }
           }

                        

            B. String 

class contohstring
         {
                    public static void main (String args[] )
                    {
                    String nama ;

                    nama = “STIKOM BALI” ;

                    System.out.println (“Nama :“ + nama);
                    }
          }




           Contoh Penggunaan Operator

class contohOpl
        {
                    public static void main (String args[] )
                   {
                   String nama,nim;
                   int nilai

                   nama =  “Lutung Kesarung” ;
                   nim =  “040010350” ;

                   nilai =  95 ;
                   nilai+= 5 ;

                               System.out.println (“ ==============”) ;
                               System.out.println (“Nama  :  “  +  nama ) ;
                               System.out.println (“NIM     :  “  +  nim   ) ;
                               System.out.println (“Nilai    :  “  +  nilai  ) ;
                               System.out.println (“=============”) ;

                               }
           }


Dari contoh diatas, nilai yang akan ditampilkan akan berubah menjadi 100. Karena nilai 95 mengalami penambahan nilai +=5 atau sam dengan operasi: nilai= nilai+5. Dan output yang akan di tampilkan dapat anda lihat dibawah :

          
           =================================
           Nama  :  Lutung Kesarung
           NIM     :  040010350
           Nilai                            :  100
           =================================

                                                                                                                                                                                                                                               
Lanjut Gan >>