Minggu, 04 Desember 2011

Layout Manager

Tampilan yang ada lebih berbasis gambar dan tidak perlu mengetik lagi
kalau contoh yang bukan GUI ya DOS itu atau ADB. Yang mana anda perlu ngetik macam macam hanya untuk menjalankan perintah seperti hardreset, memasukkan framework, ganti boot animation. Tapi kalau sudah GUI hanya tinggal diklik saja untuk menjalankan perintah yg anda ingin jalankan.
Layout Manager

•Seperti pada gambar, layout manager bertugas menyusun komponen-komponen(button, label, checkbox, dll) di dalam suatu container (panel, frame, dll).

•Layout manager menentukan posisi danukuran setiap komponen di dalam container. Proses ini akan berbeda untuk setiap class layout yang digunakan

•AWT dan Swing memiliki beberapa layout manager standar yang penggunaannya seringkali dikombinasikansesuai situasi dan kebutuhan kita.
 Standard Layout Manager
• FlowLayout
FlowLayout merupakan layout manager yang simpel.
o FlowLayout menyusun komponen berdasarkan ukuran defaultmasing-masing, dengan posisi mulai dari kiri ke kanan dan dari atas ke bawah di dalam container yang digunakan.
o FlowLayout dapat memiliki “row justification”: LEFT, CENTER, atau RIGHT serta “padding” horizontal/vertical.
o Secara default, flow layout menggunakan justification CENTER. Artinya, semua komponen akan disimpan di posisi tengah-tengah.
o FlowLayout merupakan default untuk JPanel.
Contoh:
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout());
o Pada dasarnya, untuk aplikasi sesungguhnya, kita tidak disarankan menggunakan FlowLayout karena sifatnya yang tidak bisa memposisikan komponen dengan pasti.
• GridLayout
GridLayout menempatkan komponen dalam bentuk “rectangular grid”. Ada 3 constructor untuk GridLayout:
o GridLayout(): membuat layout dengan satu kolom per komponen. Hanya satu baris yang digunakan.
o GridLayout(int rows, int cols): membuat suatu layout berdasarkan jumlah baris dan kolom yang diinginkan.
o GridLayout(int rows, int cols, int hgap, int vgap): membuat layout berdasarkan jumlah baris dan kolom yang diinginkan, serta ukuran jarak (gap) horisontal maupun vertical untuk setiap baris dan kolom tersebut.
o GridLayout menempatkan komponen dengan urutan dari kiri ke kanan dan dari atas ke bawah.
o GridLayout akan memaksa setiap komponen untuk menempati space container yang kosong serta membagi rata ukuran space tersebut.
o GridLayout paling cocok digunakan untuk menyusun komponen yang berukuran sama, misalnya 2 buah JPanel berukuran sama di dalam sebuah frame.
o Contoh:
frame.add(panel1);
frame.add(panel2);
frame.setLayout(newGridLayout(2, 1));

o Kita dapat men-set jumlah baris dan kolom dengan angka 0. Artinya, kita tidak mempedulikan berapa banyak komponen yang akan masuk ke dalam dimensi layout manager tersebut.
o Contoh: GridLayout(2,0)
o Artinya: kita membuat layout manager dengan 2 baris dan unlimited number untuk kolomnya.

•BorderLayout
o BorderLayout menyusun komponen berdasarkan lokasi geografis: NORTH, SOUTH, EAST, WEST, and CENTER.
o Secara optional, kita dapat juga memberikan paddingdi antara komponen.
o BorderLayout merupakan layout default untuk JWindowdan JFrame.
o Karena setiap komponen diasosiasikan dengan suatu arah geografis, akibatnya layout ini hanya dapat menangani maksimal 5 komponen.
o Pada saat menambahkan suatu komponen kepada container yang memiliki border layout, kita harus menentukan secara bersamaan komponen-nya dan posisi-nya.
o Contoh:
frame.setLayout(new BorderLayout( ));
frame.add(new JButton("Button1"), BorderLayout.NORTH );
frame.add(new JButton("Button2"), BorderLayout.SOUTH );

