Minggu, 27 Desember 2009

Domain cz.cc hampir memiliki kesamaan dengan domain co.cc namun memiliki kelebihan masing-masing.
Apabila kita mendaftar di cz.cc maka kita diberi kesempatan untuk mendapatkan free domain secara gratis sebanyak 5 buah (dibatasi sampai 5 buah)yang masing-masing untuk mendapatkannya sehari hanya satu berbeda dengan domain co.cc kita diperbolehkan memiliki domain gratis sampai 4 buah
Kelebihan domain cz.cc dalam setup hampir sama dengan domain co.cc namun memiliki kecepatan verifikasi lebih di banding denngan co.cc yang membutuhkan 48 jam (pengalaman saya begitu kita selesai setup langsung bisa dipakai - setup domain cz.cc dengan blogspot)
bagi anda yang ingin membangun website atau blog dengan domain cz.cc bisa daftar disini syaratnya harus memiliki email terlebih dahulu....(itu mah biasa)
Domain cz.cc sampai saat ini belum bisa dibuat untuk adsense for domain berbeda dengan domain co.cc yang sudah bisa kita manfaatkan untuk parkir domain sebagai tambahan penghasilan publisher

Cara setup domain cz.cc dengan blogspot adalah hal yang tidak sulit tapi memerlukan ketelitian juga,baiklah kita mulai untuk men-setup domain cz.cc

1. kita terlebih dahulu membuat blog di blogger
2. setelah kita daftar di blogger baru sign up di domain cz.cc yang terlebih dahulu kita membuat domain sesuai dengan keinginan lalu check availability
3. buat pilihan 1 tahun atau 2 tahun dan biarkan kotak buy dalam keadaan di checklist
4. klik ad to chart dan setelah halaman lain muncul klik checkout
5. isi bagian account dengan data yang benar

setup domain cz.cc anda yang baru dengan hostingan blogspot.

1. buka account domain cz.cc anda
2. klik registered domain yang baru anda dapatkan
3. klik manage
4. klik zona record
5. isi bagian host dengan www
6. record type ubah ke cname
7. content isi dengan ghs.google.com
8. klik zone record
9. ulangi lagi ke cara 5 dengan host biarkan kosong dan ikuti sampai langkah 9

setup blogspot anda

1. buka account blog anda dan masuk ke daftar blog yang akan menggunakan domain cz.cc
2. klik setting
3. klik publishing
4. klik custom domain
5. switch to advance setting
6. masukan domain baru anda disertai dengan www
7. verifikasi word dan save setting
8. kalau berhasil ada kotak kuning bertuliskan setting were saved succesfully
9. isi kan kembali domain baru anda pada label your domain dengan www(biasanya sudah tertulis)
10. checklist redirect robott dibawah label your domain
11. verifikasi kata atau word verification
12. save setting atau anda bisa pakai panduan blogger for domain co.cc
13. dan jika ada tulisan kuning setting were saved succesfully itu berarti tugas anda berhasil dan check view blog apakah domain blogspot anda telah berubah atau belum...Alhamdulillah....hehe...senggol dikit iklannya dong

the end

Sabtu, 26 Desember 2009

Tulisan ini dimaksudkan untuk memberikan pengetahuan awal pemrograman dengan bahasa Python. Di sini tidak akan dibahas secara ditel kemampuan-kemampuan yang dipunyai Python. Karena biasanya pembahasan ditel akan membawa kita pada uraian yang panjang lebar dan tidak langsung pada inti permasalahan. Silakan merujuk pada dokumentasi-dokumentasi tentang Python, yang bisa didapatkan dari situs resmi Python di www.python.org jika ingin mendapatkan dokumentasi lengkap. Beberapa tulisan yang membahas perbandingan Python dengan bahasa pemrograman yang lain juga banyak bertebaran di Internet, silakan mulai dari Google atau Yahoo!
Penjelasan yang mengikuti pendahuluan ini akan memberi pengetahuan pada pembaca bagaimana membuat program —yang terkadang disebut dengan skrip—dalam bahasa pemrograman Python. Pembaca akan mampu membuat program dalam bahasa Python yang sederhana setelah membaca tulisan ini secara lengkap. Mampu di sini berarti mengetahui dan bisa menggunakan sintaks-sintaks dasar yang dipakai dalam Python.
Tutorial ini dibuat sederhana dengan sebisa mungkin menghindari istilah-istilah yang sulit kecuali kalau memang tidak bisa dihindari lagi. Ini karena penulis mengharapkan pembaca yang tidak mempunyai latar belakang pemrograman pun bisa mengikuti tulisan ini.
Asumsi yang diambil oleh penulis adalah interpreter Python sudah terinstal dengan benar pada komputer Anda.

Memulai Python

