Kamis, 27 Maret 2014

ADT Dan App Inventor Android


 
1.  Android Development Tools (ADT)
              Android Development Tools (ADT) adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi project android, membuat GUI aplikasi, dan menambakan komponen-kompenen yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui Eclipse. Dengan ADT juga kita dapat melakukan pembuatan package android (.apk) yang digunakan untuk distribusi aplikasi android yang kita rancang.

Mengembangkan aplikasi android dengan menggunakan ADT di eclipse sangat dianjurkan dan sangat mudah untuk memulai mengembangkan aplikasi android. Berikut adalah versi ADT untuk eclipse yang sudah dirilis :
ADT 12.0.0 (Juli 2011)

ADT 11.0.0 (June 2011)

ADT 10.0.1 (March 2011)

ADT 10.0.0 (February 2011)

ADT 9.0.0 (January 2011)

ADT 8.0.1 (Desember 2010)

ADT 8.0.0 (Desember 2010)

ADT 0.9.9 (September 2010)

ADT 0.9.8 (September 2010)

ADT 0.9.7 (May 2010)

ADT 0.9.6 (March 2010)

ADT 0.9.5 (Desember 2009)

ADT 0.9.4 (Oktober 2009)
Semakin tinggi platform android yang kita gunakan, dianjurkan menggunakan ADT yang lebih terbaru, karena biasanya munculnya platform baru diikuti oleh munculnya versi ADT yang terbaru. Untuk melakukan instalasi ADT di-elipse dapat dilakukan secara on-line maupun offline.


2. App Inventor 
          App Inventor adalah sebuah tool untuk membuat aplikasi android, yang menyenangkan dari tool ini adalah karena berbasis visual block programming, jadi kita bisa membuat aplikasi tanpa kode satupun. Mengapa disebut visual block programming?, karena kita akan melihat, menggunakan, menyusun dan drag-drops “blok” yang merupakan simbol-simbol perintah dan fungsi –event handler tertentu dalam membuat aplikasi, dan secara sederhana kita bisa menyebutnya tanpa menuliskan kode program –coding less. Wow kedengarannya menyenangkan bukan?.
Misalnya seperti gambar dibawah ini, sebuah block program pada App Inventor untuk sebuah daftar warna, tanpa kode bukan?












































Betul skali, kita tidak harus memiliki basic programmer, mengerti kode-kode atau berkecimpung dalam dunia teknologi informasi untuk membuat aplikasi dengan App Inventor. Bahkan App Inventor tidak hanya untuk membuat aplikasi, karena bisa digunakan untuk mengasah logika anda, sperti halnya menyusun sebuah puzzle. Untuk programmer tentu ada opsi-opsi advance untuk membuatnya sesuai dengan level kita.



Framework visual programming ini terkait dengan bahasa pemrograman Scratch dari MIT, yang secara spesifik merupakan implementasi dari Open Block yang didistribusikan oleh MIT Scheller Teacher Education Program yg diambil dari riset yang dilakukan oleh Ricarose Roque. App Inventor menggunakan Kawa Language Framework dan Kawa’s dialect – yg di develop oleh Per Bothner dan di distribusikan sebagai bagian dari GNU Operating System oleh Free Software Foundation sebagai Compiler yang mentraslate visual block programming untuk diimplementasikan pada platform Android. Tentu disini anda tinggal menikmati kemudahan yang ada. alu, apa yg bisa kita lakukan dengan App Inventor?, yang bisa kita lakukan dengan App Inventor adalah :

  1. Just for fun

Katakanlah anda memiliki Handset Android, atau baru memasang virtual handset Android pada komputer anda, atau bahkan tidak sama sekali, App Inventor akan bisa menjadi sesuatu yang menyenangkan seperti halnya anda menyukai mengedit gambar, bermain puzzle, mengasah otak anda seperti mengisi TTS, atau belajar sebagai basis menguatkan kemampuan logika anda, semua terasa menyenangkan.

  1. Learning tool

Entah anda seorang pelajar, mahasiswa, guru, dosen atau hobbist anda akan bisa menjadikan App Inventor sebagai tool belajar anda. Jika anda seorang guru atau dosen anda akan membuat App Inventor menjadi alat pengajar yang hebat, karena visualisasi akan mempermudah siswa memahami dan menguasai apa yg anda ajarkan.

  1. Membuat aplikasi

Mulai dari membuat prototype, aplikasi untuk kebutuhan pribadi & organisasi, atau aplikasi serius yang bisa anda jual




