Aplikasi SSH Client pada mobile device menggunakan J2ME - USD Repository

  A A P P L L

  I I K K A A S S

  I I S S S S H H C C L L

  I I E E N N T T P

P

A A D D A A M M O O B B

  I I L L E E D D E E

  V V

  I I C C E E M M E E N N G G G G U U N N

A

A

K K A A N N J J

  2

  2 M M E E S S K K R R

  

I

I P P S S

  I I D D i i a a j j u u k k a a n n U U n n t t u u k k M M e e m m e e n n u u h h i i S S a a l l a a h h S S a a t t u u S S y y a a r r a a t t M M e e m m p p e e r r o o l l e e h h G G e e l l

a

a

r

r

  S S a a r r j j a a n n a a T T e e k k n n i i k k J J u u r r u u s s a a n n T T e e k k n n

i

i

k

k

  I I n n f f o o r r m m a a t t i i k k a a

Disusun oleh :

Paskhalis Handi Artiawan

  T H E S S H C L

  I E N T A P P L

  I C A T

  I O N T H E S S H C L

  I E N T A P P L

  I C A T

  I O N O N M O B

  I L E D E

  

V

I C E U S

  I N G J

  2 M E O N M O B

  I L E D E

  

V

I C E U S

  I N G J

  2 M E

A A T T h h e e s s i i s s

P P r r e e s s e e n n t t e e d d a a s s P P a a r r t t i i a a l l F F u u l l f f i i l l l l m m e e n n t t o o f f t t h h e e R R e e q q u u i i r r e e m m e e n n t t s s

t o O b t a i n S a r j a n a T e k n i k D e g r e e

t o O b t a i n S a r j a n a T e k n i k D e g r e e

i n D e p a r t m e n t o f I n f o r m a t i c s T e c h n o l o g y i n D e p a r t m e n t o f I n f o r m a t i c s T e c h n o l o g y

by

Paskhalis Handi Artiawan

PERNYATAAN KEASLIAN KARYA

  Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

  Yogyakarta, 19 September 2007 Penulis

  Paskhalis Handi Artiawan

HALAMAN PERSEMBAHAN

  

Karya Tulis ini Ku Persembahkan Untuk

  Yesus Krist us yang tidak pernah sedetik pun meninggalkan aku ... Kedua Orang Tua dan Adikku yang selalu mendoakan dan mendukungku

  ... Dia yang selalu menemani dan memberiku semangat disaat aku jatuh

  ... Tem an- t em an Teknik I nform at ika 2002 yang memberiku inspirasi, semangat, dan bantuan untuk menyelesaikan skripsi ini

  ... Seseorang di int ernet , sebut saj a Paij o ( bukan nam a sebenarnya) yang bersedia menerima konsultasi dan menjadi dosen pembimbing III ku

HALAMAN MOTTO

  Pada prinsipnya, kuliah it u j angan sam pai m engganggu w akt u berm ain Tujuan dari penelitian ini adalah membuat aplikasi SSH client pada perangkat

  

mobile , sehingga diharapkan mampu mempermudah seorang administrator jaringan

  melakukan aktifitas monitoring, maintenance, dan mengkonfigurasi servernya dari jarak jauh tanpa menggunakan sebuah perangkat komputer, melainkan dapat melakukannya dengan sebuah perangkat mobile sehingga dapat melakukannya darimana saja dan dimana saja.

  Aplikasi ini dikembangkan dengan menggunakan bahasa pemrograman Java

2 Micro Edition (J2ME). Di dalam aplikasi ini digunakan Record Management System

  (RMS) untuk menyimpan data-data yang diperlukan oleh pemakai yaitu data login, data tampilan, dan data server.

  Dari hasil uji coba aplikasi menggunakan handphone NOKIA tipe 6600, aplikasi ini dapat berfungsi dengan baik. Aplikasi ini dapat membantu pemakai dalam melakukan aktifitas monitoring, maintenance, dan mengkonfigurasi servernya dari jarak jauh.

  The goal of this research is to create a SSH client application on the mobile device, so it can make easier a network administrator activities doing server monitoring, maintenance, and configuration from the long distance without using a computer sets, but can do that with a mobile device so it can be done from wherever and whenever.

  This application is developed using Java 2 Micro Edition (J2ME) programming language. It used Record Management System (RMS) to save data needed by the user which is login, display, and server data.

  From the result of implementing this application using NOKIA type 6600 mobile device, this application can work fine. This application can help user activities doing server monitoring, maintenance, and configuration from the long distance. Puji dan syukur kepada Bapa di Surga, dengan cinta kasih sayang-Nya yang selalu tercurahkan, sehingga penyusunan tugas akhir ini dapat diselesaikan dengan baik.

  Tugas akhir yang berjudul “Aplikasi SSH Client pada Mobile Device

  

Menggunakan J2ME” merupakan salah satu syarat untuk memperolah gelar Sarjana

