Showing posts with label reference. Show all posts
Showing posts with label reference. Show all posts

Wednesday, February 29, 2012

Set Default JVM in Ubuntu

Type this in Terminal:

sudo update-alternatives --config java

Friday, August 26, 2011

Penelitian Robotik

Wednesday, April 27, 2011

Membuat User baru di Cygwin

Buat referensi, gimana caranya menambahkan user baru di Cygwin.

Karena Cygwin sejatinya adalah lingkungan *nix yang di-porting ke lingkungan Windows, maka native user-nya harus ada dulu di Windows. Karena itu, di Cygwin tidak ada command 'useradd' maupun 'adduser'.

Informasi ini didapat dari milis Cygwin.


$ net user UserBaru password /add /yes
$ net localgroup  UserBaru /add
$ mkpassd -l -u UserBaru >> /etc/passwd

Semoga berguna.

Thursday, December 02, 2010

Menggabungkan Multi Baris di gVim

Misalnya ada sebuah berkas teks, berisi untaian paragraf. Setiap paragraf memiliki karakteristik sebagai berikut: Setiap baris yang menyusun paragraf berdiri sebagai baris sendiri, tidak tergabung dengan baris-baris sebelumnya. Efek ini terjadi jika gVim menggunakan parameter

textwidth=70
wrapmargin=10

Setiap kali kursor sampai pada kolom ke-70 di layar, gVim akan membuat baris baru dengan secara implisit menyelipkan newline ('\n') ke akhir baris. Berikut ini adalah contoh sebuah paragraf yang ditulis dalam editor gVim dengan setting parameter di atas

Misalnya ada sebuah berkas teks, berisi untaian paragraf. Setiap
paragraf memiliki karakteristik sebagai berikut: Setiap baris yang
menyusun paragraf berdiri sebagai baris sendiri, tidak tergabung
dengan baris-baris sebelumnya. Efek ini terjadi jika gVim menggunakan
parameter

Kadang-kadang, berkas dengan karakteristik seperti ini justru diinginkan agar antara baris dalam semua paragraf tidak ada simbol newline ('\n'). Bagaimana caranya untuk membuang semua newline pada akhir setiap baris dari semua paragraf?


Cara Pertama


..adalah dengan operator pencarian dan ekspresi regular:

 /.\n./

Operator pencarian di atas akan mencari sembarang simbol (diwakili dengan simbol ekspresi regular '.'), diikuti oleh simbol newline, dan diikuti oleh sembarang simbol yang lain.

Setiap kali ditemukan pola ekspresi regular seperti ini, masukkan perintah:

 v, i, p, Shift-j

Perintah di atas akan menyorot (highlight) paragraf yang bersangkutan kemudian menggabungkan (join) semua baris pada paragraf tersebut.

Cara ini kurang efektif karena jika ada ratusan atau ribuan paragraf di dalam berkas yang ingin kita buang simbol newline-nya, maka proses melakukan pencarian, meng-highlight, dan menggabungkan baris seperti di atas akan membosankan.


Cara Kedua: Lebih cepat


Ada alternatif lain yang lebih cepat, yaitu dengan memanfaatkan ekspresi regular yang diperluas (extended regular expression):

 :1,$s/\(.\)\n\([^ ]\)/\1 \2/

Operasi di atas akan mencari semua bentuk pola urutan simbol seperti pada cara pertama, yaitu sembarang simbol, diikuti oleh newline, diakhiri dengan sembarang simbol. Jika diperhatikan, pada cara kedua ini, ada beberapa perbedaan pada bentuk ekspresi regular yang digunakan dibandingkan cara pertama. Berikut ini penjelasannya secara bertahap.

Pada cara pertama, ekspresi regular yang digunakan adalah:

/.\n./

Maksudnya, kita mencari pola sembarang simbol yang diikuti oleh newline dan diakhir dengan sembarang simbol yang lain. Dalam ekspresi regular, satu buah simbol '.' mewakili huruf atau angka, atau karakter-karakter yang lain, kecuali newline.

Perubahan pertama yang diterapkan adalah mengganti ekspresi regular agar mencari pola di mana setelah pergantian baris bukan simbol spasi:

/.\n[^ ]/

Ekspresi regular "[^ ]" artinya simbol selain spasi. Ini gunanya agar paragraf yang berbentuk kutipan seperti contoh berikut tidak dilakukan proses penggabungan baris.

8. When these five kinds of spy are all at work, none can discover
  the secret system.  This is called "divine manipulation of the
  threads."  It is the sovereign's most precious faculty.

Perubahan berikutnya adalah penambahan pasangan extended regular expression "\(" dan "\)":

/\(.\)\n\([^ ]\)/

