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.

Read more ...

Atmosfer Maju Bersama

Karena saya lelah, setelah sekian lama, lagi-lagi kita tak dikenal.

Kalau kata pak Yudi, “kita (selama ini) terlambat menulis sejarah kita sendiri.”

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?

Read more ...

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.

Begitu saya buka tab-nya, “lho, Google?”

Read more ...

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.

Read more ...

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:

Read more ...

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.

Read more ...

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; }
}

Read more ...

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.

Read more ...

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?

Read more ...