Pengalaman Menggunakan Gojek Bandung

Update Juni 16: setelah beberapa menggunakan Gojek, menariknya semua sopir Gojek selalu menelepon sebelum datang. Berbeda dengan Uber yang paling hanya 20% yang menelepon.

Melengkapi review transportasi berbasis app saya untuk wilayah Bandung: Uber, GrabTaxi, BlueBird.  Saya akhirnya mencoba Gojek.  Agak terlambat menggunakan Gojek karena untuk UPI dan ITB motor tidak bisa masuk bebas, bahkan UPI lebih ketat, motor dosenpun tidak boleh masuk.  Lagipula saya lebih sering pergi berdua.

Kemarin akhirnya datang saat yang pas. Perlu ke acara resepsi pernikahan rekan dosen di Cimahi. Sebenarnya jaraknya sangat dekat, tapi repot kalau menggunakan mobil karena harus menembus perumahan orang, ditambah macet di daerah Cihanjuang. Jadi ojek paling tepat.

Sempat agak bingung saat buka app Gojek karena kok peta jadi kosong, ternyata saya belum login (saya sudah daftar lama). Sempat agak sulit memasukkan alamat tambahan. Bagusnya ada history lokasi, nantinya akan lebih gampang.   Karena jalan depan rumah saya sempit, biasaya Uber  saya pesan di depan jalan besar dekat rumah,  tapi dengan Gojek enaknya saya pesan langsung di depan rumah. Harga langsung keluar, lebih murah dibandingkan ojek biasa memang.

Tidak lama kemudian ada telepon dari sopir Gojek. Berbeda dengan Uber, sopir Gojek sepertinya orang lokal sehingga langsung paham daerah rumah saya, dan 5 menit kemudian dia sampai.  Sedangkan Uber, memerlukan kira-kira 20-30 menit. Susahnya, sopir Gojek  tidak menggunakan identitas seperti jaket atau helm khusus. Identitas wajah juga sulit dikenali karena menggunakan helm. Nomor plat motor juga tidak ada di app. Jadi ya menggunakan bahasa tubuh (kedip-kedip sambil anguk-anguk 🙂 ) Ini berbeda dengan sopir Gojek Jakarta yang menggunakan jaket dan helm hijau berlogo. Dapat dipahami karena sentimen anti Gojek kuat di Bandung dan saya juga tidak mau ikut dipukuli hehe. Saya diberi pinjaman helm, tapi tidak ada penutup rambut, sehingga helm agak bau. Bagi saya sih tidak masalah, tapi mungkin bagi penumpang  perempuan akan kurang nyaman.

Sampai di tempat tujuan dengan sangat cepat (kalau mobil setidaknya perlu 2 kali lipat waktunya). Karena baik saya dan sopir kurang paham dengan lokasi tujuan, sopir seringkali melihat-lihat HP untuk mengetahui arah. Ini berbahaya, lain kali biar saya saja yang menjadi navigator. Cuma apa aman pegang-pegang HP di motor?

Setelah sampai saya bayar langsung. Ini juga perbedaan Gojek dengan Uber yang menggunakan kartu kredit. Memang sekarang ada GojekPay, tapi saya baca banyak penolakan dari sopir Gojeknya. Memang Uber mulai dari kartu kredit ke cash sedangkan Gojek sebaliknya.

Beberapa menit setelah perjalanan selesai, ada notif dari app bahwa perjalanan sudah selesai dan ada permintaan untuk memberi rating sopir. Pulangnya saya juga menggunakan Gojek.  Kali ini sopirnya lebih ngebut. Mengingat badan saya yang lumayan gemuk sempat ngeri juga kalau sampai tergelincir saat belok. Ini kelemahan Gojek dibandingkan  Uber. Uber untuk dalam kota paling-paling mobil saling bergesekan tapi kita relatif aman. Kalau motor, sudah resiko tertabrak, lalu jatuh, lalu bisa terlindas pula. Tulang dan daging bukan tandingan metal dan aspal 🙁

