iPhone SDK

Kita dapat men-download iPhone SDK  dengan gratis setelah kita melakukan registrasi pada http://developer.apple.com/iphone/.

iPhone SDK yang sudah didownload berisi:

– Dashcode = untuk koding web application

– Xcode = untuk koding native application

– Interface Builder = untuk drag n drop komponen UI

– iPhone Simulator = sebagai simulator untuk menjalankan aplikasi yang sudah kita buat

– Organizer

– Instruments = utility to debugging, memory allocation

–  Documentation

SmartTaxiGPS :: ShortestDistance(); ???

Nah, saudara2 seperguruan ATL sekalian 🙂 Saya dari tim SmartTaxiGPS ingin meng-share sesuatu, yg ternyata adalah pilihan dan solusi (yang belum ditemukan solusinya). Untuk bagian perhitungan jarak nih…

1. Pakai google maps
WEAKNESS :
– respons lambat (harus menunggu dari server Google Maps, dan tergantung kecepatan koneksi internet)
– banyak & kecepatan per request terbatas (setahu saya, cuma dibatasi 1000 query per hari untuk 1 account, dan query per satuan waktunya dibatasi juga, ref: FAQ Google Maps API)

STRENGTH :
– lebih akurat pengambilan jaraknya, karena pakai arah jalan (ref: GDirections)
– koordinat geografi yang tidak pas (hasil dari mobile) bisa dicarikan koordinat jalan yg paling dekat (ref: Inverse Geocoding)

THREAT :
– belom ngerti cara ambil value hasil render AJAX nya ke web service

2. pakai perhitungan phytagoras (dengan jari2 bumi, ada rumusnya), kecepatan, dan arah laju kendaraan
WEAKNESS:
– kurang akurat pengambilan jaraknya, karena tidak pakai arah jalan, cuma mengandalkan arah laju (utara, selatan, barat, timur : klo arah menjauh dari client tidak diquery, klo mendekat baru diquery) dan kecepatan (dari alat GPS) untuk perhitungan “decision making” lebih lanjutnya
– koordinat geografi yg tidak pas (hasil dari LBS mobile) tidak bisa dicarikan koordinat jalan yg paling dekat (tidak bisa inverse Geocoding)

STRENGTH:
– lebih cepat responsnya (perhitungan di server sendiri)
– request bisa ditangani dalam jumlah lebih banyak dan cepat

THREAT :
– masih dicari cara ambil speed & arah laju kendaraan via GPS, tapi di SDK nya sih ada tulisan buat ambil satuan itu, jadi seharusnya dalam waktu dekat bisa ditemukan caranya 🙂

Category: Smart Taxi  One Comment
StoryBoard m-LMS iPhone

Guys, mo share dikit nih,

buat storyboard m-Lms iPhone ^^

Masih digambar di kertas sih, n mungkin masih akan ada sdikit perbaikan perbaikan ^^

Mohon kritik dan sarannya ya ^^

Koneksi Oracle, Web Service .NET, dan Google Maps

Beberapa minggu lalu sempat mencoba koneksi Oracle 10g Express ke .NET menggunakan C#. Untuk mengkoneksikan ada banyak cara, bisa lewat OleDB, .NET Framework Data Provider for Oracle (System.Data.OracleClient.OracleConnection <= yang ini juga sudah otomatis tersedia kalau install .NET Framework), dan Oracle Data Provider for .NET / ODP.NET (yang ini harus daftar di website Oracle buat unduhnya, jadi ya nda jadi dipake …), dan beberapa cara lainnya 😀

Kali ini saya coba pakai yang sudah satu bundle dengan .NET Framework, yaitu .NET Framework Data Provider for Oracle (System.Data.OracleClient.OracleConnection). Yang perlu diketahui yaitu Connection Stringnya :

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)));User Id=HR;Password=hr;

Yang di Bold itu parameternya, 127.0.0.1 dan 1521 itu Host & Port untuk Server Databasenya (kebetulan di Localhost), kemudian XE itu adalah nama databasenya (default database Oracle 10g Express adalah XE), HR dan hr itu untuk accountnya (di Oracle ada yang namanya Tablespace, kebetulan yang dipakai kali ini miliknya user HR)

Kalau sudah tahu, seharusnya bisa connect 🙂 Saya pakai ADO.NET untuk koneksi dan manipulasinya …

