Permainan catur multiplayer pada Sony Ericsson K608i menggunakan bluetooth - USD Repository

  

PERMAINAN CATUR MULTIPLAYER

PADA SONY ERICSSON K608I

MENGGUNAKAN BLUETOOTH

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

  

Program Studi Teknik Informatika

Oleh :

Y. Tatag Suasono

  

NIM : 015314027

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

  

2007

  

MULTIPLAYER CHESS GAME

ON SONY ERICSSON K608I

USING BLUETOOTH

A Thesis

Presented as Partial Fulfillment of the Requirements

  

To Obtain the Sarjana Teknik Degree

In Informatics Engineering

By :

Y. Tatag Suasono

  

Student Number : 015314027

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

  

2007

HALAMAN PERSETUJUAN PEMBIMBING

  

HALAMAN PENGESAHAN

HALAMAN PERSEMBAHAN

  

Learn as if you shall live forever, and live as if you

will die tomorrow

  (anonymous)

  The LORD is my shepherd; I shall not want

  (Psalm 23:1)

  

^tÜçt |Ç| ~âÑxÜáxÅut{~tÇ ~xÑtwt M

ltÇz àxÄt{ ÅxÅuxÜ|~â {|wâÑM TÄÄt{ UtÑt w| fâÜzt ^xÄâtÜzt~â çtÇz ~â átçtÇz| M XË|Ç ctÜÄ|Çt lÉ{tÇt kxÄÄÉä|tx câàÜ| cxÜwtÇt

PERNYATAAN KEASLIAN KARYA

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

  Yogyakarta, September 2007 Penulis

  Y. Tatag Suasono

  

ABSTRAK

  Permainan pada ponsel semula hanyalah fasilitas tambahan. Tapi semakin lama semakin dirasakan sebagai sebuah fasilitas penting yang harus ada. Begitu juga dengan teknologi jaringan yang digunakan, saat ini banyak ponsel yang sudah mengintegrasikan Bluetooth di dalamnya. Karena dengan Bluetooth ponsel tersebut dapat melakukan komunikasi data secara nirkabel dengan device lain pada lingkup area yang terbatas.

  Kebanyakan permainan yang sudah ada pada ponsel masih single player atau satu permainan satu pemain, belum banyak permainan yang bisa dimainkan oleh 2 orang (ponsel) atau lebih, karena biasanya permainan jenis ini harus dibeli secara terpisah dengan mengeluarkan uang yang cukup besar.

  Permainan catur ini sengaja dirancang untuk dimainkan bersama orang lain. Sedangkan untuk media atau handheld yang digunakan dipilih ponsel Sony Ericsson K608i karena sudah Java-Enabled dan Integrated Bluetooth.

  Dengan adanya permainan catur ini pada ponsel diharapkan pemain mendapatkan suatu pengalaman bermain baru serta menikmati kecanggihan teknologi bersama orang lain.

  

ABSTRACT

  Game was additional features in cellular phone. But it becomes important feature which every phone must have nowadays. And so the connection technology, many phone integrating Bluetooth as their alternative built-in connection feature. With Bluetooth both device could establish data communication wirelessly in one limited zone.

  Most built-in phone games are single player which one game for one player. But multiplayer games are rare, and these games used to available as additional software which require extra cost.

  The purpose of this chess game is to be played with other. And the chosen media or handheld is Sony Ericsson K608i phone, because it’s already Java- Enabled and integrated built-in Bluetooth.

  With this game people could archive a new gaming experience while enjoying technology with other.

KATA PENGANTAR

  Puji syukur kepada TuhanYang Maha Esa karena atas segala penyertaan- Nya tugas akhir dengan judul “Permainan Catur Multiplayer Pada Sony Ericsson K608i Menggunakan Bluetooth” dapat penulis selesaikan dengan baik.

  Penulis juga mengucapkan terima kasih yang sebesar-besarnya kepada Bapak, Ibu, dan semua keluarga di rumah. Tidak lupa juga untuk istriku, E’in dan anakku, Putri atas semua dukungan moril dan materilnya.

  Pada kesempatan ini penulis juga ingin mengucapkan terima kasih kepada pihak-pihak yang telah banyak membantu baik selama penelitian maupun saat penulisan tugas akhir ini. Ucapan terima kasih penulis sampaikan diantaranya kepada :

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

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

  3. Bpk. St. Eko Hari Parmadi, S.Si, M.Kom dan Bpk Yudianto Asmoro S.T selaku Dosen Pembimbing.

  4. Seluruh staff dan dosen pengajar di Universitas Sanata Dharma pada umumnya dan Jurusan Teknik Informatika pada khususnya.

  5. Teman-teman seperjuangan TI ’01 di saat-saat akhir, Detty, Rita, Teguh, Albet & Alice, dan teman-teman TI ’01, Ndon, Lia, Tito, Hendi (Moenyoex), Tatag, Tina, Siska, Kuncoro, Adit, Cokde, Eko, Andri RP,

  Andri punk, Anna, Heni, Devy, Aris, Agus, Ucok, Yosep, Supra-ku dan rekan-rekan Teknik Informatika USD lainnya.

6. Semua pihak yang telah membantu penulis baik secara langsung maupun tidak langsung, yang tidak dapat penulis sebutkan satu persatu.

  Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada laporan ini. Saran dan kritik selalu penulis harapkan dari pembaca untuk perbaikan-perbaikan di masa yang akan datang.

  Akhir kata penulis berharap tulisan ini bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan dan berbagai pihak pengguna pada umumnya.

  Yogyakarta, Juli 2007 Penulis

  

DAFTAR ISI

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  DAFTAR GAMBAR

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

  Kemajuan teknologi komunikasi yang begitu pesat dan semakin canggih, berpengaruh terhadap pola pikir dan cara hidup orang banyak pada umumnya.

  Dahulu handphone atau ponsel hanya berfungsi sebagai alat komunikasi pribadi saja, tapi seiring dengan berkembangnya teknologi komunikasi seperti: GPRS,

  

Java-enabled , Bluetooth, speaker, Mp3-Player, Video-Player maka teknologi

  tersebut dapat terintegrasi di dalamnya, sehingga kemampuan ponsel tidak hanya sekedar alat komunikasi pribadi.

  Kemampuan Java-enabled ini memungkinkan aplikasi-aplikasi dan permainan-permainan ditulis oleh orang-orang di luar pabrikan pembuatnya. Saat ini ponsel yang sudah integrated Bluetooth memang masih sedikit, tetapi besar kemungkinan di tahun-tahun mendatang banyak ponsel sudah mengintegrasikan

  

Bluetooth , karena dengan Bluetooth komunikasi data dua arah antara dua atau

lebih device dan ponsel dapat tercipta, tanpa harus menggunakan jaringan telepon.

  Permainan dan aplikasi ponsel berbasis Java memang sudah banyak ditawarkan di pasar, tapi permainan dan aplikasi ponsel yang berbasis Java dengan menggunakan Bluetooth sebagai komunikasi datanya masih langka di Indonesia. Berangkat dari kecanggihan teknologi dan kenyataan ini, maka ditulislah aplikasi ponsel “Permainan Catur Multiplayer pada Sony Ericsson K608i Menggunakan Bluetooth”.

  1.2 Rumusan Masalah

  Adapun masalah yang ingin diteliti penulis melalui skripsi ini adalah bagaimana cara menggunakan JSR-82 Java API for Bluetooth pada aplikasi J2ME yang diterapkan pada ponsel Sony Ericsson K608i dengan Bluetooth sebagai komunikasi datanya.

  1.3 Batasan Masalah Tulisan ini, dirancang dengan batasan masalah sebagai berikut:.

  1. Aplikasi permainan catur multiplayer ini dirancang untuk bekerja dengan baik pada ponsel Sony Ericsson K608i. Sedangkan untuk memainkan permainan ini diperlukan dua buah ponsel sejenis, dimana salah satunya harus menjadi Host dan yang lainnya sebagai

  Client .

  2. Komunikasi data antar ponsel menggunakan Bluetooth, sehingga sebelum permainan dimulai fasilitas Bluetooth pada kedua ponsel harus aktif serta kedua bluetooth sudah saling mengautentikasikan serta mengotorisasikan diri. Sedangkan pertukaran data, protokol yang digunakan adalah L2CAP.

  3. Letak geografis kedua ponsel juga tidak bisa terlalu jauh, harus terletak dalam jarak maksimal sepuluh meter dan tidak terhalang material-material yang dapat menghalangi jangkauan sinyal radio .

  Bluetooth

  1.4 Tujuan Penelitian

  Pembaca dapat mengetahui penerapan JSR-82 Java API for Bluetooth pada aplikasi permainan J2ME dan menjadikan karya ini sebagai referensi untuk pengembangan aplikasi-aplikasi J2ME lain.

  1.5 Metode Penelitian

  1. Studi pustaka, yaitu: mencari informasi mengenai prosedur dan penulisan program J2ME dan Bluetooth API pada J2ME untuk aplikasi permainan pada ponsel Sony Ericsson K608i.

2. Metode Waterfall meliputi Analisis, Perancangan, dan Uji coba.

  a. Analisis Menganalisis sistem seperti apa yang akan dibangun, apa saja yang akan siswa peroleh dengan sistem ini, serta kebutuhan hardware dan software dalam membangun dan menjalankan sistem.

  b.

  Perancangan Membuat rancangan aplikasi yang akan dibangun, berupa rancangan tampilan dan flowchart.

  c. Implementasi Membuat implementasi aplikasi sesuai dengan rancangan yang dibuat.

  d. Uji _ coba Melakukan pengujian terhadap program yang telah dibuat secara keseluruhan, dengan melakukan eksekusi dan demo untuk mengetahui kekurangan program.

1.6 Sistematika Penulisan

  Penulisan tugas akhir ini disusun dalam lima bab, meliputi: 1.

  BAB I, Pendahuluan Berisi tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, metodologi penelitian, dan sistematika penulisan.

  2. BAB II, Dasar Teori

  Bab ini berisi pembahasan tentang teori-teori yang berhubungan erat dan dipergunakan dalam penelitian ini, seperti sejarah catur di Indonesia, pengertian bidak catuar dan pengertiannya, ponsel yang digunakan, dan Java API for Bluetooth.

  3. BAB III, Analisa dan Perancangan Aplikasi Berisi tentang analisa aplikasi, analisa perangkat keras dan perangkat lunak, diagram alir aplikasi, dan desain antar muka.

  4. BAB IV, Implementasi Berisi tentang analisis hasil dan implementasi program ini pada ponsel Sony Ericsson K608i.

  5. BAB V, Kesimpulan dan Saran

  Bab ini berisi tentang kesimpulan penulis berdasarkan rumusan masalah yang dihadapi dan saran yang diberikan penulis untuk pengembangan lebih lanjut.

BAB II LANDASAN TEORI

2.1 Sejarah Catur di Indonesia Menurut PERCASI

  Hampir semua ahli sejarah catur di dunia sependapat bahwa catur berasal dari India. Dari sana catur itu menyebar ke Barat dan Timur.

  Peraturan permainan catur telah beberapa kali mengalami perubahan. Terakhir sekali terjadi pada abad ke 16 sehingga menyerupai bentuknya seperti sekarang ini. Di Indonesia pada jaman penjajahan Belanda tempo dulu, yang bermain catur kebanyakan orang Belanda saja. Pada akhir abad ke 19 mulai bermunculan perkumpulan-perkumpulan catur di Surabaya dan Jakarta. Menyusul di kota-kota Semarang, Magelang, Yogyakarta dan Bandung pada tahun 1911. Kemudian pada tahun 1951 di Yogyakarta didirikanlah apa yang dinamakan Nederlandsch Indische Schaakbond (NISB).

  Orang-orang Indonesia sendiri masih sedikit yang gemar bermain catur. Tapi sekitar tahun 1938 sampai pecahnya perang Dunia II jumlah penggemar catur bangsa Indonesia semakin meningkat bahkan melebihi jumlah orang Belanda dan Eropa lainnya.

  Sementara itu dalam jaman penjajahan Jepang, kegiatan catur dapat dikatakan terhenti sama sekali. Ketika pecah revolusi fisik tahun 1945, meskipun perjuangan bersenjatan masih berlangsung dengan sengitnya, namun kegiatan catur tumbuh kembali terutama di pulau Jawa seperti, Solo, Yogyakarta dan Magelang.

  Setelah pengakuan kedaulatan oleh Belanda, maka atas prakarsa beberapa tokoh catur di masa itu, didirikanlah Persatuan Catur Seluruh Indonesia pada tanggal 17 Agustus 1950 di Yogyakarta. Sebagai Ketua Umum PERCASI yang pertama terpilih Dr. Suwito Mangkusuwondo. Sedangkan kejuaraan nasional yang pertama baru diadakan pada tahun 1953 di Solo.

  Dalam tahun 1954 kedudukan PB. PERCASI dipindahkan dari Yogyakarta ke Jakarta. Selanjutnya PERCASI mengembangan sayapnya keseluruh penjuru tanah air dan pada tahun 1960, PERCASI diterima menjadi anggota FIDE (Federation Internasional Des Echecs).

  Sekarang ini dalam usianya menjelang 34 tahun, PERCASI telah berhasil melahirkan seorang Grandmaster International, 6 Master International, 4 Master FIDE dan 69 Master National.

  Di bidang pertandingan, sampai saat ini PERCASI telah 22 kali mengadakan kejuaraan internasional, berpuluh-puluh kali mengirimkan tim/pemain ke turnamen-turnamen internasional di luar negeri serta 8 kali mengikuti Olym

2.2 Bidak Catur dan Aturan Langkah

  Permainan Catur dimainkan oleh dua pemain yang berlawanan, dengan jalan memindahkan buah catur di atas papan segi empat yang dinamakan Papan Catur. Papan catur terdiri dari 64 petak yang masing-masing petaknya berwarna gelap dan terang yang saling berselingan. Papan diletakkan sedemikian rupa diantara kedua pemain sehingga petak sudut sebelah kanan masing-masing pemain berwarna putih. Pemain yang memegang bidak putih yang lebih melangkah. Selama permainan berlangsung, setiap pemain diwajibkan menuliskan jalannya permainan, langkah demi langkah (baik langkahnya sendiri maupun langkah lawannya) sejelas mungkin dan dapat dibaca di atas selembar formulir yang disebut notasi.

  Raja kena SKAK apabila petak dimana raja itu berada dicanam oleh buah catur lawannya. SKAK itu haruslah dihindarkan pada langkah pertama berikutnya, dan jika tidak bisa dihindarkan lagi, maka kedaan demikian disebut MAT. Permainan itu dimenangkan oleh pemain yang telah me-MAT-kan raja lawannya.

  Permainan dikatakan PAT bila raja pemain yang giliran melangkah tidak berada dalam keadaan SKAK tapi pemain itu tidak bisa melakukan suatu langkah pun. Permainan bisa berakhir REMIS bila terjadi persetujuan antara kedua pemain dan atas tuntutan salah seorang pemain apabila terjadi langkah yang sama terluang tiga kali.

Gambar 2.1 Papan dan Bidak Catur

  2.2.1 Pion

Gambar 2.2 Pion dan Langkahnya

  Secara umum pion hanya dapat bergerak satu kotak kedepan. pion dapat melangkah satu kotak kedepan bila tidak ada bidak lain didepannya.

  Pion dapat melangkah dua kotak kedepan sekaligus bila pion tersebut belum pernah bergerak dan tidak ada bidak lain yang menutup kotak didepannya.

  Pion dapat dipromosikan menjadi bidak lain selain raja dan bidak itu sendiri bila bidak dapat sampai barisan kotak paling belakang lawan.

  Pion dapat menangkap bidak lawan bila bidak lawan berada pada satu kotak disamping depan kiri atau kanan pion tersebut.

  2.2.2 Benteng

Gambar 2.3 Benteng dan Langkahya Benteng secara umum bergerak secara horisontal atau vertikal sampai tepi papan catur, bila kotak tujuan berada tepat lurus dengan kotak asal, tidak ada bidak lain yang menutup jalannya.

  Dapat melakukan lukir dengan raja, bila benteng dan raja belum pernah bergerak dan tidak ada bidak lain yang menutupi jalannya.

  Benteng dapat menagkap bidak lawan, bila antara bidak lawan dan benteng tidak terdapat bidak lain dan bidak lawan tersebut berada tepat lurus secara vertikal, atau horisontal dengan benteng tersebut.

2.2.3 Kuda

Gambar 2.4 Kuda dan Langkahnya

  Gerak kuda berbentuk huruf ‘L’, terdiri dari dua kotak vertikal dan satu kotak horisontal, atau sebaliknya. Gerakannya tidak terhalang karena dapat meloncati bidak yang berada di garis jalannya.

  Adapun syarat gerak kuda adalah tidak ada bidak kawan yang menutupi kotak tujuannya.

  Kuda dapat menangkap bidak lawan, bila bidak lawan berada pada kotak tujuan gerak kuda tersebut.

  2.2.4 Gajah

Gambar 2.5 Gajah dan Langkahnya

  Bergerak secara diagonal sesuai warna kotak yang ditempatinya, syaratnya warna kotak tujuan sama dengan warna kotak asal, kotak tujuan berada tepat diagonal dengan kotak asal, tidak ada bidak lain yang menghalangi jalannya.

  Gajah dapat menangkap bidak lawan, bila kotak tempat buah catur lawan berada tepat diagonal dengan kotak asal gajah, warna kotak bidak lawan sama dengan warna kotak asal gajah, antara bidak lawan dan gajah tidak terdapat bidak lain.

  2.2.5 Menteri

Gambar 2.6 Menteri dan Langkahnya Menteri dapat bergerak secara vertikal, horisontal, dan diagonal, bila kotak tujuan berada tepat lurus secara vertikal atau horisontal, atau diagonal dengan kotak asal, tidak ada bidak lain yang menghalangi jalannya.

  Menteri dapat menangkap buah catur lawan, bila bidak lawan tersebut berada pada kotak yang tepat lurus atau tepat diagonal dengan kotak asal menteri, tidak ada bidak lain yang menghalangi jalannya.

2.2.6 Raja

Gambar 2.7 Raja dan Langkahnya

  Keselamatan raja adalah prioritas utama dalam catur, tetapi gerakannya terbatas. Raja hanya dapat bergerak satu kotak. Syaratnya kotak tersebut tidak dalam jangkauan buah catur lawan, kotak tersebut berada satu kotak disekitar kotak asal raja.

  Raja dapat melakukan lukir dengan benteng bila raja tidak dalam keadaan teancam, raja dan benteng belum pernah bergerak, antara raja dan benteng tidak ada bidak lain.

  Raja juga dapat mengangkap buah catur lawan, bila bidak lawan tersebut tidak berada dalam jangkauan bidak lain milik lawan, bidak lawan berada tepat satu kotak disekitar kotak asal raja.

2.3 Ponsel yang Digunakan

  Tidak semua ponsel dapat menjalankan aplikasi ini. Karena ada beberapa spesifikasi yang harus dipenuhi yaitu :

  • Mendukung Bluetooth Ponsel ini harus memiliki Bluetooth, karena Bluetooth akan digunakan sebagai alat komunikasi data antar pemain.
  • Java-enabled

  Ponsel ini harus memiliki JVM (Java Virtual Machine), karena aplikasi ini ditulis dan dirancang untuk berjalan di atas mesin Java.

  • Mendukung Java MIDP API 2.0

  Untuk kemampuan tampilan, aplikasi ini menggunakan library MIDP API versi 2.0.

  • Mendukung CLDC API 1.1

  Untuk configurasi sistem, aplikasi ini menggunakan library CLDC API versi 1.1.

  • Mendukung Java Bluetooth API 1.0a

  Untuk kemampuan koneksi Bluetooth, aplikasi ini menggunakan library Bluetooth API 1.0a (JSR-82).

  x x

  220 pixel (lebar tinggi)

  • Mendukung resolusi layar 176 pixel Aplikasi ini dirancang untuk ponsel dengan ukuran layar tersebut.
  • Penulis menyarankan untuk menggunakan ponsel Sony Ericsson K608i. Karena aplikasi ini dirancang dan dibangun untuk berjalan di ponsel ini.

Gambar 2.8 Ponsel Sony Ericsson K608i

  panjang) Resolusi Layar : 176 pixel

  2.3.2 Informasi J2ME Ponsel Sony Ericsson K608i

  Berat : 100 gr Koneksi data : InfraRed, Bluetooth, USB Spesifikasi teknis diambil da

  tinggi) TFD, 262.000 warna (18 bit)

  x

  220 pixel (lebar

  x

  x

  2.3.1 Spesifikasi Teknis Umum Ponsel Sony Ericsson K608i

  lebar

  x

  18,8 mm (tinggi

  x

  45,4 mm

  x

  Ukuran fisik : 105,1 mm

  Kemampuan JVM : CLDC 1.1 (JSR 139) MIDP 2.0 (JSR 118)

  Wireless Messaging API (JSR 120) Mobile Media API (JSR 135) Java Technology for the Wireless Industry (JSR

  185) Java API for Bluetooth (JSR 82) PDA Optional Packages for J2ME Platform (JSR

  75) Mobile 3D Graphics API for J2ME (JSR 184)

  Spesifikasi teknis diambil da

  

2.4 Bluetooth pada Ponsel

  Perangkat nirkabel ini diintegrasikan untuk menambah kemampuan konektivitas ponsel. Sehingga mampu untuk terhubung dengan Bluetooth Device lain dengan mudah, biaya murah, dan sumber daya yang minim.

  Bluetooth berkomunikasi menggunakan gelombang radio. Lebar frekwensi

  gelombang radio atau hop yang digunakan sebesar 1MHz, dimulai dari frekwensi 2.402GHz sampai 2.80Ghz., sehingga banyak hop yang dapat digunakan sebanyak 79 hop

  

  )

2.4.1 Keuntungan Bluetooth

  Secara umum keuntungan Bluetooth antara lain :

  • Lebih ringkas, karena tidak memerlukan kabel serta posisi tidak harus saling berhadapan.
  • Ukurannya yang mini, sehingga dimungkinkan untuk diintegrasikan ke portable device .
  • Mudah dalam penggunaannya, karena tidak banyak keamanan yang harus dikonfigurasi.
  • Flexible karena dapat menggantikan beberapa jenis kabel data.

2.4.2 Kelemahan Bluetooth

  Meskipun Bluetooth banyak menguntungkan, tetapi juga memiliki kekurangan, antara lain :

  • Kurang aman, karena Bluetooth pada awalnya hanya dirancang sebagai media koneksi data singkat jarak dekat, sehingga konfigurasi keamanan hanya sedikit.
  • Jangkauan gelombang radio Bluetooth pada ponsel hanya sekitar 10 meter.

2.5 Java 2 Micro Edition

  Java 2 Micro Edition (J2ME) adalah subset dari J2SE yang ditujukan

  untuk implementasi pada peralatan embedded-system dan handheld yang tidak mampu mendukung secara penuh implementasi menggunakan J2SE. Embedded-

  

system adalah produk-produk dengan komputer kecil berada di dalamnya. Contoh

embedded-system

  yang ada misalnya seperti televisi, sistem keamanan gedung, dan sebagainya.

  J2ME sangat berguna untuk membangun sebuah aplikasi pada peralatan dengan jumlah memori dan kapasitas penyimpan yang terbatas, serta kemampuan

  

user interface yang terbatas seperti pada perangkat komunikasi bergerak berupa

handphone, PDA , dan sebagainya.

  2.5.1 Komponen J2ME

  J2ME terdiri atas komponen–komponen sebagai berikut:

  • Java Virtual Machine(JVM)

  Komponen ini digunakan untuk menjalankan program-program java pada perangkat telepon genggam. J2ME menggunakan implementasi dari KJVM (KiloByte Java Virtual Machine). KJVM adalah virtual mesin yang sangat kecil dalam kebutuhan memorinya, dengan menggunakan ukuran kilobyte yaitu dari 128 sampai 512 KiloBytes.

  • Java Aplication Program Interface Komponen ini merupakan kumpulan library untuk menjalankan dan mengembangkan program java pada perangkat semacam telepon genggam.
  • Perangkat perangkat lain untuk perkembangan aplikasi java

  Semacam emulator Java Phone, emulator Sony Ericcson, emulator Motorola.

  2.5.2 Konfigurasi J2ME mendefinisikan lingkungan kerja J2ME runtime.

  J2ME Configuration

  Oleh karena setiap handheld devices memiliki fitur-fitur yang berbeda. J2ME

  

configuration ini dirancang untuk menyediakan library standar yang mengimplementasikan fitur standar dari sebuah handled device. Sebuah konfigurasi mendeskripsikan sebuah JVM dan sekumpulan API dasar.

  Saat ini terdapat dua jenis konfigurasi J2ME, tapi dalam penelitian ini konfigurasi yang digunakan adalah konfigurasi CLDC. Berikut adalah dua jenis konfigurasi tersebut :

  • CLDC (Conennected Limited Device Configuration)

  Mengimplementasikan subset dari J2SE, digunakan pada perangkat dengan memory terbatas ( 160 – 512 Kbytes ).

  • CDC (Connected Device Configuration)

  Mengimplementasikan seluruh fitur dari J2SE, digunakan pada perangkat dengan memory minimal 2 Mbytes.

2.5.3 Midlet

  MIDP (Mobile Information Device Profile) adalah sebuah profile dalam J2ME yang dibuat dalam konfigurasi berbasis CDLC. Profile ini memuat library java yang dapat diimplementasikan untuk mengakses dan menggunakan sumber daya yang ada dalam perangkat tersebut.

  MIDlet adalah sebuah kelas dalam MIDP (kelas javax.microedition.midlet) yang berfungsi sebagai kelas utama dalam aplikasi-aplikasi java yang menggunakan library MIDP, sehingga semua yang MIDlet yang akan ditulis harus merupakan turunan dari kelas ini. Kelas MIDlet ini merupakan kelas abstrak, maka kelas turunannya harus mengimplementasikan fungsi-fungsi abstrak di dalamnya. Abstrak disini artinya adalah tidak didefinisikan dan harus diimplementasikan di kelas turunannya.

  MIDlet tidak berinteraksi langsung dengan hardware tetapi melalui

  

Application Management Software (AMS) . AMS inilah yang mengendalikan

applikasi J2ME.

  Terdapat tiga status dalam daur hidup sebuah MIDlet yaitu:

  • Paused Status ini terjadi ketika MIDlet selesai diinisialisasi dan tidak melakukan aksi apapun. Pada status ini MIDlet tidak boleh sedang mengunci suatu sumber daya, misalnya tidak boleh sedang melakukan

  locking atau mengunci sebuah file untuk ditulis yang menyebabkan

  proses lain tidak bisa menulis ke file tersebut

  • Active Status ini terjadi ketika MIDlet sedang aktif/berjalan dengan normal, yaitu setelah memanggil fungsi MIDlet.startApp().
  • Destroyed Status ini terjadi ketika MIDlet berhenti berjalan (identik dengan exit), sehingga seluruh sumber daya yang digunakan akan dibebaskan. Status ini terjadi ketika berhasil dilakukan pemanggilan fungsi MIDlet.destroyApp() atau MIDlet.notifyDestroyed().

2.5.4 Canvas

  Kelas ini adalah sebuah kelas dasar untuk menulis aplikasi yang membutuhkan operasi kejadian-kejadian low-level (low-level events), dan untuk melakukan pemanggilan graphics untuk menampilkan gambar pada display (layar

  Merupakan kelas turunan dari kelas javax.microedition.lcdui.Displayable yang merupakan sebuah paket dalam library MIDP API 2.0. Class ini sudah ada sejak MIDP API 1.0, perbedaan yang nyata dengan MIDP API 2.0 adalah class canvas pada MIDP API 2.0 sudah mendukung warna pada layar, sedangkan MIDP API 1.0 belum.

  Dengan class ini programmer mampu mengontrol penuh setiap tampilan di display melalui method paint(Graphics g) serta interaksi user melalui method

  keyPressed(int keyCode) .

2.6 JSR-82 Java API for Bluetooth

  JSR-82 adalah sebuah library API yang disediakan untuk memanfaatkan perangkat keras Bluetooth pada ponsel, adapun versi yang digunakan disini adalah versi 1.0a. Tidak semua ponsel yang memiliki Bluetooth mendukung library API ini.

  Semua operasi API ini tunduk pada aturan yang diberikan oleh BCC

  

(Bluetooth Control Center) pada device lokal. BCC adalah perangkat lunak

  independen pengendali Bluetooth. (API terintegrasi dalam emulator J2ME WTK

  

  2.2, bisa ambil dari

2.6.1 Arsitektur Protokol

Gambar 2.9 Tumpukan Protokol Bluetooth

  Secara garis besar protokol bluetooth dapat dibagi dua yaitu : bluetooth

  

host dan bluetooth controller. Host Controller Interface (HCI) menyediakan antar

muka standar antara Bluetooth host dan Bluetooth controller (modul radio).

  Menurut kategorinya protokol Bluetooth dapat dibagi menjadi empat.

  • Protokol inti bluatooth :

  Baseband, Link Manager Protocol (LMP), Logical Link and Controller Adaptation Protocol (L2CAP), dan Service Discovery Protocol (SDP).

  • Protokol pengganti kabel : RFCOMM .
  • Protokol kendali telepon : TCS Binary .

  • Protokol yang diadposi :

  PPP, UDP/TCP/IP, OBEX, WAP Keterangan dari protokol-protokol di atas adalah sebagai berikut :

  Baseband layer memungkinkan hubungan fisik RF (Radio Frequency) antar Bluetooth.

  LMP bertanggung jawab untuk set-up koneksi dan aspek keamanan antar Bluetooth seperti autentikasi dan otorisasi.

  L2CAP bertugas menjembatani antara lapisan protokol-protokol di atasnya

  dan Baseband layer. L2CAP bertanggung jawab untuk operasi multiplexing (membagi data sesuai dengan layer protokol di atasnya), segmentation & reassembly (pemecahan dan perakitan kembali paket-paket data).

  Data audio tidak memerlukan L2CAP tapi langsung diarahkan ke Baseband layer .

  SDP digunakan untuk mencari informasi bluetooth lain, servis dan karakteristiknya.

  RFCOMM mengemulasikan kabel RS-232 dan sinyal data pada baseband

  bluetooth, menyediakan kemampuan transport untuk servis-servis di level atasnya yang menggunakan antar muka serial sebagai mekanisme transport-nya.

  TCS Binary digunakan sebagai penanda kendali panggilan untuk penyelenggaraan panggilan suara dan data antar Bluetooth.

2.6.2 API Lifecycle

Gambar 2.10 Bluetooth API Lifecycle

  Setelah Bluetooth diinisiasi maka kita dapat melakukan dua jenis operasi yang terbagi menjadi tiga sub-operasi. Dua operasi ini adalah operasi pencarian dan operasi koneksi.

  Dengan operasi pencarian kita dapat melakukan pencarian device (inquiry) dan mencari layanan yang diberikan oleh masing-masing device.

  Untuk menjadi host aplikasi terlebih dahulu harus mendaftarkan layanan yang ingin ditawarkan dan menginisiasikan notifier untuk mendengarkan permintaan koneksi masuk, kemudian membuka koneksi untuk menangkap dan membuka koneksi masuk tersebut.

  Sedangkan untuk menjadi client aplikasi tidak perlu mendaftarkan layanan yang ingin digunakan, tetapi dapat langsung membuka koneksi pada host yang menawarkan layanan tersebut.

  2.6.3 Arsitektur API

Gambar 2.11 Arsitektur CLDC + MIDP + Bluetooth API

  2.6.4 Local Device

  Adalah perangkat Bluetooth yang ada pada ponsel atau device pemilik aplikasi, dipanggil dengan perintah :

  LocalDevice myLocalDevice = LocalDevice.getLocalDevice();

  Melaui variabel myLocalDevice ini kita bisa mengetahui informasi tentang Bluetooth milik kita.

  2.6.5 Device Discovery

  Adalah fungsi untuk mencari Bluetooth lain atau remote device yang ada didalam jangkauan. Fungsi ini biasanya diletakkan dalam class yang mengimplementasikan interface DiscoveryListener.

  DiscoveryAgent myDiscoveryAgent =

myLocalDevice.getDiscoveryAgent(); myDiscoveryAgent.startInquiry(); Melalui variabel myDiscoveryAgent ini kita bisa mengetahui informasi

  

Bluetooth lain (remote bluetooth) didalam jangkauan serta servis-service yang

dimilikinya.

2.7 Komunikasi Bluetooth

  Untuk memanfatkan sebuah servis pada remote Bluetooth, Bluetooth lokal harus berkomunikasi menggunakan protokol yang sama. API yang disediakan disini menyediakan prosedur-prosedur yang memungkinkan komunikasi terjadi antar servis-servis yang memiliki RFCOMM, L2CAP, atau OBEX sebagai protokol tertingginya.

  Generic Connection Framework (GCF) dari CLDC menyediakan koneksi

  dasar untuk implementasi protokol komunikasi. CLDC menyediakan tiga metode berikut untuk pembukaan koneksi, dengan parameter mode dan timeout sebagai pilihannya.

  Connetion myConnection = (Connection)Connector.open(String name);

  Perintah ini akan memblokir aplikasi sampai nilai “myConnection” tidak sama dengan null atau sampai terjadi koneksi.

  Connetion myConnection = (Connection)Connector.open(String name, int mode);

  Perintah ini akan mendefinisikan modus koneksi yang akan digunakan

  

(READ, READ_WRITE, WRIT”) dan memblokir aplikasi sampai nilai

“myConnection” tidak sama dengan null atau sampai terjadi koneksi.

  Connetion myConnection = (Connection)Connector.open(String name, int mode, bolean timeout); Metode ini sebenarnya juga akan memblokir aplikasi sampai nilai “myConnection” tidak sama dengan null atau sampai terjadi koneksi. Tetapi tidak akan dirasakan user karena waktu timeout yang digunakan oleh sistem hanya beberapa milidetik.

  2.7.1 L2CAP (Logical Link and Adaptation Protocol)

  L2CAP menyediakan dua jenis koneksi yaitu connection-oriented (bi-

  

directional) dan connectionless (uni-directional). Tetapi API ini hanya

menyediakan prosedur untuk jenis koneksi connection-oriented.

  2.7.2 Antar Muka Koneksi

  “Augmented Backus-Naur Form” (ABNF) untuk “URL” koneksi L2CAP adalah : srvString = protocol colon slashes srvHost

  0*7(srvParams) cliString = protocol colon slashes cliHost 0*5(cliParams) protocol = btl2cap btl2cap = %d98.116.108.50.99.97.112 ; defines the literal btl2cap cliHost = address colon psm srvHost = “localhost” colon uuid uuid = 1*32(HEXDIG) colon = “:” slashes = “//” bool = “true” / “false” address = 12*12(HEXDIG) text = 1*( ALPHA / DIGIT / SP / “-” / “_” ) name = “;name=” text ; see constraints below master = ”;master=“ bool encrypt = “;encrypt=” bool ; see constraints below authorize = “;authorize=” bool ; see constraints below authenticate = “;authenticate=” bool ; see constraints below receiveMTU = “;receiveMTU=” 1*(DIGIT) transmitMTU = “;transmitMTU=” 1*(DIGIT) cliParams = master / encrypt / authenticate / receiveMTU / transmitMTU srvParams = name / master / encrypt / authorize / authenticate/ receiveMTU / transmitMTU

  “Parameter” yang disertakan pada “string URL” tidak boleh ada yang terulang lebih dari satu. Dan “parameter” keamanan tidak boleh berisi kombinasi “authenticate=false;encrypt=true” atau “authenticate=false;authorize=true”. Karena “parameter” pertama haruslah “authenticate=true” bila ingin memanfaatkan “parameter” “authorize=true” dan atau “encrypt=true”.

  “Parameter” “psm” di atas mendefinisikan nilai PSM (Protocol Service Multiplexor) untuk servis yang akan digunakan.

2.7.3 Koneksi Client dan Server

  Contoh kode pseudo untuk membuka koneksi L2CAP dari “client” adalah

  try { L2CAPConnection client = (L2CAPConnection)Connector.open(“btl2cap://0050C D00321B:1001;ReceiveMTU=512;TransmitMTU=512”);

  } catch (…)

  Contoh kode pseudeo untuk membuka koneksi L2CAP server adalah :

  try { L2CAPConnectionNotifier server = (L2CAPConnectionNotifier)Connector.open(“btl2cap:/ /localhost:3B9FA89520078C303355AAA694238F08;na me=L2CAPEx”); L2CAPConnection con = (L2CAPConnection)server.acceptAndOpen(); } catch (…)

BAB III ANALISA DAN PERANCANGAN

  3.1 Analisa Aplikasi

  Permasalahan yang dihadapi dalam penelitian ini adalah bagaimana memanfaatkan Bluetooth pada ponsel sebagai media koneksi data untuk melakukan komunikasi pada dua aplikasi J2ME yang sama yang dijalankan pada dua ponsel yang berbeda.

  3.2 Analisa Sumber Daya

3.2.1 Analisa Perangkat Keras

  Perangkat keras yang digunakan untuk membangun adalah :

  • CPU : Intel Pentium 1,8 Ghz • RAM : 512 Mb Pc 333Mhz
  • Hard Disk : 40 Gb • Bluetooth • Ponsel Sony Ericcson K608i.
  • Ponsel lain yang mendukung aplikasi java dan sudah mengintegrasikan

  . Serta ponsel sudah mendukung library MIDP 2.0, CLDC

  Bluetooth 1.1, JSR-82 Bluetooth API

  • Ponsel mempunyai ukuran layar 176 pixel x 220 pixel

3.2.2 Analisa Perangkat Lunak

  Perangkat lunak komputer yang direkomendasikan untuk pengembangan adalah :

  • Win XP SP2 Professional Edition • J2SDK dan JRE ver 1.4.2.0
  • Sun One Studio 4 ME
  • Emulator J2ME Wi

3.3 Perancangan Sistem

  3.3.1 Gambaran Umum Permainan

  Aplikasi ini adalah sebuah aplikasi permainan catur dua orang yang dibangun menggunakan library J2ME. Dimana dua ponsel yang digunakan adalah Sony Ericsson K608i dan masing-masing ponsel harus sudah mengimplementasikan aplikasi ini.

  Gambaran umumnya adalah sebagai berikut : • Salah satu ponsel harus memilih putih dan lainnya harus hitam.

  Sebelum permainan berlangsung maka harus dilakukan setup koneksi, adapaun setup tersebut dilakukan dengan cara :

  • Pemain putih otomatis akan menjadi host, bertanggung jawab untuk menyediakan layanan koneksi untuk permainan ini. Maka setelah layanan disediakan putih akan masuk modus menunggu masuknya permintaan koneksi dari pemain hitam atau client.
  • Pemain hitam otomatis akan menjadi client, bertanggung jawab untuk menginisiasi koneksi ke layanan permainan pada host.
  • Pemain hitam akan diberi dua pilihan modus inisiasi koneksi, yaitu manual dan otomatis.
  • Modus manual pada client memerlukan inputan alamat host secara manual oleh pemain, dimana alamat ini hanya akan tampil pada layar

  host , sehingga secara tidak langsung kedua pemain secara manual sudah saling mengotentikasikan diri masing-masing.

  • Modus Otomatis pada client membutuhkan waktu lebih lama karena

  Bluetooth harus mencari Bluetooth yang aktif disekitarnya. Setelah

Bluetooth lain ditemukan maka user harus memilih salah satu

  bluetooth aktif untuk menjadi host. Setelah kedua ponsel terkonkesi maka permaian dimulai. Gambaran permainan tersebut adalah sebagai berikut :

  • Putih dan hitam melangkah bergantian, langkah pertama dilakukan oleh pemain putih. Penanda langkah adalah sebuah cursor berbentuk kotak, digunakan untuk memilih dan meletakkan bidak.
  • Permainan dilakukan dengan aturan catur pada umumnya, user juga diberi fasilitas Game Log atau catatan langkah dan pesan yang semuanya dapat dipilih melalui menu.

3.3.2 Rancangan Prosedur Interaksi User

  Flowchart-flowchart berikut akan digunakan untuk menangkap interaksi user pada masing-masing antar muka yang ditampilkan.

Gambar 3.1 Flowchart MenuGambar 3.2 Flowchart HostGambar 3.3 Flowchat ClientGambar 3.4 Flowchart Explorer

  Gambar 3.5

3.4 Design Antar Muka

  3.4.1 Menu

  Ini adalah pilihan tampilan pilihan pertama yang diberikan pada user. Bila

  

user memilih salah satu menu maka sebuah prosedur dan sebuah tampilan lain

akan diberikan.

Gambar 3.6 Rancangan Tampilan Menu

  3.4.2 Menu “PUTIH”