Minggu, 30 Juni 2013

Aplikasi Animal Sound

Aplikasi Animal Sound

Pada aplikasi ini, memiliki 3 tombol yang mewakili 3 ekor hewan, yaitu Anjing, Kucing dan Burung Hantu. Pada Saat salah satu tombol kita tekan, maka akan menampilkan  gambar hewan tersebut dan juga suara hewan itu. Berikut Tampilan Aplikasinya :

Screenshot_2013-05-01-13-34-20
- Langkah pertama adalah browser app inventor anda, pilihlah my project kemudian klik New untuk membuat project baru.
- Kemudian masukan nama project dari aplikasi yang kita buat dalam hal ini adalah Animal Sound, lalu klik tombol OK.
- Lalu anda akan melihat  lembar kerja project yang akan di buat.
   Adapun Components yang di butuhkan untuk membuat aplikasi ini adalah :
  1. VerticalArrangement, Palette – Screen Arrangement – VerticalArrangement lalu Drag VerticalArrangement kedalam Screen. Ubah Widht kedalam fill paren dan Height 350 pixels
  2. Image, Palette – Basic – Image, Drag kedalam VerticalArrangement dalam screen.
  3. Label, Palette – Basic – Label, Drag label di bawah VerticalArrangement dalam Screen. Beri nama Label tersebut.
  4. HorizontalArrangment, Palette – Screen Arrangment – HorizontalArrangment lalu drag kedalam screen dibawah label ubah Width ke dalam fill parent.
  5. Button, Palette – Basic – Button, Drag 3 buah Button kedalam HorizontalArrangment. Ubah text Alignment menjadi center lalu menjadi fill parent. lakukan kepada 2 buah button selanjutnya.
  6. Player, Palette – Media – Player, Drag Player kedalam screen.
Untuk membuat aplikasi di atas membutuhkan bahan-bahan sebagai berikut :
  • Gambar Anjing.png
  • Gambar Kucing.png
  • Gambar Burung Hantu.png
  • Suara Anjing.wav
  • Suara Kucing.wav
  • Suara Burung Hantu.wav
Dan upload file satu per satu pada bagian Media. Upload New.
Sehingga menjadi seperti gambar di bawah ini :
screen
Setelah Selesai merancang pilih open the block editor, Di dalam Block Editor, pilih bagian My Block, akan menampikan semua komponen-komponen yang telah kita gunakan sebelumnya di perancangan. Setiap komponen-komponen tersebut akan memiliki event yang menentukan apa yang akan dilakukan komponen tersebut.
Pilihlah button 1 dari tab My Blocks, kemudian drag Button1.Click event ke dalam block editor space seperti di bawah ini :
editor 1
Kemudian pilih image1, lalu pilih eventnya image1.picture, Drag even tersebut kedalam button1.click
editor 2
Kemudian, untuk memasukkan objek file gambar (Kucing.png) yang sudah kita upload sebelumnya, kita membutuhkan komponen text. Pada tab Built-In, pilih Text, lalu drag ke bagian kanan dari Image1.Picture sampai kedua objek tersebut bersambungan. Kemudian gantilah tulisan text dengan nama file dari gambar yang akan kita tampilkan, dalam hal ini adalah kucing.Png. Perlu diperhatikan bahwa nama file yang kita tuliskan harus betul-betul sama dengan nama file yang akan kita tampilkan atau yang di upload sebelumnya.
editor 3
Kembali ke tab My Block, pilihlah Player1, lalu letakkan Player1.Source di bawah dari Image1.Picture
editor 4
Selanjutnya, dari tab Built-In, pilih Text dan letakkan di samping kanan dari Player1.Source. Ganti tulisan text dengan nama file dari suara hewan yang akan dibunyikan, yaitu kucing.wav
editor 5
Kembali ke tab My Block, pilih kembali Player1, dan masukkan event Player1.Start di bagian bawah dari Player1.Source
editor 6
Lakukanlah hal yang sama untuk Button2 dan Button3, sehingga hasilnya seperti gambar dibawah:
editor 7
Selanjutnya jalankan aplikasi tersebut melalui emulator atau langsung memakai handphone kita sendiri.

Kamis, 20 Juni 2013

Membuat Aplikasi Android Dengan MIT App Inventor

Tutorial App Inventor Untuk Membuat Aplikasi Android

Untuk menggunakan App Inventor ada beberapa hal yang harus di siapkan terlebih dahulu, yaitu :
  1. > Memiliki Account Gmail terlebih dahulu, dan masuk –Log In  ke  http://www.appinventorbeta.com http://beta.appinventor.mit.edu/ , apabila anda belum memiliki Account Gmail maka terlebih dahulu mendaftar pada http://www.gmail.com
  2. > Setelah masuk anda akan diminta untuk membaca & menyetujui term of service dari google, klik pada tombol I accept the terms of service.

Untuk memulai App Inventor :
  1.      Miliki Account gmail, http://www.gmail.com
  2.       Masuk ke http://www.appinventorbeta.com http://beta.appinventor.mit.edu/
  3.    Download & Install Java 6 (1.6) dari http://www.java.com 
  4.    Download & Install AppInventor_Setup_Installer_v_1_2.exe    http://www.appinventorbeta.com/learn/setup/setupwindows.html  
  5.    http://beta.appinventor.mit.edu/learn/setup/setupwindows.html 
  6.  Install & Setting driver HP Android apabila ada 
