Sunday, 4 December 2011

Membuat DuaFrame Warna

     Berikut ini adalah contoh program JAVA bagaimana membuat frame 2 sederhana, sama seperti frame sebelumya tapi kali ini kita buat dengan warna yang berbeda. cek dibawah gan..

import java.awt.Color;
import javax.swing.JFrame;

public class main {
    public static void main(String[] args) {
        JFrame frameA = new JFrame();
        frameA.getContentPane().setBackground(Color.RED);
        frameA.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frameA.setSize(300, 300);
        frameA.setLocationRelativeTo(null);
        frameA.setVisible(true);
        JFrame frameB = new JFrame();
        frameB.getContentPane().setBackground(Color.BLUE);
        frameB.setSize(300, 300);
        frameB.setLocationRelativeTo(null);
        frameB.setVisible(true);
    }
}


Berikut Penampakan hasilnya :


Membuat JFrame Sederhana

     Berikut ini contoh program JAVA bagaimana membuat frame sederhana. program yang diposting disini menggunakan Eclipse, sebagai aplikasi pembuatnya.

Berikut ini source code programnya:
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Pemrograman_Visual {

    public static void main(String[] args) {
   
        JFrame quiz = new JFrame ("DANY");
        quiz.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        quiz.setLayout (new FlowLayout ());
        quiz.setSize (300, 200);
        quiz.setVisible (true);
       
    }
}


Berikut ini tampilannya:


Sekilas Tentang JAVA GUI

     Sebelum kita berbiacara tentang JAVA GUI alangkah baiknya mengenal dahulu sejarah JAVA itu sendiri.

Sejarah Singkat JAVA
 
      Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Karena perangkat tersebut tidak memiliki banyak memori, bahasanya harus berukuran kecil dan mengandung kode yang liat.
 
      Mulanya bahasa yang diciptakan diberi nama “Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA.
 
    Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.


Pengertian GUI & AWT
     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. 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.
 
     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.*;
 
     Beberapa perbedaan AWT dan Swing, AWT merupakan komponen heavyweight (kelas berat) sedangkan Swing lightweight (kelas ringan). Swing memiliki lebih banyak komponen. Fasilitas Swing Look and Feel : Metal, Windows, Motif. Komponen Swing berdasar model-view, yaitu suatu cara pengembangan komponen dengan pemisahan penyimpanan dan penanganan data dari representasi visual data.
 
     Bahasa pemrograman Java merupakan salah satu bahasa pemrograman yang umum digunakan untuk mengembangkan aplikasi basis data yang dibuat menggunakan MySQL.

AWT vs. SWING

AWT
  • Abstract Window Toolkit.
  • AWT memberikan beberapa komponen yang sederhana, tidak sebanyak Swing.
  • Memiliki beberapa masalah dalam pengimplementasiannya awal tahun 1996.
  • AWT menggambar/membuat interface dengan menggunakan tombol AWT.
  • Aplikasi AWT memiliki penampilan yang asli/lugas (bawaan OS)
  • Ringan, aplikasi AWT cocok digunakan untuk PC dengan performa minim
SWING
  • Juga disebut dengan JFC.
  • Di implementasikan oleh Java à seperti bytecode yang dapat berjalan ke semua platform.
  • Swing memiliki 10 kali lebih banyak class, dan kemampuan dibanding AWT.
  • Berat, aplikasi Swing hanya bisa  digunakan untuk PC dengan performa tinggi.
  • Swing memiliki look-and-feel yang pluggable. Terlihat ketika pembuatan tombol

Monday, 3 January 2011

Algoritma Dalam Pencarian