Jadi kesimpulannnya Gojek punya keunggulan di kecepatan. Waktu tunggu dan waktu sampai tujuan jauh lebih rendah dibandingkan Uber. Gojek juga bisa menjangkau medan sempit dan sulit parkir. Kelemahan Gojek dibandingkan Uber ada di aspek kenyamanan dan keamanan. Pilih yang mana?  tergantung kondisi 🙂

Buku Digital: App Kindle dan Google Play Book

Dari kecil saya sangat suka buku. Buku novel “Lima Sekawan” pertama kali saya tamatkan waktu kelas 1 SD. Pengalaman yang berkesan adalah waktu kelas 2 atau 3 SD, bersama bapak diantar ke Gramedia Jl  Merdeka untuk beli buku (yap, toko buku Gramedia di Merdeka sudah ada dari tahun 80an). Lalu berburu buku bekas di Palasari supaya dapat buku banyak dengan harga murah 🙂  Saat saya sudah punya anakpun, setiap ke mall selalu disempatkan mampir ke toko buku.

Pertama kali saya mulai baca buku digital adalah saat sudah dapat membeli buku di Google Playbook Android.  Fitur yang paling saya suka adalah dapat melihat arti dari sebuah kata dengan gampang. Lalu dapat mengatur ukuran font, membaca buku tebal dengan satu tangan di kasur, dan melihat preview buku sebelum beli.  Lalu tidak perlu repot-repot ke toko buku, tidak perlu repot antri di kasir, dan *semua*  buku bisa muat di HP dan saya bawa kemanapun saya pergi 🙂  Tidak ada lagi lemari buku yang penuh sesak.  Kelemahannya, banyak buku bahasa Indonesia yang tidak ada, dan kalaupun ada harus di-zoom manual.  Dan memang kehilangan sensasi saat membuka halaman buku, terutama bau buku baru 🙂

Kelebihan lain buku digital adalah sinkronisasi antar device. Saya punya beberapa HP lama sehingga di rumah total ada 4 device Android.  Sekarang setiap mau baca, saya tinggal ambil HP/tablet  terdekat lalu langsung baca. Tidak perlu mengingat sampai halaman berapa, karena langsung disinkronisasi. Karena saya memang suka baca secara berpindah, dulu seringkali harus mencari buku yang terakhir dibaca ada dimana.

Setelah beberapa lama hanya menggunakan Google Play Book,  App Amazon Kindle yang ada di  Android mulai membuka layanan untuk warga Indonesia. Buku di Kindle lebih lengkap dibandingkan Google Play Book dan user interfacenya juga lebih nyaman menurut saya (gambar bawah, klik untuk memperbesar).

kindle3   kindle   kindle2

 

Ini perbandingannya dengan Google Play Book (klik untuk memperbesar)

playbook1   playbook2a   playbook2

 

Kelemahan Kindle adalah pembayaran harus dengan kartu kredit dan dalam dolar (kalau Play Book dalam rupiah), sehingga seringkali kaget saat lihat tagihan kartu kredit akibat kurs yang digunakan lebih tinggi daripada kurs normal. Kelemahan yang lain, promo di Kindle hanya untuk wilayah Amerika saja, sedangkan promo Play Book berlaku internasional.  Catatan: Kalau mau mendapat buku discount, bisa lihat bookbub.com disana ada promo harian untuk buku seharga 1-2 dolar, kadang dapat buku menarik juga 🙂

Baik Kindle maupun Play Book juga memberikan rekomendasi berdasarkan buku yang dibeli dan rating yang kita berikan pada buku.  Untuk ini, menurut saya Kindle lebih bagus memberikan rekomendasi, mungkin karena pilihan bukunya lebih banyak atau memang urusan buku adalah bisnis inti Amazon.

Untuk app buku Indonesia, alternatif terdekat adalah QBaca. Walaupun saat awal UI-nya sempat bermasalah, tapi setelah beberapa kali update sekarang sudah lebih baik. Ada buku-buku Balai Pustaka juga. Cuma judul buku masih sangat terbatas. Pembelian dilakukan dengan cara seperti beli pulsa, jadi masih belum sepraktis Play Book dan Kindle.

