Eclipse Quick Start Tutorial


Hi.. Saya masih newbie di dunia Java, baru mulai berkecimpung kira2 satu tahun yang lalu. Dan sepertinya mulai tertarik dengan dunia Java. Jadi sebagai permulaan saya akan mencoba membuat beberapa tutorial mengenai Java.

Tutorial ini dibuat untuk anda yang belum mengenal Java dan ingin memulai belajar How to start Java Programming menggunakan Eclipse. Saya akan mencoba memberikan contoh bagaimana cara membuat sebuah web dengan menggunakan IDE Eclipse 3.4.

Sebagai permulaan anda tentu saja membutuhkan beberapa tools yang harus anda download:

1. JDK – bisa anda unduh di http://java.sun.com/javase/downloads/index.jsp

2. Eclipse – bisa anda unduh di http://www.eclipse.org/downloads/

Jangan lupa, karena kita akan membangun sebuah web, maka pilih lah package yang meng-include kan Web Applications di dalamnya.

3. Tomcat – bisa anda unduh di http://tomcat.apache.org

Untuk JDK jangan lupa untuk menambahkan JAVA_HOME ke dalam PATH anda, begitu juga dengan TOMCAT jangan lupa menambahkan CATALINA_HOME ke dalam PATH. Untuk menambahkan PATH pada OS Windows bisa membaca tutorial manajemen-path pada blog saya sebagai referensi.

Sekarang langsung saja kita mulai membuat web.

Pertama-tama yang harus anda lakukan adalah jalankan Eclipse yang sudah anda download. Lalu set dimana Workspace anda. Workspace (Ruang Kerja) biasanya adalah tempat anda menyimpan project-project yang sudah anda buat dan disinilah eclipse akan

menyimpan informasi.

Lalu hal kedua yang harus anda lakukan adalah create new project. Karena kita akan membangun sebuah web, maka jenis project yang harus anda pilih adalah Dynamic Web Project. Langkah yang bisa anda lakukan ada 2, yaitu:

1. File – New – Others, Lalu pilih Web – Dynamic Web Project

atau

2. Pada Tab Package Explorer, klik kanan, New – Others, Lalu pilih Web – Dynamic Web Project

Langkah berikutnya:

Isikan nama project. Sebagai contoh kita isikan saja “first“.

Lalu pada target runtime klik new, pilih versi Tomcat yang telah diunduh, klik next, lalu klik browse, masukkan address tempat anda menyimpan Tomcat. Klik Finish, lalu biarkanlah pilihan yang lain tetap default saja.

new server runtime environment

new server runtime environment

Jika sudah maka di layar anda akan tampil seperti berikut:

first - new

Jika ada perbedaan coba anda ubah perspektif pemrograman anda menjadi Java EE, posisinya ada di sudut kanan atas.

Java EE

Langkah berikutnya coba create file index.html pada folder WebContent. Cara yang paling mudah adalah klik kanan folder WebContent – New – File. Lalu ketikkan index.html, kemudian klik finish. Salin code berikut

<html>
<head>
<title>
First Example
</title>
</head>
<body>
Hello World!!
</body>
</html>

Yup.. Memang ini adalah contoh yang sederhana sekali. Karena memang tujuan dari tutorial ini adalah Quick Tutorial, jadi tidak perlu code yang terlalu rumit. 😉

Langkah selanjutnya coba anda buka web.xml. Posisi file ini ada di first – WebContent – WEB-INF – web.xml. Sebagai informasi, untuk pemrograman web dengan menggunakan JAVA, web.xml adalah core file yang harus/ pasti akan anda setting.

<?xml version="1.0" encoding="UTF-8"?></code>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>first</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

Pada code di atas dijelaskan bahwa file-file index.html, index.htm, index.jsp dan sebagainya akan dipanggil begitu aplikasi ini diakses. Kita sudah membuat file index.html, jadi file ini yang nantinya akan dipanggil begitu aplikasi ini diakses.