BoxLayout
o Layout manager yang telah kita bahas sebelumnya merupakan bagian dari package java.awt.
o Javax.swingmemiliki beberapa tambahan layout manager lagi, salah satunya adalah: BoxLayout.
o Layout manager ini sangat berguna untuk membuat toolbarssederhana atau vertical button bars.
o Cara kerjanya sangat sederhana yaitu menempatkan komponen dalam satu baris atau satu kolom.
o Untuk mempermudah penggunaan BoxLayout, Swing menyediakan sebuah kelas yang bernama Boxyaitu sebuah container yang secara otomatismemiliki BoxLayout manager.
o Box memiliki beberapa methodsyang akan mempermudah kita dalam menggunakan BoxLayout manager, yaitu:
createHorizontalBox() untuk membuat box horizontal
createHorizontalGlue() untuk merekatkan komponen
createHorizontalStrut(int n) untuk memberi jarak antar komponen
createVerticalBox() untuk membuat box vertical
createVerticalGlue() untuk merekatkan komponen
createVerticalStrut(int n) untuk memberi jarak antar komponen

• CardLayout

o CardLayout merupakan layout manager yang mampu menciptakan efek “tumpukan” komponen.
o Artinya, layout ini tidak memposisikan komponen di lokasi-lokasi tertentu di dalam kontainer, melainkan menampilkannya satu demi satu.
o Penggunaan CardLayout biasanya untuk membuat panel yang bersifat custom-tabbed.
o Namun, sebenarnya kita dapat membuat panel tersebut dengan menggunakan komponen JTabbedPane.
o Untuk mempraktekkan cara kerja dan efek “tumpukan”dari CardLayout ini, kita perlu mempelajari terlebih dahulu mengenai “event-driven programming” seperti yang ada di.

• GridBagLayout

o GridBagLayout merupakan layaout manager yang sangat fleksibel.
o Layout ini memampukan kita untuk memposisikan komponen relatif terhadap komponen lainnya berdasarkan constraint tertentu.
o Dengan menggunakan GridBagLayout, kita dapat menciptakan layout apapun juga, tanpa batas.
o Komponen disusun pada koordinat tertentu pada sebuah grid yang disebut “logical coordinate”.
o Logical coordinate berarti bahwa koordinat suatu komponen ditentukan oleh sekumpulan komponen lainnya.
o Baris dan kolom dari grid tersebut bersifat “stretch” yang bergantung pada sizedan constraintyang dimilikiny
o Walaupun fleksibel, pembuatan GridBag ini terkadang sangat membingungkan karena kita harus mengatur berbagai sizedan constraint dari setiap komponen yang digunakan.
o Sebenarnya, penggunaan GridBagLayout ini jauh lebih mudah apabila kita menggunakan tools yang mendukung WYSIWYG GUI builder. (contohnya: NetBeans IDE)

• GroupLayout
o Lihat contoh program:
• Group.java
• AlumniForm.java
o GroupLayout dapat kita buat dengan cara mengetik manual seperti membuat layout lainnya.
o Namun, keunggulan GroupLayout adalah dapat dibuat dengan mudah apabila menggunakan IDE seperti NetBeans.

 Mengubah Default Layout Manager
• Setiap container memiliki default layout manager.
• Pada saat kita membuat sebuah container (misal: panel, frame, tabbed pane, split pane, dll), maka container tsb memiliki objek LayoutManager masing-masing.
• Kita dapat mengubah layout manager default tersebut dengan suatu layout yang baru dengan menggunakan method “setLayout()”
• Contoh:
Default layout manager untuk JFrame adalah: FlowLayout
Kita dapat mengubah layout tersebut dengan cara misalnya:

myFrame.setLayout(new BorderLayout());

Perbedaan Antara Program GUI dan CUI

Dari sisi cara penampilannya, sebuah program dapat di bedakan menjadi dua, yaitu Graphical User Interface (GUI) dan Command User Interface (CUI).Program GUI merupakan program yang berjalan di atas Graphical User Interface atau dengan kata lain merupakan program yang di buat dengan bahasa pemrograman.Untuk membuat program GUI, anda dapat menggunakan bahasa pemrograman visual seperti Visual Studio.Net dan Delphi di Windows atau KDevelop plus QT Designer di Linux.Bahasa pemrograman Web seperti HTML juga termasuk kelas pemrograman GUI karena pada umumnya di buka menggunakan browser berbasis GUI, walaupun bisa di buat memakai browser teks semacam Lynx.Sementara itu, program CUI adalah program yang berjalan dengan mode tampilan konsol. CUI program yang akan anda buat kebanyakan disusun oleh tampilan teks (walaupun anda dapat membuat efek sehingga terlihat tampilan seperti visual).Untuk membuat program CUI, anda dapat menggunakan bahasa pemrograman berbasis konsol seperti Pascal, C , Perl, Phyton, dan lainnya.