Apabila anda telah mencoba menggunakan App Inventor, anda akan merasakan betapa mudahnya, tentu disamping karena berbasis visual drag drops ini juga karena anda :

  1. >Tidak perlu menghafal dan mengingat instruksi atau kode-kode program
  2. >Komponen & Blok event tersedia dengan lengkap anda tinggal menggunakannya. Layaknya sebuah objek anda tinggal merangkainya dengan Komponen & Blok yang sesuai fungsinya, tinggal meletakkanya seperti puzzle tinggal merubah propertinya, misal memberikan nilai angka untuk mengeset timer dll.
  3. >Event handler akan memudahkan anda dalam menangani setiap “kejadian” atau event yang anda ingin handle. Misal anda membuat sebuah aplikasi untuk menangani sms, dalam App Inventor anda tinggal mengambil –drag drops blok yang menangani event sms.


Aplikasi yg bisa dibuat dengan App Inventor

Dari tadi kita membicarakan tentang mudahnya menggunakan App Inventor, anda tentu kemudian bertanya-tanya aplikasi apa yang bisa kita buat dengan App Inventor, apa “Cuma” main-main saja?, well jawabannya tergantung anda menginginkanya menjadi seperti apa.
Karena dengan App Inventor relatif kita bisa menggunakan imajinasi kita seluas-luasnya, seperti pepatah pada android “Dalam Android imajinasi adalah batasannya. Disini kita akan bisa membuat Games, Tool App misal barcode reader, aplikasi berbasis lokasi, untuk mengontrol LEGO Robot atau juga aplikasi untuk berkomunikasi dengan web.


App Inventor Saat ini bisa di akses di http://beta.appinventor.mit.edu/ versi beta dari MIT, bisa jadi nanti akan berubah so stay tune di blog ini :D ..... ,harus online ketika membuat aplikasi-nya, silahkan baca di posting selanjutnya 


Contoh aplikasi yg dibuat dgn App Inventor, Silahkan download di market : 
WhacKecoa & Song Of Android Indonesia





Selasa, 25 Maret 2014

PARADIGMA Program JAVA

Java merupakan Bahasa Pemrograman. Sebagai suatu Bahasa Pemrograman, Java memiliki sintak ( dalam bahasa manusia adalah kosa kata ) yang mirip dengan bahasa C. PARADIGMA pemrogrammannya adalah Object Oriented Programming ( OOP ) atau pemrogramman berorientasi objek. Penekanannya bukan pada alur ( struktur ) tapi pada objek, properti dan state - state yang dimiliki oleh objek tersebut. Di sini Java hadir untuk mengatasi kendala - kendala ( kompleksitas ) bahasa pendahulunya dan menghilangkan hambatan antar sistem operasi. Java memilik jargon yang sangat terkenal yaitu write once run anywhere ( WORA ).

Sehingga sebagian fitur dari Java yang penting diuraikan seperti berikut :


  • JVM adalah sebuah mesin imajiner ( maya ) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java dengan bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java.
  • Garbage Collection. Banyak bahasa pemrograman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun setelah meggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat mengginakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.
  • Code Security. Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment ( JRE ). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.
Java juga menyediakan beragam teknik pengamanan lain :
  • Bahasa dirancang untuk mempersuli eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi.
  • Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan.
Sebuah standar aplikasi java sudah dibundel dalam sebuah paket pada Java SDK. Terdapat beberapa platform SDK yang digunakan dalam pemrograman Java seperti :

  • J2EE merupakan teknologi program Java yang sudah diterapkan pada aplikasi computer server. Java EE biasanya sudah dibundel pada paket development tools maupun application server yang kita gunakan.
  • J2SE merupakan teknologi program Java yang pada umumnya digunakan untuk computer dekstop / PC.
  • J2ME merupakan teknologi program Java yang diterapkan pada aplikasi mobile seperti pada handphone dan PDA.
  • Java Card merupakan teknologi pemrograman Java yang diimplementasikan untuk kebutuhan desain peralatan elektronik yang memiliki sangat sedikit memori, misalnya smart card dan ATM.
  • JavaFX Script Technology merupakan teknologi java yang digunakan untuk aplikasi scripting untuk sangat produktif, yang memungkinkan pembuat content ( content developers ) untuk membuat media yang kaya dan content untuk deployment pada Java environment.

Kamis, 20 Maret 2014

komponen-komponen J2ME.



· Java Virtual Machine (JVM)

Komponen ini digunakan untuk menjalankan program-program Java pada Emullator atau handheld devices.

· Java API (Application Programming Interface)

Komponen ini merupakan kumpulan librari untuk menjalankan dan mengembangkan program java pada handheld devices.

· Tools merupakan Emmulator untuk mengembangkan aplikasi Java

