Global

Global

Senin, 04 April 2011

Sequential search dan Binary search

1.SEARCHING IN COLLECTIONS
Artikel berikut ini akan membahas penerapan algoritma pencarian yang berbeda di Jawa untuk menemukan elemen dalam koleksi.

Pencarian dalam koleksi ini dilakukan untuk menjawab pertanyaan:

     *Apakah unsur yang ada dalam koleksi
     * Dapatkan elemen dari koleksi
     *Menghapus elemen dari koleksi

Koleksi dalam artikel ini digunakan dalam arti luas dan bukan dalam arti Jawa ketat. Untuk pengumpulan contoh kita melihat array saya akan atau daftar.
2. SEQUENTIAL SEARCH
2.1 Overvieew
Sequential search adalah pendekatan sederhana. Mengingat koleksi Anda mencoba setiap elemen dalam koleksi sampai Anda telah menemukan elemen atau sampai Anda mencapai akhir koleksi.
2.2 Implementation
Sequential Search adalah sangat mudah untuk diimplementasikan.

Buat proyek Java "de.vogella.algorithms.search.sequential" dan sebuah paket dengan nama yang sama.

Buat program berikut.
package de.vogella.algorithms.search.sequential;

public class SequentialSearch {
 public static boolean contains(int[] a, int b){
  for (int i : a) {
   if (i==b){
    return true;
   }
  }
  return false; 
 }
}

2.3 Test
Anda dapat menggunakan uji JUnit berikut untuk memvalidasi metode semacam Anda. Untuk 
mempelajari tentang JUnit silakan lihat Tutorial JUnit.
package de.vogella.algorithms.search.sequential;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Test;

public class SequentialSearchTest {

 @Test
 public void testContains() {
  int[]a = {1, 2, 3, 4, 5, 19, 17, 7};
  assertTrue(SequentialSearch.contains(a, 17));
  assertTrue(SequentialSearch.contains(a, 1));
  assertTrue(SequentialSearch.contains(a, 2));
  assertTrue(SequentialSearch.contains(a, 3));
  assertTrue(SequentialSearch.contains(a, 4));
  assertFalse(SequentialSearch.contains(a, 10));
 }

}
 3. BINARY SEARCH
3.1 Overview 
Pencarian biner mensyaratkan bahwa koleksi sudah disortir.Misalnya dengan Quicksort atau mergesort. 
Pencarian biner cek elemen di tengah koleksi.  Jika elemen pencarian yang lebih kecil atau lebih
besar maka elemen ditemukan maka sub-array didefinisikan yang kemudian mencari lagi. 
Jika mencari elemen lebih kecil maka elemen ditemukan maka sub-array dari awal array sampai 
elemen ditemukan.Jika mencari elemen lebih besar maka elemen ditemukan maka sub-array dari elemen  
yang ditemukan sampai akhir array.Setelah dicari elemen ditemukan atau koleksi kosong maka pencarian selesai
3.2 Implementation
Buat proyek Java "de.vogella.algorithms.search.binary" dan sebuah paket dengan nama yang sama.

 Buat program berikut.
package de.vogella.algorithms.search.binary;

public class BinarySearch {
 public static boolean contains(int[] a, int b) {
  if (a.length == 0) {
   return false;
  }
  int low = 0;
  int high = a.length-1;

  while(low <= high ) {
   int middle = (low+high) /2; 
   if (b> a[middle] ){
    low = middle +1;
   } else if (b< a[middle]){
    high = middle -1;
   } else { // The element has been found
    return true; 
   }
  }
  return false;
 }
}
3.3 Test
 Anda dapat menggunakan uji JUnit berikut untuk memvalidasi metode semacam Anda. Untuk 
mempelajari tentang JUnit silakan lihat Tutorial JUnit.package de.vogella.algorithms.search.sequential;
package de.vogella.algorithms.search.binary;


import org.junit.Test;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

public class BinarySearchTest {

 @Test
 public void testContains() {
  int[]a = {1, 2, 3, 4, 5, 7, 17,  19 };
//  assertTrue(BinarySearch.contains(a, 17));
  assertTrue(BinarySearch.contains(a, 1));
  assertTrue(BinarySearch.contains(a, 2));
  assertTrue(BinarySearch.contains(a, 3));
  assertTrue(BinarySearch.contains(a, 4));
  assertFalse(BinarySearch.contains(a, 10));
 }

}


Jumat, 01 April 2011

Pengertian Link List



Linked list tidak lain adalah suatu struktur data yg merupakan suatu rangkaian atau daftar record berjenis sama. Kemudian dihubungkan melalui bantuan pointer. Pengalokasian daftar dapat dilakukan secara dinamis sehingga isi dari daftar dapat dimanipulasi. Untuk memahami

linked list, terlebih dahulu anda harus tahu konsep pointer dan pengalokasian memori

Coba anda bayangkan apabila anda mendeklarasikan array dari record(array of record) sebanyak 10 elemen. Setiap kali program dijalankan, maka akan memesan memory sebesar 10x ukuran record. Itu merupakan suatu pemborosan walaupun kita hanya menggunakan 5 elemen record.

Maka dari itu, biasanya para programer lebih memilih menggunakan linked list dalam pemrograman. Linked list dibedakan atas 2 jenis yaitu singly linked list dan doubly linked list.


Linked List : Definisi Node, Linked List, Single Linked List, Double Linked List, & Circular Linked List

21012010
2. Jelaskan definisi NodeLinked List, Single Linked List, Double Linked List, dan Circular Linked List!
(sertai gambar permodelannya)
a. Nodes
Self-referential objects (object yang mereferensikan dirinya sendiri) yang disebutnodes, yang dihubungkan dengan links, membentuk kata “linked” list.
b. Linked List ( LL )
Adalah koleksi data item yang tersusun dalam sebuah barisan  secara linear, dengan penyisipan dan pemindahan dapat dilakukan dalam semua tempat di LL tersebut.
c. Single Linked List
Adalah sebuah LL yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode LL, suatu daftar isi yang saling berhubungan.
Ilustrasi single LL:
Pada gambar di atas, data terletak pada sebuah lokasi dalam sebuah memory, tempat yang disediakan memory untuk menyimpan data disebut node ? simpul, setiap node memiliki pointer ( penunjuk ) yang menunjuk ke node berikutnya sehingga terbentuk suatu untaian yang disebut single LL.
Bila dalam single LL pointer hanya dapat bergerak ke satu arah saja, maju / mundur, kanan / kiri, sehingga pencarian datanya juga hanya satu arah saja.
d. Double Linked List
Dalam double LL ( Linked List berpointer ganda ) dapat mengatasi kelemahan-kelemahan single LL tersebut.
Ilustrasi double LL:
e. Circular Linked List
Adalah double / single LL yang simpul terakhirnya menunjuk ke simpul awal, dan simpul awalnya menunjuk ke simpul akhir, atau dapat disebut LL yang dibuat seakan-akan merupakan sebuah lingkaran dengan titik awal dan titik akhir saling bersebelahan jika LL tersebut masih kosong, ilustrasi Circular LL :
Dalam ilmu komputer , daftar link (atau lebih jelas, "-linked list tunggal") adalah sebuah struktur data yang terdiri dari urutan node yang masing-masing berisi referensi (yaitu, link) ke node berikutnya dalam urutan tersebut.
Tunggal-terkait-list.svg 
Sebuah node linked list yang berisi dua bidang: nilai integer dan link ke node berikutnya
Linked list adalah salah satu struktur data sederhana dan paling umum. Mereka dapat digunakan untuk melaksanakan beberapa umum lainnya struktur data abstrak , termasuk tumpukan , antrian , array asosiatif , dan ekspresi simbolik , meskipun tidak jarang untuk menerapkan struktur data lainnya secara langsung tanpa menggunakan daftar sebagai dasar pelaksanaan.
Manfaat utama dari sebuah linked list melalui konvensional array adalah bahwa daftar elemen dengan mudah dapat ditambahkan atau dihapus tanpa realokasi atau reorganisasi dari struktur keseluruhan karena item data tidak perlu disimpan contiguously dalam memori atau pada disk. daftar Linked memungkinkan penyisipan dan penghapusan node pada setiap titik dalam daftar, dan dapat melakukannya dengan sejumlah konstan operasi jika link sebelumnya untuk link yang ditambahkan atau dihapus dipertahankan selama pencarian daftar.
Di sisi lain, linked list sederhana dengan sendirinya tidak memungkinkan akses acak ke data lain dari node pertama data, atau segala bentuk pengindeksan yang efisien. Dengan demikian, banyak dasar operasi - seperti mendapatkan node terakhir dari daftar (dengan asumsi bahwa node terakhir tidak dipertahankan sebagai referensi node terpisah dalam struktur daftar), atau menemukan sebuah node yang berisi acuan tertentu, atau menemukan tempat dimana node baru harus dimasukkan - mungkin memerlukan pemindaian sebagian besar atau semua elemen daftar.

