9 BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1
Internet 2.1.1.1
Pengertian Internet Interconnected Network atau yang lebih populer dengan sebutan Internet (Muhammad Sutiyadi, 2001) adalah sebuah sistem komunikasi global yang menghubungkan komputer – komputer dan jaringan – jaringan komputer yang ada di seluruh dunia. Setiap komputer dan jaringan yang terhubung baik itu secara langsung maupun tidak langsung ke beberapa jalur utama, disebut internet backbone dan dibedakan satu dengan yang lainnya menggunakan unique name yang biasa disebut dengan alamat IP 32 bit. Contoh: 202.155.4.230. Komputer dan jaringan dengan berbagai platform yang mempunyai perbedaan dan ciri khas masing – masing (Unix, Linux, Windows, Mac, dll) bertukar informasi dengan sebuah protokol standar yang dikenal dengan nama TCP/IP (Transmission Control Protocol / Internet Protocol). TCP/IP tersusun atas 4 layer atau lapisan (network access, internet, host-to-host transport, dan application) yang masing – masing memiliki protokolnya sendiri – sendiri.
10 2.1.1.2
Sejarah Singkat Internet Rangkaian pusat yang membentuk Internet diawali pada tahun 1969 sebagai ARPANET, yang dibangun oleh DARPA (United States Department of Defense Advanced Research Projects Agency). Beberapa penyelidikan awal yang disumbang oleh ARPANET termasuk kaedah rangkaian tanpa-pusat (decentralised network), teori queueing atau antrian, dan kaedah pertukaran paket (packet switching). Akses ke ARPANET sangat terbatas hanya untuk
kebutuhan
militer,
pertahanan
dan
keamanan, dan
universitas yang melaklukan penelitian. Pada 01 Januari 1983, ARPANET menukar protokol rangkaian pusatnya, dari NCP ke TCP/IP. Ini merupakan awal dari Internet yang kita kenal hari ini. Hal ini dimulai oleh CSNET (Computer Science Network) dan BITNET yang menyediakan akses jaringan internet antar universitas. Selanjutnya, pada tahun 1986, NSFNET (The National Foundation Network) sudah mampu menghubungkan para peneliti lintas negara dengan 5 buah komputer mainframe yang menjadi cikal bakal internet hari ini. Pada sekitar 1990-an, internet telah berkembang dan menyambungkan kebanyakan pengguna jaringan – jaringan komputer yang ada. Pada tahun 2001 diperkirakan hampir 500 juta orang telah menjadi pengguna internet yang terhubung ke dalam satu juta jaringan sebagai pembentuk internet.
11 2.1.1.3
Protokol Agar
suatu
komputer dapat berkomunikasi dengan
komputer lain, kedua komputer tersebut membutuhkan suatu kesepakatan tentang tata cara berkomunikasi. Tata cara atau aturan komunikasi ini yang disebut dengan protokol. Salah satu perbedaan mendasar dari berbagai protokol jaringan adalah dari segi penamaan suatu entitas (entity), seperti komputer milik si A diberi nama xxx dan printer milik si B diberi nama yyy. (stttelkom, 2003). Protokol yang dikenal di jaringan komputer (Tommy PM Hutapea, 2003), antara lain: 1. TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) adalah jaringan dengan teknologi “packet switching” yang berasal dari proyek DARPA (Development of Defense Advanced Research Project Agency) ditahun 1970-an yang dikenal dengan nama ARPANET. TCP (Transmission Control Protocol) melakukan transmisi data per segmen, artinya paket data dipecah dalam jumlah yang sesuai dengan besaran paket, kemudian dikirim satu persatu hingga selesai. Agar pengiriman data sampai dengan baik, maka pada setiap paket pengiriman, TCP ini akan menyertakan nomor seri (sequence number).
12 Komputer mitra yang menerima paket tersebut harus mengirim balik sebuah sinyal ACK (ACKnowledge) dalam satu periode yang ditentukan. Bila pada waktunya sang mitra belum juga memberikan ACK, maka terjadi time out yang menandakan pegiriman paket gagal dan harus diulang kembali. Model protokol TCP disebut sebagai connection oriented protocol.
2. IP IP
(Internet
Protocol)
menggunakan
IP-address
sebagai identitas. Pengiriman data akan dibungkus dalam paket dengan label berupa IP-address si pengirim dan IP-address si penerima. Apabila IP penerima melihat pengiriman paket tersebut dengan identitas IP-address yang sesuai, maka datagram tersebut akan diambil dan disalurkan ke TCP melalui port, dimana aplikasi menunggunya. IP-address terbagi dua (2) bagian, yaitu : ¾ Identitas Jaringan (Network ID) ¾ Identitas Komputer (HOST ID) Penulisan IP-address itu sendiri terbagi atas 4 set angka, yang masing – masing mempunyai nilai maksimum 255 (maksimum dari 8 bit). (Tommy P.M Hutapea)
13 3. UDP UDP (User Datagram Protocol) merupakan suatu protokol yang menyediakan layanan nirkoneksi (wireless) untuk prosedur – prosedur tingkatan aplikasi. UDP mampu mengurangi overhead protokol pada kasus untuk perangkat mobile.
Pada
intinya,
UDP
menambahkan
kapabilitas
pengalamatan dengan menggunakan IP-address. Alamat IP tujuan
merupakan
alamat
IP
32
bit
standar
yang
mengidentifikasi jaringan tujuan dan host tertentu. Jika alamat tujuan bukanlah host dalam jaringan lokal, maka paket data akan dikirim melalui sebuah gateway.
4. SIP SIP (Session Initiation Protocol), yaitu protocol call setup yang beroperasi pada layer aplikasi. Protokol lain dengan fungsi yang sama adalah H.323 yang dikeluarkan oleh ITU (International Telecommunication Union). Format SIP adalah text-based sehingga sangat mudah dibaca dan memudahkan dalam implementasi dan debugging. Protokol SIP merupakan protokol standar dalam Internet
Telephony.
Dalam
implementasinya,
Internet
Telephony sendiri berbeda dengan Telephony Over Internet karena pada Internet Telephony nomor tujuan tidak lagi harus
14 diidentifikasi dengan nomor telepon namun diidentifikasikan dengan URL (Uniform Resource Locator). Sehingga protokol SIP dapat berperan seperti protokol HTTP. Kerja protokol SIP membutuhkan proxy yang berperan dalam melakukan call setup dia antara user agent yang terlibat dalam sebuah sesi percakapan. Di samping itu, biasanya proxy juga menjalankan fungsi registrasi yang berguna untuk memetakan nomor tujuan sebagai subset dari sebuah URL. Secara
kelesuruhan,
protokol
SIP
mempunyai
kemampuan seperti registrasi & identifikasi user, ketersediaan user, kemampuan user, set-up session dan management session
2.1.2
Komunikasi Wireless 2.1.2.1
Pengertian Wireless Istilah wireless biasanya digunakan untuk segala macam tipe operasi elektronik tanpa memakai atau menggunakan koneksi "hard wire". Komunikasi wireless adalah cara komunikasi dengan memindahkan informasi yang memiliki jarak tanpa menggunakan kabel. Jarak tersebut bisa saja pendek (beberapa meter seperti remote kontrol televisi) atau sangat jauh (ribuan atau bahkan jutaan kilometer untuk radio komunikasi). Komunikasi wireless biasanya dianggap sebagai cabang dari komunikasi.
15 2.1.2.2
Perkembangan Wireless Sejarah perkembangan teknologi jaringan wireless hingga saat ini dibagi menjadi 3 generasi yang masing – masing disebut generasi-1 (1G), generasi-2 (2G), dan generasi-3 (3G). (Toni Satriyantono,2002). Generasi-1 dimulai pada akhir tahun 1970-an di Amerika (di Eropa pada awal tahun 1980-an). AMPS (Advanced Mobile Phone Service) pertama kali diperkenalkan di New Jersey dan Chicago pada tahun 1978. AMPS merupakan sistem telepon wireless analog yang untuk ukuran waktu itu, dan hal ini cukup sukses di Amerika. AMPS berhasil memberikan pelayanan telepon seluler yang dapat menjangkau sebagian besar daratan Amerika Serikat, namun AMPS masih banyak memiliki kelemahan, yaitu antara lain dalam hal mobilitas pengguna yang sangat terbatas karena belum adanya kemampuan handover yang menyebabkan pembicaraan dari pengguna akan segera terputus apabila dia berada di luar jangkauan area, efisiensi yang sangat kecil karena keterbatasan kapasitas spektrum yang menyebabkan hanya sedikit pengguna saja yang dapat berbicara dalam waktu bersamaan, dan sistem ini tidak dapat dioptimasi lebih lanjut karena keterbatasan kemampuan kompresi dan coding data. Generasi-1 telepon wireless untuk kawasan Eropa ditandai dengan diluncurkannya paling tidak 9 standar sistem analog di awal tahun 1980-an, seperti
16 NMT (Nordic Mobile Telephony) di Skandinavia, TACS (Total Access Communications System) di Inggris, C450 di Jerman, dll., dimana satu sama lain tidak saling berinterkoneksi. Generasi-2 (2G) telepon wireless dipelopori dari kawasan Eropa yang diawali pada kebutuhan bersama terhadap satu sistem jaringan baru yang dapat menjadi standar jaringan yang berlaku dan dapat diterapkan di seluruh kawasan Eropa. Dalam sistem baru juga harus terdapat kemampuan yang dapat mengantisipasi mobilitas pengguna serta kemampuan melayani lebih banyak pengguna untuk menampung penambahan jumlah subscriber baru. Karena hal ini tidak dapat dilakukan dengan mempertahankan sistem analog, maka kemudian diputuskan untuk merombak sistem dan
menggantinya
dengan
sistem
digital.
Standar
baru
diperkenalkan dengan nama GSM (Global Standard for Mobile Communications). GSM pada awalnya adalah kepanjangan dari Groupe Speciale Mobile, sebuah badan gabungan dari para ahli yang melakukan studi bersama untuk menciptakan standar GSM tersebut. Generasi-2 (2G) di Amerika Serikat ditandai dengan diluncurkannya standar jaringan baru yang juga bersistem digital yang diberi nama D-AMPS (Digital AMPS) disebut juga TDMA (Time Division Multiple Access). Sistem digital lainnya yang muncul di Amerika adalah IS-95 atau CDMA-One, yang merupakan sistem digital yang berbasis teknologi CDMA (Code
17 Division Multiple Access) dan diperkenalkan oleh Qualcomm pada pertengahan 1990-an. Untuk negara – negara di benua Asia, pertama kali mereka mengadopsi sistem telepon wireless digital dengan menerapkan teknologi jaringan GSM. Teknologi wireless Generasi-3 (3G) hingga saat ini dikembangkan oleh suatu kelompok yang diakui dan merupakan kumpulan para ahli dan pelaku bisnis yang berkompeten dalam bidang teknologi wireless di dunia. Kesepakatan 3G tertuang dalam IMT 2000 (International Mobile Telecommunications 2000) dan antara lain memutuskan bahwa standar 3G akan bercabang menjadi 3 standar sistem yang akan diberlakukan di dunia, yaitu EDGE (Enhanced Datarates for GSM Evolution), WCDMA (Wideband-CDMA),
dan
CDMA2000.
Teknologi
3G
diperkenalkan pada awalnya adalah untuk tujuan sebagai berikut: a. Menambah efisiensi dan kapasitas jaringan. b. Menambah kemampuan jelajah (roaming). c. Untuk mencapai kecepatan transfer data yang lebih tinggi. d. Peningkatan kualitas layanan (Quality of Service – QOS). e. Mendukung kebutuhan Internet mobile (mobile Internet).
18 2.1.3
E-Commerce 2.1.3.1
Pengertian Secara umum e-commerce itu sendiri dapat didefinisikan sebagai segala bentuk transaksi perdagangan atau perniagaan barang atau jasa (trade of goods and services) dengan menggunakan ataupun berbasiskan pada penggunaan media elektronik.
2.1.3.2
Jenis-jenis E-Commerce Terdapat jenis – jenis e-commerce dibawah ini, antara lain: 1. B2B (Business to Business) Pembeli, penjual, dan transaksi dilakukan dalam satu organisasi. Biasanya dilakukan oleh mitra dagang yang sudah saling mengetahui dan diantara mereka terjalin hubungan yang berlangsung cukup lama. Pertukaran data dilakukan berulangulang dan secara berkala dengan pola data yang sudah disepakati bersama.
2. B2C (Business to Consumers) Penjual merupakan suatu organisasi sedangkan pembeli merupakan individual. Biasanya terbuka untuk umum dengan pengertian bahwa setiap orang dapat menggunakannya dan atau mengaksesnya. Ciri lainnya yaitu memberikan pelayanan
19 berdasarkan permintaan konsumen. Menggunakan bermacam – macam mekanisme untuk mendekati konsumen.
2.1.4
Rekayasa Piranti Lunak Software Engineering atau RPL (Rekayasa Piranti Lunak) (Lethbridge dan Laganiere, p5) merupakan proses dari pemecahan masalah customer dengan pengembangan sistematik dan evolusi dari sistem software yang besar serta berkualitas tinggi, dimana didalamnya termasuk biaya, waktu dan batasan – batasan lainnya. Software Engineering atau RPL (Pressman, 1997, p20) merupakan aplikasi dari sebuah pendekatan sistematik yang dapat diukur untuk mengembangkan, mengoperasikan, dan memelihara software. Software engineering ini juga merupakan teknologi yang dibagi menjadi beberapa layer atau lapisan. Lapisan yang paling bawah yaitu Quality Focus, dimana pada lapisan ini kebanyakan software masih berorientasi atau masih berfokus pada kualitas yang akan dihasilkan dari software tersebut. Diatas lapisan atau layer Quality Focus terdapat lapisan Process dimana pada lapisan ini berfungsi sebagai perekat antara lapisan – lapisan teknologi (technology layers) bersamaan dengan enables rational dan dengan waktu pengembangan dari software komputer. Process disini mendefinisikan sebagai framework untuk sebuah set dari KPAs (Key
20 Process Areas) yang harus didirikan untuk pengantar yang efektif dari teknologi software engineering itu sendiri. Diatas lapisan proses atau Process layer terdapat lapisan Methods dimana metode – metode dari software engineering ini menyediakan teknik bagaimana cara untuk membuat atau membangun software. Metode – metode software engineering ini bergantung pada sebuah set prinsip dasar yang memerintah atau berkuasa atas setiap area dari teknologi dan termasuk memodelkan aktivitas – aktivitas dan teknik – teknik deskriptif lainnya. Method ini juga termasuk perencaan proyek (projet planning) dan estimasi, serta sistem – sistem, software requirements, dan seluruh tahap – tahap dalam SDLC (Software Development Life Cycle). Lapisan paling atas yaitu lapisan Tools (Peralatan), dimana tools – tools dari software engineering ini menyediakan support yang automated atau yang semi-automated untuk process dan methods. CASE (Computer Aided
Software
Engineering) merupakan
sistem untuk
menopang
perkembangan perangkat lunak. Software merupakan sebuah elemen sistem yang lebih mengarah ke suatu logika daripada mengarah ke suatu yang bersifat fisikal. Karakteristik Software, antara lain: 1. Software itu dikembangkan (developed) atau direkayasa (engineered). 2. Software tidak bisa usang / rusak. 3. Kebanyakan software dibuat secara custom built, serta tidak dapat dirakit dari komponen yang sudah ada.
21 SDLC (Software Developmnet Life Cycle) SDLC ini biasa disebut dengan CLC (Classical Life Cycle) yaitu sebagai suatu proses pengembangan piranti lunak (software development process), (Wikipedia, 2007). SDLC atau atau yang disebut dengan CLC atau sering dikenal sebagai sekuensial linear (Pressman (edisi Indonesia), 1997, p37), mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model sekuensial linier ini adalah paradigma rekayasa perangkat lunak yang paling luas dipakai dan paling tua. Tetapi, kritik dari paradigma tersebut telah menyebabkan dukungan aktif untuk mempertanyakan kehandalannya. Masalah – masalah yang kadang – kadang terjadi ketika model sekuensial linier ini diaplikasikan adalah: 1. Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier ini bisa mengakomodasi iterasi, model itu melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan – perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan. 2. Kadang – kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan hal ini dan mengalami kesulitan untuk mengakomodasi ketidakpastian natural yang ada pada bagian awal beberapa proyek.
22 3. Pelanggan harus bersikap sabar. Sebuah versi kerja dari program – program itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa jadi petaka. 4. pengembang
sering
melakukan
penundaan
yang
tidak
perlu.
Kenyataannya, waktu yang dipakai untuk menunggu bisa mengurangi waktu untuk usaha produktif. Blocking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier. SDLC ini digunakan oleh sistem analis untuk membangun atau mengembangkan sebuah sistem informasi, termasuk kebutuhan – kebutuhan, validasi, pelatihan, dan hak milik user melalui investigasi, analisis, desain, implementasi, dan pemeliharaan. SDLC juga dikenal sebagai pengembangan sistem informasi (information system development) atau pengembangan aplikasi (application development). Sebuah SDLC harusnya menghasilkan sebuah sistem dengan kualitas tinggi yang mempertemukan atau melampaui dari perkiraan customer, dengan penggunaan estimasi waktu dan estimasi biaya, juga bekerja secara efektif dan efisien didalam infrastruktur teknologi informasi yang ada pada saat ini maupun yang direncanakan, murah untuk biaya pemeliharaan dan penggunaan biaya yang efektif untuk peningkatan software. SDLC merupakan sebuah pendekatan sistematik (systematic approach) sebagai pemecahan masalah dan dikomposisi oleh beberapa fase, yaitu:
23 •
System Engineering and Analysis. Diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam software.
•
Software
Requirements
Analysis.
Proses
pencarian
kebutuhan
diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software. •
Design. Proses ini digunakan untuk mengubah kebutuhan – kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya.
•
Coding. Untuk dapat dimengerti oleh mesin, maka desain tadi harus diubah bentuknya menjadi bahasa pemrograman melalui proses coding.
•
Testing. Semua fungsi – fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar – benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
•
Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.
24
System Engineering
Analysis
Design
Coding
Testing
Maintenance / Operation Gambar 2.1 SDLC – Waterfall Model
2.1.5
Database 2.1.5.1
DBMS DBMS (Database Management System) adalah perangkat lunak atau software yang dirancang sedemikian rupa agar memungkinkan user untuk mendefinisikan, membuat, mengolah, dan memelihara database serta menyediakan control access untuk database.
25 2.1.5.2
RDBMS RDBMS adalah salah satu jenis dari DBMS yang memungkinkan pemodelan data dalam bentuk tabel yang saling terkait satu sama lain. Tujuan utama dari RDBMS adalah membuat setinggi mungkin ketidaktergantungan data antar tabel yang ada dan menyediakan dasar yang tangguh terhadap data, baik dari sisi semantik, konsistensi, maupun masalah redudansi.
2.1.6
Process dan Thread Dibawah ini merupakan jenis – jenis pengorganisasian file, yaitu process dan thread. 2.1.6.1
Process Proses merupakan konsep utama dalam berbagai sistem operasi. Proses sendiri sebenarnya merupakan program utama yang sedang dijalankan dan juga dalam konsep ini masing – masing proses mempunyai CPU semu. Sehingga dalam suatu proses komputasi CPU yang sebenarnya beralih dari satu proses ke proses lainnya secara bergantian dalam selang waktu yang sangat cepat (tergantung dari tingkat kecepatan CPU utama per detiknya). Setiap proses yang berjalan mempunyai masukan, keluaran, dan status sendiri – sendiri. Dengan CPU yang beralih dari satu proses ke proses lainnya, kecepatan masing – masing proses untuk
26 menyelesaikan
komputasinya tidaklah
sama, bahkan
tidak
mungkin jika sebuah program yang sama dijalankan kembali.
2.1.6.2
Thread Thread adalah sub-proses dalam suatu proses, atau dengan kata lain proses yang berjalan pada suatu proses. Satu proses dapat mempunyai lebih dari satu thread yang berjalan. Thread juga dapat dipandang sebagai suatu mekanisme proses yang membelah dirinya menjadi proses – proses yang lebih kecil lagi dalam menjalankan tugas secara simultan. Hubungan antara thread dan proses dapat dianalogikan sebagai hubungan antara parent dan child yang memiliki variabel global yang sama pada parent dan variabel lokal yang unik pada masing – masing thread. Sehingga dapat disimpulkan
bahwa keberadaan
dari thread sangat
bergantung dari ada tidaknya proses yang membentuknya.
2.1.7
UML 2.1.7.1
Pengertian UML UML (Unified Modeling Language) (Whitten, Bentley dan Dittman, 2004, p408), adalah sekumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek.
27
2.1.7.2
Diagram UML Diagram UML dikelompokan menjadi empat perspektif berbeda untuk memodelkan suatu sistem, antara lain:
1. Diagram Model Use-Case Use Case Diagram secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna mengharapkan interaksi dengan sistem itu.
2. Diagram Struktur Statis (Diagram Kelas) Class Diagram menggambarkan struktur objek sistem. Diagram ini menunjukan kelas objek yang menyusun sistem dan juga hubungan antara kelas objek tersebut.
3. Diagram Interaksi (Sequence Diagram) Sequence Diagram secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalaui pesan pada eksekusi sebuah use case atau operasi.
4. Diagram State (Statechart) Statechart digunakan untuk memodelkan behaviour objek khusus yang dinamis. Diagram ini mengilustrasikan
28 siklus hidup objek berbagai keadaan yang dapat diasumsikan oleh objek dan event – event yang menyebabkan objek beralih dari satu state ke state lain.
2.2
Teori Khusus 2.2.1
JAVA 2.2.1.1
Sejarah singkat Java Java dikembangkan pertama kali pada tahun 1991 di Sun Microsystems oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan. Pada awalnya bahasa ini diberi nama “Oak” namun pada perkembangan selanjutnya berubah menjadi “Java” pada tahun 1995. Java, seperti bahasa lainnya, juga sangat dipengaruhi oleh peningkatan fitur pada bahasa yang sudah lebih dulu ada dan perubahan
lingkungan
komputasi.
Java
didesain
dengan
menggunakan warisan fitur dan karakteristik C dan C++ yang sudah diperbaiki. Dari segi sintaks, Java mangadaptasinya dari bahasa pemrograman C, sedangkan dari sisi class dan model objek, Java mengadaptasinya dari bahasa pemrograman C++. Sehingga, banyak kalangan programmer yang menyebut Java adalah C++ versi internet. Namun, hal ini tidak semata-mata membuat Java dibuat sebagai pengganti C++ karena pada dasarnya ada beberapa
29 fitur C++ yang tidak ada pada Java, misalnya tidak ditemukannya penggunaan pointer pada Java. Tujuan awal dikembangkannya Java adalah untuk menciptakan suatu bahasa pemrograman yang dapat berjalan pada berbagai macam platform. Pada waktu itu, kebanyakan CPU yang ada di pasaran memiliki keterbatasan dalam menjalankan compiler untuk mengkompilasi suatu bahasa pemrograman
tertentu.
Memang, ada beberapa vendor independen yang sudah mampu untuk membuat compiler sendiri untuk mengkompilasi bahasa pemrograman untuk platform yang berbeda, tapi hal ini sangatlah tidak efisien dalam hal waktu dan biaya. Sehingga, muncul keterbatasan yang sangat menghambat dalam mengintegrasikan antara satu sistem dengan sistem lainnya yang berbeda platform. Inilah
yang
menjadi
tantangan
sekaligus
tujuan
bagi
pengembangan Java. Pada
perkembangan
selanjutnya,
seiring
dengan
perkembangan pesat internet dan WWW (World Wide Web), dapat disimpulkan bahwa waktu kemunculan Java sangat tepat. Hal ini terlihat dari tingginya tingkat kebutuhan terhadap penggunaan aplikasi yang sifatnya portable dan multi-platform, tentunya hal ini sesuai dengan sifat internet itu sendiri. Pada waktu itu, banyak aplikasi Java dalam bentuk Java Applet yang dapat dengan mudah didistribusikan dengan mudah dan tanpa hambatan sama sekali
30 pada jaringan internet. Bahkan, dengan banyaknya dukungan dari vendor yang sudah bekerja sama dengan Sun Microsystems, sampai saat ini Java terus dikembangkan untuk dapat diterapkan pada mesin – mesin yang lebih besar maupun kecil sebagai embedded systems baik yang bersifat stand-alone maupun client / server.
2.2.1.2
J2ME 1. Pengertian J2ME Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. J2ME dikhususkan untuk pengembangan perangkat lunak selain komputer desktop yang biasanya lebih kecil, seperti telepon selular, pager, PDA (Personal Digital Assistant) dan sejenisnya. J2ME dikhususkan untuk digunakan dalam perangkat dengan besar memory dan CPU yang lebih terbatas. J2ME merupakan bagian dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME sendiri mempunyai beberapa library khusus yang tidak dimiliki J2SE. Teknologi J2ME juga memiliki beberapa keterbatasan, misalnya ketergantungan dari
31 segi perangkat (device) yang menjadi target penggunaan aplikasi. Keterbatasan yang dimaksud bisa dari segi merek ponsel, kemampuan ponsel, dan dukungannya terhadap teknologi J2ME itu sendiri.
2. Arsitektur J2ME Didalam arsitektur J2ME ini terdapat beberapa bagian lainnya, seperti: a).
Configuration Merupakan Java library minimum dan kapabilitas yang dimiliki oleh para pengembang J2ME. Dengan kata lain, suatu mobile device dengan kemampuan J2ME akan dioptimalkan fungsi – fungsinya. Configuration hanya mengatur hal – hal yang menyangkut kesamaan antara teknologi Java dengan fitur yang didukung device itu sendiri, sehingga configuration memastikan portabilitas antar device. Dalam prakteknya, configuration J2ME dibagi menjadi dua jenis, yaitu : •
CLDC (Connected Limited Device Configuration) Spesifikasi
CLDC
pada
J2ME
adalah
spesifikasi minimal dari package, class, dan sebagian fungsi JVM (Java Virtual Machine) yang disesuaikan agar dapat diimplementasikan dengan keterbatasan
32 sumber daya pada alat – alat tersebut. JVM yang digunakan pada CLDC adalah KVM (Kilo Virtual Machine). •
CDC (Connected Device Configuration) Spesifikasi CDC juga terdiri dari kumpulan class dasar untuk dipergunakan pada profile industri seperti pada CLDC. JVM yang digunakan pada configuration jenis ini adalah CVM (C – Virtual Machine). Biasanya, aplikasi yang ditujukan untuk dijalankan pada profile ini lebih kompleks dan sudah terintegrasi dengan
aspek multimedia
sehingga
membutuhkan sumber daya (resource) yang jauh lebih besar juga. b).
Profile Membahas sesuatu yang spesifik antara suatu perangkat mobile dengan perangkat mobile lainnya. Dalam J2ME terdapat dua jenis profile, yaitu: •
MIDP (Mobile Information Device Profile) MIDP ini merupakan sebuah lapisan di atas CLDC yang terdiri dari, API tambahan untuk daur hidup MIDlet, antarmuka, jaringan, dan penyimpanan persisten. MIDP dirancang untuk digunakan dengan
33 configuration CLDC dan KVM. Aplikasi yang ditulis untuk dijalankan dalam profile ini disebut MIDlet. •
Foundation Profile Foundation
Profile
ini
merupakan
sebuah
kumpulan API Java yang dikhususkan untuk device dengan sumber daya yang terbatas namun yang tidak mempunyai basis standar antarmuka pemakai. Biasanya profile jenis ini digabungkan penggunaannya dengan CDC dan ditujukan untuk pembuatan aplikasi pada embedded system.
2.2.2
IP-Call IP-Call, sebagai perkembangan lebih lanjut dari VoIP (Voice over Internet Protocol), adalah teknologi yang mampu melewatkan lalu lintas suara (voice traffic), yang berbentuk paket melalui jaringan IP dan dikhususkan pada perangkat mobile. Jaringan IP sendiri adalah merupakan jaringan komunikasi data yang berbasis packet-switch, jadi dalam bertelepon menggunakan jaringan IP atau Internet. Dengan bertelepon menggunakan jaringan IP, banyak keuntungan yang dapat diambil diantaranya adalah dari segi biaya yang secara jelas lebih murah dari tarif telepon pada umumnya, karena jaringan IP bersifat global. Sehingga untuk hubungan internasional dapat ditekan hingga 70%. Selain itu, biaya maintenance dapat di tekan karena voice (yang ditangani oleh protokol SIP) dan data network (yang
34 ditangani oleh HTTP) terpisah, sehingga IP Phone dapat di tambah, dipindah dan di ubah. Hal ini karena IP-Call dapat dipasang di sembarang ethernet dan IP-address, tidak seperti telepon pada umumnya yang harus mempunyai port tersendiri di Sentral atau PBX. IP Call Center (Audiocodes, 2008) merupakan implementasi dari sebuah Call Center dengan menggunakan VoIP (Voice over Internet Protocol). Dengan penggunaan alokasi IP yang bebas, IP Call Center dapat didistribusikan, dan server aplikasi call center dapat dilokasikan dimana saja didalam jaringan enterprise (enterprise network). Jasa layanan tersebut dapat menggunakan IP Phones, atau telepon biasa yang terkoneksi dengan suatu Media Gateway. Dengan terbebasnya PSTN (Public Switched Telephone Network) merupakan hal penting didalam seluruh implementasi IP Call Center, dan dapat diperoleh dengan menggunakan sebuah sumber media gateway yang disentralisasikan, yang menyediakan konektivitas PSTN ke seluruh agen – agen. Menurut ITU yang merupakan kepanjangan dari International Telecommunication Union (ITU, 2007) menyatakan bahwa dalam beberapa tingkatan yang berbeda dari perkembangan telekomunikasi dan liberalisasi pemasaran, prioritas – prioritas yang diangkat oleh IP Telephony menjadi berbeda. Faktor – faktor penting lainnya termasuk: •
Tipe dari layanan atau aplikasi yang ditawarkan.
•
Baik itu operator yang baru ataupun operator yang telah lama yang menawarkan jasa layanan tersebut.
35 •
Struktur tarif dari operator yang utama, terutama untuk akses ke loop lokal.
•
Tata cara pembayaran telekomunikasi secara internasional.
•
Pengembalian proporsi dari traffic apakah regulatory requirement didalam rute internasional. Di Jepang (Wikipedia, 2008), IP Telephony diperhatikan sebagai
sebuah layanan yang dikembangkan oleh teknologi VoIP (Voice over Internet Protocol) ke seluruh atau sebagian telepon. Pada tahun 2003, jasa layanan IP Telephony telah menggantikan nomor telepon. Jasa layanan IP Telephony terkadang juga termasuk layanan videophone atau video conferencing.
Berdasarkan
pada
Hukum
Bisnis
Telekomunikasi
(Telecommunication Business Law), kategori layanan IP Telephony juga mngimplikasikan layanan yang disediakan via internet, yang mana tidak menunjuk (assigned) nomor telepon apapun. IP Telephony secara mendasar diatur oleh MIC (Ministry of Internal Affairs and Communications) sebagai sebuah layanan telekomunikasi. Operator – operator harus memperlihatkan informasi yang diperlukan untuk kualitas itu sendiri, dan lainnya, mendahulukan untuk membuat kontrak dengan customer, dan memiliki sebuah obligasi untuk merespon komplain mereka dengan senang hati. Banyak ISP (Internet Service Provider) di Jepang yang mengikutsertakan jasa layanan IP Telephony ini. Sebuah ISP yang juga menyediakan jasa layanan IP Telephony dikenal sebagai sebuah ITSP (Internet Telephony Service Provider). Baru – baru ini, persaingan diantara ITSP telah banyak
36 terjadi, baik itu dikarenakan oleh sebuah pilihan atau oleh suatu set penjualan, didalam hubungannya dengan jasa layanan ADSL atau FTTH. Sistem tarif yang ada untuk IP telephony Jepang, yaitu: •
Sebuah telepon antara pelanggan IP Telephony, dibatasi untuk grup yang sama, biasanya gratis.
•
Sebuah telepon dari pelanggan IP telephony ke sebuah fixed line atau PHS biasanya diseragamkan oleh harga rata – rata di seluruh negara.
2.2.3
PDA dan Smartphone Personal Digital Assistant yang biasa disebut PDA (Minnarto Djojo, 2001) adalah komputer saku yang didesain sebagai personal organizers. PDA memiliki fungsi dasar seperti pengaturan jadwal, buku alamat, catatan tugas, dan memo yang dapat disinkronisasikan dengan komputer PC.
2.2.3.1
Sejarah PDA dan Smartphone Pada tahun 1993, Apple Computer Inc. memperkenalkan pada dunia PDA yang pertama Newton®. Diberi nama oleh John Sculley seorang mantan pemimpin Apple Computer Inc. Sculley meramalkan PDA akan menjadi alat yang digunakan secara universal yang dapat menyimpan nomor telepon, kalender, catatan, dan komunikasi data wireless. Pada tiga tahun pertama penjualan PDA tidak menunjukkan hasil yang memuaskan. Kemudian pada bulan Maret 1996, PalmTM memperkenalkan PalmPilot, komputer
37 saku yang benar – benar mengesankan. Sebuah device yang kecil tapi memiliki banyak kemampuan yang dapat membantu untuk me-manage dan mengatur jadwal.
2.2.3.2
Sistem Operasi PDA dan Smartphone Berikut ini merupakan dua contoh dari sistem operasi yang terdapat pada PDA dan Smartphone, yaitu:
1.
Palm OS Palm OS adalah sistem operasi komputer yang menjadi platform dari PDA PalmPilot yang merupakan produksi Palm Computing yang sekarang merupakan bagian dari 3Com. Palm OS menggunakan multitasking, tetapi hanya satu task untuk setiap aplikasi. Pengguna menggunakan satu aplikasi pada waktu tertentu, satu program apikasi harus selesai sebelum yang berikutnya dapat dipilih. Space yang dibutuhkan oleh sistem untuk setiap aplikasi yang berjalan adalah bersifat dinamis, RAM (Reusable Random Access Memory). Aplikasi dan database yang berhubungan disimpan dalam
tempat penyimpanan
permanen,
tetapi
tempat
penyimpanan permanen itu adalah RAM. Palm OS membagi sebuah aplikasi menjadi code yang dapat dijalankan dan tipe
38 elemen data yang berbeda, seperti elemen antar muka (interface element) dan icons. Elemen data dapat diubah dengan mudah tanpa perlu menulis ulang code. Kelebihan PalmOS dibandingkan dengan sistem operasi lainnya adalah Palm memiliki kebutuhan sistem yang sedikit dan cepat sehingga tidak dibutuhkan perangkat PDA yang canggih dan mahal.
2.
Windows CE Windows CE (Consumer Electronics) atau yang biasa disebut dengan Windows Mobile berbasiskan pada sistem operasi Microsoft Windows, tetapi didesain untuk diterapkan pada device mobile. Windows CE digunakan pada beberapa merek dari komputer genggam dan sebagai bagian dari kotak setop dari TV kabel yang dimasukkan untuk TCI. Windows
CE
adalah
sistem
operasi
32-bit,
multitasking dan multithreading. Microsoft menekankan bahwa sistem tersebut dikembangkan dari coretan yang mengambil kelebihan dari konsep dan interface arsitektur Windows. Sebagai tambahan pada komputer genggam dan kotak TV kabel, Window CE juga menawarkan sistem operasi untuk Auto PC, konsep Microsoft untuk mengontrol aplikasi (seperti memilih saluran radio) ketika pengguna
39 mengemudi mobil, menggunakan teknologi suara yang interaktif. Kelebihan Windows CE adalah fungsi – fungsinya dan aplikasinya yang lengkap serta disertai dengan layar berwarna,
tetapi
hal
ini
pula
yang
menyebabkan
diperlukannya perangkat PDA yang canggih dan mahal.
3. Symbian Symbian (Wikipedia, 2007) adalah sistem operasi yang paling banyak digunakan untuk ponsel; terutama digunakan oleh Nokia, vendor telepon genggam yang berasal dari Finlandia. Sampai saat ini versi Symbian yang terbaru adalah Symbian OS v9.5s. Sedangkan ponsel yang paling banyak beredar saat ini menggunakan Symbian OS v6.1s, v7.0s,
v8.OS,
dan
v9.1s.
Nokia
Nseries
rata-rata
menggunakan Symbian OS v9.1s, kecuali Nokia N95 yang menggunakan Symbian OS v9.2s.