Pembahasan Umum JAVA RMS Vigenere Chiper

diperlukan selama pengiriman pesan, seperti informasi validitas pesan, nomor pengirim, nomor penerima dan informasi-informasi lainya. Pada bagian message body, terdapat isi dari pesan yang akan dikirimkan. Pada sebuah aplikasi penerimaan SMS pada telepon selular dikenal dengan nomor port, nomor port ini digunakan sebagai pengenal apabila terdapat dua buah atau lebih aplikasi penerimaan SMS pada sebuah telepon selular. Aplikasi penerimaan SMS tersebut akan menunggu pesan yang ditujukan pada nomor port tersebut. Untuk mengirimkan pesan pada port yang spesifik, pengirim harus menyertakan nomor port pada pesan yang dikirimkannya. Jika pengirim tidak menyertakan nomor port, seperti halnya yang dilakukan oleh aplikasi standar setiap telepon selular, maka pesan akan ditunjukan ke aplikasi standar yang dimiliki oleh setiap telepon selular atau aplikasi memiliki nomor port 0. Informasi nomor port tersebut dibawa bersama paket pesan yang dikirimkan oleh pengirim, oleh karena itu jika pengirim menyertakan informasi nomor port tujuan, maka panjang pesan maksimal yang dapat dikirimkan akan berkurang karena sebagian terpakai oleh informasi nomor port .

2.3 Pembahasan Umum JAVA

JAVA menurut definisi dari SUN adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. standalone ataupun pada komputer dalam lingkungan jaringan. JAVA2 adalah generasi kedua dari JAVA platform generasi awalnya adalah Java Development Kit . Java berdiri diatas sebuah mesin interpreter yang diberi nama Java Virtual Machine JVM. JVM ini yang akan membaca byte code dalam file . class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa JAVA disebut sebagai bahasa pemprograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Platform JAVA memilik tiga buah edisi yang berbeda yaitu J2EE Java2 Enterprise Edition , J2SE Java2 Second Edition dan J2ME Java2 Micro Edition M.Shalahuddin, Rosa A.S, 2006:4. Hubungan antara J2EE, J2SE dan J2ME dapat dilihat pada Gambar 2.5 di bawah ini. Gambar 2.5 Hubungan antara J2EE, J2SE dan J2ME Martin de Jode, 2004:4 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2.4 JAVA 2 Platform Micro Edition

J2ME 2.4.1 Sekilas tentang J2ME Java 2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak JAVA pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi pada perangkat yang lainnya. J2ME biasa digunakan pada telepon seluler, pager , Personal Digital Assistance PDA’s dan sejenisnya. Arsitektur J2ME dapat dilihat pada Gambar 2.6 berikut . Gambar 2.6 Arsitektur High Level View J2ME A.N Klingsheim, 2004:21 Teknologi J2ME ditujukan untuk cakupan user yang luas sekali dari mulai handphone hingga set-top-box yang powerful seperti halnya sebuah komputer yang dilengkapi dengan J2SE atau J2EE . J2ME memiliki beberapa keunggulan yaitu http:j2me.winwinfaisal.info : Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 1. Sebagaimana kekhasan aplikasi yang ditulis dengan bahasa pemrograman JAVA maka aplikasi J2ME memiliki ciri running any where, any time, over any device . 2. Aplikasi dapat dijalankan secara on-line maupun off-line . 3. Memiliki kode yang portable . 4. Safe network delivery . 5. Aplikasi yang ditulis dengan J2ME akan memiliki kompatibilitas yang tinggi dengan platform J2SE dan J2EE Tetapi selain memiliki beberapa keunggulan, teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat device yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera. Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas.

2.4.2 JAVA Messaging

