programming
Pengenalan Programing

Ketemu lagi dengan saya Cx_flash,

untuk artikel pendek ini saya akan menulis materi yang sudah saya sampaikan pada pertemuan (seminar mingguan) UKM IT "CybernetiX" UPI "YPTK". Pada tulisan ini saya hanya menuliskan konsep dan materi pengenalan saja. Dalam artikel ini tidak ada materi advance atau lanjutan. Untuk materi lanjutan akan saya tulis dalam artikel yang berbeda.

Untuk mendownload artikel silahkan klik disini.

 
Virus

   Virus memiliki kemampuan jahat untuk mereproduksi diri mereka sendiri dan terdiri dari kumpulan kode yang dapat memodifikasi target kode yang sedang berjalan, atau dapat pula memodifikasi struktur internal target kode, sehingga target kode sebelum berjalan dipaksa menjalankan virus.

   Virus sering menampilkan pesan yang tidak disukai, merusak tampilan display, menghapus memory C-MOS, merusak informasi dalam hard disk dll. Efek yang ditimbulkan virus mengalami perkembangan yang cukup serius akhir-akhir ini.

Contoh virus: Brain, Ohe half, Die hard, XM/Laroux, Win95/CIH

Virus masih dapat dibagi lagi dalam beberapa kategori:

Boot Virus: Jika komputer dinyalakan, sebuah inisial program di boot sector akan dijalankan. Virus yang berada di boot sector disebut boot virus.

File Virus: File virus adalah virus yang menginfeksi executable program. Dilaporkan bahwa hampir 80% virus adalah file virus.

Multipartite Virus: Virus yang menginfeksi baik boot sector dan file.

Macro Virus: Belakangan diketemukan. Targetnya bukan executable program, tetapi file dokument seperti Microsoft Excel atau Word. Ia akan memulai menginfeksi bila program aplikasi membaca dokumen yang berisi macro.

 
Syntax Dasar SQL


Database relational besar seperti Oracle, SQL Server, Informix, Sybase dan lain-lain biasanya mendukung SQL, dimana SQL merupakan bahasa standar sebagai interface bagi suatu aplikasi untuk berinteraksi dengan database relasional. Dalam tulisan ini akan dipaparkan dasar-dasar syntax SQL.

 

I. Data Defenition Language ( DDL ) / Pembentukan database

 

Membuat tabel (Creating tables)

Syntax

CREATE TABLE <nama_tabel> (

<nama_kolom> <tipe_data>(<panjang_data>)

[UNIQUE] [NOT NUL] [PRIMARY KEY] [DEFAULT<nilai_default>]

[referential_constraint_defenition>] [CHECK<constraint_defenotion>],

<nama_kolom> <tipe_data>(<panjang_data>)

[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT<nilai>]

[referential_constraint_defenition>] [CHECK<constraint_defenition>],

. . .

);

 

Keterangan:

Unique; Pada kolom tersebut tidak boleh ada data yang sama.

Not Null; tidak boleh data pada kolom tersebut bernilai null

Unique dan Not Null; kolom tersebut dapat dijadikan primary key.

Default; nilai default yang secara otomatis akan mengisi kolom dengan data default tersebut

setiap operasi insert dilakukan.

Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key terhadap tabel

lain. Dengan syntax

FOREIGN KEY <nama_kolom> REFERENCES <nama_tabel>

 

Contoh :

CREATE TABLE Pelajar (

No_Induk CHAR(8),

Nama CHAR(20),

Tgl_Lahir DATE,

Kelas CHAR(2)

);

CREATE TABLE Mata_Pelajaran(

Kode CHAR(4),

Nama CHAR(20),

Kelas CHAR(2)

);

CREATE TABLE Nilai(

No_Induk CHAR(8),

Kode CHAR(4),

Nl_Angka Number

);

 

 

Membuat index (Creating indices)

Syntax

. . .