selanjutnya
  1. > anda akan dibawa ke halaman App Inventor Setup, dimana terdapat dua tahapan dasar pada setup yaitu :
    1. Pada platform windows, - apabila anda menggunakan Linux anda bisa download App Inventor setup untuk Linux :
v     Setup Komputer, yaitu memiliki komputer PC dgn syarat untuk Windows. Sistem Operasi Windows yang didukung Windows XP, Windows Vista, Windows 7
v     Telah menginstall Browser minimal Google Chrome 4.0 – rekomendasi  , Apple Safari 5.0 , Microsoft Internet Explorer 7, Mozilla Firefox 3.6
v     Menginstall Java 6– java 1.6, bisa juga java 1.7 yg bisa download di http://www.java.com,
v     Kemudian install AppInventor_Setup_Installer_v_1_2.exe yg bisa di download di http://www.appinventorbeta.com/learn/setup/setupwindows.html
http://beta.appinventor.mit.edu/learn/setup/setupwindows.html
Gb. App Inventor Setup
    1. Setup lingkungan Developing, yaitu :
v     Menggunakan Emulator,: pada penggunaan emulator tidak memerlukan setup diawal, karena tinggal diaktifkan dari blok editor.
v     Menggunakan Handset Android. - Kalau tidak ingin mengesetnya kita bisa langsung melakukan developing.
Setup Handset Android
Tahap ini dilakukan apabila anda ingin langsung mencoba hasil develop anda ke handset android. Pertama anda harus memiliki kabel data USB, dan menginstall driver handset Android anda. Hampir semua handset android di dukung oleh App Inventor, dan pastikan juga anda telah memiliki memory SD Card yang terpasang.
Setelah itu setting pada handset kita :
1.      Masuk pada home screen
2.      Pilih Setting > applications
3.      Pada Unkown sources di ceklist
Gb. Setting
4.      Pilih Development, ceklist pada USB Debugging dan Stay Awake  
Gb. Setting
Setelah itu koneksikan Handset anda dgn kabel USB Data ke komputer – dalam keadaan screen unlock, hingga akan muncul dua pesan notifikasi pada atas layar yaitu :
v     USB Connected, yang berarti handset telah terhubung ke komputer.
v     USB Debugging Connected, yang membuat App Inventor di komputer mengontrol handset.
Sampai disini berarti handset android kita telah siap untuk digunakan untuk mencoba aplikasi yang kita buat dengan App Inventor.
     Catatan :
Perlu diingat apabila anda menggunakan browser Mozila firefox agar semua berjalan lancar, apabila kita menggunakan fasilitas script  - NoScript extension , dan juga apabila ada firewall yang aktif, silahkan di konfigurasikan apabila mengganggu atau menghalangi koneksi developing. App Inventor akan mencari Setup secara otomatis, tapi apabila ada pertanyaan path lokasi App Inventor biasanya ada pada C:\Program Files\AppInventor\commands-for-Appinventor.
  1. > Setelah semua konfigurasi dan setting selesai, anda bisa langsung masuk ke lingkungan developing dengan melalui http://www.appinventorbeta.com http://beta.appinventor.mit.edu/ - apabila tadi masih login anda langsung akan dibawa ke jendela developing :
 Gb. Jendela Developing
  1. Klik pada New, dan mulai projek baru misal dengan nama Helloworld, kemudian klik pada tombol OK
  
Gb. Membuat Projek Baru
  1. Maka akan terlihat langsung projek kita
Gb. Projek Baru
Lingkungan Kerja App Inventor
Sebelum kita melanjutkan untuk memulai developing, kita mengenal terlebih dahulu lingkungan kerja pada App Inventor yang terdiri dari :
  1. Komponen Desainer – Component Designer yang berjalan pada Browser, digunakan untuk memilih komponen dan mengatur property.


Gb. Komponen desainer
Komponen desainer , terdiri dari :
    1. Viewer             : untuk menempatkan komponen dan mengaturnya sesuai tampilan yang diinginkan.
    2. Pallete              : adalah list dari komponen yang bisa dipakai
    3. Component list : merupakan tempat list komponen dari projek yang kita pakai
    4. Media              : mengambil media audio dan gambar untuk projek kita
    5. Properties         : ketika anda klik komponen pada viewer maka propertiesnya akan terlihat pada panel ini
  1. Blok Editor – Blocks Editor berjalan diluar browser, dimana digunakan untuk membuat dan mengatur behaviour dari komponen yang kita pilih pada komponen desainer.
Gb. Blocks Editor
  1. Emulator , digunakan untuk menjalankan dan mengetest aplikasi yang kita bangun. Ini sangat bermanfaat apabila kita belum menggunakan handset langsung, karena Emulator Android ini telah terintegrasi dengan baik.
Gb. Emulator
Ketiga Lingkungan kerja diatas, akan bisa tampil secara bersamaan dan secara bergantian juga berpindah kita akan menggunakannya dalam membuat aplikasi android dengan App Android.