Teknik, Jurusan Teknik Informatika, Fakultas Teknik, Universitas Sanata Dharma.

  Penulis menyadari dalam mempersiapkan, menyususun dan menyelesaikan tugas akhir ini, penulis banyak mendapat bantuan dan bimbingan dari berbagai pihak.

  Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada :

  1. Rm. Ir. Greg. Heliarko, S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan Fakultas Teknik Universitas Sanata Dharma Yogyakarta.

  2. Ibu Agnes Maria Polina, S.Kom, M,Sc., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta.

  3. Ibu Ridowati Gunawan, S.kom, M.T., selaku Dosen Pembimbing I yang telah pengetahuan.

  6. Dosen-dosen penguji yang telah memberikan masukan yang membangun untuk tugas akhir ini.

  7. Staff Sekretariat Fakultas Teknik, terima kasih atas bantuan informasi dan sarana prasarana yang mendukung.

  8. Bapak, Ibu, dan Sani, yang telah memberikan kasih sayang, doa, dan dukungan sangat berarti selama ini.

  9. Caecilia Iswardani, yang selama ini menemaniku, mendengarkan keluh kesahku, memberiku semangat untuk segera menyelesaikan skripsi ini, dan memberiku kasih sayang yang tulus, “you’re the best I ever had...”.

  10. Teman-teman : Pristo atas pinjaman naskah, source code, dan konsultasi

  online -nya, Afu atas pinjaman handphone-nya, Widy atas pinjaman card reader dan sharing Bunderan-nya yang sangat inspiring, Andika dan Gwendy

  atas pinjaman kabel UTP-nya, Mardoni atas pinjaman kemeja, dasi, dan sepatu untuk ujian pendadaran, Eddy atas pinjaman monitornya. memberikan bantuan dan dukungan selama ini.

  13. Teman-teman basket Paingan, yang memberi semangat dengan game-game yang mengasyikkan, seru, keras, dan penuh tantangan.

  14. Semua pihak yang tidak dapat penulis sebutkan satu persatu, yang telah memberikan dukungan serta bantuannya guna penyusunan karya tulis ini.

  Penulis menyadari sepenuhnya bahwa tugas akhir ini masih jauh dari kesempurnaan dan masih banyak kekurangan. Oleh karena itu penulis mengharapkan kririk dan saran yang bersifat membangun demi perbaikan lebih lanjut. Akhir kata penulis berharap tugas akhir ini dapat bermanfaat dan berguna bagi pembaca.

  Yogyakarta, 19 September 2007

  HALAMAN JUDUL ................................................................................................ i HALAMAN PERSETUJUAN ................................................................................. iii HALAMAN PENGESAHAN .................................................................................. iv HALAMAN PERNYATAAN KEASLIAN KARYA ............................................. v HALAMAN PERSEMBAHAN ............................................................................... vi HALAMAN MOTTO .............................................................................................. vii ABSTRAKSI ............................................................................................................ viii ABSTRACT ............................................................................................................. ix KATA PENGANTAR ............................................................................................. x DAFTAR ISI ............................................................................................................ xiii DAFTAR GAMBAR ................................................................................................ xviii DAFTAR LISTING .................................................................................................. xxi DAFTAR TABEL ..................................................................................................... xiii

  1.5. Metodologi Penelitian ....................................................................................... 3

  1.6. Sistematika Penulisan ....................................................................................... 4

  BAB II. LANDASAN TEORI

  2.1. Secure Shell (SSH) ........................................................................................... 6

  2.2. Arsitektur SSH .................................................................................................. 7

  2.2.1. Identifikasi Host atau Otentikasi .......................................................... 8

  2.2.2. Enkripsi ................................................................................................ 9

  2.2.3. Otorisasi ............................................................................................... 10

  2.3. Protokol SSH ................................................................................................... 10

  2.3.1. SSH Transport Layer Protocol (SSH-TRANS) ................................... 11

  2.3.2. SSH Authentication Protocol (SSH-AUTH) ....................................... 11

  2.3.3. SSH Connection Protocol (SSH-CONN) ............................................ 12

  2.3.4. SSH File Transfer Protocol (SSH-SFTP) ............................................ 12

  2.4. Paket Data SSH ............................................................................................... 13

  2.9.2. Eksekusi sebuah MIDlet ..................................................................... 18

  2.10. Pemrograman J2ME ..................................................................................... 19

  2.10.1. High Level User Interface ................................................................. 20

  2.10.2. Low Level User Interface .................................................................. 20

  2.10.3. Record Management System (RMS) ................................................. 20

  2.10.4. Generic Connection Framework ........................................................ 21

  BAB III. ANALISIS DAN PERANCANGAN SISTEM

  3.1. Orang yang Terlibat dalam Sistem .................................................................. 24

  3.2. Gambaran Umum Sistem ................................................................................ 24

  3.3. Analisa Kebutuhan .......................................................................................... 26

  3.3.1. Use Case Diagram ............................................................................... 26

  3.4. Analisa Berorientasi Objek dan Modeling ...................................................... 27

  3.4.1. Activity Diagram ................................................................................. 27

  BAB IV. IMPLEMENTASI SISTEM

  4.1. Lingkungan Implementasi ............................................................................... 61

  4.1.1. Lingkungan Perangkat Keras ............................................................... 61

  4.1.2. Lingkungan Perangkat Lunak .............................................................. 61

  4.2. Implementasi SSH Client ................................................................................ 62

  4.2.1. Mekanisme Login ................................................................................ 62

  4.2.2. Mekanisme Forget Password .............................................................. 64

  4.2.3. Mekanisme Display Setting ................................................................. 66

  4.2.4. Mekanisme Buat Koneksi .................................................................... 68

  4.2.5. Mekanisme Edit Data Koneksi ............................................................ 70

  4.2.6. Mekanisme Hapus Data Koneksi ........................................................ 75

  4.2.7. Mekanisme Koneksi ke Server ............................................................ 75

  4.2.8. Mekanisme Terminal ........................................................................... 85

  4.3. Implementasi Antarmuka ................................................................................ 87

  4.3.1. Tampilan Login ................................................................................... 88

  4.3.8. Tampilan About ................................................................................... 104

  BAB V. ANALISA HASIL

  5.1. Kelebihan Sistem ............................................................................................ 105

  5.2. Kekurangan Sistem ......................................................................................... 106

  BAB VI. PENUTUP

  6.1. Kesimpulan ..................................................................................................... 107

  6.2. Saran ............................................................................................................... 107 DAFTAR PUSTAKA ............................................................................................... 108

