1. Teknologi hardware terbaru
a. Intel Aplikasikan Teknologi Pendingin Jet Pada Laptop
Intel ingin memastikan agar laptop tetap dapat dipakai sesuai namanya — dipangku dengan nyaman di atas pangkuan pengguna. Dalam mengantisipasi datangnya berbagai macam laptop super tipis tahun depan, Intel memperlihatkan sebuah teknologi pendingin untuk memastikan laptop yang tidak memiliki rongga udara besar tetap dapat beroperasi dalam keadaan dingin.
Menurut Mooly Eden, teknologi pendingin pada laptop ultra tipis hari ini menitik beratkan pada pencegahan meningkatnya temperatur komponen internal laptop dan tidak banyak mengambil aliran udara dari luar.
Eden mengatakan bahwa “saat Anda merancang laptop yang sangat tipis, teknologi pendingin adalah sebuah tantangan besar. Apabila Anda memangku laptop di pangkuan, laptop sering terasa tidak nyaman, terlalu panas.” Mempertahankan temperatur rendah pada laptop adalah tantangan terbesar dalam merancang laptop super tipis seperti MacBook Air atau HP Voodoo Envy 133. “Apabila masalah ini tidak terselesaikan, laptop tidak dapat dibuat semakin tipis,” lanjut Eden.
Eden kemudian memperlihatkan sebuah animasi mesin jet untuk mendemonstrasikan argumennya. Bagian dalam sebuah mesin jet dapat mencapai 1.000 derajat celsius, akan tetapi rangka luar dari mesin jet harus tetap dingin karena terhubung langsung ke sayap pesawat terbang yang menyimpan bahan bakar. Untuk menjauhi panas mesin dari sayap, teknologi pendingin laminar air cooling diterapkan. Laminar flow mendeskripsikan keadaan di mana cairan — atau udara mengalir dalam beberapa lapisan parallel.
Teknologi pendingin mutakhir Intel
Intel mendemonstrasikan sebuah sistem yang menggunakan teknologi laminar air flow untuk menghilangkan panas dari permukaan laptop, dan mereka “sudah melisensikan teknologi ini kepada beberapa pelanggan agar mereka dapat terus membuat laptop yang semakin tipis.”
Dalam acara yang sama, Intel juga mendiskusikan platform laptop Intel yang akan datang Calpella yang dibuat berdasarkan Nehalem. Eden menekankan bahwa controller grafis maupun memori sudah akan terintegrasi ke dalam CPU. Calpella juga mampu dengan leluasa mematikan/menghidupkan kembali core CPU sesuai kebutuhan. Fitur ini sangat penting untuk mempertahankan daya tahan baterai pada laptop berbasis Calpella quad core. (via Cnet)
b. The Spotlight Turns to Notebooks, Apple Siapkan Laptop $800
Sesuai gosip yang telah beredar sebelumnya, Apple telah mengirimkan berbagai undangan pada perusahaan media untuk menghadiri sebuah acara di markas besar Apple di Cupertino pada tanggal 14 Oktober. Undangan ini berjudul “The spotlight turns to notebooks” dan memperlihatkan sebuah foto notebook belum pernah terlihat sebelumnya, jadi satu hal yang pasti adalah Apple akan mengeluarkan produk laptop baru, minimal upgrade MacBook dan MacBook Pro dan tampaknya kita juga akan melihat satu produk baru lagi yang berharga di bawah $1000.
Undangan acara Apple
Brick
Diduga laptop-laptop baru yang akan dikeluarkan Apple diproduksi dengan teknologi baru bernama “Brick” — sebuah proses manufaktur baru yang revolusioner, dikatakan sebagai salah satu inovasi Apple yang terbesar dalam satu dekade terakhir. Brick mengukur casing laptop lengkap dari satu blok aluminum utuh (sekelas pesawat terbang) untuk menghasilkan desain yang sama sekali berbeda dengan harga yang lebih murah.
Inovasi baru ini disebut-sebut sebagai sesuatu yang “tidak akan dapat disaingi kompetitor lainnya selama beberapa waktu.” Casing laptop hari ini harus menggabungkan beberapa lempengan logam menjadi satu dengan baut atau mekanisme lainnya, tidak demikian dengan proses manufaktur Brick. Lihatlah foto di bawah ini yang memperlihatkan casing yang digosipkan merupakan kulit luar dari MacBook Pro. Apple lagi-lagi akan membawa definisi aestetika dalam industri komputer ke tingkat baru.
Foto Brick
Foto diambil dari Inquisitr
Laptop $800
Salah satu alasan utama mengapa PC berbasis Windows masih dominan dibandingkan Mac adalah harganya yang tinggi, terutama apabila dibandingkan dengan PC berharga murah yang ditawarkan berbagai vendor. Beberapa analis juga sebelumnya mengatakan bahwa penjualan Apple terancam turun, tergerus oleh mendadak populernya produk netbook, terlebih lagi keadaan ekonomi dunia yang memburuk akan menyebabkan konsumen berpikir dua kali sebelum membeli produk mahal (harga MacBook dimulai dari $1099).
Ancaman ini tampaknya tidak didiamkan begitu saja oleh Apple yang ternyata sudah menyiapkan sebuah laptop (lebih) murah. Menurut sumber Inquisitr yang terpercaya, toko retil Apple telah menerima daftar harga yang mencantumkan 12 harga jual yang berbeda, berkisar antara $800 hingga $3100. Daftar harga notebook Apple sebelumnya hanya memiliki 8 harga yang berbeda, 3 untuk MacBook yang dimulai dari $1099, 3 untuk MacBook Pro dan 3 untuk MacBook Air.
Apabila benar Apple akan memperkenalkan sebuah laptop (dan bukan produk lain seperti tablet PC) berharga $800, debutnya produk baru dalam lini produk MacBook ini akan menjadi satu lagi hal yang perlu dipusingkan Microsoft yang pangsa pasarnya di segmen PC mewah tergerus Apple, sedangkan Linux juga melakukan hal yang sama, dari arah yang berlawanan (netbook dan UMPC).
c. Asus Siapkan Eee PC dengan Layar Sentuh
Logo AsusTidak diragukan lagi kalau Eee PC telah menjadi salah satu lini produk unggulan Asus, membuka segmen netbook baru dan mendongkrak keuntungan perusahaan. Oleh karena itu dapat dimengerti bahwa perusahaan asal Taiwan ini berniat untuk memperluas lini produk Eee PC tahun depan dengan memperkenalkan beberapa model baru yang berbeda dari yang lain, terutama karena segmen netbook sudah mulai padat oleh berbagai kompetitor. Menurut Samson Hu, GM bisnis Eee PC di Asus model-model baru ini bertujuan untuk semakin mendongkrak pertumbuhan pendapatan Asus.
Detil pasti model Eee PC yang akan diperkenalkan masih belum banyak, akan tetapi Asus berencana meluncurkan sebuah model dengan layar sentuh di kuartal pertama 2009. Walaupun tidak membocorkan informasi teknis dari Eee PC berlayar sentuh ini, Hu mengatakan bahwa Asus berencana untuk memamerkan produk ini di CES 2009 yang akan diselenggarakan pada tanggal 8 sampai 11 Januari 2009 di Las Vegas.
Selain itu, Asus juga berencana merilis Eee PC yang diperkuat oleh Intel Atom dual core beberapa saat setelah Intel mulai menjual produk tersebut. Jadwal rilis produk ini belum ditetapkan tetapi sudah pasti akan memberikan kinerja yang lebih baik dibandingkan sebagian besar netbook lainnya di pasaran.
Yang terakhir, Jerry Shen CEO Asus juga mengatakan bahwa Asus tengah mengembangkan sebuah model Eee PC baru yang akan mengantarkan netbook lebih dekat lagi ke tujuan awal mereka, yaitu sebagai PC yang sangat portabel, ringan dan murah.. Model ini diduga untuk dirilis tahun depan, dijual dengan harga kurang dari $307. (Softpedia)
Selain produk-produk masa depan ini, Asus belakangan ini terus mengeluarkan laptop baru dengan kecepatan yang mengagumkan, mulai dari Eee PC S101 yang modis hingga laptop aneh yang datang dengan Air Ionizer hingga DVD yang mengemas keygen.
2. Teknologi internet terbaru
a. Youtube Kini Mendukung Tampilan Teater
Setelah beberapa hari sebelumnya mengumumkan sistem upload terbaru dan kapasitas upload yang ditingkatkan sampai 1GB, Youtube menambahkan dua fitur baru yang membuat pengalaman menonton video semakin menarik, yaitu Theatre view dan Lights off.
Theatre View
Theatre view akan membuat suasana menonton video seperti di gedung teater. Mengklik ikon bergambar jendela teater akan mengubah tampilan YouTube menjadi tampilan teater dengan sedikit animasi, dimulai dengan latar belakang menjadi gelap, lalu bagian sidebar sebelah kanan akan turun diikuti dengan munculnya latar belakang bergambar tirai warna merah dibarengi dengan video yang melebar ke tengah halaman. Seperti terlihat pada gambar di bawah ini:
Lights Off
Untuk melengkapi fitur Theater view, disediakan pula fitur Lights off yang dapat membuat tampilan di luar kanvas video menjadi gelap. Fitur tersebut akan diaktifkan secara otomatis saat ikon Theater view diklik. Untuk mematikan fitur ini pengguna hanya perlu mengklik ikon bergambar lampu bohlam.
Kedua fitur tersebut hanya muncul pada video berdurasi panjang (lebih dari 20 menit). Masih belum jelas bagaimana video berdurasi lebih dari 10 menit bisa muncul di Youtube (saya juga pernah menemukan video berdurasi lebih dari 1 jam). Tapi jumlah video tersebut hanya ada 340 dan kebanyakan tersebut berasal dari seri Authors@Google, Standford University, Carnegie Mellon University and Vancouver Film School.
Anda dapat membatasi hasil pencarian video hanya yang berdurasi panjang saja. Caranya dengan menambahkan “&longform=1” di bagian belakang URL hasil pencarian. Contohnya saya memasukkan kata kunci Steve Jobs pada kotak pencarian dan menekan enter/ klik search. Maka di address bar akan muncul URL sebagai berikut:
http://www.youtube.com/results?search_query=steve+jobs&search_type=&aq=f
Ganti bagian belakang URL tersebut (”&aq=f“) dengan “&longform=1” . Sehingga menjadi:
http://www.youtube.com/results?search_query=steve+jobs&search_type=&longform=1
Via GoogleSystem
b. Hati-hati Terhadap YouTube Palsu Penyebar Malware
Pengguna Internet yang sudah mahir tau bahwa mengunduh program komputer yang mencurigakan adalah hal paling berbahaya yang dapat dilakukan secara online, beresiko besar mengakibatkan ditanamkannya virus atau bom waktu lainnya dari seorang cracker. Namun pengguna internet yang mahir sekalipun terkadang masih tertipu oleh para kriminal yang menciptakan halaman YouTube palsu - sebuah replika yang identik dengan situs aslinya untuk menyisipkan malware di dalam sebuah unduhan yang tampaknya datang dari sumber terpercaya.
Screenshot YTFakeCreatorSebuah program bernama YTFakeCreator yang dapat dengan mudah membuat halaman YouTube palsu tersebut sudah tersedia online (link sengaja tidak saya berikan). Pengguna yang menerima email yang membawanya ke halaman palsu tersebut akan melihat pesan eror yang mengklaim bahwa video yang ingin mereka lihat tidak dapat diputar tanpa terlebih dahulu menginstal perangkat lunak baru. Pesan eror tersebut juga menampilkan sebuah link yang mengirimkan virus.
Lebih parah lagi: setelah komputer terinfeksi, sangat mudah bagi para cracker untuk mengarahkan korban kepada halaman YouTube asli untuk melihat video yang ingin mereka lihat — dan menyembunyikan kejahatannya.
Taktik itu sendiri bukanlah hal baru — dan termasuk dalam kategori phishing yang sudah sering diterima banyak orang. Para kriminal online selalu berusaha untuk membuat tiruan situs-situs terkenal untuk memperdayai pengunjung.
Jamz Yaneza dari Trend Micro mengatakan bahwa “taktik ini sangat akurat, dan sangat menakutkan. Apabila saya menonton video YouTube sepanjang hari saya juga kemungkinan besar akan mengunjungi situs ini.” (via physorg)
Bedanya dengan phishing biasa, apabila biasanya kita menerima link yang membawa kita ke situs-situs finansial (PayPal, KlikBCA) — kali ini mereka membawa kita ke salah satu situs hiburan terpopuler dunia. Terlebih lagi, YouTube menggunakan teknologi Flash, sehingga tidak mustahil bila YouTube meminta pengunjung untuk menginstal sesuatu yang lebih baru — ditambah lagi YouTube belakangan ini juga sangat gencar dalam meluncurkan fitur-fitur baru.
Ini menunjukkan bahwa kriminal semakin mahir dalam menciptakan situs gadungan dan menggunakan social engineering yang memanfaatkan psikologi manusia untuk menipu pengguna.
Extension Locationbar2 untuk FirefoxUntungnya, para pengguna yang selalu waspada masih dapat melihat tanda-tanda halaman YouTube palsu. Untuk situs palsu, browser Anda tidak akan menunjukan alamat YouTube yang asli. Dan bahkan untuk sampai pada halaman tersebut, Anda harus terlebih dahulu mengikuti sebuah link yang dikirimkan kepada Anda, yang seharusnya sudah langsung Anda curigai. Apabila Anda menggunakan Firefox, extension Locationbar2 juga dapat membantu Anda mengenali situs YouTube gadungan.
3. Bahasa pemrograman terbaru
1. Java merupakan bahasa yang matang. Java sudah teruji. Java mempunyai kecepatan yang tinggi (terlepas dari apa yang diklaim oleh kebanyakan developer anti-Java).. Kode Java juga cenderung panjang. Dari Java ke Ruby, bisa dipastikan source code Anda akan menciut/mengecil. Dan sangat besar kemungkinan bahwa untuk membuat prototype di Ruby Anda membutuhkan waktu yang jauh lebih singkat daripada membuatnya di bahasa Java.
Contoh Source Code
Berikut ini adalah contoh program untuk menjumlahkan dua angka (diinputkan dari keyboard) di Java:
import java.io.*;
public class Addup
{
static public void main(String args[]) throws Exception {
InputStreamReader stdin = new InputStreamReader(System.in);
BufferedReader console = new BufferedReader(stdin);
int i1 = Integer.parseInt(console.readLine());
int i2 = Integer.parseInt(console.readLine());
System.out.println(i1 + i2);
}
}
Anda dapat menuliskan program tersebut di Ruby sebagai berikut:
a = gets.to_i
b = gets.to_i
c = a + b
puts c
Sumber: A Very Quick Comparison of Popular Languages for Teaching Computer Programming, dengan modifikasi dari Yohanes Santoso
Kemiripan Ruby dan Java
Sama seperti Java, di Ruby…
* Memory diatur secara otomatis melalui garbage collector.
* Obyek diperlakukan secara strongly typed.
* Metode bersifat public, private, atau protected.
* Ada tool untuk dokumentasi dalam kode (di Ruby dikenal dengan sebutan RDoc). Dokumentasi yang dihasilkan oleh rdoc kelihatan sangat mirip dengan yang dihasilkan oleh JavaDoc.
Perbedaan Ruby dan Java
Tidak seperti Java, di Ruby,...
* Anda tidak perlu meng-compile kode Anda. Anda cukup menjalankan saja langsung melalui interpreter Anda.
* Ada perbedaan toolkit GUI. Rubyist dapat mencoba WxRuby, FXRuby, Ruby-GNOME2, atau yang sudah disertakan dengan Ruby seperti Tk.
* Anda menggunakan keyword end setelah mendefinisikan macam-macam hal di Ruby seperti class, sebagai pengganti kurawal buka dan kurawal tutup di sekitar blok kode.
* Anda menggunakan require di Ruby, bukan import.
* Semua anggota variabel adalah private. Dari luar, Anda mengakses semua variabel tersebut lewat bantuan metode.. Anda bisa mengotomatisasi proses ini menggunakan bantuan attr_reader, attr_writer, maupun attr_accessor.
* Buka dan tutup kurung di saat pemanggilan metode biasanya opsional (boleh dipakai boleh juga tidak) dan biasanya tidak dipakai.
* Semua adalah obyek, termasuk angka (obyek bertipe Fixnum) seperti 2 dan 3.14159..
* Tidak ada static type checking. Semua pengecekan tipe bersifat dinamis tapi tetap strongly typed.
* Nama-nama variabel hanya label. Nama variabel tidak punya type yang terkait dengan keberadaan variabel.
* Tidak ada deklarasi tipe. Anda cukup assign ke nama variabel baru jika diperlukan dan sudah otomatis dibuatkan oleh Ruby (contoh a = [1,2,3] sudah cukup di Ruby, tidak membutuhkan deklarasi eksplisit misalnya int [] a = {1,2,3};).
* Tidak ada casting. Solusinya, cukup panggil metode yang diinginkan. Anda dapat menggunakan unit test untuk mengecek kesalahan pada kode atau adanya exception.
* Di Ruby, foo = Foo.new( "hi"), bukan foo = new Foo( "hi" ).
* Konstruktor selalu dinamakan initialize, bukan sama nama kelas tersebut seperti di Java.
* Anda punya “mixin” yang bisa menggantikan interface.
* YAML lebih banyak digunakan ketimbang XML.
* null disebut nil di bahasa Ruby..
* Penanganan untuk == berbeda dengan equals() di Ruby. Gunakan == kalau Anda ingin test ekivalensi di Ruby (kalau di Java pakai equals()). Di Ruby, gunakan equal?() kalau Anda ingin mengetahui apakah dua obyek sama atau tidak (di Java pakai ==).
Bahasa Pemrograman Ruby di Platform Java
Perkembangan terbaru memungkinkan menjalankan kode Ruby pada platform Java.
JRuby adalah interpreter Ruby yang dikembangkan menggunakan platform Java. Dengan JRuby, Anda dapat menjalankan secara langsung kode Ruby (bahkan Rails!) pada sebuah Java Runtime Environment. Anda juga dapat mengakses library Java dan juga sebaliknya. JRuby sudah cukup matang dan dapat digunakan untuk menjalankan sebagian besar kode Ruby tanpa perubahan apapun. Thoughtworks menggunakan JRuby dalam pengembangan aplikasi-aplikasi mereka.
XRuby meng-compile kode Ruby ke dalam bytecode Java. Proyek ini semakin berkembang dari hari ke hari.
Ada perasaan besar saat gw berada di puncak... puncak yang dulu gw kira nggak mungkin di capai, sekarang udah jadi mainan sehari hari... nggak gampang memang, tapi gw yakin karena gw selalu mencoba setiap kesempatan yang ada... dan gw akan terus mencoba sampai gw mendarat di puncak tertinggi...
Rabu
News IT
1. Teknologi hardware terbaru
a. Hard Disk Drive 1.8
Divisi media penyimpanan Toshiba mengeluarkan lima macam Hard Disk Drive dengan ukuran 1.8" dan kapasitas sebesar 120GB untuk mobile PC, untuk ultra-mobile PC disediakan kapasitas sebesar 60GB dan 80GB, sedangkan dua produk lainnya yang memiliki kapasitas 60GB ditujukan untuk aplikasi CE.
Tiga produk utama yang ditujukan untuk aplikasi PC normal di mobile PC dan ultra-mobile PC adalah 120GB MK1214GAH, 60Gb MK6028GAL, dan yang paling ringan 80GB MK8025GAL. Berat HDD-HDD ini 2 gram lebih ringan dari HDD 1.8" lainnya. Tiga model ini dilengkapi dengan interface PATA, buffer sebesar 2MB. dan format 512byte per sektor. Tiga produk ini merupakan pilihan cocok untuk tablet, mobile PC, ultra-portable, ultramobile PC (UMPC), dan aplikasi lainnya.
Untuk aplikasi CE, Toshiba memberikan produk khusus dengan tinggi 5mm dan atribut spesial untuk produk-produk genggam seperti kamera digital dan video. Yang pertama, MK6014GAL menawarkan kecepatan putaran 4,200 RPM dan2MBbuffer untuk kecepatan pengiriman data, sedangkan MK6015GAA dengan 3,600RPM menawarkan operasi yang lebih tenang.
Dengan ekspansi produk ini, Toshiba menarget market dan aplikasi baru untuk bentuk HDD 1.8".
b. Dell Umumkan Netbook Super Tipis Inspiron 12
Di acara jumpa pers Dell di Shanghai, Dell memperlihatkan produk netbook terbarunya yang selain sangat tipis juga merupakan produk netbook dengan ukuran layar terbesar dunia — Dell Inspiron 12 yang merupakan saudara kandung dari netbook Inspiron 9. Sesuai namanya, Dell Inspiron Mini 12 memiliki layar berukuran 12 inci, sebenarnya sudah pantas disebut sebagai sebuah laptop, walaupun Dell tetap bersikeras menyebut produk ini sebagai netbook, menjadikan produk ini “netbook” terbesar di dunia.
Dell Inspiron 12 Tampak Depan
Dell Inspiron 12 tampak samping
Inspiron Mini 12 sudah mulai dijual di Jepang dengan peluncuran “global” (walaupun dikatakan global, mereka hanya mengatakan Australia, Amerika dan Eropa) pada bulan November dengan harga mulai dari $600. Produk ini dirancang untuk pengguna yang sering bepergian dan gemar menjelajah web dengan spesifikasi utama:
* Layar 12,1 inci WXGA
* Menggunakan prosesor Intel Atom ‘Silverthorne‘ Z520 (1.3GHz) atau Z530 (1.6GHz) yang sebenarnya didesain untuk MID (mobile internet devices) dan bukan netbook
* Windows Vista Home Basic (versi Ubuntu dan XP akan menyusul)
* Mengemas webcam
* 1GB RAM
* Hard disk 60 atau 80GB
Walaupun tidak akan memiliki kinerja yang sebanding dengan produk seperti MacBook Air, terutama setelah dipersenjatai dengan chipset 9400M buatan NVIDIA, dengan harga jual murah produk ini berpotensi menjadi solusi ideal bagi Anda yang membutuhkan laptop portabel dengan harga murah. Fakta bahwa Inspiron 12 juga memiliki tampilan modis dan sangat tipis juga tentu saja merupakan satu lagi nilai jual besar saat ini, di mana para vendor laptop berlomba untuk membuat laptop-laptop tipis dengan desain menarik.
Kunjungi APCMag untuk ulasang lengkap netbook baru dari Dell ini. (via BusinessWire)
c. Teknologi Mengubah Bohlam Lampu Menjadi Wi-Fi Dikembangkan
Boston University (BU) mengumumkan dimulainya sebuah program yang disponsori National Science Foundation untuk mengembangkan teknologi komunikasi nirkabel yang berbasiskan cahaya, bukan gelombang radio (RF) yang biasa digunakan oleh sinyal Wi-Fi. Ilmuwan berharap teknologi ini kelak dapat digunakan untuk menumpangkan komunikasi data pada light emitting diodes (LED) hemat daya untuk menciptakan “Smart Lighting” yang lebih cepat dan aman daripada teknologi jaringan yang ada saat ini.
Tujuan akhir dari riset ini adalah untuk mengembangkan teknologi komunikasi yang dapat membuat LED setara dengan akses poin Wi-Fi secara fungsional.
“Bayangkan jika komputer, iPhone, TV, radio dan thermostat dapat berkomunikasi dengan Anda saat memasuki ruangan hanya dengan menekan tombol lampu pada dinding tanpa menggunakan seperangkat kabel,” kata Profesor BU Engineering Thomas Little. “Ini dapat dilakukan dengan jaringan komunikasi berbasis LED yang juga sekaligus menyediakan cahaya — semua ini dengan penggunaan daya yang rendah, dapat diandalkan, dan bebas gangguan gelombang elektromagnetik.
Jaringan komputer melalui lampu
Pada akhirnya, system ini diharapkan dapat menggantikan system pencahayaan yang ada saat ini, seperti mengganti bohlam lampu dengan LED.”
Ilmuwan Boston University akan berkonsentrasi pada pengembangan aplikasi jaringan komputer, khususnya teknologi optik solid state yang kelak akan menjadi tulang punggung jaringan ini.
“Ini adalah kesempatan unik untuk menciptakan teknologi penting yang tidak hanya memungkinkan efisiensi daya dalam pencahayaan namun juga menciptakan teknologi nirkabel yang aman,” tambah Little. “Sembari kita mengalihkan sistem pencahayaan tradisional menjadi LED dalam beberapa tahun mendatang, kita juga dapat secara simultan membangun infrastruktur komunikasi yang lebih cepat dan aman dengan biaya terjangkau bersamaan dengan aplikasi yang baru dan tak terpikirkan sebelumnya.”
Dengan semakin populernya sistem pencahayaan dengan LED, jaringan komunikasi berbasis cahaya besar yang luar biasa besar akan dapat diciptakan. Sebuah alat nirkabel yang berada dalam jangkauan LED dapat mengirimkan dan menerima data melalui cahaya, pada awalnya dengan kecepatan 1 hingga 10 megabit per detik — didukung oleh setiap LED yang berfungsi sebagai akses poin jaringan. Jaringan seperti itu akan menawarkan potensi penggunaan badwith yang jauh labih besar dari teknologi RF yang ada saat ini.
Terlebih lagi, karena cahaya tidak menembus permukaan seperti dinding, teknologi ini juga memberikan tingkat keamanan yang lebih tinggi karena komunikasi data tidak dapat disadap dari luar. Di sisi negatifnya, sifat cahaya ini akan menyulitkan akses jaringan dari ruangan yang berbeda, hal ini berarti juga koneksi jaringan hanya didapatkan saat lampu dinyalakan. Terlebih lagi cahaya LED membutuhkan jauh lebih sedikit daya dibandingkan teknologi RF sehingga akan lebih hemat biaya dalam jangka panjang.
2. Teknologi internet terbaru
a. Yahoo Luncurkan Layanan Web Analytics Gratis
Yahoo pada hari Rabu kemarin mengumumkan selesainya proses rebranding dan modifikasi dari IndexTools yang diperkenalkan kembali sebagai Yahoo Web Analytics. Sebelumnya berupa produk yang ditargetkan untuk pelanggan kelas korporat, Yahoo Web Analytics akan dijadikan produk analytics untuk konsumen maupun bisnis kecil. Layanan ini akan digelar secara bertahap mulai sekarang hingga tahun depan.
Yahoo mengakuisisi IndexTools bulan April lalu dan dengan segera membuatnya menjadi layanan gratis. Keunggulan terbesarnya dibandingkan dengan Google Analytics adalah penyajian datanya yang diperbaharui secara real time (dalam hitungan menit) sehingga pemilik situs mampu memantau trafik situs mereka dengan akurat. Sebagai perbandingan, Google Analytics diperbaharui selama 24 jam sekali.
Kedua layanan gratis ini memberikan fitur chart dan grafik yang mudah dibaca untuk pelaporan data dan layanan yang terintegrasi kuat dengan layanan masing-masing perusahaan lainnya. Sebagai contoh, pengguna yang sudah memiliki akun Gmail sebelumnya dapat menggunakan akun yang sama untuk mengakses Google Analytics. Saya harap Google juga akan mengikuti jejak Yahoo dan menambahkan fitur update real time kepada layanannya.
Apabila tertarik mencoba layanan ini Anda masih harus bersabar sebentar lagi. Menurut sebuah artikel di blog Yahoo bahwa versi baru dari Web Analytics sudah tersedia untuk para pengiklan dan pengembang pihak ke-tiga, sebentar lagi para pengguna Yahoo Small Business juga akan diundang untuk mencoba layanan ini sebelum akhirnya diluncurkan ke publik. (via CNet)
Selain menggunakan merk baru, beberapa perubahan IndexTools mencakup situs baru dan beberapa perubahan pada layanan itu sendiri. Pondasi layanan tersebut juga telah diperbaharui untuk mencapai skalabilitas dan kompatibilitas dengan infrastruktur Yahoo, mendukung:
1. Yahoo! Store
2. Yahoo Developers (Y!OS)
3. Yahoo! Head Advertisers (Microsites)
b. Zoho Mail Datang dengan Google Gears, Mendahului Gmail
Zoho Mail, aplikasi webmail dari penyedia aplikasi berbasis web Zoho telah diluncurkan — dan berita besar dalam pengumuman ini bukan hanya keluarnya Zoho Mail dari tahap private beta, melainkan dukungannya terhadap pemakaian offline, sebuah fitur yang menggunakan teknologi Gears yang diciptakan Google. Sepanjang pengetahuan saya, Zoho Mail adalah aplikasi webmail pertama yang mendukung penggunaan offline, bahkan mengeluarkan fitur ini lebih cepat dari Gmail, produk milik pencipta Gears sendiri.
Apabila Anda sudah mempunyai akun di Zoho, cukup kunjungi http://mail.zoho.com di mana akun Email Anda sudah menunggu. Semua pengguna Zoho akan diberikan alamat email @zoho.com. Zoho Mail juga dapat dikonfigurasi untuk mengirim dan menerima email dari akun email lain menggunakan POP, dukungan IMAP akan ditambahkan sebentar lagi.
Penggunaan Offline
Fitur paling revolusioner yang ditawarkan Zoho Mail adalah penggunaan offline. Apabila Anda sudah menginstal Gears (untuk saat ini hanya mendukung IE dan Firefox), Anda dapat mengkonfigurasi Zoho untuk mengunduh email-email Anda untuk dipakai tanpa menggunakan koneksi internet. Untuk mulai menggunakan fitur ini cukup klik “Setup Offline” di bagian atas halaman dan setelah melengkapi halaman konfigurasi, Zoho Mail akan secara otomatis menggunakan mode offline/online sesuai konektivitas Anda.
Saat offline Anda juga dapat mengirimkan email seperti biasa, saat Anda kembali online email-email yang ada dalam Outbox akan langsung dikirimkan
Fitur Zoho Mail
Jumlah fitur yang ditawarkan Zoho cukup lengkap, mengkombinasikan beberapa fitur yang kita lihat dari berbagai aplikasi mail yang ada. Zoho Mail memberikan opsi untuk mengorganisasi email Anda ke dalam folder seperti tradisional ataupun menggunakan label seperti yang ditawarkan Gmail. Untuk menampilkan email, Zoho Mail juga mendukung baik tampilan email tradisional (Yahoo Mail, Outlook) ataupun tampilan yang menyusun email ke dalam bentuk percakapan (Gmail).
Zoho juga sudah mengintegrasikan Zoho Chat dan memiliki tampilan mobile yang dioptimisasi untuk iPhone.
Zoho Chat
http://i191.photobucket.com/albums/z193/udaramaya/zoho-iphone.gif
Gmail tiga bulan lalu sudah menambahkan dukungan offline untuk Calendar dan sebagai seorang penggemar Gmail, saya juga berharap Gmail akan segera menambahkan dukungan ini.
3. Bahasa pemrograman terbaru
1. Dari C ke Ruby
Ketika pertama kali Anda melihat kode Ruby, Anda akan teringat pada bahasa-bahasa pemrograman yang biasa Anda gunakan sebelumnya. Ini memang sengaja. Banyak sintaks Ruby yang sudah biasa digunakan oleh pengguna Perl, Python dan Java (juga termasuk bahasa-bahasa lain), jadi Jika Anda telah menggunakan bahasa-bahasa tersebut, belajar Ruby menjadi sangat mudah!
Dokumen ini terdiri dari dua bagian utama. Bagian pertama dimaksudkan sebagai ringkasan dari apa yang bisa Anda harapkan ketika melihat dari bahasa X ke Ruby. Bagian kedua membahas fitur-fitur utama Ruby dan bagaimana fitur-fitur ini dibandingkan dengan apa yang sudah terbiasa Anda lakukan di bahasa lain.
Sulit menguraikan perubahan kode C atau C++ jika ditulis dalam Ruby karena perbedaan diantara mereka besar. Satu alasannya adalah Ruby melakukan banyak hal untuk anda. Ini berbeda dengan kenyataan bahwa di dalam C anda harus melakukan segalanya sendiri. Tujuan Ruby adalah untuk membuat pekerjaan programmer lebih gampang dengan cara melakukan hal-hal yang bisa diotomatisasi.
Ruby disebut dynamically typed language, berbeda dengan C yang statically typed. Perbedaan paling terlihat adalah: pada dynamically typed language sebuah variable bisa menunjuk ke obyek-obyek dengan tipe-tipe berlainan.
Misalnya, kalau pada bahasa C++ variabel siapa hanya bisa merujuk pada obyek bertipe Manusia (dan turunannya), pada bahasa Ruby variabel tersebut (dan variabel apa pun) bisa merujuk pada obyek bertipe Manusia, Pegawai, Perempuan, atau obyek yang lain, meski pun objek tersebut bukan turunan dari obyek Manusia.
Implementasi Ruby yang sekarang menjalankan kode Ruby lebih lambat daripada implementasi C atau C++ menjalankan C atau C++ code yang setara. Tetapi, Anda akan terkejut betapa cepat dan gampangnya menyelesaikan sebuah program dengan Ruby dan juga betapa sedikitnya kode yang Anda harus tulis. Ruby jauh lebih jelas daripada C++—anda pasti akan suka.
Lagipula, Anda bisa menulis extension module untuk Ruby dengan C. Module tersebut bisa dipakai dari Ruby code sama seperti module-module lainnya. Dengan cara ini, bagian kode Ruby Anda yang sensitif terhadap kecepatan eksekusi bisa diganti dengan C.
Dan tentu saja Ruby sendiri ditulis dengan C.
Contoh Source Code
Berikut ini adalah contoh program untuk menjumlahkan dua angka (diinputkan dari keyboard) di C:
#include
int main(int argc, char *argv[])
{
int a, b, c;
scanf("%d", &a);
scanf("%d", &b);
c = a + b;
printf("%d\n", c);
}
Anda dapat menuliskan program tersebut di Ruby sebagai berikut:
a = gets.to_i
b = gets.to_i
c = a + b
puts c
Sumber: A Very Quick Comparison of Popular Languages for Teaching Computer Programming
Kemiripan Ruby dengan C
Seperti di C, di Ruby,...
· Anda bisa memprogram secara prosedural jika Anda suka (tetapi di balik layar sebenarnya kode Ruby Anda tetap berorientasi obyek).
· Kebanyakan operator sama (termasuk operator compound assignment dan bitwise). Tetapi Ruby tidak punya ++ atau --.
· Anda punya __FILE__ dan __LINE__.
· Anda juga punya konstanta, tetapi tidak ada keyword khusus const. Konstanta menggunakan pengaturan penamaan, yaitu variabel yang diawali dengan huruf kapital adalah untuk konstanta. Misalnya NAMA_PERUSAHAAN.
· String dapat menggunakan petik tunggal (tanpa interpolasi) maupun petik ganda (dengan interpolasi).
· String bersifat mutable yaitu isinya bisa berubah meskipun objeknya sendiri tidak berubah.
· Sama seperti man, Anda juga bisa membaca dokumentasi langsung di terminal Anda dengan menggunakan perintah ri.
Tersedia command-line debugger.
Kemiripan Ruby dengan C++
Sama seperti di C++, di Ruby,...
· Anda punya banyak operator-operator yang sama (bahkan ::). Operator << juga sering digunakan untuk append elemen ke list. Tetapi perlu dicatat: di Ruby Anda tidak akan pernah menggunakan ->, di Ruby selalu menggunakan ..
· Ada public, private dan protected. Namun perlu diperhatikan bahwa arti semantiknya mirip, namun tidak sepenuhnya sama dengan penggunaan C++.
· Sintaks inheritance (penurunan kelas) sama satu karakter juga, tetapi menggunakan < bukan :.
· Anda bisa menaruh kode Anda dalam “module”, mirip kalau di C++ Anda menggunakan namespace.
· Ada juga Exception yang kurang lebih sama tetapi berbeda keyword.
Perbedaan-Perbedaan Ruby dengan C
Tidak seperti C, di Ruby,...
· Obyek bersifat strongly typed (dan nama-nama variabel tidak punya type sama sekali). Obyek bisa berubah type, tapi Ruby akan selalu mengecek type obyek pada saat melakukan sesuatu. Bila Anda memanggil method atau instance variable yang tidak ada, Ruby akan memberikan pesan kesalahan.
· Tidak ada macro ataupun preprocessor. Tidak ada cast. Tidak ada pointer (juga tidak ada pointer arithmetic). Tidak ada typedef@s, @sizeof, maupun enum.
· Tidak ada file-file header. Anda cukup definisikan function Anda (biasanya disebut method di Ruby) dan kelas pada file source code utama.
· Tidak ada #define. Cukup gunakan konstanta.
· Di Ruby 1.8, kode diinterpretasi pada saat run-time daripada di_compile_ ke machine-code ataupun ke byte-code.
· Semua variabel ada di heap. Lebih jauh, Anda tidak perlu membebaskan variabel, sudah ada garbage collector untuk itu.
· Argument-argument di metode (atau function) di pass by reference, bukan by value.
· require 'foo' bukan #include atau #include "foo".
· Anda tidak bisa drop down ke assembly.
· Tidak pakai semicolon (titik koma ;) di tiap akhir baris kode.
· Tidak perlu pakai buka dan tutup kurung untuk if dan while untuk ekspresi kondisi.
· Buka dan tutup kurung untuk pemanggilan metode (atau function) boleh dipakai boleh juga tidak (opsional).
· Biasanya Anda tidak menggunakan kurung kurawal (brace) untuk mengakhiri banyak baris (seperti perulangan while), karena Anda menggunakan keyword end.
· Keyword do digunakan untuk “blok”. Jadi tidak ada “do statement” seperti di C.
· Istilah “blok” berbeda dengan C. Blok adalah untuk blok kode yang Anda asosiasikan dengan pemanggilan metode sehingga body metode bisa memanggil blok saat kode dijalankan.
· Tidak ada deklarasi variabel. Anda langsung bisa assign nama baru ke variabel disaat Anda memerlukan variabel.
· Ketika dites, hanya false dan nil yang dianggap value false. Semuanya selain itu adalah true (termasuk 0, 0.0 dan "0").
· Tidak ada char, yang ada string 1-letter.
· String tidak diakhiri dengan null byte. Pada Ruby 1.8 elemen pembentuk String merupakan byte, dan Ruby belum membedakan antara string single-byte dan multibyte (misalnya encoding Unicode, dsb.), namun ada beberapa library yang berguna untuk mendukung aplikasi internasional di Ruby.
· Array literal masuk dalam kurung kotak (bracket), bukan dalam kurung kurawal (brace).
· Array secara otomatis membesar dan semakin membesar ketika Anda menambahkan elemen-elemen lagi ke array.
· Jika Anda menambahkan dua array, Anda kembali dengan array baru yang membesar (tentu, dialokasikan di heap) daripada melakukan aritmetik pointer.
· Pada sebagian besar kasus, semua hal adalah berupa expression (misalnya, statemen while sebenarnya menghasilkan sebuah rvalue).
Perbedaan-perbedaan Ruby dengan C++
Tidak seperti C++, di Ruby,...
· Tidak ada reference secara eksplisit. Jadi setiap variabel di Ruby sudah otomatis dereference obyek tersebut. Apabila di C++ ada perbedaan antara orang.nama dengan orang->nama, di Ruby hanya ada orang.nama. Sintaks &orang juga tidak diperlukan di Ruby.
· Obyek strongly tetapi dynamically typed. Jadi runtime-lah yang menentukan at runtime (disaat runtime) bahwa suatu pemanggilan metode berjalan atau tidak.
· Konstruktor dinamakan initialize ketimbang nama kelas.
· Semua metode selalu virtual.
· Nama variabel (static) kelas selalu diawali dengan @ (seperti @total_widget).
· Anda tidak bisa langsung mengakses variabel member, semua akses ke variabel member public (kalau di Ruby dikenal sebagai atribut) dipanggil lewat metode.
· Pakai self, bukan this.
· Beberapa metode diakhiri dengan ’?’ atau ’!’. Sebetulnya tanda tanya dan tanda seru tersebut juga merupakan bagian dari nama metode.
· Tidak ada multiple inheritance. Tetapi Ruby punya “mixin” (jadi Anda bisa “inherit” / menurunkan semua metode instan dari module).
· Ada pengaturan penamaan (mis. nama kelas selalu diawali dengan huruf kapital, nama variabel lokal diawali dengan huruf kecil).
· Buka dan tutup kurung untuk pemanggilan metode boleh dipakai boleh juga tidak (opsional).
· Anda bisa membuka lagi kelas kapan saja dan menambahkan metode-metode ke kelas tersebut.
· Tidak perlu C++ template (karena Anda bisa assign obyek apa saja ke suatu variabel, dan type akan diketahui ketika runtime). Juga tidak ada casting.
· Iterasi dilakukan dengan sedikit berbeda. Di Ruby, Anda tidak menggunakan obyek iterator terpisah (seperti vector::const_iterator iter) tetapi obyek Anda cukup melakukan mixin module Enumerator dan memanggil metode seperti obyek_saya.each.
· Hanya ada dua container type, yaitu Array dan Hash.
· Tidak ada konversi tipe dan typecasting. Dengan Ruby, Anda akan mengetahui kenapa hal tersebut tidak diperlukan.
· Mendukung multithreading, tetapi di Ruby 1.8 masih “green thread” (diimplementasikan hanya dengan interpreter) yang didukung.
· Library unit testing sudah standar bawaan di Ruby.
a. Hard Disk Drive 1.8
Divisi media penyimpanan Toshiba mengeluarkan lima macam Hard Disk Drive dengan ukuran 1.8" dan kapasitas sebesar 120GB untuk mobile PC, untuk ultra-mobile PC disediakan kapasitas sebesar 60GB dan 80GB, sedangkan dua produk lainnya yang memiliki kapasitas 60GB ditujukan untuk aplikasi CE.
Tiga produk utama yang ditujukan untuk aplikasi PC normal di mobile PC dan ultra-mobile PC adalah 120GB MK1214GAH, 60Gb MK6028GAL, dan yang paling ringan 80GB MK8025GAL. Berat HDD-HDD ini 2 gram lebih ringan dari HDD 1.8" lainnya. Tiga model ini dilengkapi dengan interface PATA, buffer sebesar 2MB. dan format 512byte per sektor. Tiga produk ini merupakan pilihan cocok untuk tablet, mobile PC, ultra-portable, ultramobile PC (UMPC), dan aplikasi lainnya.
Untuk aplikasi CE, Toshiba memberikan produk khusus dengan tinggi 5mm dan atribut spesial untuk produk-produk genggam seperti kamera digital dan video. Yang pertama, MK6014GAL menawarkan kecepatan putaran 4,200 RPM dan2MBbuffer untuk kecepatan pengiriman data, sedangkan MK6015GAA dengan 3,600RPM menawarkan operasi yang lebih tenang.
Dengan ekspansi produk ini, Toshiba menarget market dan aplikasi baru untuk bentuk HDD 1.8".
b. Dell Umumkan Netbook Super Tipis Inspiron 12
Di acara jumpa pers Dell di Shanghai, Dell memperlihatkan produk netbook terbarunya yang selain sangat tipis juga merupakan produk netbook dengan ukuran layar terbesar dunia — Dell Inspiron 12 yang merupakan saudara kandung dari netbook Inspiron 9. Sesuai namanya, Dell Inspiron Mini 12 memiliki layar berukuran 12 inci, sebenarnya sudah pantas disebut sebagai sebuah laptop, walaupun Dell tetap bersikeras menyebut produk ini sebagai netbook, menjadikan produk ini “netbook” terbesar di dunia.
Dell Inspiron 12 Tampak Depan
Dell Inspiron 12 tampak samping
Inspiron Mini 12 sudah mulai dijual di Jepang dengan peluncuran “global” (walaupun dikatakan global, mereka hanya mengatakan Australia, Amerika dan Eropa) pada bulan November dengan harga mulai dari $600. Produk ini dirancang untuk pengguna yang sering bepergian dan gemar menjelajah web dengan spesifikasi utama:
* Layar 12,1 inci WXGA
* Menggunakan prosesor Intel Atom ‘Silverthorne‘ Z520 (1.3GHz) atau Z530 (1.6GHz) yang sebenarnya didesain untuk MID (mobile internet devices) dan bukan netbook
* Windows Vista Home Basic (versi Ubuntu dan XP akan menyusul)
* Mengemas webcam
* 1GB RAM
* Hard disk 60 atau 80GB
Walaupun tidak akan memiliki kinerja yang sebanding dengan produk seperti MacBook Air, terutama setelah dipersenjatai dengan chipset 9400M buatan NVIDIA, dengan harga jual murah produk ini berpotensi menjadi solusi ideal bagi Anda yang membutuhkan laptop portabel dengan harga murah. Fakta bahwa Inspiron 12 juga memiliki tampilan modis dan sangat tipis juga tentu saja merupakan satu lagi nilai jual besar saat ini, di mana para vendor laptop berlomba untuk membuat laptop-laptop tipis dengan desain menarik.
Kunjungi APCMag untuk ulasang lengkap netbook baru dari Dell ini. (via BusinessWire)
c. Teknologi Mengubah Bohlam Lampu Menjadi Wi-Fi Dikembangkan
Boston University (BU) mengumumkan dimulainya sebuah program yang disponsori National Science Foundation untuk mengembangkan teknologi komunikasi nirkabel yang berbasiskan cahaya, bukan gelombang radio (RF) yang biasa digunakan oleh sinyal Wi-Fi. Ilmuwan berharap teknologi ini kelak dapat digunakan untuk menumpangkan komunikasi data pada light emitting diodes (LED) hemat daya untuk menciptakan “Smart Lighting” yang lebih cepat dan aman daripada teknologi jaringan yang ada saat ini.
Tujuan akhir dari riset ini adalah untuk mengembangkan teknologi komunikasi yang dapat membuat LED setara dengan akses poin Wi-Fi secara fungsional.
“Bayangkan jika komputer, iPhone, TV, radio dan thermostat dapat berkomunikasi dengan Anda saat memasuki ruangan hanya dengan menekan tombol lampu pada dinding tanpa menggunakan seperangkat kabel,” kata Profesor BU Engineering Thomas Little. “Ini dapat dilakukan dengan jaringan komunikasi berbasis LED yang juga sekaligus menyediakan cahaya — semua ini dengan penggunaan daya yang rendah, dapat diandalkan, dan bebas gangguan gelombang elektromagnetik.
Jaringan komputer melalui lampu
Pada akhirnya, system ini diharapkan dapat menggantikan system pencahayaan yang ada saat ini, seperti mengganti bohlam lampu dengan LED.”
Ilmuwan Boston University akan berkonsentrasi pada pengembangan aplikasi jaringan komputer, khususnya teknologi optik solid state yang kelak akan menjadi tulang punggung jaringan ini.
“Ini adalah kesempatan unik untuk menciptakan teknologi penting yang tidak hanya memungkinkan efisiensi daya dalam pencahayaan namun juga menciptakan teknologi nirkabel yang aman,” tambah Little. “Sembari kita mengalihkan sistem pencahayaan tradisional menjadi LED dalam beberapa tahun mendatang, kita juga dapat secara simultan membangun infrastruktur komunikasi yang lebih cepat dan aman dengan biaya terjangkau bersamaan dengan aplikasi yang baru dan tak terpikirkan sebelumnya.”
Dengan semakin populernya sistem pencahayaan dengan LED, jaringan komunikasi berbasis cahaya besar yang luar biasa besar akan dapat diciptakan. Sebuah alat nirkabel yang berada dalam jangkauan LED dapat mengirimkan dan menerima data melalui cahaya, pada awalnya dengan kecepatan 1 hingga 10 megabit per detik — didukung oleh setiap LED yang berfungsi sebagai akses poin jaringan. Jaringan seperti itu akan menawarkan potensi penggunaan badwith yang jauh labih besar dari teknologi RF yang ada saat ini.
Terlebih lagi, karena cahaya tidak menembus permukaan seperti dinding, teknologi ini juga memberikan tingkat keamanan yang lebih tinggi karena komunikasi data tidak dapat disadap dari luar. Di sisi negatifnya, sifat cahaya ini akan menyulitkan akses jaringan dari ruangan yang berbeda, hal ini berarti juga koneksi jaringan hanya didapatkan saat lampu dinyalakan. Terlebih lagi cahaya LED membutuhkan jauh lebih sedikit daya dibandingkan teknologi RF sehingga akan lebih hemat biaya dalam jangka panjang.
2. Teknologi internet terbaru
a. Yahoo Luncurkan Layanan Web Analytics Gratis
Yahoo pada hari Rabu kemarin mengumumkan selesainya proses rebranding dan modifikasi dari IndexTools yang diperkenalkan kembali sebagai Yahoo Web Analytics. Sebelumnya berupa produk yang ditargetkan untuk pelanggan kelas korporat, Yahoo Web Analytics akan dijadikan produk analytics untuk konsumen maupun bisnis kecil. Layanan ini akan digelar secara bertahap mulai sekarang hingga tahun depan.
Yahoo mengakuisisi IndexTools bulan April lalu dan dengan segera membuatnya menjadi layanan gratis. Keunggulan terbesarnya dibandingkan dengan Google Analytics adalah penyajian datanya yang diperbaharui secara real time (dalam hitungan menit) sehingga pemilik situs mampu memantau trafik situs mereka dengan akurat. Sebagai perbandingan, Google Analytics diperbaharui selama 24 jam sekali.
Kedua layanan gratis ini memberikan fitur chart dan grafik yang mudah dibaca untuk pelaporan data dan layanan yang terintegrasi kuat dengan layanan masing-masing perusahaan lainnya. Sebagai contoh, pengguna yang sudah memiliki akun Gmail sebelumnya dapat menggunakan akun yang sama untuk mengakses Google Analytics. Saya harap Google juga akan mengikuti jejak Yahoo dan menambahkan fitur update real time kepada layanannya.
Apabila tertarik mencoba layanan ini Anda masih harus bersabar sebentar lagi. Menurut sebuah artikel di blog Yahoo bahwa versi baru dari Web Analytics sudah tersedia untuk para pengiklan dan pengembang pihak ke-tiga, sebentar lagi para pengguna Yahoo Small Business juga akan diundang untuk mencoba layanan ini sebelum akhirnya diluncurkan ke publik. (via CNet)
Selain menggunakan merk baru, beberapa perubahan IndexTools mencakup situs baru dan beberapa perubahan pada layanan itu sendiri. Pondasi layanan tersebut juga telah diperbaharui untuk mencapai skalabilitas dan kompatibilitas dengan infrastruktur Yahoo, mendukung:
1. Yahoo! Store
2. Yahoo Developers (Y!OS)
3. Yahoo! Head Advertisers (Microsites)
b. Zoho Mail Datang dengan Google Gears, Mendahului Gmail
Zoho Mail, aplikasi webmail dari penyedia aplikasi berbasis web Zoho telah diluncurkan — dan berita besar dalam pengumuman ini bukan hanya keluarnya Zoho Mail dari tahap private beta, melainkan dukungannya terhadap pemakaian offline, sebuah fitur yang menggunakan teknologi Gears yang diciptakan Google. Sepanjang pengetahuan saya, Zoho Mail adalah aplikasi webmail pertama yang mendukung penggunaan offline, bahkan mengeluarkan fitur ini lebih cepat dari Gmail, produk milik pencipta Gears sendiri.
Apabila Anda sudah mempunyai akun di Zoho, cukup kunjungi http://mail.zoho.com di mana akun Email Anda sudah menunggu. Semua pengguna Zoho akan diberikan alamat email @zoho.com. Zoho Mail juga dapat dikonfigurasi untuk mengirim dan menerima email dari akun email lain menggunakan POP, dukungan IMAP akan ditambahkan sebentar lagi.
Penggunaan Offline
Fitur paling revolusioner yang ditawarkan Zoho Mail adalah penggunaan offline. Apabila Anda sudah menginstal Gears (untuk saat ini hanya mendukung IE dan Firefox), Anda dapat mengkonfigurasi Zoho untuk mengunduh email-email Anda untuk dipakai tanpa menggunakan koneksi internet. Untuk mulai menggunakan fitur ini cukup klik “Setup Offline” di bagian atas halaman dan setelah melengkapi halaman konfigurasi, Zoho Mail akan secara otomatis menggunakan mode offline/online sesuai konektivitas Anda.
Saat offline Anda juga dapat mengirimkan email seperti biasa, saat Anda kembali online email-email yang ada dalam Outbox akan langsung dikirimkan
Fitur Zoho Mail
Jumlah fitur yang ditawarkan Zoho cukup lengkap, mengkombinasikan beberapa fitur yang kita lihat dari berbagai aplikasi mail yang ada. Zoho Mail memberikan opsi untuk mengorganisasi email Anda ke dalam folder seperti tradisional ataupun menggunakan label seperti yang ditawarkan Gmail. Untuk menampilkan email, Zoho Mail juga mendukung baik tampilan email tradisional (Yahoo Mail, Outlook) ataupun tampilan yang menyusun email ke dalam bentuk percakapan (Gmail).
Zoho juga sudah mengintegrasikan Zoho Chat dan memiliki tampilan mobile yang dioptimisasi untuk iPhone.
Zoho Chat
http://i191.photobucket.com/albums/z193/udaramaya/zoho-iphone.gif
Gmail tiga bulan lalu sudah menambahkan dukungan offline untuk Calendar dan sebagai seorang penggemar Gmail, saya juga berharap Gmail akan segera menambahkan dukungan ini.
3. Bahasa pemrograman terbaru
1. Dari C ke Ruby
Ketika pertama kali Anda melihat kode Ruby, Anda akan teringat pada bahasa-bahasa pemrograman yang biasa Anda gunakan sebelumnya. Ini memang sengaja. Banyak sintaks Ruby yang sudah biasa digunakan oleh pengguna Perl, Python dan Java (juga termasuk bahasa-bahasa lain), jadi Jika Anda telah menggunakan bahasa-bahasa tersebut, belajar Ruby menjadi sangat mudah!
Dokumen ini terdiri dari dua bagian utama. Bagian pertama dimaksudkan sebagai ringkasan dari apa yang bisa Anda harapkan ketika melihat dari bahasa X ke Ruby. Bagian kedua membahas fitur-fitur utama Ruby dan bagaimana fitur-fitur ini dibandingkan dengan apa yang sudah terbiasa Anda lakukan di bahasa lain.
Sulit menguraikan perubahan kode C atau C++ jika ditulis dalam Ruby karena perbedaan diantara mereka besar. Satu alasannya adalah Ruby melakukan banyak hal untuk anda. Ini berbeda dengan kenyataan bahwa di dalam C anda harus melakukan segalanya sendiri. Tujuan Ruby adalah untuk membuat pekerjaan programmer lebih gampang dengan cara melakukan hal-hal yang bisa diotomatisasi.
Ruby disebut dynamically typed language, berbeda dengan C yang statically typed. Perbedaan paling terlihat adalah: pada dynamically typed language sebuah variable bisa menunjuk ke obyek-obyek dengan tipe-tipe berlainan.
Misalnya, kalau pada bahasa C++ variabel siapa hanya bisa merujuk pada obyek bertipe Manusia (dan turunannya), pada bahasa Ruby variabel tersebut (dan variabel apa pun) bisa merujuk pada obyek bertipe Manusia, Pegawai, Perempuan, atau obyek yang lain, meski pun objek tersebut bukan turunan dari obyek Manusia.
Implementasi Ruby yang sekarang menjalankan kode Ruby lebih lambat daripada implementasi C atau C++ menjalankan C atau C++ code yang setara. Tetapi, Anda akan terkejut betapa cepat dan gampangnya menyelesaikan sebuah program dengan Ruby dan juga betapa sedikitnya kode yang Anda harus tulis. Ruby jauh lebih jelas daripada C++—anda pasti akan suka.
Lagipula, Anda bisa menulis extension module untuk Ruby dengan C. Module tersebut bisa dipakai dari Ruby code sama seperti module-module lainnya. Dengan cara ini, bagian kode Ruby Anda yang sensitif terhadap kecepatan eksekusi bisa diganti dengan C.
Dan tentu saja Ruby sendiri ditulis dengan C.
Contoh Source Code
Berikut ini adalah contoh program untuk menjumlahkan dua angka (diinputkan dari keyboard) di C:
#include
int main(int argc, char *argv[])
{
int a, b, c;
scanf("%d", &a);
scanf("%d", &b);
c = a + b;
printf("%d\n", c);
}
Anda dapat menuliskan program tersebut di Ruby sebagai berikut:
a = gets.to_i
b = gets.to_i
c = a + b
puts c
Sumber: A Very Quick Comparison of Popular Languages for Teaching Computer Programming
Kemiripan Ruby dengan C
Seperti di C, di Ruby,...
· Anda bisa memprogram secara prosedural jika Anda suka (tetapi di balik layar sebenarnya kode Ruby Anda tetap berorientasi obyek).
· Kebanyakan operator sama (termasuk operator compound assignment dan bitwise). Tetapi Ruby tidak punya ++ atau --.
· Anda punya __FILE__ dan __LINE__.
· Anda juga punya konstanta, tetapi tidak ada keyword khusus const. Konstanta menggunakan pengaturan penamaan, yaitu variabel yang diawali dengan huruf kapital adalah untuk konstanta. Misalnya NAMA_PERUSAHAAN.
· String dapat menggunakan petik tunggal (tanpa interpolasi) maupun petik ganda (dengan interpolasi).
· String bersifat mutable yaitu isinya bisa berubah meskipun objeknya sendiri tidak berubah.
· Sama seperti man, Anda juga bisa membaca dokumentasi langsung di terminal Anda dengan menggunakan perintah ri.
Tersedia command-line debugger.
Kemiripan Ruby dengan C++
Sama seperti di C++, di Ruby,...
· Anda punya banyak operator-operator yang sama (bahkan ::). Operator << juga sering digunakan untuk append elemen ke list. Tetapi perlu dicatat: di Ruby Anda tidak akan pernah menggunakan ->, di Ruby selalu menggunakan ..
· Ada public, private dan protected. Namun perlu diperhatikan bahwa arti semantiknya mirip, namun tidak sepenuhnya sama dengan penggunaan C++.
· Sintaks inheritance (penurunan kelas) sama satu karakter juga, tetapi menggunakan < bukan :.
· Anda bisa menaruh kode Anda dalam “module”, mirip kalau di C++ Anda menggunakan namespace.
· Ada juga Exception yang kurang lebih sama tetapi berbeda keyword.
Perbedaan-Perbedaan Ruby dengan C
Tidak seperti C, di Ruby,...
· Obyek bersifat strongly typed (dan nama-nama variabel tidak punya type sama sekali). Obyek bisa berubah type, tapi Ruby akan selalu mengecek type obyek pada saat melakukan sesuatu. Bila Anda memanggil method atau instance variable yang tidak ada, Ruby akan memberikan pesan kesalahan.
· Tidak ada macro ataupun preprocessor. Tidak ada cast. Tidak ada pointer (juga tidak ada pointer arithmetic). Tidak ada typedef@s, @sizeof, maupun enum.
· Tidak ada file-file header. Anda cukup definisikan function Anda (biasanya disebut method di Ruby) dan kelas pada file source code utama.
· Tidak ada #define. Cukup gunakan konstanta.
· Di Ruby 1.8, kode diinterpretasi pada saat run-time daripada di_compile_ ke machine-code ataupun ke byte-code.
· Semua variabel ada di heap. Lebih jauh, Anda tidak perlu membebaskan variabel, sudah ada garbage collector untuk itu.
· Argument-argument di metode (atau function) di pass by reference, bukan by value.
· require 'foo' bukan #include
· Anda tidak bisa drop down ke assembly.
· Tidak pakai semicolon (titik koma ;) di tiap akhir baris kode.
· Tidak perlu pakai buka dan tutup kurung untuk if dan while untuk ekspresi kondisi.
· Buka dan tutup kurung untuk pemanggilan metode (atau function) boleh dipakai boleh juga tidak (opsional).
· Biasanya Anda tidak menggunakan kurung kurawal (brace) untuk mengakhiri banyak baris (seperti perulangan while), karena Anda menggunakan keyword end.
· Keyword do digunakan untuk “blok”. Jadi tidak ada “do statement” seperti di C.
· Istilah “blok” berbeda dengan C. Blok adalah untuk blok kode yang Anda asosiasikan dengan pemanggilan metode sehingga body metode bisa memanggil blok saat kode dijalankan.
· Tidak ada deklarasi variabel. Anda langsung bisa assign nama baru ke variabel disaat Anda memerlukan variabel.
· Ketika dites, hanya false dan nil yang dianggap value false. Semuanya selain itu adalah true (termasuk 0, 0.0 dan "0").
· Tidak ada char, yang ada string 1-letter.
· String tidak diakhiri dengan null byte. Pada Ruby 1.8 elemen pembentuk String merupakan byte, dan Ruby belum membedakan antara string single-byte dan multibyte (misalnya encoding Unicode, dsb.), namun ada beberapa library yang berguna untuk mendukung aplikasi internasional di Ruby.
· Array literal masuk dalam kurung kotak (bracket), bukan dalam kurung kurawal (brace).
· Array secara otomatis membesar dan semakin membesar ketika Anda menambahkan elemen-elemen lagi ke array.
· Jika Anda menambahkan dua array, Anda kembali dengan array baru yang membesar (tentu, dialokasikan di heap) daripada melakukan aritmetik pointer.
· Pada sebagian besar kasus, semua hal adalah berupa expression (misalnya, statemen while sebenarnya menghasilkan sebuah rvalue).
Perbedaan-perbedaan Ruby dengan C++
Tidak seperti C++, di Ruby,...
· Tidak ada reference secara eksplisit. Jadi setiap variabel di Ruby sudah otomatis dereference obyek tersebut. Apabila di C++ ada perbedaan antara orang.nama dengan orang->nama, di Ruby hanya ada orang.nama. Sintaks &orang juga tidak diperlukan di Ruby.
· Obyek strongly tetapi dynamically typed. Jadi runtime-lah yang menentukan at runtime (disaat runtime) bahwa suatu pemanggilan metode berjalan atau tidak.
· Konstruktor dinamakan initialize ketimbang nama kelas.
· Semua metode selalu virtual.
· Nama variabel (static) kelas selalu diawali dengan @ (seperti @total_widget).
· Anda tidak bisa langsung mengakses variabel member, semua akses ke variabel member public (kalau di Ruby dikenal sebagai atribut) dipanggil lewat metode.
· Pakai self, bukan this.
· Beberapa metode diakhiri dengan ’?’ atau ’!’. Sebetulnya tanda tanya dan tanda seru tersebut juga merupakan bagian dari nama metode.
· Tidak ada multiple inheritance. Tetapi Ruby punya “mixin” (jadi Anda bisa “inherit” / menurunkan semua metode instan dari module).
· Ada pengaturan penamaan (mis. nama kelas selalu diawali dengan huruf kapital, nama variabel lokal diawali dengan huruf kecil).
· Buka dan tutup kurung untuk pemanggilan metode boleh dipakai boleh juga tidak (opsional).
· Anda bisa membuka lagi kelas kapan saja dan menambahkan metode-metode ke kelas tersebut.
· Tidak perlu C++ template (karena Anda bisa assign obyek apa saja ke suatu variabel, dan type akan diketahui ketika runtime). Juga tidak ada casting.
· Iterasi dilakukan dengan sedikit berbeda. Di Ruby, Anda tidak menggunakan obyek iterator terpisah (seperti vector
· Hanya ada dua container type, yaitu Array dan Hash.
· Tidak ada konversi tipe dan typecasting. Dengan Ruby, Anda akan mengetahui kenapa hal tersebut tidak diperlukan.
· Mendukung multithreading, tetapi di Ruby 1.8 masih “green thread” (diimplementasikan hanya dengan interpreter) yang didukung.
· Library unit testing sudah standar bawaan di Ruby.
Konsep Citra Berwarna
Pengantar
Di dalam dunia dijital dikenal 2 jenis citra, yaitu citra berwarna dan citra monokrom. Perbedaan yang mendasar diantara keduanya terletak pada informasi warna pada setiap pixel. Pada artikel kali ini akan dibahas mengenai konsep-konsep dasar pada citra berwarna.
Sebenarnya, apa sih yang disimpan oleh sebuah file citra? Contoh misalkan, jika kita membuka file citra yang mempunyai extension jpeg, informasi apa yang akan dipergunakan oleh komputer untuk menampilkan citra? Kalau kita teliti lebih jauh, sebenarnya ada dua bagian besar yang lazim ditemui pada file-file citra. Bagian pertama disebut sebagai header yang berisi informasi mengenai bagaimana informasi citra disimpan, dan bagian yang kedua adalah informasi warna pada setiap pixel. Dimana kah meta data dari citra yang sering dibahas di infotainment? Nanti akan saya ceritakan diartikel yang lain.
Representasi matematis citra
Ok, balik ke pembahasan. Hal yang terpenting dalam memanipulasi data citra adalah pada informasi warna pada setiap pixel. Informasi ini seperti layaknya informasi kata-kata yang ada pada file text seperti .txt. Pada citra berwarna informasi ini biasa dipecah dalam 3 komponen warna yang lazim disebut RGB (Red Green Blue). Seperti yang kita ketahui kita dapat membuat warna apapun. Sebagai ilustrasi, silahkan lihat gambar di bawah ini (Gambar diambil dari http://en.wikipedia.org/wiki/RGB_color_model)
Secara matematis, kita dapat menuliskan sebuah citra sebagai sebuah fungsi dua dimensi f yang berisi nilai RGB pada koordinat (x,y).
1: f(x,y) = [RGB]
Representasi Matrix
Nilai RGB bisa direpresentasikan dengan berbagai cara. Misalkan, BufferedReader pada java merepresentasikannya dalam bentuk sebuah integer (untuk lebih lanjut, silahkan tilik tutorial berikut). Cara yang lain adalah dengan merepresentasikannya dalam bentuk matrix 3 dimensi. Sebagai ilustrasi, marilah lihat gambar dibawah ini.
Pada gambar diatas, komponen red pada lokasi (0,0), bernilai 78, green 200, dan blue 12. Di dalam program, kita dapat menuliskannya sebagai berikut.
1: const int RED = 0;
2: const int GREEN = 1;
3: const int BLUE = 2;
4:
5: f[0][0][RED] = 78;
6: f[0][0][GREEN] = 200;
7: f[0][0][BLUE] = 12;
3 baris pertama dibuat agar code mudah dibaca. Note: Ini bukanlah satu-satunya cara untuk membuat representasi matrix. Ada banyak jalan menuju Roma!
Pertanyaan yang cukup menarik untuk dijawab adalah apa arti angka 78? Bagaimana meramu campuran RGB agar mendapatkan warna putih atau hitam?
Nilai dari masing-masing komponen berkisar 0 sampai dengan 255 jika direpresentasikan dengan integer (bilangan tanpa ada desimal). warna putih didapat ketika kita memberikan nilai 255 pada setiap komponen. Sebaliknya jika kita memberikan nilai 0 pada semua komponen, kita akan mendapatkan warna hitam. Sebenarnya teknik mencampur seperti ini sesuai dengan kenyataan. Jika kita mencampur warna merah hijau dan biru sebanyak-banyaknya, maka kita akan mendapatkan warna putih. Sebaliknya, warna hitam didapat jika kita tidak mencampur apa-apa.
int atau double?
Seperti yang telah disebutkan kalau nilai dari masing-masing komponen berkisar 0 sampai dengan 255 jika direpresentasikan dalam bentuk integer. Sebenarnya ada represenstasi yang lain, yaitu antara 0 sampai dengan 1 dalam bentuk floating point (bilangan desimal). Penggunaan floating point tentunya memiliki kelebihan dalam presisi ketimbang memakai nilai yang diskrit. Namun demikian, penggunaan floating point akan membuat file citra membesar.
Biasanya citra disimpan dalam representasi integer. Representasi floating point dipergunakan pada saat citra dimodifikasi. Bagaimana cara mengubah dari representasi integer ke floating point? Mudah, tinggal membagi nilai integer dengan angka 255. Sebagai contoh, jika kita ingin mengubah nilai komponen green.
1: double green_d = green_i / 255;
Apa sih kegunaan representasi matrix?
Oh banyak kegunaannya. Salah satu contoh menarik adalah jika kita ingin membuat suatu citra menjadi citra abu2x. Caranya? dengan merata-rata semua komponen dari setiap pixel. Berikut adalah contoh singkat untuk melakukan hal tersebut.
1: for (int x = 0; x < PANJANG_MAX_CITRA; x++)
2: for (int y = 0; y < LEBAR_MAX_CCITRA; y++)
3: {
4: double rata = (f[x][y][RED] + f[x][y][GREEN] + f[x][y][BLUE]) / 3.0;
5: f[x][y][RED] = rata;
6: f[x][y][GREEN] = rata;
7: f[x][y][BLUE] = rata;
8: }
Di dalam dunia dijital dikenal 2 jenis citra, yaitu citra berwarna dan citra monokrom. Perbedaan yang mendasar diantara keduanya terletak pada informasi warna pada setiap pixel. Pada artikel kali ini akan dibahas mengenai konsep-konsep dasar pada citra berwarna.
Sebenarnya, apa sih yang disimpan oleh sebuah file citra? Contoh misalkan, jika kita membuka file citra yang mempunyai extension jpeg, informasi apa yang akan dipergunakan oleh komputer untuk menampilkan citra? Kalau kita teliti lebih jauh, sebenarnya ada dua bagian besar yang lazim ditemui pada file-file citra. Bagian pertama disebut sebagai header yang berisi informasi mengenai bagaimana informasi citra disimpan, dan bagian yang kedua adalah informasi warna pada setiap pixel. Dimana kah meta data dari citra yang sering dibahas di infotainment? Nanti akan saya ceritakan diartikel yang lain.
Representasi matematis citra
Ok, balik ke pembahasan. Hal yang terpenting dalam memanipulasi data citra adalah pada informasi warna pada setiap pixel. Informasi ini seperti layaknya informasi kata-kata yang ada pada file text seperti .txt. Pada citra berwarna informasi ini biasa dipecah dalam 3 komponen warna yang lazim disebut RGB (Red Green Blue). Seperti yang kita ketahui kita dapat membuat warna apapun. Sebagai ilustrasi, silahkan lihat gambar di bawah ini (Gambar diambil dari http://en.wikipedia.org/wiki/RGB_color_model)
Secara matematis, kita dapat menuliskan sebuah citra sebagai sebuah fungsi dua dimensi f yang berisi nilai RGB pada koordinat (x,y).
1: f(x,y) = [RGB]
Representasi Matrix
Nilai RGB bisa direpresentasikan dengan berbagai cara. Misalkan, BufferedReader pada java merepresentasikannya dalam bentuk sebuah integer (untuk lebih lanjut, silahkan tilik tutorial berikut). Cara yang lain adalah dengan merepresentasikannya dalam bentuk matrix 3 dimensi. Sebagai ilustrasi, marilah lihat gambar dibawah ini.
Pada gambar diatas, komponen red pada lokasi (0,0), bernilai 78, green 200, dan blue 12. Di dalam program, kita dapat menuliskannya sebagai berikut.
1: const int RED = 0;
2: const int GREEN = 1;
3: const int BLUE = 2;
4:
5: f[0][0][RED] = 78;
6: f[0][0][GREEN] = 200;
7: f[0][0][BLUE] = 12;
3 baris pertama dibuat agar code mudah dibaca. Note: Ini bukanlah satu-satunya cara untuk membuat representasi matrix. Ada banyak jalan menuju Roma!
Pertanyaan yang cukup menarik untuk dijawab adalah apa arti angka 78? Bagaimana meramu campuran RGB agar mendapatkan warna putih atau hitam?
Nilai dari masing-masing komponen berkisar 0 sampai dengan 255 jika direpresentasikan dengan integer (bilangan tanpa ada desimal). warna putih didapat ketika kita memberikan nilai 255 pada setiap komponen. Sebaliknya jika kita memberikan nilai 0 pada semua komponen, kita akan mendapatkan warna hitam. Sebenarnya teknik mencampur seperti ini sesuai dengan kenyataan. Jika kita mencampur warna merah hijau dan biru sebanyak-banyaknya, maka kita akan mendapatkan warna putih. Sebaliknya, warna hitam didapat jika kita tidak mencampur apa-apa.
int atau double?
Seperti yang telah disebutkan kalau nilai dari masing-masing komponen berkisar 0 sampai dengan 255 jika direpresentasikan dalam bentuk integer. Sebenarnya ada represenstasi yang lain, yaitu antara 0 sampai dengan 1 dalam bentuk floating point (bilangan desimal). Penggunaan floating point tentunya memiliki kelebihan dalam presisi ketimbang memakai nilai yang diskrit. Namun demikian, penggunaan floating point akan membuat file citra membesar.
Biasanya citra disimpan dalam representasi integer. Representasi floating point dipergunakan pada saat citra dimodifikasi. Bagaimana cara mengubah dari representasi integer ke floating point? Mudah, tinggal membagi nilai integer dengan angka 255. Sebagai contoh, jika kita ingin mengubah nilai komponen green.
1: double green_d = green_i / 255;
Apa sih kegunaan representasi matrix?
Oh banyak kegunaannya. Salah satu contoh menarik adalah jika kita ingin membuat suatu citra menjadi citra abu2x. Caranya? dengan merata-rata semua komponen dari setiap pixel. Berikut adalah contoh singkat untuk melakukan hal tersebut.
1: for (int x = 0; x < PANJANG_MAX_CITRA; x++)
2: for (int y = 0; y < LEBAR_MAX_CCITRA; y++)
3: {
4: double rata = (f[x][y][RED] + f[x][y][GREEN] + f[x][y][BLUE]) / 3.0;
5: f[x][y][RED] = rata;
6: f[x][y][GREEN] = rata;
7: f[x][y][BLUE] = rata;
8: }
Langganan:
Postingan (Atom)