Tampilkan postingan dengan label Muhamad Hardi Ramli. Tampilkan semua postingan
Tampilkan postingan dengan label Muhamad Hardi Ramli. Tampilkan semua postingan

Minggu, 20 Maret 2016

Weekly Report 21/3/2016 - Muhamad Hardi Ramli

Minggu ini menjadi minggu sulit yang saya jalani. Beberapa hal belum bisa diselesaikan karena beberapa masalah yang kami hadapi.
Pada pertemuan rutin hari Selasa, kami membahas mengenai beberapa masalah teknis yang kami hadapi. Beberapa informasi yang kami terima adalah server untuk aplikasi yang digunakan baru bisa diterima pada hari Sabtu, sehingga belum bisa dicoba. Sehingga, saya mulai beralih fokus dan mencoba dengan Postman dan localhost.


Saat melakukan coding untuk login saya mengalami beberapa masalah yang masih belum bisa saya pecahkan, pertama mengenai testing android pada emulator, karena saya ingin mencoba dengan koneksi dengan localhost. Saya sudah mendapat beberapa informasi mengenai cara koneksi localhost dengan mengganti alamat localhost dengan 10.0.2.2 atau 10.0.3.2 jika menggunakan emulator Genymotion. Namun ketika dicoba saya masih mengalami connection time-out. Saya memikirkan mungkin kesalahan berada diantara masalah koneksi atau pada kode yang telah saya buat. Hal ini sudah saya jelaskan kepada Luthfi.


Hal lain yang saya kerjakan adalah membuat register dan pengiriman email konfirmasi. Hal ini sudah saya kerjakan namun hanya dibagian Laravel dan percobaan dengan Postman. Masalah yang saya hadapi pada Android sama dengan masalah pada login. Hal ini saya akan coba pecahkan secepatnya karena hal ini menghambat laju Sprint.
Beberapa hal yang ingin saya jelaskan adalah mengenai penggunaan Volley sebagai library tambahan yang membantu Android dalam mengirimkan paket data. Volley adalah library network yang lebih berfokus pada pengiriman data kecil seperti POST/GET form, JSON, dan paket data kecil lain seperti gambar atau komentar. Karena tugasnya lebih spesifik, Volley dapat melakukan pengiriman paket data lebih cepat.
Volley lebih banyak berfokus pada 2 kelas, RequestQueue dan Request. Melakukan pembuatan Request lalu dilanjutkan dengan mengirimkan Request tersebut lewat RequestQueue. Request dibuat dengan parameter tipe metode (POST,GET,dll), dan URL tujuan, dan listenernya. Tergantung dari jenisnya kita dapat menentukan variabel yang akan dikirimkan atau diterima. Berikut ini adalah penjelasan tambahan yang dapat membantu mengenai penggunaan dan pengenalan Volley.

Minggu, 13 Maret 2016

Weekly Report 14/3/2016 - Muhamad Hardi Ramli


Yang kami kerjakan selama minggu ini adalah saya dan anggota tim lain mulai mendiskusikan mengenai timeline bersama dengan Pak Yono. Selain itu, pada tutorial yang dikerjakan minggu lalu terjadi error karena pada saat saya coba lagi tidak bisa mengambil akses token, padahal sebelumnya sudah sempat bisa. Tim kami juga mulai daftar dan mencoba Slack sebagai salah satu media komunikasi tim.

Untuk timeline hal ini didiskusikan secara bersama-bersama pada hari Kamis. Biarpun belum semua pekerjaan diberikan waktu, namun sudah hampir semua pekerjeaan diberikan waktu awal pengerjaan dan batas akhirnya. Timeline ini akan digunakan sebagai bahan acuan pembuatan Gantt Chart yang dibuat oleh Farhan.

Tim kami sudah mulai mencoba menggunakan Slack sebagai media komunikasi dan diskusi. Namun, saya masih belum terlalu sering menggunakannya. Biasanya saya hanya memperhatikan mengenai hal baru dan beberapa masalahnya.

Pada kode yang saya kerjakan minggu lalu, terjadi keanehan karena tiba-tiba terjadi error mengenai masalah invalid user credential padahal pada minggu lalu sudah bisa dicoba. Setelah diperbaiki dengan mengupdate Kernel.php sehingga memiliki

'oauth-user' => 'LucaDegasperi\OAuth2Server\Middleware\OAuthUserOwnerMiddleware',
'oauth-client' => 'LucaDegasperi\OAuth2Server\Middleware\OAuthClientOwnerMiddleware',
'check-authorization-params' => 'LucaDegasperi\OAuth2Server\Middleware\CheckAuthCodeRequestMiddleware',

pada $routeMiddleware dan beberapa file tambahan seperti GrantsTableSeeder.php. (perubahan lengkap bisa dilihat disini).





OAuth2 bekerja dengan pertukaran pesan antara klien dan server API. Biasanya, klien akan memberi pesan kepada server API bahwa klien akan ingin mengakses data dan API akan memberikan balasan berupa autentikasi, biasanya lewat pesan HTTP. API akan memberi balasan dengan memberikan akses token secara langsung atau berupa URL.

Pada OAuth2 beberapa cara supaya klien dapat mengakses akses tokennya, hal ini pada OAuth2 disebut dengan grant types. Grant types yang pertama yang biasanya jarang digunakan adalah Implicit grant, pada implicit grant hampir semua pekerjaan dilakukan secara client-side dan memberikan kode autentikasi lewat URL. Cara kedua adalah lewat authorization code, perbedaan dari hal sebelumnya adalah API server akan mengappend authorization code, bukan memberi access_token lewat URL.

Berikut adalah video beberapa penjelasan mengenai OAuth2 dan penggunaannya dalam masalah autentikasi


Dalam hal masalah yang dihadapi Luthfi mengenai git, saya sudah berusaha membantu ketika terjadi masalah tersebut karena saya pernah menghadapinya. Biasanya, hal tersebut bisa diselesaikan dengan cara pull terlebih dahulu, atau di push secara paksa menggunakan --force (biasanya hal kedua dilakukan jika keadaannya darurat karena beresiko), namun ternyata hal tersebut masih tidak membantu masalah git tersebut.

Minggu, 06 Maret 2016

Weekly Report 6/3/2016 - Muhamad Hardi Ramli

Dalam minggu ini, saya bersama teman-teman yang lain menyempurnakan Project Plan dengan menambahkan detail seperti User Story. Pada hari Selasa, kami berdiskusi dengan project owner mengenai dan membahas User Story yang dibuat.

Hal lain yang didiskusikan lainnya adalah mengenai manday dan PIC. Manday digunakan untuk mengkalkulasi lama kerja dan orang yang dibutuhkan. Biasanya manday digunakan untuk menentukan bayaran yang nantinya akan diminta untuk suatu proyek, dalam hal ini proyek aplikasi.

Selain itu ERD untuk database juga sudah mulai didiskusikan, namun begitu kami agak kesulitan karena setelah dilihat masih banyak beberapa nilai multi value. ERD ini masih ingin diperbaiki kembali supaya lebih baik. (draft ERD versi online ada pada Weekly Report 6/3/2016 - Luthfi Kurnia Putra
).

Hal lain yang saya kerjakan dalam minggu ini adalah saya mencoba dan melakukan tutorial laravel 5 dan oAuth 2.0 untuk autentikasi dengan menggunakan token. Token tersebut akan digunakan untuk autentikasi user login pada android. Laravel nantinya akan berperan sebagai middleware untuk menghubungkan ke database. Namun demikian, untuk melakukan server request pada androidnya saya masih belum bisa mengerjakannya. Kode sementara dapat dilihat di git pribadi & latihan saya pada link berikut ini.

Minggu, 28 Februari 2016

Klaim (29/2/2016) - Muhamad Hardi Ramli

Nama : Muhamad Hardi Ramli

Posisi : Hacker
Project : Evaluasi Ibadah
Perusahaan : Badr Interactive

Berikut adalah progress yang dikerjakan pada minggu kedua

1. Berdiskusi dan membuat user story dan detail dari fitur aplikasi

Bersama dengan teman-teman yang lain, kami membuat user story dan memperjelas detail fitur yang nanti akan dibuat pada Evaluasi Ibadah. Beberapa fitur aplikasi yang telah ditulis juga diperbaiki dan dibuat dalam user story (spreadsheet dapat dilihat disini).

2. Mencoba dan membuat mockup pada Balsamiq

Pada Balsamiq saya membuat mockup untuk main display aplikasi dan menu tambahannya. Pada awalnya Balsamiq saya mengalami masalah karena tak bisa membuka menu untuk membuat mockup, namun hal tersebut sudah diperbaiki dengan cara mengupdate Adobe Shockwave pada browser yang digunakan.

3. Memahami dan mencoba beberapa tutorial cara kerja penanganan database pada laravel

Beberapa hal yang saya pelajari dalam database pada laravel adalah, seperti framework yang lain seperti code igniter. Hal yang dibutuhkan pertama kali adalah mengkonfigurasi koneksi database pada file database pada folder config. Penanganan database pada laravel dapat menggunakan semacam Active Record atau pada laravel disebut dengan Query Builder. Namun, demikian pada laravel ada cara penggunaan database dengan menggunakan Eloquent ORM. Dalam pemakaiannya Eloquent ORM lebih dianjurkan karena bersifat lebih OOP. Akan tetapi, hal ini belum saya coba pemakainnya untuk aplikasi Android. Jika dapat dilakukan, untuk pengembangan selanjutnya saya berencana untuk menggunakan dengan menggunakan Eloquent ORM. 

4. Tambahan

Masalah pada minggu lalu mengenai emulator pada Android Studio dapat diakali dengan menggunakan Genymotion sebagai emulator alternatif. Pada tutorial yang ditulis Farhan Dzikri, Android Studio juga menawarkan API sehigga Genymotion dapat dijalankan melalui Android Studio.

Minggu, 21 Februari 2016

Klaim (22/2/2016) - Muhamad Hardi Ramli

Nama : Muhamad Hardi Ramli
Posisi : Hacker
Project : Evaluasi Ibadah
Perusahaan : Badr Interactive

Berikut adalah kegiatan progress minggu pertama yang dilakukan

1. Mempelajari berbagai aplikasi yang dibutuhkan dalam PPL

Mempelajari aplikasi yang digunakan untuk kegiatan PPL ini, seperti Git, Trello dan Android Studio.

2. Mempelajari pembuatan aplikasi dan mengikuti tutorial dalam Android Studio

Dalam hal ini, saya mencari berbagai tutorial di internet yang menawarkan tutorial dasar dalam membuat aplikasi yang terhubung dengan suatu database sehingga dapat mengirimkan dan menerima database.

3. Menghubungkan aplikasi supaya terhubung database

Pada bagian ini, saya terkendala dalam melakukan testing karena terjadi kesalahan pada emulator pada Android Studio. Kesalahan ini saya coba karena saya juga belum tahu apakah kesalahan ini ada pada emulator atau pada script yang saya ingin coba.