membuat contoh aplikasi sederhana dengan App Inventor

sebelum memulai membuat aplikasi, ada prerequisite program yang dibutuhkan untuk menjalankan App Inventor ini untuk membuka block editornya. block editor ini adalah serangkaian alur perintah pemrograman pada App Inventor, jadi yang biasanya kita membuat program dengan coding, kali ini kita membuat program berdasarkan alur perintah (block editor ini bentuknya seperti puzzle loh). bisa di-download di http://appinventor.mit.edu/explore/install-app-inventor-software.html sesuaikan dengan operating system kalian, download, install ikuti petunjuknya. dan JAVA JDK bisa di-download di sini http://www.oracle.com/technetwork/java/javase/downloads/index.html
setelah selesai meng-install program tersebut, hal pertama yang selanjutnya dilakukan adalah membuka halaman App Inventor http://appinventor.mit.edu/ pilih invent untuk  langsung membuat aplikasi android (untuk mengaksesnya kita harus memiliki akun google). ikuti petunjuknya sampai nanti kita ketemu editor App Inventor.
Editor pada AppInventor
Editor pada AppInventor
saya upload beberapa gambar sebagian untuk sebagai display awalnya atau yang biasa kita sebut welcome screen atau splash screen. lalu sebagian lagi untuk gambar katalognya.
madia
lalu buat beberapa screen baru (klik add screen) sebagai halaman baru untuk memunculkan katalognya (di pemrograman desktop biasa kita sebut form). saya menamakannya sesuai dengan nama negara-negaranya. disebelah kanan screen terdapat properties untuk mengatur tampilan dari screen tersebut.
addScreen
setelah itu drag drop satu button dan dua label pada pallete di group basic ke viewer di screen1, lalu pada button edit properties dengan memasukan gambar logo pada properties image, hapus text button-nya. pada label, sesuaikan tulisannya dengan yang kita inginkan. sehingga jadi seperti ini
splashScreenJadi
pada screen lainnya (sebagai contoh screen italy) kita bisa memasukan webviewer dari pallete agar konten dari screen tersebut dapat mengambil konten dari internet (kontennya sendiri saya masukan dari wikipedia). klik component-nya lalu masukan url sumber konten yang akan ditampilkan tersebut di properties. jangan lupa untuk memberi title pada properties screen, beri nama yang sesuai.
screenItaly
lakukan hal yang sama pada screen negara yang lainnya. kecuali pada screen MainMenu terdapat perbedaan.
pada screen MainMenu, gunakan screenArrangement sesuaikan dengan kebutuhan lalu masukan beberapa button pada screenArrangement tersebut. ubah kembali button-button tersebut seperti pada screen1 (masukan image pada tiap button, lalu hapus textnya).
screenMainMenu
lalu hal berikutnya yang harus dilakukan adalah memberi alur perintah di block editor. buka block editor pada kanan atas App Inventor. nanti akan ada aplikasi yang langsung di-download dan di-running  oleh java. block editor ini adalah program terpisah tapi terintegrasi dengan App Inventor. buka screen1 pada App Inventor di browser, maka block editor akan membuka block editor untuk screen1.
pada block editor screen1, buka tab My Block lalu nanti akan terbuka component apasaja yang ada pada screen1 yang kita buat tadi. pilih button lalu button.click (ini adalah event ketika button tersebut di klik oleh user), drag drop pada editornya. lalu pada tab built-in group control cari “call open another screen”. drag drop lalu tempelkan pada event button.click (seperti puzzle). masih pada tab built-in, pada group text cari text “text” lalu drag drop pada “call open another screen” lalu pada text-nya isikan nama screen yang akan kita buka apabila user klik button tersebut (disini saya MainMenu). sehingga bila user klik button tersebut, maka keluar screen MainMenu. sehingga puzzle yang tadi kita buat menjadi seperti ini
blockEditorSplashScreen
apabila kita ingin mencoba hasil dari block editor, klik new emulator, tunggu sampai emulator android keluar, lalu connect to device dan pilih device emulator yang sedang jalan. tetapi kita tidak bisa mencoba keseluruhan eventnya seperti pindah screen, tapi hal tersebut bisa kita lakukan dengan membuat package dari aplikasi yang kita buat lalu menjalankannya pada emulator dari AVD manager.
pada App Inventor di browser, buka screen MainMenu, sehingga block editor berganti jadi block editor MainMenu. lakukan alur perintah ganti screen seperti pada screen1. lakukan untuk semua screen yang tersisa sebagai katalog.
blockEditorMainMenu
jadi, alur program yang kita buat adalah Splash screen (screen1) > screen main menu (pilih salah satu keajaiban dunia) > screen katalog yang menampilkan konten dari webviewer wikipedia.
selesai membuat aplikasinya, kita harus mencobanya. kembali pada App Inventor di browser, pada kanan atas terdapat “package for phone”, klik lalu pilih “download to this computer” untuk kita mencobanya pada emulator android AVD manager. setelah selesai download, install hasilnya pada emulator (bagi yang belum tahu, cara install-nya bisa dilihat disini). lalu jalankan aplikasinya pada emulator android AVD manager.
setelah dijalankan, hasilnya sebagai berikut.
hasilSplashScreen
hasilMainMenu
katalog

 source : http://mafiasunda.wordpress.com/2013/04/26/membuat-contoh-aplikasi-sederhana-dengan-app-inventor/

