Selasa, 20 Desember 2011

HUKUM MOORE



Grafik yang menunjukkan perkembangan jumlah transistor dalam suatu prosessor, terhadap waktu.
     Hukum Moore adalah salah satu hukum yang terkenal dalam industri mikroprosesor yang menjelaskan tingkat pertumbuhan kecepatan mikroprosesor. Diperkenalkan oleh Gordon E. Moore salah satu pendiri Intel. Ia mengatakan bahwa pertumbuhan kecepatan perhitungan mikroprosesor mengikuti rumusan eksponensial.
Perkembangan teknologi dewasa ini menjadikan HUKUM MOORE semakin tidak Relevan untuk meramalkan kecepatan mikroprossesor. Hukum Moore, yang menyatakan bahwa kompleksitas sebuah mikroprosesor akan meningkat dua kali lipat tiap 18 bulan sekali, sekarang semakin dekat kearah jenuh. Hal ini semakin nyata setelah Intel secara resmi memulai arsitektur prosesornya dengan code Nehalem. Prosesor ini akan mulai menerapkan teknik teknologi nano dalam pembuatan prosesor, sehingga tidak membutuhkan waktu selama 18 bulan untuk melihat peningkatan kompleksitas tapi akan lebih singkat.

   Akan tetapi, saat ini Hukum Moore telah dijadikan target dan tujuan yang ingin dicapai dalam pengembangan industri semikonduktor. Peneliti di industri prosesor berusaha mewujudkan Hukum Moore dalam pengembangan produknya. Industri material semikonduktor terus menyempurnakan produk material yang dibutuhkan prosesor, dan aplikasi komputer dan telekomunikasi berkembang pesat seiring dikeluarkannya prosesor yang memiliki kemampuan semakin tinggi.
Secara tidak langsung, Hukum Moore menjadi umpan balik (feedback) untuk mengendalikan laju peningkatan jumlah transistor pada keping IC. Hukum Moore telah mengendalikan semua orang untuk bersama-sama mengembangkan prosesor. Terlepas dari alasan-alasan tersebut, pemakaian transistor akan terus meningkat hingga ditemukannya teknologi yang lebih efektif dan efisien yang akan menggeser mekanisme kerja transistor sebagaimana yang dipakai saat ini.
Meskipun Gordon Moore bukanlah penemu transistor atau IC, gagasan yang dilontarkannya mengenai kecenderungan peningkatan pemakaian jumlah transistor pada IC telah memberikan sumbangan besar bagi kemajuan teknologi informasi. Tanpa jasa Moore mungkin kita belum bisa menikmati komputer berkecepatan 3GHz seperti saat ini.

Itu tidak lama yang lalu bahwa prediksi malapetaka dan kesuraman Intel terjepit antara batu dan tempat keras. Arsitektur NetBurst perusahaan tidak skala dan perusahaan arsitektur Itanium tidak menjual, tampak seolah-olah untuk pertama kalinya dalam sejarah, Hukum Moore adalah dalam bahaya serius.Semua itu berubah, sampai batas tertentu pada iseng, dengan Israel yang dikembangkan prosesor mobile. Arsitektur Core mobile akhirnya akan menggantikan seluruh keluarga Intel NetBurst, dan perusahaan bernazar siklus pengembangan baru yang akan menjamin perusahaan tidak pernah menyembuyikan dirinya dalam cara yang sama lagi: Intel "tik-tok" filsafat. Perusahaan akan mengganti simpul prosesor setiap dua tahun, diikuti dengan desain arsitektur baru setiap tahun pada node prosesor matang.Kepala arsitek Nehalem, Glen Hinton, mengatakan DailyTech filosofi di balik 731 juta transistor, Nehalem 45nm merupakan perpanjangan dari pendekatan untuk Penryn 65nm dan Core 2 Duo: sebuah, universal yang inti desain yang kuat yang akan skala dari ponsel ke aplikasi server."Kami ingin membangun kinerja tertinggi per inti yang dapat digunakan di notebook semua cara untuk server high end," ujar Hinton.Perang GHz telah resmi bergeser ke Perang Multi-core. Namun, alih-alih memerangi pitch-pertempuran perusahaan akan fokus pada perbaikan yang memungkinkan sistem multi-core untuk skala tanpa forking pohon pembangunan. Hinton menekankan perusahaan menghabiskan sumber daya yang luas meningkatkan kinerja tunggal-benang, misalnya.Sebuah memory controller terintegrasi dan QuickPath antarmuka baru mungkin akan mencuri pusat perhatian untuk ini-benang tunggal perbaikan baru, tapi tunggu, masih ada lagi.Hyper-Threading akan membuat kembali lama ditunggu dengan Nehalem, namun Hinton klaim simetris multi-threading adalah jauh dari Hyper-Threading ditemukan di NetBurst. Nehalem akan memungkinkan sistem operasi untuk listrik dinamis bawah benang - jadi sementara prosesor delapan core Nehalem akan muncul sebagai 16 core logis untuk sistem operasi, benang ini dapat dimatikan on-demand.Seperti arsitektur AMD Barcelona, ​​Nehalem akan memungkinkan sistem operasi untuk listrik dinamis dan tidur komponen lain dari prosesor termasuk core individu dan komponen cache.Sembilan bulan kemudian, sepertinya Nehalem adalah mengikuti jejak yang sama pada Penryn.Hari ini CEO Intel Paul Otellini mengumumkan perusahaan rekaman-keluar prosesor tiga minggu lalu. Otellini menunjukkan mesin Windows XP berjalan Nehalem, dan klaim prosesor boot Mac OS X juga.Baik Otellini maupun Hinton akan petunjuk ketika Nehalem akan melihat tanggal kapal pertama, meskipun Penryn dijadwalkan untuk kapal hampir persis 11 bulan dengan tanggal tape-out pengumuman. Nehalem berpotensi peluncuran di akhir musim panas 2008 - 11 bulan dari tape awal keluar tanggal.

