Microsoft Ecosystem

Lifecycle Sebuah Windows App

Dalam merancang sebuah Windows App, kita perlu tahu bagaimana sebuah aplikasi “menjalani kehidupannya”, karena skema hidup Windows App sedikit berbeda dengan aplikasi desktop pada umumnya. Dengan memperhatikan lifecycle sebuah aplikasi, kita bisa menghadirkan user experience yang nyaman bagi pengguna App kita.

Secara umum, lifecycle (daur hidup) sebuah Windows App bisa digambarkan dengan state-diagram berikut [1]:

State Diagram Windows App

Continue reading

Microsoft Ecosystem

Windows App Cert Kit: Periksa App Sebelum Upload ke Store

Salah satu tahapan yang akan dilalui App kita sebelum ditayangkan oleh Microsoft di Store (baik Windows Store maupun Windows Phone Store) adalah pengujian. Semua aplikasi yang akan ditayangkan pasti diuji dulu secara otomatis. Beberapa aplikasi akan diuji secara manual, tapi mayoritas tidak akan melalu pengujian manual lagi.

Nah … kayaknya repot ya kalau misalnya buat App yang ukurannya besar, terus sudah upload lama-lama (apalagi kalau pakai koneksi umum di Indonesia—lain hal kalau misalnya pakai koneksi di kampus :D), terus ternyata hasil pengujiannya gagal?

Untungnya, Microsoft punya aplikasi Windows App Certification Kit. Aplikasi ini sudah include dengan Windows Development Kit yang bisa diinstal bersama Visual Studio. Dengan aplikasi ini, kita bisa menguji App yang sudah dibuat secara lokal. Konon katanya, kalau sudah lolos pengujian di sini, kemungkinan besar akan lolos juga di Store karena metode pengujiannya sama.

Continue reading

Microsoft Ecosystem