EMULATOR

Emulator atau lebih tepatnya piranti lunak emulator adalah sebuah teknologi yang memungkinkan suatu program atau piranti lunak yang dibuat dan dijalankan untuk lingkungan sistem atau platform tertentu, dapat dijalankan pada lingkungan sistem atau platform lainnya yang benar-benar berbeda.
Setidaknya ada beberapa jenis emulator ada, sebut saja jenis emulator sistem operasi, konsol game, telepon seluler, program aplikasi, dan kartu grafis.

1.      Emulator sistem operasi
Emulator jenis ini dapat menjalankan sebuah sistem operasi di atas sistem operasi lainnya atau istilahnya Guest OS dan Host OS. Contoh untuk emulator jenis ini yaitu Sun Virtualbox, VMware, Xen, Qemu, dan lain-lain.
Gambar 1. Logo Sun VirtualBox.
Gambar 2. Logo VMware.

2.      Emulator konsol game
Emulator jenis ini dapat memainkan game yang khusus dibuat dan dijalankan untuk konsol game tertentu pada komputer PC. Jenis-jenis dari emulator ini mengikuti jenis-jenis konsol game yang ditirunya atau dengan kata lain jenis-jenis emulator ini sangat spesifik. Contoh emulator konsol game ini yaitu ZSNES untuk menjalankan game Super Nintendo Entertainment System, PSX-Fin untuk menjalankan game Sony Playstation One, dan lain-lain.
Gambar 3. Tampilan ZSNES.
Gambar 4. Tampilan PSX-Fin.

3.      Emulator telepon seluler
Emulator jenis ini biasanya digunakan pada pembuatan aplikasi ponsel untuk melaku-kan debugging. Layaknya telepon seluler yang sesungguhnya, emulator ini memiliki jenis dari merk yang akan dijadikan target platfom untuk aplikasi ponsel tersebut, misalnya Nokia, Sony Ericsson, dan lain-lain. Tentunya, selain dari emulator bawaan dari tool pembuat aplikasi ponsel tersebut. Ada banyak tool yang dapat digunakan untuk pembuatan aplikasi ponsel, yaitu Sun Java Micro Edition (dahulu dikenal dengan Sun Java Wireless Toolkit) untuk ponsel berbasis Java, Qt untuk ponsel Nokia, dan lain-lain.
Gambar 5. Logo J2ME.

4.      Emulator program aplikasi
Emulator jenis ini dapat menjalankan program aplikasi untuk sistem operasi tertentu pada sistem operasi lainnya. Misalnya, saat menjalankan program aplikasi yang awalnya ditujukan khusus untuk sistem operasi Windows pada sistem operasi GNU/Linux. Contoh yang terkenal untuk emulator jenis ini yaitu Wine, CrossOver, dan Cedega.
Gambar 6. Logo Wine
Gambar 7. Logo CrossOver
Gambar 8. Logo Cedega

5.      Emulator kartu grafis
Emulator jenis ini dapat mengemulasikan kartu grafis pada komputer PC. Aplikasi ini sangat berguna untuk memainkan game yang level grafisnya menengah. Contoh untuk emulator jenis ini yaitu 3D Analyzer.
Gambar 9. Tampilan aplikasi 3D Analyzer.
Selain dari kelima jenis emulator di atas, tidak menutup kemungkinan masih banyak jenis-jenis emulator yang beredar di dunia.
Emulator-emulator tersebut tidak diciptakan begitu saja tetapi dikarenakan bebagai alasan. Alasan-alasan tersebut antara lain :
  1. Para gamer ingin bernostalgia dalam menjalankan game-game jadul dimana konsol atau sistem operasinya tidak diproduksi lagi saat ini.
  2. Menjalankan piranti lunak yang dibuat hanya untuk platform-platform tertentu.
  3. Memeriksa program-program yang dibuat oleh platform berbeda untuk dijalankan pada platform yang lain. 

Legalitas Penggunaan Emulator

Sekarang, apakah emulation itu legal dan tidak melanggar hukum? Sejauh mata memandang sebenarnya emulator itu sendiri tidak melanggar hukum sejauh emulator tersebut tidak mengandung materi yang di-copyright seperti misalnya BIOS image sistem tertentu. Lain halnya dengan ROM. Pada umumnya semua ROM di-copyright tetapi untuk game klasik kadang-kadang produsen game tersebut bahkan sudah tidak aktif lagi alias sudah tutup. Dengan demikian, ROM tersbut dianggap legal. ROM juga bisa dikatakan legal apabila kita memang memiliki game aslinya



Sumber : http://crystalforest.wordpress.com/2010/06/10/emulator-salah-satu-teknologi-canggih-komputer-abad-ini/

APA ITU J2ME ?

