Minggu, 04 Desember 2011

kesan pesan selama perkuliahan

kesan selama belajar java .
belajar java emang asyiikk juga sih ..tpii bikin otak puyeng juga yaa kalau kerjaannya ngoding truus ..hadduuuhhh apalagi klu uda dikasih tugas ..alamaaaakk kalo sedikit sih yaa gag apaa" nah ini sekali ngerjain tugas,tugas yang lain keteteran ..hhahaha tpii enak juga sih belajar java'y ..
jujur ajaa neh yaa,pak .baru kali inii lhooo saya sedikit" bisa ngoding karena belajar visual..jadi ngerti lah kalo dsuruh ngoding .yaiyalaahh org tiap ketemu visual kerjaannya ngoding lagi ..ngoding lagi ..hhahaha tpii kerenlah bapak ngajarnyaa ... T.O.P jempol buat bapaknyaa .. :D


pesan/kritik :
gag neko" s pak mungkin pesan dari rere sama ajaa kya teman" yang lainnya ..pak,minimalkan tugas visuaaalll paaakk...jangan banyak banyak paaaaakkk ngasih tugasnyaa ....ampun deh :p pusiiingg pak...hhahaha




kesan selama perkuliahan di poltek
banyak tugasnyaaa iihhh ..... gag pernah dapet libur dari semester awal ..ckckckckckck koq kya'y pis 10-02 ajaa neh yg gag pernah dapet libur kuliah selama seminggu ..ckckckck


pesan dan kritik :
kampusku tercintaa ...tolong doong kelasnya ditambahin biar gag bentrok-bentrok truss klu mau adaa tamabahan kelas ..masa kalo mau libur,kelasnya penuh semua :( wifi kampus juga tamabahin yaa quota'y biar ngaksesnya juga cepeeett ...hhaha satulagi PENGEN CEPET LIBUR SEMESTER ...tamabahin doong libur semesternyaa jadi 2bulan FULL ..hhehehe :p

kajian 1 : Pengenalan java basic , java swing dan awt serta editor eclipse dan netbeans

  • Java


Java adalah sebuah bahasa pemrograman komputer berbasiskan kepada Object Oriented Programming. Java diciptakan setelah C++ dan didesain sedemikian sehingga ukurannya kecil, sederhana, dan portable (dapat dipindah-pindahkan di antara bermacam platform dan sistem operasi). Program yang dihasilkan dengan bahasa Java dapat berupa applet (aplikasi kecil yang jalan di atas web browser) maupun berupa aplikasi mandiri yang dijalankan dengan program Java Interpreter. Contoh program yang ditulis dengan bahasa Java adalah HotJava yang berupa sebuah web browser.

  • Java Basic


Java adalah sebuah bahasa pemograman yang bersifat OOP atau kata lainnya adalah Object Oriented  Programming dimana didalamnya kita harus memahami apa yang disebut dengan : 
  • Encapsulation
  • Inheritance
  • Polymorphisme

  • Java Swing


Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. Swing Java yaitu salah satu pemrograman berbasis GUI(Graphical User Interface) di Java. Sesungguhnya di Java terdapat dua macam pemrograman berbasis GUI(Graphical User Interface) yaitu : AWT dan Swing. 
Namun dalam perkembangannya AWT sudah tidak dianjurkan untuk digunakan dikarenakan faktor keamanan. Banyak sekali fitur yang terdapat di Swing, namun dalam kesempatan ini kita hanya akan mengganti icon saja.

Komponen Dasar Swing
Secara umum ada lima bagian dari Swing yang akan sering kita gunakan. Komponen atau bagian – bagian itu adalah:


  1. Top-level Container, merupakan container dasar di mana komponen lainnya diletakan. Contoh Top-level container ini adalah Frame, Dialog dan Applet yang diimplementasi dalam class JFrame, Jdialog, dan JApplet.
  2.  Intermediate Container, merupakan komponen perantara di mana komponen lainnya akan diletakan. Salah satu contoh container ini adalah class JPanel.
  3.  Atomic Component, merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan komponen jenis ini. Contohnya adalah JButton, JLabel, JTextField, dan JTextArea.
  4.  Layout Manager, berfungsi untuk mengatur bagaimana posisi dari komponen – komponen yang diletakan pada container. Secara default terdapat 5 macam layout yaitu berupa class BorderLayout, BoxLayout, FlowLayout, GridBagLayout, dan GridLayout.
  5.  Event Handling, untuk menangani event yang dilakukan oleh user misalnya menekan tombol, mengkilik mouse dan lain – lain.


  • Java AWT
AWT atau Abstract Window Toolkit disebut  toolkit karena didalamnya tersedia class-class yang telah dirancang untuk membuat GUI. Paket AWT termasuk paket jadi untuk setiap versi Java.Berbeda dengan AWT, JSwing juga merupakan paket dari Java untuk merancang GUI tetapi paket JSwing ini merupakan paket tambahan yang harus di download secara terpisah.
  • Eclipse


Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). 