Graphical User Interface (GUI) merupakan salah satu model interaksi antara manusia dan komputer. Selain GUI, sedangkan Character User Interface (CUI) yang sering kita kenal dengancommand line. Dari sisi kenyamanan (attitude), kedua model ini memiliki ‘penganut’nya masing-masing. Penganut CUI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan CUI. Penganut GUI biasanya adalah mereka yang sudah terbiasa dengan sistem operasi Windows. Bagi mereka, GUI adalah harga mati yang tidak bisa ditawar lagi.


Kelebihan GUI

Tampilan yang ada lebih berbasis gambar dan tidak perlu mengetik lagi
kalau contoh yang bukan GUI ya DOS itu atau ADB. Yang mana anda perlu ngetik macam macam hanya untuk menjalankan perintah seperti hardreset, memasukkan framework, ganti boot animation. Tapi kalau sudah GUI hanya tinggal diklik saja untuk menjalankan perintah yg anda ingin jalankan.

AWT dan Swing

> 1. uraikan pengertian AWT (Abstract Windowing Toolkit) dan Swing!
Abstract Windowing Toolkit (AWT), atau disebut juga “Another Windowing Toolkit”, adalah pustaka windowing bertujuan umum dan multiplatform serta menyediakan sejumlah kelas untuk membuat GUI di Java. Dengan AWT, dapat membuat window, menggambar, manipulasi gambar, dan komponen seperti Button, Scrollbar, Checkbox, TextField, dan menu pull-down.
Swing merupakan perbaikan kelemahan di AWT. Banyak kelas swing menyediakan komponen alternatif terhadap AWT. Contohnya kelas JButton swing menyediakan fungsionalitas lebih banyak dibanding kelas Button. Selain itu komponen swing umumnya diawali dengan huruf “J”, misalnya JButton, JTextField, JFrame, JLabel, JTextArea, JPanel, dan sebagainya. Teknologi swing menggunakan dan memperluas gagasan-gagasan AWT. Sementara, penggunaan komponen Swing ditandai dengan adanya instruksi : import javax.swing.*;

> 2. sebutkan keuntungan dan kerugian dari penggunaan AWT dan Swing!
package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada paltform yang berbeda. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane. Tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama. Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari beberapa API
yang mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya, komponen AWT dapat digunakan bersama komponen Swing.

> 3. gambarkan hirarki class pada Swing!

Senin, 03 Januari 2011

ALGORITMA PENCARIAN

Pencarian Biner

Pencarian Biner dilakukan untuk :
  • memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
  • Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan).
  • Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut, misalkan terurut menaik.


ALGORITMA  

Kamus
      Const N : integer = 8  { misalkan jumlah elemen array maksimum = 8 }
      Type A = array [ 1 ..... N ] of integer
      Cari, BatasAtas, BatasBawah, Tengah : Integer
      Ketemu : boolean
ALGORITMA
         Input (cari) { meminta nilai data yang akan dicari}
         BatasAtas     ¬  1 { indeks array dimulai dari 1 }
         BatasBawah     ¬   N    
         Ketemu   ¬  False
         While (BatasAtas < BatasBawah) and (not ketemu) do
               Tengah ¬   (BatasAtas  + BatasBawah) div 2
               If A [Tengah] = cari then
                  Ketemu ¬ true
                           Else
                                 If ( A [Tengah]  < cari ) then { cari di bagian kanan }
                                       BatasAtas ¬ Tengah + 1
                                 Else
                                       BatasBawah ¬ Tengah – 1 { cari di bagian kiri }
                                 Endif
                           Endif
         EndWhile
         If (ketemu) then
                     Output ( ‘Data berada di index nomor’, Tengah )
         Else     Output ( ‘Data tidak ditemukan’ )
         Endif

Pencarian Sekuensial

“Sequential search atau Pencarian sekuensial” bisa disebut dengan pencarian linear yang merupakan model pencarian yang paling simpel dan sederhana banget deh yang dapat dilakukan terhadap suatu kumpulan data. Suatu tekhnik pencarian dalam array (1 dimensi) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.

