Setelah membahas library Python & PHP untuk baca-tulis Excel. Perlu juga diketahui addin Python untuk Excel, sehingga kita bisa membuat script otomasi di file Excel dengan bahasa Python. Selama ini saya hanya menggunakan visual basic MS Office untuk otomasi di file Excel.
Informasi selanjutnya: https://www.pyxll.com/index.html
Wednesday, April 30, 2014
Tuesday, April 29, 2014
Python & PHP Library untuk MS Excel
Akhir-akhir ini pekerjaan ofisial saya banyak terkait extract data dari file Excel (xls atau xlsx) dan output ke file Excel. Berikut daftar library yang paling cocok untuk pekerjaan tsb.
Fitur PHPExcel lengkap dari baca-tulis (dalam beragam format: xls, xlsx, csv, html, pdf), formatting-printing, menghandle Excel formula dan charting.
Sumber: https://phpexcel.codeplex.com/
Selain PHPExcel, Anda dapat menemukan proyek library lain untuk MS Office di GitHub PHP Office https://github.com/PHPOffice/
Sumber: http://pythonhosted.org/openpyxl/#
Sumber: http://www.python-excel.org/, http://pythonhosted.org/xlutils/
PHP
PHPExcel (CodePlex)
Satu-satunya library yang bisa mengakomodasi segala keperluan saya untuk memproses file Excel dari PHP.Fitur PHPExcel lengkap dari baca-tulis (dalam beragam format: xls, xlsx, csv, html, pdf), formatting-printing, menghandle Excel formula dan charting.
Sumber: https://phpexcel.codeplex.com/
Selain PHPExcel, Anda dapat menemukan proyek library lain untuk MS Office di GitHub PHP Office https://github.com/PHPOffice/
Python
Untuk Python pilihannya banyak, tetapi saya masih sulit menemukan sekelas PHPExcel di PHP.OpenPyXl
Library untuk baca-tulis file Excel 2007 xlsx/xlsm. Fitur meliputi baca-tulis, formatting, charting dan handle formula Excel. Openpyxl diklaim sebagai port PHPExcel di atas untuk Python.Sumber: http://pythonhosted.org/openpyxl/#
PHP-Excel
Library terbagi menjadi 3 modul: xlrd untuk baca file excel, xlwt untuk menulis/membuat file excel dan xlutils untuk mengcopy atau modifikasi file excel yang ada.Sumber: http://www.python-excel.org/, http://pythonhosted.org/xlutils/
Monday, March 03, 2014
Cara efektif menguras battery laptop
Beberapa hari ini batteray laptop saya terasa cepat habis. Sebelum membuangnya dan beli batteray baru, apalagi diakhir bulan :), ada baiknya kita perbarui kondisi laptop kita. Membeli batteray baru adalah langkah terakhir.
Caranya adalah memakai sampai habis batteray kemudian di-charge ulang sampe penuh. Kita bisa cari di internet berbagai cara 'mencuci' batteray seperti itu. Satu tahapan yang harus dilakukan adalah memakai batteray sampai habis, alias menguras batteray. Bagi yang pernah melakukannya, pasti pernah merasakan lamanya menguras batteray. Berikut cara menguras yang lumayan cepat:
Caranya adalah memakai sampai habis batteray kemudian di-charge ulang sampe penuh. Kita bisa cari di internet berbagai cara 'mencuci' batteray seperti itu. Satu tahapan yang harus dilakukan adalah memakai batteray sampai habis, alias menguras batteray. Bagi yang pernah melakukannya, pasti pernah merasakan lamanya menguras batteray. Berikut cara menguras yang lumayan cepat:
- Cabut sumber power AC, alias cabut power adaptor dari laptop.
- Buat tingkat kecerahan display ke maximum. Sepertinya ini cara paling cepat menguras batteray laptop Anda.
- Nyalakan koneksi wifi Anda, buka website yang otomatis memperbarui penampilan, seperti skore pertandingan olahraga ESPN
- Nyalakan juga bluetooth, kalau laptop Anda memilikinya
- Cari aplikasi yang bisa berjalan di background. Jalankan mereka. Kalau bisa lebih dari satu aplikasi. Misal, GoogleDesktop, yang melakukan indexing file-file komputer Anda. (ini salah satu aplikasi favorit saya, tetapi juga penyebab utama batteray laptop saya terkuras ;) Lainnya seperti antivirus, atau program-program drive-cloud seperti Dropbox, Google Drive dll.
- Gunakan semua koneksi USB laptop. Sambungkan konektor USB laptop ke peralatan seperti mouse, player DVD, hardisk external.
- Kalau CD/DVD player, gunakan untuk memutar musik atau video. Santai saja kalau videonya agak tersendat atau muncul flicker, itu tandanya batteray laptop Anda akan terkuras kurang dari 30 menit.
Friday, February 28, 2014
Membuat Symbolic Link di Windows 7
![]() |
| Fig 1. MKLINK.EXE |
Sebagai programer yang banyak bekerja dengan command-line, baik untuk mengeksekusi tools pembantu, atau pun untuk otomasi, seringkali kita ingin berpindah dari satu folder ke folder lain, atau ingin mengakses secara cepat suatu file tanpa menghiraukan path file sesungguhnya. Maka kita memerlukan Symbolic Link file atau folder tersebut di folder kita bekerja sekarang.
Symbolic Link adalah file atau folder simbolik yang menunjuk ke file atau folder sesungguhnya di sistem file. Bila Anda pengguna sistem operasi Unix-based, maka konsep ini familiar. Bila Anda pengguna Windows, konsep ini mirip dengan shortcut.
Shortcut hanya berlaku di desktop, sehingga bila Anda klik shortcut tersebut, maka File Explorer akan mengarahkan Anda ke folder fisik sesungguhnya. Bila Anda di mode command-line (CMD.EXE), kita tidak bisa berikan perintah CD (Change Directory) ke shortcut.
Misalnya kita buat shortcut file dari File Explorer untuk direktori "devel", seperti Fig 1. di bawah ini.
![]() |
| Fig 1. File shortcut untuk direktori "devel" |
![]() |
| Fig 2. Gagal masuk shortcut suatu folder dengan di console CMD |
![]() |
| Fig 3. Opsi-opsi perintah MKLINK |
Cara pertama, dari Windows Start --> "Command Prompt", atau kalau "Command Prompt" tidak muncul, dari Windows Start --> All Programs --> Accessories --> Command Prompt.
Kemudian klik tombol kanan mouse, dan pilih "Run as Administrator"
Cara kedua, dari Windows Start, ubah input "search program" dengan "CMD", kemudian tekan Control+Shift Kiri+Enter.
Untuk membuat symbolic link dengan nama "folderA" untuk folder "C:/Program/FolderB" maka kita dapat memberikan perintah sebagai berikut di konsole CMD.EXE
mklink \D folderA C:/Program/FolderB
Hati-hati:
Padanan perintah mklink.exe di unix-based (GNU) adalah perintah ln. Hanya saja, letak argumen link dan target terbalik.
Wednesday, February 19, 2014
Lingkungan pemrograman portabel dengan Vagrant
Bekerja sebagai programer dalam suatu tim lebih dari 8 orang sering membuat saya, sebagai sys-admin dan pemimpin teknis, harus kerja keras menyiapkan lingkungan yang bisa digunakan banyak orang dengan banyak preferensi. Tidak semua programer bekerja di lingkungan hardware dan software yang sama, bahkan sistem operasi yang mereka gunakan juga berbeda. Setiap update hasil pekerjaan, integrasi dan testing, error dan bug seringkali terjadi karena konfigurasi system yang berbeda, misal: path dari command/perintah/program, konfigurasi database, konfigurasi aplikasi, library dll/so yang terinstal dlsb. Setelah pekerjaan coding selesai pun, instalasi ke sistem akhir juga menjadi masalah karena perbedaan lingkungan ini.
Hal yang sama juga terjadi saat saya harus mengelola kelas dengan sesi eksperimen pemrograman atau paling tidak demo. Setiap peserta/siswa memiliki laptop/komputer yang berbeda-beda. Biasanya sesi awal eksperimen habis waktu untuk menyelesaikan masalah instalasi dan konfigurasi tools. Oleh karenanya lebih suka menggunakan IDE/tools portable seperti Eclipse IDE, teks editor Notepad++ portable atau Sublime Text (favorit saya sekarang). Saya juga lebih suka menggunakan lingkungan shell seperti Cygwin atau semisalnya. Untuk web server saya lebih suka XAMPP (WAMPP atau LAMPP), sebab karena portabilitas mereka.
Sampai akhirnya saya install Virtual Box. Kami bisa saling berbagi image system, dan bisa bekerja di system yang memiliki kemiripan tinggi dengan target system dimana software kami akan diinstal. Permasalahannya adalah konfigurasi untuk bridging antara system image di Virtual Box dengan system operasi yang kami gunakan sebagai lingkungan pengembangan tidak semudah yang dibayangkan.
Kami juga menggunakan kontrol revisi seperti SVN dan Git. Tetapi mereka hanya menyelesaikan masalah sinkronisasi kode, bukan menyelesaikan masalah konfigurasi system. Tetap saja rekan-rekan tim memiliki konfigurasi database yang berbeda, misalnya: port, username dan password.
Tetapi, tetap saja saya, sebagai sys-admin, harus memastikan bahwa semua orang memiliki konfigurasi yang sama. Hal ini seringkali membuat saya frustasi. Sampai akhirnya saya berkenalan dengan Vagrant beberapa bulan ini.
Vagrant adalah tool untuk membuat dan mengkonfigurasi lingkungan pengembangan (software) yang ringan, reproducible dan portabel. Artinya, tidak ada lagi sakit kepala karena konfigurasi XAMMP, lingkungan virtual (virtual box) dan bekerja secara remote via SSH+FTP. Dengan satu file konfigurasi Vagrant akan mengerjakannya semua untuk kita. Selain itu kita bisa mengakses/mengedit source code kita dari OS dengan editor kesayangan kita selayaknya bekerja di lokal. Semua perubahan source-code akan disharing ke lingkungan virtual.
Instalasi dan dokumentasi di situs Vagrant sendiri cukup jelas bagi para pemula seperti saya.
Hal yang sama juga terjadi saat saya harus mengelola kelas dengan sesi eksperimen pemrograman atau paling tidak demo. Setiap peserta/siswa memiliki laptop/komputer yang berbeda-beda. Biasanya sesi awal eksperimen habis waktu untuk menyelesaikan masalah instalasi dan konfigurasi tools. Oleh karenanya lebih suka menggunakan IDE/tools portable seperti Eclipse IDE, teks editor Notepad++ portable atau Sublime Text (favorit saya sekarang). Saya juga lebih suka menggunakan lingkungan shell seperti Cygwin atau semisalnya. Untuk web server saya lebih suka XAMPP (WAMPP atau LAMPP), sebab karena portabilitas mereka.
Sampai akhirnya saya install Virtual Box. Kami bisa saling berbagi image system, dan bisa bekerja di system yang memiliki kemiripan tinggi dengan target system dimana software kami akan diinstal. Permasalahannya adalah konfigurasi untuk bridging antara system image di Virtual Box dengan system operasi yang kami gunakan sebagai lingkungan pengembangan tidak semudah yang dibayangkan.
Kami juga menggunakan kontrol revisi seperti SVN dan Git. Tetapi mereka hanya menyelesaikan masalah sinkronisasi kode, bukan menyelesaikan masalah konfigurasi system. Tetap saja rekan-rekan tim memiliki konfigurasi database yang berbeda, misalnya: port, username dan password.
Tetapi, tetap saja saya, sebagai sys-admin, harus memastikan bahwa semua orang memiliki konfigurasi yang sama. Hal ini seringkali membuat saya frustasi. Sampai akhirnya saya berkenalan dengan Vagrant beberapa bulan ini.
Instalasi dan dokumentasi di situs Vagrant sendiri cukup jelas bagi para pemula seperti saya.
Tuesday, February 04, 2014
Sublime Text: some useful keyboard shortcuts to remember
Sublime Text 2, adalah editor programmer favorit. Berikut beberapa shortcuts keyboard yang banyak digunakan:
Catatan:
** favorit: paling favorit
* favorit: sering dipakai
favorit berbintang satu atau dua, adalah salah satu sebab saya meninggalkan editor lainnya.
- ctrl+d - (** favorit) memilih kemunculan string yang terpilih. Sering saya gunakan untuk memulai multiple-cursor, sehingga saya bisa mengedit beberapa tempat (multipe cursor) secara simultan. Multiple-cursor ini adalah salah satu fitur terbaik yang menjadi alasan saya pindah ke Sublime Text.
- alt+f3, (** favorit) memilih seluruh kemunculan string yang terpilih, sehingga kita memilih multiple-cursor sebagaimana ctrl+d di atas.
- ctrl+k, ctrl+b - (favorit) toggle sidebar (ditampilkan atau tidak)
- f11 - toggle fullscreen
- shift+f11 - (favorit) toggle Distraction Free, hanya menampilkan editor SAJA, sehingga kita tidak terganggu dengan window/menu lain (salah satu fitur yang juga membuat saya jatuh hati ke Sublime Text)
- alt+. - menutup tag otomatis (mis: html)
- ctrl+shift+p - menampilkan panel overlay "command"
- ctrl+alt+p - menampilkan panel pemilih project
- ctrl+p - (* favorit) menampilkan panel overlay "goto file", kita bisa jump ke file/code snippet (salah satu yang juga menyebabkan saya pindah ke Sublime Text)
- ctrl+r - (* favorit) menampilkan panel overlay "goto method", kita bisa jump ke method yang diinginkan.
- ctrl+g - (* favorit) menampilkan panel overlay "goto line",jump ke line tertentu
- ctrl+; - (* favorit) menampilknna panel overlay "goto variable", jump ke variable tertentu
- ctrl+shift+up - menukar posisi baris code dengan baris di atasnya
- ctrl+shift+down - menukar posisi baris code dengan baris di bawahnya
- ctrl+/ - toggle comment (per baris)
- ctrl+shift+/ - toggle commen block (per blok)
- ctrl+shift+d - menduplikasi baris
- ctrl+` - menampilkan panel konsole
- ctrl+space - autocomplete snippet yang sekarang terpilih
- tab - (** favorit) menghasilkan format html berbasis syntax emmet, mempercepat coding html.
Catatan:
** favorit: paling favorit
* favorit: sering dipakai
favorit berbintang satu atau dua, adalah salah satu sebab saya meninggalkan editor lainnya.
Wednesday, January 29, 2014
NodeJS di dalam Meteor
Secara internal framework Meteor dibangun di atas NodeJS. Saat bekerja dengan Meteor, sebagai developer seringkali kita tidak peduli lagi NodeJS. Tetapi ada kalanya kita perlu tahu dimana path dari NodeJS. Ini langkah-langkahnya:
- Cari versi dari Meteor kita, kita namakan RELEASE. Maka dia terletak di ./.meteor/release/[RELEASE].release.json
- Lihat nilai dari key "tools", kita namakan TOOL_ID
- Maka path dari NodeJS adalah ./.meteor/tools/[TOOL_ID]/bin/node
Sunday, October 06, 2013
Seberapa lama waktu tidur siang yang kita perlukan.
Di dunia modern yang semakin sibuk ini, tidur siang, atau tidur sebentar, adalah kemewahan. Tetapi ternyata banyak ahli membuktikan bahwa tidur siang (atau tidur sebentar di tengah hari) sangat diperlukan untuk vitalitas kehidupan kita.
Kenapa kita perlu tidur siang? Banyak sebab. Sebab pertama karena kurang tidur di waktu malam. Ini juga mungkin yang sering saya alami. Maklum, pekerjaan programer/software developer itu banyak aspek seni dan kreatifitas, dan bagi saya, puncak kreatifitas di malam hari, di saat dunia sunyi.
National Sleep Foundation menyarankan agar setiap orang dewasa tidur 7-9 semalam. Tetapi berdasarkan studi CDC, rata-rata manusia dewasa tidur kurang dari 6 jam semalam.
Sebab kedua kita perlu tidur siang adalah kurangnya nutrisi. Kekurangan nutrisi menyebabkan badan cepat lelah. Kekurangan nutrisi dapat disebabkan karena kurangnya sarapan pagi, sehingga tidak cukup pasokan energi sampai malam. Atau juga disebabkan makanan yang kurang gizi.
Sebab lain, adalah karena memang secara alami badan diciptakan oleh Allah SWT, agar istirahat setelah waktu tertentu. Kita mengenalnya sebagai jam biologis.
Nah, kembali ke diskusi di judul, berapa lama waktu tidur yang kita perlukan?
Untuk mengembalikan tingkat kewaspadaan, kita perlu tidur 10-20 menit.
Untuk meningkatkan proses kongitif dalam memori/daya ingat, maka kita perlu waktu 60 menit. Dengan durasi ini, maka dapat meningkatkan daya ingat kita, misalnya mengingat tempat, istilah dan lain-lain. Tetapi hati-hati, mungkin Anda pening saat bangun.
Tidur 90 menit, merupakan siklus penuh tidur. Durasi ini akan meningkatkan kerja otak dalam hal kreatifitas dan emosional dan pemrosesan memori, dalam belajar, misalnya belajar mengendarai sepeda. Bangun dari tidur durasi 90 menit ini memiliki inersia terkecil, maksudnya semakin kecil kemungkinan pusing/pening saat bangun, karena bangung pada waktu siklus yang pas.
Bila kita bangun dari tidur selama 30 menit, maka kemungkinan pusing saat bangun sangat besar. Inersianya paling besar.
Sumber:
How Long to Nap for the Biggest Brain Benefits
Calculate the Best Time to Nap with This Interactive Nap Wheel
Kenapa kita perlu tidur siang? Banyak sebab. Sebab pertama karena kurang tidur di waktu malam. Ini juga mungkin yang sering saya alami. Maklum, pekerjaan programer/software developer itu banyak aspek seni dan kreatifitas, dan bagi saya, puncak kreatifitas di malam hari, di saat dunia sunyi.
National Sleep Foundation menyarankan agar setiap orang dewasa tidur 7-9 semalam. Tetapi berdasarkan studi CDC, rata-rata manusia dewasa tidur kurang dari 6 jam semalam.
Sebab kedua kita perlu tidur siang adalah kurangnya nutrisi. Kekurangan nutrisi menyebabkan badan cepat lelah. Kekurangan nutrisi dapat disebabkan karena kurangnya sarapan pagi, sehingga tidak cukup pasokan energi sampai malam. Atau juga disebabkan makanan yang kurang gizi.
Sebab lain, adalah karena memang secara alami badan diciptakan oleh Allah SWT, agar istirahat setelah waktu tertentu. Kita mengenalnya sebagai jam biologis.
Nah, kembali ke diskusi di judul, berapa lama waktu tidur yang kita perlukan?
Untuk mengembalikan tingkat kewaspadaan, kita perlu tidur 10-20 menit.
Untuk meningkatkan proses kongitif dalam memori/daya ingat, maka kita perlu waktu 60 menit. Dengan durasi ini, maka dapat meningkatkan daya ingat kita, misalnya mengingat tempat, istilah dan lain-lain. Tetapi hati-hati, mungkin Anda pening saat bangun.
Tidur 90 menit, merupakan siklus penuh tidur. Durasi ini akan meningkatkan kerja otak dalam hal kreatifitas dan emosional dan pemrosesan memori, dalam belajar, misalnya belajar mengendarai sepeda. Bangun dari tidur durasi 90 menit ini memiliki inersia terkecil, maksudnya semakin kecil kemungkinan pusing/pening saat bangun, karena bangung pada waktu siklus yang pas.
Bila kita bangun dari tidur selama 30 menit, maka kemungkinan pusing saat bangun sangat besar. Inersianya paling besar.
Sumber:
How Long to Nap for the Biggest Brain Benefits
Calculate the Best Time to Nap with This Interactive Nap Wheel
Friday, September 27, 2013
R: bahasa/tool terbaik untuk belajar/praktek analisis data
Tidak dapat dipungkiri bahwa dunia digital semakin membutuhkan aspek analisis pada data. Kita mengenal fenomena "ledakan informasi", tetapi sesungguhnya yang terjadi adalah "ledakan data". Mendapatkan data telah menjadi proses yang mudah. Mengolah data untuk menjadi informasi dan mengolah informasi itu sendiri menjadi proses yang semakin rumit. Kerumitannya terletak pada semakin besarnya data. Sehingga wajar kalau akhir-akhir ini perburuan pengetahuan analisa "big data" semakin marak.
Sebagai analis data, kita tidak hanya memerlukan ketrampilan dan pengetahuan yang memadai dalam statistik, database, data warehouse (ETL), data mining, interpretasi data/informasi dan juga visualisasi informasi. Beragam ketrampilan tersebut memerlukan tools yang tepat, yaitu tools yang dapat membantu pekerjaan kita lebih efisiean dan efektif. Memilih tools yang tepat adalah tugas kedua kita setelah mendalami pengetahuan dan ketrampilan tsb di atas. Atau bahkan dalam mempelajari ketrampilan dan pengetahuan tsb justru kita memerlukan tools terlebih dahulu. Problem ini memang akhirnya menjadi seperti ayam dan telur, mana duluan? Paling tidak menurut saya, pengetahuan dasar stastistik dan database perlu terlebih dahulu kita miliki, baru kemudian memanfaatkan tools yang tepat, kita mengembangkan pengetahuan dan ketrampilan analisis data. Pengetahuan dasar statistik kita dapatkan di bangku sekolah (menengah/tinggi). Sekarang tinggal database, kita memang perlu mengambil mata kuliah database (khususnya relasional) atau kursus atau otodidak.
Nah, sekarang permasalahan utama kita adalah memilih tools. Banyak faktor yang perlu kita perhatikan dalam memilih tools Alhamdulillah kita berada dalam dunia informasi dan internet, sehingga untuk keperluan ini kita dapat melakukannya dengan search di internet atau melihat rekomendasi/artikel dari komunitas-komunitas atau website analis data.
Berdasarkan polling komunitas data-mining kdnuggets.com, tools tertinggi penggunanya adalah R. Selama tiga tahun (2011-2013) R menduduki peringkat teratas, dan tetap tumbuh besar [1].
Referensi:
1. Top languages for analytics, data mining, data science
2. Poll: R top language for data science three years running
Sebagai analis data, kita tidak hanya memerlukan ketrampilan dan pengetahuan yang memadai dalam statistik, database, data warehouse (ETL), data mining, interpretasi data/informasi dan juga visualisasi informasi. Beragam ketrampilan tersebut memerlukan tools yang tepat, yaitu tools yang dapat membantu pekerjaan kita lebih efisiean dan efektif. Memilih tools yang tepat adalah tugas kedua kita setelah mendalami pengetahuan dan ketrampilan tsb di atas. Atau bahkan dalam mempelajari ketrampilan dan pengetahuan tsb justru kita memerlukan tools terlebih dahulu. Problem ini memang akhirnya menjadi seperti ayam dan telur, mana duluan? Paling tidak menurut saya, pengetahuan dasar stastistik dan database perlu terlebih dahulu kita miliki, baru kemudian memanfaatkan tools yang tepat, kita mengembangkan pengetahuan dan ketrampilan analisis data. Pengetahuan dasar statistik kita dapatkan di bangku sekolah (menengah/tinggi). Sekarang tinggal database, kita memang perlu mengambil mata kuliah database (khususnya relasional) atau kursus atau otodidak.
Nah, sekarang permasalahan utama kita adalah memilih tools. Banyak faktor yang perlu kita perhatikan dalam memilih tools Alhamdulillah kita berada dalam dunia informasi dan internet, sehingga untuk keperluan ini kita dapat melakukannya dengan search di internet atau melihat rekomendasi/artikel dari komunitas-komunitas atau website analis data.
Berdasarkan polling komunitas data-mining kdnuggets.com, tools tertinggi penggunanya adalah R. Selama tiga tahun (2011-2013) R menduduki peringkat teratas, dan tetap tumbuh besar [1].
Referensi:
1. Top languages for analytics, data mining, data science
2. Poll: R top language for data science three years running
Tuesday, April 30, 2013
Javascript Tutorial: Beginning
Javascript adalah bahasa pemrograman yang banyak digunakan untuk menambahkan fitur interaktif pada aplikasi web, bergerak di sisi client. Tetapi dengan sistem node.js, Javascript dapat digunakan di sisi server. Program hibrid (desktop + web) berbasis Adobe Air juga dapat dibangun dengan javascript. Sehingga seperti sepupunya -- Java, Javascript adalah bahasa pemrograman yang sangat portable, cross-platform, run anywhere. Justru lebih lightweight dibandingkan Java. Di sisi client (browser), Javascript lebih responsive dibandingkan Java
Belajar Javascript gratis dan mudah. Gratis, karena banyak sekali tutorial online gratis. Salah satunya adalah favorit saya yaitu W3School. Mudah karena memang bahasanya tergolong mudah dibandingkan Java dan C/C++ yang kompleks. Mudah karena tools belajar onlinenya banyak tersedia seperti, lagi-lagi dari W3School yaitu Tri It Your Self. Menjalankan programnya, simple, kita hanya perlu web browser. Tapi hati-hati, tidak semua web browser mendukung javascript versi terbaru, khususnya IE dari Microsoft. IE terkenal lambat dalam mengadopsi standar, dan seringkali memiliki dialek dan library khusus sendiri.
Sebagai contoh berikut ini Javascript ditulis di dalam tag <body> dan melakukan manipulasi penambahan script html di dalam body.
Kita hanya bisa menggunakan <strong>document.write</strong> di dalam output HTML.
Jika menggunakannya setelah dokumen di-load (misalnya dalam suatu funtion), maka keseluruhan dokumen akan tertimpa.
Javascript juga digunakan untuk menambahkan sifat reaktif pada dokumen html. Seperti kode berikut ini, bila kita mengklik tombol "Click Me!" maka akan muncul popup alert window "Welcome".
Function dalam Javascript adalah kumpulan statement/perintah. Seperti contoh berikut ini fungsi myFunction akan merubah isi tag <body> ber-id "demo".
Belajar Javascript gratis dan mudah. Gratis, karena banyak sekali tutorial online gratis. Salah satunya adalah favorit saya yaitu W3School. Mudah karena memang bahasanya tergolong mudah dibandingkan Java dan C/C++ yang kompleks. Mudah karena tools belajar onlinenya banyak tersedia seperti, lagi-lagi dari W3School yaitu Tri It Your Self. Menjalankan programnya, simple, kita hanya perlu web browser. Tapi hati-hati, tidak semua web browser mendukung javascript versi terbaru, khususnya IE dari Microsoft. IE terkenal lambat dalam mengadopsi standar, dan seringkali memiliki dialek dan library khusus sendiri.
Tag <script>
Sebagai contoh berikut ini Javascript ditulis di dalam tag <body> dan melakukan manipulasi penambahan script html di dalam body.
<body>
JavaScript can write directly into the HTML output stream:
<script>
document.write("<h1>This is a heading</h1>");
document.write("<p>This is a paragraph.</p>");
</script>
</body>
Kita hanya bisa menggunakan <strong>document.write</strong> di dalam output HTML.
Jika menggunakannya setelah dokumen di-load (misalnya dalam suatu funtion), maka keseluruhan dokumen akan tertimpa.
Javascript juga digunakan untuk menambahkan sifat reaktif pada dokumen html. Seperti kode berikut ini, bila kita mengklik tombol "Click Me!" maka akan muncul popup alert window "Welcome".
<button type="button" onclick="alert('Welcome!')">Click Me!</button>
Function dalam Javascript adalah kumpulan statement/perintah. Seperti contoh berikut ini fungsi myFunction akan merubah isi tag <body> ber-id "demo".
<p id="demo">
JavaScript can change the content of an HTML element.
</p>
<script>
function myFunction()
{
x=document.getElementById("demo"); // Find the element
x.innerHTML="Hello JavaScript!"; // Change the content
}
</script>
<button type="button" onclick="myFunction()">Click Me!</button>
Saturday, February 23, 2013
Free Dataset
Salah satu tahap awal dalam proses data mining baik untuk bahan ajar maupun riset adalah menyediakan dataset. Banyak sekali dataset yang tersedia gratis di internet. Berikut adalah sebagian daftarnya:
Yang biasa digunakan dalam buku teks:
Yang lainnya
Informasi selanjutnya:
Yang biasa digunakan dalam buku teks:
- ACM KDD Cup kompetisi tahunan ACM SIGKDD dengan problem dunia nyata
- UCI KDD Archive
- UCI Machine Learning Repository
- CMU StatLib Datasets Archive
- Time Series Data Library koleksi sekitar 800 time series
- EconData data time series ekonomi dari Inforum, University of Maryland
- UCR Time Series Data Archive data untuk klasifikasi dan clustering time series
- GeoDa Center koleksi data spatial
- Kumpulan datasets oleh Weka
Yang lainnya
- KDnuggets www.kdnuggets.com/datasets/
- Dari diskusi di Google group get.theinfo groups.google.com/group/get-theinfo
- Sub-Reddit www.reddit.com/r/datasets/
- Quora answer www.quora.com/Where-can-I-get-large-datasets-open-to-the-public?q=dataset
- OpenData opendata.socrata.com/ memiliki sekitar 100K dataset
- MillionSong labrosa.ee.columbia.edu/millionsong/ - dataset musik dengan metadatanya, total 260GB
- infochimps.org/datasets (sebagian gratis, sebagian berbayar)
- ckan.org [Comprehensive Knowledge Archive Network]
- del.icio.us/pskomoroch/dataset
- news.ycombinator.com/item?id=1242029
- www.reddit.com/r/opendata
- www.trustlet.org/wiki/Repositories_of_datasets
- www.quantlet.org/mdbase/
- datamob.org/
- freebase.com/
- www.archive-it.org/public/all_collections
Informasi selanjutnya:
- www.datawrangling.com/some-datasets-available-on-the-web.html
- http://www.findbestopensource.com/article-detail/free-large-data-corpus
Friday, January 04, 2013
PHP & MySQL Tutorial
Source:
- W3School
- http://www.w3schools.com/php/php_intro.asp
- Free Webmaster Help
- http://www.freewebmasterhelp.com/tutorials/php/
- http://www.freewebmasterhelp.com/tutorials/phpmysql
- Tutorials Point
- http://www.tutorialspoint.com/php/index.htm
Menghubungkan Mylyn (Eclipse) dan Redmine
Developer software, khususnya software opensource terkait bahasa pemrograman Java seringkali menggunakan Eclipse sebagai IDE-nya. Meskipun demikian pengguna Eclipse mulai berkembang tidak hanya programer Java tetapi juga Python dan web.
Mylyn adalah tool untuk manajemen task dan manajemen lifycyle aplikasi (ALM: application lifecyle manajemen) untuk Eclipse IDE. Antarmuka berfokus-task pada Mylyn memperkecil informasi overload dan memungkin pembuatan task multitasking secara mudah. Mylyn mengintegrasikan pengeditan secara offline dan secara otomatis memonitor aktifitas pemrograman kita, serta melinkan dengan seluruh artifak. Sehingga Mylyn dapat meningkatkan produktifitas kita dengan mengurangi informasi overload, memfasilitasi multitasking dan memudahkan proses sharing dengan tim.
Redmine adalah sistem manajemen task berbasis web+Ruby. Redmine memiliki user interface yang bagus dan memungkinkan manajemen project, source, bug dan sharing antar developer. Tetapi sebagian besar developer tetap ingin bekerja dengan IDE favorit mereka sembari tetap mengupdate task-task mereka ke tim via sistem manajemen task terpusat seperti Redmine.
Plugin Eclipse bernama Redmine-Mylyn-Connector dapat membantu menyambungkan kedua tool ini dengan mudah. Plugin ini mendukung integrasi 2 arah antara kedua tool. Plugin ini telah dikembangan selama 4 tahun, dan masih aktif dalam pengembangan.
Instalasi Redmine-Mylyn-Connector terdiri dari 3 langkah mudah sbb:
git clone git://redmin-mylyncon.git.sourceforg.net/gitroot/redmin-mylyncon/redmine-mylyn-connector
Bila ingin menginstal versi terakhir tambahkan
Untuk menentukan API-Key, buka Redmine, lalu buka My Account dan klik link Show di bawah sesi API access key pada panel sebelah kanan.
Sekarang kita dapat melakukan query pada task kita dengan membuat sebuah Query baru dalam Task List.
Referensi
Mylyn adalah tool untuk manajemen task dan manajemen lifycyle aplikasi (ALM: application lifecyle manajemen) untuk Eclipse IDE. Antarmuka berfokus-task pada Mylyn memperkecil informasi overload dan memungkin pembuatan task multitasking secara mudah. Mylyn mengintegrasikan pengeditan secara offline dan secara otomatis memonitor aktifitas pemrograman kita, serta melinkan dengan seluruh artifak. Sehingga Mylyn dapat meningkatkan produktifitas kita dengan mengurangi informasi overload, memfasilitasi multitasking dan memudahkan proses sharing dengan tim.
Redmine adalah sistem manajemen task berbasis web+Ruby. Redmine memiliki user interface yang bagus dan memungkinkan manajemen project, source, bug dan sharing antar developer. Tetapi sebagian besar developer tetap ingin bekerja dengan IDE favorit mereka sembari tetap mengupdate task-task mereka ke tim via sistem manajemen task terpusat seperti Redmine.
Plugin Eclipse bernama Redmine-Mylyn-Connector dapat membantu menyambungkan kedua tool ini dengan mudah. Plugin ini mendukung integrasi 2 arah antara kedua tool. Plugin ini telah dikembangan selama 4 tahun, dan masih aktif dalam pengembangan.
Instalasi Redmine-Mylyn-Connector terdiri dari 3 langkah mudah sbb:
Instal Plugin Redmine-Mylyn-Connector di Redmine
Masuk ke direktori redmine/vendor/plugins dan download plugin dengan git:git clone git://redmin-mylyncon.git.sourceforg.net/gitroot/redmin-mylyncon/redmine-mylyn-connector
Install Plugin Redmine-Mylyn-Connector di Eclipse
Pertama tambahkan situs repository plugin, bila ingin menginstal versi stabil tambahkanhttp://redmin-mylyncon.sourceforge.net/update-site/N/
Bila ingin menginstal versi terakhir tambahkan
http://redmin-mylyncon.sourceforge.net/update-site/dev/
Setelah menambahkan situs plugin, maka lakukan instal.
Konfigurasi plugin di Eclipse
Buat sebuah task repository baru dengan memilih Add Task Repository. Pilih Redmine connector dan isikan seluruh detail yang diperlukan. Direkomendasikan untuk menggunakan opsi API-Key untuk autentikasi, karena lebih handal dibandingkan kombinasi user/password.Untuk menentukan API-Key, buka Redmine, lalu buka My Account dan klik link Show di bawah sesi API access key pada panel sebelah kanan.
Sekarang kita dapat melakukan query pada task kita dengan membuat sebuah Query baru dalam Task List.
Referensi
Labels:
Eclipse,
java,
Java EE,
programming,
Redmine,
Task Management
Tuesday, May 03, 2011
Ontology versus Taxonomy
- Ontologi memiliki ruang lingkup yang lebih luas.
- Taksonomi adalah "tree" sedangkan ontologi adalah "forest"
- Ontologi merepresentasikan sebuah topik dengan beberapa perspektif. Sebagaimana "telur" adalah sebuah fase kehidupan mahluk hidup dan dia juga sejenis makanan.
- Ontologi mengandung vocabulary yang lebih terkontrol dan memiliki definisi relasi yang lebih teliti.
- Akademisi lebih condong kepada ontologi, sedangkan industri (salah satunya komunitas perpustakaan/pustakawan) lebih condong menggunakan taksonomi.
- Taksonomi memiliki bervariasi dalam hal banyaknya informasi yang mereka kandung. Bisa hanya mereprensentasikan pengelompokan secara logik suatu subyek, dengan kemungkinan dengan atau tanpa istilah yang mendukungnya, dan bisa saja data atau aksi yang terasosiasi kepada setiap node.
- Taksonomi pada umumnya memiliki hirarki yang tegas, seiring dengan strukturnya yang berbentuk "tree". Di dunia perpustakaan, taksonomi digunakan dalam thesaurus dan vocabulary yang terkontrol lainnya. Namun akhir-akhir ini, dokumen web menggunakan hirarki yang lebih lunak yang dikenal dengan folksonomi.
Monday, April 11, 2011
GUI untuk Java Keytool
Mungkin Anda sering menggunakan utilitas Java yang bernama keytool. Keytool bersama dengan utilitas Jarsigner menggantikan utilitas lama javakey di Java 1.1. Keytool digunakan untuk membuat dan mengelola sendiri kunci private-public, serta mengelola certificate.
Namun mungkin selama ini kita dibuat pusing dengan pembuatan dan pengelolaan kunci private/public dan certificate yang kita miliki atau kita dapatkan dari personal/situs lain. Jangan khawatir Keytool UI sekarang telah menjadi open source, sehingga kita dapat memanfaatkannya secara bebas. Keytool UI dapat didownload dari http://code.google.com/p/keytool-iui/
Namun mungkin selama ini kita dibuat pusing dengan pembuatan dan pengelolaan kunci private/public dan certificate yang kita miliki atau kita dapatkan dari personal/situs lain. Jangan khawatir Keytool UI sekarang telah menjadi open source, sehingga kita dapat memanfaatkannya secara bebas. Keytool UI dapat didownload dari http://code.google.com/p/keytool-iui/
Monday, May 24, 2010
Trust & Reward System: Diskusi KM PDII-ITB Mei 2010
Untuk sekian kalinya, diskusi pengelolaan KM di institusi mengambil kesimpulan bahwa faktor SDM dan hubungan personal di dalamnya mengambil peran penting. Bagaimana pun canggihnya sistem informasi pengelolaan KM, dimana komunitas "dipaksa" atau "terpaksa" mengupload knowledge-nya ke sistem, tetapi faktor terpenting keberhasilannya terletak kepada "trust".
Waktu & Tempat: 20 Mei 2010, ruang rapat lt 6. PDII-LIPI
Peserta diskusi: Tim peneliti KM dari ITB yang dikomandani Prof. Dr. Jann, sedangkan dari PDII dihadiri oleh Kepala Pusat Putut Irwan P, bidang Pengembangan PDII, serta tim pengembangan ISJD.
Waktu & Tempat: 20 Mei 2010, ruang rapat lt 6. PDII-LIPI
Peserta diskusi: Tim peneliti KM dari ITB yang dikomandani Prof. Dr. Jann, sedangkan dari PDII dihadiri oleh Kepala Pusat Putut Irwan P, bidang Pengembangan PDII, serta tim pengembangan ISJD.
Install Liferay untuk Glassfish Application Server di Windows XP
Liferay portal adalah CMS Portal yang powerful. Berikut instalasi Liferay portal 5.2.3 dengan server aplikasi (Java EE) Glassfish di Windows XP.
1. Download liferay-portal-glassfish-windows-5.2.3.jar dari liferay.com atau Sourceforge.org
2. Jalankankan java -Xmx256m -jar liferay-portal-glassfish-windows-5.2.3.jar
3. Jalankan ant -f setup.xml di dalam direktori glassfish.
4. Start app server. Akses portal
1. Download liferay-portal-glassfish-windows-5.2.3.jar dari liferay.com atau Sourceforge.org
2. Jalankankan java -Xmx256m -jar liferay-portal-glassfish-windows-5.2.3.jar
3. Jalankan ant -f setup.xml di dalam direktori glassfish.
4. Start app server. Akses portal
Friday, November 06, 2009
Tools Hebat dari Google untuk Bikin Aplikasi Web Sehebat Gmail
Kemarin Google meng-open-source-kan koleksi tool Javascript yang memungkinkan developer dapat membuat aplikasi web lebih cepat, powerful dan efisien sebagaimana Gmail, Google Maps dan Google Docs.
Closure Compiler adalah salah satu dari tool-tool itu. Ia adalah optimalizer untuk kode Javascript. Closure akan mengkompilasi code Javascript menjadi lebih kompak dan performa meningkat. Closure akan menghapus kode-kode yang tidak berguna, sehingga engine browser akan menjalankan program Javascript lebih ringan dan lebih cepat.
Selain Closure Compiler, ada juga Closure Library, yaitu sekumpulan library untuk Javascript yang terdiri dari library widget GUI, struktur data, komunikasi dengan server, animasi dan lain-lain.
Ada juga Closure Templates, kumpulan template untuk web yang telah dikompilasi agar Javascript lebih efisien. Berbeda dengan sistem template tradisional, kita dapat menggunakan Closure Template secara alami sebagai programmer. Closure Template diimplementasikan baik untuk Javascript maupun Java, sehingga kita dapat menggunakan template yang sama baik untuk server-side (Java) maupun client-side.
Google berharap dengan adanya kemajuan dan peningkatan aplikasi web, maka pencarian dengan Google semakian menjadi penting.
Wednesday, September 23, 2009
Sistem Pencarian 'ala' Pustakawan Tidak Cocok untuk Pengguna Awam
Pustakawan adalah ahli dokumen, mereka melakukan kategorisasi, membuat ringkasan (abstrak, resensi dll), mereka membuat indeks dan lain-lain untuk dokumen. Oleh karenanya cara berfikir pustakawan dalam pencarian akan sangat berbeda dengan cara berfikir pengguna awam. Mereka juga mengembangkan cara-cara pencarian dokumen, sehingga mereka juga membuat sistem pencarian berbasis komputer.
Permasalahannya adalah sistem pencarian 'ala' pustakawan ini, seringkali tidak cocok untuk pengguna awam. Pustakawan mengindeks dokumen untuk sistem pencarian berbasiskan kata kunci khusus, misalnya dengan nama latin untuk tumbuhan. Pengguna awam mencari hasil indeks pustakawan di sistem tersebut dengan nama umum. Mungkin hanya sebagian kecil pengguna yang mengerti nama latin atau nama ilmiah suatu tumbuhan yang dicarinya. Pengguna seperti termasuk di antaranya adalah mahasiswa atau peneliti.
Berdasarkan penelitian Hargittai, 2004, kebanyakan orang tidak memahami konsep kata kunci, bahkan untuk spesifikasi kata kunci yang sangat dasar sekalipun.Partisipan penelitiannya adalah 100 warga New Jersey yang dipilih secara acak tetapi mewakili komposisi berbasarkan faktor sosio-ekonomi. Bahkan Hargittai menemukan banyak pula yang salah paham terhadap user interface pencarian, mereka menginputkan kata kunci ke address bar, dan sebaliknya mengetikan alamat URL ke form entri kata kunci.
Muramatsu dan Pratt, 2001, juga menemukan bahwa kebanyakan orang salah persepsi terhadap operator Boolean. Mereka kurang memahami perbedaan antara operator AND dan OR, apalagi untuk sistem yang secara implisit menerapkan AND atau OR. Dua pertiga dari mereka juga tidak bisa menjelaskan mengapa ketika entri pencarian adalah "to be or not to be", maka hasil yang didapatkan kosong.
Jadi, sistem untuk pustakawan harusnya berbeda untuk pengguna awam. Jangan paksakan pengguna awam melakukan pencarian menggunakan sistem pustakawan. Memang, cara yang digunakan pustakawan akan menghasilkan pencarian yang efisien. Tetapi sistem pustakawan juga memerlukan persiapan yang tidak pendek. Ada proses kategorisasi, ada pula proses pengindeksan. Pustakawan mencari dengan kata kunci yang sudah disepakati mereka. Tetapi kesepakatan para pustakawan ini tidak diketahui para pengguna.
Biarkanlah para pengguna bereksplorasi berdasarkan pengalaman dan pengetahuan yang mereka miliki, jangan paksakan mereka "belajar" menjadi pustakawan. Kalau mereka dipaksa menjadi pustakawan, lalu kapan mereka menyelesaikan tugas utamanya. Kalau mereka dipaksa menjadi pustakawan, lalu pustakawan mau jadi apa?
# Permudah, jangan dipersulit. Gembirakan, jangan ditakuti.
# (hadist)
Referensi:
E. Hargittai. Classifying and Coding Online Actions. Social Science Computer Review, 22(2):210–227, 2004.
J. Muramatsu and W. Pratt. Transparent Queries: Investigation Users' Mental Models Of Search Engines. Proceedings of the 24th Annual International ACM SIGIR Conference on Research and development in information retrieval (SIGIR'01), pages 217–224, 2001.
Permasalahannya adalah sistem pencarian 'ala' pustakawan ini, seringkali tidak cocok untuk pengguna awam. Pustakawan mengindeks dokumen untuk sistem pencarian berbasiskan kata kunci khusus, misalnya dengan nama latin untuk tumbuhan. Pengguna awam mencari hasil indeks pustakawan di sistem tersebut dengan nama umum. Mungkin hanya sebagian kecil pengguna yang mengerti nama latin atau nama ilmiah suatu tumbuhan yang dicarinya. Pengguna seperti termasuk di antaranya adalah mahasiswa atau peneliti.
Berdasarkan penelitian Hargittai, 2004, kebanyakan orang tidak memahami konsep kata kunci, bahkan untuk spesifikasi kata kunci yang sangat dasar sekalipun.Partisipan penelitiannya adalah 100 warga New Jersey yang dipilih secara acak tetapi mewakili komposisi berbasarkan faktor sosio-ekonomi. Bahkan Hargittai menemukan banyak pula yang salah paham terhadap user interface pencarian, mereka menginputkan kata kunci ke address bar, dan sebaliknya mengetikan alamat URL ke form entri kata kunci.
Muramatsu dan Pratt, 2001, juga menemukan bahwa kebanyakan orang salah persepsi terhadap operator Boolean. Mereka kurang memahami perbedaan antara operator AND dan OR, apalagi untuk sistem yang secara implisit menerapkan AND atau OR. Dua pertiga dari mereka juga tidak bisa menjelaskan mengapa ketika entri pencarian adalah "to be or not to be", maka hasil yang didapatkan kosong.
Jadi, sistem untuk pustakawan harusnya berbeda untuk pengguna awam. Jangan paksakan pengguna awam melakukan pencarian menggunakan sistem pustakawan. Memang, cara yang digunakan pustakawan akan menghasilkan pencarian yang efisien. Tetapi sistem pustakawan juga memerlukan persiapan yang tidak pendek. Ada proses kategorisasi, ada pula proses pengindeksan. Pustakawan mencari dengan kata kunci yang sudah disepakati mereka. Tetapi kesepakatan para pustakawan ini tidak diketahui para pengguna.
Biarkanlah para pengguna bereksplorasi berdasarkan pengalaman dan pengetahuan yang mereka miliki, jangan paksakan mereka "belajar" menjadi pustakawan. Kalau mereka dipaksa menjadi pustakawan, lalu kapan mereka menyelesaikan tugas utamanya. Kalau mereka dipaksa menjadi pustakawan, lalu pustakawan mau jadi apa?
# Permudah, jangan dipersulit. Gembirakan, jangan ditakuti.
# (hadist)
Referensi:
E. Hargittai. Classifying and Coding Online Actions. Social Science Computer Review, 22(2):210–227, 2004.
J. Muramatsu and W. Pratt. Transparent Queries: Investigation Users' Mental Models Of Search Engines. Proceedings of the 24th Annual International ACM SIGIR Conference on Research and development in information retrieval (SIGIR'01), pages 217–224, 2001.
Tuesday, February 24, 2009
Serba 2.0
United Nation 2.0
http://www.wikinomics.com/blog/index.php/2009/02/02/united-nations-20/
http://www.ejc.net/magazine/article/nation_20/
Goverment 2.0
http://www.wikinomics.com/blog/index.php/2009/02/02/government-20-camp-in-dc/
http://government20bestpractices.pbwiki.com/
http://www.readwriteweb.com/archives/government_as_a_platform.php
Library 2.0
http://en.wikipedia.org/wiki/Library_2.0
http://www.libraryjournal.com/article/CA6365200.html
http://library20.ning.com/
Science 2.0
http://www.sciam.com/article.cfm?id=science-2-point-0-great-new-tool-or-great-risk
http://www.sciam.com/article.cfm?id=science-2-point-0
dan terakhir ....
PDII 2.0
http://www.pdii.lipi.go.id/
http://www.wikinomics.com/blog/index.php/2009/02/02/united-nations-20/
http://www.ejc.net/magazine/article/nation_20/
Goverment 2.0
http://www.wikinomics.com/blog/index.php/2009/02/02/government-20-camp-in-dc/
http://government20bestpractices.pbwiki.com/
http://www.readwriteweb.com/archives/government_as_a_platform.php
Library 2.0
http://en.wikipedia.org/wiki/Library_2.0
http://www.libraryjournal.com/article/CA6365200.html
http://library20.ning.com/
Science 2.0
http://www.sciam.com/article.cfm?id=science-2-point-0-great-new-tool-or-great-risk
http://www.sciam.com/article.cfm?id=science-2-point-0
dan terakhir ....
PDII 2.0
http://www.pdii.lipi.go.id/
Subscribe to:
Posts (Atom)