Gambar 2.1. Pembagian komponen pada high level user interface dan low level user interface ..................................................................................... 19Gambar 2.2. Permintaan koneksi dari client ke server .......................................... 22Gambar 2.3. Koneksi dua arah client dan server ................................................... 22Gambar 3.1. Use Case Diagram ............................................................................ 26Gambar 3.2. Activity Diagram Login .................................................................... 27Gambar 3.3. Activity Diagram Mengatur Tampilan ............................................. 28Gambar 3.4. Activity Diagram Buat Koneksi ....................................................... 29Gambar 3.5. Activity Diagram Edit Koneksi ........................................................ 31Gambar 3.6. Activity Diagram Hapus Koneksi .................................................... 33Gambar 3.7. Activity Diagram Koneksi ke Server ............................................... 34Gambar 3.8. Activity Diagram Memasukkan perintah ......................................... 37Gambar 3.9. Activity Diagram Tutup Koneksi ..................................................... 39Gambar 3.10. Activity Diagram Ubah Password .................................................... 40Gambar 3.17. Sequence Diagram Memasukkan Perintah ...................................... 48Gambar 3.18. Sequence Diagram Tutup Koneksi .................................................. 49Gambar 3.19. Sequence Diagram Ubah Password ................................................. 50Gambar 3.20. Class Diagram .................................................................................. 52Gambar 3.21. Tampilan Login ................................................................................ 54Gambar 3.22. Tampilan Change Password ............................................................. 54Gambar 3.23. Tampilan Main Menu ....................................................................... 55Gambar 3.24. Tampilan Connection Menu ............................................................. 55Gambar 3.25. Tampilan Create Connection ............................................................ 56Gambar 3.26. Tampilan Edit Connection ................................................................ 57Gambar 3.27. Tampilan Display Setting .................................................................. 58Gambar 3.28. Tampilan Help .................................................................................. 58Gambar 3.29. Tampilan Terminal ........................................................................... 59Gambar 3.29. Tampilan Input Command ............................................................... 59Gambar 4.1. Tampilan Login ................................................................................ 88Gambar 4.8. Tampilan Main Menu ....................................................................... 93Gambar 4.9. Tampilan Connection Menu ............................................................. 94Gambar 4.10. Tampilan Create Connection ............................................................ 95Gambar 4.11. Tampilan Pesan Kesalahan Alias ..................................................... 96Gambar 4.12. Tampilan Pesan Kesalahan Create Connection ............................... 96Gambar 4.13. Tampilan Connection Menu yang Lengkap ..................................... 97Gambar 4.14. Tampilan Edit Connection ............................................................... 98Gambar 4.15. Tampilan Pesan Kesalahan Alias ..................................................... 99Gambar 4.16. Tampilan Pesan Kesalahan Edit Connection ................................... 99Gambar 4.17. Tampilan Terminal tanpa Scroll Bar ............................................... 100Gambar 4.18. Tampilan Input Command ............................................................... 101Gambar 4.19. Tampilan Terminal dengan Scroll Bar ............................................. 101Gambar 4.20. Tampilan Terminal setelah dilakukan clear screen .......................... 102Gambar 4.21. Tampilan Display Setting ................................................................. 103Gambar 4.22. Tampilan Pesan Sukses Display Setting .......................................... 103

  Listing 4.1. Fungsi openRecStore( ) ....................................................................... 63 Listing 4.2. Fungsi createDefault( ) ........................................................................ 63 Listing 4.3. Proses validasi data login .................................................................... 64 Listing 4.4. Fungsi cekJawaban( ) .......................................................................... 65 Listing 4.5. Proses setelah validasi jawaban ........................................................... 66 Listing 4.6. Proses update data tampilan ................................................................ 67 Listing 4.7. Proses update data tampilan ................................................................ 68 Listing 4.8. Proses validasi data koneksi ................................................................ 69 Listing 4.9. Fungsi createNewConnection( ) .......................................................... 70 Listing 4.10. Fungsi findRecID( ) ........................................................................... 71 Listing 4.11. Fungsi getDataConnection( ) ............................................................. 72 Listing 4.12. Proses validasi edit data koneksi ....................................................... 74 Listing 4.13. Fungsi getDataConnection( ) ............................................................. 74 Listing 4.14. Fungsi deleteConnection( ) ................................................................ 75

  Listing 4.21. Tipe Pesan SSH2_MSG_SERVICE_ACCEPT ................................ 83 Listing 4.22. Tipe Pesan SSH2_MSG_USERAUTH_FAILURE dan SSH2_MSG_USERAUTH_SUCCESS ............................................. 84 Listing 4.23. Tipe Pesan SSH2_MSG_CHANNEL_OPEN_CONFIRMATION .. 85 Listing 4.24. Fungsi paint( ) pada terminal ............................................................. 86 Listing 4.25. Fungsi putString( ) pada terminal ...................................................... 87