Selanjutnya kita akan coba menjalankan aplikasi yang telah kita buat. Caranya dengan meng-klik kanan project first, sekali lagi saya tekankan, yang di klik kanan adalah kata “first” pada Tab Package Explorer.
Run As – Run on Server.

Run on Server

Run on Server

Pilih Server Tomcat yang ada. Lalu klik Finish. Maka di layar IDE Eclipse anda akan tampil page seperti berikut.

Result

Result

Lalu jika anda ingin menggunakan server yang terpisah. Anda dapat meng-export aplikasi anda menjadi .war file. File .war inilah yang akan anda taruh di server untuk dijalankan.
Sekian penjelasan dari saya, semoga bermanfaat.

PS: mengenai cara penggunaan framework, jsp , dan sebagainya tidak saya jelaskan pada tutorial ini.

Advertisement

Spoon Quick Start


Langsung to the point saja. Di artikel ini akan saya berikan contoh bagaimana cara cepat dan mudah menggunakan Spoon. IMHO inti dari penggunaan spoon mungkin bisa dikatakan sama dengan fasilitas DTS pasa MS.SQL Server.

Contoh Kasus:

Saya ingin mentransfer data sebuah table dari Database MS.SQL Server 2000 ke Database IBM AS400. Data database yang digunakan sebagai berikut:

MS SQL 2000 IBM AS400
Server 192.168.1.20 192.168.1.50
Database Asal Tujuan
PORT 1433 (default-nya MS SQL 2000)
Username andreas andreas
Password tjong tjong

Lalu misalkan table yang ingin ditransfer adalah table CodeMaster, kira2 design nya seperti ini:

CodeMaster
Currency
Code
Name

Lalu ingin ditransfer ke database Tujuan dengan design table dengan asumsi field type and field length nya sama antara database awal dan tujuan:

CDMSTR
CRC
CODE
NAME

Langsung saja kita jalankan kettle dengan mengklik spoon.bat jika anda windows user atau spoon.sh jika anda UNIX user. Jika sudah masuk lalu ada tampilan untuk memasukkan ID atau Password untuk repository, silahkan pilih No repository. Mengenai apa itu repository dan apa kegunaannya, akan saya coba jelaskan pada artikel saya yang lainnya.

Setelah sudah masuk ke Halaman utama Kettle, klik New — Transformation. Lalu buatlah design seperti gambar di bawah ini. Caranya dengan mengklik Core Objects, lalu tinggal drag and drop. Object yang dibutuhkan ada 3, yaitu: Table Input, Select Values, dan Table Output.

design_awal

Klik 2 kali pada Table Input. Pada field Connection klik new. Isikan dengan data database Asal. Jika sudah selesai klik Test Connection apakah sudah success atau belum. Klik Ok. Pada bagian SQL isikan dengan Query: SELECT Currency
,Code
,Name
From CodeMaster

Klik Ok.

database_asal

table_input

Klik 2 kali pada Table Output. Pada field Connection klik new. Isikan dengan data database Tujuan, untuk bagian PORT isi saja dengan (-1). Jika sudah selesai klik Test Connection apakah sudah success atau belum. Pada Column Target Table isikan dengan CDMSTR. Sisa column yang laen biarkan saja apa adanya. Akhiri dengan klik OK.

database_tujuan

Coba hubungkan Table Input dengan Select Values dengan cara menekan Scroll pada Mouse, mulai dari Table Input, lalu lepaskan setelah kursor sampai ke Object Select Values. Coba hubungkan Select Values dengan Table Output dengan cara yang sama.

Klik 2 kali pada Select Values. Pilih Tab Meta-data, klik Get fields to change, maka column Fieldname akan terisikan dengan isi Table CodeMaster pada Database Asal. Isi column Rename sesuai dengan lawan Table CodeMaster di Table CDMSTR. Jika sudah Klik OK.

Save design yang sudah anda buat. Lalu coba jalankan (klik tombol run di atas).

Selamat anda sudah berhasil melakukan transfer data dengan menggunakan fasilitas Spoon pada Kettle.

Limit pada SQL Server : Advanced 1