interface eclipse.
  1. Package Explorer, merupakan jendela yang menampilkan project-project yang sudah kita buat dalam sebuah workspace. Jendela ini layaknya exlpore pada sistem operasi windows, yang berguna untuk mengexplore project yang ada dalam sebuah workspace
  2. Java Editor, merupakan jendela yang menampilkan coding java yang sedang kita kerjakan. Dari sini kita mengetikkan perintah-perintah dalam syntax java untuk membuat sebuah aplikasi.
  3. Console, merupakan jendela yang menampilkan hasil output dari aplikasi yang kita buat. Agar hasil outputnya mau berjalan, tekan RUN pada toolbar. Jika yang munculm error, berarti aplikasi yang kita buat memang memiliki error, dan console ini akan menunjukkan dimana letak errornya.
  4. Toolbar, berisi shortcut perintah dalam bentuk icon. Seperti create new (project, folder), create new visual classes (GUI with Swing), Save, Run, Create new package, Create new class dan masih banyak lagi
Setiap kita membuat sebuah project, secara otomatis ecplipse akan membuatkan folder untuk project tersebut. Berikut beberapa penulisan yang sering dan dianjurkan untuk digunkaan dalam penulisan coding java.

Project dan Class:
  • Selalu diawali dengan huruf besar
  • Tidak menggunakan spasi
  • Tidak dimulai dengan angka
  • Jika lebih dari satu kata, tiap awal kata dengan huruf besar. Contoh: AplikasiKalkulator
Method:
  • Selalu diawali dengan huruf kecil
  • Tanpa menggunakan spasi
  • Jangan diawali dengan angka
  • Jika lebih satu kata untuk kata kedua dan selanjutnya diawali dengan huruf besar. Contoh: getAngkaAplikasiKalkulator




  • NetBeans
Netbeans adalah sebuah IDE yang digunakan untuk pemrogroraman java, sama halnya ketika kita melihat IDE miliknya di VB, Delphi, C++ builder dan masih banyak lagi pemrograman yang berbasis GUI, kita tinggal drop and drag saja untuk menentukan kompone komponen yang dibutuhkan,..
NetBeans selama ini dikenal sebagai IDE (Integrated Development Environment) untuk bahasa pemrograman Java. Tapi ternyata pada perkembangan nya NetBeans juga dapat digunakan untuk bahasa pemrograman lainnya.
Bahasa pemrograman yang dapat digunakan pada NetBeans selain Java antara lain C, C++, Phyton, PHP, Ruby, Javascript dan masih banyak lagi lainnya.
Untuk PHP, sejak versi 6.5 NetBeans sudah mendukung bahasa pemrograman PHP.
Dibandingkan dengan editor PHP lainnya NetBeans memiliki kelebihan antara lain NetBeans adalah software open source jadi anda tidak perlu khawatir soal lisensi. NetBeans ini berlisensi GPL dan CDDL.

kajian 2 : komponen swing

  • merupakan bagian dari Java™ Foundation Classes (JFC), dan dapat digunakan dengan JDK™ 1.1 atau the Java™ 2 platform.
  • Komponen User Interface Swing dikatgorikan sebagai berikut :




.CONTAINER
JFrame baru dapat diisi dengan komponen setelah lebih dahulu diletakkan kontainer. Kontainer merupakan komponen khusus yang berguna untuk menampung komponen GUI lainnya
DIALOG BOX





kajian 5 : eclipse/netbeans ke database

MySQL
MySQL versi 5.0 dan tool editor java berupa Eclipse.
Install Driver Connector MySQL
  1. Buat database jika belum memiliki, sebagai contoh saya adalah database tentang infonegara di MySQL.
  2. Download driver MySQL connector dan kemudian extract format .zip tersebut.
  3. Cari file bernama mysql-connector-java-5.0.8-bin.jar. Versi conector java bisa berbagai macam versi, sedang yang saya memakai adalah versi 5.0.
  4. Copy file tersebut kedalam lib direktori project web application.
  5. Buat project java baru dan edit build path-nya. Misalnya File>new>java project.
  6. Setelah terbentuk project file baru, perluas project tersebut dan klik kanan pada JRE Syetem Library.
  7. Pilih bulid path > configure bild path. Contoh screenshoot nya adalah demikian :
  8. Klik Add JARs > dan cari file mysql-connector-java-5.0.8-bin.jar > klik OK. Dengan demikian driver koneksi sudah di install pada project java.


