Arsip Kategori: Uncategorized

Menulis di WordPress.com

Saya sebenarnya punya blog di saiful.web.id.

Blog itu keren. Setidaknya menurut saya. Alamat webnya tidak pasaran: tidak diakhiri dengan wordpress.com atau blogspot.com, misalnya. Blognya dibuat dengan Hugo, sebuah static site generator. Penyimpanannya memanfaatkan fitur GitHub Pages. CloudFlare digunakan sebagai reverse proxy dan juga melayani DNS. Tampilan blognya dimodifikasi dari tema Hyde buatan Steve Francia.

Berbagai hal teknis yang (menurut saya) keren itu tak diimbangi dengan hal terpenting dari sebuah blog: konten. Blog saya itu sepi. Gersang. Terakhir ditulisi tahun 2016.

Padahal, subjudul blog saya itu mulia sekali. “Karena hidup terakhir seseorang di muka bumi adalah tulisannya.” Kalau kalimat itu mau benar-benar dianggap, artinya hidup terakhir saya di muka bumi itu, ya, tahun 2016 itu.

Salah satu alasan saya pada diri sendiri biasanya: menulis di blog saya satu itu susah.

Loh, padahal keren. Tapi kok susah?

Baca lebih lanjut

Membuat Garis Lurus di PowerDesigner

Di semester 4 ini salah satu mata kuliah yang saya pelajari adalah Analisis dan Perancangan Perangkat Lunak 1 (APPL-1). Pada mata kuliah ini, kami menggunakan software PowerDesigner untuk membuat use case diagram dan kawan-kawannya.

Salah satu masalah yang muncul adalah ketika membuat asosiasi dari actor ke use case, garis yang muncul tidak bisa lurus. Bentuknya garis patah-patah, seperti ini:

Padahal, notasi yang umum digunakan, garis asosiasi dari actor ke use case itu wujudnya berupa garis lurus.

Baca lebih lanjut

With great power, comes great responsibility

With great power, comes great responsibility.

Setahun lalu, bertanding adik-adik saya di Mataram, Nusa Tenggara Barat, di OSN 2014. Ada video menarik yang diputar ketika pembukaan OSN di sana; ada dokumenter dua orang alumni OSN dan IOI, yaitu Handayani, salah satu siswa inklusi yang meraih medali perak OSN PKLK 2013 (dan saya bangga pernah bertemu beliau ketika penutupan OSN 2013 lalu), dan Derianto Kusuma, peraih medali emas OSN 2003, co-founder Traveloka.com.

Video tersebut (di atas) saya share di timeline saya di Facebook tanggal 3 September 2014, persis setahun lalu, ketika saya menjadi mahasiswa baru Politeknik Negeri Bandung. Video ini memberi saya motivasi yang cukup besar saat itu, menyadarkan saya kuat-kuat bahwa saya adalah alumni OSN 2013, dan saya berhasil menyisihkan sekian ribu peserta dari level OSK hingga OSP.

Masalahnya bukan saya berhasil menyisihkan mereka; masalahnya bukan saya adalah alumni OSN 2013. Tetapi, masalahnya adalah pertanyaan yang diberikan Derianto di menjelang akhir video,

Kalian perlu bertanya pada hari ini, apakah pantas kalian di sini?

Baca lebih lanjut

Google Punya Logo Baru!

Pagi ini, saya ingin menambah beberapa fitur di website JTK. Karena widget RSS tidak berfungsi (karena servernya harus melalui proxy supaya bisa tersambung ke Internet—ada yang bisa bantu?), saya kemudian mencari solusinya di Google.

Sebenarnya mulanya biasa saja. Hingga kemudian ketika akan meng-close tab-tab yang ada, saya heran,

“Logo website apa itu?” tanya saya dalam hati.

Baca lebih lanjut

Programming?

Apa yang saya senangi? Banyak. Mendengarkan musik, membaca, menulis, sesekali bernyanyi.

Tapi di luar itu semua, ada satu hal yang ketika melakukannya, ada adrenalin yang terpacu, ada nafas yang memburu, ada rasa ingin tahu yang butuh terpuaskan ketika melakukan suatu aktivitas yang disebut programming. Entah itu pada kegiatan-kegiatan competitive programming atau pada kegiatan programming yang normal.

Baca lebih lanjut

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:

Baca lebih lanjut

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.

Baca lebih lanjut

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:

private ObservableCollection<FeedItem> _Feeds = new ObservableCollection<FeedItem>();
public ObservableCollection<FeedItem> Feeds
{
    get { return _Feeds; }
}
Baca lebih lanjut

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?

Baca lebih lanjut