Pendahuluan

Melanjutkan pembahasan mengenai penerapan limit pada SQL Server, saya sudah coba gali lebih dalam, dan akan saya coba share ilmu yang sudah saya dapat.

Isi

Pada artikel saya yang sebelumnya, sudah coba saya jelaskan fungsi limit MySql dan cara penerapannya pada SQL Server, bisa diakses pada link berikut: https://andreastjong.wordpress.com/2008/09/20/limit-pada-sql-server/. Contoh yang saya berikan pada artikel sebelumnya hanya dapat digunakan apabila table tersebut hanya memiliki satu buah PK, dengan tipe alphanumeric. Pada kasus lainnya dimana pada satu table terdapat banyak PK, atau PK bukan bertipe alphanumeric, harus ada sedikit modifikasi pada cara yang saya berikan.

1. Table mempunyai 1 PK bertipe alphanumeric

Select TOP OFFSET
From Tablex
Where PK not in
(
Select TOP START PK
From Tablex
)

2. Table Mempunyai banyak PK

Karena function IN dan NOT IN hanya bisa mengecek satu field saja, maka ini menjadi sebuah permasalahan baru. Bagaimana menerapkan query seperti di atas? Salah satu caranya adalah dengan menggunakan funcrion CAST dan +, contoh:

Select TOP OFFSET
From Tablex
Where Cast(PK1 as varchar(10))+Cast(PK2 as varchar(10))
NOT IN
(
Select TOP START Cast(PK1 as varchar(10))+Cast(PK2 as varchar(10))
From Tablex
)

Perbesar ukuran Casting anda sesuai dengan keperluan saja.

3. Table tidak mempunyai PK

Kasus seperti ini sangatlah tidak diharapkan terjadi. Untuk kasus seperti ini, anda dapat menggunakan cara pada kasus2 dengan meng-casting satu persatu field yang ada. Hal ini perlu dilakukan untuk menghindari adanya data yang hilang saat proses terjadi.

Secara keseluruhan dengan menggunakan cara di atas dapat menyelesaikan permasalahan yang anda hadapi, tetapi cara tersebut mempunyai efek samping. Karena adanya perbandingan antara parent query dengan subquery menyebabkan workload yang tinggi. Terlebih lagi apabila anda ingin mencari record yang mendekati akhir row.

To be continued..

Limit pada SQL Server


Pendahuluan

Artikel ini saya buat sebagai rangkuman diskusi-diskusi dari berbagai community yang telah saya lakukan bersama dengan teman-teman saya, mengenai fungsi limit pada MySql yang tidak terdapat pada SQL Server.

Isi

Bagi anda yang sudah sering membangun website dengan menggunakan MySql sebagai DBMS-nya pasti anda sudah mengenal fungsi limit dengan baik. Biasanya fungsi limit ini akan anda gunakan untuk membantu anda dalam hal paging halaman website anda. Lupakan saja mengenai paging file, karena pada artikel ini tidak akan disinggung sedikit pun mengenai hal tersebut, dan bagi anda yang belum mengetahui fungsi limit itu seperti apa, tenang saja, saya akan berusaha menjelaskan mengenai fungsi ini sesingkat dan sejelas mungkin.

1. Fungsi Limit di MySql

Anggap kita punya table “x” dengan isi record, sebagai berikut:

Code Name
1 One Piece
2 Doraemon
3 Naruto
4 Dragon Ball
5 Mar
6 Kunimitsu
7 Slam Dunk
8 Ranma
9 Yakitate Japan
10 Yuyuhakuso

Coba ketikkan pada MySql editor anda:

select *
from x
limit 2,5

Output-nya adalah sebagai berikut :

Code Name
1 3 Naruto
2 4 Dragon Ball
3 5 Mar
4 6 Kunimitsu
5 7 Slam Dunk

Ya, benar sekali, memang fungsi limit hanyalah sesimple itu.

2. Limit pada SQL Server

