Senin, 20 Januari 2014

Tugas Jurnal Proses Komunitas Java (Java Community Process JCP)

Tugas Jurnal Proses Komunitas Java (Java Community Process JCP)



Nama Kelompok :
-         Elsa Marisi Manurung (12110344)
-         Elyda Azarya (12110353)


PERANCANGAN, IMPLEMENTASI, DAN ANALISIS KINERJA VIRTUALISASI SERVERMENGGUNAKAN PROXMOX, VMWARE ESX, DAN OPENSTACK


Banyak tipe processor yang mempunyai inti lebih dari satu, terutama pada server. Dengan melihat potensi prosessor yang mempunyai inti lebih dari satu tersebut, kita dapat memanfaatkannya untuk menjalankan aplikasi-aplikasi dan services secara bersamaan menggunakan teknik virtualisasi pada komputer server. Konsep cluster high availability yang terdapat padavirtualisasi server dapat mengurangi biaya dan menyederhanakan pengelolaan pelayanan teknologi informasi. Berdasarkan hal tersebut, dalam penelitian ini dilakukan pengukuran terhadap beberapa virtualisasi server menggunakan metode overhead, dan linearitas untuk mengetahui kinerja virtualisasi server. Metode yang digunakan adalah dengan cara perancangan, dan implementasiProxmox, vmware esx dan openstack pada server multicore, dan dilakukan analisa kinerja dari virtualisasi server tersebut. Hasil utama dari penelitian ini adalah perancangan, dan implementasi virtualisasi server menggunakan Proxmox, vmware, danopenstack serta deskripsi analisa, hasil kinerja masing-masing model virtualisasi server tersebut.


DAFTAR ISI

Judul
Abstraksi
Daftar Isi
PENDAHULUAN
TINJAUAN PUSTAKA
PERUMUSAN MASALAH
TUJUAN PENELITIAN
METODE PENELITIAN
LANDASAN TEORI
IMPLEMENTASI SISTEM
PEMBAHASAN
KESIMPULAN
SARAN
DAFTAR PUSTAKA






BAB I PENDAHULUAN

Penggunaan server dengan processor berinti banyak semakin banyak dijumpai, masing-masing vendor produsen processor mempunyai berbagai macam tipe processor dengan inti lebih dari satu. Processor dengan inti lebih dari satu mempunyai kemampuan yang cukup untuk melakukan berbagai macam proses secara bersamaan, akan tetapi belum semua aplikasi pada saat ini yang dapat memanfaatkan secara optimal prosesor berinti banyak (multiprosessor) tersebut. Berdasarkan pengamatan dari Tony Iams, analis senior di D.H. Brown Associates Inc, NY, server di sebagian besar organisasi hanya menggunakan 15-20% dari kapasitas sesungguhnya, tentu saja angka tersebut merupakan rasio yang jauh dari ideal.
Dengan melihat potensi prosessor yang mempunyai inti lebih dari satu tersebut, dapat kita manfaatkan untuk menjalankan aplikasi-aplikasi dan services secara bersamaan menggunakan teknik virtualisasi pada komputer server. Tanggapan vendor produsen processor terhadap semakin dibutuhkannya teknologi virtualisasi juga dibuktikan dengan menambahkan dukungan terhadap proses virtualisasi di dalam processor yang mereka produksi sehingga teknologi virtualisasi yang akan digunakan pada processor berinti banyak tersebut dapat memiliki kinerja yang optimal ketika menjalankan sistem operasi dan program
aplikasi secara virtual.
Teknologi virtualisasi server yang diterapkan pada server dengan processor berinti lebih dari satu, dapat kita manfaatkan untuk menjalankan aplikasi-aplikasi dan Jurnal Teknologi, services secara virtualisasi. Konsep virtualisasi server merupakan paragidma baru dalam perkembangan teknologi. Hal ini dikarenakan virtualisasi server memungkinkan penggunaan satu perangkat keras untuk menjalankan beberapa sistem operasi dan services pada saat yang sama, sehingga client dapat menggunakan sumber daya tersebut sesuai dengan kebutuhannya berbasis internet.
Virtualisasi server adalah penggunaan perangkat lunak yang memungkinkan satu perangkat keras untuk menjalankan beberapa sistem operasi dan services pada saat yang sama, sedangkan virtual server adalah penggunaan perangkat lunak yang memungkinkan banyak perangkat keras untuk menjalankan satu sistem secara terpadu. Teknologi virtualisasi server ini bertujuan untuk menghindari pemborosan daya proses yang mahal atau dengan kata
lain meningkatkan efisiensi serta mengoptimalkan penggunaan processor berinti lebih dari satu. Penghematan lain adalah biaya listrik karena hanya menggunakan satu atau sedikit server saja.
Pada saat ini banyak sekali metode perancangan virtualisasi server dengan tipe cluster high availibility, antara lain menggunakan proxmox, vmware esx dan openstack yang merupakan tipe virtualisasi server yang free dan mudah dalam instalasi. Diantara beberapa tipe virtualisasi server tersebut terdapat perbedaan dalam hal kinerja. Hal ini dikarenakan beberapa tipe virtualisasi server tersebut dibuat oleh beberapa vendor yang berbeda.