Setelah itu kita coba driver tersebut apakah berhasil atau tidak. Untuk itu buat file java class baru dengan Eclipse.
  1. File > new > class > nama project (misal teskoneksi)
  2. Masukkan kode program berikut. Sebelumnya perlu diketahui bahwa database yang saya pakai bernama "infonegara",dengan nama user di MySQL "java" dan password "java" dan localhost : 8080. Sehingga kode contohnya sebagai berikut.
  3. package tutorial.blog.database;
    import java.sql.Connection;import java.sql.DriverManager;

    public class tes {
    public static void main (String[]args) {
    try {
    Class.forName("com.mysql.jdbc.Driver");
    }
    catch (Exception ex) {
    System.err.println("Error (1): "+ex); System.exit(1);
    }
    //Bentuk Koneksi
    Connection koneksi=null;
    try {
    koneksi =DriverManager.getConnection ("jdbc:mysql://localhost/infonegara","java","java");

    System.out.println("Koneksi berhasil boss...");
    }
    catch (Exception ex) {
    System.out.println("Error (2): "+ex);
    System.exit(1);
    }
    }
    }
  4. Jalankan program, dan jika berhasil koneksi dengan database MySQL maka akan terlihat tulisan "Koneksi berhasil boss...". Jika belum berhasil, coba cek apa dan dimana kesalahannya. Sebab kode diatas sudah teruji dan berhasil.
  5. Jangan pernah menyerah untuk tetap mencoba. Sebab ada sebuah kata motivasi bahwa, "Kalau orang lain bisa, kenapa kita tidak?" Percayalah bahwa kita bisa melakukan hal tersebut.

kajian 4 : event listener

Action Listener

Bereaksi atas perubahan mouse atau atau keyboard.

Mouse Listener
Bereaksi atas pergerakan mouse. Di bawah ini adalah method-method MouseListener yang seharusnya digunakan dalam penerapan class.





Mouse Listener
Interface MouseMotionListener mendukung MouseListener. Menyediakan method-method yang akan memantau pergerakan mouse,seperti drag dan pemindahan mouse. MouseMotionListener mempunyai dua method untuk diimplementasikan.







Jumat, 02 Desember 2011

Senin, 03 Januari 2011

Algoritma Pencarian

Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (balik bertipe dasar atau bertipe bentukan )

Contoh :
Untuk mengubah (Update) data tertentu,langkah pertama yang harus dilakukan adalah mencari keberadaan data tersebut di dalam sekumpulannya.jikadata yang dicari ditemukan ,maka data tersebut dapat diubah nilainya dengan data yang baru .aktivitas awal yang sama juga dilakukan pada proses peambahan (insert)data baru.proses penambahan data dimulai dengan mencari apakah data yang akan ditambahkan sudah terdapat dalm ssekumpulan .jika sudah ada dan mengasumsikan tidak boleh ada duplikasi  data maka data tersebut tidak perlu ditambahkan ,tetapi jika belum ada,maka ditambahkan.
Algortma yang paling sederhana yaitu algoritma pencarian beruntun (sequential search),dan algoritma yang sudah lebig maju yaitu pencarian bagidua (binary search)

SPESIFIKASI MASALAH PENCARIAN :

Hasil atau keluaran dari persoalan pencarian dapat bermacam-macam,bergantung pada spesifikasi rinci dari persoalan tersebut ,misalnya :
a.    Pencarian hanya untuk memeriksa keberadaan x.keluaran yang diinginkan misalnya pesan (message) bahwa x ditemukan atau tidak ditemukan di dalam larik .
Contoh :
write ( ‘ditemukan !’) atau
write (‘tidak ditemukan !’)

b.      Hasil pencarian adalah indeks elemen larik .jika x ditemukan maka indeks elemen larik tempat x berada diisikan ke dalam idx. Jika x tidak terdapat didalam larik L,maka idx diisi dengan harga khusus ,misalnya -1.
Contoh :
 L 
 21
36
8
7
10
36
68
32
12
10
 36


     1         2       3        4        5        6        7         8         9      10      11

misalnya x = 68 ,maka idx = 7 ,dan bila x = 100,maka idx = -1

c.      Hasil pencarian adalah sebuah nilai Boolean yang menyatakan status hasil pencarian .jika s ditemukan,maka sebuah peubah bertipe Boolean,misalnya “ketemu”,diisi dengan nilai true.sebaliknya “ketemu” diisi dengan nilai false .Hasil pencarian ini selanjutnya disimpulkan pada bagian pemanggilan prosedur .
Contoh :
Perhatikan larik L diatas !
Misalnya x = 68 ,maka ketemu = true ,dan bila x = 100,maka ketemu = false