Beberapa bulan lalu saya mampir ke Gramedia dan untuk pertamakalinya tidak membeli buku. Agak tercenung, jangan-jangan cicit saya nanti akan jika melihat buku berbentuk kertas akan seperti kaset lagu sekarang.

Posted in app

Pengalaman Mencoba App My BlueBird

Update Okt 2016: Istri saya mencoba lagi app ini dan berbeda dengan pengalaman pertama, sekarang sopir bluebird nyasar. Bagusnya, seperti halnya uber, sekarang bisa melihat lokasi mobil yang dipesan, jadi ketahuan saat sopir nyasar. Setelah ditelepon dua kali tidak diangkat akhirnya terpaksa dibatalkan. Dugaan saya entah sopir tidak menggunakan app (masih via operator radio) atau sopirnya buta peta digital.

Update: Mei 2016, ada update besar-besaran aplikasi BlueBird.  Tampilannya modern, pendaftaran lancar (tidak ada lagi kasus nama cuma diberi 10 karakter). Posisi mobil Bluebird juga terlihat di peta; dan ada fasilitas bayar dengan voucher (katanya ada kartu kredit tapi saya tidak lihat dimasukkannya dimana). Nanti akan saya update lagi setelah saya coba pesan.

Ribut-ribut masalah Uber vs Bluebird yang menyebabkan demo besar-besaran membuat saya penasaran mencoba app BlueBird.  Nanti bisa dibandingkan dengan review saya tentang app Uber dan Grab Taxi. Dulu pernah coba app My BlueBird ini,  tapi langsung bermasalah dan saya uninstall, mudah-mudahan sekarang sudah berbeda.

Dibandingkan app Uber dan Grab, ada isu nasionalisme juga disini. BlueBird adalah perusahaan lokal jadi saya sangat berharap mereka dapat bersaing dengan app impor. Saya pribadi akan memilih Bluebird jika kualitas appnya sebanding dengan Uber.

OK sekarang mulai review. Saat daftar, user interfacenya kurang rapi dan perlu diupdate dengan standard sekarang. Tapi tidak terlalu jadi masalah bagi saya, karena  yang penting fungsi, UI itu hanya pelengkap saja. Tapi saya kaget karena untuk nama dibatasi maksimal 10 karakter. Ini membuat saya tidak dapat memasukkan nama lengkap. Sangat aneh, semua sistem saat ini ingin mempunyai data nama yang lengkap, mulai dari nama depan, nama tengah dan nama belakang (bahkan gelar), sedangkan ini kok sebaliknya. Proses selanjutnya (verifikasi no telp dengan SMS) lancar.

Saat saya mau pesan, saya heran kenapa peta di app ini hanya menunjuk ke Gedung Sate? ternyata GPS saya belum di-enable. Ini berbeda dengan Uber yang memberikan peringatan dan mewajibkan kita meng-enable GPS.  Lalu keheranan kedua adalah tidak ada informasi mobil taksi yang berada di sekitar kita. Mengingat jumlah armada Bluebird yang besar, sangat disayangkan fitur ini tidak ada. Ya sudah,  mungkin saat saya pesan nanti info posisi taksinya akan keluar.

Kemudian saya pesan. Bagusnya, ada opsi kalau kita mau ke bandara (kalau ke bandara memang urusan waktu jadi serius) dan ada batasan waktu minimal yang kita inginkan (default 10 menit). Mirip dengan GrabTaxi, keluar lokasi yang bisa dipilih. Bedanya, kalau GrabTaxi lebih fokus pada POI (Point of Interest) seperti restoran, maka Bluebird lebih fokus ke nama jalan. Saya pilih jalan dan.. ternyata saya harus memasukkan alamat lengkap (uh).  Apa gunanya GPS kalau harus  memasukkan alamat lengkap 🙁   Untuk isian alamat ada nomor rumah. Karena rumah saya menggunakan sistem blok, maka saya mau memasukkan blok dan nomor “Blok XX no XX” dan… aarghh tidak bisa! karena ternyata karakternya dibatasi lagi!  Saya tidak tahu apa yang dipikiran si pengembang yang pelit dengan jumlah karakter, apa mungkin mantan pengembang jaman DOS thn 90an dulu yang PC-nya cuma punya memori 640KB?  Untungnya informasi blok dapat dimasukkan ke field kedua (alamat tambahan).  Di field ke-3 ada isian untuk menambahkan keterangan tambahan. Saya masukkan restoran yang dekat rumah (tetap harus diketik). Selesai. Ada pilihan save sehingga tidak perlu mengetik lagi dikemudian hari (saya belum coba). Setelah pesan, ada tulisan mencari kendaraan, dan setelah refresh (kenapa harus ada menu refresh?) keluar nomor taksi dan nama sopir. Sempat terjadi force close, tapi saat dibuka kembali order tidak hilang.