Jika sebuah ekspresi regular diapit di antara "\(" dan "\)", maka ekspresi regular tersebut menjadi sebuah pola atau pattern. Pola ini dapat digunakan pada bagian lain dari ekspresi regular. Pada kasus ini, pola yang dibuat adalah pola

\(.\)

dan

\([^ ]\)

Karena ada dua pola, maka di bagian akhir dari ekspresi regular yang digunakan dalam kasus kita kali ini dicantumkan:

/\1 \2/

Ekspresi regular "\1" artinya kita mengacu pada pola ekspresi regular yang pertama, yaitu yang diciptakan melalui eksprei "\(.\)", sedangkan ekspresi "\2" maksudnya mengacu pada pola ekspresi regular kedua yaitu "\([^ ]\)".

Sebagai contoh, jika ada sebuah paragraf dalam berkas teks seperti berikut:

19. When a general, unable to estimate the enemy's strength, allows
an inferior force to engage a larger one, or hurls a weak
detachment against a powerful one, and neglects to place picked
soldiers in the front rank, the result must be rout.

Maka jika kita masukkan perintah ekspresi regular kepada gVim

 :1,$s/\(.\)\n\([^ ]\)/\1 \2/

hasilnya adalah penggabungan baris-baris dalam paragraf menjadi satu baris tunggal

19. When a general, unable to estimate the enemy's strength, allows an inferior force to engage a larger one, or hurls a weak detachment against a powerful one, and neglects to place picked soldiers in the front rank, the result must be rout.


Referensi


Potongan contoh teks yang digunakan dalam artikel ini adalah bagian dari teks The Art of War.

Thursday, August 12, 2010

Kenapa Bisa Ada Perbedaan?

Kadang-kadang, penetapan awal bulan Hijriah, terutama untuk bulan-bulan Ramadhan, Syawal, dan Dzulhijjah, bisa berbeda antara tempat yang secara geografis saling berdekatan. Pertanyaan yang wajar dilontarkan adalah, "Kenapa bisa berbeda?"

Jawabannya bisa ditemukan pada kenyataan, bahwa ketika terjadi gerhana, baik gerhana matahari maupun gerhana bulan, tidak semua tempat di muka bumi ini dapat menyaksikan kejadian gerhana tersebut. Karena awal bulan Hijriah ditentukan dari kriteria terlihatnya Hilal di ufuk barat ketika matahari terbenam, maka fenomena yang sama pun bisa terjadi. Ketika hilal terjadi dan dapat dilihat di sebuah tempat, tidak semua tempat di muka bumi ini bisa melihat hilal yang sama.

Di tahun 2010 ini, kebetulan ada contoh kasus di mana di semenanjung Korea, ketika sebagian wilayah Asia barat dan Afrika sudah dapat melihat hilal, di semenanjung Korea hilal belum dapat terlihat. Walaupun dilihat secara geografis, lokasi semenanjung Korea dibandingkan dengan Indonesia bisa berada pada zona waktu yang sama, di Indonesia hilal bisa terlihat.

Thursday, July 15, 2010

Mendapatkan Nomor Baris di BYacc/J

Untuk mendapatkan sampai di baris ke berapa proses parsing dilakukan, gunakan directive %line di spesifikasi JFlex.

Lalu tambahkan method getLineNum():

%byaccj
%line
%column

%{
  private Parser yyparser;

  public Yylex (java.io.Reader r, Parser yyparser) {
    this (r);
    this.yyparser = yyparser;
  }

  int getLineNum () {
    return (yyline+1);
  }

  int getColNum () {
    return (yycolumn+1);
  }
%}

Ekspresi "yyline+1" diperlukan karena JFlex memulai menghitung baris dari 0, bukan dari 1.

Untuk mengambil informasi posisi baris di berkas yang sedang diurai (di-parsing), tambahkan informasi seperlunya di spesifikasi BYacc/J:

private Yylex lexer;

public void yyerror (String strError) {
  System.err.println ("Error at line: " + lexer.getLineNum() + ": " + strError);
}

Friday, October 02, 2009

Memantau Gempa

United States Geological Survey (USGS) punya situs web yang menampilkan informasi tentang gempa-gempa yang terjadi di seluruh dunia. Waktu Tasikmalaya diguncang gempa beberapa waktu yang lalu, situs usgs.gov masih tetap dapat diakses, sementara situs BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) Indonesia sempat tidak dapat diakses selama beberapa saat.

Semoga tautan kedua situs tersebut dapat membantu bagi mereka yang ingin memantau gempa secara harian.

Friday, September 18, 2009

Kapan Idul Fitri?

Sejak beberapa tahun terakhir, sering muncul pertanyaan kapan dimulainya bulan Ramadhan atau datangnya hari Lebaran Idul Fitri.