Biar kalian lebih paham secara konsep, penjelasannya adalah sebagai berikut :
Keunggulan dari pencarian sekuensial ini adalah jika data yang dicari terletak di indeks array terdepan maka waktu dalam pencarian nya sangat cepat, dalam artian waktu yang minim sekali. Keburukannya adalah kalau jika data indeks array nya yang dicari paling belakang, maka waktu yang dicari tuh lama banget (maksimal).

Terdapat L yang merupakan larik yang berisi n buah data ( L[0],L[1]…….L[n-1]) dan k adalah data yang akan dicari. Pencarian dilakukan untuk menemukan L[i] = k dengan i adalah bilangan indeks terkecil yang memenuhi kondisi 0<= k <=n-1. Tentu saja bahwa data yang di cari tidak ditemukan.
Jika misalnya terdapat angka 4, maka ditulis ada, sedangkan jika dimunculkan angka 6, namun angka 6 tidak ada maka akan muncul tulisan tidak ada.
Berikut merupakan program yang telah dibuat sebelumnya :

L = {4,12,9,-2,12,7,1,100}

Tahukah kamu dimana posisi 12 yang pertama ?

Nah, dalam hal ini k adalah 12 dan k ditemukan berupa indeks 2. Angka 12 yang pertama akan dipilih oleh program, karena secara logika angka 12 merupakan data yang pertama muncul. Coba deh kamu bayangin aja misalnya dalam antrian, orang yang mengantri di depan akan duluan mendapatkan giliran. 
contohnya :

//Sequential searching
#include
#include
void main()
{
clrscr();
int data[8] = {4,12,9,-2,12,7,1,100};
int cari,index;
int ketemu=0;
cout<<"masukkan data yang ingin dicari = ";
cin>>cari;
for(int i=0;i<8;i++)
{
if(data[i] == cari)
{
ketemu=1;
index = i;
break;
}
}
if(ketemu == 1)
{
cout<<"Data ada!"<
cout<<"Data terletak di index ke - "<
}
else cout<<"Data Tidak ada!"<
getch();
}
 
pencarian string
 

Algoritma pencarian string atau sering disebut juga pencocokan string adalah algoritma untuk melakukan pencarian semua kemunculanstring pendek pattern[0..n − 1] yang disebut pattern di string yang lebih panjang teks[0..m − 1] yang disebut teks.
Pencocokkan string merupakan permasalahan paling sederhana dari semua permasalahan string lainnya, dan dianggap sebagai bagian daripemrosesan data, pengkompresian data, analisis leksikal, dan temu balik informasi. Teknik untuk menyelesaikan permasalahan pencocokkan string biasanya akan menghasilkan implikasi langsung ke aplikasi string lainnya.

Contoh algoritma pencocokkan string

Algoritma-algoritma pencocokkan string dapat diklasifikasikan menjadi tiga bagian menurut arah pencariannya.
Tiga kategori itu adalah :
  • Dari arah yang paling alami, dari kiri ke kanan, yang merupakan arah untuk membaca, algoritma yang termasuk kategori ini adalah:
    1. Algoritma Brute Force
    2. Algoritma dari Morris dan Pratt, yang kemudian dikembangkan oleh Knuth, Morris, dan Pratt
  • Dari kanan ke kiri, arah yang biasanya menghasilkan hasil terbaik secara praktikal, contohnya adalah:
    1. Algoritma dari Boyer dan Moore, yang kemudian banyak dikembangkan, menjadi Algoritma turbo Boyer-Moore, Algoritma tuned Boyer-Moore, dan Algoritma Zhu-Takaoka;
  • Dan kategori terakhir, dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoritis, algoritma yang termasuk kategori ini adalah:
    1. Algoritma Colussi
    2. Algoritma Crochemore-Perrin

Algoritma brute force dalam pencarian string

Algoritma brute force merupakan algoritma pencocokan string yang ditulis tanpa memikirkan peningkatan performa. Algoritma ini sangat jarang dipakai dalam praktek, namun berguna dalam studi pembanding dan studi-studi lainnya.

Cara kerja

Secara sistematis, langkah-langkah yang dilakukan algoritma brute force pada saat mencocokkan string adalah:
  1. Algoritma brute force mulai mencocokkan pattern pada awal teks.
  2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi:
    1. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
    2. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
  3. Algoritma kemudian terus menggeser pattern sebesar satu ke kanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks.
Berikut adalah gambar Algoritma brute force yang sedang bekerja mencari string:

ini psikodotnya

