Showing posts with label Narwanto. Show all posts
Showing posts with label Narwanto. Show all posts

Thursday, December 13, 2018

Menggunakan Wakatime untuk monitoring kerjaan programmer


“You may delay, but time will not” ―Benjamin Franklin


Pernah mendengar quote diatas? Ya, kita sering mendengar atau mengalami yang disebut "delay", tetapi waktu akan tetap berjalan tanpa pernah berhenti. Sebagai seorang engineer yang baik, harus bisa memanajeman waktu dengan baik juga.

Kali ini saya akan sharing tentang software yang akan membantu engineer mengelola waktu dalam pekerjaan atau dalam belajar. Sebut saja Wakatime yang merupakan ide dari Alan Hamlett yang dapat memonitoring apa yang programmer kerjakan. Informasi lain bisa didapat disini.

Untuk langkah-langkahnya mari kita baca sama-sama:
  1. Silahkan registrasi dan login di website wakatime disini
  2. Setelah registrasi, buka setting > account, dan kalian akan mendapat API key, ini yang dipakai IDE kalian untuk memonitoring aktivitas tiap waktu.
  3. Pada gambar 1 terdapat pilihan IDE yang didukung oleh wakatime(IntellIj IDEA, VScode,sublime, terminal dsb), jika kalian klik di salah satu akan ada tutorialnya lengkapnya setiap IDE. 
    Gambar 1. IDE yang didukung
  4. Akan saya contohkan cara integrasi dengan IntelliJ IDEA yaitu dengan install plugin di IDE, kemudian restart IDE, dan buka setting wakatime, dan masukan API keynya.
  5. Kalian dapat melihat leaderboard dan profile kalian di website wakatime seperti gambar 2 sampai 4 dibawah :
    Gambar 2. Leaderboard dari wakatime
  6. Gambar 3. Dashboard wakatime
    Gambar 4. Dashboard project dari wakatime

  7. Jika kalian bekerja/mengkoding di IDE kalian, secara automatis wakatime akan mengcapture waktu, jenis programming languages, sistem operasi yang akan ditampilkan di dashboard.
  8. Dengan begitu, kalian bisa tahu, berapa jam kalian meng-koding, berapa kali kalian commit, project apa saja yang kalian kerjakan. Ini akan membantu engineer ataupun management mengetahui sejauh mana kita bekerja atau untuk tahu kerjaan kita setiap saat.
  9. Selain fungsi diatas, kalian bisa menentukan goal minimal yang harus dilakukan dan juga bisa embed dashboard setiap orang yang mau dimonitoring.
    Gambar 5. Setting goal
Kesimpulanya, wakatime akan membantu pengguna memanajemen waktu dengan baik, jadi silahkan install dan manfaatkan fungsinya secara langsung.
See you.....

Sunday, September 9, 2018

Pengalaman pertama menggunakan ASP.NET MVC

Hay gengsss, jumpa lagi sama saya di blog ini, kali ini akan saya ceritakan kesan pertama ketika saya menggunakan ASP.NET.

Background:
1. Di Nostra, belum ada yang memakan product microsoft(khususnya .NET)
2. Penasaran dengan microsoft punya
3. Oracle merupakan rival dari microsoft (Java vs .NET)

Dari beberapa hal diatas membuat penulis penasaran sehingga mencurahkannya dalam tulisan ini, sebelum jauh, kita sisir dulu perbedaan dari kedua kubu tersebut. Java bisa berjalan di beberapa operating sistem, tetapi harus ada Java Virtual Machine(JVM), sedangkan .Net hanya akan berjalan di operating system windows. Sama-sama tidak bersahabat ya guys, berbeda dengan C yang bisa berjalan dimana aja. xixixi. Selain itu Java mendukung bahasa Java, javaScript, Groovy, Clojure dan Scala, sedangkan .Net mendukung bahasa .Net, C#, F#, VB.NET, C++. Disini jelas ya perbedaanya....
ok, setelah kita tahu perbedaanya, akan saya ceritakan rasanya, eh kesan pertama maksudnya....
Let's GO.....
Langkah-langkah nya CRUD MVC dengan Visual Studio 2013:
1. Harus punya dulu visual studio, akan include framework asp.NET
2. Buat project baru C# > tab Web > ASP.NET Web Application > empty project dan tik MVC.
3. Setelah itu akan muncul project seperti gambar 1. dan setup project dan install framework Entity manager, dan akan muncul file entity manager di project explorer seperti gambar 2.
Gambar 1. Tampilan pertama project
Gambar 2. Entity manager framework


 4. Setelah itu tambahkan project baru Class library atau biasa disebut Model dan ulangi langkah ketiga(ini untuk koneksi ke database, btw kita pakai SQL server ya, biar sepaket)