1.1 Latar Belakang
                                                     

Beberapa penelitian yang berkaitan dengan Cloud Computing antara lain Zulhaidi dan Dipojono (2002), Penelitian ini membahas menjelaskan desain dan implementasi perangkat keras yang diperlukan untuk cluster pada Cloud Computing.
Penelitian lain yang berhubungan dengan virtualisasi juga dilakukan oleh Fauzi (2008). Dalam tesisnya Fauzi mencari tahu sejauh mana atau seberapa baik skalabilitas saat menggunakan virtualisasi jika dibandingkan dengan implementasi native dengan menggunakan satu pendekatan virtualisasi. Penelitian lain yang berkaitan dengan virtualisasi server yang lain Chen, dkk (2006). Penelitian ini bertujuan untuk menyediakan infrastruktur TI yang reliable, dalam arti bisa melakukan update dan patch tanpa mematikan atau me-restart mesin server produksi yang sedang berjalan. Penelitian lain yang berhubungan dengan virtualisasi juga dilakukan oleh Benjamin, dkk (2007). Penelitian ini bertujuan untuk mengetahui skalabilitas empat tipe virtualisasi server, metode yang digunakan dalam pengukurannya adalah menggunakan metode overhead, linearitas dan usability.
Peneliti yang lain adalah Garnieri (2010), Penelitian ini menargetkan penggunaan virtualisasi server pada perusahaan besar, yang memfokuskan pada minimalisasi downtime pada saat maintance perangkat keras server dengan menggunakan aplikasiVMware Infrastructure 3. Selain itu peneliti Ardianto (2011), menjelaskan bagaimana merancang virtualisasi appliances denganmemanfaatkan metode virtualisasi.
Penelitian oleh Ardianto, Novan (2011), dalam penelitian tersebut berusaha dipadukan antara mesin virtualisasi dengan perangkat lunak yang sebenarnya maka akan terbentuklah virtualisasi appliances, dalam penelitian tersebut dirancang suatuvirtualisasi appliance menggunakan metode virtualisasi Proxmox dan virtualisasi box untuk kemudian dianalisa kestabilannya.
Kemudian mengimplementasikan virtualisasi appliances tersebut sehingga dapat dioperasikan dengan mudah di lingkunganserver yang berbeda bahkan di OS yang berbeda. Faisal (2012), penelitian ini menekankan tentang faktor skalabilitas private cloudcomputing untuk layanan IAAS dan analisa kinerja dari Cloud Computing.


1.2     Batasan Masalah

Berdasarkan latar belakang diatas, maka didapat perumusan masalah yang akan diteliti yaitu bagaimana merancang, danmengimplemestasikan virtualisasi server menggunakan tipe yang berbeda-beda yaitu proxmox, vmware esx dan openstack, sertamenganalisa kinerja masing-masing virtualisasi server tersebut melalui pengukuran metrik skalabilitas yaitu menggunakan metodeoverhead dan linearitas.

1.3  TUJUAN PENELITIAN

Tujuan yang hendak dicapai dalam penelitian ini adalah :
1. Merancang dan mengimplementasikan virtualisasi server menggunakan proxmox VE
1.8, vmware esx dan openstack
2. Menganalisa virtualisasi server yang berguna untuk mengetahui kinerja dari masing-masing tipe virtualisasi server tersebut melalui pengukuran metrik skalabilitas yaitu menggunakan metode overhead dan linearitas.




