Tutorial Voice Recognition dan Text To Speech Android

Holla,
kali ini kita akan belajar untuk membuat voice recognition dan text to speech app di android, buat yang belum tau apa arti dari kedua hal berikut, akan saya jelaskan sedikit. .

Voice Recognition : Adalah proses pengenalan suara ke dalam bentuk text. .
Text To Speech : Adalah proses pembacaan suatu kata, jadi misalnya ada suatu tulisan maka device akan membaca tulisan itu dengan bersuara. .


Tutorial Voice Recognition dan Text To Speech Android

Pertama-tama tentunya kita buat dulu project android nya. .
Jika project android sudah dibuat, berikut xml tampilan dari main layoutnya. .

dan berikut kode java nya, saya langsung meletakkan nya pada main activity agar mudah


Sedikit penjelasan tentang fungsi dari tiap baris kode yang ada sudah saya sediakan di atas. .
Sekarang coba kita jalankan aplikasi yang sudah dibuat, jika xml di atas benar maka tampilannya akan seperti berikut

speech to text android
Tampilan awal aplikasi sederhana kita
ketik kalimat lalu tekan tombol say it untuk mengubahnya menjadi speech

voice recognition android
Jika tombol yang bergambar microphone ditekan maka device akan segera merekam suara
hasil rekaman akan di tampilkan dalam bentuk tulisan di bawah tombol\

Jangan lupa pastikan text to speech terinstall pada HH android yang digunakan untuk membuat aplikasi ini. .
Semoga bermanfaat, GBU

Membuat Peta Tematik Menggunakan Geoserver, MySQL, dan Leaflet (Peta Jumlah Penduduk) PART 1

Kali ini kita akan membuat peta jumlah penduduk indonesia menggunakan Geoserver, MySQL, dan Leaflet. Untuk yang belum mengerti cara untuk menginstall geoserver, silakan baca postingan saya sebelumnya


Dan berikut cara untuk membuat workspace,store data shp nya dan membuat php proxy untuk outpun json pada WFS nya.,


Dan kalau masih belum tau Leaflet itu apa bisa baca juga postingan berikut:


Ok, jika sudah siap kita bisa siapkan peta nya, dapat di download di sini


Pertama tentunya kita buat workspacenya dan store data shp nya. .
tempat saya workspace nya saya beri nama indonesia dan store layer nya saya sesuaikan menjadi seperti ini
Layer Preview Geoserver

Jangan lupa juga proyeksi nya gunakan WGS84, jika sudah dicek satu per satu dan ada hasilnya mari sekarang kita buat proxy server nya untuk memanggil peta.
proxy di atas agak berbeda dengan postingan saya sebelumnya karena saya menggunakan filter dan 3 proxy sekaligus dijadikan dalam satu file php.

Sekarang kita siapkan data sql nya. .

Setelah download import data sql nya, nama database nya adalah sensus, disarankan menggunakan command sql langsung di command line, atau jika ingin menggunakan phpmyadmin rubah maximal upload size nya. .

Sekarang kita sediakan service php yang untuk memanggil database. Data yang kita punya adalah by desa sedangkan pada part 1 ini kita hanya akan belajar sampai pada level provinsi dulu, oleh karena itu kita harus melakukan pengelompokkan desa-desa tersebut berdasarkan provinsi nya dan juga menjumlahkan jumlah penduduk tiap desa tersebut berdasarkan provinsi.
Berikut kode php yang akan kita gunakan, simpan dengan nama datasql.php


Silakan test proxy dan service yang sudah dibuat tadi dengan dibuka melalui browser, jika muncul data-data provinsi yang berformat json, maka langkah yang dilakukan sudah benar.
Jika kita sudah mempunyai service php yang memanggi data peta dan data sensus maka step berikutnya adalah menampilkan nya menggunakan leaflet.
jangan lupa juga memanggil library leaflet yang sudah kita download, selain leaflet saya juga menggunakan library jquery untuk memudahkan pekerjaan. .
<title>Peta Jumlah Penduduk Indonesia</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
    #map{ height: 100% } 