Sejarah

daftar Linked dikembangkan di 1955-56 oleh Allen Newell , Cliff Shaw dan Herbert Simon di RAND Corporation sebagai struktur data utama untuk mereka Informasi Pengolahan Bahasa . IPL digunakan oleh para penulis untuk mengembangkan beberapa awal kecerdasan buatanprogram-program, termasuk Logika Teori Mesin, yang Umum Problem Solver , dan program catur komputer. Laporan pekerjaan mereka muncul dalam Transaksi IRE Teori Informasi pada tahun 1956, dan beberapa prosiding konferensi 1957-1959, termasuk Proceedings of the Western Conference Komputer Bersama pada tahun 1957 dan 1958, dan Informasi Pengolahan (Prosiding pertama UNESCO Konferensi Internasional Pengolahan Informasi ) pada tahun 1959. Diagram sekarang-klasik yang terdiri dari blok merupakan daftar node dengan panah yang menunjuk ke daftar node berturut-turut muncul dalam "Programming Logic Machine Theory" oleh Newell dan Shaw di Proc. WJCC, Februari 1957. Newell dan Simon diakui dengan ACM Turing Award pada tahun 1975 karena "kontribusi dasar dibuat untuk kecerdasan buatan, psikologi kognisi manusia, dan pengolahan daftar". Masalah mesin terjemahan untuk bahasa alami pengolahan dipimpin Victor Yngve di Massachusetts Institute of Technology (MIT) untuk menggunakan linked list sebagai struktur data dalam COMITprogramming bahasa nya untuk penelitian komputer di bidang linguistik . Sebuah laporan mengenai bahasa ini berjudul "Sebuah bahasa pemrograman untuk terjemahan mekanik" muncul dalam penerjemahan Teknik pada tahun 1958.
LISP , berdiri untuk prosesor daftar, diciptakan oleh John McCarthy pada tahun 1958 ketika ia berada di MIT dan pada tahun 1960 ia menerbitkan desain dalam makalah di Komunikasi ACM , berjudul "Fungsi Rekursif dan Komputasi Simbolik Ekspresi mereka oleh Mesin, Bagian Aku ". Salah satu struktur utama LISP's data adalah linked list. Pada awal 1960-an, kegunaan kedua daftar terkait dan bahasa yang menggunakan struktur ini sebagai representasi data primer mereka mapan. Bert Green dari Laboratorium MIT Lincoln menerbitkan sebuah artikel berjudul "Komputer bahasa untuk manipulasi simbol" dalam Transaksi IRE pada Faktor Manusia dalam Elektronika Maret 1961 yang meringkas keuntungan dari pendekatan linked list. Sebuah artikel review kemudian, "Sebuah Perbandingan bahasa komputer daftar-pengolahan" oleh Bobrow dan Raphael, muncul di Komunikasi dari ACM pada bulan April 1964.
Beberapa sistem operasi yang dikembangkan oleh Systems Teknis Konsultan (awalnya dari West Lafayette Indiana, dan kemudian Chapel Hill, North Carolina) digunakan secara terpisah terkait daftar sebagai struktur file. Sebuah entri direktori menunjuk ke sektor pertama dari sebuah file, dan bagian berhasil file itu berada dengan melintasi pointer. Sistem menggunakan teknik ini termasuk Flex (untuk Motorola 6800CPU), mini-Flex (CPU yang sama), dan Flex9 (untuk CPU 6809 Motorola). Sebuah varian yang dikembangkan oleh TSC untuk dan dipasarkan oleh Smoke Sinyal Penyiaran di California, digunakan penggandaan daftar dengan cara yang sama.
TSS/360 sistem operasi, yang dikembangkan oleh IBM untuk mesin 360/370 Sistem, menggunakan linked list ganda untuk sistem mereka katalog file. Struktur direktori yang sama dengan Unix, dimana direktori bisa berisi file dan / atau direktori lain dan mencakup setiap kedalaman. Sebuah kutu utilitas diciptakan untuk memperbaiki masalah file sistem setelah crash, karena bagian modifikasi dari file katalog kadang-kadang dalam memori ketika kecelakaan terjadi. Masalah yang terdeteksi dengan membandingkan link ke depan dan ke belakang untuk konsistensi. Jika link forward adalah korup, maka jika mundur link ke node terinfeksi ditemukan, link forward ditetapkan untuk simpul dengan link mundur. Sebuah komentar lucu dalam kode sumber tempat utilitas ini dipanggil menyatakan "Semua orang tahu kerah kutu menghilangkan bug pada kucing".

Minggu, 27 Maret 2011

Perbedaan Bubble sort,Merge sort dan Quick sort


Pengertian Sorting sort

Sorting Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.
Pada umumnya terdapat 2 cara pengurutan data yaitu
– Ascending : Pengurutan dilakukan mulai dari nilai terkecil menuju nilai terbesar
– Descending: Pengurutan dilakukan mulai dari nilai terbesar menuju nilai terkecil
Ada beberapa macem metoda pengurutan data diantaranya :
  1. Bubble Sort
  2. Selection Sort
  3. Insertion Sort
  4. Merge Sort
  5. Quick Sort
@. Bubble Sort

pengertian bubble sort
Bubble sort adalah sederhana algoritma sorting. It works by repeatedly stepping through the list to be sorted, comparing two items at a time and swapping them if they are in the wrong order. Bekerja dengan berulang kali melakukan melalui daftar akan di sortir, membandingkan dua item sekaligus dan swapping mereka jika mereka berada di salah pesanan. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted. Yang melewati daftar diulang sampai swap tidak diperlukan, yang menunjukkan bahwa daftar disaring. The algorithm gets its name from the way smaller elements "bubble" to the top of the list. Algoritma yang mendapatkan namanya dari jalan kecil elemen "gelembung" ke bagian atas daftar. Because it only uses comparisons to operate on elements, it is a comparison sort . Karena hanya menggunakan perbandingan untuk beroperasi pada elemen, ia adalah perbandingan menyortir.

Bubble sort-kasus yang terburuk dan rata-rata kompleksitas kedua О (n ²), dimana n adalah jumlah item yang disortir. There exist many sorting algorithms with the substantially better worst-case or average complexity of O ( n log n ). Di sana ada banyak algoritma sorting dengan lebih baik substansial terburuk-kasus atau rata-rata kompleksitas O (n log n). Therefore bubble sort is not a practical sorting algorithm when n is large, except in rare specific applications where the array is known to be very close to being already sorted initially. Oleh karena itu gelembung menyortir tidak praktis algoritma sorting ketika n adalah besar, kecuali di langka di mana aplikasi spesifik deret diketahui sangat dekat dengan yang telah disortir awalnya.