=========================================

Untuk bagian Web Service, setidaknya ada langkah awal yang harus dilakukan untuk deploy Web Service di IIS (localhost), thanks to Mr.Santo, akhirnya dapet pencerahan juga setelah sekian lama cari-cari untuk hal yang ternyata simple 😀 Berikut langkah singkat yang saya tahu untuk deploy Web Service di IIS (localhost) :

Membuat virtual directory :

  • Run inetmgr, pilih New > Virtual Directory, ikuti Wizard dengan langkah selanjutnya
  • Masukkan Alias dan pilih Physical Folder
  • Permission : Read, Run Scripts, Browse (Optional)
  • Execute Permission : Script Only
  • ASP.NET Version : Sesuai .NET Framework yang digunakan, jika menggunakan VS.NET2005, pilih 2.0
  • Directory Security : Check Integrated Windows Authentication

Buat Web Service Application

  • Publish Website, via Solution Explorer, dengan target Virtual Directory yang telah dibuat
  • Buka Web Browser, masukkan URL Alias dari Virtual Directory yang dibuat, pilih halaman Service.asmx
  • Pilih Web Service yang dipakai, dan klik Invoke untuk melihat hasil XML nya. Kalau pakai .NET, nantinya tidak perlu parsing XML ini lagi untuk mendapatkan hasilnya 😀

Buat Aplikasi Berbasis Web Service

  • Tambahkan Web Reference di Solution Explorer, isikan URL Alias dari Virtual Directory yang dibuat, pilih halaman Service.asmx
  • Imports Library (jika perlu) dan Buat Instance dari Web Service
  • Invoke Method dari Instance Web Service yang telah dibuat

=======================================

Akhirnya setelah sekian lama, device GPS Garmin 18x USB nya sampai juga ke tangan tim saya 🙂 GPS ini sih rencanya nanti digunakan untuk mendapatkan data Longitude dan Lattitude dari posisi Taxi. Nantinya dikirim ke server via Web Service dan jarak terdekatnya dikalkulasi.

PROBLEM nya : GPS 18x USB nya tidak dapat bundle Maps Jakarta, jadi setidaknya harus memanfaatkan jasa Map yang sudah tersedia. Sementara ini sudah menemukan 2 jasa Map di Internet, yaitu Google Maps dan Bing Maps. Keduanya bisa mencari jarak terdekat antar dua titik (untuk aplikasi langsung di Web nya), tetapi bagaimana caranya agar bisa menggunakan fungsi perhitungan jarak (dengan path jalan raya) dari kedua service tersebut?

Untuk Google Maps, sudah ada API nya, tetapi Web Based. Gratis, dan untuk menggunakannya perlu Google Maps API Key, daftar menggunakan Google Account. PROBLEM again : Nah, sekarang sedang coba otak atik untuk API yang satu ini, dan saya sedang bingung bagaimana untuk menggunakan function API nya lewat .NET Framework, secara Google Maps API itu menggunakan API Javascript.

Untuk Bing Maps, harus mendaftarkan diri untuk mendapatkan Developer Evaluation License buat pakai SDK nya. Yang ini masih belum berani sentuh… 😀

Category: Smart Taxi  One Comment
Bagaimana agar burung kenari bernyanyi?

Ini adalah pengalaman hidup yang saya alami ketika rapat di kantor.

Saya baru tahu bahwa membuat kenari tua yang lelah berkicau bernyanyi bukan perkara mudah. Selama ini saya menganggap hanya ada tiga cara untuk membuat burung kenari mau bernyanyi (Yoshikawa, 1937).

– Bunuh saja!

– Buat agar burung tersebut ingin bernyanyi.

– Tunggu.

Bisa dikatakan bahwa saya coba ketiganya, namun bisa dikatakan saya gagal.

Ketika ngobrol dengan seorang teman, dia mengajukan pilihan yang berbeda, dan langsung saya praktekkan.

– Pinta agar burung tersebut diam.

Ternyata mangkus lho! Hasil yang selama ini saya inginkan saya dapatkan. beneran deh, “Indonesia is where miracles happen!”, he he he. Lha, orang indonesia ya gitu itu, kalau ada tombol dilarang pencet, dipencet! Ada rambu lalu lintas dilarang berenti, berhenti dia!