Teknologi Java merupakan sebuah teknologi yang berkembang sangat pesat akhir-akhir ini. Bahkan belakangan ini dikabarkan berusaha mengalahkan Microsoft yang terkenal sebagai kampiun dari produsen operating system dimuka bumi ini. Teknologi Java yang pada awalnya dikenal untuk aplikasi pada desktop (J2SE) ataupun pada application server (J2EE), kini hadir dengan teknologi terbarunya, J2ME™ Platform, untuk pembangunan aplikasi pada mobile device seperti mobile phone dan PDA. Selain J2ME™ Platform yang termasuk baru, terdapat pula satu buah platform teknologi Java yang termasuk baru pula yaitu Java Card. Java Card merupakan seperangkat kakas untuk membangun aplikasi pada sebuah card electronic seperti SIM Card pada ponsel kita. SIM Card yang dipergunakan oleh Mobile Banking BCA (layanan operator selular Excelcomindo) menjadi salah satu contoh dari teknologi Java Card.
Apa Itu J2ME? - Java 2 Micro Edition. Library atau tool yang digunakan untuk membuat apli kasi mobile, seperti pada PDA danponsel. J2ME adalah bagian dari J2SE yang ditujukan untuk implementasi pada embedded system, dan handled yang tidak mampu mendukung secara penuh implementasi menggunakan
J2SE. Embedded system ini adalah produk-produk dengan komputer kecil di dalam_nya, dan mempunyai
manfaat yang spesifik, dan mempunyai keterbatasan memory dan processor, misalnya televisi, radio, dan PDA.
The Network is the Computer
Computing atau komputasi ada dimana-mana! Kita masih dapat menemukan one-computer-to-many-people (mainframes) dan one-person-to-one-computer (PCs) di berbagai institusi atau organisasi diberbagai belahan dunia. Belakangan terdapat aplikasi yang sangat menarik yaitu mobile application yang dapat hadir dimanapun kita berada, ketika belanja, ketika menyetir sekalipun, bahkan ketika duduk disudut dapur anda, aplikasi ini dapat hadir dan siap membantu anda seolah dunia telah berada dalam genggaman tangan anda.
Apakah devices yang menarik bagi para programmers dan engineers saat ini? Banyak orang berkata bahwa devices yang paling diminati adalah perpaduan antara computing + networking. Sebuah mobile phone’s memiliki kapabilitas wireless networking sekaligus kapabilitas computing (walau masih terbatas). Bila anda selama ini hanya dapat browsing dihadapan PC desktop yang bersifat wireline, maka saat ini melalui mobile devices anda dapat melakukan browsing dengan kemampuan yang tidak mengecewakan dibandingkan PC desktop, anywhere!
Sun Microsystem telah melansir bahwa kedepan teknologi yang memadukan antara networking dan computing akan memberikan potensi yang besar bagi perkembangan teknologi di dunia ini. Perkembangan selanjutnya adalah XML yang telah menjadi standar bagi portable application pada lingkungan Java, dan IP sebagai standar bagi interoperabilitas & skalabilitas networking, maka Sun seolah mengeluarkan mantra “The Network is the Computer”.
Open Processing: Java™ 2 Platform, Micro Edition (J2ME™)
Open Data: XHTML and related XML Markups
Open Protocol: IP/TCP/HTTP

Java™ + XML + Protocols
Teknologi Java, XML, dan IP telah membuat Java ada dimana-mana, multi device computing. Bahasa Java telah memberikan cara yang konsisten bagi programmer agar dapat menulis kode yang dapat dieksekusi pada berbagai devices. Untuk client-side programming, Visual Basic masih mendominasi pasar dunia, sedangkan untuk pasar application server hampir seluruh pasar telah diambil oleh Java, dan kinipun teknologi Java telah diadopsi oleh berbagai vendor mobile devices seperti ponsel maupun PDA. Saat tulisan ini dibuat harga sebuah HP Siemens M50 hanyalah seharga 1 juta rupiah, anda telah mendapatkan HP yang Java enabled dan siap untuk menemani anda untuk “bercanda” dgn teknologi J2ME.

J2ME and The Java 2 Platform
java_platform
Anda jangan berharap dapat memprogram dengan platform J2SE dan dapat me-load-nya pada mobile devices, tentu saja berbeda terutama pada hal prosesor computing dan memory-nya. Jika pada J2SE anda menggunakan interpreter JVM, pada platform J2ME anda mempergunakan Kilo Virtual Machine (KVM) yang “ditanam” dalam handheld devices. Sebagai informasi bahwa J2EE merupakan superset dari J2SE, sebaliknya J2SE merupakan superset bagi J2ME. Apa artinya? API yang ada pada J2ME sebagian mengadopsi yang ada pada API J2SE, selain juga mengimplementasikan API spesifik untuk teknologi J2ME itu (javax.microedition.*).

What are Configurations and Profiles?
Java_Configuration
Configuration mendefinisikan minimum Java Libraries dan kapabilitas yang dipunyai oleh para developer J2ME. Artinya antara mobile device yang Java enabled maka akan ditemui configuration yang sama. Bila dianalogikan dengan sekelompok mobil maka sebuah mobil dengan mobil lainnya memiliki kesamaan, misalnya mempunyai roda, kaca spion, spedo meter, dll. Roda dan kaca spion itulah yang disebut sebagai configuration. Jadi configuration hanyalah mengatur hal-hal yang berkaitan dengan “kesamaan” bukan mengatur hal-hal yang “membedakan”, sehingga configuration memastikan portabilitas antar devices.