</style>
<link rel="stylesheet" href="leaflet/leaflet.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="leaflet/leaflet-src.js"></script>
Letakkan kode diatas pada head html anda. .
Berikut kode javascript yang digunakan untuk menampilkan peta

Letakkan kode diatas pada head html anda juga dan pada body html ubah menjadi seperti berikut
<body onload="initialize()">

<div id="map"></div>
</body>

Ketiga baris html diatas digunakan untuk memanggil function initialize() pertama kali ketika halaman di load. .
Sekarang kita test peta tematik jumlah penduduk indonesia yang kita buat pada browser. .

geoserver leaflet tematik indonesia


Jika muncul peta seperti diatas maka langkah yang dilakukan pada tutorial part 1 ini sudah benar, silakan klik provinsi tertentu untuk mengecek apakah popup info window nya keluar atau tidak. .

Sekian tutorial kali ini, part 2 menyusul, semoga bermanfaat, GBU. . 

Menggunakan AppWraper dari Vserv untuk Monetize Aplikasi

Holla, kali ini saya akan membagikan pengalaman yang baru saja saya coba yaitu menampilkan iklan dari Vserv menggunakan AppWraper. .
Saya mengetahui tentang vserv ketika mengikuti acara Intel beberapa saat lalu, di acara itu dijelaskan bahwa kita bisa dengan mudah memasang iklan dengan menggunakan AppWraper. .

Menggunakan AppWraper dari Vserv untuk Monetize Aplikasi

Pertama-tama kita daftar terlebih dahulu ke http://www.vserv.mobi/ , kita bisa menggunakan google+ ataupun facebook id untuk login. .

Setelah itu kita bisa membuat add zone baru, ikuti petunjuk yang ada disana , konfigurasikan sesuai dengan aplikasi anda. 
vserv add zone


Setelah itu kita bisa download appwraper nya. .oh iya saya sekarang akan lebih spesifik menjelaskan untuk memasang iklan spesifik pada platform android, mungkin untuk yang lain tidak begitu berbeda.

Extract Appwraper, disini saya akan menjelaskan cara yang menurut saya lebih mudah untuk memasang iklan, dibandingkan menggunakan GUI.jar saya lebih suka menggunakan Vservappwrapperandroid.exe.

Pertama-tama buka folder conf untuk menkonfigurasi aplikasi appwrappernya dalam memasang iklan, berikut konfigurasinya di config.txt

blockAds=false
cache=true
codeSigning=self
keyStoreName=**Nama Keystore Android anda
aliasName=**Alias Name
storePassword=**Password Store
keyPassword=**Password Key
deleteRawAppsOnSuccess=false
locationAds=true
moveNonApkResources=false
showAt=both
viewMandatory=false
wrapAnalytics=false
wrapFirstLaunchNotifier=false
zoneId=**Zone Id anda
staticAdPosition_start=0
staticAdPosition_end=0
staticAdOnlyOnFailure_start=false
staticAdOnlyOnFailure_end=false

Perhatikan huruf yang dicetak tebal dengan diawali tanda **, tambahkan jika belum ada dalam file config.txt dan sesuaikan dengan aplikasi anda. Zone Id didapat ketika anda menambahkan iklan pada dashboard ketika selesai add zone tadi.

Oh iya, jangan lupa juga letakkan keystore android anda pada folder CodeSigning yang ada pada folder AppWrapper.

Letakkan juga aplikasi yang akan anda pasang iklannya di folder RawApps.

appwrapper

Setelah itu jalankan VservAppWrapperAndroid.exe untuk memulai proses pemasangan iklan.
Akan keluar tampilan command line, dan jika success akan ada pemberitahuannya, Jika Success maka aplikasi yang sudah dipasang iklannya akan berada pada folder WrappedApps