Implementasi Asynchronous pada Feed Reader (C#)

Kemarin, saya share mengenai teknik pemrograman asynchronous pada C# menggunakan await dan async. Sekarang, saya akan coba kasih contoh nyata dari kode program POLBAN News Reader yang saya buat. :)

Jadi, pada aplikasi saya ada sebuah class bernama FeedDataSource yang berfungsi menampung daftar item dari RSS website POLBAN dan mengambil item-item tersebut. Daftar item ditampung pada sebuah properti Feeds seperti berikut:

Continue reading

Microsoft Ecosystem

Asynchronous dengan “await” dan “async” pada C#

Dulu, saat saya sering membuat halaman-halaman web sederhana, saya beberapa kali memanfaatkan asynchronous programming untuk beberapa keperluan. Secara sederhana, asynchronous programming adalah teknik di mana suatu fungsi berjalan dengan thread yang berbeda dengan thread utama, sehingga bisa menjalankan dua atau lebih fungsi dalam waktu yang bersamaan.

Sebagai contoh, jika saya memiliki fungsi getData() yang berfungsi mengambil data siswa dari http://mhs.polban.ac.id/ misalnya, maka waktu prosesnya akan bervariasi pada berbagai kondisi. Jika kondisinya stabil (baik pada client maupun pada server) maka delay yang dirasakan mungkin tidak signifikan.

Namun, bagaimana jika kondisinya tidak stabil? Continue reading

Life Notes, Microsoft Ecosystem

Universal Apps, Write-Once-(Almost)-Run-Everywhere

Seumur-umur membuat software (kecil-kecilan), saya baru tahu beberapa waktu terakhir kalau di ekosistem Windows Apps saat ini ada konsep Universal Apps. Pertama kali mendengar istilah ini, saya pikir dengan Universal Apps kita dapat membuat suatu aplikasi Windows Apps dan aplikasi yang sama juga berjalan di Windows Phone.

Well, setelah baca-baca di berbagai sumber (terutama MSDN), asumsi saya ternyata “benar” untuk Windows 10. (Yeay! Write once, run everywhere!) Apalagi santer dibicarakan di berbagai rilis-rilis yang kita baca kalau Windows 10 ini memang akan jadi one OS to rule them all. Di Windows 10, ada suatu konsep bernama Universal Windows Platform yang intinya setiap device yang berbeda (desktop, mobile, …, bahkan Xbox) memiliki implementasi Windows Core yang sama, sehingga aplikasi yang dikembangkan dapat memanfaatkan core tersebut untuk mampu berjalan di berbagai device.

Nah, bagaimana untuk adiknya, Windows 8.1?

Continue reading

Life Notes

“Apa Obsesimu di JTK?”

Setidaknya sudah tiga kali selama berada di Jurusan Teknik Komputer dan Informatika (JTK) Politeknik Negeri Bandung saya diminta untuk menuliskan mengenai hal yang satu ini: obsesi. Pertama, ketika saya mewawancarai kak Mita Kania Dewi; kedua, ketika mewawancarai kang Rahmat Zulfikri; ketiga, ketika diminta oleh kak Trisna Ari Roshinta.

hidup-sekadar-hidup-hamkaDan memang, bagi saya obsesi ini menjadi penting keberadaannya. Menjadi pembeda antara “hidup yang sesungguhnya” dengan “hidup yang sekadar hidup”.

Kalau hidup hanya sekadar hidup, kera di rimba juga hidup. Kalau kerja hanya sekadar kerja, kerbau di sawah juga bekerja.

— Prof. Dr. H. Abdul Malik Karim Amrullah (Buya Hamka)

Continue reading

Linux

Repositori Lokal Linux Mint 17 Qiana

Hal yang saya lakukan ketika baru melakukan instalasi Ubuntu (dan turunannya, seperti Linux Mint yang saya gunakan sekarang) adalah mengganti sumber repositori yang digunakan ke mirror-mirror yang ada di Indonesia (seperti Kambing UI, atau FTP ITB, dan mirror lainnya). Ketika saya sempat mencoba Ubuntu 14.04 LTS beberapa waktu lalu, saya menggunakan mirror ITB.

Ketika saat ini saya menggunakan Linux Mint 17 Qiana, saya menemukan bahwa ITB tidak melakukan mirror terhadap repositori Linux Mint. Hasil Google-ing singkat menunjukkan bahwa Kambing UI dan repositori UKDW-lah yang melakukan mirror terhadap repositori Linux Mint.

Sehingga, saya membuka Terminal dan mengetikkan …

Tapi ternyata, hal ini yang saya temui:

repo-lokal-1

Lho, ke mana puluhan baris yang biasa saya temui di /etc/apt/sources.list milik Ubuntu itu?

Continue reading

Linux

Touchpad Indicator Untuk Ubuntu (dan Linux Mint)

Saya menggunakan Linux Mint 17 Qiana di laptop saya (yang berbasis Ubuntu 14.04 LTS). Penggunaan saya sehari-hari dengan laptop ini lebih dominan menggunakan mouse eksternal dibandingkan dengan touchpad dan trackpad-nya (saya pakai Lenovo ThinkPad E440). Sehingga, akan nyaman bagi saya untuk dapat mematikan touchpad-nya ketika saya menggunakan mouse eksternal — apalagi di keyboard laptop ini tidak ada switch untuk mematikan touchpad-nya.

Untuk keperluan ini, saya menggunakan touchpad-indicator:

Selanjutnya, aplikasi ini di-launch untuk pertama kalinya dari launcher.

Continue reading

Life Notes

“Ngoprek” Linux Mint 17

Beberapa minggu yang lalu saya ikut kegiatan Share-ing IT dari Departemen Pendidikan Himpunan Mahasiswa Komputer Politeknik Negeri Bandung. Dari sana, saya keplincut (apa ya? Bahasa Sundanya kabita) untuk pakai lagi OS berbasis Linux di laptop saya setelah terakhir kali bermain dengan Linux kira-kira tahun 2009—2011-an.

Yang terlintas di kepala saya saat itu adalah Ubuntu 14.04 LTS. Setelah mencoba, ternyata Unity (yang dulu waktu awal kemunculannya—saya ingat betul—sempat menjadi ‘polemik’ dan banyak teman-teman saya pengguna Ubuntu yang kemudian beralih ke distro lain karenanya) masih terasa berat bagi saya. Akhirnya saya pindah ke Linux Mint 17.

Kalau kata kang Pajri Aprilio, “Hitung-hitung mengurangi dosa pakai OS bajakan.” Hehehe. OS Windows saya alhamdulillah lisensinya original. (Cara mendapatkan lisensinya itulah yang halal-halal-haram. Hehehe.)

Mudah-mudahan istiqamah. Diniatkan juga buat belajar. :)

ICT Club - SMP Negeri 2 Bandung

HTML Sederhana Karya Anggota ICT Club

Saya sempat memberikan sedikit tambahan materi ketika kegiatan ICT Club – SMP Negeri 2 Bandung tanggal 12 September 2014. Kala itu, materinya mengenai HTML, dan pemateri utamanya adalah Aulia Rahman A. Wahyudi dari kelas VIII.

Saat itu saya sempat memberikan tugas serta “mengiming-imingi” bahwa hasil karya mereka akan dipajang di blog saya. Tapi sudah satu bulan lebih berlalu, karya yang masuk belum juga sempat saya unggah ke blog. (Padahal kerjaan lain terkejar semua … dan mengunggah ini hanya butuh sekian menit. Aduh, maafkan.)

Saya pajang hasil karya HTML sederhana dari adik-adik saya di sana:

  1. Fadly Fahrezi, kelas VIII. Klik di sini untuk membuka karyanya.
  2. Firyal Dhiya, kelas VII-D, dan Moza, kelas VII-C. Klik di sini untuk membuka karyanya.
  3. M. Reynaldy T., kelas VIII-A, dan M. Dika Nugroho, kelas VIII-C. Klik di sini untuk membuka karyanya.

Saya berterima kasih atas ekspresi karya yang sudah dikirimkan di atas. Harapannya, dari pembelajaran sederhana tentang HTML itu, ada sedikit insight mengenai bagaimana suatu informasi di laman web dapat ditampilkan kepada pengguna.