Tabel 2.1. Tabel Perbedaan CLDC dan CDC ....................................................... 15

  PENDAHULUAN

1.1 LATAR BELAKANG

  Seiring dengan perkembangan dunia komputer, jaringan, dan internet telah memungkinkan seorang administrator jaringan untuk melakukan aktifitas monitoring, maintenance, dan mengkonfigurasi server-nya dari jarak jauh. Seorang administrator tidak perlu berada di lokasi server untuk melakukan aktifitasnya, melainkan dapat melakukannya secara remote menggunakan komputer lain.

  Secure Shell (SSH) adalah sebuah teknologi yang memungkinkan sebuah komputer atau server untuk diatur, dimonitoring, dan dikonfigurasi dari jarak jauh.

  SSH menjamin keamanan komunikasi antara client dan server, dengan menggunakan otentikasi, otorisasi, dan enkripsi. Hal ini sangat berguna untuk menghindari data-data yang penting seperti username dan password server dicuri monitoring, maintenance, dan mengkonfigurasi server-nya dari jarak jauh tanpa menggunakan sebuah perangkat komputer. Aplikasi ini memungkinkan seorang administrator dapat melakukan aktifitasnya menggunakan perangkat mobile darimana saja dan dimana saja dengan aman.

  1.2 RUMUSAN MASALAH

  Berdasarkan latar belakang tersebut maka rumusan masalah dalam penelitian ini adalah bagaimana membuat sebuah aplikasi SSH client pada sebuah perangkat

  mobile .

  1.3 BATASAN MASALAH

  Batasan masalah dalam pembuatan aplikasi ini adalah sebagai berikut : 1. Aplikasi ini menggunakan protokol SSH versi 2.

  2. Aplikasi ini hanya mendukung untuk eksekusi perintah jarak jauh, tidak mendukung pengiriman file jarak jauh dengan Secure File Transfer Protocol

TUJUAN DAN MANFAAT

  Tujuan dari aplikasi ini adalah membuat aplikasi SSH client pada perangkat

  mobile . Sedangkan manfaat dari sistem adalah untuk mempermudah seorang

  administrator jaringan melakukan aktifitas monitoring, maintenance, dan mengkonfigurasi servernya dari jarak jauh tanpa menggunakan sebuah perangkat komputer, melainkan dapat melakukannya dengan sebuah perangkat mobile sehingga dapat melakukannya darimana saja dan dimana saja.

1.5 METODOLOGI PENELITIAN

  Metodologi dalam penelitian ini adalah metodologi berorientasi objek dengan tahap-tahap sebagai berikut :

  1. Pencarian kebutuhan dengan melakukan studi literatur, memahami dan mendalamai konsep sistem yang akan dibuat, dan mempelajari protokol SSH.

  2. Melakukan analisis dan desain sistem

  a. Analisis sistem Melakukan analisis kebutuhan (Requirement Analysis) yang terdiri dari

  design ).

  3. Mengimplementasikan analisis dan desain yang telah dilakukan ke dalam aplikasi menggunakan Sun J2ME Wireless Toolkit 2.2.