Pencarian (Searching)

     Algoritma pencarian (searching algorithm ) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut.  Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful).
     Metode pencarian data dapat dilakukan dengan dua cara yaitu pencarian internal (internal searching) dan pencarian eksternal (external searching).  Pada pencarian internal, semua rekaman yang diketahui berada dalam pengingat komputer sedangakan pada pencarian eksternal, tidak semua rekaman yang diketahui berada dalam pengingat komputer, tetapi ada sejumlah rekaman yang tersimpan dalam penyimpan luar misalnya pita atau cakram magnetis.
     Selain itu metode pencarian data juga dapat dikelompokka menjadi pencarian statis (static searching) dan pencarian dinamis (dynamic searching).  Pada pencarian statis, banyaknya rekaman yang diketahui dianggap tetap, pada pencarian dinamis, banyaknya rekaman yang diketahui bisa berubah-ubah yang disebabkan oleh penambahan atau penghapusan suatu rekaman. 
    Ada dua macam teknik pencarian yaitu pencarian sekuensial dan pencarian biner. Perbedaan dari dua teknik ini terletak pada keadaan data.  Pencarian sekuensiall digunakan apabila data dalam keadaan acak atau tidak terurut.  Sebaliknya, pencarian  biner digunakan pada data yang sudah dalam keadaan urut.

1. Pencarian Berurutan (Sequential Searching) 

     Pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling sederhana.  Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. 
     Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data.  Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari.  Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir  pengulangan tidak ada data yang sama, berarti data tidak ada.  Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula. Algoritma pencarian berurutan dapat dituliskan sebagai berikut : 
  1. i ←  0 
  2. ketemu ←  false 
  3. Selama (tidak ketemu) dan (i <= N) kerjakan baris 4 
  4. Jika (Data[i] = x) maka ketemu ←  true, jika tidak i ←  i + 1 
  5. Jika (ketemu) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemukan
  6. Di bawah ini merupakan fungsi untuk mencari data menggunakan pencarian sekuensial. 
int SequentialSearch(int x)
{
     int i = 0;
     bool ketemu = false;
     while ((!ketemu) && (i < Max)){

if(Data[i] == x)
     ketemu = true;
else
     i++; 
}
if(ketemu)
     return i;
else
     return -1;
}   

Fungsi diatas akan mengembalikan indeks dari data yang dicari.  Apabila data tidak ditemukan maka fungsi diatas akan mengembalikan nilai –1.   


 2. Pencarian Biner (Binary Search)
    
     Salah satu syarat agar pencarian biner dapat dilakukan adalah data sudah dalam keadaan urut.  Dengan kata lain, apabila data belum dalam keadaan urut, pencarian biner tidak dapat dilakukan.  Dalam kehidupan sehari-hari, sebenarnya kita juga sering menggunakan pencarian biner.  Misalnya saat ingin mencari suatu kata dalam kamus.
     Prinsip dari pencarian biner dapat dijelaskan sebagai berikut : mula-mula diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2.  Kemudian data yang dicari dibandingkan dengan data tengah.  Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah –1.  Jika lebih besar, porses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah + 1.  Demikian seterusnya sampai data tengah sama dengan yang dicari. Untuk lebih jelasnya perhatikan contoh berikut.  Misalnya ingin mencari data 17
pada sekumpulan data berikut :

3  9  11  12  15  17  20  23  31  35
awal tengah akhir

     Mula-mula dicari data tengah, dengan rumus (0 + 9) / 2 = 4.  Berarti data tengah adalah data ke-4, yaitu 15.  Data yang dicari, yaitu 17, dibandingkan dengan data tengah ini.  Karena 17 > 15, berarti proses dilanjutkan tetapi kali ini posisi awal dianggap sama dengan posisi tengah +1 atau 5.
3  9  11  12  15  17  20  23  31  35
  awal tengah akhir

     Data tengah yang baru didapat dengan rumus (5 + 9) / 2 = 7.  Berarti data tengah yang baru adalah data ke-7, yaitu 23.  Data yang dicari yaitu 17 dibandingkan dengan data tenah ini.  Karena 17 < 23, berarti proses dilanjukkan tetapi kali ini posisi akhir dianggap sama dengan posisi tengah – 1 atau 6.

3  9  11  12  15  17  20  23  31  35
  awal = tengah  akhir

     Data tengah yang baru didapat dengan rumus (5 + 6) / 2 = 5.  Berarti data tengah yang baru adalah data ke-5, yaitu 17.  data yang dicari dibandingkan dengan data tengah ini dan ternyata sama.  Jadi data ditemukan pada indeks ke-5. Pencarian biner ini akan berakhir jika data ditemukan atau posisi awal lebih besar daripada posisi akhir.  Jika posisi sudah lebih besar daripada posisi akhir berarti data tidak ditemukan. Untuk lebih jelasnya perhatikan contoh pencarian data 16 pada data diatas.  Prosesnya hampir sama dengan pencarian data 17.  Tetapi setelah posisi awal 5 dan posisi akhir 6, data tidak ditemukan dan 16 < 17, maka posisi akhir menjadi posisi tengah – 1 atau = 4 sedangkan posisi awal = 5.  