Sekarang bagaimana caranya menerapkan fungsi limit pada SQL Server? Fungsi limit pada Sql Server tidaklah build-in. Cara yang paling mudah adalah dengan menerapkan fungsi TOP. Contoh :

Select TOP 5 *
From x
where code NOT IN
(
Select TOP 2 code
From x
)

OUTPUT-nya akan sama dengan contoh limit diatas.

Demikian penjelasan singkat dari saya.

To be continued: https://andreastjong.wordpress.com/2008/09/20/limit-pada-sql-server-advanced-1

Steganografi : 1.Pendahuluan


Pendahuluan

Steganografi. Apakah anda pernah mendengar mengenai topik ini? Mungkin bagi sebagian dari anda yang pernah mempelajari tentang kriptografi, pernah mendengar tentang topik ini. Dari beberapa buku mengenai kriptografi yang saya baca, topik mengenai steganografi ini hanya sedikit sekali disinggung. Itupun berada pada bab-bab terkahir saja. Pada artikel ini saya akan mencoba membahas lebih jauh mengenai steganografi.

Isi

Sebelum membahas lebih jauh mengenai Steganografi, ada baiknya kita lebih dahulu mengenal apa yang disebut dengan kriptografi.

Kriptografi

Kriptografi adalah sebuah ilmu untuk mengamankan data. Cara untuk mengamankan data yang digunakan adalah dengan mengacak data tersebut (scrambled). Ada banyak metode yang dapat digunakan untuk menerapkan steganografi, mungkin yang paling terkenal adalah md5 (sudah build-in di berbagai bahasa pemrograman). Teknik kriptografi ini juga sering sekali dikenal dengan nama teknik enskripsi.  Teknik untuk mengembalikan data yang telah di-enkripsi dinamakan dekripsi. Dekripsi digunakan untuk mendapatkan kembali data asli, dari data yang sudah diacak oleh teknik enkripsi.

Data hiding

Data hiding (hanya ada di English version saja, tidak ada terjemahannya di versi Indonesia) adalah suatu metode pengamanan data, tetapi berbeda dengan kriptografi, cara untuk mengamankan data yang digunakan adalah dengan cara menyembunyikan data tersebut ke dalam suatu media. Media yang digunakan untuk menyembunyikan data ini sangatlah beragam, mulai dari media text, gambar, suara, sampai video. Data hiding ini secara lebih jauh berkembang menjadi 2 buah topik yang lebih spesifik, dibedakan berdasarkan dari tujuan dari penyembunyian data, yaitu: Steganografi dan Watermarking. Secara umum dapat dikatakan bahwa steganografi bertujuan murni untuk menyembunyikan data, sedangkan watermarking menyembunyikan data dengan tujuan agar media yang ditumpangi tersebut mempunyai digital signature, berkaitan dengan copyright problem.

Steganografi

Seperti yang saya jelaskan pada teknik data hiding, media yang dapat digunakan sangat beragam. Tingkat kesulitan pengerjaan ini juga tergantung dari media yang digunakan sebagai sarana untuk menyembunyikan data. Sebagai contoh, saya akan menyembunyikan file.txt ke-dalam media gambar. Hasil akhirnya tetap seperti asli-nya, hanya saja gambar yang baru mengandung data yang saya sisipkan.

Andreas Tjong +  =        

Bagi anda yang sudah pernah terjun cukup dalam pasti tidak asing dengan gambar di atas. Perkenalkan gambar di atas adalah Lena.bmp (gambar yang paling sering digunakan sebagai media untuk menyisipkan pesan pada steganografi) karena memiliki karakteristik pixel yang cukup beragam dan menyebar.

Ada banyak metode yang dapat anda terapkan untuk melakukan steganografi. berikut akan coba saya paparkan beberapa metode yang saya ketahui:

  1. Media Gambar:
    • LSB (Least Significant Bit)
  2. Media Suara
    • LSB (Low Significant Bit)
    • Phase Coding
    • Spread Spectrum
    • Echo

To be continued in:

https://andreastjong.wordpress.com/2008/09/22/steganografi-2-lsb-least-significant-bit/