Sekian pengalaman saya kali ini, semoga bermanfaat, GBU

Facing the Error

Seringkali kita menghadapi error ketika mengerjakan suatu aplikasi atau project. .

yang menjadi pertanyaan ketika menghadapi suatu error pasti adalah bagaimana cara memperbaikinya. .

"how to fix this!!??" 

dan yang paling menyebalkan adalah ketika kita mencoba memperbaiki error yang ada, yang terjadi malah semakin banyak error dalam aplikasi kita sehingga aplikasi yang ada tidak dapat di run..

saya pernah membuat aplikasi atau project dalam beberapa bahasa antara lain java, javascript dan php. Ketiga bahasa tersebut memiliki cara yang hampir sama (menurut saya) untuk melakukan pencarian error sehingga dapat diperbaiki. .

menurut wikipedia, error yang bisa menyebabkan bug di suatu aplikasi biasanya terjadi karena beberapa hal berikut:
perhitungan pembagian 0
loop yang tidak terhingga
mengunakan variabel yang belum di inisialisasi
kesalahan penulisan bahasa pemrograman\
dll yang dapat dilihat pada http://en.wikipedia.org/wiki/Software_bug

Menurut saya yang dapat kita lakukan ketika menemukan error dalam aplikasi kita adalah sebagai berikut:

  • Biasanya dalam console IDE yang kita gunakan dalam membuat suatu aplikasi akan menunjukkan di mana letak error nya (pada line berapa) kita bisa langsung menuju line tersebut dan mengidentifikasi dimana letak error nya
  • Jika error line yang ada tidak menunjukkan error yang sebenarnya kita bisa menggunakan fitur print pada bahasa pemrograman yang ada. Biasanya jika kita melakukan print terhadap suatu kata dan kata itu akan muncul di console atau aplikasi, biasanya line di atas kode print tersebut benar, lakukan terus hingga di temui suatu error.
  • Jika masih belum bisa juga kita bisa bertanya di website favorite programmer yaitu di http://stackoverflow.com/ , banyak sekali resource problem error disana yang sudah di selesaikan oleh komunitas yang ada. Atau jika belum terselesaikan juga kita bisa bertanya pada google. .
Penyelesaian suatu error juga tidak terlepas dari pengalaman seorang programmer, semakin sering programmer memberikan challange terhadap diri sendiri dengan mengerjakan banyak aplikasi dan project, maka semakin cepat pula dia dapat mengidentifikasi dan menyelesaikan suatu error. .

meme error
Sumber : www.lindsaygcox.co.uk


Membuat WebGIS Menggunakan YII (Part 3-Legenda)

Postingan ini adalah lanjutan dari postingan sebelumnya, 

Yang terakhir adalah menambahkan legenda pada peta yang kita miliki, untuk menambahkannya kita menambahkan sedikit kode javascript berikut:


function diatas digunakan untuk membuat html yang berisi legenda, kode diatas masih sangat statis, silakan dimodifikasi sesuai dengan kebutuhan. Setelah itu tambahkan kode berikut di bagian akhir function polygon

kode diatas digunakan untuk memasukkan kode html yang dibuat pada function sebelumnya ke dalam peta. Jika berhasil maka tampilan peta nya kurang lebih akan menjadi seperti berikut:
legend egmap yii
Semoga Bermanfaat, GBU

Membuat WebGIS Menggunakan YII (Part 2-Peta Tematik)

Postingan ini adalah lanjutan dari postingan sebelumnya, lihat

PART 1-MENAMPILKAN PETA

Sekarang kita akan menambahkan satu layer lagi sehingga bisa peta yang kita buat akan menjadi peta tematik, peta tematik yang kita buat adalah peta jumlah penduduk indonesia per provinsi. Database yang saya pakai adalah database dengan nama indonesia dan tabel penduduk yang dapat di download di sini
https://dl.dropboxusercontent.com/u/47464119/indonesia.sql

