29 Jul 2014

Selamat Hari Raya Idul Fitri 1435 H

Taqabalallahu Minna Wa Minkum

Minal Aidin Wal Faidzin

Mohon Maaf Lahir dan Batin


Semoga amal ibadah kita diterima oleh Allah SWT. Amin

on 29 Jul 2014 02:04 PM

28 Jul 2014

Pengguna Linux dari dulu telah dimanjakan dengan alat bantu yang memudahkan pekerjaan. Apalagi di jaman saya menggunakan Linux cukup klak-klik sudah bisa mengkompresi beberapa folder menjadi 1 berkas dengan tampilan grafis. Metode kompresi yang ditawarkan juga bermacam-macam sampai saya sendiri bingung.

Paling sering saya menggunakan 7z dan zip untuk pengguna MS Windows. Jika diperuntukan pengguna Linux biasanya tar.gz, tar.bz, 7z ataupun menyesuaikan kebutuhan. Gambar dibawah ini menunjukan metode kompresi yang dapat Anda pilih sesuai dengan kebutuhan.

Melalui tulisan ini, saya berserta keluarga menyampaikan Selamat Hari Raya Idul Fitri, 1 Syawal 1435H Mohon Maaf Lahir Batin.
on 28 Jul 2014 01:00 AM

24 Jul 2014

Halo netizen, sudah lama saya tidak menulis artikel di blog ini, dengan alasan yang sama seperti setiap kali saya ungkapkan setelah lama absen menulis, yaitu kesibukan di kantor dan peranan saya sebagai kepala rumah tangga. :D

Dalam kesempatan kali ini saya baru mengenal istilah "Market(ing) Driven Product Development (MDPD)". Istilah ini pertama kali saya dengar dalam rapat internal kantor, dimana sebenarnya saya baru sadar kalau model business perusahaan tempat kerja saya sekarang ini adalah MDPD.

Padahal setelah memahami apa itu MDPD dan saya melihat kembali CV saya, ternyata saya sudah pernah bekerja di beberapa Perusahaan IT di Indonesia dengan model seperti ini. Tapi istilah resminya "baru tau". :p
Read More »
on 24 Jul 2014 01:06 AM

23 Jul 2014

on 23 Jul 2014 02:23 AM

OCR Bagi Pemalas

Jan Peter

Kata Larry Wall kemalasan adalah sebuah kebijaksanaan. Saya terkena kemalasan itu. Saya malas membaca surat resmi yang didigitalisasi dengan dipindai menjadi PDF. Saya malas membaca surat-surat itu berulang-ulang hanya demi mendapatkan nomor surat.

Prekondisi

Saya butuh perkakas untuk kemalasan saya ini. Saya butuh OCR yang bisa dipakai untuk tinggal menyalin informasinya dan memasukkan ke dalam KM. Saya ketemu Tesseract.

sudo emerge app-text/tesseract app-text/ghostscript-gpl

atau

sudo apt-get install tesseract ghostscript

atau cara yang lain yang Anda ketahui.

Tindakan

Ubah PDF menjadi TIFF (atau PNG pun sebenarnya bisa):

ghostscript -o document.tiff -sDEVICE=tiffgray -r720x720 -g6120x7920 -sCompression=lzw document.pdf

Baca berkas TIFF:

tesseract document.tiff hasil-scan -l id

Selesai.

Terakhir

Ini edisi kemalasan maka penjelasan kurang. Ya, mau dikata apa? Silakan konsultasi ke Mbah Gugel.

on 23 Jul 2014 01:49 AM

17 Jul 2014

Saya tertarik menulis tulisan ini setelah melihat geliat demokrasi negara ini yang tiba-tiba berlangkah-langkah lebih maju. KPU membuka data hasil pindaian formulir C1 secara daring. Ada yang panik dan ada yang memuji. Tetapi, saya tak tertarik dengan politik. Saya tertarik dengan ranah keilmuan saya, data terbuka (open data).

Omong-omong, saya mulai saat ini akan menggunakan istilah crowdsourcing dengan istilah gotong royong. Saya lihat cara kerja keduanya yang sama. Gotong royong dan crowdsourcing pada dasarnya menghimpun banyak pihak untuk mengerjakan sesuatu. Mereka juga sama-sama membentuk sebuah komunitas.

Dasar Hukum Keterbukaan Informasi Publik

Setelah saya cari mengenai tulisan saya tentang gotong royong, saya hanya melihat beberapa artikel lama tentang gotong royong. Kalau saya ingat, dulu saya mengira kita jauh tertinggal dari negeri lain. Southampton University sudah lama membuat sebuah laman terdedikasi untuk itu. Distrik Washington membuat sayembara untuk pemanfaatan data. Bahkan, ada inisiatif di Afrika untuk pemerintahan yang terbuka.

Ternyata, Indonesia sudah masuk ke fase ke-2 dari Open Government Partnership. Pemerintah Indonesia tercatat masuk pada bulan September 2011. Pantas tidak masuk radar saya. Waktu itu saya sudah menyerah dan pindah topik.

Setelah mencari tahu, ternyata UU Keterbukaan Informasi Publik (UU KIP) yang saya cintai itu merupakan payung hukum untuk Keterbukaan Informasi. Bukan hanya itu saja! Ternyata menurut ("Tentang OGI", 2012), ada beberapa landasan hukum tentang Pemerintahan yang terbuka:

  • UU No 14/2008 tentang Keterbukaan Informasi Publik
  • UU No 37/2008 tentang Ombudsman Republik Indonesia
  • UU No 25/2009 tentang Pelayanan Publik
  • Permendagri 35/2010 tentang Pedoman Pengelolaan Informasi di Kemendagri dan Pemda
  • PP 61/2010 tentang Pelaksanaan UU 14/2008
  • Perpres 26/2010 tentang Transparansi Pendapatan di Industri Ekstraktif

Dengan adanya akomodasi payung hukum demikian, maka tak heran apabila ada lembaga negara yang memilih untuk membuka diri kepada masyarakat luas. Melihat konsistensi tahun penerbitan, saya bisa bilang bahwa keterbukaan informasi publik dirancangkan dengan matang di Indonesia; bukan tiba-tiba ada seperti dikira beberapa kelompok.

Mengenai payung hukum, saya bukan seorang ahli hukum. Saya serahkan semuanya kepada kawan-kawan ahli hukum tentang pembahasan lebih lanjut aspek hukum keterbukaan informasi. Saya hanya tertarik kepada ranah ilmu saya, yakni apa yang disediakan oleh KPU untuk menunjang Keterbukaan Informasi Publik. Oleh sebab itu, tulisan ini akan lebih ke arah teknis TIK.

Sistem Informasi Penunjang KIP KPU

Salah satu yang memilih untuk terbuka adalah KPU. Dalam situsnya, KPU memberikan akses kepada umum untuk melihat salinan daring dari pindaian seluruh dokumen C1 yang ada. Menurut situs Pemilu 2014 KPU, KPU menyediakan sarana untuk mengunggah. Bahkan lebih dari itu, KPU menyatakan komitmennya dengan mengulang prosedur ini untuk Pemilu 2019.

Sidalih

Sistem besar pertama yang diterbitkan oleh KPU adalah Sistem Informasi Daftar Pemilih Tetap (Sidalih). Menurut Komisioner KPU, Ferry Rizkia Febriansyah, dalam wawancara (Berita Satu News Channel, 2013), sistem informasi ini merupakan sistem informasi pertama di Indonesia yang berfungsi untuk pelacakan perekaman data. Sistem pemilihan umum terbesar di dunia ini berfungsi untuk menyediakan akses informasi publik.

Dalam wawancara tersebut, dijelaskan cara kerjanya adalah sebagai berikut:

  1. KPU mengumpulkan data secara manual.
  2. Data dimasukkan ke dalam Sidalih.
  3. Data yang sudah masuk direkap dan diumumkan di KPU.
  4. KPU menerima perbaikan data dari masyarakat dan proses ini diulang kembali.

Artinya, sistem ini dibuat untuk merekam pekerjaan KPU/KPUD di Indonesia secara daring dan digital, bukan menjadi sistem utama. KPU masih menggunakan sistem manual dalam mengumpulkan data. Sistem ini untuk merekam kegiatan tersebut agar mudah diaudit.

Yang menarik dari kegiatan pengembangan Sidalih ini adalah tim KPU menyediakan sebuah akun khusus di Facebook sebagai perekam kegiatan mereka.[1] Dalam akun tersebut, tersedia sebagai berikut:

  1. Cuplikan antarmuka Sidalih.
    Screenshot User Interface Sidalih

    Screenshot User Interface Sidalih

  2. Daftar kegiatan-kegiatan yang dilakukan.
  3. Visi-misi KPU dalam membuka sistem.
  4. Informasi-informasi kegiatan yang dapat memberi gambaran tentang bagaimana peluncuran Sidalih.

Informasi terkadang memuat sinopsis informal. Lalu, karena menggunakan landasan media sosial, ada interaksi antar anggota tim KPU sekaligus yang cair. Gambar-gambar dan status yang digunakan secara kronologis membuat tampilan situs ini menyediakan informasi mengenai aktivitas KPU dalam menjadikan Sidalih.

Menurut (Pak et al., 2012, 1059-1072), penggunaan antar muka yang lebih nyaman dan intuitif meningkatkan kepercayaan pengguna. Penggunaan media sosial sebagai tampilan KPU dalam mengembangkan Sidalih setidaknya dapat dimanfaatkan untuk meningkatkan kepercayaan publik. Saya katakan setidaknya karena keberadaan laman ini tidak dipublikasikan. Saya tetap apresiasi karena ini langkah pertama KPU.

Mungkin dari satu akun inilah KPU selanjutnya meluncurkan layanan Helpdesk KPU yang akan dibahas selanjutnya dalam artikel ini. Satu hal yang menarik adalah kendati keterbukaan ini, media mencatat bahwa uji coba publik Sidalih ini terlambat.[2] Walau pun demikian sistem ini bisa jadi menjadi acuan berikutnya untuk sistem-sistem terbuka lainnya.

Sistem Informasi Penunjang Pemilu Presiden

Dari dokumentasi yang disediakan oleh KPU, mereka menyediakan Open API untuk memanggil hasil pindaian dokumen C1 per daerah.[3] Open API adalah sebuah terminologi untuk layanan web (web service) yang terbuka untuk siapa saja. Open API yang disediakan menggunakan teknologi RESTful dengan data yang dienkapsulasi dengan JSON.

Proses Layanan Permintaan borang C1 secara daring

Proses Layanan Permintaan borang C1 secara daring

Dari kode sumber, saya menemukan bahwa sistem ini menggunakan platform Indonesia Government 2.0 Platform  versi 0.3 sebagai penyedia teknologi Open API. Aplikasi ini yang menjalankan alamat pemilu2014.kpu.go.id. Pada penyediaan sumber daya gambar, KPU memisahkan ruang penyimpan pada peladen lain dengan alamat scanc1.kpu.go.id. Selanjutnya, mari kita bahas kedua peladen yang menyediakan data terbuka bagi Pemilu Presiden Indonesia.

Peladen Pemilu2014

