Sunday, October 18, 2015

6 Macam Social Network Analysis dari Data Twitter

Social Network Analysis (SNA) dilakukan untuk memahami hubungan antar individu, kelompok, organisasi, URL atau entitas informasi lainnya. Cara paling mudah untuk menggambarkan hubungan tersebut adalah dengan graph. Node menunjukkan entitas, dan garis menunjukkan hubungan antar node-node. 

Liebermen. 2014. Six kinds of Twitter social media networks


Michael Lieberman mendemonstrasikan 6 macam Social Network, dengan menggunakan tool NodeXL dan data Twitter.
  • Polarized Network. Terjadinya 2 kelompok/jaringan yang terpolarisasi, dengan kerapatan yang tinggi pada masing-masing kelompok dan interkoneksi yang rendah antar kelompok. 
  • In-group Network. Terjadi sedikit grup, dengan masing-masing grup sedikit node, dan interkoneksi yang tinggi antar grup (dan begitu pula antar node).
  • Brand/Public Topic Network. Terjadi beberapa grup kecil terisolasi, interkoneksi rendah. 
  • Bazar Network. Terjadi beberapa grup ukuran sedang, beberapa dengan interkoneksi rendah. 
  • Hub Network. Terjadi suatu hub, yang me-retweet banyak user tak terkoneksi. 
  • Support Network. Terjadi suatu hub, yang me-reply banyak user tak terkoneksi.

Referensi.
  1. Michael Lieberman, 2014. Visualizing Big Data: Social Network Analysis. Digital Research Conference. San Antonio, Texax, 11-12 Maret 2014.
  2. Visualizing Big Data: Social Network Analysis by Michael Lieberman #CASRO #MR

Thursday, April 02, 2015

Install PHPUnit di XAMPP Windows

Salah satu tahapan penting dalam pengembangan software adalah testing. Testing tools untuk PHP yang terkenal adalah PHPUnit. XAMPP terbaru versi full, telah dilengkapi dengan PHPUnit dalam paket PEAR. Anda dapat mencek PHPUnit di XAMPP  dengan cara sbb:
1. Dengan perintah cmd dari windows, masuklah ke direktori php, misal C:\XAMPP\php
2. Jalankan perintah phpunit --version utk mencek apakah PHPUnit telah terinstall dan berapa versinya. 
3. Untuk debugging, profiling dan testing code coverage, Anda perlu mengaktifkan XDebug di dalam php.ini, kemudian restart Apache server Anda. 

Apabila PHPUnit belum terinstall, maka Anda perlu install dari pear.phpunit.de. Akhir-akhir ini instalasi phpunit dengan PEAR dengan channel pear.phpunit.de gagal. Support untuk install PHPUnit via PEAR tidak lagi tersedia.Berikut solusinya.

  1. Dapatkan PEAR update terakhir dan jalankan PEAR installer: download file di http://pear.php.net/go-pear.phar dan tempatkan di mana folder XAMPP\php anda berada, misal di folder C:\xampp\php
  2. Masuk ke dalam folder XAMPP\php anda dan jalankan:
    • php go-pear.phar
    • Saat diminta masukan apakah pear diinstall di system atau local, pilih 'local', selanjutnya pilih 'yes' untuk konfirmasi local copy dari PEAR
    • Setelah muncul pilihan directory untuk local copy PEAR, pilih 'all', untuk setting seluruhnya.
    • Masukkan folder $prefix untuk semua directory local copy PEAR, misal C:\xampp\php
    • Masukkan seluruh path sesuai dengan konfigurasi directory PEAR anda.
  3. Bersihkan cache dari pear 
    • pear clear-cache
  4. Mempersiapkan installasi  phpunit
    • pear install -a -f phpunit/PHPUnit
  5. Download Composer dari  https://getcomposer.org/download/
  6. Jalankan installer Composer tersebut, dan pilihlah php directory ke XAMPP\php anda, misal C:\xampp\php
  7. Installer akan terinstall di C:\ProgramData\ComposerSetup. Pastikan path
    C:\ProgramData\ComposerSetup\bin ada dalam informasi path Windows
    • echo %PATH%
  8. Masuk ke directory C:\ProgramData\ComposerSetup\bin dan jalankan perintah sbb:
    • composer global require "phpunit/phpunit=4.5.*"
  9. Pastikan PHPUnit telah terinstall di directory XAMPP\php\pear Anda.