Silakan generate model dari data penduduk yang barusan di buat dengan gii. .

Modifikasi PetaController.php menjadi seperti berikut

Lalu modifikasi index.php pada view peta menjadi sebagai berikut
Kita menggunakan fusion table sebagai polygon layernya, jika ingin mengetahui lebih lanjut tentang fusion table bisa membaca ebook berikut:
http://sleepingtux.blogspot.com/2013/12/membuat-peta-interaktif-jumlah-penduduk.html
Jika berhasil maka tampilannya akan menjadi seperti berikut

tematik indonesia

Jika sudah kita bisa menambahkan legenda pada kita supaya informasi yang ada menjadi lebih jelas
Semoga Bermanfaat, GBU

Membuat WebGIS menggunakan YII (Part1-Menampilkan Peta)

Iseng-iseng buat catatan pribadi tentang menampilkan peta pada web yang dibangun menggunakan yii, disini saya menggunakan EGMap sebagai extensionnya. .
bisa di dowload langsung di http://www.yiiframework.com/extension/egmap/

EGMap sendiri menggunakan google maps sebagai base mapnya..

1. OK, langkah pertama tentunya kita harus mempunyai project yii terlebih dahulu, saya asumsikan kita sudah bisa semua untuk membuat project baru yii, kalau belum bisa lihat postingan berikut

Saya membuat project yii dengan nama petayii, 

2. Langkah kedua kita copy hasil extract EGMap kita ke protected/extension

3. Pada langkah berikutnya saya menambahkan view baru untuk tampilan peta. Untuk menambahkannya kita buat controller baru, berikut kodenya


Simpan controller baru diatas dengan nama PetaController.php pada folder protected/controllers

4. Buat folder baru pada protected/views dengan nama peta, lalu buat file index.php dengan isi sebagai berikut
5. Supaya mudah kita tambahkan menu baru di home yii kita, tambahkan kode berikut di protected/views/layouts/main.php pada bagian id main menu
array('label'=>'Peta', 'url'=>array('/peta'),'visible'=>Yii::app()->user->isGuest)
Jika sudah selesai kita buka home project yii kita, dan klik menu peta yang barusan kita buat, jika berhasil akan muncul peta seperti ini. .
egmap yii
Peta Menggunakan EGMAP dan YII
Jika sudah dapat langsung menuju ke part 2 untuk membuat peta tematik nya
PART 2-PETA TEMATIK
Semoga Bermanfaat, GBU

Aplikasi My Indonesia (Sejarah Indonesia dan UUD)

Holla, akhirnya sleepingtux mengeluarkan satu app lagi yang bernama My Indonesia. App My Indonesia ini merupakan app sederhana yang berisi timeline sejarah indonesia, pembukaan uud 1945, dan UUD 1945 (tentunya yang setelah diamandemen, hhe).
Untuk Menu Sejarah App ini menyediakan timeline sejarah indonesia dari jaman pleistosen sampai tahun terakhir ini, terdapat peristiwa sejarah yang seharusnya diketahui oleh masyarakat indonesia
Begitu juga dengan Menu UUD 1945, menu ini menyediakan UUD lengkap semua pasal, dan aturan tambahannya, selain itu untuk kedua menu diatas dilengkapi dengan menu search.

Aplikasi ini membutuhkan koneksi internet untuk mengambil data yang ada karena data disimpan secara online supaya dapat tetap up to date.
Berikut Screenshot lain dari app My Indonesia.


Untuk download sudah tersedia secara gratis di play store,

DOWNLOAD MY INDONESIA

Semoga Bermanfaat, Jangan lupa rate sama commentnya ya.. Terimakasih. .
:D

Membuat Aplikasi Android Sejarah Indonesia (Part 1-Intro)

Hai hai, setelah sekian lama tidak posting lagi tentang kasus tertentu membuat aplikasi, kali ini saya akan memberikan tutorial bagaimana cara membuat aplikasi yang berisi tentang cerita sejarah bangsa indonesia. Aplikasi ini belum saya buat, dan bersamaan dengan membuat tutorial ini saya juga akan membuat aplikasinya.