Dalam J2ME dibagi menjadi 3 bagian paket(package), configuration dan profile. Paket merupakan program tambanhan yang harus disertakan pada wktu distribusi program aplikasi yang dibuat(Deployment). Configuration adalah spesifikasi yang secara detail menjelaskan tentang sebuah virtual machine dan kumpulan API-API dasar yang dapat digunakan dalam class-class tertentu dari sebuah peralatan. Dan merupakan bagian yang berisi JVM dan beberapa library kelas lainnya. Sebagai contoh, sebuah configuration mungkin saja di desain untuk peralatan yang memiliki memori kurang dari 512 KB dan memiliki koneksi jaringan yang terputus-putus. Ada dua configuration J2ME saat ini, yakni :

o CLDC (Connected Limited Device Configuration)

CDLC merupakan perangkat atau konfigurasi dasar dari J2ME. CDLC sebenarnya berupa library dan API(Application Programming Interface) yang diimplementasikan pada J2ME. Kategori ini umumnya digunakan untuk aplikasi-aplikasi kecil seperti pada handphone semacam Sony ericsson, Nokia, Samsung Java Phone, Motorola i85s, organizer/PDA (personal digital assistant) semacam PALM, PocketPC, pager, dan two way pagers. Umumnya perangkat-perangkat tersebut hanya memiliki memori berukuran 160-512 KiliBytes.

o CDC (Connected Device Configuration)

CDC termasuk spesifikasi dan konfigurasi J2ME. CDC merupakan perangkat atau konfigurasi superset dari CDLC. Kategori ini umumnya digunakan untuk aplikasi Java pada perangkat-perangkat handheld devices dengan ukuran memori paling tidak 2 Megabytes. Contohnya adalah Internet TV, Nokia Comminicator dan car television atau TV pada mobil.



CONTOHNYA :

1.      Display
Display merupakan obyek yang mereperesentasikan pengelola layar pada perangkat. Pada sebuah MIDlet hanya terdapat satu obyek display. Obyek display menyediakan metode untuk menggambar dan menampilkan elemen antarmuka grafis pada layar. Obyek display juga menyediakan metode untuk mengetahui property layar perangkat seperti apakah layar perangkat mendukung layar warna atau tidak.



2.      Screen

Screen adalah kelas di atas semua antarmuka pemakai level tinggi atau biasa disebut superclass. Sebagian besar komponen screen tidak mengizinkan penambahan komponen lain dan penghapusan pada komponen tersebut, komponen-komponen itu antara lain List, TextBox, dan Alert, misalnya jika sebuah TextBox telah diset sebagai displayable yang ditampilkan maka pengembang tidak dapat lagi menambahkan lain dengan level sejajar TextBox.



3.      Canvas

Canvas merupakan subkelas dari Displayable yang menggunakan antarmuka grafis level rendah. Semua elemen yang akan ditampilkan pada layar telepon selular harus digambar sendiri pada Canvas dengan menggunakan obyek Graphics.



4.      Graphics

Graphics adalah obyek yang digunakan untuk menggambarkan gambar, maupun string pada layar. Obyek Graphics tidak perlu dibentuk create karena obyek-obyek ini akan otomatis dibangkitkan saat obyek Canvas terbentuk.



5.      Font

Sebuah Font digunakan pada antarmuka pemakai level rendah. Font digunakan untuk mendefinisikan mode sebuah karakter atau string ke layar. Font ini hanya dapat digunakan pada antarmuka level rendah seperti pada Canvas.



6.      Command

Command merupakan obyek yang memungkinkan pemakai melakukan aksi. Obyek fungsi Command sama dengan tombol (button) pada aplikasi desktop pada komputer. Command membutuhkan antarmuka CommandListener untuk menangkap event dari Command, saat membuat sebuah aplikasi J2ME jangan lupa membuat sebuah Command untuk keluar dari aplikasi karena jika telepon selular tidak mendukung keluar aplikasi dengan sendirinya maka telepon selular harus dimatikan untuk keluar dari aplikasi J2ME.



7.      Ticker

Ticker dapat beroperasi dengan obyek subkelas dari screen. Ticker merupakan obyek berupa tulisan berjalan. Arah dan kecepatan dari ticker tidak dapat diatur secara manual, karena telah diatur oleh sistem dan ticker yang sedang berjalan tidak dapat dihentikan oleh aplikasi.



8.      Image

Sebuah Image menyimpan sebuah data grafis gambar dapat ditambahkan pada antarmuka pemakai level tinggi seperti form dengan menggunakan metode add ( ), sedangkan pada antarmuka level rendah seperti Canvas dengan metode drawImage( ).









Senin, 17 Maret 2014

Java Swing dan komponennya



Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality.



Komponen Swing

Package dari Swing menyediakan banyak kelas untuk membuat aplikasi GUI. Package tersebut dapat ditemukan di javax.swing. Komponen Swing ditulis menyeluruh menggunakan Java. Kesimpulannya, program GUI ditulis menggunakan banyak kelas dari package Swing yang mempunyai tampilan look and feel yang sama meski dijalankan pada beda paltform. Lebih dari itu, Swing menyediakan komponen yang lebih menarik seperti color chooser dan option pane.