01<pre>procedure BruteForceSearch(
02        input m, n : integer,
03        input P : array[0..n-1] of char,
04        input T : array[0..m-1] of char,
05        output ketemu : array[0..m-1] of boolean
06       )
07
08Deklarasi:
09       i, j: integer
10
11Algoritma:
12        for (i:=0 to  m-n) do
13               j:=0
14               while (j < n and T[i+j] = P[j]) do
15                        j:=j+1
16               endwhile
17               if(j >= n) then
18                 ketemu[i]:=true;
19               endif
20        endfor

Kamis, 16 Desember 2010

SHARE FILE VIA WIRELESS

PIS1002_30110356_ SHARE FILE VIA WIRELESS


1. pertama kita klik icon wireless network connection




2. setelah itu klik icon berikut:


3. pilih TCP/IP lalu propertis,
4. isi IP Address yang sesuai setelah itu OK




5. selanjutnya kita buka wireless network connection propertis

6.  lalu pilih advance dan selalunjutnya pilih computer-to-computer (ad hoc)
6. setelah itu kita kembali ke wireless network connection properti lalu pilih add
 selanjutnya untuk mengshare file nya

  • klik kanan file yang akan di share lalu pilih sharing and security
itulah cara cara mudah untuk mengshare file via jaringan wireless.

Rabu, 08 Desember 2010

Teknologi Masa Depan

PIS1002_30110356_Teknologi Masa Depan


Pernah kah anda membayangkan bahwa di masa depan dunia akan tampak sangat berbeda dengan segala macam ke anehan, dan keunikan yang di ciptakan oleh teknologi yang semakin hari semakin berkembang pesat. Mungkin di masa depan tak ada lagi yang di nama kan telepon kabel atau sebagainya yang ada hanya telepon yang akan mengikuti anda kemana saja tanpa harus di pegang atau anda dekat kan ke telinga anda, atau yang lebih unik telepon ini tak perlu tempat khusus untuk di simpanya alias telephone ini hanya mengunakan sebuah “ring” atau cincin ajaib yang mampu membentuk sebuah hologram hanya dengan cara membuka tangan anda langsung terhubung dengan siapapun di dunia ini. 


  
telephone super cangih yang bernama " Ring HOLO Phone" memiliki banyak fitur unik di dalamnya, seperti 
menu 3D yang sedang marak belakangan ini, atau ukuran layar yang dapat di perbesar hinga 21 inci dan tambahan touch screen di dalamnya. saya yakin anda tak akan berhenti memuji " Ring HOLO Phone" ini dan jika anda memiliki alat super cangih ini saya yakin akan menambah dayatarik anda terhadap lawan jenis



Minggu, 07 November 2010

Sejarah Perkembangan RAM

 

PIS1002_30110356_SEJARAH PERKEMBANGAN RAM
MENGENAL RAM

Begitu banyak nama dan istilah spesifik digunakan pada RAM. Kadang dapat membingungkan. Tapi tidak jadi masalah, setelah Anda membaca penjelasan singkatnya berikut. Ini dapat dijadikan panduan, setidaknya untuk membaca spesifikasi dan memperhitungkan dengan kemampuan produk yang bersangkutan.
·        Speed

Speed atau kecepatan, makin menjadi faktor penting dalam pemilihan sebuah modul memory. Bertambah cepatnya CPU, ditambah dengan pengembangan digunakannya dual-core, membuat RAM harus memiliki kemampuan yang lebih cepat untuk dapat melayani CPU.
Ada beberapa paramater penting yang akan berpengaruh dengan kecepatan sebuah memory.
·        Megahertz

Penggunaan istilah ini, dimulai pada jaman kejayaan SDRAM. Kecepatan memory, mulai dinyatakan dalam megahertz (MHz). Dan masih tetap digunakan, bahkan sampai pada DDR2.
Perhitungan berdasarkan selang waktu (periode) yang dibutuhkan antara setiap clock cycle. Biasanya dalam orde waktu nanosecond. Seperti contoh pada memory dengan aktual clock speed 133 MHz, akan membutuhkan access time 8ns untuk 1 clock cycle.
Kemudian keberadaan SDRAM tergeser dengan DDR (Double Data Rate). Dengan pengembangan utama pada kemampuan mengirimkan data dua kali lebih banyak. DDR mengirimkan data dua kali dalam satu clock cycle.
Kebanyakan produk mulai menggunakan clock speed efektif, hasil perkalian dua kali data yang dikirim. Ini sebetulnya lebih tepat jika disebut sebagai DDR Rating.
Hal yang sama juga terjadi untuk DDR2. Merupakan hasil pengembangan dari DDR. Dengan kelebihan utama pada rendahnya tegangan catudaya yang mengurangi panas saat beroperasi. Juga kapasitas memory chip DDR2 yang meningkat drastis, memungkinkan sebuah keping DDR2 memiliki kapasitas hingga 2 GB. DDR2 juga mengalami peningkatan kecepatan dibanding DDR.
·         PC Rating

