Powered By Blogger

Sabtu, 03 Desember 2011

TUGAS BESAR 2 PEMROGRAMAN VISUAL


Kajian 1 Pengenalan Java
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package). Kelas merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.
Grafical User Interface (GUI) adalah salah satu kemampuan Java dalam mendukung dan manajemen antarmuka berbasis grafis. Tampilan grafis yang akan ditampilkan terhubung dengan program serta tempat penyimpanan data. Elemen dasar di Java untuk penciptan tampilan berbasis grafis adalah dua paket yaitu AWT dan Swing. Dengan AWT, dapat membuat window, menggambar, manipulasi gambar, dan komponen seperti Button, Scrollbar, Checkbox, TextField, dan menu pull-down. Penggunaan komponen AWT ditandai dengan adanya instruksi : import java.awt.*;
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.*;

Eclipse : Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
  • Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
  • Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
  • Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
Netbeans : NetBeans mengacu pada kedua platform kerangka untuk aplikasi desktop Java, dan sebuah lingkungan pengembangan terpadu (IDE) untuk pengembangan dengan Java , JavaScript , PHP , Python , Ruby , Groovy , C , C + + , Scala , Clojure , dan lain-lain.
NetBeans IDE ditulis dalam Java dan berjalan di mana-mana mana JVM diinstal, termasuk Windows, Mac OS, Linux, dan Solaris.Sebuah JDK diperlukan untuk pengembangan fungsionalitas Jawa, tetapi tidak diperlukan untuk pembangunan di bahasa pemrograman lain.
Platform NetBeans memungkinkan aplikasi untuk dikembangkan dari satu set modular komponen software yang disebut modul. Aplikasi berbasis platform NetBeans (termasuk IDE NetBeans) dapat diperpanjang oleh pengembang pihak ketiga .

Kajian 2 Komponen Swing
1.      Panel : Turunan dari Container Class. Sebuah frame atau window tanpa titlebar,
            menubar tidak termasuk border. Superclass dari applet class.

2.      Dialog : Turunan dan korespondensi pada dialog class dalam package AWT. Biasanya
            digunakan untuk menginformasikan sesuatu kepada pengguna atau prompt
            pengguna untuk input.
3.      Container : Abstract Subclass dari Component Class. Sebuah komponen yang dapat
            menampung komponen yang lainnya.

Kajian 3 Layout Manager
Layout manager bertugas menyusun komponen-komponen(button, label, checkbox, dll) di dalam suatu container (panel, frame, dll). Layout manager menentukan posisi dan ukuran 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.

1.      Flow layout
FlowLayout menyusun komponen berdasarkan ukuran default masing-masing, dengan posisi mulai dari kiri ke kanan dan dari atas ke bawah di dalam container yang digunakan. FlowLayout dapat memiliki “row justification”: LEFT, CENTER, atau RIGHT serta “padding” horizontal/vertical. FlowLayout merupakan default untuk JPanel.
Contoh:
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout());

2.      Grid layout
GridLayout menempatkan komponen dalam bentuk “rectangular grid”. Ada 3 constructor untuk GridLayout:
·         GridLayout(): membuat layout dengan satu kolom per komponen. Hanya satu baris yang digunakan.
·         GridLayout(int rows, int cols): membuat suatu layout berdasarkan jumlah baris dan kolom yang diinginkan.
·         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.

GridLayout menempatkan komponen dengan urutan dari kiri ke kanan dan dari atas ke bawah. GridLayout akan memaksa setiap komponen untuk menempati space container yang kosong serta membagi rata ukuran space tersebut.
Contoh:
frame.add(panel1);
frame.add(panel2);
frame.setLayout(newGridLayout(2, 1));

3.      Border layout
BorderLayout menyusun komponen berdasarkan lokasi geografis: NORTH, SOUTH, EAST, WEST, and CENTER.
BorderLayout merupakan layout default untuk JWindowdan JFrame.
Contoh:
frame.setLayout(new BorderLayout( ));
frame.add(new JButton("Button1"), BorderLayout.NORTH );
frame.add(new JButton("Button2"), BorderLayout.SOUTH );

4.      Box Layout
Javax.swingmemiliki beberapa tambahan layout manager lagi, salah satunya adalah: BoxLayout. Layout manager ini sangat berguna untuk membuat toolbarssederhana atau vertical button bars. Cara kerjanya sangat sederhana yaitu menempatkan komponen dalam satu baris atau satu kolom. Untuk mempermudah penggunaan BoxLayout, Swing menyediakan sebuah kelas yang bernama Boxyaitu sebuah container yang secara otomatismemiliki BoxLayout manager.
Contoh :
Container box = Box.createHorizontalBox( );
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("In the"));