Android Sejarah Indonesia

Berikut Rancangan Interface Aplikasinya, cukup sederhana
Rancangan Interface
Rancangan Interface
Jika dilihat dari interface nya, maka mungkin kita sudah bisa menebak app seperti apa yang akan kita buat. App yang akan kita buat ini sebenarnya hanyalah memberikan list tahun-tahun penting pada perkembangan sejarah indonesia, serta memberikan detail peristiwa pada tahun tersebut jika salah satu tahun di pilih. Sederhana bukan??

Hal baru yang mungkin bisa dipelajari dari Pembuatan Aplikasi ini adalah sebagai berikut
  • Membundling Aplikasi dengan database SQLite
  • Menampilkan dan Search data yang berasal dari database SQLite
  • Menambahkan Admob pada aplikasi
  • Cara menampilkan Gambar Menggunakan Web Service PHP
  • Upload Play Store
  • Belajar Sejarah :D (Sekalian saya belajar TKD)
  • dll akan menyusul kalau ada ide baru lagi.
Sebelum saya menulis tutorial selanjutnya, ada baiknya dipersiapkan dulu alat-alat yang dibutuhkan untuk membuat app ini, :)
Berikut alat-alatnya
  • ADT (Android Development Toolkit)
  • Notepad++,sublime, atau text editor lainnya
  • SQLite Browser
Sekian dulu intronya, Part 2 menyusul
:D
GBU

Menyimpan Variabel di Penyimpanan Lokal Android

Dalam pemrograman android, menurut yang saya ketahui, kita dapat menyimpan variabel dengan beberapa metode. Sebelumnya, biasanya variabel yang disimpan adalah variabel yang digunakan dalam setting aplikasi (misal kita mempunyai aplikasi multi bahasa, ketika user memilih bahasa tertentu ada baiknya programmer menyiapkan penyimpanan untuk status bahasa yang dipilih waktu itu, supaya ketika user masuk lagi ke dalam aplikasi bahasa yang ada masih sesuai dengan pilihan user).
Kembali ke metode yang digunakan untuk menyimpan variabel, biasanya saya menggunakan beberapa metode berikut untuk menyimpan suatu variabel bahkan data.
  • bentuk txt
  • SQLite
  • SharedPreferences
Menurut saya ketiga itu memiliki kekurangan dan kelebihan masing-masing, sekali lagi menurut saya ya.
  • Bentuk file txt biasanya saya gunakan untuk menyimpan String yang berasal dari serializable json, disitu kita membuat suatu file txt di memori lokal android yang berisi data String yang kita simpan, mungkin metode ini tidak mengenal struktur data karena berbentuk txt.
  • SQLite, saya jarang menggunakannya karena agak ribet, tapi mungkin memiliki keunggulan dalam struktur data, dan tentu saja berkaitan dengan performa app.
  • SharedPreferences adalah yang akan kita bahas sekarang, mungkin penggunaan sharedpreferences tidak cocok untuk data yang banyak dan terstruktur, dan dia lebih cocok untuk menyimpan suatu variabel tunggal.

Sekali lagi, pendapat diatas menurut saya.. :)

Oke langsung saja ke kodingan..
Pertama tama tentunya kita harus menyimpan suatu variabel
Sederhana bukan, untuk menggunakannya kita tinggal memanggil savePreferences(nama variabel, nilai variabel)

Setelah di save untuk mengambil data yang sudah disave maka kita dapat menggunakan kode berikut
Kode diatas digunakan untuk me load variabel yang bernama language_value, dan jika data variabel belum tersimpan sebelumnya maka ia akan secara default meload bahasa indonesia. Silakan sesuaikan language_value dengan nama variabel yang telah anda save sebelumnya.

Semoga Bermanfaat. Gbu :)
sleepingtux