Configuration ini ditentukan perkembangannya oleh JCP (Java Community Process), inilah badan non-profit yang berkutat dengan perkembangan teknologi Java. Saat ini telah didefinisikan dua buah configuration yaitu CDC & CLDC dengan perbandingannya sebagai berikut :
CDC_tabel
Profile merupakan kebalikan dari configuration yaitu mengatur hal-hal yang spesifik untuk sebuah device atau tipe market. Kembali pada analogi mobil diatas, sebuah mobil BMW tentu memiliki ciri spesifik yang tidak dimiliki oleh mobil Mercedes, dan sebaliknya. Misalkan pada profile ini diatur tentang persistent storage dan UI. Saat ini JCP telah mendefinisikan lima buah profile, salah satunya yaitu MIDP yaitu profile yang digunakan pada banyak mobile devices seperti Siemens M50 dan SL45i.

Web Content for Mobile Devices
Terdapat tiga opsi untuk me-retrieve static (mark up) content untuk sebuah mobile phone saat ini :
  1. cHTML (compact HTML) yaitu merupakan subset dari HTML yang digunakan oleh NTT Docomo sebuah operator selular maha sukses di Jepang hingga teknologinya (I-mode) diekspor keberbagai negara.
  2. WML (wireless markup language) yaitu sebuah markup language untuk lingkungan wireless yang didefinisikan oleh WAP Forum. WML digunakan sebagai standar pada mark-up language diberbagai negara, meskipun untuk negara-negara Amerika Utara masih didominasi oleh HDML (handheld device markup language). 
  3. HTML. Jadi terdapat pula mobile devices yang dapat menginterpretasi HTML seperti Palm OS yang mempunyai HTML browser.

Bagaimana sebuah content dapat di-retrieve oleh mobile device?
Retrieve_data
Pada bagian atas kiri terlihat content berisi static file atau bisa juga berupa dynamic content atau juga Java Application yang di-generated oleh server. Lebih luas lagi, informasi dapat diekstrak dari basis data dan dimodifikasi menggunakan servlets, EJB, atau teknologi server side lainnya. Selanjutnya kita lihat pada bagian tengah, Java Application ditampilkan oleh Web Server dan seteruskan ditransmisikan melalui jaringan wireless menuju mobile devices. Web server atau WAP gateway system akan mendistribusikan content pada mobile phone atau device lainnya.

Akhirnya content diterima oleh client device dengan melakukan proses transcoding, baik itu mengambil data dari basis data, atau XML, atau HTML, dan selanjutnya diterjemahkan kedalam format WML atau cHTML bergantung pada format yang kita punyai.

Bagaimana Java Application dapat ditransmisikan melalui jaringan wireless dan selanjutnya diterima oleh client device? Bagaimana pula operator atau content provider mengatur masalah billing untuk Java Application atau service yang telah diberikan? Beberapa company telah bekerja untuk mendefinisikan masalah ini dan yang pertama melakukan adalah LG Telecom di Korea pada tahun 2000, disusu NTT DoCoMo di Jepang dan Nextel di USA pada akhir 2001. Setiap operator atau network memiliki ciri spesifik walaupun datang dengan teknologi yang sama yaitu 3G wireless technology yang dimulai tahun 2001-2002. Untuk menjembatani perbedaan tersebut maka sebuah MIDP Groups membuat sebuah ketentuan/ standar OTA (over the air) yaitu JSR118, walaupun ketentuan OTA ini masih terus disempurnakan.

Java Application Loading Process
Loading_process

Ketika sebuah application siap untuk didistribusikan maka dibutuhkan suatu mekanisme agar secara fisik aplikasi itu dapat di-load kedalam phone. AMS (application managemen software) adalah kakas pada ponsel yang mengatur mekanisme ini. Jadi AMS ini dapat mengetahui bagaimana cara me-load kode MIDlet melalui wireless connection. Berikut adalah proses loading sebuah Java Application :

Pada skenario disamping, seorang consumer akan mendatangi WAP page. Pada halaman tersebut terdapat aplikasi anda yang dapat di-download melalui mobile set. Pada saat sebuah aplikasi dipilih maka file jad (java descriptor) akan di-download ke mobile set anda. File jad ini biasanya hanya sekitar ratusan bytes sehingga sangat cepat dan murah untuk di-download.
File jad ini akan memberitahukan pada consumer tentang hal-hal basic tentang aplikasi tersebut (seperti versi maupun size dari aplikasi tersebut), sehingga manakala consumer telah memiliki versi yang sama ataupun size-nya terlalu besar untuk sisa space yang anda punyai maka akan memberikan alert tertentu.
Saat ini telah tersedia beberapa microbrowser yang ditulis dengan menggunakan bahasa Java. Tentu saja ini menguntungkan karena anda dapat melakukan proses updating secara OTA, sedangkan untuk microbrowser yang ditulis dengan bahasa selain Java tidak memiliki kemampuan untuk di-updated, dengan kata lain jika anda menginginkan microbowser versi terbaru anda harus membeli HP baru.