Selanjutnya saya berharap dapat melihat posisi taksi yang bergerak mendekati kita. Tapi tidak, peta tetap kosong. Padahal ini fitur yang sangat penting. Karena terbiasa dengan Uber dan Grab yang lokasi taksinya dapat dimonitor di peta, menunggu taksi jadi proses yang menyiksa. Tidak ada fasilitas menghubungi sopir langsung baik via telp atau SMS. Semoga saja sopirnya tidak nyasar.  Untungnya 10 menit kemudian taksi datang. Nomor taksi cocok, saat saya masuk mobil dia tanya “Pak  Yudi?”. OK, setidaknya nama yang maksimal 10 karakter tersebut ada gunanya hehe (bagaimana kalau nama lebih dari 10 karakter? ya mungkin gunakan nama panggilan saja).

Fitur lain yang saya rasakan kurang adalah membayar dengan kartu kredit dan sharing perjalanan yang penting untuk istri yang berpergian sendiri.

Saya lirik sopir ternyata dia tidak menggunakan app.  Artinya  order saya disampaikan via radio. Pantas saja GPS jadi tidak relevan, alamat harus lengkap dan tidak ada fasilitas tracking taksi.  Jadi app My BlueBird ini sebenarnya hanya perpanjangan dari sistem order lewat telepon.  Saya jadi lebih paham masalahnya. Berbeda dengan Uber dan Grab yang app-nya menjadi inti penting dari perusahaan, di BlueBird app hanya pelengkap, dan proses bisnisnya sendiri tidak berubah atau memang tidak mau diubah.

IMHO, kalau saya jadi direktur BlueBird, akan saya buat devisi khusus app yang terpisah dengan divisi IT dan membuat ulang semuanya dari awal.  Perlu perombakan  total prosesnya dari ujung ke ujung.  Tidak hanya software, tapi juga proses bisnis termasuk SDM-nya.  Divisi ini bisa mengembangkan app tanpa harus terikat dengan sistem IT yang lama dan batasan-batasan lain.

Posted in app

Grabtaxi di Bandung

Update Mei 2016: Pengalaman saya menggunakan Gojek

Update Maret 2016:  Pengalaman saya menggunakan app Bluebird.

Lanjutan dari posting pengalaman menggunakan Uber

Update Mei 16: GrabCar sudah ada di Bandung (gambar bawah). Tapi masih sedikit sepertinya, belum saya coba. User interface juga lebih baik, sekarang peta flat dan sudah menunjuk ke lokasi yang memang ada dekat rumah.

grab-car

Update Mar 16: selain Taksi Cipaganti, Ekspress sekarang sudah ada taksi Gemah Ripah yang menggunakan Grabtaxi. Katanya memang sopir gemahripah masih jarang yang menggunakan ini.

Saya sudah dengar grabtaxi dari lama, cuma setiap kali install, belum ada taksi yang tersedia di Bandung. Hari ini, iseng istri menginstall dan sudah ada taksinya! 🙂   Masih sedikit taksi yang tersedia tapi biasanya nanti akan banyak juga. Tampilan peta-nya dimiringkan, saya sebenarnya lebih suka yang datar 2D saja. Lokasi pickup otomatis disesuaikan ke tempat-tempat yang umum seperti restoran.  Di situs grabtaxi.com, Bandung belum masuk. Saat saya tanya via Twitter tidak ada jawaban, ini berbeda dengan Twitter Uber yang lebih responsif. Ya sudah, langsung coba saja.