Category: Renan  2 Comments
Smart Taxi Dispatch System Introduction

TAXI merupakan alternatif transportasi darat yang digunakan oleh masyarakat. Pengguna jasa TAXI dapat langsung memesan TAXI melalui telepon atau SMS. Tetapi hal itu masih kurang lengkap, karena pemesan TAXI masih harus menunggu TAXI yang dipesannya untuk datang ke lokasinya, yang tentunya membutuhkan waktu yang relatif lama karena tidak diketahuinya jarak terdekat kendaraan TAXI yang tersedia.

Dari permasalahan diatas, dibuatlah Smart Taxi System, yang akan memetakan posisi pemesan jasa TAXI dengan kendaraan TAXI terdekat yang tersedia dan menentukan rute perjalanan kendaraan TAXI menuju lokasi pemesan jasa TAXI yang tercepat.

Smart Taxi System ini bekerja lewat jaringan GPRS, yang menghubungkan antara semua Taxi dan server. Paket data yang dikirim oleh aplikasi pada Taxi, diterima oleh server melalui web service. Server bertugas memproses data customer (dari SMS customer, yang juga dilakukan lewat aplikasi mobile) dan data Taxi untuk mendapatkan posisi Taxi terdekat dengan customer.

Okay, ini dia posting pertamax tim Smart Taxi Dispatch System. Jadi intinya, sistem yang akan dibuat itu fungsinya untuk melayani user yang memesan Taxi via SMS. Apa bedanya ama sistem biasa?

1. Automated Transaction. Pemesanan taxi tidak melalui operator lagi, mengurangi Human Resource need.

2. Track N Closest Taxi. Pesanan dialokasikan ke taxi terdekat supaya lama pemesanan bisa di-cut secara signifikan

3. Masih banyak lagi yang tertulis di proposal, tapi karena yang nulis lagi ogah-ogahan, jadi kira-kira begitulah 😛

Kira-kira begini scenario kerjanya.

stdps-diagram

User Scenario (Global System) :

1. Customer memesan TAXI via aplikasi pemesanan Taxi.

2. Server mengkalkulasikan posisi 5 Taxi terdekat dengan posisi relatif Customer.

3. 5 Taxi terdekat mendapatkan informasi Customer yang terdekat dengan Taxi yang bersangkutan, sopir Taxi berhak memilih Customer mana yang akan dilayaninya, dan mengirim informasi balik ke Server untuk update status

4. Customer mendapatkan reply di aplikasi pemesanan Taxi yang berisi informasi Taxi yang akan melayaninya

Client (User) Side :

1. Dengan menggunakan LBS (pada aplikasi pemesanan Taxi), posisi relatif customer dapat diketahui dan dikirim ke dalam server yang nantinya digunakan sebagai informasi Taxi

2. Customer memesan Taxi via aplikasi pemesanan Taxi dengan program berbasis .NET CF. Pesanan tersebut dikirimkan dalam format string melalui GPRS, beserta data LBSnya, info tambahan dari customer, dan nomor handphone customer.

3. Jika ada Taxi yang bisa menjemput, customer akan mendapatkan reply berupa SMS berisi informasi Taxi tersebut . Jika tidak ada Taxi yang bisa menjemput setelah batas waktu tertentu, customer akan mendapat konfirmasi bahwa Taxi tidak ada, dan pertanyaan apakah customer tersebut masih mau menunggu.

Teknologi yang digunakan di sisi user:

1. Windows Mobile 5 / 6

2. .NET Compact Framework

3. Jaringan GPRS / 3G / HSDPA

Taxi (User) Side:

1. Taxi menerima sinyal dari beberapa satelit dengan GPS receiver, lalu menterjemahkan sinyal tersebut menjadi posisi Taxi dalam bentuk koordinat

2. Tiap X detik Taxi request status customer, beserta dengan pengiriman data GPS Taxi lewat koneksi internet (GPRS)

3. Request didengar oleh Web Service, data yang diterima web service (berupa longitude, latitude, dan status okupasi Taxi) disimpan ke database

4. Response yang diterima Taxi, jika tidak null (berisi info customer), maka akan ditampilkan dalam display board.

5. Taxi memilih customer yang akan dijemput dengan touchscreen