J2ME menyediakan antarmuka interface untuk messaging pada paket javax.wireless.Messaging. Sebuah message memiliki dua bagian yaitu bagian alamat address port dan bagian data data Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. port. Message direpresentasikan dengan sebuah kelas yang mengimplementasi antarmuka pada paket javax.wireless.Messaging . Antarmuka dasar untuk messaging yang terdapat dalam paket tersebut adalah antarmuka Message. Untuk bagian data pada message, API messaging ini mendukung dua jenis data yaitu text message dan binary message. Kedua jenis pesan ini direpresentasikan oleh subantarmuka dari antarmuka Message yaitu TextMessage dan BinaryMessage. Untuk pengiriman dan penerimaan pesan, J2ME menyediakan antar muka MessageConnection. Antar muka ini menyediakan method dasar untuk melakukan pengiriman dan penerimaan pesan. Instansiasi dari MessageConnection diperoleh dengan memanggil method Connect.Open. Setelah objek MessageConnection terbentuk, pengiriman pesan dilakukan oleh objek tersebut dengan memanggil method send.

2.4.3 J2ME

Profile Profile melengkapi Configuration dengan menambahkan kelas- kelas tambahan yang menyediakan fitur-fitur yang lebih spesifik yang sesuai bagi jenis-jenis device tertentu. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Salah satu profile yang terdapat dalam arsitektur J2ME adalah MIDP atau Mobile Information Device Profile.  Mobile Information Device Profile MIDP MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profile J2ME. Profile ini menambahkan networking, user interface components, dan local storage pada CLDC. Profile ini ditujukan khususnya kepada mobile device yang memiliki keterbatasan pada display dan fasilitas penyimpanan, dan oleh karena itu MIDP menyediakan user interface yang relatif sederhana dan networking dasar yang berbasis HTTP 1.1. Posisi MIDP pada arsitektur J2ME dapat dilihat pada Gambar 2.7 di bawah ini. Gambar 2.7 Posisi MIDP dalam Arsitektur J2ME A.N Klingsheim, 2004:25 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2.4.4 Kilo Virtual Machine

KVM KVM atau Kilo Virtual Machine adalah paket JVM yang di desain untuk perangkat yang kecil. Posisi KVM pada arsitektur J2ME dapat dilihat pada Gambar 2.8 di bawah ini. Gambar 2.8 Posisi KVM pada Arsitektur J2ME

2.4.5 MIDlets

Sebuah MIDlet adalah aplikasi JAVA yang didesain untuk dapat berjalan pada mobile device . Sebuah MIDlet terdiri dari satu atau lebih paket-paket MIDlet dan bersama-sama menggunakan suatu file JAVA Archive JAR.

2.4.5.1 Daur Hidup MIDlet

Di setiap waktu, suatu MIDlet menjalankan satu dari tiga status: Paused, Active, atau Destroyed. Gambar 2.9 di bawah ini menunjukkan diagram status daur hidup dari sebuah MIDlet. MIDP CLDC Kumpulan Library KVM Sistem Operasi Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.9 Diagram Status Daur Hidup sebuah MIDlet 2.4.5.2 Emulator Perangkat MIDlet SUN Microsystem telah menyediakan J2ME Wireless Toolkit sering disingkat dengan J2ME WTK untuk mengembangkan aplikasi dalam handphone. J2ME Wireless Toolkit dapat di download di http:java.sun.comj2me secara gratis. J2ME Wireless Toolkit adalah kakas yang menyediakan lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi JAVA untuk perangkat kecil small device. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.10 berikut ini adalah contoh J2ME Wireless Toolkit versi 2.5.2. Gambar 2.10 Contoh Emulator J2ME Wireless Toolkit 2.5.2

2.4.6 Java Application Descriptor JAD

Digunakan untuk mendeskripsikan isi aplikasi untuk keperluan pemetaan. File JAD berisi deskripsi file JAR Java Archive dan pemetaan atribut MIDlet , sedangkan file JAR berisi kumpulan kelas dan resource . Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2.5 RMS

MIDlet tidak menggunakan file sistem untuk menyimpan data, tetapi menyimpan semua informasi dalam sebuah memori non-volatile memori tetap yang disebut Record Management System RMS. Tidak seperti DBMS Database Management System yang umum yang bisa bekerja pada field kolom data, RMS bekerja hanya pada record baris data. Masing-masing record terdiri dari recordID yaitu suatu nilai integer yang berperan sebagai key , dan sebuah array bertipe byte untuk menyimpan data. Sekumpulan record disebut dengan record store . Di bawah ini adalah gambar yang menjelaskan penyimpanan record dalam record store . Gambar 2.11 Penyimpanan Record dalam Record Store