Openwave (merger dari www.software.com dan www.phone.com) yang merupakan founder dengan WAP Forum dan merupakan supporter utama dunia WAP telah mengumumkan major partnership dengan Sun Microsystem untuk mengintegrasikan J2ME dan WAP untuk release selanjutnya.

What’s Next?
J2ME CLDC dan KVM telah digunakan oleh banyak platform dan devices, termasuk oleh Motorola phones dan two-way pagers, Research in Motion (RIM) wireless handhelds, dan Palm PDA. Jutaan J2ME CLDS digunakan sehari-hari oleh berbagai mobile phone di Jepang dan Korea. Banyak pula consumer yang menggunakan J2ME dengan Motorola handsets pada jaringan Nextel di USA, dan dalam tahap test dan commercial deployment di Vodaphone Airtouch, Sprint PCS, Telefonica, dan operator lainnya di USA. Symbian terus men-support Java Technology untuk di-release-nya Nokia Communicator 9210 yang berbasiskan Java Technology pada akhir 2001.
Saat ini terdapat berbagai J2ME developmet tool yang free. Sun menyediakan J2ME Wireless Toolkit (WTK) yang berisi full J2ME CLDC dan MIDP implementation. Tool kit ini hanya dapat bertindak sebagai emulator saja (bukan IDE) dan dilengkapi dengan beberapa generic phone. WTK ini dapat dijalankan secara stand alone maupun terintegrasi dengan IDE buatan Sun Microsystem pula, Forte Community Edition (CE). Selain Forte CE terdapat pula Forte Mobile Edition (ME) yang berdiri sendiri sebagai IDE untuk J2ME application. Borland sendiri mengeluarkan pula IDE-nya untuk pembuatan J2ME application yaitu Borland Mobile Set. Baik WTK, Forte CE/ ME, Borland Mobile Set adalah kakas yang free untuk di download pada masing-masing situs pengembangnya.

It is a Great Time to Become a J2ME Wireless Developer! Get Started Today!
source
Java examplehttp://www.agussuwasono.com/artikel/iptek/339-membangun-wireless-application-menggunakan-teknologi-j2me.html

APA ITU WAP ?