6. Taxi mengirimkan info customer mana yang dijemputnya, dan mendapatkan update info customer list

7. Integrasi argometer dengan aplikasi display board saat pembayaran

Teknologi yang digunakan:

1. .NET Framework

2. Windows XP

3. GPS & SDK-nya

4. Jaringan GPRS

Server (System) Side :

1. SMS customer didengar oleh SMS Gateway

2. Data SMS dan posisi relative disimpan ke dalam Database

3. Data yang diterima oleh Web service dan masuk ke database, dikalkulasi, menghasilkan 5 Taxi terdekat dengan radius tahap I, jika tidak ditemukan Taxi samasekali pada radius I, maka dicari hingga maximum 5 Taxi untuk radius tahap II (dan seterusnya). Hasil kalkulasi disimpan di database

4. Setiap ada request dari Taxi, server mengirimkan response berupa data customer (lokasi, nama, posisi) kepada Taxi. Response adalah null jika tidak ada customer yang terdekat dengan Taxi yang me-request info, dan Response berupa data customer jika ada customer terdekat dengan Taxi yang me-request info

5. Informasi customer mana yang diambil Taxi akan mengupdate database, sehingga otomatis akan mengupdate display board Taxi lain yang mempunyai kesempatan menjemput penumpang yang sama, dengan menghilangkan list customer yang sudah diambil tadi

6. Server mengirimkan SMS respon untuk customer, berisi informasi Taxi mana yang akan menjemputnya

Teknologi yang digunakan:

1. Oracle 10G / Microsoft SQL Server 2005

2. .NET Framework (untuk develop aplikasi SMS Gateway, Web Service, dan Fleet Management)

3. Jaringan GPRS

4. Teknologi SMS

5. Windows XP


Kira-kira begitulah kerjanya. Simple, isn’t it? Progress sementara, kita udah masuk tahap AWAL koding. Masih banyak yang perlu dipelajari dan dibaca, C#-nya lah, ini lah, itu lah… Device GPS juga belum ada.. Sedangkan kuliah udah masuk, dan rasa malas pada saat liburan masih belum hilang 100%. Target kami pada pertengahan Oktober, koding kelar.


Beginner : How to Create “Folder / Icon” in iPhone

Cara membuat Folder / icon menu di iPhone :

1. Launch Xcode yg ada di /Developer/Applications

maka akan tampil Xcode welcome screeen

2. Close aja welcome screen-nya

3. Pilih menu “File” dan select “New Project”

maka akan muncul “The New Project Assistant”

4. Pilih/ double click “View-Based Application” icon

maka akan muncul save confirmation

5. Save as dengan nama folder yang diinginkan, misalkan “Hello World” dan hit save button

maka akan muncul “The Hello World project in Xcode”

Category: Junny  One Comment
What u Need Before U Begin Dev iPhone??

Persiapan yang harus dilakukan sebelum develop iPhone :

1. Macintosh running Leopard (OS X 10.5.3 or later)

2. Download SDK (SOftware Development Kit)

3. Sebelum download, register dulu tuk dapat Apple ID di http://developer.apple.com/iphone/

4. iPhone SDK -> Xcode

Category: Junny  Leave a Comment
Hualow semuanya ^.^v

huahhhh….. akhirnya semua dah bisa login juga yap.. anak2 iPhone

kenalkan semuanya,, gw Junny Wijaya,, staff ATL, bag iPhone… 🙂

wkwkkw… ditunggu updatean blognya y ;))

Category: Junny  4 Comments
Cara compile ulang project beda versi SDK

Teman2,, mo sharing aja nih,, tentang masalah project yang berbeda versi SDK nya,,

biasanya kalo kita beda versi SDK, salah satu solusinya dengan membuka file baru dan copy paste isi kodingan nya lalu dicompile ulang lagi,,

Nah sekarang temen g ada yang nemuin cara buat setting biar kita gak usa susah2 bikin file baru dan copas isi kodingan, yaitu dengan edit di settingan project nya dan tinggal dicompile ulang,, untuk lebih jelas nya silahkan masuk ke blog berikut,, 😀

http://heru762004.wordpress.com/2009/09/05/bagaimana-cara-compile-project-yang-berbeda-versi-iphone-osnya/#comment-115

Semoga bisa membantu. THx.

Category: e-Ticket  6 Comments