[<nama_kolom> <tipe_data> (<panjang_data>) REFERENCES <nama_tabel>(<nama_kolom>), . . . ]

CREATE INDEX <nama_index> ON <namatabel>(<nama_kolom>);

Contoh :

DROP TABLE Pelajar;

CREATE TABLE Pelajar (

No_Induk CHAR(8) PRIMARY KEY,

Nama CHAR(20),

Tgl_Lahir DATE,

Kelas CHAR(2)

);

 

CREATE INDEX nm ON Pelajar(Nama);

DROP TABLE Mata_Pelajaran;

CREATE TABLE Mata_Pelajaran(

Kode CHAR(4) PRIMARY KEY,

Nama CHAR(20),

Kelas CHAR(2)

);

 

CREATE TABLE Nilai(

No_Induk CHAR(8) REFERENCES Pelajar(No_Induk),

Kode CHAR(4) REFERENCES Mata_Pelajaran(Kode),

Nilai Number

);

 

Mengubah tabel (Altering tables)

Syntax

ALTER TABLE <nama_tabel>

[ ADD (<nama_kolom> <tipe_data>(<panjang_data>), . . . ); ]

[ MODIFY (<nama_kolom><tipe_data>(<panjang_data>), . . .); ]

Keterangan

Add; Penambahan kolom baru.

Modify; Mengubah kolom yang sudah ada sebelumnya.

Contoh :

ALTER TABLE Pelajar

ADD (Jenis_Kelamin CHAR(10));

 

Menghapus tabel (Dropping tables)

Syntax

DROP TABLE <nama_tabel>

DROP INDEX <nama_index>

Contoh :

DROP TABLE Pelajar;

DROP INDEX nm;

 

II. Data Manipulation Language ( DML ) / Manipulasi Data

 

Penyisipan data (Inserting)

Syntax

INSERT INTO <nama_tabel> [(<nama_kolom1,nama_kolom2, . . . <nama_kolomN>)]

VALUES

(<nilai_kolom1>,<nilai_kolom2>, . . . <nilai_kolomN>);

 

Contoh :

DROP TABLE Pelajar CASCADE CONSTRAINTS;

CREATE TABLE Pelajar (

No_Induk CHAR(8) PRIMARY KEY,

Nama CHAR(20),

Tgl_Lahir DATE,

Kelas CHAR(2)

);

INSERT INTO Pelajar

VALUES (‘00311217’,’Wempi Satria’,’02-JAN-1982’,’1’,’Laki-laki’);

INSERT INTO Pelajar

VALUES (‘00311211’,’Wempi,’03-MAR -1982’,’1’,’Laki-laki’);

INSERT INTO Pelajar

VALUES (‘00311210’,’Satria’,’12-DEC -1982’,’1’,’Perempuan’);

 

Mengubah data (Updating)

Syntax

UPDATE <nama_tabel>

SET <nama_kolom1= ‘nilai_kolom1’>,

<nama_kolom2= ‘nilai_kolom2’>,

. . . ,

<nama_kolomN= ‘nilai_kolomN’>

[WHERE <kondisi>];

 

Contoh :

UPDATE Pelajar

SET No_Induk = ‘00311216’ ,Nama = ‘Wati’

WHERE No_Induk =’00311210’ and Nama = ‘Satria’;

 

Menghapus data (Deletion)

Syntax

DELETE FROM <nama_tabel>

WHERE <kondisi>;

Contoh :

DELETE FROM Pelajar

WHERE No_Induk = ‘00311211’;

 

Seleksi data (Selection)

Syntax

SELECT [*] [<kolom1>, <kolom2>, . . ., <kolomN>]

[<alias.kolom1>, <alias.kolom2>, . . . , <alias.kolomN>]

FROM <nama_tabel>

WHERE <kondisi>

[AND <kondisi>]