Nama dari komponen GUI milik Swing hampir sama persis dengan komponen GUI milik AWT. Perbedaan jelas terdapat pada penamaan komponen. Pada dasarnya, nama komponen Swing sama dengan nama komponen AWT tetapi dengan tambahan huruf J pada prefixnya. Sebagai contoh, satu komponen dalam AWT adalah button class. Sedangkan pada Swing, nama komponen tersebut menjadi Jbutton class.



Dalam  ranah  antarmuka  pengguna,  komponen  merupakan  bagian fundamental  di  Java.  Pada  prinsipnya,  segala  sesuatu  yang  kita  lihat  di tampilan aplikasi Java adalah suatu komponen—misalnya window, menu, dan button.

Di  sisi  lain,  container  adalah  jenis  komponen  yang  “menampung”  dan mengelola  komponen-komponen  lainnya.  Idealnya,  suatu  komponen harus diletakkan di sebuah container agar ia dapat digunakan.


Secara umum ada lima bagian dari Swing yang akan sering kita gunakan. Komponen atau

bagian – bagian itu adalah:

  1. Top-level Container, merupakan container dasar di mana komponen lainnya diletakan. Contoh Top-level container ini adalah Frame, Dialog dan Applet yang diimplementasi dalam class JFrame, Jdialog, dan JApplet.
  2. Intermediate Container, merupakan komponen perantara di mana komponen lainnya akan diletakan. Salah satu contoh container ini adalah class JPanel.
  3. Atomic Component, merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan komponen jenis ini. Contohnya adalah JButton, JLabel, JTextField, dan JTextArea.
  4. Layout Manager, berfungsi untuk mengatur bagaimana posisi dari komponen – komponen yang diletakan pada container. Secara default terdapat 5 macam layout yaitu berupa class BorderLayout, BoxLayout, FlowLayout, GridBagLayout, dan GridLayout.
  5. Event Handling, untuk menangani event yang dilakukan oleh user misalnya menekan tombol, mengkilik mouse dan lain – lain.



Features pada Swing diantaranya:
1. Swing GUI Component
Swing Toolkit memiliki beragam komponen GUI, mulai dari komponen sederhana (button, check boxes) hingga komponent komplex seperti tabel dan text. Anda pun dapat membuat komponen anda sendiri.

2. Java 2D API
Dengan Java 2D API , kita dapat dengan mudah menambahkan images, drop shadow, dan lain lain kedalam aplikasi GUI kita.
3. Pluggable Look and Feel Support
Setiap program yang menggunakan Swing Component, dapat diubah tampilannya. Banyak sekali pilihan tampilan yang nantinya dapat kita gunakan dalam pembuatan GUI ini.
4. Data Transfer
Anda dapat menerapkan Data Transfer (Copy, Paste, Drag and Drop pada Swing)
5. Internationalization
Dengan adanya Internationalization, developer dapat membuat software sesuai dengan bahasa negaranya sendiri-sendiri, juga mensupport character dari berbagai negara seperti Japanese, Chinese, Korean.

6. Undo Framework API
Dengan Swing Undo Framework, maka developer dapat menggunakan undo dan redo seperti pada text component. Java Swing mensupport unlimited undo dan redo.
7. Flexible Deployment Support
Swing dapat dideploy ke dalam Applet yang dijalankan via browser. Dapat juga dideploy ke dalam standalone application dengan Java Web Start sebagai Standard Destop Application.



Berikut adalah daftar dari beberapa komponen swing :




Sumber :




Sabtu, 15 Maret 2014

J2ME ( Java 2 Micro Editon)



J2ME adalah lingkungan pengembangan yang dirancang untuk meletakan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat, maka belum tentu juga berfungsi baik pada perangkat yang lainnya.

J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil dibandingkan perangkat komputer desktop. J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA) dan sejenisnya.

J2ME adalah bagian dari J2SE,karena itu tidak semua librabry yang ada pada J2SE dapat digunakan pada J2ME.Tetapi J2ME mempunyai beberapa library khusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat seperti pada Gambar 2.2.





 J2ME merupakan sebuah versi yang direduksi dari Java API dan Java Virtual Machine (JVM) yang didesain untuk dapat dioperasikan dalam komputer dan mikrokomputer. J2ME diarahkan untuk diaplikasikan pada piranti komputasi kecil seperti handphone, PDA, smartphone, dll. Untuk mendukung berbagai macam piranti ini, J2ME memiliki konfigurasi dan profil yang mendefinisikan kelas Java API yang dapat digunakan oleh aplikasi. J2ME sendiri pada dasarnya terdiri dari tiga buah bagian, yaitu konfigurasi, profil dan paket-paket opsional.

