BAB II TINJAUAN PUSTAKA
II.1. Sejarah Chatting Istilah komunikasi melalui internet biasa dikenal dengan chatting. Istilah chatting sebenarnya berasal dari nama IRC ( Internet Relay Chat ) yang di buat oleh Jarko Oikarinen pada bulan Agustus tahun 1988 untuk menggantikan sebuah program yang disebut Multiuser Talk (MUT) pada Buletin Board System (BBS). (Budi Sutedjo, Pengantar Teknologi Informasi Internet, 2007) IRC adalah suatu bentuk komunikasi langsung melalui internet. IRC didesain untuk komunikasi grup pada forum diskusi yang dikenal dengan nama channel, tetapi mengizinkan pula untuk melakukan komunikasi secara individu. Sampai sekarang chatting masih digunakan bahkan perkembangannya semakin pesat. Sebagian orang memilih menggunakan chatting karena selain efektif juga menghemat biaya. Selama ada jaringan internet di sekitar kita, komunikasi akan dapat berjalan tanpa memikirkan biaya yang dikeluarkan tidak seperti jika kita menggunakan telepon. Banyak manfaat dan kelebihan dari Chatting yang dapat kita gunakan. Berikut manfaat Chatting bagi pribadi dan perusahaan adalah: Bagi pribadi yaitu : a. Sebagai sarana untuk mencari teman / relasi. b. Tempat berkumpulnya orang yang memiliki kegemaran yang sama. c. Menghemat biaya dalam berkomunikasi.
10
Bagi perusahaan yaitu : a. Dapat digunakan sebagai media teleconference. b. Sebagai wadah untuk bertukar pikiran (sharing) pendapat secara interaktif. c. Menghemat biaya perusahaan dan ruangan untuk bertemu. Chatting dibagi menjadi 2 macam, yaitu berupa teks dan suara. Contoh chatting berbasiskan teks adalah mIRC, yahoo messenger, dan sebagainya sedangkan chatting berbasiskan suara disebut VoIP adalah Skype, Google Talk dan Yahoo messenger with voice.
II.2. Sejarah Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana suatu pesan atau dokumen kita aman, tidak dapat dibaca oleh pihak yang tidak memiliki hak untuk membukanya. Dalam perkembangannya kriptografi juga digunakan untuk identifikasi pengiriman pesan dengan tanda tangan digital dan keaslian pesan dengan sidik jari digital (fingerprint). Kriptanalisis (cryptanalysis) adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut kriptanalis (cryptanalyst). (Rinaldi Munir, Kriptografi, 2006) Kriptografi mempunyai sejarah yang sangat panjang. Sejak jaman Romawi, Julius Caesar telah menggunakan teknik kriptografi untuk keperluan komunikasi militernya. Kriptografi mulai digunakan dan disumbangkan pemikirannya pertama kali oleh empat kelompok, yakni militer, korps diplomatik, penulis buku harian (diarist), dan pecinta (lovers). Dari keempat kelompok tersebut, militer telah memainkan peranan yang paling penting dan telah
11
mengembangkan bidang ini. Secara singkat, sejarah perkembangan kriptografi dapat dijabarkan seperti berikut: a. Tahun 1900 SM, pertama kali digunakannya teknik transformasi cryptography di ”tomb inscription”, merupakan penggunaan kriptografi yang pertama kali diketahui. b. Tahun 475 SM, kriptografi digunakan oleh Sparta untuk komunikasi dan juga merancang alat untuk mengenkripsi (skytale) yang menghasilkan transposition cipher. c. Tahun 350 SM, “Aenas The Tactician” mengeluarkan tulisan pertama mengenai keamanan komunikasi dan kriptografi. d. Tahun 60 SM, Julius Caesar menjadi orang pertama kali diketahui menggunakan Substitution Cipher. e. Tahun 1412, “Treatise” tertua yang diketahui dalam kriptanalis yang diterbitkan oleh Alkalkas Hadi (Mesir). f. Tahun 1917, Edward Hugh Hibern mengembangkan mesin motor yang pertama. g. Tahun 1971, IBM mengembangkan teknik enkripsi Lucifer. h. Tahun 1975, DES diumumkan (disetujui tahun 1977). i. Tahun 1976, presentasi terbuka pertama tentang konsep public key oleh Diffie dan Helman. j. Tahun 1977, Merkle mengembangkan algoritma knapsack dan memberikan hadiah $100 bagi yang dapat memecahkan kuncinya (algoritma dengan satu kali pengulangan). Algoritma Rivest-Shamir-Aldeman(RSA) diumumkan.
12
Sebagaimana banyak teknologi lainnya, selama bertahun-tahun kriptografi menjadi bidang khusus yang hanya dipelajari oleh pihak militer. Namun pada kurun waktu 30 tahun terakhir, penelitian akademik di bidang kriptografi meledak dengan dahsyatnya. Kemajuan teknologi komputasi komputer menambah cepatnya perkembangan kriptografi. Sekarang, kriptografi bukan lagi monopoli militer, setiap individu berhak mengamankan komunikasinya tanpa kuatir dimatamatai oleh pihak lain. Setiap individu berhak melindungi komunikasi yang berisi rahasia keluarganya, bisnisnya, pekerjaannya, dan pendapat - pendapatnya. Hal ini tentu bertentangan dengan kebijakan pemerintah yang menginginkan agar setiap kegiatan rakyatnya dapat dikontrol, apalagi kalau dianggap melawan pemerintah. Bahkan di negara yang mengaku paling demokratis sedunia yakni Amerika, pemerintahnya justru mengontrol dan sangat ketat terhadap kriptografi.
II.3. Definisi Kriptografi Kriptografi berasal dari dua suku kata yaitu kripto dan grafi. Kripto artinya menyembunyikan, sedangkan grafi artinya ilmu. Kriptografi adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedangkan kriptanalisis (cryptanalysis) adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut kriptanalis (cryptanalyst). Cryptographic
system
atau
cryptosystem
adalah
suatu
fasilitas
untuk
mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu
13
disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. (Rinaldi Munir, Kriptografi, 2006) Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. Algoritma kriptografi terdiri dari algoritma enkripsi (E) dan algoritma dekripsi (D). Algoritma enkripsi menggunakan kunci enkripsi (KE), sedangkan algoritma dekripsi menggunakan kunci dekripsi (KD). Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut: EK(M) = C (Proses Enkripsi) DK(C)= M (Proses Dekripsi) Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya. Dengan demikian, keamanan suatu pesan tergantung pada kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis. Tidak menjadi masalah apabila seseorang mengetahui algoritma yang kita gunakan, selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan. Algoritma kriptografi terbagi menjadi 2, yaitu algoritma kriptografi kunci simetris dan algoritma kriptografi kunci nirsimetri. Pada sistem kriptografi kunci simetris, kunci yang dipakai untuk enkripsi sama dengan kunci yang dipakai untuk dekripsi. Nama lain dari kriptografi kunci
14
simetris yakni kriptografi kunci privat (private-key cryptography), kriptografi kunci
rahasia
(secret-key
cryptography),
atau
kriptografi
konvensional
(conventional cryptography). Pada pemakaian algoritma kunci simetris, pengirim dan penerima pesan sudah berbagi kunci yang sama sebelum bertukar pesan, oleh sebab itu sistem keamanan kriptografi ini terletak pada kerahasiaan kunci yang digunakan. Kedua belah pihak harus dapat menjaga agar kunci yang sama digunakan tersebut tidak diketahui oleh pihak lain. Contoh algoritma kritografi kunci privat diantaranya DES (Data Encryption Standard), Blowfish, Twofish, IDEA, AES (advanced Encryption Standard). Jika kunci untuk enkripsi pesan tidak sama dengan kunci yang digunakan untuk dekripsi pesan, maka kriptografi tersebut termasuk kriptografi kunci nirsimetri. Nama lain dari kriptografi kunci nirsimetri adalah kriptografi kunci publik
(public-key
criptography),
sebab
kunci
yang
digunakan
untuk
mengenkripsi pesan tidak rahasia dan dapat diketahui oleh siapapun (public), sementara kunci yang digunakan untuk dekripsi pesan bersifat rahasia dan hanya diketahui oleh si penerima pesan saja. Pada pemakaian algoritma kunci nirsimetri, setiap orang yang berkomunikasi memiliki sepasang kunci yakni kunci publik dan kunci privat. Pengirim mengenkripsi pesan dengan kunci publik milik si penerima pesan (receiver), kemudian si penerima mendekripsi pesan tersebut dengan kunci privatnya sendiri. Contoh algoritma kritografi kunci publik diantaranya RSA, Elgamal, DSA, dan sebagainya.
15
II.4. Tujuan Kriptografi Adapun tujuan dari sistem kriptografi adalah sebagai berikut: 1. Kerahasiaan (Confidentiality) Kerahasiaan adalah layanan yang digunakan untuk menjaga informasi dari setiap pihak yang tidak berwenang untuk mengaksesnya. Dengan demikian informasi hanya akan dapat diakses oleh pihak yang memiliki hak saja. 2. Integritas pesan (Message Integrity) Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami perubahan dari saat ia dibuat sampai saat ia dibuka. 3. Nirpenyangkalan (Non-repudiation) Memberikan cara untuk membuktikan bahwa suatu dokumen yang dikirim dari seseorang tidak dapat dibatalkan. Membuktikan suatu pesan berasal dari seseorang, apabila ia mencoba menyangkal memiliki atau mengirim dokumen tersebut. 4. Otentikasi (Authentication) Memberikan dua layanan. Pertama, mengidentifikasi keaslian pesan dan memberikan jaminan keautentikannya. Kedua, menguji identitas seseorang apabila ia akan memasuki sebuah sistem. (Wahana Komputer, Memahami Model Enkripsi dan Security Data, 2003)
II.5. Teknik-teknik Enkripsi dan Dekripsi Enkripsi dan dekripsi diibaratkan seperti dua sisi mata uang. Suatu pesan dibuat seolah tidak bermakna dengan merubahnya menurut prosedur tertentu
16
(enkripsi), dan dibuat bermakna kembali dengan menggunakan prosedur yang biasanya bersifat kebalikannya (dekripsi). Dalam kriptografi, pesan yang dirahasiakan disebut plaintext, sedangkan bentuk pesan hasil proses enkripsi disebut ciphertext. plaintext
ciphertext enkripsi
kunci
dekripsi
plaintext
kunci
Gambar II.1 Proses enkripsi / dekripsi sederhana Sumber: Rinaldi Munir, Kriptografi, 2006. Dalam kriptografi terdapat 5 teknik dasar kriptografi adalah sebagai berikut: 1. Teknik Substitusi Yakni teknik kriptografi yang dilakukan dengan cara mengganti satu huruf plainteks dengan satu huruf yang bersesuaian. Contoh: Caesar Cipher 2. Teknik Transposisi Yakni teknik kriptografi yang dilakukan dengan cara mengubah posisi huruf di dalam plainteks. 3. Teknik Blocking Yakni teknik kriptografi yang dilakukan dengan cara membagi plaintext menjadi blok-blok yang terdiri dari beberapa karakter yang kemudian dienkripsi secara independen.
17
4. Teknik Ekspansi Yakni teknik kriptografi yang dilakukan dengan cara mengacak plainteks dengan memelarkan pesan dengan aturan tertentu. Salah satu caranya adalah dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari suatu kata di akhir kata itu dan menambahkan akhiran “an”. Bila suatu kata dimulai dengan huruf vokal atau bilangan genap, ditambahkan akhiran “i”. 5. Teknik Pemampatan (Compaction) Yakni teknik kriptografi yang dilakukan dengan cara mengurangi panjang pesan atau jumlah bloknya. Contoh sederhananya adalah menghilangkan karakter ke-tiga secara berurutan.
II.6. Algoritma Kriptografi Vigenere Cipher Algoritma Vigenere Cipher di publikasikan oleh diplomat Prancis, Blaise de
Vigenere
pada
abad
16,
namun
Giovan
Batista
Belaso
telah
menggambarkannya pertama kali pada tahun 1553 seperti ditulis dalam bukunya La Cifra del Sig, Giovan Batista Belaso. Vigenere Cipher di publikasikan pada tahun 1586, namun baru di kenal luas 200 tahun kemudian yang oleh penemunya kemudian di namakan Vigenere Cipher. Algoritma Vigenere Cipher di gunakan oleh Tentara Konfiderasi pada Perang Sipil Amerika. Perang sipil terjadi setelah Vigenere cipher berhasi di pecahkan. Hal ini diilustrasikan oleh kutipan pernyataan Jendral Ulysses S. Grant: “It would sometimes take too long to make translation of intercepted dispatches for us to receive any benefit from them, but sometimes they gave useful information”. (Rinaldi Munir, Kriptografi, 2006)
18
Algoritma Vigenere cipher di kenal karena mudah di pahami dan di implementasikan. Dalam proses pengenkripsiannya, digunakan alat bantu berupa bujur sangkar tabula recta. Plainteks
Ku nci
a b c d e f g h i j K l m n o p q r s t u v w x y z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Gambar II.2 Bujursangkar Vigenere Cipher Sumber: Rinaldi Munir, Kriptografi, 2006. Contoh penggunaanya adalah sebagai berikut: Misalkan plainteks yang akan di enkripsi adalah THIS PLAINTEXT akan dienkripsi menggunakan kunci sony, karena panjang kunci tidak sama dengan panjang plainteks maka kunci akan diulang secara priodik. Plainteks
: THIS PLAINTEXT
Kunci
: sony sonysonys
Cipherteks
: LVVQ HZNGFHRVL
Pada dasarnya, setiap enkripsi huruf adalah Caesar Cipher dengan kunci yang berbeda-beda.
19
c(‘T’) = (‘T’ + ‘s’) mod 26 = L c(‘H’) = (‘H’ + ‘o’) mod 26 = V, dst Jadi dengan Vigenere Cipher, huruf yang sama pada plaintext tidak selalu dienkripsi menjadi huruf ciphertext yang sama pula. Contoh huruf plaintext T dapat dienkripsi menjadi L atau J, huruf ciphertext V dapat merepresentasikan huruf plaintext H, I, dan X. Hal ini karakteristik dari cipher abjad majemuk dimana setiap huruf plaintext memiliki kemungkinan banyak huruf plaintext.
II.7. Integritas Pengiriman Data pada Jaringan Pada saat kita mengirimkan data melalui jaringan internet, kita mengharapkan data yang dikirim tersebut sampai di tujuan dengan utuh tanpa ada campur tangan pihak-pihak yang tidak bertanggung jawab, apalagi jika data yang dikirim tersebut bersifat rahasia. Pada saat kita kirimkan data tersebut akan melalui berbagai jenis komputer, router, atau gateway dan melintasi berbagai macam media fisik komunikasi. Tentu kita tidak dapat memeriksa tingkat keamanan dari setiap titik / hop yang dilalui oleh data tersebut. Maka salah satu solusinya adalah dengan mengenkripsi data yang akan dikirim tersebut. Tujuan dari solusi ini adalah menghindari kemungkinan terjadinya curi-dengar (eavesdropping) terhadap data yang kita kirim maupun yang kita terima. Jika seseorang melakukan eavesdropping terhadap data yang kita kirim, ia hanya akan mendapatkan data-data yang sudah terenkripsi saja sehingga tidak mencerminkan isi data yang sebenarnya. Hal inilah yang disebut integritas pengiriman data dimana data yang dikirim harus dipastikan tidak mengalami perubahan.
20
II.8. UML (Unified Modelling Language) UML (Unified Modelling Language) adalah sebuah bahasa yang telah menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. (Miftakhul Huda, Membuat Aplikasi Database dengan Java, My SQL, dan NetBeans, 2005) Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya,
maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa
berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti
bahasa-bahasa
lainnya,
UML
mendefinisikan
notasi
dan
syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
21
II.9. Bahasa Pemrograman Java Java merupakan bahasa pemrograman yang dikembangkan dengan menggunakan bahasa C++, sehingga sintaknya tidak jauh berbeda dengan bahasa C++. Bagi programmer yang terbiasa menggunakan bahasa C++ tidak mengalami kesulitan untuk beralih ke Java. Java diciptakan oleh James Gosling dan Patrick Naughton dalam suatu project dari Sun Microsystem. Pada mulanya ingin diberi nama OAK dari pohon yang terdapat pada kantor James Gosling tetapi oleh karena kata OAK telah ada pada Sun Microsystem maka diberi nama Java(dari inspirasi minum kopi). Browser pertama yang dapat membaca script Java adalah Hot Java. Perangkat lunak editor yang mendukung dalam pembuatan aplikasi Java adalah NetBeans. Editor Java NetBeans disarankan oleh Sun Microsystem untuk digunakan dalam pembuatan aplikasi Java. (Ir. Yuniar Supardi, 36 Jam Belajar Komputer Pemrograman Java2 SE SDK1.4, 2005). Sifat-sifat dari bahasa pemrograman Java yakni: 1. Java berorientasi Objek Perograman Java merupakan pemrograman yang berorientasi objek. Artinya, penulisan
program
harus
dibuat
dalam
bentuk
objek-objek,
kemudian
memodelkan sifat masing-masing objek dalam program. Java mengatur dan menentukan interaksi antara objek. 2. Java bersifat Terdistribusi Program Java sesuai dengan perkembangan teknologi saat ini, yaitu teknologi jaringan lokal seperti jaringan internet. Dalam hal ini Java dapat digunakan untuk
22
mendistribusikan data atau informasi dalam workstation client, e-mail server, database server, dan webserver dalam jaringan lokal dan internet. 3. Java bersifat MultiPlatform Program Java yang sudah di terjemahkan (dikompilasi) dengan benar dapat dijalankan pada platform yang lain atau sistem operasi yang lain. Java menggunakan prinsip WORA (Write Once and Run Anywhere). Artinya, sekali menulis program dalam bahasa Java dan mengkompilasinya maka program tersebut dapat dijalankan pada berbagai sistem operasi, seperti DOS, Windows, Linux, MacOS dan Solaris. 4. Java bersifat Multithread Thread merupakan unit dasar penggunaan CPU (Central Processing Unit) yang terdiri dari Thread_ID, program counter, register set dan stack. Multithread hampir bersamaan. Jika webserver hanya memiliki satu thread, berarti client yang lain harus menunggu. Oleh karena itu, diperlukan multithread untuk dapat melayani client server. (Sariadin Siallagan, Pemrograman Java, 2009)
II.10. Perangkat Lunak Editor Java NetBeans Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun 1999. Sun Microsystem kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus
23
berkembang. ( Ir.Yuniar Supardi, Semua Bisa Menjadi Programmer Java Basic Programming, 2010) NetBeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi Desktop Java, dan sebuah Integrated Development Environment (IDE) yang
dibangun
menggunakan
platform
NetBeans.
Platform
NetBeans
memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler. Module adalah suatu arsip Java yang memuat kelas-kelas Java untuk berinteraksi
dengan
NetBeans
Open
API
dan
file
manifestasi
yang
mengidentifikasinya sebagai module. Aplikasi yang dibangun dengan module dapat dikembangkan dengan menambahkan module baru. Karena module dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful. NetBeans IDE adalah IDE open source yang ditulis dengan bahasa pemrograman Java menggunakan platform NetBeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan mobile aplication). Fitur-fitur baru, seperti dukungan untuk bahasa pemrograman lain, dapat ditambahkan dengan menginstal module tambahan. Sebagai contoh, Sun Studio, Sun Java Studio Enterprise, dan Sun Java Studio Creator dari Sun Microsystem semuanya berbasis NetBeans IDE. Berikut adalah cara menjalankan perangkat lunak editor Java NetBeans IDE 7.0 pada sistem operasi windows. 1. Pada waktu pertama kali menjalankan NetBeans, akan tampil proses membaca module, seperti gambar II.3 sebagai berikut :
24
Gambar II.3 Proses baca module NetBeans IDE 7.0 ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. ) 2. Setelah proses membaca module selesai, maka terlihat tampilan utama NetBeans, sebagai berikut :
Gambar II.4 Tampilan Utama NetBeans IDE 7.0 ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. )
25
3. Untuk membuat sebuah program Java, maka pilih menu File > New Project... Ctrl +Shift+N seperti gambar II.5 berikut :
Gambar II.5 Tampilan Menu New Project ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. ) 4. Tampil jendela New Project, pada kolom Categorises pilih Java, pada kolom Project pilih Java Application seperti gambar berikut:
Gambar II.6 Jendela New Project ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. )
26
5. Klik tombol Next >, muncul kolom Name and Location, ketikkan nama project pada kotak Project Name dan tentukan lokasi dimana project yang akan dibuat tersebut akan disimpan pada kotak Project Location. Kemudian klik tombol Finish, seperti gambar II.7 sebagai berikut:
Gambar II.7 Kolom Name and Location ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. ) 6. Akan tampil jendela Project Java Application1 NetBeans. Perlu di perhatikan, bentuk template program yang diberikan sistem Netbeans terlihat seperti gambar II.8 berikut :
27
Gambar II.8 Jendela Project Java Application1 ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. )
Beberapa penjelasan dari tampilan template program sebagai berikut: a. /*......*/ merupakan komentar dalam program Java, komentar tidak diproses oleh sistem Java. b. package javaapplication1; merupakan suatu paket yang otomatis diciptakan oleh sistem Java, karena sesuai dengan nama project (Project Name) yang dibuat adalah JavaApplication1. c. public class Main {
merupakan kelas (class) utama dari Java, yang dapat
diakses dari mana saja (public). Perlu diperhatikan huruf M dari kata Main merupakan kapital (huruf besar).
28
d. public static void main (String [] args) {
merupakan method atau fungsi
utama (main) dari kelas utama (Main). Perlu diperhatikan huruf m dari kata main pada bagian ini huruf kecil.
7. Sebagai contoh program Java sederhana, kita ketikkan satu baris perintah System.out.println (“Selamat Belajar Java”);
didalam method atau fungsi
main seperti gambar II.9 sebagai berikut :
Gambar II.9 Satu baris perintah println ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. )
Penjelasan dari baris perintah yang dibuat adalah sebagai berikut : a. System merupakan kunci kata ( key word ), dengan penulisan huruf s-nya memakai huruf kapital
29
b. Baris perintah tersebut untuk mencetak tulisan “Selamat Belajar Java” di layar menggunakan perintah println. Huruf
“ln” artinya line, setelah mencetak
pindah baris.
8. Sebelum dijalankan (run), sebaiknya program Java yang dibuat disimpan untuk menghindari terjadinya hang ( sistem komputer tidak dapat mengendalikan proses), program tidak hilang. Untuk menjalankan program yang dibuat dapat dengan mengklik tombol Run Main Project (F6) atau lambang segitiga kekanan seperti pada gambar II.10 berikut:
Gambar II.10 Tombol Run Main Project (F6) ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. )
30
9. Hasil eksekusi program terlihat pada jendela Output sebagai berikut:
Gambar II.11 Hasil eksekusi program di jendela Output ( Sumber: Ir.Yuniar Supardi, Programmer Java Basic Programming, 2010. )