Langkah-langkah oleh-contoh

Let us take the array of numbers "5 1 4 2 8", and sort the array from lowest number to greatest number using bubble sort algorithm. Mari kita nomor yang deret "5 1 4 2 8", dan menyusun deret dari terendah ke nomor terbesar nomor menggunakan gelembung sort Algoritma. In each step, elements written in bold are being compared. Dalam setiap langkah, unsur-unsur yang ditulis dalam huruf tebal sedang dibandingkan.

First Pass: Pertama Pass:
( 5 1 4 2 8 ) (5 1 4 2 8) \ untuk ( 1 5 4 2 8 ) Here, algorithm compares the first two elements, and swaps them. (1 5 4 2 8) Di sini, Algoritma membandingkan dua elemen pertama, dan mereka swap.
( 1 5 4 2 8 ) (1 5 4 2 8) \ untuk ( 1 4 5 2 8 ) (1 4 5 2 8)
( 1 4 5 2 8 ) (1 4 5 2 8) \ untuk ( 1 4 2 5 8 ) (1 4 2 5 8)
( 1 4 2 5 8 ) (1 4 2 5 8) \ untuk ( 1 4 2 5 8 ) Now, since these elements are already in order, algorithm does not swap them. (1 4 2 5 8) Sekarang, sejak elemen ini sudah dalam rangka, algoritma tidak swap mereka.
Second Pass: Kedua Pass:
( 1 4 2 5 8 ) (1 4 2 5 8) \ untuk ( 1 4 2 5 8 ) (1 4 2 5 8)
( 1 4 2 5 8 ) (1 4 2 5 8) \ untuk ( 1 2 4 5 8 ) (1 2 4 5 8)
( 1 2 4 5 8 ) (1 2 4 5 8) \ untuk ( 1 2 4 5 8 ) (1 2 4 5 8)
( 1 2 4 5 8 ) (1 2 4 5 8) \ untuk ( 1 2 4 5 8 ) (1 2 4 5 8)
Now, the array is already sorted, but our algorithm does not know if it is completed. Kini, deret sudah disortir, tetapi kami tidak Algoritma tahu jika sudah selesai. Algorithm needs one whole pass without any swap to know it is sorted. Algoritma satu kebutuhan seluruh lulus tanpa swap untuk mengetahui itu disortir.
Third Pass: Ketiga Pass:
( 1 2 4 5 8 ) (1 2 4 5 8) \ untuk ( 1 2 4 5 8 ) (1 2 4 5 8)
( 1 2 4 5 8 ) (1 2 4 5 8) \ untuk ( 1 2 4 5 8 ) (1 2 4 5 8)
( 1 2 4 5 8 ) (1 2 4 5 8) \ untuk ( 1 2 4 5 8 ) (1 2 4 5 8)
( 1 2 4 5 8 ) (1 2 4 5 8) \ untuk ( 1 2 4 5 8 ) (1 2 4 5 8)
Finally, the array is sorted, and the algorithm can terminate. Akhirnya, deret disaring, dan algoritma dapat menghentikan.

[ edit ] Pseudocode implementation [Sunting] Pseudocode pelaksanaan

A simple way to express bubble sort in pseudocode is as follows: Cara mudah untuk menyortir ekspres gelembung di pseudocode adalah sebagai berikut:

procedure bubbleSort( A : list of sortable items ) defined as: do swapped := false for each i in 0 to length( A ) - 1 do: if A[ i ] > A[ i + 1 ] then swap( A[ i ], A[ i + 1 ] ) swapped := true end if end for while swapped end procedure 

The algorithm can also be expressed as: Algoritma yang juga dapat dinyatakan sebagai:

procedure bubbleSort( A : list of sortable items ) defined as: for each i in 1 to length(A) do: for each j in length(A) downto i + 1 do: if A[ j - 1 ] > A[ j ] then swap( A[ j - 1], A[ j ] ) end if end for end for end procedure 


The difference between this and the first pseudocode implementation is discussed later in the article . Perbedaan antara ini dan pertama pelaksanaan pseudocode dibahas dalam artikel nanti.

[ edit ] Alternative implementations [Sunting] Alternatif implementasi

One way to optimize bubblesort is to note that, after each pass, the largest element will always move down to the end. Salah satu cara untuk mengoptimalkan bubblesort adalah untuk dicatat bahwa, masing-masing setelah lulus, terbesar elemen akan selalu berpindah ke akhir. During each comparison, it is clear that the largest element will move downwards. Selama setiap perbandingan, jelas bahwa unsur terbesar akan berpindah ke bawah. Given a list of size n , the n th element will be guaranteed to be in its proper place. Mengingat daftar ukuran n, n th elemen yang akan dijamin untuk berada di tempat yang tepat. Thus it suffices to sort the remaining n - 1 elements. Oleh karena itu cukup untuk memilah sisa n - 1 elemen. Again, after this pass, the n - 1 th element will be in its final place. Sekali lagi, setelah lulus ini, yang n - 1 th elemen akan di tempat yang terakhir.

Metode Bubble Sort
Perhatikan bahwa jumlah pertukaran dan perbandingan data tidaklah tetap, perbedaan tergantung pada keadaan awal data setelah diacak. Tabel berikut memperlihatkan tabulasi hasil visualisasi menggunakan metode bubble sort.
PengacakanJumlah Total
Pertukaran DataPerbandingan Data
1155279
2127272
3137245
4142297
5151294
6138285
7178300
8165272
9156285
10175300
Rata-rata152283
Jumlah rata-rata pertukaran untuk 10 kali pengacakan adalah 152 kali, sedangkan rata-rata jumlah perbandingan adalah sebanyak 283 kali. Tetapi bila data pada awalnya terurut, maka untuk 25 jumlah data, jumlah pertukaran data sebanyak 0 kali dengan jumlah perbandingan sebanyak 24 kali.


contoh program
#include
#define MAX_LINE 1024

void discardnewline(char s[])
{
int i;
for(i = 0; s[i] != ”; i++)
{
if(s[i] == ‘\n’)
s[i] = ”;
}
}

int reverse(char s[])
{
char ch;
int i, j;

for(j = 0; s[j] != ”; j++)
{
}

–j;

for(i = 0; i 0)
{
discardnewline(line);
reverse(line);
printf(”%s\n”, line);
}
return 0;
}

@. Selection Sort

Pengertian tentang selection sort adalah Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan (meja pertama), dan yang telah diurutkan (meja kedua). Elemen pertama yang diambil dari bagian array yang belum diurutkan dan kemudian diletakkan pada posisinya sesuai dengan bagian lain dari array yang telah diurutkan. langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.