1.4  METODE PENELITIAN

Penelitian ini merupakan sebuah penelitian observasi dengan mengimplementasikan sistem virtualisasi server denganProxmox, vmware esx, dan openstack yang merupakan tipe cluster High Availability (HA).
Penelitian observasi ini menggunakan metode analisis deskriptif, yang dilakukan dengan proses pengamatan langsung dan mempelajari observasi atas hasil yang terjadi dari analisis sistem ini. Pendekatan penelitian analisis deskriptif ini adalah untuk menggali informasi dari implementasi sistem virtualisasi server menggunakan Proxmox, vmware esx, dan openstack.

Dalam analisa virtualisasi server, peneliti berusaha membandingkan dengan server tradisional atau aplikasi server yang tidak menggunakan virtualisasi, selain itu juga dibandingkan dengan dua virtual machine yang berisi aplikasi web server dan ftp server pada server virtualisasi sehingga diperoleh data pembanding dalam melakukan analisa kinerja dan pengaruh implementasi aplikasi yang berbeda pada virtualisasi server.


Gambar 1. Arsitektur dengan virtualisasi server

Skenario pengujian virtualisasi server sebagai berikut :
  1. Membuat 2 virtual machine, dilakukan update dan upgrade secara bersamaan.
  2. Membuat 2 virtual machine, setiap virtual machine berfungsi sebagai server yang berbeda. Virtual machine 1 difungsikan sebagai web server sedangkan virtual machine 2 difungsikan sebagai ftp server kemudian dilakukan pengiriman file sebesar 706.803.376 B.
  3. Membuat beberapa virtual machine, virtual machine 1 di install aplikasi web server dan virtual machine 2 di install ftpserver, sementara itu virtual machine yang lain tetap dijalankan, akan tetapi tidak diberikan aplikasi.
  4. Membuat beberapa virtual machine, virtual machine 1 di install web server, sedangkan virtual machine yang lain di installaplikasi ftp server yang sama, dan dijalankan secara bersamaan kemudian setiap pertambahan virtual machine, dicoba uploadsebuah file dengan ukuran 706.803.376 B ke semua ftp server yang telah di install pada virtual machine secara bersamaan. Analisa virtualisasi server menggunakan pengukuran metrik skalabilitas yaitu menggunakan metode overhead dan linearitas.
    1. Overhead
Untuk evaluasi overhead virtualisasi yang disebabkan mekanisme virtualisasi dilakukan dengan membandingkan waktu eksekusi sebuah aplikasi yang dijalankan pada sistem non virtualisasi (Ta) dengan aplikasi yang sama dijalankan pada sebuah mesinvirtualisasi (Tav). Overhead mungkin saja bisa diabaikan untuk sebuah mesin virtualisasi dan bisa menjadi signifikan ketika jumlah mesin virtualisasi dijalankan secara bersamaan. Disamping itu dibandingkan pula Ta dengan Tav ketika sejumlah n mesinvirtualisasi dijalankan secara bersamaan. Pada skenario ini hanya sebuah mesin virtualisasi yang menjalankan aplikasi. Sedangkann-1 mesin virtualisasi yang lain bebas dari aplikasi.
    1. Linearitas
Untuk mengevaluasi perubahan skalabilitas pada saat jumlah mesin virtualisasi yang dijalankan meningkat, terlebih dahulu diukur waktu eksekusi sebuah aplikasi yang dijalankan pada mesin virtualisasi. Selanjutnya diukur waktu eksekusi aplikasi yang sama dijalankan secara bersamaan pada beberapa mesin virtualisasi.


BAB II LANDASAN TEORI

2.1 Pengertian Virtualisasi

Virtualisasi / Virtualisasiization adalah sebuah teknik atau cara untuk membuat sesuatu dalam bentuk virtualisasi, tidak seperti kenyataan yang ada. Virtualisasi juga digunakan untuk mengemulasikan perangkat fisik komputer, dengan cara membuatnya seolah-olah perangkat tersebut tidak ada (disembunyikan) atau bahkan menciptakan perangkat yang tidak ada menjadi ada.