1.6 SISTEMATIKA PENULISAN

  BAB I PENDAHULUAN Bab ini berisi latar belakang yang mendasari penulis mengambil judul

  penelitian, rumusan masalah, batasan masalah, tujuan, metodologi penelitian, dan sistematika penulisan.

  BAB II LANDASAN TEORI Bab ini bersi dasar-dasar teori yang digunakan penulis untuk melakukan penelitian dan memecahkan masalah dalam pembuatan aplikasi ini. BAB III ANALISIS DAN DESAIN SISTEM Bab ini berisi tentang analisis kebutuhan sistem dan desain sistem yang akan dibuat.

BAB VI KESIMPULAN DAN SARAN Bab ini berisi tentang kesimpulan dari penelitian yang telah dilakukan dan

  dijelaskan pada bab I sampai dengan bab V dan berisi saran-saran yang berkaitan dengan penelitian yang telah dilakukan.

LANDASAN TEORI

2.1. Secure Shell (SSH)

  Pada tahun 1995, Tatu Ylönen, seorang peneliti di Helsinki University of

  Techonolgy , Finlandia, mendesain sebuah protokol yang dapat mengatasi

  serangan password sniffing. Protokol tersebut dikenal sebagai SSH-1 dan saat ini telah berkembang menjadi SSH-2. SSH adalah sekumpulan standar dan protokol jaringan yang memungkinkan komunikasi yang aman antara sebuah komputer lokal dan komputer remote. Adanya protokol ini memungkinkan seorang administrator jaringan untuk mengelola komputer atau server-nya dan mengeksekusi perintah dari jarak jauh. SSH menggunakan public key

  cryptography untuk otentikasi ke komputer remote dan memungkinkan

  komputer remote melakukan otentikasi terhadap user, serta menggunakan enkripsi pada saat sesi komunikasi terjadi.

  Tujuan dari SSH adalah menggantikan protokol rlogin, telnet, dan rsh,

  SSH mempunyai arsitektur client-server. Sebuah program server SSH, pada umumnya diinstal dan dijalankan oleh seorang administrator sistem, yang dapat menerima atau menolak permintaan koneksi kepadanya. Kemudian, user dilain komputer menjalankan program SSH client untuk meminta koneksi kepada server SSH.

  SSH mempunyai tujuan utama yaitu menjamin privasi data, menjamin integritas data, otentikasi antara server dan client, otorisasi user, dan menyediakan tunneling untuk komunikasi data yang berbasis TCP/IP.

  Sebelum terjadi komunikasi antara client dan server, SSH melakukan tiga tahap yang harus diselesaikan, yaitu :

  1. Client yang akan melakukan koneksi ke perangkat remote akan memastikan perangkat yang akan ditujunya adalah benar (server

  authentication ).

  2. Server atau perangkat yang dituju juga akan memastikan bahwa client yang meminta koneksi adalah client yang sesungguhnya (user dengan server. Proses negosiasi tersebut biasanya akan melibatkan tiga komponen yaitu identifikasi host, enkripsi, dan otorisasi.

2.2.1. Identifikasi Host atau Otentikasi

  Identifikasi host merupakan sebuah proses pembuktian bahwa perangkat yang dituju adalah benar. Proses ini dilakukan dengan menggunakan sebuah teknik yang dikenal dengan nama RSA. Teknik ini akan mengatur pembuatan sebuah kunci pada sebuah host yang akan digunakan untuk membuka proses

  SSH. Kunci yang dibuat oleh host tersebut ada dua buah, yaitu kunci yang bersifat public dan bersifat private. Kunci yang bersifat private adalah kunci spesifik yang hanya berada di dalam host tersebut. Kunci ini bersifat rahasia dan hanya diketahui oleh administrator dari host tersebut. Sedangkan kunci yang bersifat public adalah kunci yang dapat diketahui secara bebas. Sebuah pesan yang dienkripsi dengan sistem RSA menggunakan kunci public sebagai penguncinya, hanya dapat dibuka dengan menggunakan kunci yang bersifat itu, dikirimkan kembali ke server asalnya. Setibanya di server asal, pesan yang terenkripsi dengan kunci private dari client dapat dibuka dengan menggunakan kunci private yang dimiliki oleh server. Dengan demikian, server akan mengetahui kunci private yang dimiliki oleh client.

  Adanya pertukaran kunci ini, maka antara server dan client akan mengetahui kuncinya masing-masing, meskipun tidak seluruh kunci yang dimiliki oleh server diketahui oleh client. Walaupun demikian, kunci-kunci ini merupakan kunci identifikasi yang sangat berguna untuk saling mengamankan sesi komunikasi yang akan dibangun. Kunci-kunci ini berguna untuk server maupun client dalam meyakinkan bahwa mereka telah berbicara dengan perangkat yang tepat.

2.2.2. Enkripsi

  Setelah hubungan antara client dan server-nya diamankan, ternyata fasilitas ini masih belum juga dianggap benar-benar aman. Meski client dan untuk dapat dibuka oleh penerima data dari komunikasi ini. Kunci ini harus diketahui oleh client dan server yang berkomunikasi. Pembuatan kunci ini juga menggunakan bantuan otentikasi RSA.

2.2.3. Otorisasi

  Setelah melalui proses di atas, maka kini komunikasi antara client dan

  server menjadi terenkripsi. Tetapi, gerbang pengaman masih kurang lengkap tanpa adanya proses otorisasi dari pengguna yang ingin masuk ke dalam server.

  Agar tidak sembarang pengguna dapat masuk ke server tersebut, maka proses otorisasi ini cukup penting.

  Metode-metode otorisasi yang biasa digunakan dalam SSH adalah

  password , public-key, dan host-based authentication. Metode-metode ini

  memiliki tingkat pengamanan yang berbeda-beda untuk mengenali seseorang yang ingin masuk ke dalam server.

  4. SSH File Transfer Protocol (SSH-SFTP) Setiap bagian mempunyai tugas yang berbeda namun saling berkaitan dalam menyediakan komunikasi antara client dan server. Sebelum menjalankan SSH-

  AUTH, sebuah program SSH client terlebih dahulu akan menjalankan SSH- TRANS. Sebelum menjalankan SSH-CONN, sebuah program SSH client harus menjalankan SSH-TRANS. Demikian juga sebelum menjalankan SSH-SFTP, harus menjalankan SSH-CONN terlebih dahulu.

2.3.1. SSH Transport Layer Protocol (SSH-TRANS)

  SSH-TRANS menyediakan dasar dari sebuah komunikasi SSH, yaitu menyediakan inisial koneksi, autentikasi server, enkripsi standar dan menjamin integritas data. Dalam menjalankan proses ini, antara client dan server pertama kali akan melakukan pertukaran parameter session yang disebut key exchange

  initialization (KEXINIT). Proses tersebut akan menghasilkan dua buah

  parameter, yaitu sebuah shared secret dan sebuah exchange hash. Shared secret dapat masuk ke dalam server, dan menentukan hak dari setiap client. Metode otorisasi yang digunakan pada SSH-AUTH adalah password, public-key, dan

  host-based authentication .

  2.3.3. SSH Connection Protocol (SSH-CONN)

  SSH-CONN bertujuan untuk menyediakan multiplexing, yaitu memungkinkan beberapa chanel komunikasi melalui sebuah jalur koneksi.

  Setiap channel mempunyai sebuah nomor identitas dan bisa dibuat atau dihapus oleh salah satu pihak client atau server. Pada protokol SSH terdapat empat macam channel, yaitu session, X11, Forwarded-TCP/IP, dan Direct-TCP/IP.

  2.3.4. SSH File Transfer Protocol (SSH-SFTP)

  SSH-SFTP memungkinkan pengiriman file seperti pada protokol File

  Transfer Protocol (FTP). Hanya saja pengiriman file dilakukan diatas protokol SSH, dimana file yang dikrimkan akan dienkripsi. menunjukkan panjang paket yang dikirimkan, dengan ukuran maksimal sebuah paket adalah 262144 byte.

  2. Padding : berisi 1 sampai dengan 8 bytes data random. Jumlah padding ditentukan dengan perhitungan (8 - (panjang data % 8)) bytes.

  Penambahan padding di setiap awal paket berguna untuk mempersulit serangan yang akan ditujukan pada pesan.

  3. Packet type : terdiri dari 8 bit unsigned byte yang menunjukkan tipe paket.

  4. Data : merupakan isi pesan dalam bentuk data biner.

  5. Check bytes : berisi 32 bit Cyclic Redundancy Check (CRC) dan dibentuk dalam format 8 bit dalam satuan bytes, berguna untuk menjamin integritas paket data yang dikirimkan.

  TM

2.5. Java

2 Micro Edition (J2ME)

  J2ME adalah subset dari J2SE yang ditujukan untuk implementasi pada peralatan embedded system dan handheld yang tidak mampu mendukung secara bergerak berupa handphone, PDA, dan lain-lain.

2.6. Jenis-jenis Aplikasi J2ME

  Saat ini terdapat 2 jenis aplikasi J2ME, yaitu : 1.

   Walled garden application

  Aplikasi ini merupakan aplikasi yang berdiri sendiri atau stand alone yang berjalan pada handphone tanpa perlu mengakses sumber daya eksternal melalui jaringan pembawa arus atau carrier network. Contoh dari aplikasi ini adalah kalkulator atau single player games.

2. Network aware application

  Aplikasi ini berinteraksi dengan jaringan. Tidak seperti aplikasi yang pertama, aplikasi ini mempunyai kemampuan untuk mengakses sumber daya eksternal. Contoh dari aplikasi ini adalah aplikasi email yang berada di dalam handphone.

  Ada 2 kategori J2ME configuration saat ini, yaitu :

  1. Connected Limited Device Configuration (CLDC) Konfigurasi ini merupakan konfigurasi minimal dari J2ME yang ditujukan untuk perangkat yang sangat kecil, sumber daya terbatas, memiliki kemampuan komputasional, dan memiliki baterai serta memori terbatas antara 160 KB sampai dengan 512 KB. Akibatnya, fitur-fitur yang kurang penting untuk diimplementasikan dalam handheld device yang bersangkutan dari Java 2 harus dibuang.

  2. Connected Device Configuration (CDC) Konfigurasi ini umumnya digunakan untuk aplikasi Java pada perangkat- perangkat handheld yang memiliki memori minimal 2MB.

Tabel 2.1 menujukkan perbedaan CLDC dan CDC.

CLDC CDC

  Mengimplementasikan subset dari J2SE Mengimplementasikan seluruh fitur dari J2SE

  Menggunakan Java Virtual Machine yang Menggunakan Java Virtual Machine dikenal dengan nama Kilobyte Virtual yang dikenal dengan nama CDC Virtual

  Sebuah profile dibangun diatas sebuah configuration. Jika J2ME

  configuration menyediakan library Java untuk implementasi fitur-fitur standar

  dari sebuah perangkat handheld, J2ME profile menyediakan implementasi- implementasi tambahan yang sangat spesifik dari sebuah perangkat handheld.

  Ada 5 kategori J2ME profile, yaitu :

  1. Mobile Information Device Profile (MIDP) 2.

   Foundation Profile 3. Personal Profile 4. RMI Profile 5. PDA Profile

  MIDP menyediakan library Java untuk implementasi dasar antarmuka, implementasi jaringan, database dan timer. MIDP khususnya dirancang khususnya untuk handphone.

  MIDlet

2.9. Aplikasi

  3. lib : berisi file-file kelas Java yang diperlukan dalam format JAR atau ZIP. 4. res : berisi file-file resources. Beberapa istilah penting dalam daur hidup sebuah MIDlet yaitu :

  1. Application Management Software (AMS), adalah sebuah lingkungan tempat siklus dari sebuah MIDlet mampu diciptakan, dijalankan, dihentikan, maupun dihilangkan. Fungsi dari AMS adalah mengatur manajemen aplikasi MIDlet yang ada.

  2. MIDlet , adalah aplikasi yang dijalankan pada sebuah perangkat handheld.

  MIDlet tidak berinteraksi langsung dengan perangkat keras dari

  atau perangkat handheld lainnya, melainkan

  handphone, PDA, berinteraksi melalui AMS.

  3. MIDlet states, adalah status dari sebuah MIDlet pada saat dijalankan yang terdiri dari beberapa bagian, yaitu : a. Paused : status ini terjadi ketika MIDlet selesai diinisialisasi dan tidak melakukan aksi apapun. Pada status ini MIDlet tidak boleh sedang seluruh resources yang digunakan akan dilepaskan. Status ini berhasil jika dilakukan pemanggilan fungsi MIDlet.destroyApp( ) atau MIDlet.notifyDestroy( )

2.9.2. Eksekusi sebuah MIDlet

  Umumnya urutan eksekusi sebuah MIDlert adalah sebagai berikut :

  1. AMS menginisialisasi sebuah objek MIDlet, sehingga MIDlet berada pada status paused.

  2. Ketika AMS memutuskan bahwa MIDlet sudah waktunya dijalankan, maka AMS memanggil fungsi MIDlet.startApp( ) sehingga MIDlet akan mulai aktif berfungsi.

  3. Ketika AMS memutuskan bahwa MIDlet harus dinonaktifkan secara sementara, maka AMS akan memanggil funsi MIDlet.pauseApp( ) sehingga MIDlet akan berhenti bekerja dan berada pada status paused.

  4. Ketika AMS memutuskan bahwa MIDlet harus dinonaktifkan selamanya,

  Pemrograman J2ME pada penelitian ini meliputi pemrograman untuk user

  

interface , record management system (RMS), dan generic connection

framework . Pemrograman user interface diperlukan untuk menyediakan

  antarmuka bagi pemakai, pemrograman RMS diperlukan untuk menyimpan data-data yang dimasukkan oleh pemakai, sedangkan pemrograman generic

  

connection framework diperlukan untuk menjalin komunikasi antara pemakai

  dengan server. Pemrograman user interface meliputi pemrograman high level

  

user interface dan low level user interface. Berikut ini adalah gambar yang

  menunjukkan komponen-komponen yang dapat dipakai dalam high level user dan low level user interface.

  interface

  Pemrograman pada high level user interface memungkinkan pemrogram untuk membuat text box, list, alert, dan form. Pada sebuah form dapat ditambahkan beberapa item yaitu choicegroup, data field, textfield, gauge,

  image item, dan string item. Komponen-komponen tersebut berada pada class javax.microedition.lcdui.* .

2.10.2. Low Level User Interface

  Pemrograman pada low level user interface memungkinkan pemrogram untuk menambahkan tampilan berupa grafis. Terdapat dua bagian pada low level , yaitu :

  user interface

  1. Canvas : merupakan latar yang memiliki panjang dan lebar yang dinyatakan dengan koordinat vertikal dan horisontal.

  2. Graphics : merupakan objek yang digambar pada canvas yang merupakan objek dari class graphics. sebuah record. Kumpulan dari beberapa record disebut record store. Sebuah MIDlet dapat mempunyai lebih dari satu record store atau tidak mempunyai

  record store sama sekali. Beberapa operasi yang diijinkan pada record store adalah pengurutan, pencarian, notifikasi, dan exception.

2.10.4. Generic Connection Framework

  Generic connection framework memungkinkan seorang pemrogram untuk

  membuat koneksi ke jaringan atau server. Sebuah class connector dapat digunakan untuk membuat beberapa tipe koneksi seperti file, hypertext transfer (http), datagram, dan sebagainya. Untuk menciptakan koneksi

  protocol

  digunakan method connector.open dengan format sebagai berikut : connector.open(“protokol:alamat;parameter”); Sebuah socket adalah satu end-point dari hubungan komunikasi dua arah antara dua program yang berjalan pada jaringan. Kelas-kelas socket digunakan dalam program dengan arsitektur client-server. Biasanya sebuah server berjalan connection request

  CLIENT

  SERVER port

Gambar 2.2 Permintaan koneksi dari client ke server

  Jika permintaan koneksi seperti pada gambar diatas berjalan dengan baik,

  

server akan menerima koneksi dari client. Setelah menerima koneksi, server

  akan memberikan socket baru yang diikat pada nomor port yang berbeda, sehingga server dapat menunggu lagi koneksi dari client yang lain pada port yang sebenarnya. Gambar 2.3 menunjukkan server telah memberikan socket yang baru untuk komunikasi dengan client dan koneksi client – server sedang berjalan.

  CLIENT

  SERVER port

  port connection tersebut akan digunakan untuk berkomunikasi dengan server. Setelah socket terbentuk, client dan server dapat saling berkomunikasi dengan cara read dan

  write pada socket tersebut.

ANALISIS DAN PERANCANGAN SISTEM 3.1.

   Orang yang Terlibat dalam Sistem

  1. Pemakai Pemakai (user) adalah orang yang terlibat langsung dengan sistem karena menggunakan sistem ini untuk mengelola komputer atau server secara

  remote menggunakan perangkat mobile.

  3.2. Gambaran Umum Sistem

  Sistem ini digunakan untuk mempermudah pemakai dalam melakukan aktifitas monitoring, maintenance, dan mengkonfigurasi komputer atau server dari jarak jauh tanpa menggunakan sebuah perangkat komputer, melainkan dapat melakukannya dengan sebuah perangkat mobile sehingga dapat melakukannya darimana saja dan dimana saja.

  Sebelum menjalankan sistem, pemakai harus melakukan proses login menampilkan terminal dimana pemakai dapat memasukkan perintah-perintah yang akan dieksekusi di server. Pemakai dapat mengubah data-data yang telah disimpan tersebut dan dapat juga menghapusnya. Pemakai dapat juga mengubah tampilan terminal sesuai dengan yang diinginkannya. Sistem ini juga memiliki fasilitas untuk mengubah username dan password untuk login ke sistem. Hal ini diperlukan jika pemakai lupa username dan password untuk login ke sistem.

   Analisa Kebutuhan

3.3.1. Use Case Diagram

  Edit Koneksi Hapus Koneksi Mengatur tampilan Koneksi ke serv er Buat Koneksi Login

  Pemakai <<depends on>>

  <<depends on>> <<depends on>>

3.4.1. Activity Diagram

  Activity diagram memodelkan alur kerja (workflow) sebuah proses bisnis

  dan urutan aktivitas dalam suatu proses. Berikut ini adalah activity diagram pada sistem yang mengacu pada use case diagram :

  1. Activity Diagram Login

  menampilkan tampilan login menerima masukan username dan password memvalidasi masukan username dan password benar ? ya tidak

menampilkan pesan kesalahan menampilkan tampilan utama akan menampilkan menu utama, jika salah sistem akan menampilkan pesan kesalahan dan akan menampilkan kembali tampilan untuk login.

  2. Activity Diagram Mengatur Tampilan

  menampilkan tampilan utama menerima pilihan edit tampilan menampilkan tampilan untuk mengedit tampilan menerima masukan data tampilan menerima pilihan untuk menyimpan data tampilan menyimpan data tampilan data tampilan berupa ukuran huruf, warna huruf, dan latar belakang layar, kemudian menyimpan data tampilan.

  3. Activity Diagram Buat Koneksi