3  9  11  12  15  17  20  23  31  35
 akhir awal

Disini dapat dilihat bahwa posisi awal lebih besar daripada posisi akhir, yang artinya data tidak ditemukan.
Algoritma pencarian biner dapat dituliskan sebagai berikut : 
  1. L  ←  0 
  2. R ←  N - 1 
  3. ketemu ←  false 
  4. Selama (L <= R) dan (tidak ketemu) kerjakan baris 5 sampai dengan 8    
  5. m ←  (L + R) / 2 
  6. Jika (Data[m] = x) maka ketemu ←  true
  7. Jika (x < Data[m]) maka R ←  m – 1
  8. Jika (x > Data[m]) maka L  ←  m + 1
  9. Jika (ketemu) maka m adalah indeks dari data yang dicari, jika tidak data tidak ditemukan

Di bawah ini merupakan fungsi untuk mencari data menggunakan pencarian biner.

int BinarySearch(int x)
     int L = 0, R = Max-1, m;
     bool ketemu = false;
 
while((L <= R) && (!ketemu)) 
    {
    m = (L + R) / 2;
    if(Data[m] == x)
ketemu = true;
   else if (x < data[m])
   R = m - 1; 
else
   L = m + 1;
 }
if(ketemu)
  return m;
else
  return -1;


     Fungsi diatas akan mengembalikan indeks dari data yang dicari.  Apabila data tidak ditemukan maka fungsi diatas akan mengembalikan nilai –1.  Jumlah pembandingan minimum pada pencarian biner adalah 1 kali, yaitu apabila data yang dicari tepat berada di tengah-tengah.  Jumlah pembandingan maksimum yang dilakukan dengan pencarian biner dapat dicari menggunakan rumus logaritma, yaitu :


C =²log(N)

3. Pencarian Grover
 
     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  x yang akan menghasilkan Tujuan dari persoalan ini  adalah mencari nilai x sehingga f(x) = 1. Ide dasar dari algoritma pencarian kuantum (algoritma Grover) adalah misalkan ada  N buah status yang berkorespondensi dengan N 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 N kali, akan ditemukan solusi dengan nilai peluang tertinggi. Kompleksitas algoritma ini adalah O(N).

kamus

function random (input N : integer)→ integer {random(N) mengembalikan nilai acak antara 0 sampai (N-1) } 

function f(input r:integer) → integer {f(r) adalah fungsi boolean yang mengembalikan 1 jika r adalah solusi yang dicari dan 0 jika bukan solusi} 

i,r,answer,N : integer 
        
algoritma
  
   input ← N 
   answer ← -1  
   r ← random(N)  
   for i = 0 to N do  
      if f(r) = 1 then
 answer = r  
      r ← random(N);  
      
   output ← answer 

Tuesday, 14 December 2010

PIS-10-02_30110435_JARINGAN KOMPUTER

Jaringan komputer merupakan suatu jaringan dari komputer satu ke komputer lain yang saling terhubung dan berkomunikasi atau bertukar data.

Berikut Komponen - komponen jaringan :
  • LAN (Local Area Network)
  • WAN (Wide Area Network)
  • MAN (Metropolitan Area Network)
  • Internet
  • Jaringan Tanpa Kabel
Nah, saya sebagai CLIENT akan menjelaskan cara menghubungkan suatu jaringan komputer dengan cara menggunakan jaringan wireless dan dengan OS ( Operating System ) Windows 7.

1. Pertama - tama kita lihat icon wireless di pojok kanan bawah, trus klik itu. Maka akan muncul gambar seperti ini :




2. Klik Open Network and Sharing Center pada Wireless tersebut, lalu akan muncul seperti ini :


 3. Terus klik Wireless Network Connection 2 seperti pada gambar maka akan muncul gambar berikut :


4. Nah Klik Properties lalu akan muncul tulisan Internet Protocol Version 4 (TCP/IPv4) dan klik.