Pada modul DDR, sering ditemukan istilah misalnya PC3200. Untuk modul DDR2, PC2-3200. Dari mana angka ini muncul?
Biasa dikenal dengan PC Rating untuk modul DDR dan DDR2. Sebagai contoh kali ini adalah sebuah modul DDR dengan clock speed 200 MHz. Atau untuk DDR Rating disebut DDR400. Dengan bus width 64-bit, maka data yang mampu ditransfer adalah 25.600 megabit per second (=400 MHz x 64-bit). Dengan 1 byte = 8-bit, maka dibulatkan menjadi 3.200MBps (Mebabyte per second).  Angka throughput inilah yang dijadikan nilai dari PC Rating. Tambahan angka “2, baik pada PC Rating maupu DDR Rating, hanya untuk membedakan antara DDR dan DDR2.
·         CAS Latency

Akronim CAS berasal dari singkatan column addres strobe atau column address select. Arti keduanya sama, yaitu lokasi spesifik dari sebuah data array pada modul DRAM.
CAS Latency, atau juga sering disingkat dengan CL, adalah jumlah waktu yang dibutuhkan (dalam satuan clock cycle) selama delay waktu antara data request dikirimkan ke memory controller untuk proses read, sampai memory modul berhasil mengeluarkan data output. Semakin rendah spesifikasi CL yang dimiliki sebuah modul RAM, dengan clock speed yang sama, akan menghasilkan akses memory yang lebih cepat.
·        Clock Speed
Kecepatan clock (denyut). Rate atau kecepatan clock untuk menuntuk kerja microprocessor. Satuan ini diukur dalam unit juta instruksi per second yang disebut juga sebagai megahertz (MHz). Clock speed juga merupakan petunjuk utama yang mencerminkan kemampuan sebuah chip.
·        Bus speed
Bus speed, kecepatan Bus. Jumlah alur yang mampu dilaksanakan oleh sebuah pemproses dalam masa second. Satuan waktu ini diukur dalam unit juta arahan second yang disebut juga sebagai megahertz (MHz) atau juta kitaran second dan kebanyakan komputer memiliki bus berkecepatan diantara 100 hingga 133MHz. Sebuah bus berupaya meningkatkan prestasi komputer tetapi ia biasanya terikat dengan kelajuan pemproses. Contohnya processor Celeron menggunakan bus 66MHz, Pentium III 100/133MHz.
·          Clock cycle

Sebuah siklus clock, atau hanya sebuah "siklus," adalah pulsa elektronik tunggal dari CPU . During each cycle, a CPU can perform a basic operation such as fetching an instruction, accessing memory, or writing data. Pada setiap siklus, CPU dapat melakukan operasi dasar seperti mengambil instruksi, mengakses memori, atau menulis data. Since only simple commands can be performed during each cycle, most CPU processes require multiple clock cycles. Karena hanya perintah sederhana dapat dilakukan selama setiap siklus, CPU yang paling proses memerlukan beberapa siklus clock.
·        Bus width
bus width adalah saluran di mana arus informasi. The wider the bus, the more information can flow over the channel, much as a wider highway can carry more cars than a narrow one. Semakin lebar bus, semakin banyak informasi yang dapat mengalir melalui saluran, seperti halnya jalan raya yang lebih luas dapat membawa mobil lebih dari satu sempit.
·        Bandwith
ukuran dikonsumsi komunikasi data atau sumber daya yang tersedia disajikan dalam bit / detik atau kelipatan dari itu (kilobits / s, megabit / s dll).
CARA KERJA RAM


