jaringan adalah kumpulan dua atau lebih komputer beserta perangkat

advertisement
BAB 2
LANDASAN TEORI
2.1 Jaringan
Menurut Norton (1999, p5) jaringan adalah kumpulan dua atau lebih komputer
beserta perangkat-perangkat lain yang dihubungkan agar dapat saling berkomunikasi
dan bertukar informasi sehingga membantu menciptakan efisiensi, dan optimasi
dalam kerja. Jaringan komputer (Turban, 2003, p178) merupakan rangkaian yang
terdiri dari media komunikasi, peralatan, dan perangkat lunak yang dibutuhkan untuk
menghubungkan dua atau lebih sistem komputer. Jaringan komputer diperlukan
organisasi atau perusahaan maju untuk banyak alasan, antara lain untuk berbagi
perangkat keras, aplikasi komputer, dan database dalam perusahaan.
2.2 Model Referensi Jaringan
Model referensi adalah suatu konsep cetak-biru dari bagaimana seharusnya
komunikasi berlangsung, menjelaskan semua proses yang diperlukan oleh
komunikasi yang efektif, dan membagi proses-proses tersebut menjadi kelompok
logis yang bernama layer (Lammle, 2004, p8). Terdapat dua model jaringan yaitu :
model OSI dan model TCP/ IP.
7
8
Gambar 2.2 Model Referensi Jaringan (Lammle, 2004, p9)
2.2.1 OSI
Model ini diciptakan berdasarkan sebuah proposal yang dibuat oleh The
International Standards Organization (ISO) pada tahun 1977 sebagai langkah
awal menuju standardisasi protokol internasional. Model ini disebut OSI
(Open System Interconnection) Reference Model karena model ini ditujukan
bagi pengkoneksian open system (Tanenbaum, 2003, p37). Open system dapat
diartikan sebagai suatu sistem yang terbuka untuk berkomunikasi dengan
sistem-sistem lainnya.
Masing-masing tugas dari 7 OSI Layer :
1. Application Layer: Menyediakan jasa untuk aplikasi pengguna. Layer ini
bertanggungjawab atas pertukaran informasi antara program komputer,
seperti program e-mail, dan service lain yang jalan di jaringan, seperti
server printer atau aplikasi komputer lainnya.
9
2. Presentation Layer: Bertanggung jawab bagaimana data dikonversi dan
di-format untuk perpindahan data. Contoh konversi format text ASCII
untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode
konversi, translasi data, enkripsi dan konversi.
3. Session Layer: Menentukan bagaimana dua terminal menjaga, memelihara
dan mengatur koneksi, bagaimana mereka saling berhubungan satu sama
lain. Koneksi di layer ini disebut “session”.
4. Transport Layer: Bertanggung jawab membagi data menjadi segmen,
menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan
penanganan error (error handling).
5. Network Layer: Bertanggung jawab menentukan alamat jaringan,
menentukan rute yang harus diambil selama perjalanan, dan menjaga
antrian trafik di jaringan. Data pada layer ini berbentuk paket.
6. Data Link Layer: Menyediakan link untuk data, memaketkannya menjadi
frame yang berhubungan dengan “hardware” kemudian diangkut melalui
media. komunikasinya dengan kartu jaringan, mengatur komunikasi layer
physical antara sistem koneksi dan penanganan error.
7. Physical Layer: Bertanggung jawab atas proses data menjadi bit dan mentransfer-nya melalui media, seperti kabel, dan menjaga koneksi fisik antar
sistem.
2.2.2 TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP) dibuat oleh
Department of Defence (DoD) untuk memastikan dan menjaga integritas data
10
(Lammle, 2004, p67). TCP/IP yang merupakan hasil pengembangan dari
ARPAnet adalah sekumpulan protokol yang dapat digunakan untuk mengatur
komputer dalam berbagai sumber melalui jaringan (Charles L. Hendrick,
1987).
Komputer-komputer yang terhubung ke internet berkomunikasi dengan
protokol TCP/IP sehingga perbedaan akan jenis komputer maupun sistem
operasi tidak menjadi masalah dalam berkomunikasi. Dengan desain dan
implementasi yang benar, network TCP/IP bisa menjadi sangat fleksibel dan
bisa diandalkan. Pada dasarnya model TCP/IP adalah versi pemadatan model
OSI yang terdiri atas empat layer, yaitu :
Tabel 2.1 TCP/IP Model
Layer
Tugas
Application Mengintegrasikan berbagai macam aktivitas dan
tugas, mendefinisikan protokol untuk komunikasi
aplikasi
node-node
dan
juga
mengontrol
spesifikasi user interface.
Transport
Mendefinisikan protokol untuk mengatur level
service transmisi untuk aplikasi, menciptakan
komunikasi
end-to-end,
menangani
packet
sequencing, dan menjaga integritas data.
Internet
Menjaga pengalamatan host dengan memberikan
alamat IP dan menangani routing dari paket yang
melalui beberapa jaringan.
11
Network
Memonitor pertukaran data antara host dan
Access
jaringan.
Tabel 2.2 Protokol TCP/IP
2.2.2.1. TCP
Menurut H. Gilbert (1995), TCP adalah protokol yang digunakan
bersama dengan IP untuk mengirim data dalam bentuk unit-unit pesan
antara komputer ke internet. Pengiriman data ini dapat terjamin karena
pada TCP terdapat dua proses data acknowledgment, retransimisi dan
sequencing. Dimana TCP selalu meminta konfirmasi setiap kali selesai
mengirim data, apakah data telah sampai ke tempat tujuan, kemudian
TCP akan mengirim data urutan berikutnya atau melakukan
retransimisi, yaitu pengiriman ulang data tersebut. Data yang dikirim
dan diterima diatur berdasarkan nomor urut, TCP juga mengawasi
paket dimana pesan-pesan dibagi untuk efisiensi routing melewati
internet.
12
TCP merupakan protokol yang menyediakan pelayanan seperti
(Cormer, 2005, p177) :
a. Connection Oriented
Dua aplikasi pengguna TCP harus melakukan pembentukan
hubungan untuk dapat melakukan pertukaran data.
b. Reliable
TCP menerapkan proses deteksi kesalahan paket dan retransmisi.
c. Byte Stream Service
Paket yang dikirim akan sampai pada tujuan secara berurutan.
Selain TCP, dikenal juga protokol transport UDP (User Datagram
Protocol).
UDP memiliki sifat :
a. Connectionless
Dalam mengirim paket dari tempat asal ke tempat tujuan, masingmasing tidak mengadakan handshake terlebih dahulu.
b. Unrealiable
Protokol tidak menjamin datagram yang dikirim sampai ke tempat
tujuan tetapi berusaha sebaik-baiknya agar paket yang dikirim
sampai pada tempat tujuan.
2.2.2.2 Internet Protocol (IP)
IP adalah suatu metode atau protokol yang mengatur bagaimana
suatu data dikirim dari suatu komputer ke komputer lain dalam suatu
network. Setiap hardware (host) yang ada dalam jaringan internet
13
setidaknya memiliki satu alamat IP yang bersifat unik yang berbeda
dengan host lainnya. IP mempunyai 3 fungsi utama dalam jaringan
TCP/IP internet :
a. IP merupakan bagian dasar dalam pengiriman data di internet,
mendefinisikan format data yang tepat untuk dikirimkan ke
internet.
b. IP
mendefinisikan
fungsi
routing
dan
mendefinisikan
pengalamatan dari komputer.
c. IP mendefinisikan bagaimana suatu paket data harus diproses,
mendefiniskan kapan pesan kesalahan harus disampaikan dan
mendefinisikan kapan kondisi suatu paket data harus diabaikan.
2.3 Klasifikasi Jaringan
Berdasarkan ukuran, jarak yang dapat dijangkau, dan arsitektur fisiknya, jaringan
dapat dibagi menjadi tiga kategori umum yaitu LAN, MAN, dan WAN (Forouzan,
2004, p13).
2.3.1 Local Area Network (LAN) / Jaringan Area Lokal
LAN adalah sejumlah komputer yang saling terhubung satu sama lain
didalam suatu areal tertentu yang tidak begitu luas, seperti didalam satu kantor,
gedung, atau kampus (Forouzan, 2004, p13). Secara tradisional, LAN
mempunyai kecepatan transfer data dari 4 sampai 16 Mbps, namun dalam
perkembangannya, kecepatan transfer data meningkat dan dapat mencapai
100Mbps. LAN menyediakan koneksi yang sifatnya full-time. Jaringan yang
14
sifatnya lokal menyediakan kontrol jaringan secara private di bawah kendali
administrasi lokal. Beberapa model konfigurasi LAN, satu komputer biasanya
di jadikan sebuah file server. Yang mana digunakan untuk menyimpan
perangkat lunak yang mengatur aktifitas jaringan, ataupun sebagai perangkat
lunak yang dapat digunakan oleh komputer-komputer yang terhubung ke
dalam network. Komputer-komputer yang terhubung ke dalam jaringan
(network) itu biasanya disebut dengan workstation. Biasanya kemampuan
workstation lebih di bawah dari file server dan mempunyai aplikasi lain di
dalam harddisknya selain aplikasi untuk jaringan. Kebanyakan LAN
menggunakan media kabel untuk menghubungkan antara satu komputer
dengan komputer lainnya.
Gambar 2.3.1 Local Area Network (LAN)
2.3.2 Metropolitan Area Network (MAN) / Jaringan Area Metropolitan
Sebuah MAN (Metropolitan Area Network), biasanya mencakup area
yang lebih besar dari LAN, misalnya antar wilayah dalam satu propinsi atau
MAN ditujukan untuk menghubungkan jaringan komputer dalam satu kota.
MAN bisa berupa satu jaringan tunggal seperti jaringan televisi kabel, atau
bisa berupa penggabungan sejumlah LAN menjadi jaringan yang lebih besar.
MAN biasanya dimiliki dan dioperasikan oleh sebuah perusahaan tertentu,
15
seperti perusahaan publik atau perusahaan telepon lokal (Forouzan, 2004, p14),
sebagai contoh yaitu : jaringan bank dimana beberapa kantor cabang sebuah
bank di dalam sebuah kota besar dihubungkan antara satu dengan lainnya.
Misalnya BANK BNI yang ada di seluruh wilayah Ujung Pandang atau
Surabaya.
Gambar 2.3.2 Metropolitan Area Network (MAN)
2.3.3 Wide Area Network (WAN) / Jaringan area Skala Besar
Wide Area Networks (WAN) adalah jaringan komputer yang mencakup
area yang besar sebagai contoh yaitu jaringan komputer antar wilayah, kota
atau bahkan negara, atau dapat didefinisikan juga sebagai jaringan komputer
yang membutuhkan router dan saluran komunikasi publik.
WAN digunakan untuk menghubungkan jaringan lokal yang satu dengan
jaringan lokal yang lain, sehingga pengguna atau komputer di lokasi yang satu
dapat berkomunikasi dengan pengguna dan komputer di lokasi yang lain.
2.4 VoIP
Voice Over Internet Protocol (VoIP) adalah teknologi yang mampu melewatkan
trafik suara, video, dan data yang berbentuk paket melalui jaringan IP (Anonim 5,
16
2005). Dalam komunikasi VoIP, pemakai melakukan hubungan telepon melalui
terminal yang berupa PC atau telepon. Terminal akan berkomunikasi dengan
gateway melalui telepon lokal. Hubungan antar gateway dilakukan melalui network
IP.
Network IP dapat berupa network paket apapun, termasuk ATM, FR, internet,
intranet, atau line E1. VoIP menawarkan transportasi sinyal yang lebih murah,
features tambahan, dan transparansi terhadap data komputer. Hambatan VoIP saat
ini adalah kehandalannya yang di bawah telepon biasa, dan soal standarisasi yang
akan menyangkut masalah interoperabilitas.
Komunikasi suara tak terbatas hanya di internet, melainkan juga dapat melalui
jaringan intranet, LAN (Local Area Networks) pribadi dan WAN (Wide Area
Networks). Selain itu, panggilan dapat dilakukan dari beragam pasangan perangkat,
misalnya dari komputer PC-ke-PC, atau dari PC-ke-telepon, atau dari telepon-ketelepon melalui penyedia layanan telepon internet (Internet Telephony Service
Provider-ITSP).
Dengan bertelepon menggunakan VoIP, banyak keuntungan yang dapat diambil.
Diantaranya adalah dari segi biaya, jelas lebih murah dari tarif telepon tradisional,
karena jaringan IP bersifat global sehingga untuk hubungan internasional dapat
ditekan hingga 70%. Selain itu, biaya maintenance dapat di tekan karena voice dan
data network terpisah, sehingga IP Phone dapat ditambah, dipindah dan diubah. Hal
ini karena VoIP dapat dipasang di sembarang ethernet dan IP address, tidak seperti
telepon tradisional yang harus mempunyai port tersendiri di sentral atau PBX.
Secara umum, dapat dikatakan bahwa VoIP merupakan suatu komunikasi
pengiriman informasi suara dalam bentuk digital berupa paket-paket data, yang
17
berbeda jika dibandingkan dengan komunikasi suara tradisional melalui PSTN
(Public Switched Telephone Network), sebagaimana yang kita lakukan saat ini
(Anonim 10, 2005).
Komunikasi suara dilakukan melalui jalur komunikasi umum (internet) dan
bukannya melalui jaringan kabel milik perusahaan telekomunikasi. Meski begitu,
VoIP sebenarnya dapat dilakukan, baik sebagiannya melalui jaringan PSTN maupun
sepenuhnya menggunakan jaringan internet.
2.4.1 Tiga jenis metode/cara yang paling sering digunakan untuk melakukan
layanan VoIP antara lain (Anonim 5, 2005) :
2.4.1.1 ATA (Analog Telephone Adaptor)
ATA adalah alat pengubah sinyal dari analog menjadi digital
(Anonim 5, 2005). Cara kerjanya adalah mengubah sinyal analog dari
telepon dan mengubahnya menjadi data digital untuk di transmisikan
melalui internet. Cara yang paling sederhana dan paling umum adalah
dengan
menggunakan
suatu
alat
yang
disebut
ATA.
ATA
memungkinkan kita untuk menghubungkan pesawat telepon biasa ke
komputer atau disambungkan ke internet untuk dipakai VoIP.
2.4.1.2 IP Phones
IP Phones merupakan pesawat telepon khusus yang terlihat seperti
telepon biasa. Tetapi selain mempunyai konektor RJ-11 standar, IP
Phones juga mempunyai konektor RJ-45. IP Phones menghubungkan
koneksi secara langsung dari telepon ke router, dan di dalam IP
18
Phones telah tedapat semua perangkat keras maupun lunak yang sudah
terpasang di dalamnya untuk menunjang melakukan pemanggilan IP.
2.4.1.3 PC-ke-PC
Penggunaan VoIP dengan cara PC-ke-PC dianggap merupakan
cara yang paling mudah dan murah untuk melakukan panggilan VoIP,
yaitu dengan menyediakan sebuah program (software), mikrofon,
speaker, soundcard dan koneksi internet yang relatif cepat seperti
koneksi kabel atau DSL.
2.4.2 Kelebihan fitur-fitur VoIP
Sebagaimana kita ketahui bahwa dengan menggunakan VoIP, banyak
sekali keuntungan-keuntungan yang akan didapatkan seperti pada tabel
dibawah ini (Anonim 10, 2005) :
Tabel 2.3 Fitur-fitur VoIP
(Anonim 10, 2005)
Fitur
Kelebihan
Voice mail
Fungsionalitas mesin penjawab dasar (basic).
Audioconferencing
Menyediakan kemampuan audioconference sambil mengurangi
biaya
layanan
per-menitnya,
karena
perusahaan
dapat
memasukkan semua kebutuhan audioconference internalnya ke
dalam IP WAN.
Unified messaging
(voice mail, email,
fax)
Menyediakan akses voice mail melalui suatu text interface, dan
sebaliknya, baik mendorong voice mail ke suatu client, atau
mengintegrasikannya
ke
dalam
aplikasi
e-mail.
Hal
itu
19
memungkinkan
para
pengguna
menjadi
lebih
efisien,
mendengarkan e-mail sambil roaming atau sebaliknya dari sebuah
komputer. Pengguna juga dapat memindai (scan) membuat
prioritas, atau mem-foward atau mendengarkan voice mails
melalui suatu PC interface yang boleh jadi lebih mudah dan cepat.
Directory services
Memungkinkan nomor telepon disimpan dan diakses secara cepat
oleh karyawan. Terintegrasi secara baik dengan click-to-dial.
Contact centre-
Menyediakan fitur-fitur VoIP directory ke contact centre,
based directory
sehingga memungkinkan dilakukannya rapid dialing, predictive
dialing dan berbagai fungsi call centre lainnya.
Presence
Berbasis model yang digunakan untuk Instant Messenger (IM),
memungkinkan para pengguna tak hanya melihat apakah lawan
bicaranya sudah logged on, tetapi juga status ketercapaiannya
(reachability status) melalui berbagai media (telepon, e-mail, dll).
Dapat diintegrasikan dengan penerusan panggilan "find me/follow
me" guna menentukan dimana panggilan-panggilan individual
harus diteruskan (delivered).
Videoconferencing
Sama dengan audioconference, tetapi memungkinkan kolaborasi
yang lebih dalam melalui berbagai fitur, seperti document
sharing, whiteboarding, dan Web co-browsing.
Click-to-dial
Secara otomatis menghubungi nomor telepon manapun yang
disimpan dalam logs atau address book. Menghemat waktu dalam
mencari nomor telepon dan memastikan ketepatan dalam
20
membuat panggilan (dialing).
Dial plans memetakan nomor-nomor telepon ke alamat tujuan (IP
Dial plans
addresses). Memungkinkan penggunaan singkatan nomor telepon
di antara para pengguna VoIP, sehingga akan lebih mempercepat
dan efisien penerusan panggilan telepon.
Aplikasi berbasis PC, yang memungkinkan panggilan IP melalui
Soft client
PC. Memungkinkan layanan-layanan bernilai tambah, seperti
videoconferencing.
Juga
menyediakan
kemampuan
mobile
telephony melalui laptop dan (biasanya) konektivitas Wi-Fi.
One-way video
Memungkinkan transmisi video Web casts dan konten streaming
lainnya, bersamaan dengan panggilan telepon
2.5 XMPP
2.5.1 Pengertian XMPP
XMPP (The Extensible Messanging and Presence Protocol) adalah
teknologi yang terbuka untuk komunikasi real-time, kekuasaan yang beragam
termasuk aplikasi pesan instan, keberadaan multi-pihak obrolan, panggilan
voice dan video, kolaborasi, middleware ringan, konten sindikasi, routing atas
data XML secara umum. (Anonim 9, 1999).
2.5.2 Sejarah XMPP
XMPP
pada
awalnya
dikembangkan
community,
yang
merupakan
sebuah
oleh
komunitas
Jabber
Open-source
Programmer
untuk
memberikan suatu layanan piranti lunak yang terbuka, aman, bebas spam,
21
desentralisasi alternatif ke layanan pesan instan yang tertutup pada waktu itu.
(Anonim 9, 1999).
2.5.3 Kelebihan Layanan XMPP (Anonim 9, 1999) adalah:
2.5.3.1 Open/Terbuka
Protokol XMPP yang bebas, terbuka, publik, dan mudah
dimengerti; di samping itu, ada beberapa implementasi dalam bentuk
klien, server, server komponen, dan kode perpustakaan.
2.5.3.2 Standard
Internet Engineering Task Force (IETF) telah memformalisasikan
inti dari protokol streaming XML sebagai pesan instan yang telah
disetujui dan sebagai teknologi masa kini. Spesifikasi XMPP yang
diterbitkan sebagai RFC 3920 dan RFC 3921 pada tahun 2004, dan
XMPP
Standard
Foundation
akan
terus
melanjutkan
untuk
mempublikasikan berbagai macam seri XEP.
2.5.3.3 Proven/Terbukti
Teknologi XMPP/Jabber yang pertama kali dikembangkan oleh
Jeremie Miller pada tahun 1998 dan sekarang sudah cukup stabil,
ratusan pengembang bekerja pada teknologi ini, terdapat puluhan ribu
server Jabber telah dioperasikan di internet saat ini, dan jutaan orang
menggunakan XMPP untuk pesan instan melalui pelayanan publik
seperti Google Talk dan organisasi XMPP lainnya di seluruh dunia.
2.5.3.4 Decentralized/Desentralisasi
Arsitektur dari jaringan XMPP sama dengan email, siapapun
dapat menjalankan server XMPP sendiri, memungkinkan individu dan
22
organisasi untuk mengambil kontrol dari pengalaman komunikasi
mereka.
2.5.3.5 Secure/Aman
Beberapa server XMPP mungkin terisolasi dari jaringan public
(misalnya,
pada
perusahaan
intranet),
kekuatan
keamanan
menggunakan SASL dan TLS telah dibangun menjadi spesifikasi inti
XMPP, dan jaringan XMPP hampir bebas spam. Selain itu,
pengembang XMPP secara aktif bekerja pada enkripsi end-to-end
untuk meningkatkan bar keamanan bahkan lebih lanjut.
2.5.3.6 Extensible
Dengan menggunakan kelebihan XML, siapa saja dapat
membangun beberapa fungsionalitas di bagian atas inti protokol, untuk
menjaga
interoperabilitas,
ekstensi
umum
diterbitkan
dalam
serangkaian XEP, tidak membutuhkan publikasi dan jika menghendaki
beberapa organisasi dapat memelihara ekstensitas pribadinya sendiri.
2.5.3.7 Flexible/Fleksibel
Aplikasi XMPP diluar IM termasuk dalam manajemen jaringan,
sindikasi konten, alat-alat kolaborasi, file-sharing, gaming, remote
systems monitoring, web services, lightweight middleware, cloud
computing, dan lain-lain.
2.5.3.8 Diverse/Beraneka ragam
Beberapa perusahan dan proyek open-source menggunakan
XMPP untuk membangun dan menyebarkan aplikasi yang real-time
23
dan layanannya. Anda tidak akan pernah get "locked in" ketika
menggunakan teknologi XMPP.
2.6 Java
2.6.1 Pengertian Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems
dan diterbitkan tahun 1995. (Anonim 3, 2008).
2.6.2 Sejarah Pemrograman 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 dengan jumlah karyawan meningkat
dalam waktu singkat dari 13 menjadi 70 orang. Pada awal tahun 1990-an,
24
internet masih merupakan rintisan, yang hanya dipakai dikalangan akademisi
dan militer sudah diterapkan di perusahaan tersebut.
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. Suatu hari pada pukul 04.00 di sebuah ruangan hotel
Sheraton Palace terjadi perpecahan diantara mereka, 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. (Anonim 3, 2008).
2.6.3 Versi Awal Java
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 :
(Anonim 3, 2008).
ƒ
java.lang: Peruntukan kelas elemen-elemen dasar.
25
ƒ
java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
ƒ
java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelaskelas 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.
2.6.4 Kelebihan Java (Anonim 3, 2008).
2.6.5.1 Multiplatform
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.
2.6.5.2 OOP (Object Oriented Programming)
Semua aspek yang terdapat di Java adalah obyek. Java merupakan
salah satu bahasa pemrograman berbasis obyek 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
26
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.
2.6.5.3 Library/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.
2.6.5.4 Bergaya C++
Java 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 tidak mengambil jurusan komputer.
2.6.5 Kekurangan Java (Anonim 3, 2008).
2.6.5.1 Tulis sekali, perbaiki di mana saja
Masih ada beberapa hal yang tidak kompatibel antara platform
satu dengan platform lain. Untuk J2SE, misalnya untuk SWT-AWT
bridge yang tidak berfungsi pada software Mac OS.
27
2.6.5.2 Mudah didekompilasi
Dekompilasi adalah proses membalikkan dari kode jadi menjadi
kode sumber.
Ini dimungkinkan karena kode jadi yang sama juga terjadi pada
Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan
program akan lebih sulit disembunyikan dan mudah dibajak/diverseengineer.
2.6.5.3 Penggunaan memori yang banyak
Penggunaan memori untuk program berbasis Java jauh lebih besar
dibandingkan dengan bahasa tingkat tinggi generasi sebelumnya
seperti C/C++ dan Pascal.
2.6.6 Integrated Development Environment
IDE (Integrated Development Enviroment) yang populer untuk Java saat
ini (Juli 2006) antara lain (Anonim 3, 2008) :
ƒ
Dr. Java, program gratis yang dikembangkan oleh Universitas Rice, AS.
ƒ
BlueJ, program gratis yang dikembangkan oleh Universitas Monash,
Australia.
ƒ
NetBeans (Common Development and Distribution License (CDDL)),
sebuah open source IDE. NetBeans disponsori Sun Microsystems, dan
versi terkininya memiliki Matisse, sebuah GUI Editor.
ƒ
Eclipse JDT (Eclipse Public License), sebuah open source IDE.
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota
'Eclipse Foundation' beserta individu yang lain. Banyak nama besar yang
ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia,
28
Borland. Eclipse bersaing langsung dengan NetBeans IDE. Plugin
tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE
lainnya.
ƒ
IntelliJ IDEA, program yang diperuntukkan untuk komersial, gratis 30 hari
trial.
ƒ
Oracle JDeveloper, sebuah program gratis.
ƒ
Xinox JCreator, terdapat versi berbayar maupun gratis.
JCreator ditulis dalam C/C++ sehingga lebih cepat dan menggunakan
memori lebih sedikit dari kebanykan IDE yang lain.
2.6.7 Contoh program sederhana dalam Java
Membuat program HaloDunia :
class HaloDunia
{
public static void main(String[] argumen)
{
System.out.printlm("Halo Dunia");
}
}
2.7 Konsep Messaging
Dalam perkembangan teknologi pada saat ini sering terjadi berbagai macam
penemuan-penemuan terbaru dari developers guna mempermudah aktivitas dan
kegiatan yang dilakukan oleh manusia. Salah satunya messaging yang merupakan
alat komunikasi antara komputer satu dengan komputer lain dengan mengirim pesan
(message) kepada komputer yang dituju dengan melalui media internet. Dengan
29
demikian dapat diartikan pula messaging sebagai media komunikasi yang
mengandalkan internet sebagai media pengiriman pesan (message). Messaging
termasuk berbagai spektrum dari email, pesan yang berupa text yang terdapat pada
handphone yang biasa disebut SMS (Short Message Service), instant messaging,
sampai dengan Voice-Over-IP (VoIP) merupakan teknologi yang sangat diminati
pada saat ini karena kemampuannya yang mampu mengirim pesan secara cepat dan
dapat diterima secara langsung setelah beberapa detik dikirim oleh pengirim
(Anonim 8, 2005). Namun dalam proses pengiriman pesan yang sebenarnya tidak
dilakukan secara mudah karena melibatkan client dan server. Client yang ingin
mengirim pesan harus melakukan identifikasi terlebih dahulu agar client dapat
dikenali oleh server. Pada saat client ingin mengirim pesan maka client harus
memberikan alamat tujuan pengiriman pesan tersebut kepada messaging server
sehingga ketika pesan tersebut akan diterima oleh messaging server yang akan
mengecek alamat yang dituju dan kemudian dikirimkan ke alamat tersebut.
Messaging server merupakan suatu program middleware yang menangani pesan
yang akan dikirim menggunakan program yang lain dengan menggunakan suatu
aplikasi Messaging (Anonim 6, 2007). Dalam pengiriman pesan messaging server
memiliki dua model yaitu the point-to-point model dan the publish/subscribe model.
Pada the point-to-point model digunakan pada saat pengiriman pesan secara
langsung melalui instant messaging sedangkan the publish/subscribe model
digunakan pada email (Anonim 7, 2004).
30
2.8 Unified Modeling Language (UML)
Unified Modeling Language adalah suatu bahasa yang digunakan untuk
memvisualisasi, menspesifikasi, mengkonstruksi dan mendokumentasikan artifak
dari perangkat lunak (Booch et al, 1999, p14). 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.
Dalam pemodelan sistem UML memiliki bentuk-bentuk diagram antara lain :
1. Class Diagram
Class diagram adalah sebuah diagram yang menggambarkan struktur dan
deskripsi class, package dan objek beserta hubungan satu sama lain seperti
pewarisan, asosiasi, dan lain-lain. (Booch et al, 1999, p107).
Class adalah sebuah mendeskripsikan sebuah objek yang menggambarkan
keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi). Class memiliki 3 area pokok,
yaitu nama class, atribut, dan operasi.
Hubungan antar class antara lain :
ƒ
Association, yaitu hubungan statis antar class. Umumnya menggambarkan
class yang memiliki atribut berupa class lain, atau class yang harus
31
mengetahui eksistensi class lain. Panah navigability menunjukkan arah query
antar class.
ƒ
Aggregation, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
Dapat digambarkan dengan wajik tidak terisi
ƒ
Composition, yaitu hubungan yang menyatakan bagian (“berhubungan
dengan…”). Dapat digambarkan dengan wajik terisi.
ƒ
Multiplicity, yaitu jumlah objek yang berpastisipasi dalam hubungan antar
class.
ƒ
Generalization, yaitu suatu kelas dapat lebih general atau lebih spesifik dari
kelas lainnya.
Contoh class diagram :
Gambar 2.8.1 Class Diagram (Jürgen, 2004, p19)
32
2. Use Case Diagram
Use case diagram menggambarkan fungsionalitas dari sebuah sistem.
Yang ditekankan dalam use case ini adalah menggambarkan set dari use case
dan aktor serta hubungannya dalam sistem suatu aplikasi (Booch et al, 1999,
p234). Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan
sistem. Use case diagram dapat sangat membantu dalam menyusun requirement
sebuah sistem, mengkomunikasikan rancangan dengan client, dan merancang test
case untuk semua feature yang ada pada sistem.
Hubungan use case diagram antara lain:
ƒ
Actor berperan sebagai pengguna sistem yang berinteraksi dengan use case.
ƒ
Use case berperan aksi-aksi yang ditampilkan dalam sistem.
ƒ
Association berperan sebagai penghubung relasi antara actor dan use case.
ƒ
Extend menunjukkan target dari use case mewarisi tingkah laku extend use
case sumber.
ƒ
Include menunjukkan sumber dari use case memasukkan tingkah laku dari
use case tujuan secara eksplisit.
ƒ
System Boundary menunjukkan batasan dari sistem yang dibuat untuk
mengelilingi use case.
Contoh use case:
33
Gambar 2.8.2 Use Case Diagram (Booch et al, 1999, p106)
3. Activity Diagram
Activity diagrams menggambarkan berbagai aliran aktivitas dalam sistem
yang sedang dirancang dari aliran awal, decision yang mungkin terjadi, dan
sampai aliran sistem berakhir (Booch et al, 1999, p258). Activity diagram juga
dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa
eksekusi.
Hubungan activity diagram antara lain:
ƒ
Initial State : menggambarkan titik awal suatu aktifitas suatu sistem.
ƒ
Final State: menggambarkan titik akhir suatu aktifitas suatu sistem.
ƒ
Transition: menggambarkan suatu objek dari state pertama yang akan
melakukan suatu aksi tertentu dan memasuki state kedua ketika state
sebelumnya telah memenuhi kondisi tertentu.
ƒ
Branch: menggambarkan jalur alternatif yang membutuhkan transisi
masukan dan 2 atau lebih transisi keluaran.
34
ƒ
Concurrent Fork: menggambarkan pemecahan dari aliran kontrol tunggal
menjadi 2 atau lebih aliran kontrol yang bersamaan.
ƒ
Concurrent Join: menggambarkan penggabungan dari 2 atau lebih aliran
kontrol menjadi 1 aliran kontrol.
ƒ
Action State: sebuah state yang menggambarkan eksekusi dari aksi atomic.
ƒ
Activity State : sebuah state yang menggambarkan eksekusi dari aksi aksi
nonatomic dimana state tersebut dapat direpresentasikan oleh aktivitas
diagram lainnya.
Contoh activity diagram :
Gambar 2.8.3 Activity Diagram (Booch et al,1999,p247)
4. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message
35
yang digambarkan terhadap waktu. Sequence diagram terdiri antara dimensi
vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait) (Booch et al,
1999, p245)
Hubungan sequence diagram antara lain :
ƒ
Object Lifeline : sebuah garis yang menggambarkan adanya objek dalam
jangka waktu tertentu.
ƒ
Lifeline : menentukan periode waktu ketika pemrosesan terjadi dalam objek
tersebut.
ƒ
Message, return, callback message : penyampaian pesan dari satu objek ke
objek lain atau ke diri sendiri.
Contoh sequence diagram :
Gambar 2.8.4 Sequence Diagram (Booch et al,1999,87)
Download