Istri akhirnya mencoba grabtaxi. Percobaan pertama dari rumah gagal, masalahnya grabtaxi mewajibkan lokasi pickup yang berlabel. Mungkin kalau tempatnya populer tidak masalah, tapi kalau perumahan?  Seperti contoh (gambar bawah), tidak ada yang namanya Pondok Seafood Sarijadi di sekitar rumah saya. Seingat saya ini sudah lama tutup.  Jadi sebelum pesan kita harus bergerak ke tempat yang ‘populer’. Tapi tempat makan yang besar di sekitar rumah kami justru malah tidak ada di GrabTaxi :(.

 

grabtaxi

Percobaan kedua dari kampus ITB. Untuk yang ini berhasil, pada lokasi pickup tersedia “Teknik Informatika”.  Setelah memasukkan tujuan, langsung muncul info sopir yang akan menjemput (taksi Cipaganti). Nah masalahnya, ternyata lokasi taksi di grabtaxi tidak seperti Uber yang realtime terlihat bergerak. Lokasinya lama diam dan tiba-tiba meloncat, apa ini karena supir taksinya meletakkan HP di tempat yang tidak terjangkau sinyal GPS? Tapi memang dari awal, berbeda dengan Uber yang posisi mobilnya terlihat aktif bergerak, posisi taksi di grabtaxi  sepertinya lebih statik (mungkin karena taksi memang lebih banyak ngetem dibandingkan Uber?).

OK, kembali ke pemesanan, karena lama menunggu, istri menelepon dan supir bilang sudah sampai ke gedung Teknik Informatika dan Elektro, ternyata supir nyasar satu gedung ke Labtek 8 (Elektro), padahal istri di labtek 5 (Informatika). Tidak jauh sih, tinggal jalan sedikit saja. Tapi ini berarti supir juga melihat lokasi bukan posisi eksak seperti Uber, tetapi dari label. Labtek 8 memang memiliki tulisan Teknik Informatika dan Elektro (kelemahan ITB memang nama gedung tidak jelas, tidak ada plang di depan gedung).

Pembayaran seperti halnya taksi standar yang menggunakan argo. Kalau misalnya ada potongan discount apa kita yang harus tanya? apa sopir yang bilang ya?  Kalau Uber, dengan kartu kredit jadi praktis, tidak perlu menyiapkan uang.

Kesimpulan: label lokasi penjemputan sangat penting di GrabTaxi, berbeda dengan Uber yang menggunakan posisi eksak. Di satu sisi ini mungkin menguntungkan karena banyak orang yang tidak melek peta dan teknologi sehingga bisa saja saat memesan lokasinya melenceng, tapi  di sisi lain, repot kalau di tempat penjemputan tidak ada label lokasi yang pas. Perbedaan lain: Grabtaxi menggunakan taksi resmi dan Uber menggunakan mobil biasa plat hitam. Taksi punya kelebihan tidak terkena aturan 4 in 1, dan dapat masuk ITB dengan bebas (uber kadang bisa masuk ITB tapi kadang dicegat satpam). Sedangkan kelemahan Grabtaxi adalah tidak dapat menggunakan kartu kredit, harus tunai, sedangkan Uber justru sebaliknya walaupun sekarang katanya Uber sudah bisa menerima pembayaran tunai.

 

Pengambilan Lokasi Terakhir di Android dengan Google Play Services Location API (Android Studio+Gradle)

Update Feb 2016: ada perubahan dalam coding, ini updatenya: https://docs.google.com/document/d/1f6S7imWd0jFsRgl0KMvskTR-tHBzDlVH8h6_q_U4L-o/edit?usp=sharing

Update 21 Nov 2015: mulai dari Android 6 (API 23),  ijin  ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION menjadi bagian dari Android 6 runtime permission system. Sehingga diberikan bukan lagi saat instalasi, tapi saat runtime. Kode dibawah sudah diupdate untuk ini. Atau alternatifnya, turunkan targetSdkVersion ke bawah 23. Gambar bawah adalah contoh runtime permission saat app ini pertama kali dijalankan (Android 6):

runtime_permission

Dalam tutorial ini, kita akan membuat app yang mengambil lokasi terakhir dari device memanfaatkan Google Play Service dengan Android Studio+Gradle (berbeda dengan tutorial sebelumnya yang masih menggunakan Eclipse).  Tutorial ini bersumber dari https://developer.android.com/training/location/retrieve-current.html

Langkah pertama adalah  menginstall komponen Google Play Service SDK.  Pilih Tools → Android → SDK Manager. Pilih tab SDK tools, lalu pastikan komponen  Google Play Service tercheck warna biru (gambar bawah).

sdk

Klik Apply, mungkin akan ditanyakan bahwa sistem akan keluar dari Android Studio, jawab saja Yes.

Buat project baru, pilih blank activity. Pada MainActivity, tambahkan dua larget text view (gambar bawah) untuk mengeluarkan hasil koordinat latitude dan longitude. Beri nama tvLat dan tvLong

textview

Selanjutnya kita akan menambahkan library playservice pada project. Buka build.gradle menggunakan project explorer (gambar bawah), pilih build.gradle untuk module app bukan build.gradle untuk project.

gradle

Tambahkan dibagian dependencies kode sebagai berikut:

dependencies {
   compile 'com.google.android.gms:play-services:7.8.0'
}

Lakukan sync, lakukan update dan install komponen jika diperlukan (seperti gambar di bawah). Jika muncul dialog seperti dibawah, klik “Install Repository and sync project”

sync_gradle

Proses ini akan memakan waktu cukup lama (pastikan punya koneksi internet yang bagus), tapi hanya untuk pertama kali.

Untuk mengakses lokasi, diperlukan update permission. Menggunakan project explorer, buka Manifest→ AndroidManifest.xml Tambahkan kode sebagai berikut di dalam tag  <manifest>:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>;

Sekarang kita mulai coding, buka MainActivity.java, tambahkan untuk kelas MainActivity agar mengimplement ConnectionCallbacks dan OnConnectionFailedListener (kode dibawah)

public class MainActivity extends AppCompatActivity
       implements GoogleApiClient.ConnectionCallbacks,
                  GoogleApiClient.OnConnectionFailedListener {

 

Tekan alt enter untuk menambahkan impor dan tekan lagi alt enter untuk menambahkan method yang dibutuhkan (setelah enter, pilih menu “Implements method”). Secara otomatis akan ditambahkan method onConnected, onConnectionSuspended, onConnectionFailed. Method onConnected akan dipanggil setelah app terhubung dengan Google Play Service, sedangkan onConnectionSuspended dipanggil jika koneksi terputus.

Selanjutnya tambahkan variabel berikut (code bawah). GoogleApiClient adalah objek untuk melakukan pemanggilan fungsi-fungsi API yang disediakan Google Play Service. Sedangkan lastLocation untuk menyimpan lokasi terakhir.
Konstanta MY_PERMISSION_REQUEST dan ijin adalah untuk menangani runtime permission di Android 6.

    private static final int MY_PERMISSIONS_REQUEST = 99 ; //integer bebas, tapi maks 1 byte
    boolean ijin = false; //sudah mendapat ijin untuk mengakses lokasi
    GoogleApiClient mGoogleApiClient ;
    Location mLastLocation;
    TextView mLatText;
    TextView mLongText;

Tambahkan method berikut untuk menginisasi objek GoogleApiClient:

   protected synchronized void buildGoogleApiClient() {
       mGoogleApiClient = new GoogleApiClient.Builder(this)
               .addConnectionCallbacks(this)
               .addOnConnectionFailedListener(this)
               .addApi(LocationServices.API)
               .build();
   }

Selanjutnya pada onCreate tambahkan kode untuk memulai hubungan dengan Google API client.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mLatText =  (TextView) findViewById(R.id.tvLat);
        mLongText =  (TextView) findViewById(R.id.tvLong);

        //cek permission
        //mulai dari Android 6: API 23, persmission dilakukan secara dinamik (tidak diawal lagi saat install)
        //untuk jenis2 persmisson tertentu, termasuk lokasi

        if (ContextCompat.checkSelfPermission(this,
                //hati2, jika konstanta tidak cocok, tidak ada runtimeerror
                Manifest.permission.ACCESS_COARSE_LOCATION)
                != PackageManager.PERMISSION_GRANTED) {

            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
                    MY_PERMISSIONS_REQUEST);
                    // MY_PERMISSIONS_REQUEST adalah konstanta, nanti digunakan di  onRequestPermissionsResult

        } else {
            //sudah diijinkan
            ijin = true;
            buildGoogleApiClient();
        }
    }

    //setelah muncul dialog dan user memberikan ijin (allow atau deny), method ini akan dipanggil
    @Override
    public void onRequestPermissionsResult(int requestCode,
                                           String permissions[], int[] grantResults) {

        if (requestCode == MY_PERMISSIONS_REQUEST) {
            if (grantResults.length > 0
                    && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                //permission diberikan, mulai ambil lokasi
                buildGoogleApiClient();
                ijin = true;
            } else {
                //permssion tidak diberikan, tampilkan pesan
                AlertDialog ad = new AlertDialog.Builder(this).create();
                ad.setMessage("Tidak mendapat ijin, tidak dapat mengambil lokasi");
                ad.show();
            }
            return;
        }
    }