Referensi : http://www.dailytech.com/Nehalem+Tapedout+and+Running+Windows/article8927.htm
                 http://id.wikipedia.org/wiki/Hukum_Moore

Selasa, 07 Juni 2011

===Looping dengan Java (LOOPING atau PENGULANGAN)===

+++++Berikut ini adalah contoh program pengulangan atau yang biasa disebut "Looping"+++++
***CONTOH-CONTOH CODING LOOPING***

import javax.swing.*;
public class tugas_bintang1 {
public static void main(String[] args) {
int x;
x=Integer.valueOf(JOptionPane.showInputDialog("Masukkan banyak bintang?"));
for (int i=1;i<=x;i++){
for (int j=1;j<=x;j++){
if(j<=i)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}

Setelah dirunning, maka Akan muncul output sebagai berikut :
Masukkan Banyak Bintang ???
misalnya anda memasukkan 4 bintang,lalu klik OK. Maka yang akan keluar adalah:
run:
*
**
***
****
BUILD SUCCESSFUL (total time: 8 seconds)


Mari kita mencoba dengan tampilan berbeda:

import javax.swing.*;
public class tugas_bintang2 {
public static void main(String[] args) {
int baris,x,y;
baris=Integer.valueOf(JOptionPane.showInputDialog("Masukkan banyak bintang?"));
x=baris+1;
for (int i=1;i<=baris;i++){
for (int j=1;j<=baris;j++){
y=i+j;
if(y<=x)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}

Setelah dirunning, maka Akan muncul output sebagai berikut :
Masukkan Banyak Bintang ???
misalnya anda memasukkan 4 bintang,lalu klik OK. Maka yang akan keluar adalah:
run:
****
***
**
*
BUILD SUCCESSFUL (total time: 8 seconds)

Mari kita mencoba dengan tampilan berbeda:

import javax.swing.*;
public class tugas_bintang3 {
public static void main(String[] args) {
int baris,x,y;
baris=Integer.valueOf(JOptionPane.showInputDialog("Masukkan banyak bintang?"));
x=baris+1;
for (int i=1;i<=baris;i++){
for (int j=1;j<=baris;j++){
y=i+j;
if(x<=y)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}

Setelah dirunning, maka Akan muncul output sebagai berikut :
Masukkan Banyak Bintang ???
misalnya anda memasukkan 4 bintang,lalu klik OK. Maka yang akan keluar adalah:
run:
*
**
***
****
BUILD SUCCESSFUL (total time: 8 seconds)

Mari kita mencoba dengan tampilan berbeda:

import javax.swing.*;
public class tugas_bintang4 {
public static void main(String[] args) {
int baris;
baris=Integer.valueOf(JOptionPane.showInputDialog("Masukkan banyak bintang?"));
for (int i=1;i<=baris;i++){
for (int j=1;j<=baris;j++){
if(i<=j)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}

Setelah dirunning, maka Akan muncul output sebagai berikut :
Masukkan Banyak Bintang ???
misalnya anda memasukkan 4 bintang,lalu klik OK. Maka yang akan keluar adalah:
run:
****
***
**
*
BUILD SUCCESSFUL (total time: 8 seconds)

Mari kita mencoba dengan tampilan berbeda:

public class tugas_bintang5 {
public static void main(String[] args) {
int baris,m;
for (int i=1;i<=7;i++){
if(i<5){
for (int j=1;j<=4;j++){
if(j<=i)
System.out.print("*");
else
System.out.print(" ");
}
}else
{
for (int j=1;j<=4;j++){
m=i+j;
if(m<=8)
System.out.print("*");
else
System.out.print(" ");
}
}
System.out.println();
}
}
}

Setelah dirunning, maka Akan muncul input-an sebagai berikut :
run:
*
**
***
****
***
**
*
BUILD SUCCESSFUL (total time: 8 seconds)


Mari kita mencoba dengan tampilan berbeda:

public class tugas_bintang6 {
public static void main(String[] args) {
int baris,m,x,y,n;
for (int i=1;i<=7;i++){
if(i<4){
for (int j=1;j<=7;j++){
if(j<=4){
m=i+j;
if(5<=m)
System.out.print("*");
else
System.out.print(" ");
}else
{
x=j-3;
if(x<=i)
System.out.print("*");
else
System.out.print(" ");
}
}
}
else
for (int j=1;j<=7;j++){
if(j<=4){
y=i-3;
if(y<=j)
System.out.print("*");
else
System.out.print(" ");
}
else{
x=j-3;
y=i-3;
n=x+y;
if(n<=5)
System.out.print("*");
else
System.out.print(" ");
}
}
System.out.println();
}
}
}

Setelah dirunning, maka Akan muncul input-an sebagai berikut :
run:
*
***
*****
*******
*****
***
*
BUILD SUCCESSFUL (total time: 8 seconds)

Selamat mencoba…,,, Semoga Sukses ! ! ! ! .
Niih Looping JAVA dengan NETBEANS 6.5.1 !!!!

TENTANG ARRAY (APA ITU 'ARRAY' ! ! !)

***Array adalah sederetan data atau objek yang sejenis yang diases menggunakan indeks
Indeks dimulai dari 0 sampai n-1, dimana n adalah jumlah elemen
Syntax definisi adalah :
TipeData [] nama_array=new TipeData[n];
Contoh :
int [] b=new int[5];
artinya b adalah array of int dengan cacah maksimal elemen 5


Array dibagi menjadi 2, yaitu array 1 dimensi dan array 2 dimensi

+++Array 1 dimensi+++

Array berupa variabel atau berupa konstanta,array juga dapat berupa array dari int, long, float, String atau bahkan objek

Definisi array 1 dimensi untuk konstanta :
int [ ] b ={ 12,10,5,3} ;


Contoh Stringnya:
String [ ] s ={“Ani”,”Rina”,’Yeni”,”Ferdi”}

Contoh array1 dimensi
public class Array1Dimensi {
public static void main (String[] args){
int[] um={4,5,2,6};
String[] nm={"Ani","Rudi","Fina","Fifi"};
System.out.println("NO NAMA UMUR");
for(int i=0;i<4;i++)
System.out.println((i+1)+" "+nm[i]+" "+um[i]);
}
}

+++Array 2 dimensi+++

Array 2 dimensi didefinsikan dengan :
TipeData [ ][ ] namaArray=new TipeData[n][m]
mendefinisikan array 2 dim n baris m kolom

Contoh :
int [][]b= new int[3][4];
Mendifinisikan array int 3 baris 4 kolom


Contoh : constanta array String 2 dimensi
String[][] Kata={ {"ONE", "SATU"},{"COW", "SAPI"},{"RUN", "LARI"},{"RED","MERAH"},{"MAN", "ORANG"}};

Menu Utama&Mencari Garis! ! ! !

***Menu Utama***



import java.util.Scanner;
public class menu{
public static void main (String [] args){
Scanner input= new Scanner(System.in);
garis();
System.out.println(" MENU PILIHAN ");
garis();
System.out.println("1. Menghitung rata - rata");
System.out.println("");
System.out.println("2. Menghitung bilangan kelipatan 4");
System.out.println("");
garis();
System.out.println("Anda pilih nomor :");
int pil=input.nextInt();
switch (pil){
case 1:{
System.out.println(" Menghitung rata - rata");
System.out.println("Masukan jumlah data :");

int n=input.nextInt();
int[]data=new int[10];
for(int i=1;i<=n;i++){ System.out.println("Data ke"+i+"="); data[i]=input.nextInt(); } int jum=0; for(int i=1;i<=n;i++){ jum=jum+data[i]; } System.out.println("Jumlah =" +jum); int rata=jum/n; System.out.println("Rata rata =" +rata); break; } case 2:{ System.out.println("Menghitung keliapatan 4"); System.out.println("Dari ="); int nilai_awal=input.nextInt(); System.out.println("Sampai ="); int nilai_akhir=input.nextInt(); for (int i=nilai_awal; i<=nilai_akhir;i++){ if (i%4==0){ System.out.println(i); } } break; } default:System.exit(0); }} static void garis(){ System.out.println("--------------------------"); } } ***Mencari garis*** public class garis{ public static void main (String [] args){ garis(); System.out.println(" MENU UTAMA"); garis(); System.out.println("1. Luas segitiga"); System.out.println("2. Luas lingkaran"); garis();} static void garis(){ System.out.println("------------------"); } } Output nya :



Menghitung Nilai MHS dan Pengulangan

import java.util.Scanner;
public class Baru {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        garis();
        System.out.println("            MENU PILIHAN                  ");
        garis();
        System.out.println("1. Menhitung Nilai Mahasiswa");
        System.out.println("");
        System.out.println("2. Exit");
        garis();
        System.out.println("");
        System.out.print("Anda pilih no   :");
        int pilih=input.nextInt();

        switch(pilih){
            case 1:{
               
                int[] npm=new int[20];
                String[] nama=new String[20];
                String[] jur=new String[20];
                String[] mk=new String[20];
                int[] n_tgas=new int[20];
                int[] n_uts=new int[20];
                int[] n_uas=new int[20];


                garis();
                System.out.println("    MENGHITUNG NILAI MAHASISWA");
                garis();
                System.out.println("");
                System.out.print("Masukan jumlah data ="); int n=input.nextInt();

                for(int i=1;i<=n;i++){
                    System.out.println("Data ke"+i +":");
                    System.out.print("NPM           :"); npm[i]=input.nextInt();
                    System.out.print("Nama          :"); nama[i]=input.next();
                    System.out.print("Jurusan       :"); jur[i]=input.next();
                    System.out.print("Mata Kuliah   :"); mk[i]=input.next();
                    System.out.print("Nilai tugas   :"); n_tgas[i]=input.nextInt();
                    System.out.print("Nilai UTS     :"); n_uts[i]=input.nextInt();
                    System.out.print("Nilai UAS     :"); n_uas[i]=input.nextInt();
                    double rata=(n_tgas[i]+n_uts[i]+n_uas[i])/3;
                    System.out.println("Nilai rata-rata ="+rata);

                }
                break;
                }
        default:System.exit(0);
        }
        }
static void garis(){
        System.out.println("==========================================");
    }
}


Outputnya :
run:
==========================================
            MENU PILIHAN                 
==========================================
1. Menhitung Nilai Mahasiswa

2. Exit
==========================================

Anda pilih no   :1
==========================================
    MENGHITUNG NILAI MAHASISWA
==========================================

Masukan jumlah data =2
Data ke1:
NPM           :432
Nama          :ajeng
Jurusan       :ti
Mata Kuliah   :pm2
Nilai tugas   :80
Nilai UTS     :70
Nilai UAS     :87
Nilai rata-rata =79.0
Data ke2:
NPM           :434
Nama          :ina
Jurusan       :ti
Mata Kuliah   :pm1
Nilai tugas   :70
Nilai UTS     :80
Nilai UAS     :70
Nilai rata-rata =73.0
BUILD SUCCESSFUL (total time: 1 minute 22 seconds)





public class Hitung {
    public static void main(String[] args){
        int[] data1={0,1,2,3,4,5};
        int[] data2={0,1,2,3,4,5};
        int i,j,jum;

        System.out.println("+ 0 1 2 3 4 5");
        System.out.println("-----------------");
            for (i=0;i<=5;i++){
                System.out.print(i);

            for(j=0;j<=5;j++){
                jum=data1[i]+data2[j];
                System.out.print(" "+jum);
            }
            System.out.println("");

    }

    }
}

Outputnya adalah :

run:
+ 0 1 2 3 4 5
-----------------
0 0 1 2 3 4 5
1 1 2 3 4 5 6
2 2 3 4 5 6 7
3 3 4 5 6 7 8
4 4 5 6 7 8 9
5 5 6 7 8 9 10
BUILD SUCCESSFUL (total time: 6 seconds)

yntaks Menggunakan Switch (pilih) dan Pengulangan

public class Pemrogaman {
    public static void main(String[] args){
        String kal1="STMIK BANI SHALEH";
        String kal2="Pemrogaman 2";

        int i,j;
        for(i=1;i<=3;i++){
            System.out.println("");
            System.out.println(kal1);

            for(j=1;j<=3;j++){
                System.out.println(kal2);
            }
        }
    }

}


Outputnya seperti dibawah ini :

run:

STMIK BANI SHALEH
Pemrogaman 2
Pemrogaman 2
Pemrogaman 2

STMIK BANI SHALEH
Pemrogaman 2
Pemrogaman 2
Pemrogaman 2

STMIK BANI SHALEH
Pemrogaman 2
Pemrogaman 2
Pemrogaman 2
BUILD SUCCESSFUL (total time: 23 seconds)





import java.util.Scanner;
public class SwitchPilihan {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        garis();
        System.out.println("        MENU PILIHAN           ");
        garis();
        System.out.println("1. Menghitung nilai rata-rata  ");
        System.out.println("");
        System.out.println("2. Menghitung bilangan kelipatan 4  ");
        System.out.println("");
        System.out.println("3. Keluar");
        garis();
        System.out.print("Anda pilih nomer :");
       
        int pilih=input.nextInt();

        switch (pilih){
            case 1: {
                System.out.println("Menghitung nilai rata-rata");
                System.out.println("");
                System.out.print("Masukan jumlah data =");
                int n=input.nextInt(); int[] data=new int[10];
                for(int i=1;i<=n;i++){
                    System.out.print("Data ke"+i +"=");
                    data[i]=input.nextInt();
                }
                int jum=0;
                for(int i=1;i<=n;i++){
                    jum=jum +data[i];
                }
                System.out.println("Jumlah   ="+jum);
                int rata=jum/n;
                System.out.println("Rata-rata ="+rata);
                break;
            }

            case 2: {
                System.out.println("Menghitung kelipatan 4");
                System.out.println("");
                System.out.print("Dari   =");
                int nilai_awal=input.nextInt();
                System.out.print("Sampai =");
                int nilai_akhir=input.nextInt();
                    for(int i=nilai_awal;i<=nilai_akhir;i++){
                        if(i%4==0){
                          
                            System.out.println(i);
                        }
                    }
                break;
            }

            default:System.exit(0);
        }
    }
    static void garis(){
        System.out.println("------------------------------------");
    }
    }

Output yang keluar akan seperti dibawah ini !!
run:
------------------------------------
        MENU PILIHAN          
------------------------------------
1. Menghitung nilai rata-rata 

2. Menghitung bilangan kelipatan 4 

3. Keluar
------------------------------------
Anda pilih nomer :2
Menghitung kelipatan 4

Dari   =10
Sampai =20
12
16
20
BUILD SUCCESSFUL (total time: 1 minute 45 seconds)

Rabu, 30 Maret 2011

import.java.until.scanner;
public static void main(string [] args){
Scanner input=newScanner(System.in);
int n;
String[]data=newString[10];
System.out.print("Masukan jumlah data=");
n=input.nextInt();
For(int i=1;i<n;i++){
   System.out.print("data ke"+ii"=");
data[i]=input.next();
}
String gabung="";
for (int i=1;i<n;i++){
gabung=gabung+data[i];
}
System.out.print("hasil="+gabung);
}
}

Memulai Belajar Java

Untuk memulai belajar java, siapkan software berikut ini : JAVA SDK (Software Development KIT) dan Netbeans IDE. JAVA SDK adalah software java compiler beserta library yang dibutuhkan. Jika anda pernah belajar C/C++ maka library ini analoginya seperti file - file io.h, conio.h , system.h dst..

Sedangkan Netbeans kita analogikan sebagai TURBO C/C++ yang memudahkan kita dalam mengorganisasikan file - file yang berhubungan dalam pengembangan aplikasi.

Software harus diinstall berurutan, terutama jika dikomputer belum terinstall java JRE. Urutan Install adalah :
1. JAVA SDK
2. NetBeans IDE

Ikuti langkah proses install seperti biasa :).Saya menggunakan Java 6 dan Netbeans 6.5.

PERHATIAN : Jika anda menggunakan komputer tipe lama seperti PIV generasi 1 dan memori kurang dari 512 MB penggunaan Netbeans terbaru tidak disarankan. Sebaiknya gunakan IDE lain yang lebih ringan
Atau gunakan TextEditor biasa seperti Notepad++ atau CrimsonEditor dengan konsekuensi pengorganisasian file referensi (library) menjadi lebih sulit.






Welcome Screen Netbeans. Dari Sini, klik file new Project.















Di sini kita disajikan type project. untuk saat ini kita pilih java application













Berikan nama pada aplikasi anda. misal Lat1













Netbean akan menyiapkan struktur untuk pengembangan, kita akan disajikan source code dari file Main.java. Disini kita bisa memulai pembelajaran java dalam konteks belajar fitur bahasa java seperti percabangan, perulangan,class dan array.

Hal yang penting untuk dapat kita gunakan dikemudian hari adalah, pada saat kita membuat program dengan java , program kita akan dapat digunakan untuk lingkungan yang lebih luas.
Lingkungan yang lebih luas yang dimaksud adalah, program akan dapat berlaku sebagai mesin/logika/library dari aplikasi GUI/WEB/CONSOLE ataupun Mobile, jika memang library yang digunakan mendukung.

Jadi tidak seperti kita membuat program dengan VisualBasic yang hasilnya pasti hanya jalan di Windows. Ataupun membuat program dengan Turbo C/C++ yang hasilnya kita arahkan hanya jalan di DOS. Memprogram dengan java kita dapat artikan sebagaimana kita membuat Custom Control(OCX File/DLL File) di VisualBasic. Sehingga program(file JAR) dapat diikut sertakan dalam pengembangan aplikasi lainnya yang target Lingkungannya berbeda.

Mencari Luas Lingkaran

public class Main {



/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

//Luas lingkaran

int jari = 10;

double pi = 3.14;

double luaslingkaran = (jari*jari)*pi;

System.out.println("luas lingkaran adalah : " + luaslingkaran);



}

}

Dan hasilnya kalo sukses akan seperti di bawah ini :

run:

luas lingkaran adalah : 314.0

BUILD SUCCESSFUL (total time: 0 seconds)

Selasa, 01 Maret 2011

tugas pertemuan ke 3

if-else
Bentuk umumnya :

if (boolean-expression) statement1; [else statement2;]

Klausa else boleh ditulis dan boleh juga tidak ditulis. Setiap statement berupa kumpulan pernyataan yang dibatasi dengan kurung kurawal.

            Dibawah ini contoh pemakaiannya :
            int dataTersedia;
            //...
            if (dataTersedia > 0){
 ProsesData();
              dataTersedia -= n;
            } else {
             TungguDataBerikut();
                        
 Contoh coding
public static void main(String[] args) {
        // TODO code application logic here
         int point;
         point=80;
            System.out.println("===================");
            System.out.println("Nama  : Rani Wiguna");
            System.out.println("Point :"+ point);
            if(point >= 90)
                System.out.println(" Ket : dapat medali EMAS");
            else if  (point >= 80)
                System.out.println("Ket : dapat medali PERAK");
            else if (point >= 70)
                System.out.println("Ket : dapat medali PERUNGGU");
            else
                System.out.println("Ket : tidak dapat medali");
                System.out.println("===========================");
    }


Maka output yang akan keluar seperti dibawah ini :

===================
Nama  : Rani Wiguna
Point :80
dapat medali PERAK
===========================

  •   Break
    Proses break memerintahkan runtime untuk menjalankan program di belakang blok tertentu. Untuk dapat ditunjuk, sebuah blok diberi nama, dan java memiliki bentuk label untuk menanyakan 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 dieksekusi”);
                   }
                  System.out.println(“Ini juga tidak akan pernah di eksekusi”);
                 }
                }
             }

Catatan, break juga dapat digunakan tanpa label untuk keluar dari suatu loop (pengulangan).

  •  Switch-case

          Bentuk umumnya :

          switch (expression){
                case value1:
                    statement1;
                    break;
                case value2:
                   statement2;
                   break;
                case valueN:
                   statementN;
                   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 ke case selanjutnya

Contoh coding

public static void main(String[] args) {
        // TODO code application logic here
        int point;
       point=90;
            System.out.println("========================");
            System.out.println("Nama : Meri ");
            System.out.println("Point :"+ point);
            switch(point){
                case 90:
                    System.out.println("Ket : Dapat medali emas");
                    break;
                case 80:
                    System.out.println("Ket : Dapat medali perak");
                case 70:
                    System.out.println("Ket : Dapat medali perunggu");
                    break;
                    default:

                    System.out.println("Ket : tidak dapat medali");
                    }
            System.out.println("========================");
}

 Maka output yang akan keluar adalah seperti di bawah ini :
========================
Nama : Meri
Point :90
Ket : Dapat medali emas
========================

  • Return
          Return menyebabkan eksekusi menyambang kembali ke pemanggil metode

          Contoh penggunaan return berikut menyebakan eksekusi kembali ke pemanggilnya

class ReturnDemo {
            public static void main(String args[]){
                        boolean t=true;
                        System.out.println(“Sebelum return”);
                        If (t)
                          return;
                        System.out.println(“Pernyataan tidak akan di eksekusi”);
            }
}

Jumat, 18 Februari 2011

Sejarah Netbean

Sejarah Netbeans

NetBeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans.
Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut ‘modul’. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinetraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang dibangun dengan modul-modul dapat dikembangkan dengan menambahkan modul-modul baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful.

Sejarah

Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun 1999. Sun kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus berkembang.

Platform NetBeans

Platform NetBeans adalah framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi desktop. Ketika aplikasi berbasis platform NetBeans dijalankan, kelas Main dari platform dieksekusi. Modul-modul yang tersedia ditempatkan di sebuah registry di dalam memori, dan tugas startup modul dijalankan. Secara umum, kode modul dimuatkan ke dalam memori hanya ketika ia diperlukan.
Aplikasi dapat menginstal modul secara dinamis. Aplikasi dapat memasukkan modul Update Center untuk mengijinkan pengguna aplikasi men-download digitally-signed upgrade dan fitur-fitur baru secara langsung ke dalam aplikasi yang berjalan. Penginstalan kembali sebuah upgrade atau rilis baru tidak memaksa pengguna untuk men-download keseluruhan aplikasi lagi.
Platform NetBeans menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi. Fitur-fitur yang disediakan oleh platform NetBeans:
  • Manajemen antarmuka (misal: menu & toolbar)
  • Manajemen pengaturan pengguna
  • Manajemen penyimpanan (menyimpan dan membuka berbagai macam data)
  • Manajemen jendela
  • Wizard framework (mendukung dialog langkah demi langkah)

NetBeans IDE

NetBeans IDE adalah IDE open source yang ditulis sepenuhnya dengan bahasa pemrograman Java menggunakan platform NetBeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.
Versi terbaru saat ini adalah NetBeans IDE 5.5.1 yang dirilis Mei 2007 mengembangkan fitur-fitur Java EE yang sudah ada (termasuk Java Persistence support, EJB-3 dan JAX-WS). Sementara paket tambahannya, NetBeans Enterprise Pack mendukung pengembangan aplikasi perusahaan Java EE 5, meliputi alat desain visual SOA, skema XML, web service dan pemodelan UML. NetBeans C/C++ Pack mendukung proyek C/C++.
Modularitas: Semua fungsi IDE disediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang diperlukan dalam pengembangan Java dalam sekali download, memungkinkan pengguna untuk mulai bekerja sesegera mungkin. Modul-modul juga mengijinkan NetBeans untuk bisa dikembangkan. Fitur-fitur baru, seperti dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal modul tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE.

Lisensi

Sejak Juli 2006, NetBeans IDE dilisensikan di bawah Common Development and Distribution License (CDDL), yaitu lisensi yang berbasis Mozilla Public License (MPL).

Paket-Paket Tambahan NetBeans IDE


NetBeans Mobility Pack

NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi yang berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga mencakup PDA, dan lain-lain.
NetBeans Mobility Pack dapat digunakan untuk menulis, menguji, dan debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan dukungan terhadap Mobile Information Device Profile (MIDP) 2.0, Connected Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration (CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk lingkungan pengujian yang lebih kokoh. NetBeans Mobility Pack saat ini tersedia dalam dua klaster yang berbeda, yang satu memuat CDC dan yang lainnya CLDC.

NetBeans Profiler

NetBeans Profiler adalah alat untuk mengoptimalkan aplikasi Java, membantu menemukan kebocoran memori dan mengoptimalkan kecepatan.
Profiler ini berdasarkan sebuah proyek riset Sun Laboratories yang dahulu bernama Jfluid. Riset tersebut mengungkap teknik tertentu yang dapat digunakan untuk menurunkan overhead proses profiling aplikasi Java. Salah satu dari teknik tersebut adalah instrumentas i kode byte dinamis, yang berguna untuk profiling aplikasi Java yang besar. Dengan menggunakan instrumentasi kode byte dinamis dan algoritma-algoritma tambahan, Netbeans Profiler mampu mendapatkan informasi runtime aplikasi yang terlalu besar atau kompleks bagi profiler lain. NetBeans IDE 6.0 akan mendukung Profiling Point yang memungkinkan kita memprofilkan titik yang tepat dari eksekusi dan mengukur waktu eksekusi.

NetBeans C/C++ Pack

NetBeans C/C++ Pack menambahkan dukungan terhadap pengembang C/C++ ke NetBeans IDE 5.5. Paket ini memperbolehkan pengembang menggunakan sekumpulan kompiler dan alat sendiri bersama dengan NetBeans IDE untuk membangun aplikasi native untuk MS Windows, Linux, dan Solaris. Paket ini membuat editor mengenali bahasa C/C++ dan menyediakan project template, browser kelas yang dinamis, dukungan pembuatan file dan fungsionalitas debugger. Para pengembang juga dapat mengembangkan paket tersebut dengan fungsionalitas tambahan mereka sendiri.

NetBeans Enterprise Pack

NetBeans Enterprise Pack memperluas dukungan terhadap pengembangan aplikasi perusahaan dan web service di NetBeans IDE 5.5.
Enterprise Pack ini mengembangkan kemampuan untuk menulis, menguji, dan debug aplikasi dengan arsitektur berorientasi layanan (Service-Oriented Architecture) menggunakan XML, BPEL, dan Java web service. Paket ini menambahkan alat desain visual untuk pemodelan UML, skema XML, dan web service orchestration, juga dukungan untuk web service dengan menggunakan identitas yang aman. Paket ini juga menginstal dan mengkonfigurasi runtime yang diperlukan, termasuk mesin BPEL dan server manajemen identitas yang terintegrasi dengan Sun Java System Application Server.

NetBeans Ruby Pack

Versi NetBeans 6.0 mendatang akan mengijinkan pengembangan IDE menggunakan Ruby dan Jruby, sebagaimana Rails untuk dua implementasi Ruby yang lain. Preview NetBeans Ruby Pack tersedia sejak rilis Milestone 7 NetBeans 6.
Ruby Pack memasukkan fungsionalitas editor seperti:
  • pengeditan dasar
  • pewarnaan sintaks untuk Ruby
  • pelengkapan kode
  • occurence highlighting
  • pop-up dokumentasi yang terintegrasi untuk pemanggilan Ruby API
  • analisis semantik dengan highlighting parameter dan variabel lokal yang tidak terpakai

NetBeans JavaScript Editor

NetBeans JavaScript Editor menyediakan perluasan dukungan terhadap JavaScript dan CSS. Fitur-fiturnya antara lain:
  1. Editor JavaScript
    • syntax highlighting
    • pelengkapan kode untuk objek dan fungsi native
    • semua fitur dalam editor NetBeans
    • pembuatan kerangka kelas JavaScript secara otomatis
    • pembuatan pemanggilan AJAX dari template
  2. Ekstensi editor CSS
    • pelengkapan kode untuk nama-nama style
    • navigasi cepat melalui panel navigator
    • penampilan deklarasi aturan CSS di List View
    • penampilan struktur file di Tree View
    • mengurutkan outline view berdasarkan nama, tipe, atau urutan deklarasi (List & Tree)
    • pembuatan deklarasi aturan (hanya Tree)
    • pemfaktoran kembali sebagian nama rule (hanya Tree)

Lokalisasi

Sejak Januari 2007, paket bahasa Cina yang disederhanakan, Cina tradisional, Jerman, Jepang, Portugal (Brazil) dan Spanyol telah tersedia untuk NetBeans 5.5.1. Sementara itu, paket bahasa Albania, Azerbaijan, Ceska, Belanda, Yunani, Indonesia, Italia, dan Swedia sedang dalam proses pengerjaan.

Referensi

Sejarah Java

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).


 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.

 Kelebihan

  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis 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

  • 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++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

 Contoh Kode Program Sederhana Dalam Java

Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {
   public static void main(String args[]) {
       System.out.println("Hello, world!");
   }
}

Tahap Kompilasi Java

  1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
  2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
  3. Muat. Pemuat kelas memuat bytecodes ke memori.
  4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
  5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’

 Integrated Development Environment

Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain:
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.[rujukan?]
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.