Untuk membantu menjawab pertanyaan tersebut, berikut ini ada situs yang membantu memberikan jawaban. Situs pertama, Rukyatul Hilal, dibuat oleh orang Indonesia, berisi informasi terpadu dan beberapa sumber daya. Informasi yang termuat di dalam situs ini antara lain berbagai metode yang dilakukan untuk menentukan awal bulan Hijriah, baik dengan cara hisab maupun dengan cara rukyat. Di samping artikel-artikel tersebut, kita juga bisa dapatkan beberapa perangkat lunak yang dapat diunduh untuk membantu kita mendapatkan informasi kapan awal bulan terjadi.

Situs kedua dibuat oleh sebuah tim astronom dari universitas McDonald di Texas, Amerika Serikat. Situs ini bernama Star Date Online. Pada bagian Moon Phase, kita dapat melihat secara visual fase bulan sepanjang bulan berjalan. Jika anda mengunjungi situs ini pada bulan September 2009, anda dapat lihat bahwa pada tanggal 20, fase bulan sudah melewati bulan baru, terbukti dengan terlihatnya sabit bulan yang sering kita dengar dengan nama Hilal.

Insya Allah, saya akan berikan satu artikel tentang berbagai kriteria penentuan awal bulan dalam budaya Islam dalam tulisan terpisah.

Thursday, November 27, 2008

On The Theory of Self-reproducing Automata

Ada orang yang rajin. Motoin satu-satu halaman buku berjudul "On the Theory of Self-reproducing Automata", karya John von Neumann. Silakan liat di sini.

Monday, November 17, 2008

Bank Draft

Ini pengalaman saya membuat Bank Draft untuk keperluan aplikasi sebuah beasiswa. Harapan saya, semoga artikel ini bisa bermanfaat bagi mereka yang punya kepentingan untuk mengirimkan bank draft ke institusi di luar negeri.

Apa itu bank draft? Menurut penjelasan dari salah seorang staf Bank Mandiri, bank yang saya gunakan jasanya kali ini, bank draft adalah perintah membayar yang diberikan kepada sebuah bank. Bank yang ditunjuk harus membayarkan sejumlah uang yang tertera di dalam bank draft tersebut kepada pihak yang tertera di dalamnya.

Saturday, May 31, 2008

CiteSeerX: The next generation of CiteSeer


After ScientificCommons, CiteSeer now published its next generation (still in alpha version). The previous version has been pushed to its limit by daily request of 1.5 million all over the world. Specializing in computer and information literature only, the new generation provides some enhancements such as Metadata article and Personal Content Portal.

In a matter of collaboration work between researchers, it is amazing to observer how internet technology change our style of work. Last minute updates are virtually accessible by anyone who share the same direction of research, multiplying research progress in unimaginable pace compared to Newton and Leibniz era.

Wednesday, April 23, 2008

Scientific Commons



Satu lagi sumber daya untuk pencarian artikel ilmiah tersedia di internet. Selain CiteSeer, Google Scholar, kini hadir Scientific Commons. Tidak seperti ProQuest yang mengharuskan kita membayar sejumlah dana untuk dapat menelusuri jurnal-jurnal yang tersedia di server mereka, Scientific Commons bersifat gratis seperti CiteSeer. Walau pun begitu, tergantung juga dari ketersediaan artikel ilmiah di server SC. Sebetulnya ini juga terjadi di CiteSeer, tidak semua artikel tersedia, beberapa artikel tertentu mengharuskan kita untuk berlangganan ke asosiasi profesional seperti ACM agar kita dapat mengunduh artikel yang kita inginkan.

Sejauh ini saya mencoba menelusuri bidang-bidang yang tersedia di SC, rupanya mereka menyediakan artikel ilmiah dari berbagai bidang. Tidak seperti CiteSeer yang hanya mengkhususkan pada artikel-artikel dalam bidang Ilmu Komputer, SC lebih luas cakupannya. Saya mencoba memasukkan kata kunci "Indonesia" ke dalam fasilitas pencarian yang dimiliki SC, hasilnya cukup mengagumkan. Banyak artikel dari bidang sosial, ekonomi, hukum tercakup. Asal ada kata "Indonesia" dalam artikel tersebut, maka mereka akan terambil.

Silakan dicoba, semoga dapat digunakan untuk memperluas wawasan keilmiahan kita, khususnya di Indonesia.

Monday, December 17, 2007

Setting Time in non-windoze machines

at your prompt, type in these commands:

% time ddmmHHMMyy
% clock -w

where ddmmHHMMyy should be obvious:
  • dd for two digits Date,
  • mm for two digits Month,
  • yy for two digits Year,
  • HH for two digits Hour, and
  • MM for two digits Minute