Gambar 2. Konsep Virtualisasi
Jenis-Jenis Pendekatan Virtualisasi
  1. Partial Virtualisasiization Virtualisasi parsial adalah bentuk virtualisasi pada sebagian dari perangkat keras. Perangkat lunak virtualisasi parsial akan mengemulasikan, seolah olah perangkat komputer kita memiliki alat tersebut.
  2. Full Virtualisasiization Virtualisasi penuh berarti membuat seolah-olah ada komputer lain di dalam komputer. Dengan menginstal Linux dalam WindowsAnda, demikian juga meng-install Windows dalam Linux.
  3. Hardware-assisted Virtualisation Merupakan virtualisation yang didukung oleh hardware, jadi ada hardware khusus yang berguna untuk meningkatkanperformance proses virtualisasi. Hardware-assisted virtualisation mempunyai overhead yang banyak, agar skalabilitas guest OS tidak terlalu turun, maka dibantu dengan hardware.

Cluster
Cluster merupakan suatu set individual yang terhubung melalui perangkat keras dan perangkat lunak khusus, menyajikan gambar sistem tunggal untuk para penggunanya (Vrenios, 2002). Tiga tipe cluster yang dominan yaitu:
1. High Performance Computing (HPC). Secara umum, tipe cluster HPC ditujukan pada bagaimana suatu proses komputasi dapat dipercepat, dengan demikian task dapat diselesaikan
dengan lebih cepat. Contoh cluster jenis ini adalah MPI, DSM, PVM.
2. High Availability (HA). Secara umum, tipe cluster ini ditujukan agar program yang dijadikan di atasnya bisa terus berjalan, sekalipun salah satu node hang atau down. Contohnya adalah fasilitas cluster pada Proxmox.
6
3. Load-Balancing (LB). Secara umum, tipe cluster ini beroperasi dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja di belakang (back-end node). Umumnya cluster ini akan dikonfigurasikan sedemikian rupa denganfront-end load-balancing redundant.

Overhead dan Linearitas
Overhead pada virtualisasi server adalah seberapa sering dan lamanya waktu yang dibutuhkan oleh hypervisor untuk menyelesaikan suatu proses dan menjalankan kembali virtual machine. Pada virtualisasi server, pengujian overhead dijalankan dengan memperbanyak virtual machine tanpa aplikasi. Linearitas pada virtualisasi server dapat diartikan sama dengan overhead, akan tetapi dalam pengujian linearitas, virtual machine yang ditambahkan diberikan aplikasi yang sama.


BAB III IMPLEMENTASI SISTEM

Memeriksa fitur Virtualisasi Pada Processor

Processor yang mendukung virtualisasi dapat diperiksa melalui bios mainboard atau diperiksa secara online melalui websitepabrikan processor tersebut, dengan melihat apakah seri processor yang digunakan termasuk dalam daftar yang mendukungvirtualisasi. Cara yang lain bisa dengan mengetikkan beberapa perintah di console linux :
egrep ‘(vmx|svm)’ /proc/cpuinfo
Apabila hasilnya ada kata vmx jika menggunakan processor Intel-VT atau svm jika menggunakan processor AMD-V, berartiprocessor yang digunakan telah mendukung dan dilengkapi teknologi virtualisasi secara hardware.

Proxmox Virtual Environment
Pada skenario penelitian ini digunakan Proxmox VE versi 1.8 yang dapat diunduh pada website resmi Proxmox VirtualEnvironment di alamat http://www.proxmox.com/products/proxmoxve. Beberapa hal yang perlu diperhatikan terkait Proxmox:
  1. Proxmox disediakan hanya untuk mesin 64 bit, sehingga tidak bisa digunakan untuk mesin 32 bit.
  2. Pada saat instalasi, Proxmox diinstalasikan langsung dari CD dan akan menghapus seluruh isi harddisk.











BAB IV KESIMPULAN DAN SARAN


