Blog

Cabron – API PHP untuk Date dan Time

Kali ini saya akan sharing sedikit mengenai Carbon.

Carbon, adalah API untuk PHP (tidak hanya Laravel) untuk memudahkan penggunaan waktu pada PHP. Carbon bisa memudahkan apabila kita perlu untuk mengomparasi dua waktu, membuat waktu, dan banyak hal lainnya. Saya akan bahas sedikit di bawah ini.

Instantiasi

Dalam Laravel, dengan kita menggunakan composer, Carbon sudah otomatis terinstall. Apabila kita ingin menggunakannya, maka kita harus menuliskan use Carbon\Carbon; pada file PHP kita.

Contoh penggunaan, apabila kita ingin mengambil waktu saat ini, kita bisa dengan mudah menggunakan fungsi Carbon::now() maka waktu saat ini akan otomatis dikembalikan oleh fungsi tersebut. (dalam format year, month, day, hour, minute, second).

Seumpamanya kita ingin mengambil, contohnya tahun atau bulan dari Carbon, misalnya kita punya variabel $now = Carbon::now(); maka kita bisa dengan mudah menulis $now->year atau $now->month, begitu pula jika kita ingin mengambil nilai detik, jam, dan lain-lain.

Nah, jika kita ingin mengganti date atau time nya, kita bisa menggunakan fungsi $now->setDate(2017, 3, 12); atau $now->setTime(08:00:00);. Dengan demikian, tanggal dari variabel $now akan menjadi 2017-3-12 dan waktunya akan menjadi 08:00:00 (jam delapan pagi).

Misalkan kita punya dua variabel $first dan $second, kita bisa melakukan komparasi dengan mudah dengan menggunakan $first->lte($second); atau $first->gte($second);. lte berarti less than equals dan gte berarti greater than equals. Ada juga fungsi-fungsi lain seperti equals (eq), less than (lt), dan lain-lain.

Mungkin sekian dulu dari saya untuk kali ini, semoga bermanfaat 🙂

Last Week – Johannes Anugerah

Pada minggu – minggu akhir sprint 3 ini saya mempelajari beberapa hal yang tertuang dalam artikel dibawah ini.

Design Patterns adalah solusi untuk masalah perancangan perangkat lunak yang Anda temukan berulang-ulang dalam pengembangan aplikasi dunia nyata. Patterns adalah tentang desain dan interaksi yang dapat digunakan kembali. Berikut adalah pola – pola dari design patterns :

1

2

Kemudian saya membuat blade untuk semua page dashboard kemudian membuat function pada page challenges supaya bisa menarik data dari database.

3

 

Configure Code Coverage tool

Dalam tugas ppl ini, dengan menggunakan framework laravel kita melakukan unit test dan codecoverage dengan bantuan phpunit.

Configuration untuk code coverage ini ada di file yang bernama phpunit.xml

pertama kita edit phpunit.xml nya,

  1. masukan folder test yang akan ditest di <testsuites></testsuites>
  2. gunakan filter jika ingin melewati suatu function yang akan ditest, biasanya function” default yang ada di laravel bisa kita skip disini dengan menggunakan      <exclude></exclude>.
  3. tambahkan line ini untuk mengexport hasil codecoverage agar kita bisa melihatnya lebih detil<log type=”coverage-html” target=”./coverage” charset=”UTF-8″
    yui=”true” highlight=”true”
    lowUpperBound=”50″ highLowerBound=”80″ />
    </logging>
  4. untuk configuration yang ada dipaling atas bisa diset sesuai kebutuhan.

jika sudah diset sesuai keinginan, kita bisa menjalankan testing sekaligus melihat codecoveragenya dengan menjalankan :

vendor/bin/phpunit –coverage-text –colors=never –configuration phpunit.xml

Angga. FlurryAnalytics for android application analytics tool

Membuat aplikasi android memang sangat menyenangkan, banyak hal-hal baru yang dapat kita pelajari dan dapat kita explore dengan membuat aplikasi android. kita dapat mengexplore fitur-fitur yang ingin kita masukkan kedalam aplikasi kita, mengexplore fungsi-fungsi baru serta banyak library-library yang terdapat di android.

 

Setelah selesai membuat aplikasi android, apa yang harus kita lakukan? merilis aplikasi kita? eits tunggu dulu, ada satu hal yang sangat menarik dalam development android yaitu application analytics. mengapa kita memerlukan analytics? sadarkah kita ada user yang menggunakan aplikasi kita, banyak informasi yang kita bisa dapatkan dari usage user-user kita tersebut seperti

  • berapa lama mereka menggunakan aplikasi kita
  • fitur apa sajakah yang mereka sering gunakan
  • path yang mereka lalui untuk melakukan suatu business process tertentu
  • dll