Definisi: WAP  
Ada beberapa definisi singkatan WAP antara lain :
(1) (Wireless Access Point)
(2) (Wired Access Point)
(3) (Wireless Application Protocol


Definisi Wireless Acces Point

Adalah Sebuah base station dalam LAN nirkabel. Meskipun ada teknologi nirkabel lainnya yang menggunakan jalur akses, istilah umumnya mengacu ke jaringan Wi-Fi. Titik akses adalah perangkat yang berdiri sendiri yang plug ke Ethernet switch atau hub, namun fungsi akses point juga dibangun ke router (lihat router nirkabel).

Jika lebih dari satu jalur akses digunakan, seperti sistem telepon selular, pengguna dapat menjelajah dengan perangkat mobile mereka dan diserahkan dari satu sel ke sel lainnya. Lihat jalur akses virtual dan LAN nirkabel.

 Access Points mirip dengan menara ponsel, tetapi mengirimkan jarak pendek. Cakupan mereka berkisar dari sesedikit 50 meter dengan diameter untuk sejauh 1.000 kaki dengan amplifikasi. Mobile pengguna secara otomatis diserahkan dari satu jalur akses ke mereka bercabang

contoh penggunaan Wireles Acces Point



















 Access Point 802.11 Pertama
  InTalk WR1200 adalah device acces point pertama yg sesuai standar IEEE 802.11.di perkenalkan tahun 1998, alat tersebut bisa mencapai transfer rate maxsimum 2 Mbps.  
Add caption







  



WIRED ACCES POINT
Sebuah base station yang menghubungkan sistem nirkabel ke sistem berbasis kabel. Singkatan "WAP" kadang-kadang digunakan, tetapi WAP lebih banyak digunakan untuk berarti Wireless Application Protocol

 (Wireless Application Protocol
 Adalah  Sebuah standar untuk menyediakan ponsel, pager dan handheld lainnya dengan akses yang aman ke e-mail dan halaman web berbasis teks. Diperkenalkan pada tahun 1997 oleh Phone.com, Ericsson, Motorola dan Nokia, WAP menyediakan lingkungan untuk aplikasi nirkabel yang mencakup versi nirkabel dari TCP / IP dan kerangka kerja untuk integrasi telepon seperti kontrol panggilan dan akses buku telepon. Mendukung keypad dan pengenalan suara, WAP independen dari antarmuka udara dan berjalan di atas semua jaringan nirkabel utama. Hal ini juga perangkat independen dan dapat digunakan dalam perangkat mobile.

WML, WMLScript dan XHTML
WAP memperkenalkan Wireless Markup Language (WML), versi streamline dari HTML, dan WMLScript, bentuk yang kompak dari JavaScript yang berjalan di memori terbatas. WML kemudian berkembang menjadi versi mobile XHTML, yang, bersama dengan semua protokol WAP, diatur oleh Open Mobile Alliance, penerus Forum WAP (lihat OMA).

WAP dan SMS = MMS
Multimedia sistem pesan (MMS) menggunakan kedua pesan teks SMS dan protokol WAP untuk mengirimkan grafis, audio dan video ke ponsel (lihat MMS). Lihat WTLS, XHTML, HDML, Openwave dan i-Mode.


Sebuah Gateway WAP
Diagram ini menggambarkan Openwave ini Mobile Access Gateway yang mengkode dan menerjemahkan halaman WAP antara microbrowser di smartphone dan server Web.



 Ada beberapa versi WAP antara lain WAP 1.2.1 dan 2.0. WAP 1.2.1 hanya dapat menampilkan laman sederhana saja dibandingkan dengan WAP 2.0 yang mendukung bahasa xml dan gambar. WAP di buat pertama kali sebagai protokol komunikasi bergerak yang tidak bergantung pada sistem tertentu. WAP dirancang sebagai bagian dari sistem di masa depan sama halnya dengan Bluetooth dan GPRS. WAP merupakan protokol komunikasi bergerak yang terdiri dari beberapa layer dan dapat dijalankan pada sistem jaringan yang berbeda. Teknologi ini merupakan hasil kerjasama antar industri untuk membuat sebuah standar yang terbuka dan berbasis pada standar Internet, serta beberapa protokol yang sudah dioptimasi untuk lingkungan nirkabel. Teknologi ini bekerja dalam modus teks dengan kecepatan sekitar 1,6 kbps.


Keterbatasan Perangkat WAP

  1. Kemampuan Central Processing Unit (CPU) yang lebih rendah dibandingkan CPU yang digunakan pada perangkat wired seperti komputer.
  2. Keterbatasan ukuran memori
  3. Penghematan penggunaan daya (power) yang biasanya menggunakan batere
  4. Ukuran display yang lebih kecil dan terbatas
  5. Input device yang berbeda dengan device biasa
Disain dari informasi yang dikirimkan melalui WAP biasanya menggunakan format WML (Wireless Markup Language). WML ini mirip HTML, hanya lebih spesifik untuk perangkat nirkabel yang memiliki keterbatasan seperti di atas.

Contoh Penggunaan WAP

  • Informasi jadwal keberangkatan penerbangan
  • Transaksi pembelian tiket
  • Pendaftaran keberangkatan pesawat
  • Informasi lalu lintas
  • Daftar informasi kondisi cuaca
  • Informasi nilai stok
  • Mencari informasi nomor telepon atau alamat
  • Informasi artis atau selebriti
mencari informasi sari dunia maya
  • Penge-hackan
CARA KERJA WAP
Cara Kerja WAP
Saat sebuah handheld mobile device tersambungkan ke jaringan wireless dan meminta akses sebuah site web yang mendukung WAP, handheld mobile device anda akan mengirimkan permintaan tersebut via gelombang radio ke sel terdekat, dimana langsung dirutekan ke internet melalui sebuah server gateway. Server gateway tersebut akan menerjemahkan permintaan ke format standar HTTP dan meneruskannya ke site web. Bila site tersebut meresponsnya, ia akan mengirimkan dokumen HTML ke server gateway, kemudian dikonversi menjadi WML dan merutekannya ke antena terdekat. Antena tersebut akan mengirimkan data via gelombang ke piranti WAP anda dan akhirnya microbrowser –aplikasi kecil yang dibuat didalam wireless device sebagai navigator yang menyediakan interface antara user dan wireless internet- menampilkan halaman tersebut.

*Cara kerja wap
Proses yang terjadi antara gateway dan client WAP tergantung pada fitur dari beberapa bagian WAP protocol stack.



*WAP protocol stack
  • WAE – The Wireless Application Environment, merupakan stack developer dimana WML dan WML script termasuk didalamnya.
  • WSP – The Wireless Session Protocol, menentukan apakah sesi antara handheld mobile device dan jaringan adalah connection- oriented atau connectionless. Dengan kata lain WSP menentukan apakah handheld mobile device perlu berhubungan bolak balik ke jaringan selama sesi berlangsung. Pada sesi connection-oriented, transfer data berlangsung dua arah antara handheld mobile device dan jaringan, WSP kemudian mengirimkan paket ke layer WTP. Sesi connectionless umum digunakan ketika transfer data berlangsung satu arah dari jaringan ke handheld mobile device. Pada sesi connectionless WSP mengarahkan paket ke WDP.
  • WTP – The Wireless Transaction Protocol berperan sebagai pengatur arus, menjaga arus data berjalan dengan baik dan lancar. Layer WSP dan WTP berhubungan dengan The WSP and WTP layers serupa dengan Hypertext Transfer Protocol (HTTP) dalam protocol suite TCP/IP
  • WTLS – Wireless Transport Layer Security menyediakan fitur keamanan yang serupa dengan Transport Layer Security (TLS) di TCP/IP. WTLS memeriksa integritas data, melakukan enkripsi dan melakukan otentikasi antara client dan server.
  • WDP – The Wireless Datagram Protocol bekerja bersama dengan Network Carrier layer untuk memudahkan pengadaptasian WAP ke berbagai bearer
  • Network carriers – disebut juga bearers, adalah teknologi-teknologi yang digunakan oleh provider wireless.
 source :http://id.wikipedia.org/wiki/Wireless_Application_Protocol