5.      Card Layout
CardLayout merupakan layout manager yang mampu menciptakan efek “tumpukan” komponen. Artinya, layout ini tidak memposisikan komponen di lokasi-lokasi tertentu di dalam kontainer, melainkan menampilkannya satu demi satu.
Contoh :
            CardLayout cards = new CardLayout( );
public Card( ) {
setLayout(cards);
ActionListener listener = newActionListener( ) {
public void actionPerformed(ActionEvent e) {
cards.next(Card.this);
}
};
JButton button;
button = new JButton("one");
button.addActionListener(listener);
add(button, "one");
button = newJButton("two");

6.      Gridbag Layout
Layout ini memampukan kita untuk memposisikan komponen relatif terhadap komponen lainnya berdasarkan constraint tertentu. Dengan menggunakan GridBagLayout, kita dapat menciptakan layout apapun juga, tanpa batas. Komponen disusun pada koordinat tertentu pada sebuah grid yang disebut “logical coordinate”.  Logical coordinate berarti bahwa koordinat suatu komponen ditentukan oleh sekumpulan komponen lainnya. Baris dan kolom dari grid tersebut bersifat “stretch” yang bergantung pada sizedan constraintyang dimilikinya.
Contoh :
constraints = newGridBagConstraints( );
this.setLayout(new GridBagLayout( ));
intx, y; this.addGB(new JButton("North"), x = 1, y = 0);
this.addGB(new JButton("West"), x = 0, y = 1);
this.addGB(new JButton("Center"), x = 1, y = 1);
this.addGB(newJButton("East"), x = 2, y = 1);
this.addGB(new JButton("South"), x = 1, y = 2);


Kajian 4 Event Listener

1.      ActionListener : Mendeteksi aksi yang diberikan dari komponen.
Method :
·         void actionPerformed (ActionEvent e) Mengetahui action yang dilakukan

2.      MouseListener : Mendeteksi tombol mouse yang digunakan
Method : 
·         void mouseClicked (MouseEvent e) Mouse di-click atau ditekan tombolnya kemudian langsungdilepaskan.
·         void mouseEntered (MouseEvent e) Ketika mouse memasuki komponen.
·         void mouseExited(MouseEvent e) Ketika mouse keluar dari komponen.
·         void mousePressed (MouseEvent e) Tombol mouse ditekan.
·         void mouseReleased(MouseEvent e) Tombol mouse dilepaskan
3.      Mouse Motion Listener : Mendeteksi pergerakan mouse
Method :
·         void mouseDragged (MouseEvent e) Mouse dengan posisi ditekan kemudian digerakkan.
·         void mouseMoved (MouseEvent e) Mouse digerakkan tanpa ada tombol yang ditekan.

Kajian 5 Koneksi Java ke Database
kalau buat database MySQL bisa dengan XAMPP, phpmyadmin, SQLyog, dll.
contoh phpmyadmin :
Setelah mempunyai database,.kita butuh library untuk koneksi database dengan java seperti mysql conector java,.
cara koneksikannya (kalau ini,,dengan netbeans),.,
pada file project, klik kanan pada library,,lalu pilih add jar/folder,
lalu masukkan file conectornya,.,

oke,.,setelah semua jurus terkumpulkan,,
saatnya kita buat program di Java, kita buat simple aja,,sebagai contoh.

setelah kita membuat program, kita masukkan library sql di atas class, contoh source code nya,.
import java.sql.*;
public class nama_class extends javax.swing.JFrame {
lalu,,,
deklarassikan Connection dan Statement dengan null
Connection con=null;
Statement st=null;
selanjutnya,,
masukkan source code untuk koneksi sql nya,,,sesuai server, nama database, user, password,..
try {
Class.forName("com.mysql.jdbc.Driver");
//nama database -> contoh,| username -> username | password -> password (username dan password diisikan dari username dan password phpmyadmin).
connection=DriverManager.getConnection("jdbc:mysql://localhost/contoh,"username","password");
//untuk cek kalau sudah conect
System.out.println(“Siiiippppp”);
} catch (Exception e) {
System.err.println("Kesalahan: "+e);
}
kalau sudah conect ke database, ,
kita masukkan source code sql pada button, nya untuk menyimpan, menghapus, atau mengubah ,,..
dengan klik 2x pada button, dan masukkan sourcecode nya,,
disini kita contohkan untuk menyimpan
try {
st=con.createStatement();
String sql="INSERT INTO anggota VALUES ('"+nomor+"','"+nama+"','"+tempat_lahir+"','"+tanggal_lahir+"');";
st.executeUpdate(sql);
st.close();
} catch (Exception e) {
javax.swing.JOptionPane.showMessageDialog(null, "Haha,,,ada yang salah,,, \n"+e);
}
//nomor, nama, tempat_lahir, tanggal_lahir berdasarkan yang di inputkan dari JtextField yang sudah di
//deklarasikan.
Selanjutnya, lihat di database, apakah sudah masuk atau belum data yang di inputkan tadi,.,


Senin, 03 Januari 2011

PEMROGRAMAN PENCARIAN

PENCARIAN
Pengertian à Pencarian adalah proses menemukan nilai (data) tertentu  dari dalam sekumpulan nilai yang bertipe sama (tipe dasar maupun tipe bentukan). Dengan kata lain, algoritma pencarian adalah algoritma yang mengambil input berupa persoalan dan mengembalikan penyelesaian berupa penemuan nilai yang dicari dalam persoalan inputan.
Penggunaan Pencarian à
v  Proses pencarian seringkali diperlukan pada saat program perlu mengubah atau menghapus nilai tertentu (sebelum bisa mengubah atau menghapus, perlu mencari dulu apakah nilai tersebut ada dalam kumpulan nilai tersebut).
v  Penyisipan data ke dalam kumpulan data (perlu dimulai dengan pencarian apakah data tersebut telah ada sehingga terhindar dari duplikasi data).
Ada 2 jenis pencarian yaitu à
1.       Pencarian Sekuensial : Proses membandingkan setiap elemen larik (array) satu persatu dengan nilai yang dicari secara beruntun, mulai dari elemen pertama sampai elemen yang dicari sudah ditemukan, atau sampai seluruh elemen sudah diperiksa .

-Keunggulan :
*Algoritma pencarian sekuensial ini cocok untuk pencarian nilai tertentu pada sekumpulan data      terurut maupun tidak.
*Keunggulan algoritma ini adalah dalam mencari sebuah nilai dari sekumpulan kecil data.
*Termasuk algoritma yang sederhana dan cepat karena tidak memerlukan proses persiapan data (misalnya: pengurutan).

1.       Pencarian Biner : Pencarian biner adalah proses mencari data dengan membagi data atas dua bagian secara terus menerus sampai elemen yang dicari sudah ditemukan, atau indeks kiri lebih besar dari indeks kanan .

-Keungggulan :
Algoritma ini lebih efisien daripada algoritma pencarian sekuensial, tetapi pencarian ini mempunyai syarat yaitu bahwa kumpulan data yang harus dilakukan pencarian harus sudah terurut terlebih dahulu, baik terurut secara menaik (ascendant) atau menurun (descendant).

-Penggunaan Pencarian Biner :
Pencarian dalam data terurut bermanfaat misalnya pada penyimpanan data dengan beberapa komponen, program dapat mencari sebuah indeks terurut. Setelah menemukan indeks yang dicari, program dapat membaca data lain yang bersesuaian dengan indeks yang ditemukan tersebut. 

NB à Algoritma pencarian sequential dapat digunakan untuk data yang acak maupun terurut.
Jika dilihat dari sisi kinerja dan efisiensi : untuk kasus terburuk (data tidak ditemukan), algoritma pencarian sequential akan sebanding dengan jumlah data. Sedangkan algoritma binary 2logN.


ALGORITMA PENCARIAN LAIN :
   Pencarian sekuensial dan pencarian biner merupakan algoritma pencarian dasar yang termasuk dalam kelompok pencarian daftar (list search). Terdapat pula beberapa algoritma lain yang termasuk pula dalam kelompok pencarian daftar, antara lain:

1.Pencarian Interpolasi :
  Melakuan pencarian lebih baik dari biner pada lirik berukuran besar dengan   distribusi seimbang, tapi waktu pencariannya buruk.Algoritma pencarian interpolasi memiliki kerumitan dalam hal perhitungan untuk menentukan posisi rekaman yang akan diperiksa berikutnya dibandingkan dengan pencarian biner tetapi algoritma pencarian interpolasi memiliki kinerja yang baik untuk rekaman-rekaman yang memiliki kunci yang mendekati seragam.
2.Pencarian Grover :
Melakukan pencarian dalam waktu singkat, yang merupakan pengembangan dari pencarian linier biasa pada lirik dengan elemen tidak berurut.
Pada persoalan pencarian dengan exhaustive search, diberikan suatu fungsi f(x),x=0,1...(N-1), dimana f(x)
adalah fungsi yang akan selalu menghasilkan 0 untuk semua x,kecuali satu nilai yang akan menghasilkan 1. Tujuan dari persoalan ini adalah mencari nilai sehingga f(x) = 1. Ide dasar dari algoritma pencarian kuantum (algoritma Grover) adalah misalkan ada buah status yang berkorespondensi dengan item dalam suatu daftar tak terurut. Peluang untuk setiap status, bahwa status tersebut adalah yang dicari dalam daftar tersebut adalah 1/N. Dengan prinsip mekanika kuantum, dimungkinkan untuk meningkatkan nilai peluang status yang dicari karena pengaruh status yang lain (status yang bukan status yang dicari), sehingga pada akhirnya status yang dicari akan memiliki nilai peluang tertinggi. Prinsip mekanika kuantum juga memungkinkan untuk berada dalam lebih dari satu status, dan melakukan lebih dari satu komputasi dalam waktu yang bersamaan. Pada pencarian dengan probabilitas pada komputer klasik, peluang untuk status yang dicari akan meningkat sebesar 1/N setiap kali iterasi pada kalang for, sehingga dengan iterasi sebanyak kali, akan ditemukan solusi dengan nilai peluang tertinggi.

CONTOH PENCARIAN SEKUENSIAL
 {
int i = 0;
bool ditemukan = false;
while ((!ditemukan) && (i < Max))
{
if(Data[i] == x)
ditemukan = true;
else
i++;
}
if(ditemukan)
return i;
else
return -1;
}


CONTOH PENCARIAN BINER
Int data[10] = {1,3,4,7,12,25,40,65,78,90}; //variabel global

int binary_search(int cari)
{
int l,r,m;
int n = 10;
l = 0;
r = n-1;
int ketemu = 0;
while(l<=r && ketemu==0)
     { m = (l+r)/2;
if( data[m] == cari )
         ketemu = 1;
else if (cari < data[m])
         r = m-1;
else l = m+1; }
if(ketemu == 1)
        return 1;
else return 0; }
void main()
{ clrscr();
int cari,hasil;
cout<<"masukkan data yang ingin dicari = "; cin>>cari;
hasil = binary_search(cari);
if(hasil == 1)
{
cout<<"Data ada!"<
}
else
if(hasil == 0)
cout<<"Data Tidak ada!"<
getch();
}





Rabu, 15 Desember 2010

PIS-10-02_30110073_MEMBUAT JARINGAN KABEL LAN (tambahan)

Cara membuat jaringan (Lan) untuk menghubungkan 2 komputer. Beriikut langkah-langkahnya:
  1. Colokkan kabel UTP yang sudah dikonfigurasi dengan kabel cross ke port LAN card komputer pertama kita.
  2. Jika kita menggunakan Windows XP,buka Control Panel »» Network and Internet Connections »» Network Connections.
  3. Jika Menngunakan Windows 7 atau Vista, buka Control Panel. Pada icon Network and Internet, klik tulisan View Networks Status and Task.
  4. Selanjutnya akan muncul jendela Networks and Sharing Center. Pada sisi sebelah kiri jendela ini, klik tulisan Change Adapter Setting
  5. Klik kanan pada Networkd Card Anda dan pilih properties.
  6. Pada jendela Local Area Connection Properties, pilih Internet Protocol (TCP/IP) pada Windows XP atau Internet Protocol Version 4 (TCP/IPv4) pada Windows 7 dan Vista. Kemudian klik tombol properties.
  7. Pada jendela properties yang muncul, pilih opsi Use the followinf IP Address dan isikan dengan 192.168.0.1 pada IP Adrees, 255.255.255.0 pada Subnetmask. Input yang tersisa bisa kita kosongkan.
  8. Klik OK untuk menyimpan setting dan klik tombol OK juga pada Local Area Connection Properties
Selanjutnya agar kedua komputer tersebut bisa berhubungan, maka Workgroup dari komputer-komputer tersebut haruslah sama. Untuk itu, berikanlah nama Workgroup yang sama pada kedua komputer tersebut. Caranya sebagai berikut:
  1. Untuk pengguna Windows XP, bukalah system Properties dengan mengklik kanan icon My Computer dan pilih properties. kita juga menekan tombol kombinasi keyboard Win + Break.
  2. tapi bagi pengguna windows 7, caranya sedikit sama yaitu buka system properties dengan cara seperti pada windows XP. Pada jendela yang muncul klik tulisan Change Setting pada bagian Computer name, domain, and workgroup setting.
  3. Pada jendela System Properties, baik Windows XP, Vista ataupun Windows 7, klik tombol Change.
  4. Di jendela berikutnya berikan nama untuk komputer 1 dengan nama yang diinginkan. Misalkan DK-1. Dan berikan nama dari workgroup kita. Contonya Dunia Komputer.
  5. Klik OK dan klik OK juga pada jendela System Properties.
Agar perubahan yang baru kita lakukan berpengaruh pada system maka diperlukan proses restart. Untuk itu retart komputer kita. Lakukanlah langkah-langkah yang sama dengan diatas untuk melakukan konfigurasi Network Card dan merubah nama komputer serta workgroup pada komputer kedua. Namun, bedanya pada komputer 2, IP address yang diberikan adalah 192.168.0.2. Subnetmask sama yaitu 255.255.255.0. Sedangkan Nama komputer harus berbeda. Misalkan berikan nama DK-2. Namun, workgroup haruslah sama.
Untuk mengetahui apakah kedua komputer tersebut sudah terhubung lakukanlanh ping dari komputer 1 ke komputer 2 atau sebaliknya. Caranya sebagai berikut:
  1. Buka Command Prompt dengan menekan tombol keyboard Win + R.
  2. Pada CMD ketik perintah “ping IP Address”. Ip Addrees diisi dengan IP komputer yang ingin di ping. Jika kita melakukan ping dari komputer 1, maka IP address diisi dengan IP komputer 2. Begitu juga sebaliknya. Contoh perintah ping dari komputer 1 ke komputer 2:
ping 192.168.0.2
  1. Jika koneksi antar kedua komputer tersebut berhasil maka hasilnya akan seperti ini:
Pinging 192.168.0.2 with 32 bytes of data:
Reply from 192.168.0.2: bytes=32 time<1ms TTL=128
Reply from 192.168.0.2: bytes=32 time<1ms TTL=128
Reply from 192.168.0.2: bytes=32 time<1ms TTL=128
Reply from 192.168.0.2: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.0.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
  1. Jika hasilnya seperti ini:
Pinging 192.168.0.2 with 32 bytes of data:
Request time out
Request time out
Request time out
Request time out
Ping statistics for 192.168.0.2:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
Berarti kedua komputer tersebut belum terkoneksi. Cobalah memeriksa apakah kabel sudah terhubung dengan benar atau mungkin saja ada kabel yang putus.
Jika semuanya sudah beres dan hasil ping sudah bagus, ini artinya kita berhasil mengubungkan 2 komputer tersebut.

PIS-10-02_30110073_MEMBUAT SERVER

1. Pada tampilan awal komputer , klik kanan pada icon wifi yang berada di pojok kanan bawah background kemudian pilih open network connection

2. kemudian akan muncul wireless network connection , klik kanan , lalu pilih properties

3.Kemudian akan muncul tampilan gambar sepeti dibawah ini , lalu pilih internet protocol (TCP/IP)

4. Setelah itu klik properties , pilih use the following IP adress . Dan kita isi IP adress dengan adress kita lalu klik ok

5. Setelah di klik ok akan kembali lagi ke tampilan seperti gambar dibawah , kemudian pilih advanced

6. Setelah dipilih advanced , isi dibagian network name (SSID) , pilih disable pada pilihan data encryption kemudian klik ok

7. Akan muncul lagi tampilan gambar seperti dibawah ini , kemudian pilih lagi advanced

8. Kemudian pilih computer to computer (ad hock) networks only , kemudian close

9. Setelah itu klik start , pilih run , dan masukkan IP adress teman kita untuk di ping

10. Jika ingin share folder ke temen kita , kita pilih terlebih dahulu foldernya kemudian klik kanan pilih sharing and security

11. Kemudian pilih sharing dan pilih share this folder on the network .

Rabu, 08 Desember 2010

PIS-10-02_30110073_IT MASA DEPAN

Beberapa tahun kedepan saya ingin membuat teknologi rancangan saya sendiri . saya akan membuat sebuah handphone . tidak jauh berbeda dengan handphone2 pada jaman sekarang tapi saya akan menambahkan beberapa fitur2 lagi . handphone yg akan saya buat yaitu handphone dengan layar touchscreen dan dilengkapi dengan pen touchnya . dengan menggunakan pen touch itu kita bisa menggambar atau menulis di layarnya , jadi handphone jenis ini cocok juga untuk para designer.
Handphone tersebut juga dilengkapi dengan fitur Microsoft excel , fitur2 untuk edit foto seperti adobe photoshop , sepeti yg ada pada computer . terdapat fitur peta juga , jadi kalau mau ke tempat- tempat yg belum pernah dikunjungi bisa melihat peta tersebut . pada handphone ini sudah menggunakan kamera seperti kamera SLR . jadi tidak perlu membeli kamera SLR yang mahal lagi , dengan menggunakan handphone ini pun sudah dapat menghasilkan gambar yang bagus . 
Kelebihan lain dari handphone ini ialah casing handphone dapat berubah warna sesuai mood yang memegang handphone . misalnya warna merah apabila orang yg memegangnya sedang marah . handphone ini juga bisa digunakan sebagai remot TV dan remot AC . handphone ini sangat aman untuk menyimpan data , karena tidak ada satupun virus yang bisa masuk ke dalam handphone ini .
Hahahaa :D

Jumat, 05 November 2010

PIS-10-02_30110073_RAM

SEJARAH PERKEMBANGAN RAM

#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).

à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. Dan untuk menyelesaikan masalah ini maka dibuatlah DDR RAM (double data rate transfer) yang awalnya dipakai pada kartu grafis, karena sekarang anda bisa menggunakan hanya 32 MB untuk mendapatkan kemampuan 64 MB. AMD adalah perusahaan pertama yang menggunakan DDR RAM pada motherboardnya.

à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.
Perbedaan pokok antara DDR dan DDR2 adalah pada kecepatan data serta peningkatan latency mencapai dua kali lipat. Perubahan ini memang dimaksudkan untuk menghasilkan kecepatan secara maksimum dalam sebuah lingkungan komputasi yang semakin cepat, baik di sisi prosesor maupun grafik.
Selain itu, kebutuhan voltase DDR2 juga menurun. Kalau pada DDR kebutuhan voltase tercatat 2,5 Volt, pada DDR2 kebutuhan ini hanya mencapai 1,8 Volt. Artinya, kemajuan teknologi pada DDR2 ini membutuhkan tenaga listrik yang lebih sedikit untuk menulis dan membaca pada memori.
Teknologi DDR2 sendiri lebih dulu  digunakan pada beberapa perangkat antarmuka grafik, dan baru pada akhirnya diperkenalkan penggunaannya pada teknologi RAM. Dan teknologi DDR2 ini tidak kompatibel dengan memori DDR sehingga penggunaannya pun hanya bisa dilakukan pada komputer yang memang mendukung DDR2.

à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. Pada clock 400-800 MHz, jauh lebih tinggi dibandingkan DDR2 sebesar 400-1066 MHz (200- 533 MHz) dan DDR sebesar 200-600 MHz (100-300 MHz). Prototipe dari DDR3 yang memiliki 240 pin. Ini sebenarnya sudah diperkenalkan sejak lama pada awal tahun 2005. Namun, produknya sendiri benar-benar muncul pada pertengahan tahun 2007 bersamaan dengan motherboard yang menggunakan chipset Intel P35 Bearlake dan pada motherboard tersebut sudah mendukung slot DIMM.

CARA KERJA / KOMUNIKASI RAM KE PROCESSOR

Cara Kerja RAM ke Processor dibagi jadi dua yaitu versi lama dan baru :
-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.
-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

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

Cara Memilih RAM yang baik :
-Bandwith semakin besar semakin bagus.
-Latecy(Delay) semakin kecil semakin bagus


CARA PERHITUNGAN MAIN-MEMORY

PC 3200
DDR/64 bit
Clock Speed
Clock Cycle
Bus Speed
Bus Width
Bandwitch
Cycle Time

3200/CL*BW
=3200/2*8
=16
=200 MHz
-SDRAM = 20 =1
-DDR1 = 21    =2
-DDR2 = 22 =4

CL*CS
= 2*200 =400MHz
8 byte
3200
1/CS
=1/200 MHz
=1/2*106  second