Gambar 3. tambahkan entity library
5. Tambahkan class pada model tersebut, seperti gambar sehingga akan tampil seperti gambar 4, tambahkan juga konfigurasi (DBcontext) untuk menghubungkan database dengan class(gambar 5)
Gambar 4. Setting tabel pada database seperti gambar diatas
Gamabar 5. Setting koneksi antar class dengan tabel database
6. Tambahkan konfigurasi pada App.config dalam model, tambahkan juga pada Web.config, tanpa konfig ini, WebApp kita tidak akan terkoneksi dengan database. setelah itu tambahkan referensi pada main project ke model yang kita buat seperti gambar 7.
Gambar 7. setting koneksi database dan tambah referensi
Gambar 8. tambah kontroller
7. Nah, setelah itu add controllernya seperti gambar 8. pilih MVC 5 with view using entity framework. tambahkan juga routenya seperti gambar 9.
Gambar 9. folder project explorer dan settup route
8. Setelah itu build project, dan run. web browser default akan membuka tab dengan port default http://localhost:59465, jika kita tambah http://localhost:59465/Student akan langsung tampilk seperti gambar 10. Untuk database bisa dilihat di gamvar 11.
Gambar 10. hasil CRUD MVC
Gambar 11. Database CRUD MVC

Kesimpulan:
Kelebihan menggunakan ASP.NET MVC, langkah CRUD jadi semakin cepat, dengan User Interface yang lumayan bagus untuk versi default. Ini akan mempercepat pembuatan aplikasi. Kekurangannya, benyak project ASP.NET yang tidak opensoure, sehingga kita akan sulit mendapatkan template, selain itu, ASP ini hanya berjalan di sistem operasi windows.

Don't stop learning....

Soure:
https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started
https://codeburst.io/java-vs-net-factors-to-consider-cde1d22b06a7
https://mkhuda.com/teknologi/pilih-php-atau-asp/

Saturday, September 8, 2018

Internet of Things (IoT) "kontrol kipas dan lampu google assistant"

Hay blogger, kali ini saya akan membagikan sesuatu yang trend nya cukup menarik di beberapa dekade terakhir yaitu mengenai Internet of Things, yew (ini + implementasi yang bisa dilakukan dikosan ya, dengan biaya cukup murah :D), adapun judulnya adalah "kontrol lampu dan kipas dengan google assistant". Ini merupakan salahsatu implementasi smart home ya guysss.

Cekibrot.....
Note: akan saya tuangkan cerita bagaimana saya mem-build project kecil saya

Latar belakang
1. Di kosan hanya ada kipas(belum AC)
2. Saklarnya lampu dan kipas lumayan jauh dari tempat tidur
3. Saya tertarik dengan mikrokontroller dsb