ALGORITMA PENCARIAN BERUNTUN (SEQUENTIAL SEARCH)

Algoritma pencarian beruntun adalah proses membandingkan setiap elemen larik satu persatu secara beruntun ,mulai dari elemen pertama ,sampai elemen yang dicari ditemukan ,atau seluruh elemen sudah diperiksa.
 Contoh :
Data
3
2
1
7
5
Indeks
1
2
3
4
5
1) Mencari parameter
2) Mencari jumlah datanya
Jawab :
1)      A = array (1…………5) of integer
I,j,x : integer ;

Function sequential (z : integer , N : integer) : interger

Kamus data   
                        C : integer
                     Begin
                        C <-- 1 ;
                        While (A [c] ! = z) AND (C <=N)
                                    C <-- C+1 ;
                        End while
                        If (A [c] = z)
     return c ;
Else
     return -1 ;
End

2)      Algoritma
A <-- (3,2,1,7,5)
Input (x)
J ß sequential (X,5)
If ( J ! = -1)
Output (“data ditemukan di indeks “,d);
Else
Output (“data tak ditemukan ) ;
End



 
 
ALGORITMA PENCARIAN BAGIDUA (BINARY SEARCH)

Algoritma ini digunakan untuk kebutuhan pencarian denagn waktu yang cepat .
Prinsip pencarian dengan membagi dua atas dua bagian mengilhami algoritma pencarian bagidua .data yang disimpan didalam larik harus sudah terurut.
contoh :

Algoritma

I <-- 0 , J <-- N ,ketemu ß false
While (( ! ketemu ) AND (I <= J)
              K <-- (I + j) div 2
              If (L [k] = x)
                 Ketemu <-- True
             Else if (L [K]  <x)
                 I <-- k+1
             Else
                 J <-- k-1
             End if
End while

4
5
6
8
10
         
N=5
X = 8 (data yang dicari)

I=1
J=N
J=5
While (! Ketemu )and (I<=j)
                                  0<=5
K=1+5 div 2
   =3
If (L [3] = 8) (tidak memenuhi)
If (L [3] < 8)
     6      < 8
I = 3+1
  = 4
K= 4+5 div 2
  =4
If (L [4] = x)
         8  = 8
Ketemu <-- true







ALGORITMA PENCARIAN LAIN
*  Algoritma Pencarian interpolasi (interpolation search): melakukan pencarian lebih baik daripada pencarian biner pada larik berukuran besar dengan distribusi seimbang, tapi waktu pencariannya buruk.

*  Algoritma Pencarian Grover (Grover’s search): melakukan pencarian dalam waktu singkat, yang merupakan pengembangan dari pencarian linier biasapada larik dengan elemen tidak berurut

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

*  Algoritma Pencarian Adversarial
Dalam permainan seperti [[catur]], terdapat sebuah [[pohon permainan]] dari semua kemungkinan gerak dari kedua pemain dan konfigurasi hasil dari papan catur, dan kita dapat mencari pada pohon tersebut untuk menemukan strategi permainan yang efektif. Tipe permasalahan ini memiliki karakteristik unik yang mengharuskan kita memperhatikan semua kemungkinan gerak dari lawan yang mungkin terjadi. Untuk melakukannya, program permainan komputer, atau bentuk lain dari [[kecerdasan buatan]] seperti [[perencanaan mesin]], biasanya menggunakan algoritma pencarian seperti [[algoritma minimaks]], [[pemangkasan pohon pencarian]] dan [[pemangkasan alpha-beta]].

*  Algoritma Pemenuhan Kendala
Ini adalah satu jenis pencarian yang memecahkan [[permasalahan pemenuhan kendala]] dimana, bukan dengan melihat sebuah jalur, solusinya adalah sebuah himpunan nilai yang diberikan pada sebuah himpunan peubah. Karena peubah-peubah dapat diproses dengan urutan apa saja, algoritma pencarian pohon biasa adalah tidak efisien. Metode pemecahan permasalahan kendala memuat [[pencarian kombinatorial]] dan [[lacak balik]], keduanya mengambil keuntungan dari kebebasan yang diasosiasikan dengan permasalahan kendala.

*  Algoritma Pencarian informed
     Terdapat beberapa algoritma pencarian list informed yang dikenali. Salah satu anggota dari algoritma tersebut adalah sebuah hash tabel dengan sebuah fungsi hashing, yaitu algoritma dengan heuristik yang berdasarkan pada permasalahan yang dihadapi. Sebagian besar algoritma informed adalah mengeksplore pohon. Termasuk di dalamnya adalah pencarian Breadth-first, dan A*. Sebagaimana algoritma uninformed, algoritma informed dapat dikembangkan untuk bekerja pada graf.