Konfigurasi merupakan bagian yang berisi JVM dan beberapa library kelas lainnya. Hanya ada dua macam konfigurasi yang disediakan oleh Sun Microsystem, yaitu:

  • Connected Limited Device Configuration (CLDC), bersifat pribadi yaitu piranti yang kadang-kadang terhubung dengan jaringan. Konfigurasi ini banyak digunakan dalam aplikasi Java pada perangkat komunikasi mobile kita seperti handphone, PDA, dll.
  • Connected Device Configuration (CDC), bersifat terus-menerus yaitu piranti yang terus menerus terhubung dengan jaringan.

Profil merupakan bagian perluasan dari konfigurasi. Artinya, selain kumpulan kelas yang terdapat pada konfigurasi, terdapat juga kelas-kelas khusus yang didefinisikan di dalam profil. Dengan kata lain profil membantu menyediakan kelas-kelas yang tidak terdapat pada level konfigurasi. Salah satu profil yang sangat umum digunakan adalah profil MIDP (Mobile Information Device Profile) yang disediakan oleh Sun Microsystem.



J2ME sendiri adalah teknologi dari Java programming language yang di khususkan untuk perangkat mobile seperti Handphone, Pocket PC dan apa lagi yah. Pokoknya buat perangkat kecil yang sering dibawa kemana-mana itu lho. J2ME sebenarnya sama dengan pemrograman menggunakan java sendiri, hanya saja dalam J2ME ada beberapa fungsionalitas yang ditambah dan dikurangi dan di sesuaikan untuk pemrograman perangkat mobile.

Tentunya untuk bisa membuat game di HP kita harus sudah biasa dulu menggunakan pemrograman dengan java, disini saya tidak akan mengulas bahasa pemrograman java -mungkin lain kali dalam postingan yang berbeda- saya mengharapkan anda sudah memiliki pengetahuan java sebelumnya. Disini saya hanya akan memberikan pengetahuan mengenai alat yang digunakan dalam membuat program java di HP dan konsepnya.

Untuk alatnya saya menggunakan IDE(Integrated Development Environment) NetBeans versi 6 yang bisa di download gratis di sini, pilih NetBeans yang sudah termasuk Mobility Pack. Agar kita bisa langusng menulis kode program tanpa harus menginstal macem-macem lagi.

Setelah anda menginstall IDE NetBeans, segera jalankan NetBeans nya. Untuk membuat projek baru pilih File-New Project.

Pilih MIDP Application dan tekan Next.
Input Project Name yang sesuai dengan nama project anda dan hilangkan centang di Create Hello Midlet. Tekan Next
Ini adalah layar untuk menentukan target perangkat yang akan anda buat aplikasinya. Pada baris Emulator Platform adalah pilihan emulator yang anda Install di computer anda, untuk saat ini anda hanya menginstall emulator bawaan dari NetBeans anda. Setelah anda merasa perlu menginstall emulator platform untuk spesifik dari vendor lain seperti Nokia, Sony Ericsson dan Motorola anda dapat mengubahnya disini.


Device adalah perangkat emulator atau HP yang nantinya akan anda jalankan di computer anda, dalam menjalankan program yang akan anda buat. Apabila nantinya anda menginstal emulator platform dari vendor lain anda akan bisa menggunakan HP spesifik dari vendor tersebut.

Device Configuration dan Profile adalah spesifik kemampuan dari paket perangkat yang akan anda jadikan target aplikasi anda, sebagai contoh saya punya HP K608 itu mempunyai spesifikasi CLDC 1.1 dan MIDP 2.0 artinya HP saya bisa menjalankan program dengan paket yang ada di CLDC 1.1 dan MIDP 2.0. Untuk lebih lanjut mengenai perangkat yang anda jadikat target riset lah dahulu dengan melihat spesifikasi HP atau perangkat target anda.

Artikel ini menjelaskan tentang cara memulai membuat aplikasi J2ME (aplikasi Java untuk perangkat kecil, seperti selular, PDA dan lainnya) tanpa menuliskan kode kode programming (source-code) sedikitpun, karena artikel ini ditujukan kepada programmer yang belum pernah membuat aplikasi J2ME, mungkin tidak sedikit programmer desktop PC yang merasa terlalu sulit untuk membuat aplikasi J2ME untuk selular, mudah mudahan artikel singkat ini bisa memberikan penjelasan yang cukup dan memberikan semangat yang positif untuk memulai membuat aplikasi J2ME.