hal itulah yang kita bisa dapatkan dengan menggunakan analytics tool, dalam hal ini flurryanalytics.

 

FlurryAnalytics merupakan analytics tool keluaran yahoo yang dapat digunakan oleh developer secara gratis, selain flurryanalytics kita juga dapat menggunakan tool lain seperti firebase, googleanalytics, dll.

 

Bagaimana cara kerja flurry analytics di aplikasi android?

 

pertama, kita menginisialisasi flurry pada saat aplikasi kita dijalankan (onStart) melalui command

new FlurryAgent.Builder()
.withLogEnabled(false)
.build(this, FLURRY_API_KEY);

dengan FLURRY_API_KEY yang kalian bisa dapatkan di website resmi y.flurry.com

 

selanjutnya, kita sudah bisa menggunakan command command yang terdapat pada flurry seperti

  • FlurryAgent.logEvent(eventName, eventParams, timed);

untuk memasukkan log suatu event tertentu dengan parameter, eventName, Parameter tambahan, serta boolean apakah timed atau tidak. event yang memiliki nilai timed true, akan berguna untuk event-event yang kita ingin hitung waktunya seperti(berapa lama user mencari barang hingga selesai transaksi di aplikasi kita).

  • FlurryAgent.endTimedEvent(eventName, eventParams);

untuk mengakhiri event yang memiliki nilai timed true.

  • FlurryAgent.onError(errorId, errorDescription, throwable);

untuk memasukkan log error yang terjadi pada aplikasi kita(exception, error, etc).

  • FlurryAgent.setLocation((float) latitude, (float) longitude);

untuk men-set lokasi dari user dan memasukkannya kedalam log user di flurry(biasanya untuk marketing)

 

Nah, sudah terlihat bukan betapa powerfulnya analytics di aplikasi android? terutama untuk hal-hal marketing, public relation, dll. Dewasa ini, hal tersebut harus diaplikasikan dalam android development agar aplikasi kita mengalami perkembangan yang amat pesat dan dapat dinikmati secara maksimal oleh user kita.

Framework Laravel

Selamat pagi teman-teman. Pada tulisan kali ini, saya akan menjelaskan mengenai enaknya pakai framework laravel secara ringkas.

Composer

Composer merupakan package manager untuk PHP. Jadi kalau butuh fitur baru untuk aplikasi yang sedang dibuat, kita pakai si composer ini. Tinggal edit composer.json dengan memasukkan package yang dibutuhin, terus lakukan composer update. Nanti packagenya terdownload.

Readable Code

Biasanya kalau ngoding, engga peduli kodingan kita bakal dimengerti sama orang apa engga. Coba liat deh contoh syntax untuk Eloquent ORM ini:

ORM.JPG

Syntaxnya gampang banget kan ya dibacanya. :))

MVC

Kalau di Laravel blade bakal maksa pakai {{ }} buat nampilin variable. Padahal kan bisa aja pakai <?php ?>, terus bisa diubah-ubah nilai variable tersebut di View. Ternyata Laravel maksa-maksa gitu karena view kan cuman buat nampilin data aja, kalau mau diproses ya di model kalau engga di controller. Akhirnya, bisa makin paham deh saya dengan konsep MVC karena Laravel

Testing

Bayangkan kalau aplikasi yang kita buat itu besar terus banyak banget komponennya. Kalau engga ada testing, setelah nambah fitur baru, kita harus cek semua fitur yang telah ada sebelumnya SECARA MANUAL dan itu bakal ngerepotin banget :((

Dokumentasi

Di laravel setiap bikin file baru, bakal disedian block komentar (dokumentasi) dan dokumentasinya itu nyaman buat dibaca. Coba buka routes/api.php. commen.JPG

Program yang baik mesti dilengkapi juga dengan dokumentasi yang mudah dipahami

Database Revision

Gampang banget kalau mau ngerevisi database. Setelah edit-edit dikit file migrationnya, tinggal pakai command php artisan migrate dan keubah deh struktur databasenya.

Interface

Kalau di Laravel, ada yang dikenal dengan sebutan dependency injection. Dengan dependency injection ini dan juga interface, kita bisa lho mengubah sumber data dari MySQL ke MongoDb tanpa perlu mengubah satu baris pun syntax di controller.

Design Pattern

Di Laravel, kelompok PPLA3 belajar nih beberapa design pattern dan mengimplementasikannya langsung. Diantaranya:

a. Facade

b. Factory Pattern

c. Don’t Repeat Yourself

d. Dependency Injection/Inversion

e. Single Responsibility Principle

f. Open Closed Principle

 

Sekian dulu y sharingnya. Kalau ada yang kurang, insyaAllah bakal ditambahin lagi tulisan pada post ini. Terima kasih sudah membaca:D