SOURCE CODE
void insertsort (int x[], int n)
{
int i, k, y
for (k=1, ky=x [k];
for (i=k-1;i>=0&&y
x[i+1]=y;
}
}

@Insertion Sort

Pengertian Insertion Sort adalah Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan (meja pertama), dan yang telah diurutkan (meja kedua). Elemen pertama yang diambil dari bagian array yang belum diurutkan dan kemudian diletakkan pada posisinya sesuai dengan bagian lain dari array yang telah diurutkan. langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.
SOURCE CODE
void insertsort (int x[], int n)
{
int i, k, y
for (k=1, k
y=x [k];
for (i=k-1;i>=0&&y
x[i+1]=y;
}
}

@. Merge Sort
Pengertian Merge Sort adalah algoritma yang dijalankan sebagai akibat dari terlalu banyaknya daftar yang diurutkan, dengan menghasilkan lebih banyak daftar yang diurutkan sebagai output. Algoritma merge ini disesuaikan untuk mesin drive tape. Penggunaannya dalam akses memori acak besar yang terkait telah menurun, karena banyak aplikasi algoritma merge yang mempunyai alternatif lebih cepat ketika kamu memiliki akses memori acak yang menjaga semua data. Hal ini disebabkan algoritma ini membutuhkan setidaknya ruang atau memori dua kali lebih besar karena dilakukan secara rekursif dan memakai dua tabel.
Algoritma merge sort membagi tabel menjadi dua tabel yang sama besar. Masing-masing tabel diurutkan secara rekursif, dan kemudian digabungkan kembali untuk membentuk tabel yang terurut. Implementasi dasar dari algoritma merge sort memakai tiga buah tabel, dua untuk menyimpan elemen dari tabel yang telah di bagi dua dan satu untuk menyimpan elemen yang telah terurut. Namun algoritma ini dapat juga dilakukan langsung pada dua tabel, sehingga menghemat ruang atau memori yang dibutuhkan.
Algoritma Merge umumnya memiliki satu set pointer p0..n yang menunjuk suatu posisi di dalam satu set daftar L0..n . Pada awalnya mereka menunjuk item yang pertama pada setiap daftar. Algoritmanya sebagai berikut:
Selama p0..n masih menunjuk data yang di dalam sebagai pengganti pada akhirnya:
1.Melakukan sesuatu dengan data item yang menunjuk daftar mereka masing-masing.
2.Menemukan pointers points untuk item dengan kunci yang paling rendah; membantu salah satu pointer untuk item yang berikutnya dalam daftar.

Pada umumnya algoritma merge berjalan dalam waktu proposional untuk penjumlahan pada panjangnya daftar; Algoritma merge beroperasi pada bilangan besar dalam daftar yang akan segera mengalikan penjumlahan panjangnya daftar pada saat itu untuk keluaran gambar pointers points yang mana menunjuk pada item yang paling rendah, yang dapat terpengaruhi dengan suatu heap(tumpukan) yang didasarkan prioritas antrian dalam O(lg n) waktu, untuk O(m lg n) waktu (dimana n adalah bilangan pada daftar yang digabungkan, m adalah penjumlahan panjangnya daftar, dan lg adalah log basis 2). Ketika menggabungkan panjang m dua daftar, terdapat suatu perbandingan lompatan yang lebih rendah 2m-1 yang ada dalam kasus terburuk.
Keluaran data item Merge klasik (satu yang digunakan dalam merge sort) dengan kunci yang paling rendah pada langkah masing-masing, memberikan beberapa daftar yang diurutkan, hasil daftar yang diurutkan berisi semua unsur-unsur di dalam daftar input manapun, dan hal itu dilakukan agar waktunya proporsioal untuk input penjumlahan panjangnya daftar.

B.Contoh Algoritma Merge Sort
Ide algoritma ini hampir mirip dengan QuickSort, yaitu melakukan partisi. Kecuali bahwa algoritma ini melakukan partisi tanpa kriteria. Jadi, data set (X[l] ... X[r]) di partisi langsung ke dua sub data set dengan jumlah data yang sama (X[l] ... X[(l+r)/2], dan X[(l+r)/2+1] ... X[r]). 
Lalu secara rekursif melakukan Merge Sort untuk masing-masing data set. Karena kedua data set itu bisa overlapping (tidak seperti pada Quick Sort) maka setelah kedua sub data set terurut masih memerlukan proses penggabungan (Merging). Merging ini memerlukan ruang tambahan yaitu suatu array yang sama panjangnya dengan panjang kedua sub set untuk menyimpan hasilnya. 
Untuk Merge Sort dalam beberapa bahasa pemrograman yang ada pada saat ini untuk listing programnya hampir sama. Berikut ini merupakan salah satu contoh Listing Program yang biasa digunakan.

Contoh:
void MergeSort(int l,int r) {
if (l <>
MergeSort(l,(l+r)/2);
MergeSort((l+r)/2,r);
Merging();
}
}

@. Quick Sort
Pengerian Quick Sort adalah algoritma yang dijalankan sebagai akibat dari terlalu banyaknya daftar yang diurutkan, dengan menghasilkan lebih banyak daftar yang diurutkan sebagai output. Algoritma merge ini disesuaikan untuk mesin drive tape. Penggunaannya dalam akses memori acak besar yang terkait telah menurun, karena banyak aplikasi algoritma merge yang mempunyai alternatif lebih cepat ketika kamu memiliki akses memori acak yang menjaga semua data. Hal ini disebabkan algoritma ini membutuhkan setidaknya ruang atau memori dua kali lebih besar karena dilakukan secara rekursif dan memakai dua tabel.
Algoritma merge sort membagi tabel menjadi dua tabel yang sama besar. Masing-masing tabel diurutkan secara rekursif, dan kemudian digabungkan kembali untuk membentuk tabel yang terurut. Implementasi dasar dari algoritma merge sort memakai tiga buah tabel, dua untuk menyimpan elemen dari tabel yang telah di bagi dua dan satu untuk menyimpan elemen yang telah terurut. Namun algoritma ini dapat juga dilakukan langsung pada dua tabel, sehingga menghemat ruang atau memori yang dibutuhkan.
Algoritma Merge umumnya memiliki satu set pointer p0..n yang menunjuk suatu posisi di dalam satu set daftar L0..n . Pada awalnya mereka menunjuk item yang pertama pada setiap daftar. Algoritmanya sebagai berikut:
Selama p0..n masih menunjuk data yang di dalam sebagai pengganti pada akhirnya:
1.Melakukan sesuatu dengan data item yang menunjuk daftar mereka masing-masing.
2.Menemukan pointers points untuk item dengan kunci yang paling rendah; membantu salah satu pointer untuk item yang berikutnya dalam daftar.

Pada umumnya algoritma merge berjalan dalam waktu proposional untuk penjumlahan pada panjangnya daftar; Algoritma merge beroperasi pada bilangan besar dalam daftar yang akan segera mengalikan penjumlahan panjangnya daftar pada saat itu untuk keluaran gambar pointers points yang mana menunjuk pada item yang paling rendah, yang dapat terpengaruhi dengan suatu heap(tumpukan) yang didasarkan prioritas antrian dalam O(lg n) waktu, untuk O(m lg n) waktu (dimana n adalah bilangan pada daftar yang digabungkan, m adalah penjumlahan panjangnya daftar, dan lg adalah log basis 2). Ketika menggabungkan panjang m dua daftar, terdapat suatu perbandingan lompatan yang lebih rendah 2m-1 yang ada dalam kasus terburuk.
Keluaran data item Merge klasik (satu yang digunakan dalam merge sort) dengan kunci yang paling rendah pada langkah masing-masing, memberikan beberapa daftar yang diurutkan, hasil daftar yang diurutkan berisi semua unsur-unsur di dalam daftar input manapun, dan hal itu dilakukan agar waktunya proporsioal untuk input penjumlahan panjangnya daftar.

B.Contoh Algoritma Merge Sort
Ide algoritma ini hampir mirip dengan QuickSort, yaitu melakukan partisi. Kecuali bahwa algoritma ini melakukan partisi tanpa kriteria. Jadi, data set (X[l] ... X[r]) di partisi langsung ke dua sub data set dengan jumlah data yang sama (X[l] ... X[(l+r)/2], dan X[(l+r)/2+1] ... X[r]). 
Lalu secara rekursif melakukan Merge Sort untuk masing-masing data set. Karena kedua data set itu bisa overlapping (tidak seperti pada Quick Sort) maka setelah kedua sub data set terurut masih memerlukan proses penggabungan (Merging). Merging ini memerlukan ruang tambahan yaitu suatu array yang sama panjangnya dengan panjang kedua sub set untuk menyimpan hasilnya. 
Untuk Merge Sort dalam beberapa bahasa pemrograman yang ada pada saat ini untuk listing programnya hampir sama. Berikut ini merupakan salah satu contoh Listing Program yang biasa digunakan.

Contoh:
void MergeSort(int l,int r) {
if (l <>
MergeSort(l,(l+r)/2);
MergeSort((l+r)/2,r);
Merging();
}
}

Rabu, 23 Maret 2011

Sejarah Komputer Kuno sampai Intel Modern

Artikel ini dimulai dari Sejarah Komputer s/d INTEL Terkini 2010


Tahun 1937  Dr. John V. Atanasoff secara resmi di beri penghargaan atas diciptakannya komputer elektronik digital. Dr. Atanasoff mengembangkan komputer elektronik digital pertama sejak 1937-1942 dan di bantu oleh mahasiswa lulusan yang bernama Clifford Berry. Ia menyebut penemuannya sebagai Atanasoff-Berry Computer atau disingkat ABC.
Bagaimana komputer jadul jadi microprosesor super canggih dgn kecepatan meningkat 1 juta kelipatannya?





Tahun 1946

Setelah berbicara dengan Dr. Atanasoff, membaca buku manual cara kerja ABC dan melihat ABC, Dr. John W. Mauchly bekerja sama dengan Mr. J. Presper Eckert untuk mengembangkan sebuah mesin yang bisa menghitung lintasan peluru (trajectory) untuk Angkatan Darat Amerika. Hasilnya, sebuah komputer elektronik skala besar yang rampung tahun 1946 dan bernama ENIAC. Karena ribuan kali lebih cepat dari mesin pendahulunya, ENIAC merupakan sebuah terobosan besar-besaran dalam teknologi komputer. Beratnya 30 ton, menempati ruangan seluas 1500 kaki kuadrat, dan memiliki lebih dari 18.000 tabung hampa udara (vacuum tube). Legenda menyatakan bahwa ENIAC yang dibuat di Universitas Pennsylvania telah mengurangi ‘pasokan’ cahaya untuk Philadelphia bila diaktifkan.
Hasil yang mengagumkan pada ENIAC menandakan dimulainya komputer generasi pertama.
Berikut ini Sejarah Komputer Generasi Pertama:

Pada waktu Perang Dunia Kedua, negara-negara yang ikut dalam perang tersebut terus berusaha untuk mengembangkan komputer yang akan digunakan untuk mengeksploit potensi strategis yang dimiliki komputer. Karena hal ini, maka adanya peningkatan pendanaan dari negara untuk mempercepat pengembangan komputer serta kemajuan teknik komputer.
Dan pada tahun 1941, seorang insinyur jerman – Konrad Zuse berhasil membangun sebuah komputer Z3 yang digunakan untuk mendesain pesawat terbang dan juga peluru kendali.

sejarah komputer

Dilain pihak, pihal sekutu juga membuat kemajuan dalam hal pengembangan kekuatan komputer.  Dan pihak Inggris pada tahun 1943 telah menyelesaikan komputer yang digunakan untuk memecahkan kode rahasia yang diberi nama Colossus, untuk memecahkan kode rahasia yang digunakan militer Jerman. Dan dampak dari pembuatan Colussus ini tidak memberikan pengaruh yang signifikan terhadap perkembangan industri komputer dikarenakan beberapa alasan yaitu:
  • Colossus bukan merupakan komputer general (serba guna), hanya digunakan untuk memecahkan kode rahasia saja.
  • Dan keberadaan komputer ini dijaga kerahasiaannya hingga satu dekade setelah perang berakhir.
Disamping itu, ada usaha lain yang dilakukan pihak Amerika Serikat pada waktu itu dan berhasil mencapai kemajuan lainnnya, yaitu seorang insinyur Harvard – Howard H.Aiken (1900-1973) yang bekerja dengan IBM berhasil memproduksi kalkulator elektronik untuk US Navy. Kalkulator tersebut berukuran panjang setengah lapangan bola kaki dan memiliki rentang kabel sepanjang 500mil.  The Harvd-IBM Automatic Sequence Controlled Calculator, atau Mark I, merupakan komputer relai elektronik. Ia menggunakan sinyal elektromagnetik untuk menggerakkan komponen mekanik. Mesin tersebut beropreasi dengan lambat (ia membutuhkan 3-5 detik untuk setiap perhitungan) dan tidak fleksibel (urutan kalkulasi tidak dapat diubah). Kalkulator tersebut dapat melakukan perhitungan aritmatik dasar dan persamaan yang lebih kompleks.

Lalu perkembangan komputer lain pada masa itu adalah Electronic Numerical Integrator and Computer (ENIAC), yang dibuat oleh kerjasama antara pemerintah Amerika Serikat dan University of Pennsylvania . Terdiri dari 18.000 tabung vakum, 70.000 resistor, dan 5 juta titik solder, komputer tersebut merupakan mesin yang sangat besar yang mengkonsumsi daya sebesar 160kW.
Komputer tersebut dirancang oleh John Presper Eckert (1919-1995) dan John W. Mauchly (1907-1980), ENIAC merupakan komputer serbaguna (general purpose computer) yang bekerja 1000 kali lebih cepat dibandingkan Mark I.
Pada pertengahan 1940-an, John von Neumann (1903-1957) bergabung dengan tim University of Pennsylvania dalam usha membangun konsep desin komputer yang hingga 40 tahun mendatang masih dipakai dalam teknik komputer. Von Neumann mendesain Electronic Discrete Variable Automatic Computer (EDVAC) pada tahun 1945 dengan sebuh memori untuk menampung baik program ataupun data.
Teknik ini memungkinkan komputer untuk berhenti pada suatu saat dan kemudian melanjutkan pekerjaannya kembali. Kunci utama arsitektur Von Neumann adalah unit pemrosesan sentral (CPU), yang memungkinkan seluruh fungsi komputer untuk dikoordinasikan melalui satu sumber tunggal. Tahun 1951, UNIVAC I (Universal Automatic Computer I) yang dibuat oleh Remington Rand, menjadi komputer komersial pertama yang memanfaatkan model arsitektur von Neumann tersebut.
Baik Badan Sensus Amerika Serikat dan General Electric memiliki UNIVAC. Salah satu hasil mengesankan yang dicapai oleh UNIVAC dalah keberhasilannya dalam memprediksi kemenangan Dwilight D. Eisenhower dalam pemilihan presiden tahun 1952.
Komputer Generasi pertama dikarakteristik dengan fakta bahwa instruksi operasi dibuat secara spesifik untuk suatu tugas tertentu. Setiap komputer memiliki program kode-biner yang berbeda yang disebut “bahasa mesin” (machine language). Hal ini menyebabkan komputer sulit untuk diprogram dan membatasi kecepatannya. Ciri lain komputer generasi pertama adalah penggunaan tube vakum (yang membuat komputer pada masa tersebut berukuran sangat besar) dan silinder magnetik untuk penyimpanan data

Komputer Generasi Pertama (1946 – 1959)
UNIVAC I. Komputer generasi pertama dikarakteristikan dengan keistimewaan yang sangat mencolok pada ENIAC– tabung hampa udara. Sampai tahun 1950, beberapa komputer lain menggunakan tabung tersebut, setiap komputer memberikan kemajuan yang berarti dalam pengembangan komputer. Pengembangan tersebut termasuk binary aritmetic, random access, dan konsep dari program yang tersimpan.
1951 The U.S. Bureau of Cencus pada tahun 1951 menginstalasi komputer komersial pertama yang bernama Universal Automatic Computer – UNIVAC I. UNIVAC I dikembangkan oleh Mauchly dan Eckert untuk Remington-Rand Corporation

IBM Memasuki Pasar Komputer
Komputer elektromekanik pertama merupakan hasil dari penelitian yang disponsori IBM. Hasilnya, Mark I, rampung pada tahun 1944 oleh seorang profesor Universitas Harvard, Howard Aiken. Pada saat itu, IBM memonopoli peralatan pemroses data punched-card. Pimpinam IBM tidak merasa bahwa komputer tersebut (UNIVAC I) bisa menggantikan mesin punched-card, untuk itu mereka tidak mau memasuki pasar. Belum sempat UNIVAC I sukses, IBM membuat keputusan baru untuk mengembangkan dan memasuki pasar komputer.
Produk IBM pertama yang di jual di pasaran adalah IBM 701 pada tahun 1953. Hebatnya, IBM 650 diperkenalkan pada tahun berikutnya yang mungkin dengan alasan IBM cukup meraih keuntungan yang besar pada tahun sebelumnya. Untuk menyingkirkan pesaingnya, IBM 650 dibuat supaya bisa meng-upgrade mesin-mesin punched-card yang ada. Itu karena IBM 650 memproses data dengan sebuah cara yang mirip dengan cara tradisional pada mesin punched-card.

Komputer Generasi Kedua (1959 – 1964)
Bagi kebanyakan orang, penemuan transistor berarti semakin praktis. Untuk itu dalam bisnis pemrosesan data, menandakan dimulainya komputer generasi kedua. Transistor berarti semakin berkinerja, lebih diandalkan, dan komputer lebih murah yang menempati sedikit ruang dan menghasilkan sedikit panas.
Biaya seharusnya bisa ditekan. Harga komputer selama generasi pertama, kedua dan sebagian generasi ketiga merupakan bagian penting dari anggaran sebuah perusahaan. Inovasi di pacu dengan persaingan yang menghasilkan penambahan kinerja dan penurunan harga komputer secara besar-besaran.
Karakteristik yang dominan pada komputer generasi kedua:
Transistor
Kompatibilitas yang terbatas pada tiap komputer yang beda pabrik Tidak ada kompatibilitas antar pabrik yang berbeda Adanya bahasa pemrograman low-level.

Komputer Generasi Ketiga (1964)
Karakteristik
Beberapa ahli sejarah menganggap peristiwa terpenting dari sejarah komputer terjadi ketika IBM meluncurkan komputer System 360 pada tanggal 7 April 1964. System 360 termasuk ke dalam komputer generasi ketiga. Integrated circuits merupakan teknologi baru dari generasi ini seperti halnya transistor pada generasi kedua.
Masalah-masalah kompatibilitas pada komputer generasi kedua hampir hilang pada komputer generasi ketiga ini. Bagaimanapun juga, komputer generasi ketiga sama sekali berbeda dengan generasi kedua. Perubahannya merupakan ‘revolusioner’, bukan ‘evolusioner’, dan menyebabkan konversi yang besar-besaran untuk ribuan komputer yang ada.
Pada pertengahan 1960, hampir jadi kenyataan bahwa setiap instalasi komputer bisa berkembang dengan cepat. Sebuah karakteristik yang penting pada komputer generasi ketiga ini adalah ‘upward compatibility (kompatibilitas ke atas)’, yang berarti perusahaan bisa membeli komputer dari vendor dan kemudian bila perlu meng-upgrade-nya ke komputer yang lebih canggih tanpa memprogram ulang sistem informasi yang ada.
Komputer generasi ketiga bekerja sangat cepat (pada masanya) sehingga bisa menjalankan satu program secara bersamaan (multiprogramming).
Minicomputer
Permintaan komputer kecil (small-computer) untuk aplikasi bisnis dan ilmu pengetahuan/penelitian sangatlah besar sehingga tidak sedikit pembuat komputer hanya memproduksi small-computer saja. Small-computer ini lebih dikenal sebagai minicomputer. Digital Equipment Corporation (DEC) dan Data General Corporation (DGC) menjadi pemeran utama pertama dalam penjualan dan pembuatan minicomputer ini.

Komputer Generasi Keempat
Beberapa vendor mengumumkan “komputer generasi keempat” dan beberapa yang mengumumkan “komputer generasi kelima”. Ini hanyalah strategi pasar saja. Tiga generasi sebelumya dibedakan dengan terobosan teknologi elektronik penting – lampu tabung hampa udara, kemudian transistor dan integrated circuit. Generasi keempat muncul dengan perkembangan yang tidak begitu mencolok, hanya dalam bentuk komputer dan software yang agak maju saja, dan mungkin komputer generasi ini tidak akan seberuntung generasi sebelumnya dalam hal ‘merajai’ pasar dunia sebelum terobosan teknologi baru berikutnya. Inilah sebabnya mengapa beberapa orang sering menyebut generasi ini sebagai generasi 3½.
Micropocessor
Salah satu dari banyaknya kontribusi dalam pemunculan komputer generasi berikutnya adalah microprocessor. Microprocessor terkandung dalam sebuah chip silikon tunggal. Mikroprocessor pertama kali didemonstrasikan oleh Texas Instruments pada tahun 1971. Harganya bisa beberapa dollar saja dan bisa ditemukan pada apapun, dari mesin sampai satelit.
Microcomputer
Merupakan alat pemroses yang kecil, relatif tidak mahal, tetapi berkinerja tinggi. Microprocessor ‘terkandung’ dalam sebuah komputer yang bernama microcomputer. Sedangkan microcomputer memungkinkan pemakaian pada bisnis kecil dan pribadi. Microcomputer juga biasanya disebut personal computer (PC).
Tipe suatu PC ditentukan oleh prosesor-nya (otak/pusat pemrosesan). Prosesor pertama yang digunakan pada PC adalah 8086 dati INTEL yang dipakai pada komputer jenis XT (eXtended Technology) yang disusul dengan processor 8088. Selanjutnya muncul processor 80286 yang digunakan pada PC jenis AT (Advanced Technology). Kinerja AT ?10 – 15 kali lebih cepat dari XT, dan kecepatan turbonya ? 5 – 9 kali kecepatan turbo XT. Selanjutnya muncul processor 80386SX, 80386DX, 80486SX, 80486DX, …dst. Untuk lebih jelasnya lihat tabel dibawah ini.
Perbedaan 80386SX dengan 80386DX hanya terletak pada lebar data bus saja. Sedangkan 80486SX dengan 80486DX berbeda pada disertakannya math-co dan cache memory pada processor.
Nama Pentium di pakai karena seri 80568 sudah dipakai terlebih dahulu oleh AMD dengan seri 805x86-P75. Bedanya Pentium dengan Pentium Pro hanya sebatas kecepatan akses-nya saja. Sedangkan pada Pentium MMX, Pentium II dan Pentium III merupakan penambahan beberapa instruksi baru yang berguna dalam hal multimedia (MMX/ISSE). Pentium Celeron sebenarnya Pentium II juga, hanya saja pada Celeron jumlah cache memory-nya dihilangkan/dikurangi. Hal ini dilakukan karena harga Pentium II sangat mahal dan pengurangan cache memory ini bisa menekan harga sampai setengahnya tanpa mengorbankan kinerja.
Penerapan Komputer Pada Bidang Ilmu Pengetahuan Sebenarnya banyak sekali penerapan komputer pada berbagai bidang, salah satunya adalah dibidang ilmu pengetahuan melalui simulasi komputer.
Pada intinya, tugas yang diemban oleh simulator adalah membantu para ilmuwan dalam pencarian sesuatu yang mustahil atau sulit dilakukan. Salah satu contoh yang diberikan oleh simulasi komputer adalah memecahkan teka-teki medan magnet yang terdapat di planet Neptunus.
Jika di planet tersebut terdapat benda cair, maka daya listrik yang ditimbulkan akan meningkat tinggi. Pertanyaannya: “Apa yang terjadi dengan air tersebut bila dipengaruhi oleh tekanan dan temperatur yang sangat tinggi?.”
Ini semua dapat dijawab oleh sebuah super komputer yang ada di MaxPlanck Institut di Stuttgart: “Molekul-molekul air dapat berubah bentuk menjadi molekul metal dalam suhu tinggi dan tekanan besar yang dipengaruhi medan magnet tertentu”. Teori ini dikemukakan oleh Parrinello setelah melakukan percobaan selama seminggu penuh. Hasil dari penelitiannya menunjukkan atom air yang berstruktur molekul H2O membuat sebuah hubungan baru dan berubah bentuk ke struktur atom baru.

Setelah berhasil memecahkan teka-teki ilmu kimia, sekarang Michelle Parrinello mulai berpikir ke arah sistem biologi. Ia ingin membuat enzim penolong yang dapat membasmi virus HIV. Bila proyek ini berhasil, maka penyakit AIDS akan dapat disembuhkan. Namun ada teori yang sampai saat ini belum bisa dipecahkan, yaitu Teori Relativitas (Theory of Relativity) yang dikemukakan oleh Albert Einstein pada tahun 1905. Teori ini yang berhubungan dengan ruang dan waktu ini menjelaskan proses kecepatan cahaya (speed of light) yang memungkinkan terjadinya perjalanan antar ruang dan waktu dan memperlambat perputaran waktu.
Teori Relativitas ini nantinya menggambarkan keberadaan lubang hitam (Black hole) di angkasa luar yang tidak dapat ditembus, bahkan oleh cahaya sekalipun.

SEJARAH PROSESOR TERBARU DARI INTEL

Jajaran prosesor Intel Terkini
Processor dari Intel tersebut kini makin disempurnakan. Terlebih untuk jajaran processor desktop, Intel kini telah lebih menyempurnakan ketiga platform desktop processor tersebut.
Platform processor desktop seperti Intel Core 2 Duo, Intel Core 2 Quad dan Intel Core 2 Extreme kini dihadirkan dengan beberapa teknologi baru yang mampu menciptakan sebuah performa tertinggi dalam komputasi. Setelah era 65nm, Intel kini beralih ke teknologi 45nm dan sebentar lagi akan segera berpindah ke teknologi fabrikasi 32nm.
Teknologi fabrikasi 45nm
Pada akhir Januari 2007 yang lalu, tidak tanggung-tanggung Intel memiliki dua kabar gembira dari pengembangan yang telah dilakukannya. Pertama adalah Intel mengumumkan digunakannya material baru dalam membuat lapisan pelindung (insulating walls). Dan yang kedua adalah akan digunakannya proses fabrikasi 45 nm pada generasi processor Intel dengan codename Penryn.
Terdapat beberapa produk untuk desktop processor, mobile, maupun server yang dikembangkan kala itu. Penryn memiliki lebih dari 400 juta transistor untuk dual-core, dan 800 juta untuk quad-core
Selain microarchitecture baru, Penryn juga akan memiliki core speed yang lebih tinggi, dengan cache hingga 12 MB. Ditambah dengan 50 set instruksi baru SSE4, yang akan meningkatkan kapabilitas, performa yang ditujukan untuk multi media, dan high performance computing.


High-k dan Metal Gate
Setelah selama lebih dari 40 tahun, silicon dioxide dipercaya sebagai bahan utama untuk transistor gate dielectric, akhirnya Intel mengembangkan sebuah penemuan baru dalam teknologi transistor. Transistor adalah bagian witch dalam sebuah microprocessor.
Gate (gerbang) pada transistor dapat berubah state menjadi on maupun off, yang menjadi bagian proses nol dan satu pada dunia digital. Gate dielectric adalah insulator yang memisahkan antara arus (current) source dan arus drain. Pada proses teknologi 65nm sebelumnya, Intel mampu membuat lapisan gate dielectric ini hanya dengan tebal 1,2nm.
Untuk mempertipisnya lagi dan menyesuaikannya dengan proses yang juga mengecil, menimbulkan beberapa kendala. Peningkatan current leakage pada gate dielectric, menyebabkan lebih banyak energi listrik yang akan terbuang menjadi panas yang tidak diperlukan.

High-k
Tantangan untuk mengatasi gate leakage akan semakin dirasakan, ketika mencoba mempertipis lapisan gate dielectric yang semula masih mengguanakan silicon dioxide. Untuk mengatasi masalah tersebut, Intel mengganti pemilihan bahan silicon dioxide menjadi high-k material sebagai bahan gate dielectric. Pemilihan bahan ini dipercaya mengurangi kebocoran hingga 1/10 dibandingkan dengan menggunakan silicon dioxide yang telah digunakan selama lebih dari 40 tahun belakangan ini.

Metal Gate
Namun, tentu saja solusinya tidak sesederhana itu. Penggantian menggunakan high-k pada gate dielectric, membuatnya tidak kompatibel dengan gate electrode yang masih menggunakan bahan silicon. Maka, tahap selanjutnya agar terwujud transistor untuk processor dengan proses 45nm adalah memilih material baru untuk gate electrode menggunakan metal gate. Metal gate adalah campuran dari beberapa material metal.


45nm, Tidak Hanya Mengecil
Transistor dengan kombinasi material baru dengan high-k pada gate dielectric dan metal gate untuk processor Intel dengan proses teknologi 45nm ini memungkinkan peningkatan efisiensi arus listrik hingga 20%. Tentu saja material baru ini juga menekan kebocoran hingga lima kali lebih rendah, sehingga meningkatkan efisiensi penggunaan energi yang dibutuhkan transistor dan secara keseluruhan meningkatkan energy eficiency pada processor terbaru dengan proses teknologi 45 nm.
Proses penyusutan ini memungkinkan Intel untuk meningkatkan densitas transistor dalam sebuah kemasan processor hingga dua kali lipat dibandingkan pada generasi processor sebelumnya. Hal ini memberikan keleluasaan bagi Intel dalam merancang processor untuk generasi 45nm ini, baik untuk meningkatkan jumlah transistor dalam processor ataupun memperkecil ukuran processor.
Penyusutan teknologi proses dan tentunya ukuran dari masing-masing transistor menyebabkan energi yang dibutuhkan untuk mengubah state transistor, dari posisi off ke on, menjadi lebih hemat hingga 30%. Intel juga menggunakan jalur tembaga dengan low-k dielectric untuk interkoneksi. Penggunaan interkoneksi low-k dielctric ini juga meningkatkan performa dan tentu saja menekan kebutuhan konsumsi daya.
Bersamaan dengan digunakannya proses teknologi 45 nm ini, Intel juga membuat sebuah terobosan baru dengan mulai dipergunakannya teknik dry lithography 193nm dan proses ini akan lebih menguntungkan dalam sisi harga dan menurunkan risiko selama proses pembuatannya.
Untuk melihat jajaran processor dari Intel dan spesifikasi detilnya, silahkan lihat tabel berikut ini.

Intel Core 2 Duo
Processor Number Cache Clock Speed Front Side Bus Intel® Virtualization Technology
(Intel® VT) Intel® Trusted Execution Technology
(Intel® TXT)
45 nm
E8500 6 MB L2 3.16 GHz 1333 MHz √ √
E8400 6 MB L2 3 GHz 1333 MHz √ √
E8300 6 MB L2 2.83 GHz 1333 MHz √ √
E8200 6 MB L2 2.66 GHz 1333 MHz √ √
E8190 6 MB L2 2.66 GHz 1333 MHz
E7200 3 MB L2 2.53 GHz 1066 MHz
65 nm
E6850 4 MB L2 3 GHz 1333 MHz √ √
E6750 4 MB L2 2.66 GHz 1333 MHz √ √
E6700 4 MB L2 2.66 GHz 1066 MHz √
E6600 4 MB L2 2.40 GHz 1066 MHz √
E6550 4 MB L2 2.33 GHz 1333 MHz √ √
E6540 4 MB L2 2.33 GHz 1333 MHz √
E6420 4 MB L2 2.13 GHz 1066 MHz √
E6400 2 MB L2 2.13 GHz 1066 MHz V
E6320 4 MB L2 1.86 GHz 1066 MHz V
E6300 2 MB L2 1.86 GHz 1066 MHz √
E4700 2 MB L2 2.60 GHz 800 MHz
E4600 2 MB L2 2.40 GHz 800 MHz
E4500 2 MB L2 2.20 GHz 800 MHz
E4400 2 MB L2 2 GHz 800 MHz
E4300 2 MB L2 1.80 GHz 800 MHz

Intel® Core™2 Quad Processor
Processor Number Cache Clock Speed Front Side Bus
45 nm
Q9550 12 MB L2 2.83 GHz 1333 MHz
Q9450 12 MB L2 2.66 GHz 1333 MHz
Q9300 6 MB L2 2.50 GHz 1333 MHz
65 nm
Q6700 8 MB L2 2.66 GHz 1066 MHz
Q6600 8 MB L2 2.40 GHz 1066 MHz

Intel® Core™2 Extreme Processor
Processor Number Cache Clock Speed Front Side Bus Form Factor Dual-Core Quad-Core
45 nm
QX9775¹ 12MB L2 3.20 GHz 1600 MHz Desktop √
QX9770 12MB L2 3.20 GHz 1600 MHz Desktop √
QX9650 12MB L2 3 GHz 1333 MHz Desktop √
X9100 6 MB L2 3.06 GHz 1066 MHz Mobile √
X9000 6 MB L2 2.80 GHz 800 MHz Mobile √
65 nm
QX6850 8 MB L2 3 GHz 1333 MHz Desktop √
QX6800 8 MB L2 2.93 GHz 1066 MHz Desktop √
QX6700 8 MB L2 2.66 GHz 1066 MHz Desktop √
X7900 4 MB L2 2.80 GHz 800 MHz Mobile √
X7800 4 MB L2 2.60 GHz 800 MHz Mobile √
X6800 4 MB L2 2.93 GHz 1066 MHz Desktop √

 Intel telah mengumumkan jajaran prosesor dan chipset terbarunya. Hal itu dilakukan Intel dalam ajang Consumer Electronics Show (CES) 2010, sebuah ajang tahunan yang digelar di Las Vegas, Nevada, Amerika Serikat.

Jajaran prosesor terbaru yang diumumkan mencakup keluarga Intel Core i7, Core i5 dan Core i3. Selain itu, chipset yang diumumkan termasuk Chipset Intel Seri 5, Centrino terbaru dan juga chipset untuk Wimax 802.11n dengan fitur My WiFi.

Seperti dikutip Rizanet dari keterangan tertulis yang diterima, Jumat (8/1/2010), jajaran prosesor terbaru yang diumumkan Intel ini telah menggunakan proses produksi 32 nanometer dan memakai transistor high-k metal gate generasi kedua. Artinya, jajaran prosesor terbaru itu dijanjikan akan lebih hemat energi dengan kemampuan yang lebih baik.


Selain itu, jajaran prosesor terbaru Intel ini telah memiliki kemampuan grafis terbenamkan di dalamnya. Sebelumnya jajaran ini dikenal dengan nama kode Clarksdale dan Arrandale.

Berikut adalah jajaran prosesor Intel terbaru untuk notebook:

* Intel Core i7-620M: 2.66 GHz; Grafis 500-766 MHz; Harga US$332
* Intel Core i5-540M: 2.53 GHz; Grafis 500-766 MHz; Harga US$257
* Intel Core i5-520M: 2.4 GHz; Grafis 500-766 MHz; Harga US$225
* Intel Core i5-430M: 2.26 GHz; Grafis 500-766 MHz
* Intel Core i3-350M: 2.26 GHz; Grafis 500-667 MHz
* Intel Core i3-330M: 2.13 GHz; Grafis 500-667 MHz
* Intel Core i7-640LM: 2.13 GHz; Grafis 266-566 MHz; Harga US$332
* Intel Core i7-620LM: 2.0 GHz; Grafis 266-566 MHz; Harga US$300
* Intel Core i7-640UM: 1.2 GHz; Grafis 166-500 MHz; Harga US$305
* Intel Core i7-620UM: 1.06 GHz; Grafis 166-500 MHz; Harga US$278
* Intel Core i5-520UM: 1.06 GHz; Grafis 166-500 MHz; Harga US$241

Sedangkan untuk Desktop adalah:

* Intel Core i5-670: 3.46 GHz; Grafis 733 MHz, Harga US$284
* Intel Core i5-661: 3.33 GHz; Grafis 900 MHz; Harga US$196
* Intel Core i5-660: 3.33 GHz; Grafis 733 MHz; Harga US$196
* Intel Core i5-650: 3.20 GHz; Grafis 733 MHz; Harga US$176
* Intel Core i3-540: 3.06 GHz; Grafis 733 MHZ; Harga US$133
* Intel Core i3-530: 2.93 GHz; Grafis 733 MHz; Harga US$113

Core i3
 Untuk Code Name Wolfdale, Yorkfield, Arrandale Itu nama-nama dari code name processor Intel Terbaru yang di gunakan untuk DESKTOP dan Code Name Penryn Itu di tujukan untuk LAPTOP. Mungkin jika anda sudah familiar mendengar nama-nama diatas sama seperti yang digunakan Untuk Code Name Wolfdale Jajaran Core 2 Duo. Saya juga bingung kenapa banyak yang sama menggunakan code name tetapi dengan spesifikasi yang berbeda dan lebih bagus.

Core i5
 Dengan Kedasyatan core i5 Tentusaja dapat dilihat dari nama-nama tabel prosesor yang ada. Apalagi dengan adanya Teknologi Turbo Boost yang ada di Core i5 dengan code name lynnfield  karena adanya teknnologi tersebut khususnya para gamer yang ingin mendapatkan performance dasyad dari prosesor ini karena kurang mengerti tentang overclocking hanya dengan menekan tombol bisa langsung menaikan kecepatan dari prosesor ini.

Core i7
 Lebih dahulu keluar dibandingkan dengan core i3 dan i5 Core i7 akan mengeluarkan Prosesor terbarunya dengan spec lebih baik dari core i7 yang ada sebelumnya dari code Lynnfield dan Clarksfield tunggu dengan seri berapa Core i7 mengeluarkan brand terbarunya

Core i9
Gebrakan baru dimana saingan dari INTEL yaitu AMD masih pusing untuk mengalahkan core i7 timbulah prosesor Intel Core i9 dimana dengan teknologinya ia membuat lebih kecil ukuran proscessornya yaitu 32nm bayangkan sekecil apa itu? dan di imbanginya dengan menerapkan L3 Untuk pemrosesanya memiliki L3 12 MB Buhhh secepat apa itu? tentunya teknologi yang dulunya ada di processor P4 yaitu apa? Kalian masih ingat ? Hyper Treading karena mungkin kesuksesanya dalam Teknologi Hyper Treading jadi masih menerapkan dalam prosesor Intel Core i9 yang ada pada intinya 6 core karena adanya teknologi ini menjadi 12 Core