KESIMPULAN

  1. Pada perbandingan analisa hasil pengukuran overhead, nilai overhead relatif stabil pada setiap tipe virtualisasi meskipun jika dilihat hasil observasi secara terperinci, terdapat fluktuasi pada beberapa titik ketika menjalankan virtual machine.
  2. Grafik overhead pada setiap penambahan virtual machine cenderung bersifat linier dengan sedikit peningkatan.
  3. Grafik linearitas pada setiap pertambahan virtual machine, nilai linearitas relatif naik pada setiap tipe virtualisasi akan tetapi kenaikan secara signifikan hanya terjadi pada tipe virtualisasi vmware dan openstack ketika mulai diaktifkan ftp server yang kedua dan dikirimkan file sebesar 706.803.376 B pada masing-masing ftp server.
  4. Pada tipe virtualisasi proxmox ve kenaikan waktu transfer terjadi secara konstan. Jika dibandingkan dengan native server, nilai linearitas pada semua tipe virtualisasi lebih tinggi daripada native server. Hal ini membuktikan bahwa penambahan virtual machine yang diberikan suatu aplikasi dan dijalankan bersama-sama dengan aplikasi yang sama, akan menyebabkan penurunan kinerja secara keseluruhan pada masing-masing tipe virtualisasi server.
  5. Utilitas CPU atau penggunaan CPU pada semua tipe virtualisasi ketika dilakukan pengukuran overhead, terlihat lebih hemat dengan nilai lebih rendah daripada utilitas CPU pada native server sebesar 47 %,
  6. Utilitas CPU atau penggunaan CPU pada semua tipe virtualisasi ketika dilakukan pengukuran linearitas, terlihat lebih hemat dengan nilai lebih rendah daripada utilitas CPU pada native server sebesar 47 %, akan tetapi ketika mulai diaktifkan sebanyak 8 ftp server, utilitas CPU tipe virtualisasi vmware meningkat melebihi utilitas CPU pada native server, sedangkan pada tipe virtulisasiproxmox dan openstack ketika mulai diaktifkan sebanyak 10 ftp server, tercatat hampir sama dengan native server yang berkisar pada kisaran 47 %. Hal ini membuktikan bahwa seiring dengan penambahan virtual machine yang diberikan aplikasi dan dijalankan secara bersamaan akan menyebabkan semakin besar utilitas CPU yang digunakan pada masing-masing tipe virtualisasi.
  7. Hasil analisa dari pengukuran tersebut membuktikan bahwa virtualisasi server menggunakan Proxmox Virtual Environmentnilai overhead dan linearitas lebih rendah jika dibandingkan virtualisasi server VMware ESXi dan OpenStack, hal ini karena padaProxmox Virtual Environment menggunakan virtual machine dengan OpenVZ atau container-based virtualization, sedangkanVMware dan openstack menggunakan virtual machine KVM (Kernel-based Virtual Machine) yang dapat menjalankan sistem operasi apapun termasuk Windows.

SARAN

Saran yang dapat dikembangkan dalam penelitian lebih lanjut antara lain sebagai berikut:

  1. Kekurangan dari virtualisasi server adalah mengumpulnya semua service pada 1 mesin, sehingga apabila secara fisik mesin tersebut rusak atau error maka akan semua sistem yang berjalan diatasnya akan fail. Hal ini dapat diatasi dengan membuat mekanisme redundant server atau fail over server sebagai cadangan.
  2. Teknologi virtualisasi dapat lebih dioptimalkan pada organisasi atau perusahaan yang mempunyai anggaran biaya sedikit, dalam pengembangan jaringan server.
  3. Jika menggunakan dan menjalankan lebih banyak service pada virtual machine, semakin banyak inti prosesor yang digunakan akan lebih baik dalam kestabilan virtualisasi server secara keseluruhan.


DAFTAR PUSTAKA