Solusi :
Dibuat sistem saklar otomatis dari handphone(dengan harga murah) dengan menggunakan Internet of Things(IoT).
Akhirnya jurus browsing dilakukan, dan sesuai analisis dan pengamatan saya, sehingga ditentukan
arsitektur seperti digambar dibawah
Gambar 1. Diagram alir
Internet of Thing (IoT) adalah semua peralatan/device (things) yang saling berkomunikasi, nah dari semua jaringan tersebut diperlukan sebuah filter, sesuatu(things) apa yang akan kita pakai untuk mengatasi permasalah kita. analisa inilah yang membuat penulis menyusun diagram alir diatas sesuai dengan pengalaman penulis, mungkin kalau sudah jago dan uangnya banyak bisa lain hasilnya, xixixi. Sesuatu(things) jika dikelompokkan akan terbagi kedalam 4 bagian utama:
  1. Things nya sendiri, merupakan end-object, dia bertugas mengumpulkan data atau sebagai aktuator
  2. Protokol komunikasi, merupakan jaringan yang akan dipakai untuk bertukar data
  3. Sistem kontrol(aplikasi) berperan sebagai sutradara yang mengendalikan data dan juga penggerak aktuator(things)
  4. Database sebagai cara untuk menganalisis data
Pada gambar 1 Google assistant merupakan things, aktuator lampu dan kipas juga merupakan things, mereka berkomunikasi dengan M2M disini penjelasannya via wifi sehingga kontrol/mikrokontroller dapat mengendalikanya. Kebayang kan ya? sekarang kita akan masuk ke step-step nya nih.
  1. Tentunya harus punya dulu mikrokontroller dan juga aktuator, disini link untuk mikrokontroller dan disini link untuk aktuatornya (relay), harus paham dulu cara kerjanya ya guys, silahkan isi link komentar kalau ada pertanyaan atau PM.
  2. Setelah itu harus bisa memprogram mikrokontroller tersebut(wajib ya guys) silahkan cari tutorial-tutorialnya(rangkaian relay, mikrokontroller pinout), sourcecode
  3. Nah, M2M yang kita pakai(dimasukan ke code mikrokontroller) adalah dari adafruit yang secara free bisa diakses, disamakan user sama key nya yaaaa... di set juga feeds nya agar sesuai.
  4. Set-up adafruit diasumsikan sudah punya akun, create new dashboard dan tambahkan block switch toggle. Setting nama feed(harus sesuai dengan mikrokontroller) dan data ON/OFF sesuai dengan google assistant yang akan kita set.
  5. Kita harus punya akun google, silahkan daftar dulu, kemudian koneksikan dengan dengan IFTTT if this than that pilih my applet => new applet, klik + dan pilih google assistant, setup kata yang akan dikirim, balasan dan data yang dikirim(adjustable tergantung mikrokontroller di koding, misal on=1,off=0) setelah itu pilih + lagi untuk memilih action, pilih adafruit dan pilih feed yang ingin kita set.
  6. Lakukan pengujian dari google assistant => adafruit untuk memastikan sudah sesuai jalur dengan memberi perintah dari google assistant, cek apakah sudah merubah toggle apa belum.
  7. Lakukan pengujian dari adafruit => mikrokontroller, ketika switch dirubah apakah sudah memberi nilai yang berbeda pada mikro(di print lewat serial)
  8. Jika sudah terkoneksi dengan baik, baru susun semua alat, Safety First ya brooo ! jangan sampai menyentuh tegangan AC220V(di relay), kalau yang 5V gapapa, hehehe. 
  9. Mungkin bakal ada kendala dari 1-8, tapi kalau memang tertarik mulai aja dulu !
Untuk IoT sendiri saat ini belum begitu banyak orang menggunakan teknologi tersebut, sebab device-device nya mahal, set-up nya ribet dan mungkin kegunaanya belum begitu signifikan. Tetapi perusahaan besar seperti  Oracle, AmazonMicrosoft sudah mulai untuk menyediakan framework juga jasa tentunya untuk teknologi ini dan harganya pasti mahal :D. Maka dari itu tidak ada salahnya untuk belajar memakai framework opensource untuk beberapa kebutuhan sederhana kita, barangkali kedepan apa yang kita pelajari akan bermanfaat......

Don't stop learning .........

Friday, June 29, 2018

MQTT(Message Queuing Telemetry Transport) publisher subcriber