Membuat aplikasi J2ME tidak memerlukan banyak software yang rumit atau besar, salah satu software yang pasti diperlukan adalah J2SE SDK/JDK, dalam J2SE SDK/JDK ini terdapat runtime dan library untuk program Java secara umum termasuk juga untuk J2ME, pada saat artikel ini ditulis telah ada J2SE SDK v1.4.2.

Untuk menulis source-code J2ME, maka kita memerlukan sebuah J2ME IDE (integrated development environment), ada beberapa pilihan IDE yang diantaranya adalah Netbean, Sun One Java Studio Mobility, CodeWarrior dan notepad (atau text editor lainnya), untungnya semua software IDE yang disebutkan ini dapat di download gratis di website resmi masing masing perusahaan, jadi untuk membuat program J2ME maka pihak developer tidak perlu mengeluarkan uang sama sekali untuk membeli software IDE.

Pada artikel ini yang diulas adalah IDE dari Netbean v4.1 dengan tambahan Netbean Mobility Pack v4.1, tambahan ini diperlukan untuk membuat aplikasi J2ME, karena jika hanya dengan Netbean v4.1 hanya dapat membuat aplikasi Java saja, Netbean Mobility Pack adalah module-module aplikasi J2ME dan emulator device untuk testing dalam PC. IDE lainnya boleh dicoba tapi dianjurkan memakai Netbean v4.1 karena versi ini sangat mudah dioperasikan dan dirasakan cukup cepat dibanding IDE lainnya dalam hal loading, compiling, running dan debugging.
Langkah yang dilakukan oleh untuk memulai pembuatan aplikasi J2ME adalah:


1. Install J2SE SDK v1.4.2 (50MB)
2. Install Netbean v4.1 (47MB)
3. Install Netbean Mobility Pack v4.1 (18MB)
4. Jalankan Netbean v4.1, buat projek baru dan pilih kategori “Mobile” dan tipe project “Mobile Application”
5. Pilih lokasi tempat menyimpan file-file project ini, “Set as Main Project” dan “Create Hello MIDlet” jangan dirubah (tercentang)
6. Pada halaman “Platform selection” pilih “Device Configuration” = CLDC-1.0 dan “Device Profile” = MIDP-1.0 (versi terkecil yang dapat digunakan dalam semua selular yang support J2ME)
7. Setelah semua selesai (tempate telah dibuat), jalankan aplikasi ini dengan menekan tombol F6 (Run Main Project).
8. Lalu project ini akan dicompile dan emulator akan keluar, gunakan mouse untuk mengoperasikan emulator tersebut, dengan menekan nekan tombol keypad dalam emulator tersebut mirip seperti selular biasa.
9. Pada saat ini, aplikasi “Hello World” kita telah selesai dibuat dan bisa langsung di tes pada selular yang sebenarnya.

Langkah-langkah untuk testing aplikasi yang telah dibuat, yaitu :

1. Selular phone yang mendukung J2ME (setidaknya MIDP v1).

2. Alat untuk memindahkan aplikasi (.JAR dan .JAD) yang sudah dibuat kedalam selular, dapat berupa kabel data, infrared, bluetooth atau card reader/writer jika selular yang ingin digunakan sebagai test device memiliki slot memory external, seperti MMC, MemoryStick dan lainnya. Cara pemindahan aplikasi J2ME sama seperti cara mengisi ringtone, image dan lainnya.

3. Software untuk memindahkan aplikasi J2ME ke dalam selular, bisa menggunakan aplikasi yang dibuat oleh perusahaan lain (bukan buatan vendor selular tersebut), seperti MobiMB yang berukuran kecil, mudah dan cepat.

Dalam artikel ini, selular yang digunakan sebagai test adalah Nokia 6015 (memakai kabel data USB) dan Nokia 9500 (memakai card reader/writer untuk mengcopi file .JAR dan .JAD ke dalam MMC). File - file yang perlu ditransfer kedalam selular adalah file .JAR (dan .JAD jika diperlukan) yang berada dalam direktori “DIST”, lokasi direktori ini telah ditentukan pada langkah ke 5.

Kita telah selesai membuat aplikasi J2ME “Hello World”, untuk merubah text atau menambah objek - objek lainnya seperti TextBox, RadioBox, tombol- tombol menu dan lainnya dapat kita lakukan dalam Netbean, juga tanpa perlu menuliskan source-code karena Netbean v4.1 sudah memiliki fungsi yang cukup bagus dan mudah dengan drag-and-drop mirip seperti programming Visual Basic dan lainnya yang hanya memerlukan perubahan pada properti-properti objek tersebut jika diperlukan seperti kata - katanya, lebar tingginya dan lain lain.

Memang aplikasi yang telah dibuat ini tidak begitu berguna, tapi bagi para programmer yang telah menguasai bahasa pemrograman Java maka tidaklah sulit untuk membuat aplikasi atau games untuk selular yang mungkin bisa dengan mudah dijual kepada perusahaan perusahaan mobile content aggregator karena bisnis mobile content cukup lumayan saat ini.