Peladen Pemilu2014 merupakan sebuah peladen yang menyediakan repositori layanan. Salah satu layanan yang disediakan adalah permintaan pindaian C1. Saya pun penasaran dengan peladen yang digunakan oleh Pemilu2014. Saya melakukan pelacakan sederhana ke peladen ini untuk mendapatkan informasi. Caranya dengan membaca informasi kepala yang dikirimkan peladen tersebut.

$ curl -I -H 'Accept-Encoding: gzip,deflate' -L  pemilu2014.kpu.go.id/css_local/style.css
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Sun, 13 Apr 2014 03:07:21 GMT
ETag: "d2d0563-1262-4f6e3dd847e46"
Cache-Control: max-age=86400
Expires: Thu, 17 Jul 2014 09:50:55 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/css
Content-Length: 1221
Accept-Ranges: bytes
Date: Wed, 16 Jul 2014 19:52:53 GMT
Age: 36118
Connection: keep-alive
X-KPU-Web-Accelerator: HIT

Nampaknya peladen OpenAPI ini menggunakan sebuah manajer tembolok. Dari beberapa rekan yang sempat melihat tampilan pesan kesalahan, nampaknya peladen ini menggunakan Varnish. Di belakang Varnish, digunakan Apache. Dari beberapa kesalahan sewaktu akses, muncul pesan kesalahan tidak dapat menghubungi MySQL. Jadi, sistem ini menggunakan MySQL sebagai basisdatanya.[4]

Peladen ScanC1

Dari contoh data yang dikembalikan oleh OpenAPI dari peladen Pemilu2014, nampaknya KPU mengunggah pindaian dokumen C1 dalam format gambar JPEG. Karena itu, satu dokumen C1 terdiri atas beberapa gambar JPEG.

Data yang terdiri atas banyak dokumen JPEG dapat dioptimasi dengan melakukan penyebaran data. Satu pertimbangan yang menurut saya perlu adalah pentingnya melakukan penyebaran data melalui CDN. Bila memang perlu, situs ScanC1 dapat dijadikan sebuah CDN yakni dengan membuat alamat tersebut ke beberapa IP. Atau, dapat juga terjadi pemartisian penyediaan gambar ke beberapa peladen dalam satu kluster ScanC1. Dua solusi ini dapat menjawab skalabilitas ScanC1 apabila nantinya akan dikembangkan lebih jauh.

$ curl -I -L scanc1.kpu.go.id/view.php?f=131006200100101.jpg
HTTP/1.1 200 OK
Date: Wed, 16 Jul 2014 19:30:54 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u9
Content-Type: image/jpeg

Situs ScanC1 nampaknya dijalankan oleh Apache yang telah mendukung protokol HTTP/1.1. Sistem operasi yang digunakan adalah GNU/Linux Debian 7. Paket PHP yang dipakainya adalah PHP 5.4.4 yang agak tertinggal.

Ada baiknya versi PHP diperbaharui ke versi yang terbaru. Saat penulisan, versi terbaru adalah 5.4.4-14+deb7u12, sedangkan situs ini masih 5.4.4-14+deb7u9. Versi terbaru ini merupakan versi dengan tambalan keamanan terbaru sehingga tidak akan mempengaruhi apa-apa.

Rekomendasi Peningkatan

Berdasarkan analisis kedua peladen yang telah saya lakukan, ada beberapa rekomendasi yang dapat diberikan:

  1. Menggunakan NGINX lebih baik daripada menggunakan Apache2 HTTPd. Apalagi, konten-konten yang disediakan kebanyakan statik.
  2. Menghapus/memodifikasi/menyembunyikan informasi tentang sistem. Informasi ini bisa dipakai untuk mencari CVE spesifik yang dapat dipakai untuk mendobrak situs.
  3. Menggunakan DNS round robin untuk membagi-bagi beban peladen. Penggunaan CDN sangat berpengaruh pada optimasi.
  4. Untuk pemrograman, saya menyarankan menggunakan penyimpan data non-RDBMS seperti LDAP, Memcached, Redis, CouchDB atau MongoDB. Hal ini mengingat kebanyakan data yang disimpan hanya tuple, tidak perlu relasi.

Kalau mau lebih bagus lagi lebih baik pindah platform dari PHP ke platform yang lain. Yang paling masuk akal ke Rails (Ruby) atau Django (Python). Kedua ini lebih handal daripada PHP dalam menjalankan tugas.

Untuk optimasi ekstrim, kalau mau gunakan Erlang HTTP server (Erlang) atau Yaws (Erlang). Paling ekstrim, mungkin bisa menggunakan Wt (C++) atau CppCMS (C++). Atau, gunakan HipHop, kompilator buatan Facebook yang mengompilasi kode sumber PHP menjadi C++.

Sistem Lainnya

Selain Pemilu Presiden, Open API yang disediakan oleh KPU untuk diakses antara lain: ("About", 2014)

  1. Open Data Dapil:
    http://dapil.kpu.go.id
  2. Open Data Caleg:
    http://caleg.kpu.go.id
  3. Open Data TPS:
    http://tps.kpu.go.id
  4. Open Data Partai:
    http://partai.kpu.go.id
  5. Open Data C1:
    http://pemilu2014.kpu.go.id

Wow, ternyata ada banyak data yang dibuka KPU dalam semangat KIP.

Penggunaan Media Sosial Sebagai Perangkat Lunak Pihak Ketiga

Untuk sistem pelaporan, TIK KPU menyediakan dua situs media sosial sebagai HelpDesk-nya: Sebuah halaman di Facebook:

dan sebuah situs Tumblr untuk melaporkan hasil pindaian yang salah:

Memang aneh rasanya untuk menggunakan media sosial yang ditanam di luar negeri. Inilah menurut saya kejeniusan dari tim TIK KPU. Walau pun sebenarnya saya merasa untuk di masa mendatang sebaiknya menggunakan infrastruktur sendiri. Hal ini demi harga diri bangsa juga.[5]

Yang pertama adalah penggunaan Facebook sebagai tempat pengaduan. Zuckerberg, seperti yang dikutip oleh (José van Dijck, 2013, 199-215) menyediakan sebuah identitas tunggal yang transparan. Artinya, Facebook menganut paham yang tidak membedakan identitas dunia maya dan sebenarnya. Artinya, identitas Facebook adalah identitas asli yang dimiliki oleh seorang manusia.

Dengan penggunaan Facebook, KPU telah menyediakan sarana yang lepas dari anonimitas. Hal ini mengurangi vandalisme daring dan meningkatkan kolaborasi yang bertanggung jawab. Dengan jejaring teman sebagai salah satu nilai tingkat kepercayaan, admin KPU dapat saja melihat siapa yang berbicara sehingga meminimalisasi peran bot atau pun orang-orang yang tak bertanggung jawab.

Bagaimana dengan media sosial yang kedua, Tumblr?

Tumblr adalah sebuah media sosial untuk blogging. Infrastruktur dan antarmuka Tumblr didisain untuk membagikan media, terutama gambar. Biasanya, pengguna berbagi gambar di media sosial ini.

Menurut Sundwall dalam ("Why We Recommended Tumblr for the New USA.gov Blog", 2011), ada dua kriteria yang dijadikan persyaratan ketika organisasinya menganjurkan Pemerintah Amerika Serikat membuka situs di Tumblr:

  • Komunitas yang besar dan berkembang.
  • Antarmuka yang memudahkan untuk berbagi dan berinteraksi.

Tumblr menawarkan antarmuka untuk berbagi dan berinteraksi melalui fitur “liking” dan “reblogging”. Fasilitas “liking” adalah menandai sebuah artikel dalam blog Tumblr dengan sebuah tanda menyukai oleh seorang pengguna. Ketika seorang pengguna menandai dirinya menyukai artikel tersebut, maka para pengikutnya akan melihat tanda suka tersebut dalam aliran waktu sang pengguna.

Penggunaan fasilitas “reblogging” menduplikasi sebuah artikel dalam Tumblr sehingga dipos kembali sebagai artikel milik pengguna lain. Tetap saja artikel tersebut akan mencantumkan sumber asli sebagai anti plagiarisme. Hal ini membuat para pengguna dapat berbagi artikel-artikel yang disukainya.

Walau pun tidak resmi (tapi didukung oleh KPU), secara tak sengaja penggunaan Tumblr ini telah menciptakan pengalaman media sosial yang hebat. Sesuatu yang dipelajari di bangsa lain, namun secara tak sengaja terimplementasi di Indonesia.

Menurut Bertot et al., seperti dikutip oleh Christopher G. et al. dalam (Reddick, Christopher G., Aikins, Stephen K., 2013) menyebutkan ada tiga keunggulan penggunaan media sosial oleh badan pemerintahan:

  • Partisipasi demokratis yang aktif. Media sosial menjadi katalisator yang membuat partisipasi aktif masyarakat publik dengan pemerintah dalam membangun dialog dan menyediakan tempat bersuara dalam pengembangan kebijakan dan implementasinya.
  • Produksi bersama (co-production). Pemerintah dan publik bersama membangun, merancangkan, dan menghasilkan layanan-layanan pemerintahan; meningkatkan kualitas layanan, waktu keluarannya, dan sikap responsif yang lebih baik.
  • Solusi gotong royong dan inovasi. Mencari inovasi melalui pengetahuan dan kemampuan yang dimiliki publik untuk mengembangkan solusi inovatif untuk masalah-masalah yang besar di masyarakat.

Pada poin ketiga dapat dilihat bahwa KPU menyelesaikan sebuah masalah besar (penghitungan suara) dengan membuka data rekap Pemilu kepada masyarakat. Penggunaan media sosial yang banyak dikenal oleh masyarakat merupakan sarana yang tepat. Apalagi, kebanyakan media sosial dapat diakses melalui telepon seluler.

Kolaborasi dengan Pihak Ketiga

Setelah KPU mengumumkan keberadaan situs Pemilu2014, muncul pihak-pihak independen yang berusaha memanfaatkan data tersebut. Inilah keindahan dari gotong royong. Setiap orang/entitas dapat berpartisipasi dalam ekosistem ini.

Awal mula munculnya kolaborasi dengan pihak ketiga adalah tertangkapnya informasi mengenai KPU yang menerbitkan formulir C1 tentang Pemilu Presiden di media sosial.

Aplikasi yang pertama kali berjalan yang tercatat adalah sebuah aplikasi web Heroku, Real Count. Aplikasi ini dibuat dengan Rails. Popularitasnya meningkat dan akhirnya dalam beberapa jam bisa menghasilkan data sekitar 14.000+ TPS. Situs ini mencatat ada sekitar 400 akun pengguna. Namun, oleh karena merasa (potensi) masalah non-teknis, pengembangnya memutuskan untuk mematikan aplikasi ini.

Kawal Pemilu

Aplikasi yang berikutnya lebih populer adalah kawalpemilu.org (Kawal Pemilu). Saat penulisan, data TPS yang telah masuk ada sekitar 95,696% dan yang telah diproses ada sekitar 95,1793%. Hal ini dapat dicapai karena relawan yang ikut berpartisipasi sekitar 700+ relawan.