-          Ahmad. 2008. Archive for the ‘virtualization’Category.http://achmad.glclearningcenter.com/c
-          ategory/teknologi/virtualization/ (diakses tanggal 22 Oktober 2012).
-          Benjamin, Q., Vincent, N., Franck, C. 2006. Scalability Comparison of Four Host
-          Virtualization Tools. Chen, H., Chen, R., Zhang, F., Zang, B., dan Yew, P. 2006. Live Updating OperatingSystems Using Virtualization.
-          Prosiding 2nd international Conference (VEE’06). Ottawa D.H. Brown Associates, Inc. 2001. VMware: Tool for Server Consolidation.
-          http://www.vmware.com/pdf/vmwaredhbrown. pdf (diakses pada tanggal 12 November 2011).
-          Fauzi, H. 2008. Perbandingan Kinerja Server Melalui Virtualization Xen Pada
-          Lingkungan Terbatas. Universitas Indonesia. MTI UI. Depok
-          Garnieri, H, M. 2010. Desain dan Implementasi Virtualisasi Server di PT Thiess Contractors Indonesia.
-          Yogyakarta Leung, F., Neiger, G., Rodgers, D., Santoni, A., dan Uhlig, R. 2006, Intel
-          Virtualization Technology: Hardware Support for Efficient Process.
-          http://www.intel.com/technology/itj/200 6/v10i3/ (diakses tanggal 10 Desember 2011).
-          Lutfie. 2008. Virtualization The Series. http://wssid.org/blogs/lutfie/archive/tags/Virtu alization/default.aspx. (diakses tanggal 15 Oktober 2011).
-          Muli, B., Michael, F., Eran, R., Avishay, T. 2009. Adding Advanced Storage
-          Controller Functionality via Low- Overhead Virtualization.
-          Nggilu, F. 2012. Analisis Overhead Sebagai Salah Satu Faktor Skalabilitas Private Cloud Computing Untuk Layanan IAAS. Purbo, O, W. 2011. Proxmox.
-          http://opensource.telkomspeedy.com/wiki/index.php/Proxmox. (diakses tanggal 24 September 2011).
-          Rasian, Rio., Mursanto, Petrus. 2009. Perbandingan Kinerja Pendekatan Virtualisasi. Jurnal Sistem Informasi MTI-UI Vol 5, No 2. Depok
-          Sugianto, Masim. 2010. Panduan Virtualisasi & Linux High Availability Server. Bekasi


Open service Gateway Iniative

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:
  1. Mempelajari da nmengimplementasika nstandar OSGi untuk         homenetwork  system
  2. Mempelajari penerapan Jini untuk distributed system.
  3. Mempelajari dan mengimplementasikan Jini untuk menghubungkan dua atau lebih OSGi framework.
  4. Membangun home network system yang dapat diakses melalui internet


1.3.    Ruang Lingkup Permasalahan

Ruang lingkup dari penelitian ini adalah:
  1. Mempelajari dan menerapkan spesifikasi OSGi
  2. Mempelajari dan menerapkan teknologi JES sebagai implementasi Spesifikasi OSGi dan berfungsi sebagai OSGi framework pada home network system.
  3. Menggunakan Jini sebagai teknologi Java yang mendukung distributed services pada home network system.
  4. Mempelajari dan menggunakan protokol X10 untuk komunikasi System pengontrol dengan peralatan berbasis protokol X10.
  5. 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:
  1. Java Communication™ API (for Linux) Java Communication™ API merupakan Java API yang digunakan untuk mengakses serial pararel port
  2. Protokol X10 Standar protocol untuk komunikasi antara peralatan elektronik Yang berkomunikasi melalui jaringan listrik.
  3. J2ME Java Virtual Machine yang digunakan untuk menjalankan program yang berbasis Java untuk lingkungan embedded system.
  4. Jini Tehnologi Java yang menggabungkan  sekelompok  penyedia  dan  pengguna  service pada  sebuah network, service tersebut diberikan oleh peralatan yang terhubung ke network
  5. 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.
  6. 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: 
  1. Spesifikasi API yang lengkap untuk komunikasi computer dengan Serial  port dan paralel port
  2. Kontrol penuhuntuk semua parameter yang meliputi baud rate, parity Bit dan flow control
  3. 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.
  4. 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. 1 buah X10   controller/transmitter (CM12U) yang memiliki antarmuka RS-232 untuk dihubungkan dengan        serial port komputer.
  2. 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.
  3. 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:
  1. Teknologi Jini dapat menghubungkan beberapa OSGi framework dengan mengimplementasikan Jini sebagai service bundle
  2. 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 ).
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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:
  1. Sistem dapat dikembangkan lebih lanjut untuk menghubungkan lebih banyak Device dan menggunakan protocol-protokol lain seperti Bluetooth, uPnP dan HAVi.
  2. 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.
  3. Sistem dapat dikembangkan lebih lanjut untuk menggunakan antarmuka yang lebih beragam, tidak hanya berupa dokumen HTML tetapi juga dokumen WML dan SMS
  4. 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