MQTT singkatan dari Message Queuing Telemetry Transport merupakan protokol pengirim dan penerima (publish dan subcribe) pesan yang dapat mengirim data binary, text, XML ataupun JSON. banyak digunakan pada aplikasi IoT(Internet of things) karena mendunkung konsep IoT.
berikut kemampuan dari MQTT:
  • Didesain sebagai protokol pesan untuk sensor dan perangkat dengan koneksi tidak stabil
  • Konsumsi daya rendah
  • Teknologi lama hampir 10 th
  • Opensource
  • Tersedia library untuk Android, Arduino, C, C++, C#, Java, JavaScript, .NET
  • Memiliki 3 QOS (at most once, at least once, exactly once)
Konsep IoT = objek fisik dengan elektronik, software, sensor dan koneksi jaringan yang saling bertukar dan mengoleksi data. Maka dari itu MQTT sebagai protokol komunikasi yang sangat direkomendasikan untuk sistem embeded meskipun tidak menutup kemungkinan digunakan pada sistem lain.
Banyak website yang membandingkan MQTT dengan protokol lain seperti dengan kafka atau HTTP, tetapi perlu diingat bahwa optimalisasi MQTT berada pada low power device and bandwidth, M2M(machine to machine) dan sederhana. M2M adalah komunikasi antara perangkat end-to-end tanpa interferensi manusia.

Instalasi(on mac)
  1. Install brew
  2. Command brew install mosquitto
  3. Siapkan ini sebelum dijalankan $ ln -sfv /usr/local/opt/mosquitto/*.plist ~/Library/LaunchAgents dan $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mosquitto.plist 
  4. Setelah itu tinggal jalankan dengan contoh : 
    $ mosquitto_pub -h 127.0.0.1 -t topic -m "Hello world!"
Banyak hal bisa dilakukan untuk publish dan subcribe pesan guys, disini panduan lengkapnya ya. Untuk menjalankan di sistem ambeded akan saya jelaskan di tulisan saya selanjutnya, tetapi fyi aja MQTT ini opensource dan librarynya sudah banyak banget guys tinggal pilah-pilah saja. Contohnya disini udah lengkap untuk sistem embeded.
Sekian dulu ya, sampai jumpa di tulisan selanjutnya.... salam lemper



Saturday, June 23, 2018

REST API tiruan dengan json-server

Hallo bloger yang "Ounchhh",
pada kesempatan kali ini saya akan membagikan sesuatu yang "mainstream" dikalangan developer khususnya back-end ataupun front-end, ya semoga bermanfaat guys...
Singkat cerita saya membutuhkan sebuah URL yang akan mengembalikan hasil json ketika saya tembak pakai Postman untuk keperluan pengujian service, jurus andalan pun dikeluarkan(googling) alhasil menemukan sebuah artikel dari om Roy Agasthyan tentang cara membuat rest-api tiruan dengan json-server(kalau penasaran bisa dilihat link di bawah ya)

Tanpa Ba bi bu, kita langsung ke proses nya guysss,
  • Install nodeJS (npm)
  • Setelah itu kita install package-nya dengan npm install -g json-server
  • Buat file dummy info.json
  • Di direktori yang sama, kita jalankan json-server info.json (lihat gambar 1)
  • Selamat Rest API tiruan sudah jalan dan siap digunakan
Gambar 1. menjalankan json-server

Gambar 2. Contoh info.json
 Untuk melihat hasil kita tinggal menembak link yang ada digambar 1 dengan postman
Gambar 3. Contoh method GET
Gambar 4. Contoh method POST

Gambar 5. Hasil POST
Untuk method DELETE tinggal menambahkan /id_yang_akan_didelete, tetapi untuk yang update metode yang digunakan adalah PATCH dengan tambahan /id_yang_akan_diupdate. Jika ingin menambahkan URL tinggal edit file info.json, selain itu juga tersedia log di terminal seperti digambar 6.
Gambar 6. Contoh log
Yah, sekian dulu guys, untuk informasi yang lebih detail bisa mengunjungi ini (sangat lengkap) dan terima kasih untuk artikel Roy Agasthyan sebagai pemicu penulis. Sebagai bahan pertimbahan penggunaan REST-API tiruan bisa menggunakan mockAPI.

terima kasih