5. Setelah itu ubah Proxy dari Automatic ke Manual.


6. Selanjutnya atur IP address dan cocokkan dengan IP Server dengan membedakan IP tersebut (tidak boleh sama).




7. Setelah klik OK, lalu kita change your networking settings dengan cara Set up a new connection or network.


8.  Selanjutnya ikuti perintah yang ada pada gambar.



9. Isi Network Name nya dan ubah Security Type nya ke No Authentication (Open). Klik OK.


10. Selanjutnya kita ke RUN dan tuliskan ping server tersebut.


11. Akan muncul Command Prompt seperti gambar ini :


Maka pengaturan jaringan selesai.

12. Setelah semuanya kelar, kita akan mencoba menshare sebuah File dengan OS windows 7 dengan cara klik kanan di sebuah folder, trus cari Share With, lalu klick Specific People dan tambah perintah Everyone (READ) dan klik OK. Maka proses sharing pun selesai. Kita tinggal mencari IP server dengan mengetik IP address Server tersebut diatas, seperti gambar dibawah ini: 


Proses Sharingan Jaringan FINISHED .





Wednesday, 8 December 2010

PIS-10-02_30110435_MY MULTITOUCH MOUSE

          Pernah membayangkan kira-kira seperti apa teknologi mouse komputer di masa depan? Saya akan mengembangkan keluaran terbaru dari Microsoft yang sudah memamerkan mouse masa depan mereka saat ini.
          
          Mouse Microsoft ini sarat dengan teknologi Multitouch dan mungkin di masa depan kita sudah tidak akan mendengar lagi bunyi "klik" di mouse komputer dan pastinya mungkin hanya jari-jari tangan saja yang bekerja nantinya.




          Kali ini, Microsoft memamerkan 5 Mouse mereka yaitu FTIR Mouse, Side Mouse, Cap Mouse, Orb Mouse dan Arty Mouse dimana masing-masing mouse mempunyai bentuk dan fungsi yang berbeda.




          Silahkan lihat videonya biar kita ada bayangan seperti apa mouse masa depan nantinya. 

 

Saturday, 6 November 2010

PIS-10-02_30110435_RAM

Hubungan RAM dengan Prosessor ada 2 versi yaitu :

  • Versi Lama
          Prosessor melewati North Bridge (Chipset), terus ia akan melakukan 3 langkah yaitu Address Bus (penentukan alamat RAM), Control Bus (pengontrol kinerja dengan instruksi – instruksi) dan Data Bus (sebagai alat transfer atau yang mengantarkan data ke RAM), setelah itu baru diteruskan ke RAM.

  • Versi Baru
          Pada Versi baru ini tidak perlu melewati North Bridge(Chipset), tapi langsung dari Prosessor ke RAM karena Address Bus, Control Bus dan Data Bus telah terdapat dalam prosessor.

1. Cara Membedakan RAM :  
  • DDR1  -->    frekuensi 200Mhz, 400 Mhz dengan tegangan 2,5 Volt 
  • DDR2  -->    frekuensinya 533 Mhz, 800 Mhz dengan tegangan 1,8 Volt   
  • DDR3  -->    frekuensinya 1024 Mhz dengan tegangan 1,5 Volt
2. Cara Memilih RAM yang baik dan benar : 
  • Bandwith, semakin besar semakin bagus
  • Latency/Delay, semakin kecil semakin bagus 
3. RAM dibagi menjadi 2 bentuk yaitu :
  • Single Channel --> Di single channel ini cuma ada 1 jenis RAM dan sifatnya berbeda. Misalnya PC3200 1GB dengan PC6400 2GB 
  • Dual Channel   --> Di dual channel ini ada 2 jenis RAM dan sifatnya nya harus identik.   Misalnya PC6400 2GB dengan PC6400 2GB 

        • 1byte = 8 bit
        • 64 bit = 8 byte 
        • Cara mengetahui Bandwith = frekuensi  * 8 
        • Cara mengetahui Frekuensi = Bandwith  / 8 
        • Cara mengetahui Clock Speed = Bus Bandwith / CL x BW (Bus Width) 
        • Cara mengetahui Bus Speed = CL x CS