Untuk testing dengan advanced functionality seperti Code Coverage, maka Anda perlu XDebug. XAMPP telah disertai library untuk XDebug. Aktifkan konfigurasi XDebug di dalam php.ini, dan restart Apache server Anda.



Sunday, March 29, 2015

Setting Up IPython Notebook for Portable Python 2.7

Catatan kecil untuk mempersiapkan environment pemrograman Python di kelas Computer Vision.

Portable Python 2.7 tidak dilengkapi IPython Notebook, sebuah interface IPython berbasis web. Kita dapat mengedit program python kita. Menurut saya, yang paling menarik dari IPython Notebook adalah kita dapat memberikan komentar dg format MD, menulis formula matematis di satu tempat  yang sama.

Install Notebook

Menginstall paket baru di Portable Python sangat mudah, cukup gunakan easy_install.
1. Buka folder App/Scripts dan temukan easy_install.exe di dalamnya
2. Buka perintah command prompt (cmd) dan cd ke folder ini
3. Jalankan: easy_install [nama paket baru]

Berikut adalah cara menginstall IPython dan semua paket yang diperlukan untuk menjalankan IPython Notebook. Masih di folder App/Script dg console command prompt

easy_install pyreadline
easy_install ipython[zmq,qtconsole,notebook,test]

Sekarang kita sudah memiliki IPython Notebook. Selanjutnya jalakan perintah berikut untuk membuka IPython Notebook.

ipython notebook



IPython Notebook terbuka di web browser default. Kita dapat menstop program IPython Notebook dengan menjalankan Ctrl-C di console


Wednesday, April 30, 2014

pyxll: Python Addin untuk MS Excel

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

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.

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:

  1. Cabut sumber power AC, alias cabut power adaptor dari laptop.
  2. Buat tingkat kecerahan display ke maximum. Sepertinya ini cara paling cepat menguras batteray laptop Anda.
  3. Nyalakan koneksi wifi Anda, buka website yang otomatis memperbarui penampilan, seperti skore pertandingan olahraga ESPN
  4. Nyalakan juga bluetooth, kalau laptop Anda memilikinya
  5. 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.
  6. Gunakan semua koneksi USB laptop. Sambungkan konektor USB laptop ke peralatan seperti mouse, player DVD, hardisk external.
  7. 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.
Selamat mencoba.

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"
Maka misalnya, bila kita ingin menjalankan perintah CD, kita akan gagal.
Fig 2. Gagal masuk shortcut suatu folder dengan di console CMD
Solusinya adalah memanfaatkan tools mklink.exe, junction.exe atau linkd.exe. Artikel ini membahas solusi dengan tools mklink.exe. Sebagaiman Fig 1. di atas.

Fig 3. Opsi-opsi perintah MKLINK
Biasanya kita akan sering menggunakan opsi /D, untuk membuat symbolic link ke suatu folder. Tetapi jangan lupa, kita perlu previlige Administrator untuk menjalankan perintah ini. Oleh karenanya, kita harus menjalankan perintah CMD.EXE dengan 2 cara:

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
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.

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:


  • 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
 Di package Emmet
  •  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:
  1. Cari versi dari Meteor kita, kita namakan RELEASE. Maka dia terletak di ./.meteor/release/[RELEASE].release.json
  2. Lihat nilai dari key "tools", kita namakan TOOL_ID
  3. 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

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

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.


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:

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:

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 tambahkan 

http://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
  1. Eclipse Web Tools Platform (WTP) Project 
  2. Mylyn task and application lifycyle management framework for Eclipse
  3. Redmine, flexible web-based project management
  4. Redmine-Mylyn-Connector di sourceforge

Tuesday, May 03, 2011

Ontology versus Taxonomy

  1. Ontologi memiliki ruang lingkup yang lebih luas. 
  2. Taksonomi adalah "tree" sedangkan ontologi adalah "forest"
  3. Ontologi merepresentasikan sebuah topik dengan beberapa perspektif. Sebagaimana "telur" adalah sebuah fase kehidupan mahluk hidup dan dia juga sejenis makanan.
  4. Ontologi mengandung vocabulary yang lebih terkontrol dan memiliki definisi relasi yang lebih teliti.
  5. Akademisi lebih condong kepada ontologi, sedangkan industri (salah satunya komunitas perpustakaan/pustakawan) lebih condong menggunakan taksonomi. 
  6. 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.
  7. 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/

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.

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