Untuk menjadi relawan yang memasukkan masukan dari formulir C1, Kawal Pemilu mewajibkan relawan untuk mendaftar satu per satu ke sebuah laman Facebook. Lalu, admin akan secara manual memasukkan mereka satu demi satu ke aplikasi Kawal Pemilu. Seperti yang sudah dibahas, penggunaan Facebook menghilangkan anonimitas dan bot.

$ curl -I -H 'Accept-Encoding: gzip,deflate' -L http://www.kawalpemilu.org/#0
HTTP/1.1 200 OK
Server: cloudflare-nginx
Date: Wed, 16 Jul 2014 20:49:40 GMT
Content-Type: text/html
Connection: keep-alive
Set-Cookie: __cfduid=dd392e2ed30ffbd6cfd61b5955a1ea6861405543779819; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.kawalpemilu.org; HttpOnly
Last-Modified: Wed, 16 Jul 2014 16:17:38 GMT
Vary: Accept-Encoding
CF-RAY: 14b1114fd65a01cf-SIN
Content-Encoding: gzip

Dari entri DNS, aplikasi Kawal Pemilu menggunakan Dreamhost sebagai penyedia web. Oh, ternyata aplikasi ini menggunakan Cloudflare sebagai CDN. Ya, untuk script kiddies wassalam-lah. Ha… ha… ha….

Menurut  (John Graham-Cumming, 2013),Cloudfare menggunakan NGINX dengan mengaktifkan fitur OWASP. Fitur ini berguna untuk melindungi serangan dari IP tertentu dan juga mendeteksi apabila terjadi pola serangan. Deteksi ini untuk menolak koneksi yang berbahaya, semisalnya koneksi yang berisi injeksi.

Dari kode sumber, saya melihat bahwa sebenarnya Kawal Pemilu sendiri adalah proksi dari aplikasi Kawal Pemilu di Google App Engine. Saya tidak tahu banyak aplikasi ini karena kodenya tertutup. Yang saya tahu, Google App Engine menyediakan layanan pemrograman web bagi penggunanya. Jadi, solusi ini bisa menekan biaya yang diperlukan oleh Kawal Pemilu.

Aplikasi Kawal Pemilu juga memanfaatkan Google Forms untuk mendapatkan masukan data dari penggunanya. Banyak orang yang menggunakan Google Forms untuk membuat angket penelitian. Angket merupakan salah satu instrumen penelitian sosial untuk menguantifikasi suatu gejala. Dalam hal ini, penggunaan Google Forms sebagai pengisian angket setidaknya sudah jamak.

Jadi, aliran data sebagai berikut:

  1. Aplikasi Google Forms mengurus masukan dari pengguna.
  2. Aplikasi Kawal Pemilu di Google App Engine mengelola masukan tersebut.
  3. Aplikasi Kawal Pemilu yang diakses khalayak ramai memanggil layanan dari Kawal Pemilu di GoogleApps dan menampilkannya ke semua orang.

Mengenai privasi saya tidak membahas karena sifat data yang diolah adalah data publik. Lain cerita bila data yang diolah adalah data tertutup atau sensitif. Saya pasti akan memberikan nilai minus untuk menggunakan teknologi komputasi awan (cloud technology). Dalam hal ini menjadi nilai positif karena membuat semua orang bisa mengaksesnya.  Apalagi, infrastruktur komputasi awan memiliki skalabilitas tinggi.

Omong-omong soal skalabilitas, bagaimana dengan kehandalan sistem ini? Mengingat seluruh kegiatan menggunakan infrastruktur Google, maka kemungkinan untuk menjatuhkan layanan ini adalah kecil. Kecuali sang peretas bisa membuat sistem Google jatuh.

Proses Layanan KawalPemilu.org (kp.o) untuk menyediakan "RealCount" kepada masyarakat.

Proses Layanan KawalPemilu.org (kp.o) untuk menyediakan “RealCount” kepada masyarakat.

Dari hasil pengamatan saya terhadap kode sumber di Kawal Pemilu, saya menemukan dua cara guna:

  1. Cara guna Pengunjung Biasa untuk melihat sajian data.
  2. Cara guna Relawan memasukkan data.

Secara garis besar, begini gambaran alur masing-masing cara guna. Mengingat saya hanya menganalisis dari kode sumber, bisa jadi urutan yang diberikan tidak seperti ini. Namun, secara garis besar inilah yang terjadi.

Cara Guna Pengunjung Biasa

  1. Pengunjung membuka situs kawalpemilu.org.
  2. KawalPemilu.org menyiapkan parameter data dari aplikasi Kawal Pemilu di Google App Engine.
  3. KawalPemilu mengirimkan dokumen HTML + JQuery yang akan memanggil layanan Kawal Pemilu di Google App Engine.
  4. Kawal Pemilu di Google App Engine mengambil data dari Google Forms dan mengolahnya, lalu mengirimkan hasil olahan ke pengguna.
  5. Pengguna melihat hasil tabelnya.

Cara Guna Relawan

  1. Relawan membuka situs kawalpemilu.org.
  2. KawalPemilu.org mengirim laman yang berisi borang isian dari GoogleForms dan gambar pindaian C1 dari KPU.
    Cuplikan contoh pengisian TPS. Gambar diambil dari situs MetroTV.

    Cuplikan contoh pengisian TPS. Gambar diambil dari situs MetroTV.

  3. Relawan membandingkan gambar dan mengisi borang.
  4. Relawan mengunggah borang ke Google Forms.

Seperti yang dijelaskan pada poin 2, Kawal Pemilu menyediakan sebuah laman. Laman tersebut menyematkan gambar-gambar yang diambil dari peladen Scan1 KPU dan borang sederhana yang terhubung ke Google Form.[6] Dengan mengombinasikan dua sistem, maka Kawal Pemilu menyediakan sistem yang terintegrasi dalam menyediakan kebutuhan untuk pelacakan rekam jejak Pemilu Presiden.

Keuntungan Keterbukaan Informasi Publik (KIP)

Keuntungan dari penyediaan data kepada pihak ketiga memungkinkan KPU untuk berkonsentrasi menyediakan data. Pihak ketiga ini kemudian menyediakan layanan kepada masyarakat untuk dapat melihat dan meneliti dokumen-dokumen C1 yang masuk. Masyarakat kemudian melapor langsung kepada KPU mengenai data yang janggal.

Cuplikan pelaporan dari Relawan dan tanggapan KPU. Gambar diambil dari laman Facebook Jaga Suara Pemilu 2014.

Cuplikan pelaporan dari Relawan dan tanggapan KPU. Gambar diambil dari laman Facebook Jaga Suara Pemilu 2014. https://www.facebook.com/jagasuarapemilu2014/photos/a.613923948721973.1073741827.613918222055879/621157114665323/?type=1

Hasilnya adalah kolaborasi yang baik. Banyak laporan yang masuk ke dalam HelpDesk KPU dan ditanggapi. Hasil tanggapan ini kemudian ditindaklanjuti menjadi revisi penghitungan suara. Dilihat dari jumlah laporan di laman Facebook dan Tumblr, animo masyarakat yang melek cukup besar.

Mengenai efek sosiologi masyarakat, saya tidak berani berkesimpulan. Saya tidak ada data sosial. Namun, saya rasa banyak yang merasa puas karena Pemilu kali ini benar-benar merasa ikut bukan sekedar memilih.

Kalau saya bilang, mungkin baru kali ini KPU semenjak zaman reformasi yang kemungkinan besar tidak akan diperadilkan. Mereka telah membuka diri sebesar-besarnya sesuai dengan KIP. Keterbukaan data membuat akuntabilitas mereka dapat dipertanggungjawabkan.

Selanjutnya, untuk ulasan politik, saya angkat tangan karena itu bukan ranah saya.

Kesimpulan

Indonesia memiliki komitmen kuat dalam keterbukaan data. Salah satu yang mengimplementasi sistem ini adalah KPU. Tujuan dari pembuatan sistem ini adalah sebagai perekam jejak kegiatan KPU yang dapat diakses daring.

Keterbukaan ini disambut oleh rakyat Indonesia dengan baik. Dengan menggunakan semangat gotong royong, sistem-sistem yang mengonsumsi data pendukung pun tercipta. Relawan pun ikut dalam proses gotong royong ini.

Kemungkinan besar pada tahun 2019, KPU akan menggunakan sistem TIK bukan hanya sebagai sistem perekam jejak saja, namun sudah menjadi bagian dari proses bisnis KPU. Sistem e-Voting sudah di depan mata! Nah, inilah saatnya merancangkan e-Voting yang terlegitimasi. Sebab, lain cerita bila adanya e-Voting. Perlu adanya uji stabilitas sistem untuk itu karena sistem tidak sekedar sebagai cadangan rekap suara, tetapi digunakan untuk masukan suara.

Daftar Pembaharuan

Perubahan 2014-07-25:

  • Menambah bahasan tentang Sidalih sebagai sistem informasi pionir.
  • Mengubah beberapa kalimat agar lebih masuk akal dan mengalir sehingga bisa lebih dipahami (semoga).
  • Menambah ilustrasi agar tidak tulisan tidak terlalu mengintimidasi dan lebih menjelaskan.
  • Menambah daftar bacaan lanjutan bagi yang tertarik meneliti lebih lanjut.

  1. KPU membuat akun khusus Pendaftaran Pemilih KPU (Tadalih) untuk pengembangan dan pelaksanaan sistem Sidalih. https://www.facebook.com/tadalih ^
  2. Waktu itu DPT sudah mau resmi diumumkan, sehingga kemungkinan pemakaian luasnya belum optimal. http://www.beritasatu.com/nasional/134631-kpu-dinilai-terlambat-lakukan-uji-publik-sidalih.html ^
  3. Saya buat satu cuplikan salinan seandainya situs KPU sedang tidak dapat diakses di https://staff.blog.ui.ac.id/jp/document-php/ ^
  4. Semua informasi ini dapat diketahui dari kesalahan yang tidak diduga ketika mengakses situs ini. Itu sebabnya, agak sulit untuk membuat cuplikan kesalahan tersebut. ^
  5. Ya, saya akui, memang, infrastruktur kita tak sebagus mereka berkat Menteri yang masih juga bertanya guna infrastruktur dasar ^
  6. Saya memutuskan menggunakan tautan dari Metro News agar cuplikan lebih valid. http://pemilu.metrotvnews.com/read/2014/07/15/265995/ini-metode-yang-dipakai-kawalpemilu-org ^

Daftar Pustaka