Menggunakan Mode Interaktif

Anda dapat bekerja dengan Python secara interaktif dengan interpreter Python. Dalam mode interaktif kita dapat bekerja seperti saat kita bekerja dalam prompt sistem operasi. Interpreter Python bisa Anda aktifkan dengan memberi perintah pada prompt sistem operasi:
$ python 
Interpreter Python akan menampilkan
Python 1.5.2 (#1, Feb 1 2000, 16:32:16) [GCC egcs-2.91.66 19990314
+/Linux (egcs-on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>>
Tiga tanda lebih besar (>>>) adalah prompt utama Python. Untuk perintah yang masih berlanjut Python akan memberikan respon dengan tanda tiga titik (...).
>>> if 1:
...
Untuk keluar dari prompt Python menuju prompt sistem operasi Anda bisa menekan tombol yang menghasilkan karakter akhir file, Ctrl-Z (di DOS/Windows) atau Ctrl-D (di Unix).
Mode interaktif sangat bermanfaat untuk mencoba perintah-perintah Python sebelum membuat skrip. Dalam tulisan ini kita akan lebih banyak bekerja menggunakan skrip.

Menggunakan Skrip

Kalau Anda memakai mode interaktif saat membuat program, Anda tidak bisa menyimpannya ke dalam media penyimpanan. Untuk mengatasi ini Anda bisa membuat skrip dengan editor teks yang menghasilkan teks murni, misalnya Notepad atau vi. Aktifkan editor teks Anda dan ketikkan baris-baris perintah ini:
#! /usr/bin/python
print "Belajar Python..."
# akhir file
Beri nama skrip ini belajar.py. Skrip ini hanya akan mencetak string Belajar Python... ke layar. Untuk menjalankan skrip ini kita hanya perlu mengetikkan:
$ python belajar.py
pada prompt sistem operasi.
Baris pertama adalah khas untuk lingkungan Unix/Linux, yaitu diberikan jika skrip ini ingin dijalankan tanpa mengetikkan interpreter yang akan menerjemahkan skrip yang bersangkutan, tentu saja setelah mengubah hak akses dari skrip tersebut menjadi executable. Baris ini tidak akan berpengaruh di sistem operasi Windows. Di contoh-contoh skrip selanjutnya baris pertama akan dihapuskan untuk menghemat tempat.
Baris kedua berfungsi untuk mencetak string yang diapit tanda petik.
Baris ketiga adalah keterangan, atau komentar, yang tidak akan mempengaruhi jalannya program. Keterangan selalu diawali dengan tanda #. Jika interpreter menemukan tanda ini maka mulai tanda ini sampai akhir baris akan dianggap sebagai keterangan.

Variabel dan Operator

Membuat variabel dalam Python sangat sederhana. Anda hanya perlu mengisikan nilai pada sebuah variabel dengan tipe data yang Anda inginkan. Operator pengisian adalah tanda sama-dengan (=).
Variabel dalam Python sangat dinamis. Artinya:
  • variabel tidak perlu dideklarasikan mempunyai jenis data tertentu;
  • jenis data variabel dapat berubah saat program berjalan.

Bilangan

Python mengenal beberapa jenis bilangan yaitu bilangan bulat (integer), bilangan pecahan (floating point), dan bilangan kompleks. Bilangan kompleks bisa dituliskan dengan format (real+imajinerj) atau menggunakan fungsi complex(real, imajiner). Untuk jenis data bilangan yang lain tanpa dijelaskan sudah bisa dimengerti dari contoh berikut:
variabel_integer = 10
variabel_floating = 24.5
variabel_kompleks = 3+4j

print variabel_integer
print variabel_floating
print variabel_kompleks
Operator matematik berfungsi dengan normal di Python seperti dalam bahasa pemrograman yang lain. Ada beberapa catatan yang harus diperhatikan.
  • Operasi pengisian beberapa variabel dengan nilai yang sama dapat dilakukan sekali jalan.
  • Tanda () dipakai untuk mengelompokkan operasi yang harus dilakukan terlebih dahulu.
  • Pembagian bilangan integer dengan bilangan integer akan dibulatkan ke bawah.
  • Bilangan integer akan dikonversikan menjadi bilangan floating point dalam operasi yang melibatkan bilangan integer dan bilangan floating point.
  • Kita tidak dapat mengkonversikan bilangan kompleks ke bilangan real (floating point atau integer); hanya bilangan mutlaknya yang bisa kita dapatkan.
Contoh-contoh berikut akan memberikan gambaran pernyataan di atas.
a = b = c = d = 0
print 'a=>',a,'b=>',b,'c=>',c,'d=>',d

x = 30 - 10 / 2
print 'x=>',x

y = (30 - 10) / 2
print 'y=>',y

print '10 / 3 =',10 / 3
print '10 / 3.5 =',10 / 3.5
print '8 * 12.4 =',8 * 12.4
print 'abs(1+9j) =',abs(1+9j)

String

String dapat ditulis dengan tiga cara:
  1. diapit tanda petik tunggal;
  2. diapit tanda petik ganda;
  3. diapit tiga tanda petik tunggal atau tiga tanda petik ganda.
Cara yang dipakai harus disesuaikan dengan kebutuhan. Perhatikan contoh berikut:
print 'dibatasi tanda petik tunggal'
print "dibatasi tanda petik ganda"
print
print '"petik ganda" dalam petik tunggal'
print "'petik tunggal' dalam petik ganda"
print
print '\'petik tunggal\' dalam petik tunggal harus menggunakan karakter
+escape'
print "begitu juga \"petik ganda\" dalam petik ganda"
Dari contoh ini bisa dilihat bahwa kita tidak dapat mencetak tanda petik tunggal dalam string yang diapit dengan tanda petik tunggal juga. Begitu pula untuk tanda petik ganda. Tetapi kita dapat memakai apa yang disebut dengan karakter escape. Tanda ini memberitahukan pada interpreter bahwa karakter yang mengikutinya tidak diartikan sebagaimana lazimnya. Dalam contoh ini, tanda petik tidak diartikan sebagai batas string jika didahului dengan karakter escape.
Perhatikan juga contoh berikut:
print 'Baris kalimat ini akan nampak terlalu panjang jika \
dituliskan memanjang secara lengkap.'
print 'karakter escape diperlukan jika ingin mencetak dibaris\n baru'
print
print """String terformat dapat dicetak dengan diapit
"tiga" tanda petik tunggal maupun 'tiga' tanda petik ganda.
         Dengan tanda ini string akan dicetak seperti saat ia ditulis."""
Sehubungan dengan jenis data string ini terdapat operator khusus untuk string yaitu operator penggabungan (concatenation operator), yaitu +, dan operator perulangan, yaitu *.
stringA = "String A"
stringB = "String B"
print 'stringA+stringB =',stringA+stringB
print "'-'*20 =",'-'*20
Sifat lain yang dimiliki oleh string adalah bisa diambil sebagian dari karakter pembentuknya, karena string ini adalah array, atau deretan, karakter. Kita dapat mengambil sebagian karakter dari string ini dengan notasi slice. Namun karakter-karakter yang membentuk string ini tidak dapat diubah.
stringA = "String A"
print 'stringA[4] =',stringA[4]
print 'stringA[2:6] =',stringA[2:6]

List

List disebut array dalam bahasa pemrograman yang lain. List adalah jenis data campuran yang bisa memiliki komponen penyusun yang berbeda-beda. Sebuah list dapat dibuat dengan dengan menggunakan tanda kurung siku, [ ]. Anggota list didaftar dalam kurung siku tersebut dan masing-masing dipisahkan oleh tanda koma. Sifat-sifat list bisa didaftar seperti ini:
  • Komponen penyusunnya bisa diganti.
  • Komponen penyusunya dapat dibaca dan dimanipulasi secara langsung.
  • Komponen penyusunnya bisa ditambah.
  • Komponen penyusunnya dapat diambil dengan menunjukkan indeksnya atau dengan notasi slice.
  • Komponen penyusun sebuah list dapat juga berupa list yang lain.
Untuk lebih jelasnya bisa dicoba skrip berikut:
x = [1,2, 'tiga', 'empat']
print x

x[1] = x[1] + 2
print x

x[1] = 'dua'
print x

x = x + ['tambahan', 1]
print x

print 'x[2] =',x[2]
print 'x[1:4] =',x[1:4]

y = ['Salman', 'AS']
x[0] = y
print x

Dictionary

Berbeda dengan list yang memakai indeks angka untuk merujuk pada isi variabel, dictionary memakai key untuk merujuk pada isi variabelnya. Sifat kedua jenis data ini hanya berbeda dalam beberapa hal saja.
Untuk mendeklarasikan sebuah dictionary, Python memakai tanda { }.
d = {'nama':'Salman AS', 'nilai':3}
print d
print d['nama']
Untuk mengakses anggota suatu dictionary kita memakai lambang [ ] sebagaimana halnya list.
Dictionary bisa mempunyai anggota sebuah list, atau dictionary lagi.
d = {'nama':'Salman AS', 'nilai':3}
print d

nama_detail = {'depan':'Salman','tengah':'Agus','belakang':'Supriadi'}
print nama_detail

d['nama'] = nama_detail
print d

print d['nama']['depan']

nilai_detail = [3,4,2]
d['nilai'] = nilai_detail
print d

Tuple, Antara List dan String

Terdapat satu jenis data yang khas milik Python, yaitu tuple. Jenis data ini dideklarasikan dengan tanda ( ). Anggota-anggota tuple tidak bisa diganti dan dapat berupa bilangan atau string. Tuple dapat juga berisi tuple yang lain, dictionary, maupun list.
menu_file = ('New', 'Open')
print menu_file

menu_edit = ('Save', 'Save AS')

menu = (menu_file, menu_edit, 'exit', ['help'])
print menu
print menu[3][0]

menu_lain = (menu_file, menu_edit, 'exit', {'faq':'faq.html', 'manual':'man.html'})
print menu_lain

Perintah Kendali

Seleksi

Satu-satunya perintah seleksi dalam Python adalah if. Format umum perintah ini adalah:
if kondisi:
    perintah_jika_kondisi_benar
elif kondisi_lain:
    perintah_jika_kondisi_lain_benar
else:
    perintah_jika_tak_ada_kondisi_yang_benar
Kita dapat mencoba seleksi dengan if ini dalam modus interaktif Python. Aktifkan interpreter Python Anda dan ketikkan baris-baris perintah ini pada prompt Python.
>>> x = 4 
>>> if x<5: 
...     print "%d lebih kecil dari 5" % x 
... elif x==5: 
...     print "%d sama dengan 5" % x 
... else: 
...     print "%d lebih besar dari 5" 
4 lebih kecil dari 5
Untuk menguji kondisi kita dapat menggunakan operator ==, <, <=, >, >=, dan !=.
Sesuatu yang baru dan kita bisa perhatikan pada contoh di atas adalah cara penulisan blok-blok program. Dalam Python blok-blok perintah ditandai dengan penulisan kode program yang menjorok ke dalam. Setiap perintah yang mempunyai batas kiri yang sama dianggap sebagai satu blok. Sebisa mungkin Anda harus konsisten menggunakan karakter spasi atau karakter tabulasi untuk membuat indentasi. Jangan mencampur antara spasi dan tabulasi. Kesalahan yang sering terjadi dengan indentasi ini adalah terlihat dalam penampilan editor kita sudah lurus pada batas kiri tapi ada perbedaan dalam jumlah karakter tabulasi atau spasi.
Dalam perintah pencetakan ini kita menggunakan kode pemformatan %d. Kode ini akan diganti dengan variabel yang mengikuti string, yaitu x. Antara string dan variabel dipisahkan oleh tanda %. Jika ada beberapa variabel yang akan dicetak, seluruh variabel harus dimasukkan ke dalam tanda () dan antara satu variabel dengan yang lain dipisahkan dengan tanda koma (,). Mari kita coba dengan interpreter Python.
>>> x=4
>>> y=2
>>> print "x berisi %d, dan y sama dengan %d" % x,y
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: not enough arguments for format string
>>> print "x berisi %d, dan y sama dengan %d" % (x,y)
x berisi 4, dan y sama dengan 4
Sekarang kita terapkan seleksi ini dalam skrip yang akan memeriksa apakah suatu bilangan adalah bilangan bulat atau bukan.
x = input("Masukkan bilangan bulat:")
if x%2:
    print "%d adalah bilangan ganjil" % x
else:
    print "%d adalah bilangan genap" % x
Jika dijalankan, skrip ini akan menampilkan:
$ python ganjil.py
Masukkan bilangan bulat:13
13 adalah bilangan ganjil
$ python ganjil.py
Masukkan bilangan bulat:24
24 adalah bilangan genap
Kata kunci input() berfungsi untuk meminta input berupa bilangan. Bilangan ini disimpan dalam variabel x. Ekspresi x%2 akan menghasilkan 1 jika x ganjil dan 0 jika x bilangan genap. Oleh Python, 1 akan diartikan sebagai benar dan 0 akan diartikan salah.

Perulangan

Perulangan dengan kata kunci while mempunyai format umum sebagai berikut:
while kondisi:
    perintah_jika_kondisi_benar
else:
    perintah_lain
Perintah-perintah antara while dan else akan selalu dijalankan jika kondisi benar. Perintah-perintah di bawah else akan dijalankan jika perulangan selesai dengan normal. Yang dimaksud dengan normal di sini adalah proses perulangan tidak berhenti karena bertemu kata kunci break.
x = 1
while x<5:
    print x
    x = x + 1
else:
    print 'Loop sudah selesai dikerjakan!'
Jika skrip di atas ditambahkan suatu kondisi yang diikuti perintah break, maka blok perintah di bawah else tidak akan pernah dijalankan. Perhatikan perbedaannya dengan skrip berikut:
x = 1
while x<5:
    if x==3:
        break
    print x
    x = x + 1
else:
    print 'Loop sudah selesai dikerjakan!'
Perintah break menyebabkan dijalankannya perintah-perintah setelah blok while dan else ini.
Perintah perulangan selain while adalah for. Format dasar perulangan for adalah:
for variabel in objek:
    perintah-perintah
else:
    perintah_jika_tidak_bertemu_break
Langsung saja ke contoh penggunaan pernyataan for ini.
for x in range(1,5):
    print x
else:
    print 'Perulangan selesai'
Fungsi builtin range() dalam skrip ini menghasilkan bilangan 1 sampai 4. Hasilnya skrip akan mencetak bilangan dari 1 sampai 4 dan string Perulangan selesai.
Keistimewaan perulangan dengan for di Python adalah dapat memroses array. Seperti contoh di bawah ini:
y = [10,20,30,40,50,60,70,80,90]
for x in y:
    if x==50:
        continue
    if x>70:
        break
    print x
else:
    print 'Perulangan selesai'
Hasil yang akan didapat jika skrip ini dijalankan:
10 20 30 40 60 70
Pernyataan continue akan menyebabkan proses berlanjut ke awal perulangan dan melewatkan perintah-perintah yang ada di antara continue dan akhir blok perulangan.
Demikian akhir bagian pertama. Untuk mempelajari lebih jauh lagi tunggu bagian tutorial berikutnya.
Cerita horor ini terinspirasi oleh malam pertamaku. Karena malam itu tak berjalan mulus. Banyak keganjilan, atau kejadian diluar jangkauan akal sehat, hingga timbul banyak pertanyaan.
Tiga minggu kemudian baru terjawab. Sebuah surat ancaman dari mantan pacar istriku. Dia kecewa dengan kehadiranku. Kekecewaan itu dilampiaskan di malam pertamaku, lewat teror gaib. Inilah ringkasan ceritanya. Pesta pernikahan baru saja usai. Kamar pengantin masih terhias. Kamal, pengantin pria belum bisa menggauli Narti, pengantin wanita. Dia hanya tertidur, pulas. Rasa lelah masih menyerangnya, setelah seharian berdiri di poade. Baru malam ketiga, dia mulai beraksi. Namun aksinya terganggu. Perasaan aneh muncul. Terasa ada orang lain yang hadir di kamarnya. Entah siapa dia tidak, karena di kamar itu tak ada orang lain.
Malampun berlalu, tanpa sesuatu yang diperbuat. Kembali Kamal beraksi dengan ditemani hujan rintik dan hawa dingin. Narti menanti aksi suami tercintanya. Namun aksi itu tak berlanjut, karena Kamal nampak seperti orang linglung. Apa yang terjadi pada Kamal. Wanita yang digaulinya nampak bukan istrinya, tetapi Kartika, mantan pacarnya. Untung saja dia tak sempat memanggil nama pacarnya itu. Kejadian itu berlangsung hingga menjelang subuh sampai akhirnya ngantuk menyerangnya. Ketegangan mulai menghantuinya. Ketegangan masih menghantuinya. Kejadian malam sebelumnya masih mengiang dalam benaknya. Namun dia tetap harus menyelesaikan tugasnya sebagai seorang pengantin baru. Kembali keganjilan muncul. Selain ada seseorang yang hadir di kamarnya dan juga berkali-kali istrinya berubah menjadi Kartika, kini keganjilan lain, suara golok terasa dekat dengan telinganya.
Menjadikan suara itu terasa ngilu dan menyakitkan. Malampun semakin mengerikan, ancaman selalu datang.
Itulah sebagian ringkasan dari naskah Teror Gaib Malam Pertama. Cerita ini sangat menegangkan, terlebih lagi aku yang mengalami. Cerita ini juga sangat mengerikan, karena pada malam berikutnya timbul keganjilan lain, diantaranya muncul kepala manusia berbendo, tangan manusia yang memanjang dan mencekik leher Kamal, serta masih banyak lagi keganjilan lain. Bagaimana jalan cerita sesungguhnya dan apa yang akan dilakukan Kamal, selengkapnya ada dalam naskah itu.
Aku takut pada cermin. Terutama pada setiap bayangan orang-orang yang terpantul di dalamnya… Jika ada satu hal yang dapat kuenyahkan dari dunia ini, itu adalah pantulan bayangan. Entah itu di cermin, kaca mobil, ataupun benda-benda mengkilap lainnya yang dapat memantulkan bayangan setiap objek di dalamnya dengan cukup jelas. Bayangan-bayangan tersebut sungguh membuatku gila! Tak jarang sumsumku berdesir setiap saat secara kebetulan aku melewati objek mengkilat. Terutama jika aku melihat bayangan orang lain selain diriku sendiri di dalam cermin tersebut. Mungkin hal ini dianggap aneh bagi kebanyakan orang. Tetapi apa yang terjadi tiga tahun yang lalu benar-benar telah mengubah hidupku sepenuhnya. Waktu itu aku baru saja merayakan ulang tahunku yang kelima belas. Siang itu aku menemani salah seorang bibiku ke salon langganannya. Sebenarnya aku agak malas menemani bibiku yang satu itu. karena jika ia sudah keasyikan mengobrol, gempa bumi yang super dahsyat atau hujan batu pun tak akan menghentikan ocehannya yang super lengkap, dari isu seputar kenaikan BBM, gosip artis, sampai si Chiko yang suka menguber-uber anjing betina tetangga sebelah kami. Pokoknya ampun-ampunan deh bibiku yang satu itu. Maka dengan berbekal komik, sebatang coklat, dan MP4 yang baru kubeli dua hari sebelumnya, akhirnya dengan setengah hati aku pun menyetujui untuk ikut bibiku ke salon. Nggak apa-apalah, pikirku, siapa tahu bibiku bersedia mentraktirku pizza sepulang kami dari salon nanti, sebagai upahku menemaninya hari itu. Akhirnya setelah terkantuk-kantuk di dalam tuk-tuk (sejenis kendaraan umum di Thailand) selama beberapa saat, kami tiba juga di gedung bercat merah muda itu. Bangunan berarsitektur Portugis itu masih kelihatan seindah dan semenarik dua tahun sebelumnya, ketika terakhir kali aku menemani ibu dan bibiku ke tempat tersebut. Dengan dinding luar berbalutkan relief bunga teratai ungu dan merah, salon itu berdiri megah di tengah himpitan gedung-gedung perkantoran lain yang menjulang tinggi di sekitarnya. Salon itu tidak sepenuh biasanya. Maklumlah. Mungkin karena hari itu hari Rabu pagi. Dari kaca jendela luar hanya terlihat beberapa orang remaja putri di dalam dan seroang nyonya muda yang sedang di-crembath. Syukurlah, kataku dalam hati. Moga-moga bibiku cepat selesai. Aku sudah tak sabar ingin menikmati pizza kegemaranku! Begitu kami melangkah masuk, aroma wewangian khas Thailand segera menyergap kehadiran kami berdua. dan seorang wanita muda berbusana daerah menyambut kami dengan senyum ramahnya. Ia dengan sigap mengantarkan bibiku ke ruang sebelah dalam sementara aku segera memarkirkan pantatku di kursi empuk di sudut ruangan dan mengeluarkan MP4 biru mudaku. Detik berikutnya aku telah asyik terlarut dalam komikku sambil mengunyah coklat dan mendengarkan lagu. Waktu berlalu dengan cepat. Kira-kira satu jam kemudian bibiku sudah hampir selesai. Ia sedang mematut-matut dirinya di depan cermin. Aku bangkit dari kursi dan menghampirinya. Sekilas aku melirik ke arah cermin. Pada saat itulah aku melihat sesuatu yang aneh. Wajah penata rambut yang pada saat itu sedang menyemprotkan hair spray pada rambut bibiku terlihat menyeramkan. Pelipis sebelah kirinya terlihat mengucurkan darah dan membasahi kemeja putihnya. Aku tersentak kaget! Segera aku memalingkan wajah dari cermin dan memperhatikan sang penata rambut yang berdiri tepat di samping kananku. Tapi ia terlihat baik-baik saja! Tak ada luka sedikit pun pada wajahnya dan kemejanya putih bersih. Aku mulai kebingungan. Aku kembali memandang cermin. Dan apa yang kulihat tetap sama dengan apa yang kulihat pertama kali. Wajah dan baju yang merah oleh ceceran darah yang mengucur semakin deras! Aku tak tahan lagi! Aku segera mengubah posisi berdiriku agar aku tak dapat melihat bayangannya di cermin. Semua ini benar-benar membuatku gila! Apakah ada yang salah dengan penglihatanku? Ataukah ini hanya imaginasiku belaka? Tak lama kemudian bibiku selesai dan kamipun pulang ke rumah melalui rute yang sama. Sepanjang perjalanan aku mengunci bibirku rapat-rapat. Pikiranku benar-benar kalut! Aku masih bingung dengan apa yang baru saja kualami. Selang beberapa minggu kemudian, bibiku kembali ke salon itu untuk creambath. Pada saat itulah kami mendengar kabar bahwa salah seorang penata rambut salon tersebut telah meninggal dunia dua minggu sebelumnya karena kecelakaan mobil dan ia adalah penata rambut yang waktu itu melayani bibiku! Katanya sewaktu ia hendak pulang ke rumah pada hari itu, di tengah jalan ia tertabrak oleh seorang pengendara motor ugal-ugalan sehingga tubuhnya terpental ke aspal dan kepalanya terbentur keras sehingga darah mengucur dari wajahnya. Orang-orang segera membawanya ke rumah sakit terdekat, tetapi ia meninggal dunia dalam perjalanan karena luka-lukanya sangat parah dan ia mengalami pendarahan hebat di kepalanya. Aku tertegun. Mendadak aku teringat penglihatan yang kualami waktu itu. Apakah itu merupakan firasat akan terjadinya sesuatu? Aku berusaha melupakan peristiwa tersebut dan kuanggap hal itu sebagai suatu kebetulan belaka. Sampai beberapa bulan kemudian.... ***** Hari sudah siang ketika aku dan Irene, teman sekelasku, pulang dari sekolah. Rumah kami berdekatan, sehingga hampir setiap hari kami pergi dan pulang sekolah bersama-sama. Dalam perjalanan pulang kami memutuskan untuk mampir ke mal terdekat untuk membeli beberapa perlengkapan sekolah. Sewaktu kami melewati sebuah butik pakaian, secara kebetulan aku menoleh ke arah kaca etalase. Dan napasku tersentak. Aku dapat melihat bayanganku sendiri di kaca itu, tetapi di sampingku bukan bayangan Irene, melainkan ayahnya. Ia terlihat pucat dan sedih. Jantungku berdegup keras. Aku teringat kembali peristiwa yang kualami beberapa bulan sebelumnya bersama bibiku. Aku tak tahu apakah hal yang sama akan terulang lagi. Aku tak berani mengucapkan sepatah kata pun tentang hal itu padanya. Aku tak ingin ia sedih memikirkan hal-hal yang belum tentu akan terjadi. Malam itu aku baru saja akan pergi tidur ketika tiba-tiba telepon berdering. Ketika kuangkat, terdengar suara Irene. Ia tersedu-sedu. Aku langsung merasakan firasat buruk. Di sela isak tangisnya, ia berkata terbata-bata, "Phrai, ayahku ..." ia tak dapat melanjutkan kalimatnya. Ia hanya terisak pelan. "Ada apa dengan ayahmu? Apa yang terjadi?" Mendadak aku merasa gugup dan tegang. Tanganku gemetaran. Pikiranku benar-benar kalut. Apakah ini…? Tidak mungkin! Jangan! Belum sempat aku berpikir lebih jauh, isakan Irene kembali terdengar. "Ayahku tak sadarkan diri. Beberapa saat yang lalu ia mendapat serangan jantung. Kini ia sedang dalam perjalanan ke rumah sakit." Aku tersentak kaget. Seketika tubuhku lunglai dan jantungku berdegup tak karuan. Oh Tuhan, jangan biarkan firasatku menjadi kenyataan,, doaku dalam hati. "Irene, kita berdoa saja, semoga beliau tidak apa-apa," kataku sambil menarik napas panjang. "Suster yang merawat ayahku mengatakan bahwa ayahku dalam kondisi kritis karena ia terlambat diberikan pertolongan," Irene berkata lirih sambil terisak-isak. Aku tak bisa mengatakan apa-apa lagi selain menghibur sahabatku itu. Malam harinya aku berdoa semoga firasatku meleset dan segalanya akan baik-baik saja. Aku sungguh-sungguh berusaha menghibur diriku sendiri bahwa apa yang kulihat waktu itu di kaca etalase toko bersama Irene adalah halusinasiku saja dan tidak ada sangkut pautnya dengan apa yang telah terjadi pada ayah Irene. Tetapi semakin aku berusaha meyakinkan diriku sendiri, semakin besar keraguan yang tumbuh jauh di lubuk hatiku bahwa apa yang kualami sebelumnya tidak akan terulang kembali. Keesokan harinya aku kembali mendapat kabar dari Irene. ia mengabarkan bahwa ayahnya telah meninggal dunia malam itu juga. Aku sangat sedih mendengarnya. Terlebih-lebih karena aku telah mendapat pertanda tentang hal itu sebelumnya namun tak ada yang dapat kulakukan untuk mencegah musibah itu. Apakah ini suratan takdir? Jika ya, apa gunanya aku mendapatkan firasat itu jika aku sendiri tak dapat melakukan apa-apa untuk mencegahnya? Mengapa? Mengapa? Beribu tanda tanya berkecamuk dalam benakku, namun aku sungguh tak kuasa untuk menjawab semua pertanyaan itu. Semua peristiwa ini benar-benar membuatku stres! Semenjak kedua peristiwa itu, aku masih mendapat penglihatan-penglihatan lain yang sering kali membuatku dibayangi perasaan bersalah, sedih, dan takut. Tak jarang aku melihat bayangan-bayangan menyeramkan dari orang-orang di sekililingku yang tak kukenal. Entah itu bayangan pedagang sayur yang kebetulan lewat di dekatku, atau bahkan seekor kucing liar yang melintas di hadapanku. Semua bayangan mereka sungguh membuatku merana! Aku hanya bertanya-tanya, kapan kiranya, suatu hari nanti, aku akan melihat bayangan kematianku sendiri. Apakah hari ini? Besok? Lusa? Ataukah tahun depan? Atau bahkan sesaat lagi? Aku hanya berharap semoga aku siap menghadapi hari itu. Hari ketika bayanganku menjadi kenyataanku…
Berikut ini ada sharing dari seorang kawan kita mengenai pengalamannya membeli Toyota Kijang. Rudy (kawan kita) baru saja membeli mobil gres Toyota Kijang pada akhir Maret lalu, type LGX bensin model lampu terbaru (kristal). Sehari setelah sampai di rumah, dengan riangnya sang istri menyambut kedatangan mobil baru tersebut, alhasil mobil tersebut dicoba bersama sang anak. Namun anehnya mobil tersebut tidak seperti yang diharapkan oleh sang istri, mobil tersebut mengalami gangguan mesin yang sangat fatal, yaitu mobil tersebut tidak dapat dilakukan pindah gigi dari 1 menuju ke gigi 2, maka yang terjadi mobil tersebut loncat ke gigi 3. Keesokan hari sang istri bersama Rudy pergi ke salah satu bengkel Auto 2000 yang terdekat (bengkel resmi), mobil tersebut masih dalam masa garansi. Tetapi pada waktu kawan kita complain ke mekaniknya, dengan mengatakan bahwa mobil tersebut tidak bisa pindah ke gigi 2 dan langsung ke gigi 3, maka sang mekanik (Nurahmat, kepala montir) hanya bengong dan tidak merespon sambil mengerjakan mobil lainnya, kesal dan geram menjadi satu seketika itu juga saat montir tersebut terus tidak acuh. Merasa dicuekin akhirnya kawan kita membentak montir tersebut dan minta penjelasan mengapa di bengkel sebesar ini (Auto 2000) konsumen tak diacuhkan complain-nya, maka dengan muka sedikit bersabar serta tanpa dosa sang montir mengatakan itu sudah resiko bapak memilih kijang, kontan saja Rudy makin naik darah, khan bapak sudah tahu lanjutnya, di tv serta di koran juga sudah dijelaskan kalau kijang MEMANG TIADA “DUA”-NYA (jadi dari gigi ke 1 langsung ke gigi 3, 4 dan 5). =))
Kemarin gue pergi ke sebuah Mall… Nongkrong sama temen2… Entah kenapa tiba-tiba perut terasa mulas. Langsung saja gue masuk ke WC yang saat itu kebetulan sepi. Belum semenit duduk, saya denger suara bapak-bapak berkata : “Gimana dik? baik-baik aja?” Kedengarannya dari WC sebelah. Kaget juga, karena gue nggak biasa ngobrol sama orang yang belum dikenal, maka saya jawab aja: “Ya, baik.” Eh, tau-tau dia nanya lagi : “Sekarang gimana, sudah terasa lega?” Wah pertanyaan macam apa sih itu? Ada-ada saja. Baru juga nongkrong semenit, jadi gue jawab sekenanya aja… : “Lumayan Pak, untung gak ngantri…” Dia jawab lagi : “Sama dong… tapi saya ada masalah dikit nih.” Gue jadi mulai curiga, lalu gantian gue yang tanya : “Masalah apa, pak?” Dia langsung jawab : “Iniii lho diajenggg… ada orang culun di WC sebelah ikut-ikutan ‘njawab pertanyaan saya, gimana kalo nanti saya telpon lagi? Ya… sampai nanti…”
Di pintu akherat seorang malaikat menanyai seorang supir metro mini, “Apa kerja kamu selama di dunia?” “Saya supir metro mini, pak.” Lalu malaikat itu memberikan kamar yang mewah untuk supir metro tersebut dan peralatan yang terbuat dari emas. Lalu datang seorang juru dakwah agama. Malaikat pun bertanya, “Apa kerja kamu di dunia?” “Saya seorang juru dakwah, Pak.” Lalu malaikat itu memberikan kamar yang kecil dan peralatan yang terbuat dari kayu. Melihat itu juru dakwah pun protes. “Pak kenapa kok saya yang juru dakwah mendapatkan yang lebih rendah dari seorang supir metro..?” Dengan tenang malaikat itu menjawab: “Begini Pak… Pada saat Bapak ceramah, Bapak membuat orang-orang semua tertidur sehingga melupakan Tuhan. Sedangkan pada saat supir Metro mini mengemudi, ia membuat orang-orang berdoa….”