Tampilkan postingan dengan label Muhamad Iqbal. Tampilkan semua postingan
Tampilkan postingan dengan label Muhamad Iqbal. Tampilkan semua postingan

Minggu, 29 Mei 2016

Weekly Report 30/5/2016 - Muhamad Iqbal

Dalam minggu ini saya mencoba untuk menyelesaikan mandatory-mandatory yang masih banyak belum saya lakukan tetapi sebenarnya tidak terlalu banyak hal yang saya lakukan karena terkendala banyaknya tugas dan persiapan UAS.

Verification & Validation, Process & Product Management

Verification
Mengevaluasi suatu produk telah sesuai dengan regulasi, persyaratan, spesifikasi atau kondisi yang dinginkan.

Validation
Menjamin bahwa produk, layanan, atau sistem telah memenuhi kebutuhan dan harapan pelanggan/owner.

Hal tersebut kita lakukan setiap sprint review bersama product owner dari badr yaitu pak Yuwono. Hal ini dilakukan setiap sprint selesai.

Design Review: Provide Constructive Feedbacks

Saya akan mencoba me review halaman main page aplikasi

Dihalaman main page diatas ada beberapa hal yang saya kurang nyaman yaitu:

- Jarak antara kolom tanggal yang terletak di paling atas dengan kolom kategori amalan terlalu jauh
- Untuk kolom isian antara amalan sholat rawatib dan tester tidak sejajar


Standard Code Convention

Standard code convention adalah standar penulisan kode pemrograman agar mudah dimengerti oleh banyak orang. Kami mengikuti best practice dari oracle untuk java dan PHP Standard Recommendation (PSR) di php-fig untuk laravel.
contoh :

- Penulisan class diawali dengan huruf besar setiap kata
- Penulisan variabel diawali huruf kecil lalu kata selanjutnya dengan huruf besar
- Penulisan konstanta dengan huruf kapital di semua huruf dengan menggunakan underscore saat perpindahan kata
- Setiap file PHP harus menggunakan tag <?php untuk tag yang panjang dan </= untug tag yang pendek
- Kode PHP hanya menggunakan UTF-8 tanpa BOM

Build Script & Software Integration

Software Integration adalah proses menghubungkan sistem komputasi dan aplikasi software secara fungsional atau fisik. Untuk android terdapat gradle yaitu script yang digunakan untuk mengintegrasi software.

Contoh script pada aplikasi


Role Management

Role management adalah mengelola pengguna siapa saja yang dapat mengakses dan apa saja yang dapat diakses di aplikasi.

Di aplikasi Evaluasi Ibadah, orang yang dapat menggunakan aplikasi adalah user terdaftar.Cara mendapatkannya adalah dengan registrasi di aplikasi atau jika mempunyai akun google bisa registrasi menggunakan akun tersebut.

Secure Deployment and Administration

Secure deployment adalah membuat deployment system kita khususnya di server supaya aman. Contohnya adalah:

- Sistem autentikasi yang membuat aplikasi hanya bisa diakses oleh pengguna yang telah log in
- Pengguna hanya dapat menyimpan dan menghapus amalan yang dia buat di aplikasi.

Software Profiling

Software profiling adalah menganalisis program untuk menghasilkam informasi yang digunakan untuk menentukan kemampuan dari aplikasi tersebut.

Ada 4 poin yang digunakan untuk aplikasi android yaitu Memory, Rendering, Battery dan Compute Analysis

Salah satu analysis yang saya lakukan di device yaitu GPU rendering

Dibawah aplikasi terlihat bar yang menunjukan performa rendering. Disana terdapat garis hijau yang menunjukan pembatas apabila bar melebihi garis maka hasil yang ditampilkan mengalami delay.

Living Documentation

Living documentation adalah sebuah proses yang menampilkan segala perubahan yang dilakukan oleh developer. Hal ini dilakukan secara berkala dari awal developing. Hal ini dilakukan supaya developer lain mengetahui apa saja perubahan-perubahan yang terjadi dan juga mengetahui siapa yang mengerjakannya.

Minggu, 15 Mei 2016

Weekly Report 21/5/2016 - Muhamad Iqbal

Di minggu ini ada beberapa hal yang saya lakukan diantaranya adalah mengerjakan beberapa mandatory yang belum diklaim dan juga ada hal yang sudah berminggu-minggu menjadi masalah dan akhirnya masalah yang sudah lama tidak terselesaikan akhirnya bisa diselesaikan yaitu mehubungkan antara aplikasi dan server.

Pertama yang saya kerjakan adalah wireframe yang belum saya klaim. Saya mencoba untuk membuat wireframe sederhana yang menampilkan fitur Tentang Aplikasi. Fitur tersebut adalah fitur yang menampilkan penjelasan tentang aplikasi tersebut. Saya membuatnya di balsamiq yang bisa dilihat disini. Berikut gambarnya

Berikutnya adalah saya mencoba mengimplementasikan continuous integration dalam gitlab yang berisi RestAPI laravel yang berada di server dengan cara menambahkan file .gitlab-ci.yml namun masih terdapat error yaitu gitlab belum dapat mengakses servernya saat migrating. Link gitlab RestAPI dapat dilihat disini.

Selanjutnya adalah masalah menghubungkan server dengan aplikasi yang sudah lama menjadi masalah. Kemarin hari jumat saya bersama hardi pergi ke badr untuk bertanya langsung ke engineer di badr tenteng masalah kami. Disana kita dipertemukan oleh Pa Yuwono dengan salah satu engineer yang fasih dengan library volley. Sebelumnya kami menggunakan volley untuk me request perintah POST ke dalam server dengan class map namun ternyata terjadi error 400 bad request lalu pihak badr menyarankan untuk menggantinya menggunakan json dan Alhamdulillah setelah beberapa lama mencoba akhirnya berhasil. Selanjutnya kita tinggal mencoba mengimplementasikan perintah get, update, dan delete.

Minggu, 08 Mei 2016

Weekly Report 08/5/2016 - Muhamad Iqbal

Minggu ini kami bersama pihak badr lebih banyak membahas tentang materi-materi mandatory yang harus diklaim. Kami membahas materi per materi tentang penjelasannya per materi sehingga kita dapat mengklaim nilai tersebut. Ada banyak sekali materi yang belum saya klaim disini sehingga saya cukup pusing memikirkan apa yang saya harus lakukan agar dapat mendapat klaim dalam waktu 4 pertemuan lagi.

Pertama hal yang telah saya lakukan adalah merubah sedikit skema relational yaitu menghapus tabel yang kira-kira tidak perlu dan juga menyesuaikan dengan local database yang ada di aplikasi.
Lalu hal yang saya lakukan adalah mengoreksi beberapa hal yang ada di dokumen Requirement Elicitation, Analysis, Specification.

Selain itu juga saya melanjutkan membuat Rest API di laravel yang belum bisa berjalan. Sebelumnya saya masih belum terlalu paham dengan controller dan routesnya sehingga kemarin saya mencoba memahami lagi dan Alhamdulillah masalahnya terselesaikan dan bisa berjalan namun ternyata timbul masalah baru lagi yaitu proses sql state nya untuk mengambil data dari database terjadi kesalahan pada penamaan sehingga terjadi error kembali dan saya masih belum menemukan solusinya bagaimana. Data rest API sudah saya push dalam gitlab

Minggu, 01 Mei 2016

Weekly Report 01/5/2016 - Muhamad Iqbal

Dalam minggu ini, ada beberapa hal yang saya kerjakan salah satunya yaitu membahas masalah server yang masih bermasalah. Selasa kemarin kami bersama pak Yono malakukan sprint review dan mencoba menyelesaikan masalah server yang masih error. Setelah beberapa lama ternyata masalah belum bisa terselesaikan sehingga pihak menyarankan untuk mengganti library.

Selain itu saya sendiri mengerjakan beberapa hal yaitu mengerjakan REST API di laravel. Karena kemarin saya masih menggunakan API yang manual dibuat sekarang saya mencoba untuk membuatnya di framework laravel namun masi terdapat error data belum dapat muncul. Kemungkinan masalahnya adalah controller yang masih error.

Setelah itu kami membahas tentang klaim nilai yang masih banyak yang belum terklaim oleh kami. Salah satunya adalah bagian Software requirement & visibility. Dokumen tersebut dapat dilihat di google drive kami.

Minggu, 17 April 2016

Weekly Report 17/4/2016 - Muhamad Iqbal

Pada minggu ini beberapa hal yang saya lakukan adalah mengubah library rest client yang sebelumnya saya menggunakan volley library menjadi retrofit library.

Setelah banyaknya masalah yang saya dapatkan minggu-minggu sebelumnya saat menggunakan volley akhirnya saya memutuskan untuk menggantinya dengan retrofit apalagi menurut beberapa artikel yang saya baca retrofit lebih cepat dalam menjalankan request dibandingkan yang lain sehingga memantapkan untuk mengganti rest api tersebut.

Rest (representational state transfer) adalah suatu arsitektur metode komunikasi yang dijalankan via HTTP melibatkan proses pembacaan halaman web tertentu yang memuat sebuah file XML atau JSON.

Secara garis besar kodingan retrofit saya seperti berikut

variabel retrofit dibuar dengan base url yaitu url rest api lalu kita mengunakan converter gson karena api yang kita akses bertipe json.

RestApi digunakan untuk mengambil file json dari root_url menjadi bentuk objek oriented yang class nya sudah dibuat bernama kategori yang berada di class model.




call digunakan untuk mendapatkan hasil parsing dan diolah data tersebut sesuai kemauan kita.

Selama beberapa hari saya mempelajari retrofit dan mengimplementasi ke aplikasi Evaluasi Ibadah namun masih terjadi error. Lalu saya coba untuk membuat aplikasi sederhana yang berfungsi hanya untuk menampilkan database namun masih error. Setelah saya teliti ternyata program tidak dapat masuk ke method onResponse sehingga aplikasi tidak dapat mengambil data.

Lalu saya mencoba untuk mencoba mengganti ROOT_URL dengan API yang saya dapatkan dan ternyata bisa dan data dapat ditampilkan di aplikasi sehingga saya berkesimpulan bahwa masalah yang terjadi sebelumnya karena url database yang tidak dapat diakses padahal kemarin saya akses melalui browser bisa.

Minggu, 10 April 2016

Weekly Report 11/4/2016 - Muhamad Iqbal

Selama 2 minggu masa uts sebagian waktu saya lebih banyak berkutat pada uts sehingga saya mulai untuk mengerjakan ppl pada hari minggu malam. Pada Weekly Report kemarin aplikasi masih belum bisa menampilkan data dari database. Kita menggunakan Volley library untuk melakukan networking namun masih error. Kemarin saya melakukan beberapa perubahan dari sebelum uts yaitu menambahkan inisiasi cache dan set network HttpUrlConnection namun masih terdapat error pada Json object request dan saya masih belum dapat menemukan masalahnya.

Membuat Request Queue awal

Request Queue baru yang masih terdapat error
json object request

Minggu, 27 Maret 2016

Weekly Report 27/3/2016 - Muhamad Iqbal

Weekly report kali ini saya bersama tim lebih banyak bermain di server. Pada minggu lalu aplikasi kami masih belum bisa menggunakan server sehingga pada pertemuan rutin hari selasa kami berencana untuk menanyakan masalah kami kepada mentor kami di Badr.

Pada hari selasa,  kami menuju badr untuk pertemuan rutin dan juga menanyakan masalah tentang server namun ternyata di sana mentor kami tidak ada karena ada urusan sehingga akhirnya kami harus menyelesaikannya sendiri. Beruntung akhirnya saya dapat mengakses server tersebut menggunakan winscp dan bisa menggunakan phpmyadmin.

WinSCP digunakan untuk menyimpan file .php yang digunakan untuk mengambil data dari server ke browser yang berbentuk JSON lalu di parsing oleh aplikasi. File aplikasi yang saya upload ada 4 buah file .php yaitu db_config.php, db_connect.php, get_amalan.php, get_kategori.php.


db_config.php dan db_connect.php digunakan untuk mengakses server agar data bisa diambil dan ditampilkan.




get_amalan.php dan get_kategori.php digunakan untuk mengambil data dan menampilkannya berbentuk JSON



Data yang akan ditampilkan adalah sebagai berikut

Setelah server sudah dapat digunakan saatnya menggunakan pada aplikasi namun masih ada error yang terjadi sehingga data masih belum dapat ditampilkan dalam aplikasi dan juga nanti saya akan mengubah cara akses server yaitu menggunakan laravel untuk selanjutnya.

Minggu, 20 Maret 2016

Weekly Report 21/3/2016 - Muhamad Iqbal

Pada minggu ini ada cukup banyak hal yang saya lakukan namun dalam menjalankan sprint 1 kali ini namun masih belum mencapai target yang maksimal. Banyak masalah yang timbul mulai dari faktor teknis maupun faktor non-teknis.

Pada hari selasa pada pertemuan rutin di Badr kami membahas beberapa masalah teknis seperti server yang akan digunakan, usulan menggunakan library tambahan yaitu volley yang digunakan untuk mengambil atau menyimpan data di server.