About (2014, [NO MONTH] [NO DAY]). Retrieved July 17, 2014 from e-Government Lab Fakultas Ilmu Komputer Universitas Indonesia: http://kpu.gov2.cs.ui.ac.id/about.php.^
Tentang OGI (2012, August [NO DAY]). Retrieved July 16, 2014 from Open Government Indonesia : http://opengovindonesia.org/keterbukaan/.^
Why We Recommended Tumblr for the New USA.gov Blog (2011, [NO MONTH] [NO DAY]). Retrieved July 17, 2014 from Measured Voice: http://blog.measuredvoice.com/post/20865615778/why-we-recommended-tumblr-for-the-new-usa-gov-blog.^
Berita Satu News Channel (2013, August 28). Antisipasi Pemilih Ganda, KPU Uji Coba Sidalih [Video file]. Retrieved July 24, 2014 from http://www.youtube.com/watch?v=sD6QJ74qhG4.^
John Graham-Cumming (2013, August 23). CloudFlare's new WAF: compiling to Lua. CloudFlare blog. Retrieved July 17, 2014 from CloudFlare blog: http://blog.cloudflare.com/cloudflares-new-waf-compiling-to-lua.^
José van Dijck (2013, July). You have one identity: performing the self on Facebook and LinkedIn Media, Culture & Society, 35(2), 199-215. doi: 10.1177/0163443712468605.^
Pak, Richard and Fink, Nicole and Price, Margaux and Bass, Brock and Sturre, Lindsay (2012). Decision support aids with anthropomorphic characteristics influence trust and performance in younger and older adults Ergonomics, 55(9), 1059-1072. doi: doi:10.1080/00140139.2012.691554.^
Reddick, Christopher G., Aikins, Stephen K. (2013). Web 2.0 Technologies and Democratic Governance. New York, Amerika Serikat: Springer. doi: 10.1007/978-1-4614-1448-3.^
on 17 Jul 2014 03:48 AM

16 Jul 2014

Akhirnya, setelah sekian lama, kini komunitas Python Indonesia menerima donasi!

Ide ini sudah lama dilontarkan namun baru bisa dieksekusi baru-baru ini. Wow, ternyata jalan dari ide untuk dieksekusi begitu panjang.

Donasi ini pun masih menggunakan rekening a/n pribadi. Belum atas nama organisasi. Yang saya tahu, jika ingin membuka rekening atas nama organisasi maka organisasi harus berbadan hukum. Dan … jalan menuju organisasi berbadan hukum juga masih panjang.

Satu organisasi komunitas di Indonesia yang sudah berbadan hukum yang saya tahu adalah Wikimedia Indonesia. Saya sendiri menjadi menjadi anggota Wikimedia Indonesia. Tapi sayangnya energi saya sudah habis untuk bisa aktif dalam Wikimedia Indonesia. Ingin sekali datang, minimal datang ke RUA, tapi sudah tak ada waktu lagi :|

Sebenarnya, selama ini “donasi” sudah ada. Mulai dari perusahaan yang menyediakan tempat (dan makanan!) untuk kopdar. Lalu para pembicara-pembicara yang bersedia berbagi ilmu. Dan tentu termasuk mereka yang datang dan meluangkan waktu. Dalam kopdar Agustus 2014 nanti, teman-teman malah berencana mengadakan codesprint proyek members.

Semoga langkah donasi ini bisa menjadi satu dari seribu langkah untuk kontribusi komunitas F/OSS di Indonesia.

on 16 Jul 2014 07:49 AM

In POSIX OS (LINUX or MAC OSX), you have a terminal which is used to type some command to remote your server using ssh command.
You can create a local Socks Proxy forwarding traffic directly to your server, so you can bypass internet filtering by your country ISP.
in your POSIX box terminal just add comman -D port (ex. -D 1080), like this :

$ssh -D 1080 user@host.com

Alternatifely you can add port forwarder to your server proxy(you can setup a Tinyproxy) on the Internet using command

$ssh -L 8035:localhost:8035 user@host.com
so with this command, local computer on port 8035 will forward to proxy server port 8035


on 16 Jul 2014 04:16 AM

15 Jul 2014

If you are using newer systemd, the library was renamed. I got it in my GNU/Linux Gentoo with systemd-215. The solution is to add this patch:

--- a/lib/util/wscript_build	2014-06-03 15:05:52.000000000 +0700
+++ b/lib/util/wscript_build	2014-07-15 14:18:37.000000000 +0700
@@ -10,7 +10,7 @@
                     server_id.c dprintf.c parmlist.c bitmap.c pidfile.c
                     tevent_debug.c util_process.c''',
                   deps='DYNCONFIG',
-                  public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid systemd-daemon',
+                  public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid systemd-daemon systemd',
                   public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h',
                   header_path= [ ('dlinklist.h samba_util.h', '.'), ('*', 'util') ],
                   local_include=False,
--- a/wscript	2014-06-03 15:05:52.000000000 +0700
+++ b/wscript	2014-07-15 14:42:19.000000000 +0700
@@ -186,7 +186,7 @@
         conf.check_cfg(package='libsystemd-daemon', args='--cflags --libs',
                        msg='Checking for libsystemd-daemon', uselib_store="SYSTEMD-DAEMON")
         conf.CHECK_HEADERS('systemd/sd-daemon.h', lib='systemd-daemon')
-        conf.CHECK_LIB('systemd-daemon', shlib=True)
+        conf.CHECK_LIB('systemd-daemon systemd', shlib=True)
 
     if conf.CONFIG_SET('HAVE_SYSTEMD_SD_DAEMON_H'):
         conf.DEFINE('HAVE_SYSTEMD', '1')

Put this file in /etc/portage/patches/net-fs/samba-4.1.9/fix-SAMBA4-with-newer-systemd.patch or anywhere suitable. Hopes this help people.

on 15 Jul 2014 10:01 AM

14 Jul 2014

Semarak pemilu dan pilpres 2014 kali ini menyisakan satu bagian yang sangat mengganggu saya: media online penyebar fitnah.

Media-media jenis ini, sering membuat cerita narasi yang kontroversial. Dengan menghubungkan beberapa kejadian nyata dan fakta, dibumbui beberapa imajinasi dan cerita fiktif, dibuatlah artikel yang seolah-olah benar. Tidak lupa media abal-abal ini mendiskreditkan media-media besar yang sudah belasan atau puluhan tahun dianggap kredibel.

Biasanya media-media ini isinya sangat kental dengan nuansa provokasi berbau SARA. Tokoh-tokoh dengan latar belakang SARA tertentu diangkat profilnya dan dihubung-hubungkan dengan cerita fiktif lainnya. Kadangkala mereka melakukan rekayasa pengubahan gambar (image editing) demi memuluskan fitnah dan provokasi ini. Sambil tak lupa menuduh pihak lain lah yang melakukan rekayasa gambar.

Mereka yang Terpelajar

Saya maklum kalau mereka yang “termakan” tulisan-tulisan seperti ini adalah mereka yang secara pendidikan kurang, atau akses mereka ke media informasi yang akurat kurang. Jadi kemampuan mereka menyerap, mencerna dan memverifikasi informasi terbatas.

Yang sangat menyedihkan, mereka-mereka yang berpendidikan tinggi, sarjana dari kampus ternama, bahkan pernah melanjutkan studi tingkat tinggi di negara maju, menempati posisi tinggi di institusi ternama.. –pun ikut “termakan” cerita dan tulisan-tulisan abal-abal ini. Sedih sekali saya.

Sebenarnya, seringkali hanya dengan sedikit googling pun kita sudah bisa mengetahui bahwa tulisan tersebut nyata-nyata bohong. Dan lebih parah lagi, media yang sudah beberapa kali terbukti nyata-nyata berbohong, tetap dijadikan referensi oleh mereka yang dikatakan “terpelajar”.

Ada juga yang lucu, ada saja orang yang aktif menyuarakan di social media agar jangan termakan cerita HOAX (berita / tulisan fiktif dan fitnah), padahal selama ini orang tersebut sering membagikan tulisan dari media-media HOAX di akun social medianya. Lucu.

Saya tidak menyangkal kalau ada media besar dan kredibel yang condong ke pihak-pihak tertentu. Tetapi setidaknya mereka tidak “ngarang-ngarang berita yang nyata-nyata bohong”. Dan ini bukanlah pembenaran untuk menebar fitnah membabi buta.

Yang saya khawatirkan, jika propaganda fitnah seperti ini terus berlangsung, bahkan skalanya semakin masif, tidak menutup kemungkinan sebagian warga negara kita yang mentalnya masih “labil” itu akan bergerak liar. Akan banyak penumpang gelap jika hal ini terjadi.

Batasi Kebebasan Pers?

Di sisi lain.., saya juga tidak setuju jika kebebasan pers kembali dikungkung seperti jaman Orde Baru. Mungkin memang ini harga yang harus dibayar untuk kebebasan pers, tetapi janganlah kita mundur.

Semoga masyarakat kita semakin dewasa. Punya kemampuan mencerna dan memverifikasi tulisan dengan lebih baik.

on 14 Jul 2014 07:18 AM

11 Jul 2014

Sebuah situs yang dikatakan “berat” ketika membutuhkan waktu yang lama untuk sampai menampilkan semuanya. Saat ini semua orang menggunakan Javascript, CSS, dan bahkan cetakan HTML yang berisi lebih dari 100KB. Lebih parahnya lagi, situs-situs banyak yang menggunakan pustaka-pustaka CSS dan Javascript berbeda. Ini menimbulkan waktu tempuh yang sangat besar.

Client-server roundtrips.

Ada beberapa cara untuk mengurangi waktu yang lama untuk menampilkan situs. Baik dari sisi peladen dan pemrograman harus dioptimasi. Berikut hal-hal umum yang biasa dilakukan.

Kombinasi CSS dan Javascript

Mengombinasikan beberapa berkas CSS dan Javascript menjadi satu berkas CSS dan satu berkas Javascript. Dengan demikian, peramban hanya melakukan permintaan sekali ke peladen untuk berkas-berkas ini.

Proses Minifikasi

Melakukan minifikasi. Proses minifikasi melakukan dua hal pada berkas CSS dan Javascript:

  1. Membuang komentar.
  2. Membuang karakter kosong yang tidak perlu (spasi dan baris baru).
  3. Beberapa optimasi melakukan perubahan internal dengan mengganti variabel lokal dengan satu huruf.

Hasil minifikasi membuat kode tidak begitu mudah dibaca oleh manusia. Namun, berkasnya jadi lebih kecil.

Kompresi

Peladen diset untuk mengirimkan berkas-berkas yang diminta dengan dikompresi terlebih dahulu di peladen. Kemudian, peramban akan menerima berkas-berkas terkompresi tersebut, mengekstraksi, dan menampilkan ke pengguna.

Waktu Kadaluarsa

Menentukan waktu kadaluarsa. Dengan menentukan kadaluarsa, konten-konten yang diunduh dari peladen akan disimpan dalam tembolok peramban sampai masa tertentu.

Optimasi Pemrograman

Secara pemrograman, situs dapat dioptimasi. Hal yang lazim misalnya:

  1. Mengoptimasi dengan Javascript untuk gambar-gambar diproses belakangan (lazy load).
  2. Memindahkan beberapa skrip dari HEAD ke BODY dan diset untuk berjalan saat semuanya telah dimuat.
  3. Menggabungkan beberapa gambar kecil menjadi satu gambar besar. Nantinya gambar tersebut digunakan berulang-ulang dengan menggunakan teknik CSS sprite.
  4. Mengompresi ulang dan menentukan dimensi gambar yang ditampilkan agar sesuai dengan yang diset di HTML. Sering kali gambar yang diunggah jauh lebih besar daripada dimensi yang ditampilkan. Gambar yang lebih kecil biasanya berukuran jauh lebih kecil daripada gambar asli.

Kesimpulan

Ini beberapa teknik yang mungkin akan saya bahas. Kemungkinan, sih, kalau saya tak sibuk DoTA 2 atau kegiatan lainnya. Apakah rekan-rekan ada juga teknik lainnya?

on 11 Jul 2014 02:27 AM

09 Jul 2014

Rapper yang terkenal membawakan lagu berjudul Online, Saykoji sepertinya mulai belajar menggunakan Blender untuk mengolah gambar 3D. Hal ini terlihat di pesan Facebook Saykoji.
Learning to create objects with Blender. I can't believe the software is free... Going to have a new hobby 😎
Blender bakal menjadi kegemaran baru Saykoji. Saya berharap beberapa seniman lainnya mulai melirik dan menggunakan piranti lunak yang berlisensi bebas untuk berkarya. Anda tertarik mulai menggunakan Blender untuk mengolah gambar 3D?
on 09 Jul 2014 02:00 AM

08 Jul 2014

Menulis tentang NetworkMiner serasa dejavu, seandainya repost menjadi tulisan pelengkap akhir pekan tentang resep rahasia. Selain menggunakan Wireshark saya juga menggunakan NetworkMiner. Walaupun hanya tersedia untuk sistem operasi MS Windows, NetworkMiner dapat berjalan di Linux.

Saya menginstall NetworkMiner di LinuxMint, berikut langkah installasinya:
1. Install Mono, sudo apt-get install libmono-winforms2.0-cil 
2. Unduh NetworkMiner terbaru di http://sourceforge.net/projects/networkminer/files/networkminer/
3. Ekstrak NetworkMiner ke direktori /opt, sudo unzip ~/Download/NetworkMiner_1-6-1.zip -d /opt/
4. Masuk ke direktori /opt/NetworkMiner
5. Ubah hak aksesnya, sudo chmod +x NetworkMiner.exe && sudo chmod -R go+w AssembledFiles/ && sudo chmod -R go+w Captures/ 

Menjalankan NetworkMiner melalui terminal, mono /opt/NetworkMiner_1-6-1/NetworkMiner.exe.
on 08 Jul 2014 08:25 AM

07 Jul 2014

Rutinitas awal minggu melakukan pemutakhiran paket bawaan distro. Seperti biasa ketik, sudo apt-get update setelah selesai proses justru muncul galat: Problem with MergeList. Tetap tenang walau kondisi politik memanas, halah... gak nyambung.

Mengatasi masalah tersebut cukup "datangi" Terminal, "teriaklah"
sudo rm /var/lib/apt/lists/* -vf 
sudo apt-get update
Dengan menjalankan perintah tersebut permasalahan dapat diselesaikan dan siap menjalankan rutinas lainnya, selamat berbuka puasa....


Referensi:
on 07 Jul 2014 10:35 AM

Video: Piko dan BlankOn

Dedy Hariyadi

Judul video ini adalah Saya dan BlankOn, kata Saya ini merujuk ke pembuat video Herpiko Dwi Aguno +herpiko dwi aguno. Melihat Video ini jadi teringat cita-cita KPLI Jogja ingin membuat video serupa. Cita-cita yang telah turun menurun, dari generasi ke generasi belum juga tercapai.

Adanya video ini semacam cabuk tapi juga angin segar supaya distro lokal lainnya juga terpacu membuat video serupa. Komentar pertama kali melihat video ini, keren!!!

on 07 Jul 2014 08:24 AM

04 Jul 2014

Paket iSCSI Initiator di Solaris 11 adalah paket default, jadi secara default paket ini sudah terpasang di Solaris 11, dalam tulisan ini iSCSI target yang digunakan adalah Openfiler (10.10.10.10). Berikut ini adalah langkah-langkahnya : 1. Aktifkan servis iSCSI Initiator. 2. Proses discover ke server Openfiler. 3. Periksa apakah sudah ada disk baru yang terdeteksi. 4. Read More →
on 04 Jul 2014 06:39 AM

01 Jul 2014

Ini adalah catatan singkat ketika mencoba zfs on linux menggunakan Debian Wheezy 64bit. Sebelum membuat zpool dan zfs filesystem, periksa terlebih dahulu ketersediaan disk yang akan digunakan. Referensi penggunakan dev name bisa dilihat disini. Mulai membuat zpool (datapool) Menambahkan disk hotspare pada pool datapool, tujuan hotspare ini agar pada saat terjadi kerusakan disalah satu diks Read More →
on 01 Jul 2014 04:24 AM
Bahan Lokakarya “Oracle Solaris 11 System Administration” di Universitas Ibnu Chaldun Bogor, 22 Juni 2014.
on 01 Jul 2014 03:37 AM

28 Jun 2014

MacBook Pro dengan processor arsitektur 64bit kebanyakan sudah mendukung ram diatas 8GB, untuk itu saya memberanikan diri untuk upgrade ke 16GB, macbook pro dengan ram 16GB ternyata membuat tidak stabil, kadang Macbook mati sendiri bila menggunakan Battery, jika menggunakan Power Adaptor masalah ini tidak terjadi.
Saya sendiri menulis blog ini masih dalam proses testing. Beberapa cara sudah saya gunakan seperti memeriksa keadaan hardware dengan AHT untuk memeriksa semua kondisi hardware dan reset NVRAM/ PRAM sudah saya lakukan, tapi masalah mati mendadak masih terjadi, jika menggunakan Battery.
Reset NVRAM ini digunakan untuk mereset semua pengaturan yang tersimpan dalam modul memory pengaturan hardware, reset NVRAM hanya ada di semua perangkat Apple komputer keluarga MacBook, iMac, MacPro, MacMini. Untuk petunjuk reset NVRAM/ PRAM pada MacBook Pro sebagai berikut :

Reset NVRAM/ PRAM : 




1. Matikan Macbook kemudian tekan tombol berikut pada keyboard Macbook.
2. COMMAND + R
3. OPTION + P
4. Tekan tombol power secara bersamaan sebelum suara booting khas apple keluar, tunggu hingga 5 detik tetap tekan tombol yang sama sampai komputer hidup ulang untuk kedua kali, kemudian biarkan sampai masuk ke desktop.

Proses reset NVRAM sudah mencapai sekitaran 3 minggu setelah penggantian ram masih terjadi masalah yang sama, Padahal semua kondisi hardware dalam keadaan normal, sudah saya cek dengan menggunakan AHT. Langkah terakhir setelah saya cari cari di forum Apple, solusi dari masalah saya, untuk coba untuk reset SMC, reset SMC ini diperlukan jika hardware kita kacau seperti yang saya alami, masalah pada hardware memang bermacam-macam untuk reset SMC bisa memulihkan menjadi normal kembali.
Masalah yang terjadi biasanaya adalah, battery tidak terdeteksi, pengisian battery yang tidak normal, temperatur dan Fan tidak bekerja secara normal bisa menggunakan reset SMC.
Untuk reset SMC sebagai berikut :

Reset SMC Macbook Pro : 



1. Matikan MacBook, lepaskan magsafe kemudian pasang Magsafe kembali.
2. Tekan tombol pada keyboard OPTION + CONTROL + SHIFT (tombol bagian kiri). 
3. Secara bersamaan menekan tombol power, tunggu 3 detik kemudian lepaskan.
4. Hidupkan Ulang seperti biasa dengan menekan tombol power.

Kesimpulan hardware saya tidak terjadi kerusakan, dan hanya memory SMC yang kacau dengan penambahan hardware baru RAM 16GB, setelah selesai reset SMC masalah diatas tidak terjadi lagi dan Macbook sudah bisa di ajak kerja lagi dengan normal.
Untuk solusi bila terjadi masalah sepeti saya jangan panik keburu-buru membawa ke dokter komputer, periksa baik-baik komputer anda, lakukan langkah-langkah seperti reset hardware (reset SMC dan NVRAM/ PRAM). Sepengalaman saya menggunakan Apple jarang terjadi rewel seperti komputer lain, penangangan hardware apple juga cukup mudah :) 
on 28 Jun 2014 02:29 AM

27 Jun 2014

Blog Pemrograman

Zaki Akhmad

Pagi ini saya membaca tulisan yang menurut saya sangat bagus. Tulisan A. Jesse Jiryu Davis, Write an Excellent Programming Blog. Saya sempat bertemu dengan Jesse dalam PyCon APAC 2014, walau saya tak sempat bercakap-cakap langsung dengannya.

Saya kutip bebas bagian-bagian yang saya suka:

I want you to write. Not just code. Also words.

Thinking by writing.

Dari pengalaman saya menjadi maintainer planpin selama ini, sungguh sulit mendapatkan penulis yang bisa konsisten menulis. OK, tidak mulai dari kualitas, tapi kuantitas dulu saja. Kualitas bisa dibangun dengan kuantitas yang terus menerus ditingkatkan.

Memang, sifat tulisan ini bukanlah sesuatu yang dibayar. Bukan seperti menulis di kolom koran. Tapi bukankah menulis itu jadi satu bagian penting dalam komunitas open source? Bagaimana ide/gagasan disebarkan, bagaimana diskusi dilakukan, dan bagaimana koordinasi dilakukan.

Saya pun sadar, saya masih harus belajar menulis (dan juga membaca!) kode dengan lebih baik.

on 27 Jun 2014 04:35 AM
Jailbreak iOS 7.1.x Untethered dengan Pangu sudah tersedia sejak tanggal 23 Juni 2014, aplikasi jailbreak ini hampir semua iDevices yang mendukung iOS 7.1.x bisa di jailbreak Untethered. Saya sendiri sudah lama menikmati fasiltias jailbreak sejak bulan maret untuk menjailbreak iOS 7.1.x semi untethered dengan GeekSnow. Setelah mencoba menjailbreak iOS 7.1.x untethered dengan Pangu ada beberapa bug yang sedikit mengganggu, tapi tidak begitu mengganggu bila tidak merestart iDevices kita. Bug Pangu Jailbreak iOS 7.1.x terletak di sensor cahaya yang terletark di dekat kamera sekunder (kamera depan).
Bug Jailbreak iOS 7.1.x Pangu terjadi jika iDevices dalam ruangan kurang cahaya dalam keadaan restart, maka iDevices kita akan mengalami gagal booting atau bootloop secara berulang-ulang.


Solusinya cukup mudah cukup menaruh iDevices ke tempat yang lebih terang cahaya untuk booting normal... hmm memang cara seperti ini tidak perlu menggunakan teknologi tinggi atau mengoprek lagi, cukup cari cahaya yang cukup terang .. walla.. iDevices langsung bisa booting normal :P... .Tapi jangan kawatir bug ini pasti akan diperbaiki, tinggal tunggu saja perbaikan bug Pangu Jailbreak iOS 7.1.x untuk perangkat yang sudah didukung Pangu Untethered Jailbreak. Bila tertarik untuk menjailbreak perangkat anda silahkan coba cara ini lebih mudah dari pada kita menggunakan semi untethered, sambil menunggu perbaikan bug yang aneh ini, lagi pula bug ini tidak terlalu mengganggu bila kita tidak hobby restart, saya merasakan Jailbreak ini cukup stabil dibanding menggunakan GeekSnow. :)

##UPDATE - 30 Jun 2014

Setelah ada perbaikkan aplikasi Pangu Untethered Jailbreak iOS 7.1.x ke versi 1.1 bug boot loop sudah FIX, tidak perlu lagi mencari cahaya terang agar bisa booting normal, caranya cukup jailbreak ulang dengan aplikasi Pangu Untethered Jailbreak iOS 7.1.x versi 1.1. Sebelum Jailbreak ulang silahkan backup semua data di iTunes terlebih dahulu.

Selamat menikmati berbagai tweak menarik di Cydia repo ;-)

on 27 Jun 2014 04:17 AM

20 Jun 2014

Bersenang-senang! Iya, bersenang-senang. Karena apa yang saya kerjakan saat ini banyak berhubungan dengan alih-media, saya harus menggunakan dengan baik alat-alat per-alihmedia-an yang tersedia pada GNU/Linux. Salah satunya adalah menggunakan pdftk [0].

Sebetulnya, sudah ada beberapa aplikasi dengan GUI, seperti Master PDF Editor [1] dan PDF Studio [2], tapi bagi saya, setelah menggunakannya, lebih efektif dan efisien menggunakan pdftk. Ya, memang dituntut ketelitian dalam menulis perintah. Oia, pdftk ini aplikasi berbasis teks yang dijalankan menggunakan terminal. Aplikasi ini cukup powerfull mengingat bahwa ia dijalankan lewat terminal. Tapi seperti halnya aplikasi-aplikasi lain pada GNU/Linux, kelihatannya memang tidak indah, tapi percayalah, sama kerennya kalaupun ada antarmuka GUI-nya.

Tulisan ini sebetulnya sebagai pengingat karena perintah-perintah ini banyak saya gunakan ketika user membutuhkan berkas yang harus saya 'jahit' dan 'amankan'. Maksudnya 'jahit', menyatukan berkas-berkas .pdf yang terpisah, lantas disatukan ke dalam satu (saja) berkas .pdf. Lalu setelah dijahit, di-'amankan' dengan mengunci hak akses dan pemanfaatannya seperti mencetak, salin-tempel teks, dlsb. Perintah-perintah yang saya gunakan adalah:
  • pdftk [input.pdf] cat output [output.pdf]
Maksud dari perintah di atas, pdftk adalah aplikasi yang akan dijalankan, [input.pdf] adalah berkas-berkas .pdf yang akan disatukan. Jelas lebih dari satu. Kalau lebih dari satu, isi dari [input.pdf] adalah, misal berkas1.pdf berkas2.pdf berkas3.pdf. Berkas akan dijahit berurutan sesuai data yang ditulis. Lalu cat, perintah yang digunakan untuk menyatukan berkas-berkas tersebut. Output, bagian dari perintah yang akan menghasilkan, [output.pdf]. Pada [output.pdf], masukkan nama berkas keluarannya.
  • pdftk [input.pdf] output [output.pdf] owner_pw [foo] user_pw [foo]
Perintah ini saya gunakan untuk meng-aman-kan berkas yang sudah dijahit tadi. [input.pdf] berisi nama berkas keluaran yang dihasilkan dengan perintah sebelumnya. Atau, bisa juga berisi nama berkas .pdf apapun, yang ingin diamankan. Owner_pw akan mengunci semua properti berkas, seperti yang terlihat pada gambar di bawah ini:

Gambar 1. Keterangan pembatasan berkas yang sudah diamankan dengan perintah owner_pw
Lalu user_pw, akan mengunci berkas ketika dibuka. Jadi, ketika berkas dibuka, akan muncul peringatan untuk memasukkan kata kunci seperti gambar di bawah:

Gambar 2. Masukkan kata kunci untuk mengakses berkas
Done! There you go. Itu dia beberapa perintah pdftk yang biasa saya gunakan untuk pekerjaan yang saya lakukan. Semoga bisa menjadi pengingat dan bermanfaat bagi yang membutuhkan :). Ingin tahu lebih banyak tentang perintah-perintah (dan opsi) yang bisa dimanfaatkan dari pdftk? Masukkan perintah man pdftk pada terminal, musti banyak informasi yang keluar :D. Atau, untuk informasi yang lebih indah dipandang mata, dan lebih mudah dipahami, silahkan baca-baca tautan rujukan di bawah :).

Rujukan:
on 20 Jun 2014 12:28 PM

16 Jun 2014


Ada perangkat baru, Apple Magic Trackpad.. sepertinya kalau sudah mempunyai macbook pro ngapain juga beli barang ini? :D owh sekarang macbook saya cuma saya gunakan sebagai *PC* (keyboard, trackpad, dan Monitor LCD full HD) semua dihandle di luar laptop, jadi macbook saya sekarang ini cuma semacam saya jadikan MacMini. Sebagai designer memang saya sudah terbiasa medesain menggunakan Trackpad dari pada Mouse karena di OSX semua kegiatan untuk mendesain sudah terkover dan lebih nyaman medesain menggunakan trackpad di  OS X dari pada mesin Linux yang menurut saya licin tracking cursor di Trackpad.
Untuk sekerang ini saya juga tidak begitu memerlukan Macbook untuk kegiatan mobile, jadi cuma saya jadikan di remote melalui apple accesories wireless bluetooth, seperti apple wireless keyboard & magic trackpad.


Magic trackpad dihubungkan dengan OSX tidak usah ditanya langsung jalan dan pasti lancar jaya, tapi bagaimana dengan Linux? ternyata di Linux juga bisa. kali ini saya mencoba di mesin Linux yang masih tersisa di lingkungan rumah (Laptop DELL 1410 yang masih setia menggunakan Linux Mint Mate Dekstop), untuk Macbook sepertinya kegiatan memelihara Linux sudah saya matikan (hapus), karena beberapa pertimbangan pekerjaan sekarang ini, untuk tidak lagi terlalu banyak ngoprek Linux.



Untuk menghubungkan Magic Trackpad di Linux mint Mate Dekstop cukup mudah tinggal ramban melalui bluetooth di navbar. kemudian dilanjut untuk konfigurasi selanjutnya, Magic Trackpad di Mate Desktop terdeteksi sebagai Tablet jadi jika meramban perangkat bluetoth silahkan pilih perangkat Tablet yang ada di daftar bluetooth manager.
Sangat disayangkan Mate Dekstop tidak mendeteksi konfigurasi lebih detail seperti pengaturan multitouch gesture, saya hanya menemukan konfigurasi standar, bisa diakses melalui setting --> Tetikus.  Saya belum mencoba Magic Trackpad ini di desktop Unity Ubuntu dan KDE, tapi saya sudah menemukan beberapa referensi untuk ngoprek Magic Trackpad di Dekstop Linux, tapi karena keterbatasan waktu untuk ngoprek hal ini saya urungkan saja. Berikut beberapa tautan untuk mengatifkan multitouch gesture Magic Trackpad di Linux. Saya sendiri belum mempraktekkannya, jadi jika tertarik silahkan mencobanya :)

https://medium.com/@ituxer/apple-magic-trackpad-gestures-on-ubuntu-8aaa4b66a9e2

http://ineed.coffee/1068/os-x-like-multitouch-gestures-for-macbook-pro-running-ubuntu-12-10/

Selamat meNgoprek ...
on 16 Jun 2014 10:54 PM

15 Jun 2014

Bisa langsung saja ikuti langkah berikut ini :

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-apache-tomcat-on-a-debian-server

untuk kepentingan update ke versi jdk terbaru anda bisa mengikuti langkah berikut :

http://d.stavrovski.net/blog/post/installing-oracle-java-8-on-debian-wheezy-or-ubuntu

apabila dibutuhkan, bisa menghapus versi java sebelumnya

http://www.wikihow.com/Install-Oracle-Java-JRE-on-Ubuntu-Linux

 

Untuk membuat Virtual host anda harus memasuki host manager anda kemudian, anda bisa memasukkan absolute path host virtual anda dengan skeleton direktori didalamnya ada ROOT, didalam root ada META-INF.

 


on 15 Jun 2014 05:39 PM

08 Jun 2014

Menarik untuk disimak tulisan dari John Larmer dan John R. Mergendoller yang berjudul 7 Essentials for Project-Based Learning. Bahasan singkatnya: some “projects” border on busywork. Other involve meaningful inquiry that engages student’s minds. Apa yang membedakan projects dengan busywork yaitu projects menekankan pada process of students learning and depth of their cognitive engagement, sementara busywork […]
on 08 Jun 2014 11:49 AM

04 Jun 2014

Satu hal yang menjadikan saya memilih openvpn ketimbang koneksi vpn lainnya adalah mudahnya configurasi serta tidak membanjiri koneksi dengan header GRE. Begitupula dengan dokumentasi OpenVPN yang lebih lengkap, anda bisa mengikuti langkah berikut :

https://community.openvpn.net/openvpn/wiki/Easy_Windows_Guide#DownloadingandInstallingOpenVPN

Untuk file configurasi yang bagus anda bisa memakainya dari salah satu member forum ini :

https://forums.openvpn.net/topic7806.html

Jika kurang puas, anda bisa mengutak ngatik keseluruhan dengan acuan example aslinya OpenVPN

https://openvpn.net/index.php/open-source/documentation/howto.html#examples

Jika anda ingin menambahkan kembali user baru jangan lupa untuk memanggil perintah vars

http://serverfault.com/questions/153489/community-openvpn-receive-error-could-not-find-c-old-when-creating-second


on 04 Jun 2014 04:36 AM

30 May 2014

Gw memiliki sebuah wd-booklive (berbasis debian) yang terletak di suatu tempat yang dirahasiakan :) dan gw jadikan server torrent mempergunakan transmission dengan web-ui dan biasanya gw akses (via port-forward di router) via dyndns domain name (*.dyndns.com) dikarenakan ip yang didapatkan dari provider dynamic.  Sebagai salah satu pengguna tetap dyndns versi gratis, dan dikarenakan router yang gw pergunakan mendukung (via web management) dyndns untuk dynamic dns gw merasakan...
on 30 May 2014 12:16 PM

27 May 2014

Hari ini saya mengunjungi halaman awal planet python. Di kiri atas ternyata ada tautan ke Planet Python Summer of Code. Saya buka, wah bagus sekali isinya. Inilah yang saya cari.

Jadi planet ini berisi cerita para mahasiswa yang mengikuti GSoC, lebih spesifiknya dengan bahasa pemrograman Python. Beberapa waktu lalu, saya posting mengenai Python di GSoC 2014.

Dengan membaca blog ini, kita jadi tahu cerita bagaimana para peserta dalam mengikuti GSoC. Selama ini saya ingin mencari tahu, lebih detail, tentang kontribusi Python dalam GSoC. Planet ini minimal sudah membuka jalan.

on 27 May 2014 09:15 AM

26 May 2014

gambar diambil dari: http://www.youthedesigner.com/wp-content/uploads/2008/11/cool-fonts-12.jpg
Bagaimana ya? Yang paling ngga' cihuy sebetulnya adalah menolak permintaan klien. Walaupun keadaan sebenarnya memang sumber daya kita terbatas. Setidaknya bagi saya, dan hal ini dibatasi pada kegiatan merancang sesuatu.

Beberapa hari yang lalu saya 'diminta tolong' oleh dosen saya, untuk merancang banner program studi tempat saya belajar. Ya...dengan kemampuan saya yang pas-pas-an (pas dibutuhin bisa dibuat bisa :D), saya usahakan merancang banner yang saya anggap layak dan keren. Namun, setiap pekerjaan pasti ada kegiatan evaluasinya. Setelah saya serahkan desain awal ke dosen saya tersebut, ternyata banyak yang harus diperbaiki. Terutama di bagian penggunaan fonta. Dosen saya meminta fonta-fonta yang tidak pernah terfikirkan oleh saya untuk saya pasang. Karena nyata-nyata, saya hanya memasang fonta yang tersedia pada repositori perangkat lunak.

Walhasil, untuk memenuhi permintaan klien #tsaah, akhirnya saya mencari-cari, mengubek-ngubek internet supaya penggunaan fonta sesuai permintaan bisa dipenuhi. Fonta-fonta yang diinginkan adalah fonta seperti, Cambria, Berlin Sans, dan Lucida Handwriting. Bah! Mana ada fonta-fonta itu pada repositori yang ada! Lantas?

Ya sudah, untuk memasang fonta seperti Cambria, cara yang saya lakukan adalah seperti ini. Oia, dengan memasang Cambria, fonta-fonta yang lain jugak akan ikut terpasang. Seperti CalibriCandaraConsolasConstantia, and Corbel. Menurut situs yang menayangkan cara pemasangannya [0], Cambria dan kawan-kawan merupakan fonta yang diperkenalkan oleh Microsoft Windows Vista dan Microsoft Office 2007 untuk menggantikan fonta-fonta klasik seperti Times New Roman, Arial, Courier New, dlsb. Okeh, jadi cara pemasangannya adalah, GNU/Linux way:

1. pasang paket cabextract
$ sudo apt-get install cabextract
2. Lalu unduh powerpoint viewer dan esktrak dengan perintah:
cabextract -F ppviewer.cab PowerPointViewer.exe
3. Dilanjutkan dengan membuat direktori pemasangan fonta-fonta tersebut:
sudo mkdir /usr/share/fonts/vista
4. Kemudian, mulai ekstraksi fonta-fonta yang akan dipasang:
sudo cabextract -F '*.TT?' -d /usr/share/fonts/vista ppviewer.cab
5. Ditutup dengan memperbarui cache fonta yang ada di mesin:
fc-cache -fv 
Jreng! Hnah ini penampilan fonta-fonta yang sudah berhasil dipasang pada mesin saya. Saya tampilkan pada aplikasi inkscape.


Tapi, bagaimana dengan lisensinya? Apakah huruf-huruf tersebut memang sebenarnya bebas untuk digunakan? Hmmm, kalo menilik ke laman yang saya jadiken acuan, semuanya dikembalikan kepada yang menggunakan sich. Ybs, dalam tulisannya memberikan beberapa alasan yang cukup masuk di akal, dengan pengertian yang sederhana menurut saya. Kalo memang man tereman keberatan dengan pemakaian fonta-fonta tersebut, dapat menggunakan fonta alternatifnya [1].




on 26 May 2014 11:09 AM

23 May 2014

AT Command Pengganti MDMA

Rolly Maulana Awangga

Screen Shot 2014-05-23 at 6.09.12 PM

Jika kita terbiasa di windows, tools MDMA untuk melihat sinyal dan status jenis koneksi modem sangat mudah. Tapi apa yang terjadi jika kita memakai linux. Mudahnya kita cukup menggunakan at command nya saja, beberapa at command yang cukup berguna antara lain :

at!selrat=02  # set hanya ke mode 2G

at!selrat=01 # set hanya ke mode 3G

at!band=00 # set bisa semua band

at*cnti=0 # mengetahui jenis koneksi sambungan yang sedang berjalan  GSM”, “GPRS”, “EDGE”, “UMTS”, “HSDPA”, “HSUPA”

selamat mencoba.

untuk at command lengkapnya bisa di lihat di sini.2130617_supported_at_command_reference-v2.4


on 23 May 2014 11:18 AM

18 May 2014

I recently found a way to use Google Chrome’s Compression Proxy (which currently only available for mobile (Android/iOS) user) for desktop purpose and for every browser.

I take the inspiration from an Unofficial Google Chrome Compression Proxy plugin/extension for Google Chrome (which you can install and use it easily in only Google Chrome browser) here (background.js).

The trick is so simple: This compression proxy is just like an usual web proxy (located at proxy.googlezip.net), and we might set it using proxy configuration provided by every browser. But it is not that simple because if you do this, Google Proxy will just replying a “Bad Gateway” response. To overcome this, we need to insert a custom Proxy-Authorization (which I took from background.js source code) every time we connect to an HTTP server.

How the hell we can do that? Not so simple because the only way I know to do this is to create a custom squid3 server which act as http trafic interceptor and will forward every http traffic (with an inserted header) to Google Proxy. So if you want through with this, follow this not-so-easy steps. But if don’t, stick with Google Chrome Compression Proxy plugin/extension for Google Chrome I provided above :

  • Install squid3. You are lucky being a Ubuntu/Debian Linux user because you can just do apt-get install squid3. For other OSes, Google to find the way.
  • Edit and replace /etc/squid3/squid.conf (or any other similiar path in Windows/Mac OS) with this very basic squid3 configuration here (backup the previous one) :

http_port 3128
cache_dir ufs /var/spool/squid3 100 16 256
cache_mgr local@localhost
access_log /var/log/squid3/access.log combined

http_access allow all

cache_peer 74.125.28.211 parent 80 0 default
request_header_add Proxy-Authorization "SpdyProxy ps=\"1390372720-748089166-1671804897-22716992\", sid=\"95b3da26c6bfc85b64b4768b7e683000\"" all
  • Save the file and restart the squid3 server by using service squid3 restart in Debian/Ubuntu Linux (or any other method in your OS).
  • Open Firefox (or another non Google Chrome browser to prove my point), set ONLY your http proxy to 127.0.0.1 port 3128.
  • Open [http://whatismyipaddress.com/]] to prove that you are using Google Proxy, not from your ISP.

No, I am not in Vietnam.

Yeah, this thing is very experimental. In my experience, I need to restart Squid3 every hour to ensure that the traffic still going through Google. FYI, this thing won’t compress your HTTPS connection because it not supposed to be compressed (but encrypted). And this experiment doesn’t use any special SPDY-based method so it just very plain HTTP/1.1 based connection.

on 18 May 2014 01:29 PM

14 May 2014

hitung jumlah halaman

Arif Syamsudin

Sebelumnya memang udah kepikiran, gimana caranya agar saya bisa menghitung jumlah halaman berkas dalam format pdf [0] yang sudah saya buat dari hasil alih media.

Oia, sebelumnya, pekerjaan saya saat ini adalah meng-alihmedia-kan berkas cetak, ke dalam bentuk elektronik. Salah satu bentuk berkas alihmedia yang saya gunakan adalah pdf. Ya, karena tipe berkas ini adalah tipe berkas yang menurut saya sudah cukup sangat terkenal. Perangkat elektronik, dengan sistem operasi apapun sepertinya bisa membuka jenis berkas yang satu ini.

Lalu, gimana dengan kepikiran yang dah jadi pernyataannya sebelumnya? Ah iya, jadi, kepikiran gimana menghitung jumlah halaman di dalam berkas pdf sebetulnya untuk keperluan laporan. Laporan berapa banyak halaman yang sudah saya alihmedia-kan. Bagaimana caranya melakukan penghitungannya baru terfikir setelah diminta oleh bu bos :D.

Okay. Lantas gimana caranya? Cara yang tercepat, adalah yang pertama kali saya dapat lewat pencarian. Pakek perintah lewat bash. Iya. Ini skrip bash yang saya dapat:

#!/bin/sh
for f in *.pdf; do
echo -n "$f: "
pdfinfo "$f" 2>/dev/null | grep Pages | cut -d ":" -f 2
done
jreng donq. Ya. Hasilnya sangat membantu. Tapi...ada tapinya, saya belom bisa modifikasi berkas ini. Dengan perintah bash ini, saya harus memasukkan si berkas bash ke dalam tiap direktori yang berisi banyak berkas pdf. Baru jumlah halamannya bisa terhitung. Kalo langsung nembak direktori, ngga' bisa keitung :(. Mungkin ada yang bisa nambahin berkas bash ini, sehingga bisa langsung nembak direktori, buat ngitung jumlah halaman dari berkas pdf yang ada di dalam suatu direktori? :). Dengan senang hati saya akan menggunakannya.

Oia, nanti keluarannya akan seperti ini:
$ ./countpdfpages 
Materi 1 Perkenalan.pdf:           10
Materi 2 Norma hukum.pdf:           14
PEMBENTUKAN DAN PENILAIAN PERATURAN.pdf:           19
Sistematika dan asas dalam perundangan di Indonesia.pdf:           10
Haaa...gimana, cihuy khan? Kalo mau dikeluarin ke dalam format yang lebih bersahabat, misalnya .csv, tinggal dibuat keluarannya ke dalam berkas .csv. Perintah yang saya pake begini:
$ ./countpdfpages > keluaran.csv
Nanti hasilnya tinggal buka pakek libreoffice. Pilih delimeternya ' : ', dan hasilnya, cukup membantu buat menghitung total halaman di dalam berkas pdf.

Semoga membantu :).

[0] http://en.wikipedia.org/wiki/Portable_Document_Format
[1] http://www.hermann-uwe.de/blog/counting-pages-in-multiple-pdfs-from-the-command-line-using-pdfinfo-or-pdftk
on 14 May 2014 01:50 PM

13 May 2014

Image

University of Cambridge (Inggris) sering sekali disebut sebagai salah satu universitas top dunia, selain itu juga disebut sebagai universitas tertua no 2 di dunia. Universitas tertua no.1 di dunia adalah University of Oxford (Inggris), hanya saja tidak pernah ada catatan resmi dan sahih kapan pertama kali kampus top dunia ini didirikan.

Tahu tahun berapa University of Cambridge ini didirikan? Tahun 1209. Tua banget ya…? Kebayang gak seberapa tua universitas ini? Biar dapat gambaran aja ya, Kerajaan Majapahit yang sangat dibanggakan di sejarah kita itu.., berdiri nya tahun 1293. Iya.., Majapahit itu baru berdiri 84 tahun setelah University of Cambridge didirikan..!

Jadi waktu kita ngebayangin ksatria-ksatria jaman Majapahit itu saling beradu ilmu kanuragan, terbang-terbang di langit, naik kuda putih, dengan pukulan-pukulan dewa.., ingatlah, di rentang waktu yang sama di Inggris sana, ada mahasiswa-mahasiswa yang sedang belajar di kelas, atau melakukan riset ilmiah untuk perkembangan ilmu pengetahuan, atau mungkin sebagian sedang selfie dengan lukisan di kain kanvas.

Oh.., bukan, saya bukan bermaksud menganggap negara Indonesia rendah diri. Ini cuma mau memberikan gambaran saja, seberapa jauh Indonesia itu harus mengejar ketinggalannya dari negara maju seperti Inggris. Bukan hanya soal sains, tapi juga soal mental, Revolusi Mental kalo kata bapak yang itu. *eh* :P

*Eh iya kalau ada yang mau bikin film semi-fiksi, bisalah itu bikin cerita dengan latar belakang jaman Kerajaan Majapahit. Begini kali ya..

Salah satu patih dari Majapahit dikirim tugas belajar ke University of Cambridge, lalu jatuh cinta dengan wanita bule disana. Pihak kerajaan Inggris maupun Majapahit tidak merestui hubungan ini, hingga sang patih dipaksa pulang. Tetapi wanita bule tadi ternyata sudah hamil duluan. (ya.. nafsu birahi kan gak kenal jaman bro..)

Lalu, Sang pangeran Inggris yang dijodohkan dengan wanita bule tadi tidak terima, berlayar lah ia ke Asia untuk membalaskan dendamnya. Inilah cikal bakal penjajahan Inggris di Asia Tenggara.

Tapi plis, jangan masukin tokoh-tokoh siluman serigala yang masuk jadi cinta segitiga ya.., plis..

on 13 May 2014 08:57 AM

09 May 2014

Ubuntu 14.04 Trusty Tahr LTS adalah versi Ubuntu yang hendak saya gunakan sebagai pengganti Precise Pangolin. Precise telah menemani saya selama dua tahun ini di laptop ASUS K43B.

Namun usaha saya untuk install mengalami masalah:

Installer sering hang — untuk mengatasinya saya tambahkan opsi acpi=off di grub saat booting.

Setelah di-install, wireless off, Fn key tidak berjalan dengan baik  — hal ini karena ada opsi acpi=off di grub

Setelah dibuang opsi acpi=off di grub, Ubuntu sering hang, atau tidak bisa login / logout /restart / shutdown.

Setelah gogling sana-sini, nyerah :(

Pindah ke BlankOn Suroboyo, eh saat install hang… pertanda buruk, cari yang lain (padahal saat test dg VirtualBox, lancar).

Pindah ke ElementaryOS Luna, lancar!

Namun yang membuat saya kurang nyaman dengan OS ini adalah File Manager-nya, saat mode “view icon” dan membuka dua jendela, jendela satu berubah jendela yang lain ikut “refresh“.

Pindah ke Xubuntu Trusty Tahr

xubuntu

Sama seperti di Ubuntu, harus menambahkan opsi acpi=off di grub saat booting saat install. Proses install berjalan lancar.

Hasil install juga berjalan lancar, bahkan tanpa opsi acpi=off. Masalah baru timbul setelah saya menjalankan “apt-get upgrade“. Oh…

Masalah seperti di Ubuntu Trusty muncul. Dugaan saya ini karena masalah kernel baru yang dipasangkan saat saya “upgrade” tadi. Mau pindah lagi ke ElemetaryOS? Hm… Tunggu dulu! Setelah gugling ada petunjuk untuk menggunakan driver “fglrx“, saya coba install dengan “apt-get install fglrx“.

Alhamdulillah, lancar! :)


Filed under: Linux, Ubuntu Tagged: Install, Linux, Ubuntu, Xubuntu
on 09 May 2014 04:43 PM
ONE OK ROCK

Jadi saya baru aja make aplikasi keren ini. Aplikasi ini bikin berkas pdf, yang masukannya berupa gambar namun teks, bisa dicari (searchable). Maksudnya searchable,  itu yang kalo kita nyari kata atau kalimat maka teks yang ketemu akan di-highlight sama pembaca berkas pdf.

Namanya pdfocr. Bagaimana cara memasang, terus menggunakannya? Semuanya dijelasin koq, di situsnya.

a. Ini buat yang pakek Ubuntu, http://ubuntuforums.org/showthread.php?t=1456756
b. Buat yang mau nge-clone langsung dari github, https://github.com/gkovacs/pdfocr

Asiknya, terutama di situs Ubuntu Forums, dijelasin bagaimana cara kerja program ini, terus aplikasi lain apa aja yang dibutuhin sama aplikasi ini. Bukan cuma itu, apa yang bisa dan tidak bisa dikerjakan oleh aplikasi ini jugak dijelaskan dengan baik, saya rasa. Jadi orang, yang mau pake, ngga' dulu berharap banyak, lantas kecewa. Jadi, cukup baik lah penjelasannya :).

Sekedar catatan, bagi yang mau me-"render" berkas pdf-nya dengan aplikasi ini, harap bersabar, karena prosesnya agak sedikit lama (agak koq sedikit ya?), terutama kalo berkas yang mau diolah punya banyak halaman. Yang pernah saya lakukan, 16 halaman memakan waktu sekitar 10menit-an. Tapi, hasil akhirnya ngga' mengecewakan koq. Layak dengan waktu tunggu. Worth to wait lah. Begitu kira-kira ceritanya :).

on 09 May 2014 03:57 AM

08 May 2014

ngacak-ngacak manokwari

Arif Syamsudin

Gambar 1. Tampilan destop mesin saiah

Ceritanya mati gaya sama warna tema Suroboyo (BlankOn 9 - red). Lantas, saya coba menggantinya dengan metode yang dituliskan di situs yang saya dapatkan lewat internet [0]. Hmmm, saya ngga' menyalahkan situsnya, karena di situsnya tertulis, "...di BlankOn Rote 8.0". Lah saya nekat, saya malah pasang di BlankOn 9.0 Suroboyo. Mungkin, mungkin seharusnya ngga' bermasalah kali ya. Cuman kebetulan saya ajah yang lagi apes :).

Nah lantas, setelah saya coba pasang, jadinya malah begini:

Gambar 2. Menu hilang

Gambar 3. Destop hilang

Nah, kalut donq! Lha iya. All jobs pending due to this matter. Halah, gaya loe tong, tong! Nah, gimana donq akhirnya? Dapet saran dari pak menejer humas, salah satunya adalah menyalakan perintah ini:

# dpkg-reconfigure manokwari

Wih iya, ada jurus pamungkas. Etapi setelah dicoba, ngga' ngepek. Galat yang ada ya masih ada. Lantas, setelah mencari pencerahan sana-sini, ngalor-ngidul, kesimpulannya adalah, saya ganti saja semua berkas yang ada di dalam direktori /usr/lib/manokwari/system dengan isi dari BlankOn yang lain. Untuk kasus mesin yang saya gunakan, saya menggunakan isi direktori system dari BlankOn X Tambora yang ada di mesin kantor. Kebetulan ada BlankOn X Tambora di VirtualBox. 

Dikompres, bungkus, lempar pakek scp, jreng. Setelah itu langsung saya ekstrak ke dalem direktori /usr/lib/manokwari/system yang ada di mesin saya. Hasilnya...destop sudah kembali ke dalam kondisi yang sempurna :).

Alhamdulillah. Kalo begitu, kita lanjutin ngoprek dan ngerjain tugas kampus. Banyak banget! :(.


Referensi:
on 08 May 2014 10:45 AM

07 May 2014

Alternatif Cpanel di Debian Linux

Rolly Maulana Awangga

Kita bisa memakai virtualmin yang merupakan add on dari webmin, jangan lupa untuk chroot seperti yang ada di blog ini

http://blog.thewebsitepeople.org/2012/10/virtualmin-sftp-chroot/

 

Lebih dalam lagi untuk chroot :

http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/

untuk variable virtual min :

http://www.virtualmin.com/documentation/developer/prepost


on 07 May 2014 12:31 AM

30 Apr 2014

Install oci8 di Ubuntu 14.04

Kurnia Ramadhani

Apakah aplikasi web anda membutuhkan koneksi ke database oracle? Jangan khawatir, banyak jalan menuju roma. Banyak driver-driver yang dapat digunakan untuk menghubungkan ke database oracle, salah satunya oci8. oci8 merupakan salah satu driver yang digunakan dalam aplikasi php untuk menghubungkan dengan database oracle.

Lalu bagaimana cara instalasinya? Apakah sulit? Ternyata tidak cukup sulit, cukup mudah untuk dilakukan. Berikut langkah-langkah instalasi oracle8 di ubuntu 14.04.

  • Download instantclient-basic dan instantclient-sdk dari website oracle.
  • Unzip kedua file tersebut di dalam folder misal di /usr/local/lib.
  • Jalankan perintah berikut di terminal:

    # echo /usr/local/lib/instantclient_11_2 >> /etc/ld.so.conf
    # ldconfig

  • Download oci8 dari http://pecl.php.net/package/oci8.
  • Extract hasil download oci8 tersebut, kemudian masuk ke dalam folder tersebut melalui terminal.
  • jalankan perintah berikut :

    # ./configure -with-oci8=shared,instantclient,/path/to/instantclient
    # make install

  • Setelah proses instalasi berhasil, restart service apache2.
  • Jika koneksi ke oracle belum berhasil, tambahkan baruis extension=oci8 pada /etc/php5/apache2/conf.d/20-oci8.ini dan /etc/php5/conf.d/oci8.ini, kemudian restart kembali service apache2.

Oke, sekian celotehan saya kali ini. semoga dapat memberi manfaat untuk yang membutuhkan. Akhir kata, selamat membaca. :-)


Sumber : google, ubuntuforums.

 

on 30 Apr 2014 01:37 AM

24 Apr 2014

X Ray

Okto Silaban

X-Ray

Barusan update mesin WordPress blog ini, setelah selesai saya baca ada fitur upload audio (audio gallery). Jadi tulisan ini sebenarnya untuk mencoba fitur itu aja sih.

Oh iya, musik di atas ciptaan saya sendiri. Ini salah satu yang saya maksud dalam tulisan saya terdahulu. Dari semua musik genre dance yang pernah saya buat, saya paling suka yang ini. Terasa menyenangkan setiap di dengar. Terutama ketika di dengarkan di jalan saat saya menuju suatu tempat yang menyenangkan atau seru. Pas di jalan mau ketemu gebetan misalnya. *eh. Haha.

Enjoy..!

Catatan: Lagu ini sebenarnya belum selesai, makanya di bagian akhir mungkin terasa agak kurang nyambung. Tapi beberapa berkas untuk membuat lagu ini tercecer entah kemana.

on 24 Apr 2014 04:31 AM

23 Apr 2014

Image

Mengunjungi suatu tempat wisata populer itu gampang-gampang susah. Soalnya rata-rata tempat wisatanya kita pernah dengar. Misal kalau di Jogja, kita sudah familiar dengan nama Candi Prambanan, Candi Borobudur, Pantai Parangtritis, Malioboro, Keraton, dll. Tetapi lokasi persisnya di mana, biasanya traveler pemula masih belum paham.

Mengingat biasanya waktu berwisata itu biasanya tidaklah panjang, hanya beberapa hari, maka perencanaan wisata yang matang itu perlu banget. Nginep dimana biar gampang menjangkau tempat wisata A, B, C dalam satu hari. Lalu hari kedua bisa gak mengunjungi D, E, F dalam satu kali jalan.

Nah untuk di Jogja, inisiatif YogYES.com untuk membuatkan peta wisata Jogja ini sangatlah membantu perencanaan wisata kita di Jogja. Lengkap dengan koordinat GPS nya cuy..! Dengan peta ini kita bisa tahu misalnya bahwa ternyata tempat wisata A, D, F itu ada dalam satu jalan. Jadi mending hari kedua baru ke B, C, E.

Cara dapetin petanya? Ada beberapa cara. Cekidot.

on 23 Apr 2014 03:46 AM