2.6 Vigenere Chiper

Metode enkripsi Vigenere chiper adalah salah satu seni mengamankan data yang banyak digunakan saat ini. Pada penerapannya Vigenere chiper yang akan meminta password untuk setiap data yang akan diproses. Password yang diberikan akan men-generate isi beritadata yang dimaksud. Sehingga akan Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. membentuk deretan kode yang hanya bisa dibaca oleh penerima atau pembaca yang mengetahui kode password yang bersangkutan. Vigenere cipher adalah contoh terbaik dari chiper alfabet-majemuk ’manual’ yang sangat dikenal karena mudah dipahami dan diimplementasikan. Cipher menggunakan bujur sangkar vigenere untuk melakukan enkripsi. Kolom paling kiri dari bujursangkar menyatakan huruf-huruf kunci, sedangkan baris paling atas menyatakan huruf-huruf plainteks. Setiap baris dalam bujur sangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar chiper, yang mana jumlah pergeseran huruf plainteks ditentukan nilai numerik huruf kunci tersebut yaitu, a=0, b=1,c=2,....,z=25. Sebagai contoh, huruf kunci c=2 menyatakan huruf-huruf plainteks digeser sejauh 2 huruf ke kanan dari susunan alfabetnya, sehingga huruf-huruf cipherteks pada baris c. Gambar 2.12 berikut ini adalah contoh potongan bujursangkar Vigenere. Gambar 2.12. Potongan Bujursangkar Vigenere Bujursangkar vigenere digunakan untuk memperoleh cipherteks dengan lajur kunci yang sudah ditentukan. Jika panjang kunci lebih pendek dari pada panjang plainteks maka kunci diulang penggunaannya sistem periodik. Bila kunci adalah m, maka periodenya dikatakan m, sebagai contoh jika plainteks adalah THIS PLAINTEXT dan kunci adalah sony, maka penggunaan kunci secara periodik adalah sebagai berikut : Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Plainteks : THIS PLAINTEXT Kunci : sony sonysonys Bujursangkar vigenere dapat dilihat pada Gambar 2.13 di bawah ini. Gambar 2.13 Bujursangkar Vigenere Setiap huruf plainteks akan dienkripsi dengan setiap huruf kunci di bawahnya. Untuk mengerjakan enkripsi dengan Vigenere Chiper, lakukan pada bujursangkar vigenere sebagai berikut: tarik garis vertikal dari huruf plainteks Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. ke bawah, lalu tarik garis mendatar dari huruf kunci ke kanan. Perpotongan kedua garis tersebut menyatakan huruf cipherteksnya. Misalkan plainteks THIS PLAINTEKT dienkripsi dengan kunci sony. Karena panjang kunci tidak sama dengan panjang plainteks, maka kunci diulang secara periodik : Plainteks : THIS PLAINTEXT Kunci : sony sonysonys Untuk huruf plainteks pertama T, tarik garis vertikal dari huruf T dan tarik garis mendatar dari huruf s. Perpotongannya adalah pada kotak yang berisi huruf L. dengan cara yang sama, tarik garis vertikal dari huruf H dan tarik garis mendatar dari huruf O. Perpotongannya adalah pada kotak yang juga berisi huruf v.hasil enkripsi seluruhnya adalah sebagai berikut : Plainteks : THIS PLAINTEXT Kunci : sony sonysonys Chiperteks : LVVQ HZNGFHRVL Jika diamati bahwa huruf plainteks T dapat dienkripsi menjadi L atau H, dan huruf cipherteks V dapat merepresentasikan huruf plainteks H, I, dan X. Hal ini merupakan karakteristik dari chiper alfabet-majemuk. Pada chiper subtitusi sederhana, setiap huruf cipherteks selalu menggantikan huruf plainteks tertentu, sedangkan pada cipher alfabet-majemuk setiap huruf cipherteks dapat Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. memiliki kemungkinan banyak huruf plainteks. Jadi, dengan menggunakan vigenere chiper, akan dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu dibandingkan dengan metode enkripsi yang lain. 2.7 Unified Modelling Language UML 2.7.1 Gambaran