Friday, May 25, 2007
Seumur hidup sekali, semoga
If you are unable to attend, we ask your presence in thought and prayer, or (at least) give us a comment below..
Regard
Deden
Yenie
Tuesday, May 22, 2007
NSAID + Kemoterapi + Radioterapi poten untuk kanker
Sebelumnya telah diketahui kegunaan kombinasi 3 terapi ini pada dua aspek. Pertama lebih menggunakannya sebagai pencegahan (preventif kanker) tetapi berpengaruh pada efek jangka panjang. Aspek kedua untuk penggunaan pengobatan (kuratif) kanker.
Pada salah satu penelitian di UI (University of Iowa) ditemukan bahwa celecoxib (salah satu NSAID) dan sulindac sulfide (Clinoril sulfide) ternyata memperlambat proliferasi sel kanker dan membunuh sel kanker (pada beberapa prosentase).
Sedangkan sampel NSAID jenis lain (aspirin, naproxen (Aleve) atau rofecoxib (Vioxx) yang ikut dipakai pada penelitian tersebut terbukti tidak terlalu bermakna sebagai anti kanker.
Pada penelitian lebih lanjut pengaruh celecoxib sebagai anti kanker ternyata terdapat dalam intervensi-nya dalam siklus sel.
Seperti diketahui (ingat kuliah biokim nih!!) : Sebuah sel akan melewati 3 fase sebelum mereka membelah diri. Yaitu : fase G1, ketika sel membesar dan mempersiapkan cadangan protein; Fase S, ketika sel mulai mempersiapkan rantai DNA dan mereplika khromosom; kemudian fase G2, ketika sel mempersiapkan pembelahan. Siklus sel ini juga terdiri dari beberapa "Check point" penting untuk memutuskan apakah pertumbuhan sel berhenti dan apakah suatu fase sudah siap untuk memasuki fase berikutnya.
Para peneliti menemukan bahwa celecoxib merubah ekspresi salah satu protein di "Checkpoint" fase G1 , sehingga secara bermakna menurunkan aktivitas protein E2F1 (protein jenis ini diperlukan sel untuk bergerak ke fase tertentu di siklus sel, dan juga sangat penting pada aktivitas S fase seperti perbaikan DNA). Dan ini memberi harapan pada pada metode penanganan suatu kanker di masa depan.
Yang mesti diperhatikan : Syukur kalo fenomena ini di-patenkan oleh sebuah akademi (Iowa University), dan tidak oleh sebuah pabrik farmasi. Kalo nggak harga obat makin gak karuan (Jadinya lagi-lagi "kita-kita" cuma jadi agen farmasi)
Wednesday, May 16, 2007
My Two Cents May16
Bookmark May 16 2007
Overloading & Rest parameters.
Overloading adalah suatu kondisi dimana sebuah object / class mempunyai 2 (dua) atau lebih metode / fungsi dengan nama sama tetapi berbeda argument (parameter). Overloading kerap kita temui di pemrograman java.
Salah satu contoh overloading di java :
/**
* @langversion java
*
*
* Tutup koneksi cara 1
* @param ps
* @param c
*/
public static void closeConnection(PreparedStatement ps, Connection c)
{
try
{
if (ps != null)
{
ps.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
try
{
if (c != null)
{
c.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
/**
* Tutup koneksi cara 2
* @param c
*/
public static void closeConnection(Connection c)
{
try
{
if (c != null)
{
c.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
Sampai saat ini, Actionscript masih belum mendukung overloading. Tetapi ada bentuk penulisan lain sebagai alternatif untuk overloading yang ada di Actionscript 3.0 yaitu rest parameters. Rest parameter memperbolehkan kita menggunakan 0 (nol) atau lebih parameter tambahan dengan "unknown types" kepada suatu fungsi.
Anda mendeklarasikan rest parameter dengan menggunakan nama parameter yang didahului dengan 3 titik.
Didalam badan metode, nilai dari rest parameter diakses sebagai sebuah array.
Salah satu contoh rest parameter di Actionscript 3.0 :
/**
* @langversion Actionscript 3.0
*
*/
function contoh(...rest):String {
var b:String = "rest terdiri dari :";
// akses isi dari rest parameter (Array)
for(var i:uint = 0; i < rest.length; i++) {
b += " " + rest[i];
}
return b;
}
// pemanggilan
contoh("test");
// output :
// rest terdiri dari : test
contoh("test", "satu", "dua", "tiga");
// output :
// rest terdiri dari : test satu dua tiga
Note : Overloading disini tidak sama dengan overloading operator di C++
Sunday, May 13, 2007
Datum and Distance calculating in Actionscript 3.0
Untuk menunjukkan suatu posisi di bumi kita, sudah pasti diperlukan koordinat. Satu titik koordinat terdiri atas latitude dan longitude (garis lintang dan garis bujur). Penggambaran garis-garis latitude dan longitude akan berupa jaring (tile) bidang-bidang kotak bila dilihat dari peta / map 2D. Tetapi untuk peta yang lebih baik biasanya mampu menunjukkan tile dari latitude dan longitude yang bervariasi bentuk bidangnya (agak membulat), dari yang kotak sampai trapesium sampai segitiga, ini dimaksudkan untuk menunjukkan perhitungan matematis permukaan bumi yang membulat (geosphere)! Sampai disini bisa dibayangkan?
Bentuk bidang (yang dibentuk tile latitude dan longitude) yang berbeda-beda tadi digunakan untuk memetakan area-area ditempat yang berbeda dipermukaan bumi. Konsep ini dikenal sebagai ellipsoid. Sebuah Datum akan bereferensi kepada bentuk bidang tertentu tadi dipermukaan bumi, ini disebut dengan Rujukan Ellipsoid. Dari semua Datum yang dikenal, semuanya memiliki dua perbedaan utama, yaitu posisi asal (origins) tempat referensi dipermukaan bumi, dan rotasi (terhadap kelengkungan permukaan bumi), akibatnya kedua faktor ini akan mempengaruhi representasi numerik dari suatu posisi.
Kenapa anda mesti repot dengan Datum?
Bila anda memiliki 2 peta suatu wilayah, dan keduanya memiliki grid latitude dan longitude yang digambar dengan Datum yang berbeda, maka bentuk ellipsoid dari setiap tile di grid yang terdapat dikedua peta tersebut akan berbeda. Misalnya suatu wilayah di Australia bila dibandingkan di kedua peta yang masing-masing memakai Datum AGD66 dan WGS 84 akan menunjukkan perbedaan posisi yang mencapai 200 meter (0,1 mil). Bayangkan bila sebuah rudal salah sasaran hanya karena perbedaan Datum antara komandan dan juru tembak.
Untungnya setiap GPS devices sudah mempunyai kebijakan tentang Datum dalam penggunaan navigasinya. Pada merk Garmin dan Magellan, konstanta Datum yang digunakan selalu WGS 84 (default), sedangkan Lowrance/Eagle sebagian besar mengkuti WGS 84.
Salah satu penerapan Datum yang berguna : Pengukuran jarak antara 2 posisi di geosphere.
Pengukuran jarak antara 2 posisi di objek bulat-absolut tidak persis sama dengan permukaan bumi. Dan pasti sangat berbeda bila dibandingkan dengan pengukuran posisi di bidang datar yang cukup memakai Pythagoras. Dikarenakan bumi tidak bulat sempurna karena bentuknya yang sedikit mendatar di kedua kutubnya terhadap radius ekuator.
Sebuah Rujukan Ellipsoid (Reference Ellipsoid) yang diwakili Datum biasanya terdiri dari 4 parameter :
- Radius Ekuatorial (a)
- Faktor Flattening/ perataan (f) (berbanding terbalik, sehingga dituliskan 1/f).
- Delta a (selisih Radius Ekuatorial suatu Datum dengan Radius Ekuatorial Datum WGS 84) dalam meter
- Delta f (selisih Faktor Flattening suatu Datum dengan Faktor Flattening Datum WGS 84) dikalikan dengan 10^4.
WGS 84 mempunyai Radius Ekuatorial 6378137.0 dan Faktor Flattening 1/298.257223563.
Sampai saat ini aku mengetahui ada sekitar 23 Datum yang terdaftar di Reference Ellipsoid List
Selanjutnya cara perhitungan jarak antara 2 posisi di geosphere akan hampir sama dengan perhitungan di objek bulat-absolut, tinggal memperhitungkan faktor parameter yang berpengaruh diatas.
Case 1 : Pengukuran jarak 2 posisi di geosphere dengan Datum WGS 84 di Actionscript 3.0
Ringkasnya kita langsung membuat static class dengan nama Distance (Class ini kupakai pada proyek pembuatan Map Vector Sampit di Flex 2.0.1), dan Flash Player API yang diperlukan adalah flash.geom.Point (Nggak perlu panjang lebar lagi kan? Ntar malah dikira mau bikin Wiki entries, he3x!).
package com.dy.utils
{
import flash.geom.Point;
/**
* Class Distance untuk mengukur jarak 2 posisi di Geosphere.
* Datum WGS 84
*/
public class Distance
{
/**
* Static var : Radius Ekuatorial
*/
private static const a:Number = 6378137;
/**
* Static var : Faktor Flattening/ perataan
*/
private static const f:Number = 1/298.257223563;
private static const f2:Number = 2*f - f*f;
/**
* Fungsi utama untuk pengukuran.
* Point.y = latitude dengan format dd.ddddd
* Point.x = longitude dengan format dd.ddddd
* @param point1 Posisi awal pengukuran
* @param point2 Posisi akhir pengukuran
*
* @return Jarak
*/
public static function measure( point1:Point, point2:Point):Number{
/*
* Cari representasi 3D dari posisi awal
*/
var fSinB1:Number = Math.sin(point1.y * Math.PI/180);
var fCosB1:Number = Math.cos(point1.y * Math.PI/180);
var fSinL1:Number = Math.sin(point1.x * Math.PI/180);
var fCosL1:Number = Math.cos(point1.x * Math.PI/180);
//perhitungkan Radius Ekuatorial terhadap posisi awal var N1:Number = a /Math.sqrt(1 - f2 * fSinB1 * fSinB1);
var X1:Number = N1*fCosB1*fCosL1;
var Y1:Number = N1*fCosB1*fSinL1;
var Z1:Number = (1 - f2)*N1*fSinB1;
/*
* Cari representasi 3D dari posisi akhir
*/
var fSinB2:Number = Math.sin(point2.y*Math.PI/180);
var fCosB2:Number = Math.cos(point2.y*Math.PI/180);
var fSinL2:Number = Math.sin(point2.x*Math.PI/180);
var fCosL2:Number = Math.cos(point2.x*Math.PI/180);
//perhitungkan Radius Ekuatorial terhadap posisi akhir var N2:Number = a/Math.sqrt(1 - f2*fSinB2*fSinB2);
var X2:Number = N2*fCosB2*fCosL2;
var Y2:Number = N2*fCosB2*fSinL2;
var Z2:Number = (1 - f2)*N2*fSinB2;
//cari selisih jaraknya
var D:Number = Math.sqrt((X1 - X2)*(X1 - X2) + (Y1 - Y2)*(Y1 - Y2) + (Z1 - Z2)*(Z1 - Z2));
var R:Number = N1;
var D2:Number = 2*R* Math.asin(.5*D/R);
return D2;
}
}
}
Download Class Distance di-sini
Coba di aplikasi di bawah ini (Flash Player 9 required):
Case 2 : Hasil Pengukuran Benchmark.
Pengukuran posisi antara Point(lon:36.91672, lat:55.73837) dan Point(lon:37.35804, lat:57.14513) menghasilkan 158989.00805546957 meter atau 158.99 km di Actionscript 3.0. Dibawah ini hasil perbandingan pengukuran jarak yang identik dari beberapa mapping software untuk cross cek :
- MapSource : 156,10 km
- OZI : 159,07 km
- GPSMapEdit : 158.7 km
- Actionscript 3.0 : 158.99 km
Tuh kan beda? Untuk Actionscript 3.0 perbedaan mungkin karena hasil penanganan float yang diwakili oleh type variable Number oleh Flash Payer yang tidak persis sama dengan di bahasa native C/C++ kali? Lha yang bikin bingung, bukannya MapSource, OZI dan GPSMapEdit sama-sama native? malah ikutan beda satu sama lain? Ada penjelasan?
Eclipse IDE part I
Feature dan fungsi bawaan (built-in) Eclipse sangat sederhana dan generik. Eclipse memakai perangkat tambahan yang independent (extended) untuk mengerjakan sesuatu yang baru yang lebih kompleks. Platform Eclipse dibangun dari serangkaian mekanisme, dari mencari, menyatukan dan menjalankan seperangkat modul-modul yang dinamakan plug-in. Ketika Platform ini dijalankan, pengguna (user) disuguhi dengan IDE (Integrated Development Environments) yang terdiri dari berbagai set plug-in yang tersedia.
Platform Eclipse dirancang dan didesain untuk memenuhi beberapa keadaan dibawah ini :
Penting untuk disadari, kelebihan Eclipse sebagai IDE akan dirasakan oleh pengguna (user) tergantung dari seberapa baik peralatan (plug-in) terintegrasi dengan Platform Eclipse dan seberapa baik setiap plug-in bekerja satu sama lain pada lingkungan yang sesuai dengan kebutuhan pengguna. Bersambung
Saturday, May 12, 2007
Lagu manakah yang terbaik yang pernah diciptakan?
simak kritis secara musikalitas) ketika awal - awal masuk kelas 1 SMP
(usiaku 10 tahun waktu itu) dan menemukan teman baru (Andy (alm))
yang kritis terhadap musik menyarankan untuk mendengarkan lagu yang
bahkan lebih tua dari tahun kelahiranku. Di-release pada Oktober 1975,
Bohemian Rhapsody terus menjadi salah satu lagu yang akan tidak pernah
jemu ku dengar sampai hari ini. Anda tentu tahu lagu ini kan?
Sebenarnya apa yang diceritakan lagu ini? Tidak ada penjelasan resmi
dari Queen tentang tema BR, tapi suatu kali Freddie Mercury (konon)
mengatakan "Cuma acak, hanya alunan omong kosong". Mungkin dia benar,
tapi sebenarnya seperti ada curahan terselubung tentang pengalaman
pribadi Freddie yang tersamar di lirik BR. Pada waktu pertama kali
diluncurkan BR hanya perlu waktu 3 minggu untuk menduduki rangking 1
tangga lagu di Inggris, Dan pada July 1976 menduduki peringkat 9,
merupakan lagu Queen yang pertama yang masuk jajaran 10 Top Hit tangga
lagu Amerika.
16 tahun kemudian (tahun 1992) BR kembali secara cepat menduduki
peringkat 2 tangga lagu Amerika, itu 3 bulan setelah kematian Freddie
(November 1991). Lagu ini populer lagi diakibatkan oleh masa berkabung
itu, juga karena kepopuleran film "Waynes World" yang mengusung BR
disalah satu scene-nya.
Tidak ada yang perlu diistimewakan dari BR, cuma sebuah lagu tahun 70-an yang memainkan sebuah opera di atas panggung Rock dengan warna yang jauh melebihi tahun peluncurannya. Kita akan gampang untuk
mendengarkan ungkapan dan melody jenius dari Freddie dan Brian May di
lagu ini, tidak perlu mengkerutkan dahi sebagaimana bila kita menyimak
orkestra Richard Wagner misalnya.
Menilai lagu terbaik cuma dengan didengar tidak akan cukup untuk memberikan resensi yang adil kan? Kalau ingin merasakan bedanya, sekali kali luangkan waktu untuk memainkan lagu ini dengan grup band anda
(kalau umur masih dipandang pantas), tidak perlu mengumpulkan
teman-teman yang advanced skill bermusiknya. Dan dengan cepat semoga
anda setuju bahwa setiap alat musik yang dimainkan serasa berdialog
lewat loop melewati tangga nada yang berbeda-beda, perubahan
mengejutkan irama ketukan yang sesekali menyerempet ke 3/4. Sadar nggak
kalo Choir paduan suara melantunkan potongan "Is this the real life"
terdiri dari 4 suara (C#, Bb, Ab, F) dengan F sebagai low tone
merupakan suatu alunan pembukaan yang janggal, jarang ditemui, apalagi
di band-band Indonesia.
Tanpa menyadari begitu megahnya lagu ini, aku dan grup bandku (waktu jaman kuliah dulu) dengan pede-nya membawakan lagu ini sewaktu lomba
band dikampus, mungkin karena didukung oleh para backing vokal (dicopot
dari paduan suara angkatan kami) yang "mungkin" kelihatan pas sewaktu
diatas panggung, dan mungkin karena peserta lain lagi jelek-jeleknya,
kami sukses merebut juara 1 (norak!!) .Tapi kalau suatu saat disuruh membawakan lagu ini sekali lagi dengan formasi band yang sama, aku dengan tegas menolak deh! Bukan apa-apa sih, kita kan main musik tidak serius-serius bener, apalagi disuruh membawakan lagu yang diidolakan jutaan orang, apa kata dunia?
Recap : Bohemian Rhapsody dari Queen merupakan lagu terbaik yang pernah diciptakan di era modern ini, dan ratusan ribu orang di luar
sana jauh sebelum posting ini ditulis sudah berpendapat seperti itu.
Bersama Innuendo (Queen), Kashmir (Led Zeppelin), BH paling tidak
seminggu sekali dimainkan JetAudio dikamarku.
Lagu manakah yang terbaik yang pernah diciptakan menurutmu?
Friday, May 11, 2007
May 11th for Dijkstra
Edsger W Dijkstra
Hari ini adalah ulang tahun Edsger Wybe Dijkstra (Rotterdam, 11 Mei 1930).
Bagi yang belum terlalu mengenal Dijkstra, dia adalah ilmuwan komputer Belanda, yang sangat terkenal dengan algoritma ciptaannya shortest path - algorithm , biasa disebut juga dengan Dijkstra's algorithm, yang salah satu implementasi pentingnya adalah OSPF (open shortest path first) yang menjadi dasar dari internet routing.
Selain itu dia terkenal karena kebiasaannya menulis manuskrip-manuskrip yang biasa disebut "EWDs" karena Dijkstra selalu memberi penanda nomor diikuti dengan "EWD" sebagai prefix pada setiap judul manuskripnya. Kebanyakan topik yang terdapat di setiap manuskripnya seputar matematika dan sains komputer.
Dijkstra dikenal sebagai seseorang yang akrab dengan sains komputer tetapi hanya memiliki sebiji komputer seumur hidupnya, yang agak telat dimilikinya. Itu pun sangat jarang digunakannya. Ceritanya, sebagian besar manuskrip Djikstra diterbitkan setelah tahun 1972 berupa tulisan tangan. Dia sangat menjauhi penggunaan komputer pada pekerjaannya selama beberapa puluh tahun. Akhirnya setelah mengalah kepada dorongan beberapa koleganya di Universitas Texas, dia memutuskan untuk membeli sebuah komputer Macintosh, dan ujung-ujungnya hanya digunakan untuk memeriksa email dan browsing. Dikarenakan prinsipnya yang mengatakan sains komputer sangat lebih abstrak dari sekedar programming semata. "Computer Science is no more about computers than astronomy is about telescopes." ujarnya.
Selain itu kalimat slogan terkenal dari Dijkstra adalah "2 or more, use a for" . Artinya bila anda menemukan situasi didalam penulisan kode program anda yang ternyata memerlukan pemrosesan instance dari suatu struktur data lebih dari sekali, maka waktunya untuk membuat loop, baik dengan statement for(..) maupun while(..)
Dijkstra meninggal tanggal 06 Agustus 2002 di Nuenen Belanda, sehari setelah aku berusia 24 tahun, karena kanker. Untuk mengenang jasa Djikstra, oleh ACM (Association for Computing Machinery) yang mengurus penghargaan bidang komputer tahunan "PODC Influential Paper Award " mengganti nama penghargaan itu menjadi "Dijkstra Prize" sampai sekarang.
Selamat Ulang Tahun Dijkstra, algoritma shortest path-nya memecahkan segala pendekatan pemikiran yang memusingkanku sewaktu SMA dulu. Nama Dijkstra secara pribadi begitu melekat di otak sejak aku belajar C++ dulu ketika membaca pengantar buku "C++ A Practical Introduction" karangan Brian Hahn, disitu tertulis pendapat Dijkstra yang mengatakan "Pemrograman Berorientasi Objek adalah gagasan buruk yang janggal". Sampai saat ini aku belum bisa mengerti mengapa dia bisa berpendapat seperti itu?
Download Algoritma Dijkstra beserta Tester di Actionscript 3.0 di sini
Tuesday, May 08, 2007
Map Vector of Sampit
Alasan pembuatan peta? Ya mungkin karena orang yang suka coding pasti tertarik dengan sesuatu yang berbau diagram, juga tertarik dengan peta, itu pasti naluri kan?
Bagi beberapa orang sebaliknya, biasa saja..
Pembuatan peta kota sudah sering kulakukan setiap kali berada di suatu wilayah, dulunya waktu SMP dengan manual seadanya, jalan kaki sambil gambar, bersepedamotor sambil gambar, foto -foto. Terakhir 3 tahun yang lalu sewaktu gmap mulai rame agak terbantu juga dengan satelite imagery-nya, trus setelah kenal Garmin menjadi lebih seru lagi, jalan jalan keliling kota sambil tracking.
Pengolahan hasil tracking dan waypoint dilakukan di GPSMapEdit dan cGPSMapper, kalibrasi Datum dan lain-lain dengan OzyExplorer. Setelah itu format dasar di-export menjadi Polish Format (*.mp), kemudian di-export lagi ke format tersendiri sesuai device-nya, untuk J2ME di K508i memakai format tersendiri (custom) yang lebih ringan, sedangkan untuk PDA tetap memakai Polish Format, dan untuk Flex memakai custom format (*.dyp) yang berupa binary terkompress, exporter bikin di Netbeans.
Kenapa memakai format peta tersendiri? Paling nggak tidak bisa dibuka di aplikasi map lain / ini sih berhubungan dengan hak cipta. Karena tracking sendiri muterin seantero kota selama berminggu-minggu lebih capek daripada coding, makanya pembatasan kompatibilitas format file harus dipikirkan, :)
Dari 3 proyek ini (J2ME, PDA, Flex) yang sudah cukup matang adalah J2ME, sedangkan untuk PDA (Win CE) masih terkendala manajemen memory Flash Player 6 untuk PDA yang jelek.
Pada versi demo Flex dibawah ini, beberapa feature tidak disertakan seperti Label, Search Form, Area Calculating, Path Finder dan lain-lain.
Dan demo J2ME-nya di Emulator KToolBar :
Sunday, May 06, 2007
Plugin Maven 2 untuk Flex
Baca info lebih lanjut dan repository di http://www.servebox.com/foundry/doku.php?id=m2f2plugin
Sedangkan untuk yang ingin lebih mengenal Maven 2 lihat baca http://maven.apache.org/
Friday, May 04, 2007
Yahoo Web Messenger
Yaitu sebuah web application yang mempunyai fitur hampir sama dengan Yahoo! Messenger (versi desktop application).
Dan "Yahoo! Web Messenger" ini berbasis Flex, dengan status versi beta.
Yang membuat agak penasaran adalah : Mekanisme streaming untuk chatting (bila ada), apakah Yahoo! menggunakan API URLStream?
Dengan hadirnya webmessenger ini setidaknya Yahoo! sudah 2 kali memakai framework Flex, Yang pertama dengan Yahoo!Map dilanjutkan dengan ini.
Wednesday, May 02, 2007
Silverlight yang menyilaukan
Beberapa ada yang begitu vulgar berusaha menunjukkan kalo satu produk akan jauh mengungguli teknologi pihak lain, dipihak lain ada juga yang berusaha sebisanya untuk menunjukkan kematangan produk yang lebih duluan berkibar bertahun tahun.
Yang jadi masalah bukan mana yang lebih unggul kan?
Tinggal bukti yang cukup mewakili saja..
Baik dari segi pasar / client, pengembang/developer/programmer, user, teknis dan lainnya, iya kan..
Tidak masalah kalau harus ada yang merasa direndahkan.,
Yang jadi masalah kita terlalu mengikuti kebiasaan orang sana yang selalu terpengaruh dengan WOW FACTOR, yaitu keterpesonaan yang berlebihan terhadap sesuatu yang baru yang lebih berdasar pada penilaian situasional dan bukan berdasar pemikiran lanjut yang lebih mendalam, iya kan?
Ada gak yang pernah memeriksa domain silverlight.com, memangnya ownernya sudah Microsoft?
flash.com pastinya punya adobe dong..