Pilihan J2ME untuk membuat aplikasi/games selular sangat bagus, karena ukuran filenya kecil (file JAR Hello World yang telah kita buat ini hanya kurang lebih 1 kilobyte saja), bahasa Java relatif lebih mudah dipelajari dibanding C/C++ untuk Symbian, Palm, Pocket PC dan Linux, dan alasan yang terakhir adalah software IDE untuk J2ME versi sekarang ini sangat baik dan lebih mudah digunakan.

Kemungkinan jika semua langkah yang dijelaskan diatas dicoba dengan sama persis oleh para pemula, maka mungkin hanya membutuhkan waktu kurang dari 10 menit hingga selesai dimasukan dalam selular, pihak editor hanya membutuhkan kurang dari 3 menit untuk menyelesaikannya.

Kamis, 13 Maret 2014

Pendahuluan

Bahasa Java merupakan karya Sun Microsystem Inc. Bahasa Java secara resmi diperkenalkan oleh Sun pada dunia tanggal 23 Mei 1995 dan Netscape menjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun.
Sedangkan, pembangunan Java itu sendiri sudah dimulai sejak tahun 1991, saat itu “Stealth Project” mengadakan pertemuan brainstorming yang terdiri dari sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer. Proyek ini diberi nama “Green”. Karena orang-orang di proyek Green berbasis C++ maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek bukan prosedural.
Pada tahun 1995, Netscape memutuskan membuat browser yang dilengkapi dengan “Java” diikuti oleh IBM, Symantec, Insprise, bahkan Microsoft. Setelah itu, gaung “Java” mulai terdengar dan dengan strategi terbukanya membuat banyak industri melirik dan menyambutnya. Sebagai bahasa yang menampung hampir seluruh kemampuan terbaik bahasa pemrograman yang pernah dikembangkan umat manusia, maka bahasa ini menjadi tidak mudah, sedikit rumit, dan kompleks. Namun demikian, kita pantas sedikit bersusah agar dapat mampu menguasai salah satu perangkat terampuh yang pernah dibuat umat manusia.

Kamis, 09 Januari 2014

PACKAGE DAN ABSTRACT CLASS [MATERI PBO 8]

Instance dari class tabung.

Tabung merupakan turunan dari class lingkaran yang merupakan turunan dari class point.Tampilkan koordinat, jari-jari, luas dan isi silinder!
Review
class point {
private int X;
private int Y;
public point(int x, int y) { X = x; Y = y; }
public void setX(int x) { X = x; }
public void setY(int y) { Y = Y; }
public int getX() { return X; }
public int getY() { return Y; }
}
Review
class lingkaran extends point {
private double radius;
public lingkaran(int x, int y, double r) { super(x,y); setRadius(r); }
public void setRadius(double r) { radius = (r < 0.0 ? 0.0 : r); }
public double getRadius() { return radius; }
public double hitungDiameter() { return 2*radius; }
public double hitungKeliling() { return 3.14*hitungDiameter(); }
public double hitungLuas() { return 3.14*getRadius()*getRadius(); }
}



Review
class tabung extends lingkaran {
private int tinggi;
public tabung(int x, int y, double r, int t) { super(x,y,r); tinggi = t; }
public void setTinggi(int t) { tinggi = t; }
public int getTinggi() { return tinggi; }
public double hitungLuas()
{ return 2*super.hitungLuas() + hitungKeliling()*getTinggi(); }
public double hitungIsi()
{ return super.hitungLuas()*getTinggi(); }
}
Review
public class Contoh {
public static void main(String args[]) {
tabung silinder = new tabung(4,5,2,3);
System.out.println("Koordinat silinder: X = " + silinder.getX());
System.out.println("Koordinat silinder: Y = " + silinder.getY());
System.out.println("Jari-jari silinder = " + silinder.getRadius());
System.out.println("Tinggi silinder = " + silinder.getTinggi());
System.out.println("Luas silinder = " + silinder.hitungLuas());
System.out.println("Isi silinder = " + silinder.hitungIsi());
}
}
Abstrak