[AND MONTH_BETWEEN (<kondisi>);

Contoh :

SELECT * FROM Pelajar;

SELECT a.No_Induk, a.Nama, b.Kode, b.Nama, c.Nl_Angka

FROM Pelajar a, Mata_Pelajaran b, Nilai c;

WHERE a.No_Induk=c.No_Induk and b.Kode=c.kode;

 

Membuat tabel maya (Creating views)

Syntax

CREATE VIEW <nama_view>

AS SELECT <kolom1, kolom2, . . . , kolomN>

FROM <nama_tabel>

WHERE <kondisi>;

 

III. Data Control Language ( DCL ) / Kontrol Data

 

Konfirmasi menyimpan data di memory ke database (Commit)

Syntax

COMMIT [WORK];

Contoh :

INSERT INTO Pelajar

VALUES (‘00311210’,’Satria’,’15-DEC -1982’,’1’,’Perempuan’);

COMMIT;

 

Mengembalikan status transaksi sebelum penyimpanan (Rollback)

Syntax

ROLLBACK [WORK];

 

Pemberian hak dari satu user ke user lain (Grant)

Syntax

GRANT <spesifikasi_akses>

ON <nama_tabel/nama_view> TO <nama_user>

[WITH GRAN OPTION];

 

Penghapusan hak yang diberikan (Revoke)

Syntax

REVOKE <spesifikasi_akses>

FROM <nama_user>;

 

Spesifikasi akses

All Privileges; Semua hak diberikan.

Select; Untuk seleksi

Update; Untuk mengubah data

Insert; Untuk menyisipkan data

Delete; Untuk menghapus data

 

IV. EKSPRESI

 

FROM

Untuk mendefenisikan tabel yang menjadi sumber data dari suatu perintah seleksi

Contoh : SELECT * FROM Pelajar

 

WHERE

Untuk mendefenisikan kondisi pengambilan data dari suatu perintah seleksi

Contoh : SELECT * FROM Pelajar

WHERE No_Induk = ‘00311217’;

 

GROUP BY

Untuk Mengelompokkan data berdasarkan ekspresi group

Syntax : SELECT <kolom1, kolom2, ... , kolomN>

FROM <nama_tabel>

WHERE <kondisi>

GROUP BY <group_kolom>;

Contoh : SELECT a.No_Induk, b.Nama, c.Nl_Angka

FROM Pelajar.a, Nilai b

WHERE a.No_Induk=c.No_Induk and b.kode=c.kode

GROUP BY a.No_Induk, b.Nama, c.Nl_Angka;

 

ORDER BY

Untuk mengurutkan data hasil seleksi

Syntax : SELECT <kolom1, kolom2, ... , kolomN>

FROM <nama_tabel>

WHERE <kondisi>

ORDER BY <nama_kolom> [DESC];

Contoh : SELECT * FROM Pelajar

ORDER BY No_Induk;

 

HAVING

Untuk mendefenisikan batasan seleksi berdasarkan GROUP BY

Syntax : SELECT <kolom1, kolom2, ... , kolomN>

FROM <nama_tabel>

WHERE <kondisi>

GROUP BY <group_kolom>

HAVING <batasan_group>;

Contoh : SELECT a.No_Induk, b.Nama, c.Nl_Angka

FROM Pelajar.a, Nilai b

WHERE a.No_Induk=c.No_Induk and b.kode=c.kode

GROUP BY a.No_Induk, b.Nama, c.Nl_Angka

HAVING Nilai>80;

 

V. PREDIKAT

 

COMPARISON

Pembanding dua nilai dengan syarat type data yang dibandingkan harus sama

Sama dengan                                        =

Tidak sama dengan                               <>

Lebih kecil                                            <

Lebih besar                                          >

Lebih kecil dan sama dengan                 >=

Lebih besar dan sama dengan   <=

 

BETWEN

Pembanding untuk mengecek apakah suatu nilai berada dalam range tertentu atau tidak

Syntax : ... BETWEEN ... AND ...

... NOT BETWEEN ... AND ...

Contoh : Menampilkan data nilai pada range 80 dan 100

SELECT * FROM Nilai

WHERE Nl_Angka BETWEEN 80 AND 100;

 

IN

Untuk melakukan pengecekan apakah suatu nilai terdapat dalam suatu himpunan

Syntax : IN ( ... )

IN SELECT ...

Contoh : Select * FROM Pelajar a

WHERE a.No_Induk IN (SELECT b.No_Induk FROM Nilai b);

 

LIKE / NOT LIKE

Untuk membandingkan data dengan pola / struktur tertentu, untuk satu karakter dipakai ( _ )

dan string ( % )

Syntax : ... <kolom> LIKE <struktur>

... <kolom> NOT LIKE <struktur>

Contoh : SELECT * FROM Pelajar

WHERE Nama LIKE ‘We%’;

 

IS NULL / IS NOT NULL

Untuk membandingkan suatu nilai dengan NULL

Syntax : ... <kolom> IS NULL

... <kolom> IS NOT NULL

Contoh : SELECT * FROM Pelajar

WHERE Kelas IS NULL

 

EXIST

Untuk pengecekan apakah suatu query memiliki hasil atau tidak

Syntax : ... WHERE EXIST (SELECT ... )

Contoh : SELECT * FROM Pelajar a

WHERE EXIST (

SELECT b.No_Induk FROM Nilai b

WHERE a.No_Induk=b.No_Induk);

 

Diposting oleh : clock

Sumber : www.ilmukomputer.com

 
Snort

Menggunakan SNORT untuk mendeteksi penyusup

  

           'SNORT' merupakan salah satu software untuk mendeteksi intrusi pada system, mampu menganalisa 'real-time traffic' dan logging ip, mampu menganalisa port dan mendeteksi segala macam 'serangan' dari luar seperti buffer overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting.

           Snort merupakan salah satu software favorit yang digunakan untuk memproteksi network dari serangan hacker. Proteksi tambahan ini cukup memadai untuk menghindari serangan hacker pada umumnya. extract dan install paket snort
 

# tar -zxvf snort-2.0.0.tar.gz ; cd snort-x.x.x ; ./configure ; make ; make install

 

 
Mengoperasikan SnortSecara umum snort dapat dioperasikan dalam tiga mode, yaituSniffer mode, untuk melihat paket yang lewat di jaringan.Packet logger mode, untuk mencatat semua paket yang lewat di jaringan untuk    dianalisa di kemudian hari.Intrusion Detection mode, pada mode ini Snort berfungsi mendeteksi serangan    yang dilakukan melalui jaringan komputer. Untuk menggunakan mode IDS ini di   perlukan setup dari berbagai aturan (rules) yang akan membedakan sebuah paket      normal dengan paket yang membawa serangan. 
  • Sniffer Mode
Beberapa contoh perintah-nya terdapat di bawah ini :./snort -v./snort -vd./snort -vde./snort -v -d -eDengan menambahkan beberapa switch -v, -d, -e akan menghasilkan beberapa keluaran yang berbeda, yaitu: -v untuk melihat header TCP/IP paket yang lewat.-d untuk melihat isi paket.-e untuk melihat header link layer paket seperti Ethernet header..
  • Packet Logger Mode
Beberapa perintah yang dapat digunakan untuk mencatat paket yang ada adalah./snort -dev -l ./log./snort -dev -l ./log -h 192.168.0.0/24./snort -dev -l ./log -bPerintah yang paling penting untuk me-log paket yang lewat: -l ./log yang menentukan bahwa paket yang lewat akan di-log atau dicatat ke file ./log. Beberapa perintah tambahan dapat digunakan seperti  - h 192.168.0.0/24 yang menunjukkan bahwa yang dicatat hanya paket dari host mana saja, dan - b yang memberitahukan agar file yang di-log dalam format binari.Pembacaan file log dapat dilakukan dengan menjalankan snort ditambah perintah -r nama file log-nya, seperti: ./snort -dv -r packet.log./snort -dvr packet.log icmp   
  • Intrusion Detection Mode
Mode operasi snort yang paling rumit adalah sebagai pendeteksi penyusup (intrusion detection) di jaringan yang kita gunakan. Ciri khas mode operasi untuk mendeteksi penyusup adalah dengan menambahkan perintah ke snort untuk membaca file konfigurasi -c nama-file-konfigurasi.conf. Isi file konfigurasi ini lumayan banyak, tetapi sebagian besar telah di-set baik dalam contoh snort.conf yang ada pada source Snort.Beberapa contoh perintah untuk mengaktifkan snort untuk melakukan pendeteksian penyusup, seperti./snort -dev -l ./log -h 192.168.0.0/24 -c snort.conf./snort -d -h 192.168.0.0/24 -l ./log -c snort.confUntuk melakukan deteksi penyusup secara prinsip snort harus melakukan logging paket yang lewat dapat menggunakan perintah -l nama-file-logging, atau membiarkan snort menggunakan default file logging-nya di direktori /var/log/snort.Kemudian menganalisa catatan atau logging paket yang ada sesuai dengan isi perintah snort.conf.Mekanisme pemberitahuan alert di Linux dapat di-set dengan perintah -A sebagai berikut:- A fast, mode alert yang cepat berisi waktu, berita, IP & port tujuan.- A full, mode alert dengan informasi lengkap.- A unsock, mode alert ke unix socket.- A none, mematikan mode alert.Untuk mengirimkan alert ke syslog UNIX, kita bisa menambahkan switch -s, seperti tampak pada beberapa contoh di bawah ini../snort -c snort.conf -l ./log -s -h 192.168.0.0/24./snort -c snort.conf -s -h 192.168.0.0/24Untuk mengirimkan alert binari ke workstationWindows, dapat digunakan perintah di bawah ini:./snort -c snort.conf -b -M WORKSTATIONS referensi : http://www.snort.org/http://www.jasakom.com/plugins/p2_news/printarticle.php?p2_articleid=385 
 
Cara Membuat Virus
== Cara membuat program perusak (Seperti Virus) ==
 
Penulis  peduli  dengan  para  newbie yang sedang belajar pemograman sekaligus penulis juga
peduli dengan para progammer yang belum mengenal bahasa BASIC (Maklum kebanyakan progammer
pada langsung lompat ke Pascal, C dan lainnya).
 
Membuat program  perusak (seperti virus) merupakan keinginan sebagian para pemula komputer,
tapi  bagaimana  mereka bisa membuat kalau mereka tidak tahu bahasa pemograman sama sekali,
anda  jangan  resah  untuk  masalah  ini karena saat ini penulis akan mengajarkan anda cara
membuat program perusak ( seperti virus) yang sangat sederhana sekali tapi sangat mematikan
bahkan bisa  dikatakan lebih mengerikan dari program perusak manapun.
 
Pertama  kali  skill  yang  anda butuhkan adalah dasar DOS, tanpa ini anda akan sulit untuk
berkreasi  dalam membuat program ini tapi jika anda tidak tahu dasar perintah DOS maka anda
cukup copy paste saja, bahasa pemograman yang akan kita pakai adalah Turbo Basic v1.0, anda
dapat mendownloadnya di Google atau cari dirental CD.
 
Jika  anda  buta pemograman Turbo Basic maka anda masuk ke Edit lalu anda tulis Source Code
program perusak.
 
shell "Perintah DOS"
 
dengan diawali kata shell maka anda dapat menjalankan perintah DOS pada program, misal anda
membuat :
 
shell "c:"
shell "cd\"
shell "del command.com"
 
Diatas  adalah contoh  menghapus  DOS  pada  DOS Classic, Windows  95/98  sehingga pengguna
komputer tidak dapat booting, kita contohkan yang lain.
 
shell "c:"
shell "cd\"
shell "deltree /y mydocu~1"
shell "deltree /y windows"
shell "deltree /y progra~1"
 
Diatas  adalah  contoh  menghapus  Directory My Document, Windows dan Program Files, sangat
fatal bukan ?
 
Setelah anda selesai membuat programnya maka anda save dahulu, caranya pilih File lalu Save
lalu  beri nama filenya misal VIRUS.BAS, setelah itu baru kita mengcompile source code tadi,
caranya pilih Options lalu pilih Compile to EXE file, setelah itu masuk ke pilihan compile
lalu anda enter, maka source code tersebut akan menjadi file EXE.
 
Jika  file  EXE  tersebut  dijalankan maka komputer anda akan menjalankan perintah DOS pada
program,  dari  tutorial  diatas,  anda dapat berkreasi sendiri bagaimana virus buatan anda
dapat  berjalan sesuai dengan anda inginkan, perlu diketahui bahwa BELUM ADA SATU ANTIVIRUS
DIDUNIA  INI  DAPAT MENDETEKSI PROGRAM INI ADALAH VIRUS jadi anda bebas mengcopykan program
ini ke komputer manapun yang anda suka kecuali komputer berbasis non DOS atau Windows, hehe
 
Tujuan  dari  tutorial  ini  adalah  agar  kita lebih waspada terhadap berbagai file dengan
ekstensi   *.exe  meskipun  file  *.exe  tersebut 100% dinyatakan bebas virus dari berbagai
jenis Antivirus.
 
Penulis :
Kurniawan
Yogya Family Code
http://www.yogyafree.tk
 
Salam :
paktani.tk : "Paktani ini saya, hehe"
/conan/ alias markov : "versi 2005 dah keluar lho",
kartubeben : "Inget akukan :P"
 
*Segala kesalahan error / kerusakan pada komputer dan semacamnya adalah tanggung jawab anda !
*Semua yang anda pelajari dan anda lakukan adalah sepenuhnya tanggung jawab anda
 
 

 

 
Sejarah perkembangan java

Sejarah perkembangan Java

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.

Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).