Setelah pertemuan tersebut saya melakukan coding untuk mainpage aplikasi agar dapat mengambil data dari server lalu dapat ditampilkan pada aplikasi. Pada saat itu saya menggunakan http client untuk melakukan pengambilan dan pengiriman tetapi ternyata setelah satu hari melakukan coding saya mengetahui bahwa saat ini sudah tidak bisa dipakai sehingga saya beralih ke volley.

Kendala yang saya alami adalah emulator yang tidak dapat digunakan sehingga saya tidak bisa mengecek apakah kodingan saya sudah benar dan dapat berjalan dengan baik. Masalahnya sepertinya adalah terletak di spesifikasi laptop saya yang kurang mumpuni untuk menjalan kan android emulator.

Minggu, 13 Maret 2016

Weekly Report 14/3/2016 - Muhamad Iqbal

Pada minggu ini apa yang saya lakukan bersama anggota tim adalah pada hari selasa kami bersama mentor kami Pak Yono mendiskusikan tentang timeline.

Selain itu kami juga memutuskan untuk menggunakan aplikasi baru yaitu slack sebagai alat komunikasi dan diskusi dalam kelompok.

Minggu, 06 Maret 2016

Weekly Report 6/3/2016 - Muhamad Iqbal

Selama minggu ini, ada beberapa hal yang saya dan teman-teman team saya lakukan yaitu menyempurnakan project plan kami dengan membuat user story, manday, PIC setiap task dan ERD untuk database.

Di hari selasa kemarin, teman-teman tim saya dikenalkan dengan konsep yang bernama Manday. Manday adalah suatu satuan ukur yang mengkalkulasikan berapa lama seseorang untuk mengerjakan task tersebut. Manday juga digunakan untuk menentukan bayaran yang nanti akan diminta untuk suatu proyek, dalam hal ini proyek aplikasi. Pada hari selasa tersebut saya tidak dapat hadir sehingga saya mulai membantu mengerjakan konsep manday keesokan harinya.


Pada hari kamis, kami berkumpul kembali untuk membahas PIC serta ERD untuk database. PIC ada seseorang yg bertanggung jawab dalam suatu kelompok task yang saling terhubung. Kami juga membuat ERD tetapi ERD kami masih tergambar secara kasar dan kemungkinan perlu disempurnakan kembali. Untuk user story, PIC dan manday dapat dilihat google drive dan untuk melihat ERD dapat dilihat di inggu, 06 Maret 2016 Weekly Report 6/3/2016 - Luthfi Kurnia Putra

Minggu, 28 Februari 2016

Klaim (29/2/2016) - Muhamad Iqbal

Nama : Muhamad Iqbal

Posisi : Hacker
Project : Evaluasi Ibadah
Perusahaan : Badr Interactive

Pada minggu kedua ada beberapa hal yang saya lakukan yaitu:

1. Membuat User Story

Dikarenakan project planning tim kita yang masih kurang dalam beberapa hal. Kami memutuskan untuk berkumpul pada hari Kamis tanggal 25 Februari untuk membahas masalah tersebut. Hal yang telah dilakukan oleh kami pada hari itu adalah membuat user story dengan detail fitur yang nanti akan dibuat. Hasilnya bisa dilihat di sini.



Minggu, 21 Februari 2016

Klaim (22/2/2016) - Muhamad Iqbal

Nama : Muhamad Iqbal
Posisi : Hacker
Project : Evaluasi Ibadah
Perusahaan : Badr Interactive

Dalam minggu pertama perkuliahan PPL, hal - hal yang telah saya lakukan adalah:

1. Mempelajari aplikasi-aplikasi yang digunakan selama perkuliahan PPL

Beberapa aplikasi yang saya pelajari adalah Android Studio, Git menggunakan Gitbash atau command prompt, dan Trello.

2. Mempelajari pembuatan aplikasi android dengan Android Studio

Saya mempelajari pembuatan aplikasi android dengan membuat aplikasi sederhana yaitu aplikasi dengan fitur login dan register. Di aplikasi ini belum bisa terhubung dengan database sehingga hanya bisa menyimpan di local store.

3. Mengintegrasi Google Sign-In ke dalam aplikasi android

Dalam hal ini saya belum bisa melakukan integrasi Google Sign-In ke dalam aplikasi android. Hal ini karena saya masih terkendala dalam mendapat Configuration File berupa file .json yang akan disimpan dalam aplikasi. Untuk mendapatkan Configuration File dibutuhkan menggunakan SH1 key yang terdapat dalam aplikasi yang akan diintegrasi. Dalam hal ini saya belum bisa mendapatkan key tersebut.