Pada method onConnected, onStart dan onStop tambahkan kode berikut

@Override
public void onConnected(Bundle bundle) {
   mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
           mGoogleApiClient);
   if (mLastLocation != null) {
       mLatText.setText("Latitude:"+String.valueOf(mLastLocation.getLatitude()));
       mLongText.setText("Longitude:"+String.valueOf(mLastLocation.getLongitude()));
   }
}

@Override
protected void onStart() {
        super.onStart();
        if (ijin) {
            mGoogleApiClient.connect();
        }
}

@Override
protected void onStop() {
        if (ijin) {
            mGoogleApiClient.disconnect();
        }
        super.onStop();
}

Source code lengkap tutorial ini: https://github.com/yudiwbs/LokasiSekarang

Jalankan dan app akan menampilkan lokasi terakhir. Lanjutkan dengan tutorial untuk mendapatkan update lokasi secara terus menerus.

 

Elearning / Mobile-Learning dengan Messaging App (LINE)

Saya menggunakan elearning untuk membantu kegiatan mengajar di UPI sejak tahun 2005 ( Moodle),  kemudian beralih menggunakan group Facebook tahun 2011 dan akhirnya pindah menggunakan messaging app mulai tahun ini. Alasannya karena mengikuti apa yang saya dan mahasiswa gunakan sehari-hari hehe.

Ada dua alternatif messaging app yang digunakan, pertama WhatsApp dan yang kedua adalah  Line.  Kelemahanan  utama WhatsApp adalah membutuhkan nomor telepon, dan saya pribadi tidak mau memberikan nomor telepon kepada semua mahasiswa, hanya ketua kelas (pernah merasakan ditelpon berkali-kali oleh mahasiswa).  Dari hasil pengamatan sekilas WA juga lebih sedikit digunakan di kalangan mahasiswa dibandingkan Line.  Oleh karena itu saya memilih Line.

Dalam group Line ada dua mode yang dapat digunakan, pertama mode seperti timeline FB dan yang kedua mode chatting (gambar bawah). Mode timeline cocok untuk meletakkan pengumuman dan materi kuliah  sedangkan mode chatting untuk diskusi.

line2    line1

 

Inisiasinya mudah, saya buat group, buat QR code group, tampilan QR itu di slide kuliah pertama dan mahasiswa dapat join. Sisanya ditambahkan teman-teman yang lain.

Kelemahan dari Line adalah user interfacenya kadang membingungkan dan tidak intuitif. Saat HP saya rusak juga data chatting hilang. Fungsi admin juga tidak ada karena semua sejajar.

 

Posted in app