Setelah era Star Seven selesai, sebuah anak perusahaan TV kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.

Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.

Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.

Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.

Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.

Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling.

Versi Awal

Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:

*       java.lang: Peruntukan kelas elemen-elemen dasar.

*       java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.

*       java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.

*       java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.

*       java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)

*       java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.

 

Kelebihan

*       Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.

*       OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis oebjek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.

*       Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.

*       Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.

*       Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).

Kekurangan

*       Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.

*       Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena koe jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.

*       Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

 
Menghubungkan MySQL dengan Java

        Anda yang menggunakan Java dengan mengaplikasikan database MySQL, tentu membutuhkan code yang akan menghubungkan Database dengan Java. Berikut listing program untuk connect ke server data base dengan menggunakan MySQL.

    import java.sql.*
    import java.io.*
    class login {
     public static void main(String[] args) throws IOException{
            BufferedReader stdin=new BufferedReader( new InputStreamReader(System.in));
            String user,pass,database;
            try {
                Class.forName("org.gjt.mm.mysql.Driver");   //mengenalkan klas koneksi
    /* perintah koneksi */
                Connection con = DriverManager.getConnection     ("jdbc:mysql://192.168.0.10:3306", //database server +database
    "user",                                                      // nama user valid
    "password");                                                   //password
               System.out.println("Anda terhubung!!");
               /*memutus hubungan*/
               con.close();
            }catch (Exception e){
                System.out.println("Error :"+e);
            }
       }
    }


setelah anda lakukan proses kompilasi dan run maka akan keluar pesan bahwa anda telah terhubung dengan server database MySQL anda. Selamat mencobakan.