Cara Kerja RAM ke Processor dibagi jadi dua yaitu versi lama dan baru,dibawah ini akan dijelaskan satu-persatu.
  1. Versi Lama --> Pertama dari RAM harus di filter dulu melewati North Bridge (Chipset) yang terdapat Address Bus (untuk menentukan alamat RAM),Control Bus(untuk mengontrol kinerja( an Data Bus(sebagai alat transfer). Setelah itu akan masuk ke prosessor untuk pengolahan data.
  2. Versi Baru --> dalam versi baru tidak perlu di filter di dalam NorthBridge(Chipset) tetapi langsung dari RAM ke processor karena Address Bus,Control Bus dan Data Bus sudah ada didalam processor.
RAM terdiri dari DDR1,DDR2,dan DDR3.Berikut ini akan dijelaskan lebih lanjut:
  • DDR1 --> frekuensinya 200Mhz, 400 Mhz dengan tegangan 2,5Volt
  • DDR2 --> frekuensinya 533 Mhz,800 Mhz dengan tegangan 1,8Volt
  • DDR3 --> frekuensinya 1024 Mhz dengan tegangan 1,5Volt
Cara Memilih RAM yang baik :

-Bandwith semakin besar semakin bagus.
-Latecy(Delay) semakin kecil semakin bagus

RAM dibagi menjadi 2 bentuk yaitu:
  1. Single Channel --> Kanalnya ada 1,dan jenis RAM nya bisa berbeda misalnya PC3200 1GB dengan PC6400 2GB
  2. Dual Channel --> Knalnya ada 2,dan jenis RAM nya harus identik misalnya PC6400 2GB dengan PC6400 2GB


PERKEMBANGAN RAM
1. R A M
RAM yang merupakan singkatan dari Random Access Memory ditemukan oleh Robert Dennard dan diproduksi secara besar – besaran oleh Intel pada tahun 1968, jauh sebelum PC ditemukan oleh IBM pada tahun 1981. Dari sini lah perkembangan RAM bermula. Pada awal diciptakannya, RAM membutuhkan tegangan 5.0 volt untuk dapat berjalan pada frekuensi 4,77MHz, dengan waktu akses memori (access time) sekitar 200ns (1ns = 10-9 detik).

2. D R A M
Pada tahun 1970, IBM menciptakan sebuah memori yang dinamakan DRAM. DRAM sendiri merupakan singkatan dari Dynamic Random Access Memory. Dinamakan Dynamic karena jenis memori ini pada setiap interval waktu tertentu, selalu memperbarui keabsahan informasi atau isinya. DRAM mempunyai frekuensi kerja yang bervariasi, yaitu antara 4,77MHz hingga 40MHz.
3. FP RAM
Fast Page Mode DRAM atau disingkat dengan FPM DRAM ditemukan sekitar tahun 1987. Sejak pertama kali diluncurkan, memori jenis ini langsung mendominasi pemasaran memori, dan orang sering kali menyebut memori jenis ini “DRAM” saja, tanpa menyebut nama FPM. Memori jenis ini bekerja layaknya sebuah indeks atau daftar isi.
4. EDO RAM
Pada tahun 1995, diciptakanlah memori jenis Extended Data Output Dynamic Random Access Memory (EDO DRAM) yang merupakan penyempurnaan dari FPM. Memori EDO dapat mempersingkat read cycle-nya sehingga dapat meningkatkan kinerjanya sekitar 20 persen.
5. SDRAM PC66
Pada peralihan tahun 1996 – 1997, Kingston menciptakan sebuah modul memori dimana dapat bekerja pada kecepatan (frekuensi) bus yang sama / sinkron dengan frekuensi yang bekerja pada prosessor. Itulah sebabnya mengapa Kingston menamakan memori jenis ini sebagai Synchronous Dynamic Random Access Memory (SDRAM). SDRAM ini kemudian lebih dikenal sebagai PC66 karena bekerja pada frekuensi bus 66MHz. Berbeda dengan jenis memori sebelumnya yang membutuhkan tegangan kerja yang lumayan tinggi, SDRAM hanya membutuhkan tegangan sebesar 3,3 volt dan mempunyai access time sebesar 10ns.
6. SDRAM PC100
Selang kurun waktu setahun setelah PC66 diproduksi dan digunakan secara masal, Intel membuat standar baru jenis memori yang merupakan pengembangan dari memori PC66. Standar baru ini diciptakan oleh Intel untuk mengimbangi sistem chipset i440BX dengan sistem Slot 1 yang juga diciptakan Intel. Chipset ini didesain untuk dapat bekerja pada frekuensi bus sebesar 100MHz. Chipset ini sekaligus dikembangkan oleh Intel untuk dipasangkan dengan prosessor terbaru Intel Pentium II yang bekerja pada bus 100MHz.
8. DR DRAM
Pada tahun 1999, Rambus menciptakan sebuah sistem memori dengan arsitektur baru dan revolusioner, berbeda sama sekali dengan arsitektur memori SDRAM.Oleh Rambus, memori ini dinamakan Direct Rambus Dynamic Random Access Memory. Dengan hanya menggunakan tegangan sebesar 2,5 volt, RDRAM yang bekerja pada sistem bus 800MHz melalui sistem bus yang disebut dengan Direct Rambus Channel, mampu mengalirkan data sebesar 1,6GB per detiknya! (1GB = 1000MHz).
9. RDRAM PC800                                                 
Masih dalam tahun yang sama, Rambus juga mengembangkan sebuah jenis memori lainnya dengan kemampuan yang sama dengan DRDRAM. Perbedaannya hanya terletak pada tegangan kerja yang dibutuhkan. Jika DRDRAM membutuhkan tegangan sebesar 2,5 volt, maka RDRAM PC800 bekerja pada tegangan 3,3 volt. Nasib memori RDRAM ini hampir sama dengan DRDRAM, kurang diminati, jika tidak dimanfaatkan oleh Intel.
10. SDRAM PC133
Selain dikembangkannya memori RDRAM PC800 pada tahun 1999, memori SDRAM belumlah ditinggalkan begitu saja, bahkan oleh Viking, malah semakin ditingkatkan kemampuannya. Sesuai dengan namanya, memori SDRAM PC133 ini bekerja pada bus berfrekuensi 133MHz dengan access time sebesar 7,5ns dan mampu mengalirkan data sebesar 1,06GB per detiknya. Walaupun PC133 dikembangkan untuk bekerja pada frekuensi bus 133MHz, namun memori ini juga mampu berjalan pada frekuensi bus 100MHz walaupun tidak sebaik kemampuan yang dimiliki oleh PC100 pada frekuensi tersebut.
11. SDRAM PC150
Perkembangan memori SDRAM semakin menjadi – jadi setelah Mushkin, pada tahun 2000 berhasil mengembangkan chip memori yang mampu bekerja pada frekuensi bus 150MHz, walaupun sebenarnya belum ada standar resmi mengenai frekunsi bus sistem atau chipset sebesar ini. Masih dengan tegangan kerja sebesar 3,3 volt, memori PC150 mempunyai access time sebesar 7ns dan mampu mengalirkan data sebesar 1,28GB per detiknya.
12. DDR SDRAM
Masih di tahun 2000, Crucial berhasil mengembangkan kemampuan memori SDRAM menjadi dua kali lipat. Jika pada SDRAM biasa hanya mampu menjalankan instruksi sekali setiap satu clock cycle frekuensi bus, maka DDR SDRAM mampu menjalankan dua instruksi dalam waktu yang sama.
13. DDR RAM
Pada 1999 dua perusahaan besar microprocessor INTEL dan AMD bersaing ketat dalam meningkatkan kecepatan clock pada CPU. Namun menemui hambatan, karena ketika meningkatkan memory bus ke 133 Mhz kebutuhan Memory (RAM) akan lebih besar.
14. DDR2 RAM
Ketika memori jenis DDR (Double Data Rate) dirasakan mulai melambat dengan semakin cepatnya kinerja prosesor dan prosesor grafik, kehadiran memori DDR2 merupakan kemajuan logis dalam teknologi memori mengacu pada penambahan kecepatan serta antisipasi semakin lebarnya jalur akses segitiga prosesor, memori, dan antarmuka grafik (graphic card) yang hadir dengan kecepatan komputasi yang berlipat ganda.
15. DDR3 RAM
RAM DDR3 ini memiliki kebutuhan daya yang berkurang sekitar 16% dibandingkan dengan DDR2. Hal tersebut disebabkan karena DDR3 sudah menggunakan teknologi 90 nm sehingga konsusmsi daya yang diperlukan hanya 1.5v, lebih sedikit jika dibandingkan dengan DDR2 1.8v dan DDR 2.5v. Secara teori, kecepatan yang dimiliki oleh RAM ini memang cukup memukau. Ia mampu mentransfer data dengan clock efektif sebesar 800-1600 MHz. 
PIS1002_30110356_SEJARAH PERKEMBANGAN RAM