Abstract class adalah suatu class yang merupakan suatu  kerangka yang dibuat untuk digunakan oleh class yang  lain (yang merupakan turunannya).Karena hanya merupakan kerangka, maka tidak ada
operasi yang diimplementasikan pada class tersebut.
abstract class Pesan {
private String pengirim
public Pesan(String dari) { pengirim = dari; }
public String getPengirim() { return pengirim;
public void Penyampaian();
}
Keyword abstract mengindikasikan bahwa method yang dibuat tidak dapat dispesifikasikan di class tersebut. Suatu method abstract memastikan bahwa semua turunan (non-abstract) dari class tersebut akan mengaplikasikan method tersebut.Suatu abstract class tidak dapat dibuat obyeknya. Kita masih dapat membuat object variable dari abstract class tapi  referensinya harus menunjuk ke obyek non-abstract dari
subclassnya.
Pesan psn = new PesanSuara(“salam.wav”);

Contoh:
class PesanTertulis(String dari, String t) extends Pesan{
super(dari);
teks = t;
public void Penyampaian() {
System.out.println(teks);
}
private String teks;
}
Interface

JAVA menyediakan interface untuk mendukung  multiple inheritance. Interface hanya mendefinisikan
spesifikasi method, tanpa menyediakan kode program  yang menjelaskan apa yang dilakukan method-method  yang didefinisikan.
File bentuk.java
public interface bentuk {
public double getLuas();
public double getIsi();
public String getNama();
}
File point.java
public class Point extends Objects implements bentuk {
private int x; private int y;
public Point() { }
public Point (int nilaiX, int nilaiY) {
x = nilaiX; y = nilaiY;
}
public void setX(int nilaiX) { x = nilaiX; }
public void setY(int nilaiY) { y = nilaiY; }
public int getX() { return x; }
public int getY() { return y; }
public double getLuas() { return 0.0; }
public double getIsi() { return 0.0; }
public String getNama() { return "titik"; }
}
Package

Package adalah pengelompokan beberapa buah class  yang saling berhubungan. Untuk membuat agar suatu
source file class masuk dalam suatu kelompok class, digunakan statement package dengan sintaks
deklarasi:
package  nama_package;
Package bersifat hirarkis, dipisahkan dengan titik. (contoh, abc.bagKeuangan.Karyawan)
Package bermanfaat jika kita akan mendistribusikan suatu aplikasi. Package memungkinkan kita menyembunyikan class dan method tanpa membuatnya private. JAVA code yang ada pada suatu package memiliki akses ke semua class dan method yang tidak private.
File Pegawai.java
package civitasAkademika;
public class Pegawai {
private String nama;
private String nip;
public Pegawai(String Nama, String Nip) {
this.nama = Nama;
this.nip = Nip;
}
protected void setNama(String Nama) { this.nama = Nama; }
protected void setNip(String Nip) { this.nip = Nip; }
protected String lihatData() {
return "Nama\t: “ + nama + "\nNIP\t: “ + nip;
}
}
File PegEdukatif.java
package civitasAkademika;
public class PegEdukatif extends Pegawai {
private String fakultas;
public PegEdukatif(String Nama, String Nip, String Fakul
super(Nama,Nip);
this.fakultas = Fakultas;
}
public void setFakultas(String Fakultas) { this.fakultas =
public String lihatData() {
return super.lihatData() + "\nFakultas\t: “ + fakultas;
}  
}
File PegNonEdukatif.java
package civitasAkademika;
public class PegNonEdukatif extends Pegawai {
private String unit;
public PegNonEdukatif(String Nama, String Nip, String Unit) {
super(Nama,Nip);
this.unit = Unit;
}
public void setUnit(String Unit) { this.unit = unit; }
public String lihatData() {
return super.lihatData() + "\nUnit\t: “ + unit;
}  
}
Jika dibutuhkan akses ke suatu class atau method yang tidak private dari suatu package, maka class tersebut harus disediakan dengan statement import. Statement ini digunakan untuk “membawa” class dari suatu package ke address space yang aktif saat itu.
Catatan:
1. Semua class harus diletakkan dalam directory yang bernama sama dengan nama package
2. Package dicompile di luar directory package C:\javac dirPackage/*.java
File PegNonEdukatif.java
import civitasAkademika.*;
public class DataKaryawan {
public static void main(String[] args) {
PegEdukatif a = new PegEdukatif("Budi","98E1234","Teknik");
PegNonEdukatif b = new PegNonEdukatif("Ari","95NE1000","BIRO2");
System.out.println(a.lihatData());
System.out.println(b.lihatData());
}
}
Platform JAVATM2, telah menyediakan beberapa standard package class (disebut class library) yang
mengimplemen-tasikan operasi-operasi dasar yang dibutuhkan oleh program JAVA.
java.util berisi class-class utility seperti membuat bialangan random, mendefinisikan property system, dan fungsi yang berhubungan dengan tanggal.
 java.io berisi class-class yang menangani file I/O.
java.net berisi class-class yang berkaitan dengan operasi jaringan, socket dan URL.
java.applet berisi class-class yang menyediakan aplikasi applet. java.awtberisi class-class untuk membuat Abstract Window Toolkit, yang digunakan untuk membuat interface berbasis grafis (GUI).
java.lang berisi class-class seperti String, Math, Integer dan Thread.