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);
}
}