Skip navigation

Monthly Archives: November 2010


Menginstall PHPUnit di XAMPP sebenarnya tidak terlalu susah dan langkah-langkahnya sudah ada di sini. Tapi, daripada saya lupa, lebih baik saya taruh di sini.

Pertama-tama, buka command prompt dan pergi ke folder php di XAMPP. Contohnya C:\xampp\php. Dari sana, eksekusi beberapa perintah untuk menambahkan source untuk instalasi paket PEAR. PEAR itu kumpulan paket-paket library yang berguna untuk pemrograman PHP. Modelnya sangat mirip dengan Debian atau Yum. Oke, perintahnya adalah sebagai berikut

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com

Kalau misalnya ada pesan kesalahan bahwa tidak bisa menulis php.ini yang ada di folder Windows, cukup tambah environment variable “PHP_PEAR_SYSCONF_DIR” dengan nilai “C:\xampp\php“.

Setelah itu tinggal eksekusi

pear install phpunit/PHPUnit

Selesai. Coba ekseksusi perintah `phpunit` untuk melihat apakah instalasi berhasil. 🙂

Iklan

N-Body simulation adalah sebuah masalah mensimulasikan banyak elemen yang mempengaruhi satu sama lain. Interaksi ini disebabkan oleh adanya gaya antara setiap elemen, sebagai contoh gaya gravitasi. Seperti yang diketahui, gaya gravitasi antara dua buah elemen adalah

F = G \frac{m_1 m_2}{r^2}

di mana

  • G adalah konstanta gravitasi, yakni G = 6.67428 \times 10^{-11} \ \mbox{m}^3 \ \mbox{kg}^{-1} \ \mbox{s}^{-2}
  • m_1 dan m_2 adalah massa kedua elemen, dan
  • r adalah jarak antara keduanya

Pada simulasi ini, kita diminta menghitung untuk setiap elemen pengaruh semua elemen yang lain terhadap elemen tersebut. Yang menjadi masalah adalah banyaknya elemen yang perlu dihitung. Pada salah satu kegunaannya di bidang astrofisika, banyaknya elemen yang dihitung dapat mencapai ukuran triliun.

Untuk itu diperlukan algoritma yang dapat menghitung (atau mengaproksimasi) simulasi tersebut dengan sangat cepat. Hingga saat ini sudah terdapat beberapa algoritma yang ditemukan hanya untuk masalah ini. Nanti mungkin saya akan membahas beberapa algoritma tersebut.


Ketika sedang membaca buku “Introduction to the Design & Analysis of Algorithms” karya Anany Levitin, saya merasa terinspirasi pada sebuah paragraf di bagian epilog yang membahas tentang algoritma paralel. Bertentangan dengan seisi buku tersebut yang membahas tentang algoritma sekuensial, bagian ini membahas mengenai kemajuan jaman yang telah menciptakan sebuah teknologi yang memungkinan sebuah proses komputasi bisa dibagi-bagi ke dalam beberapa subproses. Hasil dari sub-subproses ini nantinya akan digunakan untuk membangun hasil untuk proses keseluruhan.

Di paragraf tersebut diberikan contoh penjumlahan sebuah array A[1..n]. Dengan menggunakan algoritma sekuensial, penjumlahan ini akan menggunakan sebanyak n-1 operasi dasar penjumlahan. Sementara jika penjumlahan dilakukan dengan memasangkan tiap-tiap dua bilangan A[1] dan A[2], A[3] dan A[4], dan seterusnya kemudian menjumlahkannya secara paralel, maka langkah yang dilakukan hanya sebanyak \lceil{log_2 n}\rceil

Meski demikian banyak sekali tantangan yang harus dihadapi dalam melakukan komputasi paralel. Tantangan ini mulai dari algoritma, dependensi data, sinkronisasi, dan terutama dalam perangkat keras.

Dari beberapa pengalaman kecil, bisa saya katakan bahwa kendala perangkat keras adalah yang tersulit di antaranya. Sekarang ini banyak sekali perangkat keras yang sudah mendukung pemrosesan paralel, mulai dari yang paling prosesor multicore, graphical processing unit (yang sedang saya pelajari), hingga grid computing. Suatu algoritma sekuensial dapat dibandingkan satu sama lain dengan menggunakan pendekatan empiris pada mesin yang sama (meski kadang-kadang kita bisa menemukan beberapa ‘hal mistis’ yang terkait affinity). Tapi tidak sebaliknya dengan algoritma paralel yang jauh lebih kompleks daripada algoritma sekuensial yang bahkan implementasi dari satu mesin dengan mesin yang lain bisa sangat jauh berbeda.

Meski demikian, perkembangan pemrosesan paralel jauh menarik daripada pemrosesan tunggal. Jika kita lihat perkembangan clock speed komputer yang berkembang sangat perlahan, kita melihat sebuah booming pada perkembangan prosesor-prosesor paralel. Beberapa waktu belakangan ini saya sendiri melihat perkembangan yang sangat pesat dalam graphical processing unit yang konon diklaim lebih cepat daripada hukum Moore.

Di atas adalah sedikit pendapat pribadi mengenai komputasi paralel. Untuk beberapa waktu yang akan datang, saya juga akan menulis beberapa hal terkait hal ini.

Introduction to the Design & Analysis of Algorithms”Introduction to the Design & Analysis of Algorithms

Cuman pengen nyoba fitur LaTeX. Mungkin belakangan bakal banyak postingan yang pake LaTeX

i\hbar\frac{\partial}{\partial t}\left|\Psi(t)\right>=H\left|\Psi(t)\right>

Penjelasan lebih banyak tentang penggunaan LaTeX di WordPress bisa dilihat di sini.

%d blogger menyukai ini: