Nama
Kelompok :
- Elsa Marisi
Manurung (12110344)
- Elyda Azarya (12110353)
KOLABORASI
ANTARA OSGIFRAMEWORK DENGAN TEKNOLOGI JINI PADAHOME NETWORK SYSTEM
ABSTRAKSI
Penelitian ini bertujuan membangun sebuah
prototype home network system dengan mengimplementasikan OSGi framework dan teknologi Jini.
Dalam penelitian ini penulis mempelajari dan menerapkan penggunaan teknologi Jini untuk menghubungkan
beberapa OSGi framework dan pengendalian home network system melalui internet. Jaringan komputer
yang menghubungkan dan mengendalikan berbagai macam peralatan elektronis di rumah disebut sebagai
home network. Standar protokol yang dapat digunakan untuk home networking antara lain adalah
Bluetooth, uPnP, HAVi dan X10. Untuk mengintegrasikan peralatan yang memiliki protokol-protokol berbeda
tersebut dan menghubungkan sebuah home network dengan internet diperlukan sebuah service gateway.
Open Service Gateway Initiative (OSGi) Consortium mengembangkan spesifikasi standar untuk service
gateway. Sun Microsistem mengembangkan perangkat lunak berbasis Java yang mengimplementasikan standar OSGi
yaitu Java Embedded Server. Jini merupakan salah satu standar untuk home networking dan sistem
terdistribusi berbasis Java. Teknologi Jini memungkinkan komunikasi antar OSGi framework. Hasil penelitian
ini menunjukkan bahwa kolaborasi antara OSGi framework dan teknologi Jini dapat diimplementasikan
dalam pembuatan home gateway untuk home network system.
BAB I
PENDAHULUAN
1.1.
Latar Belakang Permasalahan
Berbagai peralatan elektronis yang ada di rumah seperti lampu, pendingin, pemanas dantermometer digital dapat dihubungkan kesebuah network yang dikendalikan oleh sebuah systemcomputer sehingga memudahkan kita untuk mengendalikan peralatan di rumah kita cukup dari sebuahtempat dan sebuah waktu saja, bahkan kita dapat mengendalikan peralatan yang ada dari luar rumahmelalui internet yang terhubung ke rumah kita. Jaringan komputer yang menghubungkan danmengendalikan berbagai macam peralatan elektronis di rumah ini disebut sebagai homenetwork.
Perusahaan-perusahaan yang memproduksi peralatan elektronik untuk home network memilikiprotocol masing-masing yang digunakan sebagai standar komunikasi untuk peralatan yang merekaproduksi. Standar protocol tersebut antara lain adalah Bluetooth, uPnP,
HAVi dan X10.
Untuk mengintegrasikan peralatan yang memiliki protocol - protokol
Berbeda tersebut dan menghubungkan sebuah home network dengan internetdiperlukan sebuah service gateway. Service gateway merupakan sebuah alat tersentralisasi
yang menjadi antarmuka yang
menghubungkan internet dengan homenetwork. Open Service Gateway Initiative (OSGi)Consortium merupakan organisasi non-profit yang mengembangkan spesifikasi standar untuk service gateway. Sun
Microsistem, salah satu pendiri OSGi Consortium,
mengembangkan perangkat lunakberbasis Java yang mengimplementasikan standar OSGi yaitu Java Embedded Server (JES).
Jini yang
dikembangkanoleh Sun Microsistem merupakan salah satu
Standar untuk home network system. Jini merupakan system terdistribusi
Berdasar pada
ide penggabungan sekelompok penyedia dan pengguna service yang diberikan olehperalatan yang terhubung kesebuah network. Pada OSGi framework bias dijalankan berbagai macamservice, jika service Ini di share ke network dengan menggunakan teknologi Jini, maka dua atau lebihOSGi framework dapat berkomunikasi satu sama
lain.
Dalam penulisan
ini penulis mempelajari penerapan teknologi Jini untuk menghubungkan dua ataulebih OSGi framework dan membangun home network system
yang dapat diaksesmelalui
internet. Sistem yang akan dibangun
nantinya dapat digunakan untuk menghubungkan danmengendalikan berbagai macam peralatan dengan berbagai macam protocol dan vendor yang berbeda. Penulis menggunakan peralatan berbasis protocol X10 dan peralatan yang terhubung kekomputermelalui antarmuka serial port untuk merepresentasikan peralatan yang dapat terhubung kesistem.
1.2. Tujuan
Penelitian
Tujuan dari penelitian yang dilakukan penulis adalah membuat
Rancangan dan implementasi home network system yang menerapkan standar OSGi, teknologiJava Embedded Server dan teknologi Jini.
Dari
tujuan tersebut terdapat sub tujuan sebagai berikut:
- Mempelajari da nmengimplementasika nstandar OSGi untuk homenetwork system
- Mempelajari penerapan Jini untuk distributed system.
- Mempelajari dan mengimplementasikan Jini untuk menghubungkan dua atau lebih OSGi framework.
- Membangun home network system yang dapat diakses melalui internet
1.3. Ruang Lingkup Permasalahan
Ruang lingkup dari penelitian ini adalah:
- Mempelajari dan menerapkan spesifikasi OSGi
- Mempelajari dan menerapkan teknologi JES sebagai implementasi Spesifikasi OSGi dan berfungsi sebagai OSGi framework pada home network system.
- Menggunakan Jini sebagai teknologi Java yang mendukung distributed services pada home network system.
- Mempelajari dan menggunakan protokol X10 untuk komunikasi System pengontrol dengan peralatan berbasis protokol X10.
- Mempelajari dan menggunakan Java Communication™
API untuk\ Komunikasi system pengontrol dengan peralatan yang terhubung Melalui serial
parallel port.
1.4. Metodologi Penelitian
Metodologi yang digunakan olehpenulis dalam penelitian ini meliputi
langkah-langkah sebagai berikut:
1. Perumusan masalah
2. Studi literatur
Literatur yang dipelajari oleh penulis adalah sebagai berikut:
- Java
Communication™ API (for Linux) Java Communication™
API merupakan Java API yang digunakan untuk mengakses serial pararel port.
- Protokol
X10 Standar protocol untuk komunikasi antara peralatan elektronik Yang berkomunikasi melalui jaringan listrik.
- J2ME Java Virtual
Machine yang digunakan untuk menjalankan program yang berbasis Java untuk lingkungan embedded system.
- Jini Tehnologi Java yang
menggabungkan sekelompok penyedia dan pengguna service pada sebuah network, service tersebut diberikan oleh peralatan yang terhubung ke network
- OSGi framework dan JES OSGi merupakan standar spesifikasi untuk service gateway yang menghubungkan home
network systemdengan internet. JES merupakan teknologi Java yang
mengimplementasikan standar OSGi.
- Servlet Servlet digunakan untuk menghasilkan dokumen HTML untuk antarmuka pengontrolan home network system dari web browser via protokol HTTP.
1.5. Sistematika Penulisan
Sistematika penulisan ini adalah sebagai berikut :
· Bab I Pendahuluan, berisi latar belakang masalah, tujuan penelitian, ruang lingkup masalah, metodepenelitian, dan sistematika penulisan.
· Bab II Landasan Teori,
berisi landasan-landasan teori yang digunakan dalam penulisan ini. Landasanteori diperoleh penulis dari studi literature yang meliputi protokol X10, Java Communication™ API,
J2ME, Jini dan OSGi.
· Bab III Analisa Kebutuhan Sistem, berisi arsitektur sistem, analisa kebutuhan system dari sisipengguna dan usecase
diagram.
· Bab VII Kesimpulan, berisi kesimpulan dari skripsi ini dan berisi saran pengembangan di masadepan terhadap sistem yang dihasilkan.
Keseluruhan tulisan dalam penulisa ini menggunakan font Times New Roman 12-14 poinkecuali untuk penulisan kelas-kelas menggunakan font Courier New 10 poin dan penulisan kode program menggunakan font Arial 8 poin.
BAB II
LANDASAN TEORI
2.1. Java Communication™ API
Antarmuka terpopuler dari sebuah
personal komputer (PC) adalah serial port atau disebut juga sebagai
RS-232 (singkatan dari Recommend Standar
232). Antar muka ini memungkinkan computer berkomunikasi dengan external device. Peralatan yang memiliki antarmuka serial misalnya printer, modem, bar code scanner dan smart card reader. Selain antarmuka serial port terdapat antarmuka parallel port. [Mysore, 1998]
Untuk melakukan komunikasi dengan serial I/O device dan parallel I/O device dengan bahasa pemrograman Java, dibuatlah Java Communication™ API. Untuksistemoperasi Linux
digunakan Java Communication™ API for Linux yang berisi packagegnu.io yang mendukung serial port dan pararel port dengan semantik java yang tradisional seperti stream danevent. Denganmenggunakan
Java Communication™ API, kita dapat mengirimkan dan menerima
data dari external device yang terhubung ke PC kita melalui serial port dan parlelport. Java Communication™ API
jugamemberikan pilihan lengkap untuk mengkonfigurasi semua parameter yang di perlukan untuk berkomunikasi dengan serial I/O device dan parallel I/O device. Parameter yang
dapat dikonfigurasi antara lain
adalah baud rate, flow control dan parity bit. Pada struktur API untuk pemrograman serial dan parelel device, Java Communication™ API
berperan sebagai port manager.
Java Communication™ API
memberikan fungsionalitas sebagai berikut:
- Spesifikasi API yang lengkap untuk komunikasi computer dengan Serial port dan paralel
port.
- Kontrol penuhuntuk semua parameter yang meliputi baud rate, parity Bit dan flow
control.
- Basic I/O Control yang menjadi sub kelas dari Java I/O Stream. Untuk input dan ouput, Java Communication™ API
menggunakan stream yang sudah sangat dikenal oleh semua Javaprogrammer. Stream dapat digunakan lebih luas untuk mendukung flow control dan threshold control.
- Menggunakan Java event model untuk memberikan notifikasi atas perubahan input yang diterima.
2.2. Protokol X10
Protokol X10 merupakan salah satu protokol
yang digunakan untuk mengendalikan beberapa peralatan elektronik yang terhubung kejaringan listrik. Protokol X10
menggunakan gelombang listrik sebagai media\ perantara untuk menyampaikan perintah tertentuk eperalatan X10.
Ada 2 macam X10 device yaitu X10 tranmitter dan X10 receiver. X10 transmitter merupakan X10 deviceyang dapat mengirimkan perintah ke X10 receiver. X10 receiver dapat menerima sinyal berisi perintah dari X10 transmitter tetapi tidak dapat mengirimkan sinyal terhadap X10 transmitter sebagai respon dari perintah yang diberikan. Setiap perintah yang dikirimkan X10 transmitter akan dibroadcast kesemua peralatan X10 yang terhubung kejaringan listrik. Sebuah X10 tranmitter yang dapat dihubungkan dengancomputer disebut sebagai X10 controller. X10 transmitter memiliki antar muka serial port sehinggadapatdihubungkandengan komputer. Dengan adanya antar muka serial port tersebut kita dapat mengirim perintah dari computer ke X10 device yang ada.
BAB III
ANALISA KEBUTUHAN SISTEM
Pada bab ini akan dibahas
permasalahan dan analisa kebutuhan dari sistem.Pada tahap ini akan dibuat
gambaran umum tentang struktur, pola serta komponen sistem secara umum, rumusan kebutuhan fungsionalitas dari sistem dan use case diagram.
3.1. Arsitektur Sistem
Ada 3 komponen utama yang akan
dibangun yaitu home network system, JES framework
dan Jini system.
Ketiganya saling terkait dan mendukung satu sama lain.
Masing-masing komponen akan dijelaskan dalam sub-sub bab sebagai berikut:
3.1.1 Home Network System
Sebuah home network system meliputi satu atau lebih deviceyang terhubung ke sebuah
komputer yang akan digunakan untuk mengendalikan device. Dalam penelitian ini digunakan
beberapa peralatan untuk merepresentasikan device yang dapat terhubung ke sistem yaitu:
-
X10 device
X10 device yang digunakan dalam penelitian ini
terdiri dari 3
buah alat yaitu :
- 1 buah X10 controller/transmitter (CM12U) yang memiliki antarmuka RS-232 untuk dihubungkan
dengan serial port komputer.
- 1 buah
X10 receiver/appliance
module (AM12U), X10 receiver ini dihubungkan dengan sebuah lampu
yang akan merepresentasikan
sebuah appliance.
Operasi yang dapat dilakukan
pada X10 receiver
ini adalah operasi menyalakan dan
mematikan appliance.
- 1 buah X10 receiver/lamp module
(AM12U), X10 receiver ini dihubungkan dengan sebuah lampu.
Operasi yang dapat dilakukan pada X10 receiver ini adalah
operasi menyalakan (on), mematikan (off),
meredupkan (dim) dan memperterang (bright)
lampu.
-
Serial I/O Switch (K108) K108 merupakan
rangkaian microcontroller
elektronik yang memiliki
8 output
switch, 4 input switch
dan memiliki antarmuka RS 232 untuk dihubungkan
dengan serial port komputer. Operasi yang dapat
dilakukan pada K108 adalah menyalakan dan mematikan switch serta mendapatkan status switch Tiap switch K108 dapat dihubungkan ke alat
elektronik lainnya. Dalam penelitian ini K108 dihubungkan dengan lampu, pemanas dan pendingin.
-
Serial Digital Termometer (K145) K145 merupakan rangkaian microcontroller elektronik yang digunakan untuk mengukur suhu ruangan
dan memiliki antarmuka RS-232 untuk dihubungkan
dengan serial port komputer. K145
memiliki 4 buah sensor port
yang masing- masing dapat dihubungkan dengan sebuah sensor suhu. Operasi yang
dapat dilakukan pada K145 adalah mendapatkan informasi suhu dari sensor suhu.
3.1.2 JESFramework
Pada penelitian ini akan
dibuat Jini system yang menghubungkan
beberapa OSGi
framework. OSGi framework ini diimplementasikan dengan JES.
Untuk keperluan tersebut dibangun 4 buah JES framework yang berada di 4 buah komputer yang berbeda.
JES framework yang pertama akan menjalankan Jini lookup service. JES framework yang ke dua akan dihubungkan dengan X10 device dan JES framework yang ke tiga dihubungkan dengan K145 dan K108.
Sedangkan JES framework yang ke empat akan digunakan sebagai
Jini client dan menyediakan akses pengoperasian device melalui protokol HTTP. Penjelasan
lebih lanjut dapat
dilihat pada sub bab 3.1.4 tentang skenario sistem. Dari 3 jenis device yang digunakan dalam pembuatan home network system ini akan
diimplementasikan sebagai JES service
yang berjalan di atas JES framework dan menjadi Jini service yang akan dapat diakses oleh Jini client. Jini system yang akan dibuat terdiri
dari service, client dan lookup service yang masing-masing berjalan di atas JES framework. JES framework yang pertama akan menjalankan Jini lookup service dan yang ke dua akan menjalankan Jini service untuk X10 device. JES framework yang ke tiga akan menjalankan Jini service untuk K108 dan K145. Sedangkan JES framework yang ke empat akan berperan sebagai
Jini client dan home
portal yang menyediakan akses kendali ke device melalui internet. Pada gambar berikut dapat
dilihat arsitektur Jini system yang
akan diimplementasikan dalam
skripsi ini.
3.1.4 Skenario Sistem
Pada sub bab 3.1.1 telah
dijelaskan ada 3 macam device yang akan digunakan. Dari
3 device akan dibuat 5 macam alat yaitu: lampu, pemanas, pendingin, X10 device dan termometer. Lampu, pemanas dan pendingin merupakan peralatan elektronik yang
biasa digunakan di rumah. Lampu, pemanas dan
pendingin akan dihubungkan ke K108. Termometer
menggunakan K145 yang memiliki sensor suhu. Kelima
alat tersebut akan dihubungkan ke beberapa komputer yang berbeda untuk membentuk suatu sistem terdistribusi. Untuk pengembangan sistem dibutuhkan 5
komputer, kelima komputer tersebut akan diberi
kode C01, C02, C03, C04 dan C05 untuk memudahkan
penulisan. Komputer C01 digunakan sebagai
Jini lookup
service. X10 device akan terhubung ke
komputer C02. Sedangkan lampu, pemanas, pendingin dan
termometer akan terhubung ke komputer C03. Komputer C02 dan C03
tersebut diinstal Java Embedded Server sebagai
OSGi framework untuk
menjalankan device manager
dan device service dari masing-masing alat. Kedua komputer tersebut juga berperan sebagai penyedia service Jini. Komputer C04 akan berperan sebagai Jini client
dan web server.
Komputer ini juga akan
menyediakan antarmuka berupa dokumen HTML yang dapat diakses
oleh internet
user melalui protokol HTTP. Dokumen HTML ini dihasilkan
oleh servlet dan berisi form untuk mengoperasikan kelima alat yaitu
lampu,
pemanas, pendingin, termometer dan X10 device. Servlet yang menghasilkan dokumen HTML tersebut akan memproses request dari user dengan menggunakan Jini client untuk memperoleh Jini service. Komputer C02 dan C03 juga menyediakan antarmuka berupa dokumen HTML untuk
mengkonfigurasi device yang terhubung dengan masing-masing komputer tersebut. Sedangkan komputer C05 digunakan sebagai web browser.Secara keseluruhan
sistem dibuat dengan tujuan agar user dapat mengakses, mengkonfigurasi dan
mengoperasikan device yang berada pada lingkungan sistem terdistribusi dengan menerapkan OSGi dan Jini.
3.1.5 Application Layer
Berdasarkan gambaran struktur
dan skenarion sistem tersebut akan dilakukan pendefinisian layer (lapisan) aplikasi. Ada 3 lapisan dari aplikasi yang akan dibuat yaitu terdiri
dari presentation
and application layer, physical layer dan service layer. Presentation and application layer atau lapisan presentasi dan aplikasi merupakan lapisan yang dikembangkan
untuk pembuatan user interface yang dapat diakses user melalui protokol HTTP dengan web browser. Service
layer atau lapisan service merupakan lapisan yang menjadi penghubung dan alat komunikasi antara presentation and application layer dan physical
layer. Physical layer atau
lapisan fisik adalah peralatan fisik
yang akan dikontrol oleh service layer.
3.2. Pengguna
Sistem
Setelah
mendapatkan gambaran sistem yang akan dibangun selanjutnya dirumuskan pengguna sistem dan fungsionalitas
sistem tersebut. Terdapat 2
tipe user yang akan menggunakan sistem yaitu:
-
Configurator, merupakan user yang dapat
mengkonfigurasi device seperti menentukan port yang digunakan oleh sebuah device.
-
Operator, merupakan user
yang dapat melakukan operasi terhadap device seperti menyalakan dan mematikan device.
3.3. Fungsionalitas Sistem
Fungsionalitas
dari sistem yang akan dibangun oleh penulis dibagi
menjadi beberapa bagian yaitu:
1.
Pengkonfigurasian device Configurator dapat
mengkonfigurasi 3 macam alat yang telah dijelaskan pada sub bab 3.1.1
yaitu X10 device, K108 dan K145.
-
Pengkonfigurasian
X10 device, configurator
dapat mengkonfigurasi port yang digunakan oleh X10 controller dan menentukan device address dari X10 receiver.
-
Pengkonfigurasian
K108 device, configurator
dapat mengkonfigurasi port yang digunakan oleh
K108 (serial I/O switch) dan menentukan jenis alat
yang terhubung ke masing- masing switch K108. Dalam penelitian ini ada 3 jenis
alat yang dihubungkan ke K108 yaitu lampu, pemanas dan pendingin.
-
Pengkonfigurasian
K145 device, configurator
dapat mengkonfigurasi port yang digunakan
oleh K145 (termometer digital) dan menentukan sensor suhu mana yang
terpakai.
2.
Pengoperasian device Operator dapat melakukan
operasi terhadap device yang terdapat dalam
sistem.
-
Pengoperasian X10 device, operator dapat melakukan
operasi menyalakan,
mematikan X10 device dan melakukan penjadualan dari operasi tersebut.
-
Pengoperasian lampu, operator
dapat melakukan operasi menyalakan, mematikan lampu dan melakukan penjadualan
dari operasi
tersebut.
-
Pengoperasian pendingin, operator dapat
melakukan operasi menyalakan, mematikan Pengoperasian
pemanas, operator
dapat melakukan operasi menyalakan, mematikan pemanas dan melakukan penjadualan dari operasi tersebut.
3.
Pengambilan data waktu, operator dapat mengetahui waktu pada saat ini. Satuan waktu yang
ditampilkan adalah jam, menit dan detik
4.
Pengambilan data temperatur, operator dapat
mengetahui temperatur ruangan pada saat ini.
BAB IV
KESIMPULAN DAN SARAN
4.1. Kesimpulan
Dari penelitian dan pembuatan sistem oleh penulis, diperoleh kesimpulan
sebagai berikut:
- Teknologi Jini dapat menghubungkan beberapa
OSGi framework dengan mengimplementasikan Jini sebagai service bundle
- OSGi framework yang diimplementasikan dengan
Java Embedded Server memudahkan manajemen aplikasi yang dipresentasikan
dengan service bundle. OSGi framework menerapkan konsep aplikasi yang
dinamis, yaitu aplikasi tidak bersifat static tetapi memiliki daur hidup (
life cycle ).
- Kolaborasi OSGi framework dan teknologi Jini
mewujudkan konsep plug and play device yaitu sebuah device dapat dengan
mudah bergabung ke jaringan dan lepas dari jaringan tanpa perlu
menghentikan sistem yang sedang berjalan.
- Kolaborasi OSGi framework dan teknologi Jini
mewujudkan konsep “smart device that talk each other” yaitu sebuah device
dapat berkomunikasi dengan device lainnya melalui service dari masing-
masing device. Dalam penelitian ini contohnya jika service dari timer dan
service dari X10 device dijalankan maka penjadualan X10 device akan
muncul.
- OSGi framework dapat menangani device dengan
protokol-protokol berbeda satu sama lain. Dalam penelitian ini, OSGi
framework mampu menangani X10 device yang menggunakan protokol X10 dan
serial device.
- Dalam OSGi framework setiap service bundle
memiliki interface dan implementation yang terpisah. Hal ini memudahkan dalam
penulisan program karena implementation dapat ditulis ulang tanpa perlu
merubah interface yang ada. Pemisahan interface dan implementation
tersebut sangat bermanfaat jika service akan digunakan oleh service lain
dalam OSGi framework.
- Device yg ada saat ini masih bersifat dumb
device. Device tidak dapat memberikan input ke sistem sehingga masih
menggunakan configurator untuk melakukan konfigurasi device secara manual.
- Sistem ini dapat diakses dari LAN dan
internet melalui web browser apabila komputer yang digunakan untuk
menjalankan HTTP server antar muka web memiliki IP address yang dapat
diakses dari LAN dan internet.
4.2. Saran
Saran-saran
pengembangan dari penelitian ini adalah:
- Sistem dapat dikembangkan lebih lanjut untuk
menghubungkan lebih banyak Device dan menggunakan protocol-protokol lain
seperti Bluetooth, uPnP dan HAVi.
- Sistem dapat dikembangkan lebih lanjut untuk
menggunakan antarmuka berbasis extensible markup language (XML) untuk
memudahkan sistem menampilkan hasil ke user dengan adanya pemisahan antara data
dan visualisasi data karena sifat XML yang memungkinkan sebuah dokumen
independen terhadap layout-nya. XML juga dapat digunakan untuk
menyeragamkan format data yang akan diproses oleh sistem.
- Sistem dapat dikembangkan lebih lanjut untuk
menggunakan antarmuka yang lebih beragam, tidak hanya berupa dokumen HTML
tetapi juga dokumen WML dan SMS
- execution command interface sehingga sistem
selain melalui web browser juga dapat diakses melalui wap browser dan
mobile phone.
DAFTAR PUSTAKA
[Arrington, 2001] Arrington, CT. Enterprise Java with UML. John Wiley &
Sons Inc. 2001
[Avedal, 2000] Avedal, Karl et al. Professional JSP. Wrox. 2000
[Booch, 1998] Booch, Grady. James Rumbaugh and Ivar Jacobson. The
Unified Modelling Language User Guide. Addison Wesley.
1998
[Chen, 2002] Chen, Kirk. Li Gong. Programming Open Source Gateway
with Java Embedded Server Technology. Addison Wesley.
2002
[Cooper, 1998] Cooper, James W. The Design Patterns Java Companion.
Addison Wesley. 1998
[Davidson, 1999] Davidson, James Duncan and Danny Coward. Java Servle
Specification v2.2 Final Release. Sun Microsystem. 1999.
[Day, 2000] Day, Bill. Jini™ Connection Technology Architecture
Overview. Sun Microsystem. 2002