Friday, December 30, 2011

Resolusi Tahun Baru

Saya ingin berbagi tentang makna tahun baru bagi saya. Saya mengalami Tahun Baru Hijriyah dan Tahun Baru Masehi, sebagai muslim dan warga negara Indonesia. Buat saya, Tahun Baru itu adalah moment untuk mengingatkan bahwa telah 1 tahun lagi saya diberikan kesempatan oleh Allah SWT dengan segala nikmat yang telah Ia berikan. Saya merenungi kembali apa saja yang telah saya lakukan selama 1 tahun kemarin. Apakah saya telah melakukan perbaikan terhadap diri dan ibadah saya? Apakah saya telah memberikan manfaat kepada orang lain? Apakah saya telah memperbaiki lisan agar tidak menyakiti orang lain, memperbaiki sikap agar tidak mendzalimi orang lain, memperbaiki pengetahuan agar tidak menyesatkan orang lain?

Setelah merenungi semua hal yang telah saya lakukan selama 1 tahun kemarin, hal yang pertama yang dilakukan adalah memohon ampun kepada Allah atas semua kekurangan dalam beribadah kepadaNya. Selanjutnya membuat daftar orang yang pernah saya  sakiti secara lisan atau sikap, agar ingat untuk meminta maaf kepada mereka. Karena sesungguhnya Allah tidak akan memaafkan kita sebelum orang yang kita dzalimi memaafkan kita. (Na'udzubillahi min dzalik).

Kemudian saya, sebagai planner :D, kembali membuat rencana. Rencana membuat saya selalu bersemangat menghadapi hari esok. Setelah saya sadari beberapa tahun yang lalu, rencana (yang menurut banyak orang dianggap resolusi) yang selalu saya buat pada awal tahun, terealisasi pada tahun tersebut. Yah, walau tidak semuanya sih. :P Saya ingat sebuah nasihat yang bagus.
"Jika kamu bermimpi jangan terus menarik selimut, tapi bangunlah lalu wujudkan mimpimu."
"Jangan menganggap remeh dirimu sehingga tidak berani memimpikan sesuatu yang besar."
Saya jadi ingin berbagi tentang beberapa rencana (resolusi) sejak beberapa tahun yang lalu.. Hmm.. kita mulai dari tahun 2006 saja ya, biar tidak kepanjangan artikelnya. :P

2006 - menyelesaikan pendidikan Sarjana dengan IPK 3. 
Walaupun tidak sesuai dengan target untuk selesai 3,5 tahun, alhamdulillah selesai di akhir tahun 2006 dengan IPK yang cukup bagus :) Waktu itu wisuda diadakan 2 hari setelah hari ulang tahun saya, hal itu merupakan kado ultah yang sangat berkesan untuk saya.
2007 - mendapatkan pekerjaan yang dapat membuat saya mengamalkan ilmu Teknik Informatika. 
Alhamdulillah, menjelang pertengahan tahun, saya mendapatkan pekerjaan sebagai programmer di salah satu perusahaan IT yang mengajarkan saya tidak hanya ilmu IT namun juga ilmu dalam menghadapi dunia kerja. Resolusi saya yang lain tahun itu adalah bisa berenang. Alhamdulillah dalam 1 bulan sudah bisa gaya katak.. Yah minimal saya tidak takut lagi tenggelam kalau di kolam renang. Dan uniknya lagi, saya yang dulu takut berada dekat kolam renang kemudian berubah menjadi addicted terhadap berenang.
2008 - dapat mengendarai motor. 
Pada akhir tahun itu alhamdulillah sudah bisa mengendarai motor. Hmm, walau hanya berani di sekitar komplek rumah saja. :P 
2009 - menambah wawasan dan networking berkaitan dengan bidang pekerjaan. 
Pada bulan Januari, saya terpilih menjadi salah satu pengurus MySQL Indonesia. Komunitas tersebut terdiri dari orang-orang yang menekuni bidang IT, baik mahasiswa maupun profesional, dari programming, networking, database, analis, dan lain sebagainya. 
2010 - Meningkatkan kemampuan diri dengan hijrah ke kantor lain.
Sempat menjadi pekerja lepas selama kurang lebih 1 bulan, karena sudah resign dari kantor sebelumnya dan belum mendapatkan pekerjaan baru, akhirnya saya diterima di sebuah perusahaan konsultan IT di daerah yang tak jauh dari rumah. Kantor lama dan kantor baru saya berada tak jauh dari rumah, dan saya sangat bersyukur untuk itu, karena tidak harus berangkat terlalu pagi dan sampai rumah terlalu malam. Alhamdulillah.
2011 - mendapatkan calon suami.
Tahun ini saya usia saya sudah menjelang 27 tahun. Untuk urusan cinta, saya memang tidak bisa merencanakan seperti layaknya rencana hidup yang lain. Saya tidak terlalu ngoyo untuk mencari pendamping hidup, karena saya percaya menikah dengan seseorang bukanlah hal yang bisa diputuskan dalam waktu singkat. Alhamdulillah Allah mendekatkan kami (saya dan calon suami) dengan cara-Nya.

Jadi apa resolusi tahun 2012?
 Insya Allah ingin menikah dan membangun keluarga baru. Saya sadar bahwa hidup berumahtangga tidak akan semudah ketika masih bersama orang tua. Tapi bismillah, semoga Allah SWT selalu menjaga hati kami agar dapat menjalankan amanah memiliki suami / istri dan (Insya Allahu minal Amin) keturunan yang sholeh sholehah. Amin ya Rabb..

Semangat... ^_^

Sunday, October 30, 2011

Day Three at Jogjakarta

lanjutan dari Day Two at Jogjakarta

Hari ke 3 - Minggu, 13 Februari 2011
Hari ini waktunya kami pulang ke Jakarta. Kami memutuskan untuk menikmati fasilitas hotel dan berkeliling hotel, kegiatan yang belum sempat kami lakukan sejak check in. Lagipula, hotel yang kami tempati letaknya cukup jauh dari stasiun Tugu yang berada di pusat kota. Jadi agar tidak bolak balik, lebih baik kami keluar hotel sekalian untuk check out. Salah satu fasilitas yang kami dapatkan secara gratis adalah berenang. Jadi kami tak melewatkan bermain air dan berjemur di pinggir kolam renang. Setelah puas bermain air, kami kembali ke kamar untuk mandi dan packing. Pesanan delivery bakpia kami pun datang tepat waktu. ^_^

Waktu di tiket pulang pukul 19.30, sedangkan waktu check out hotel pukul 13:00. Jadi, kami putuskan untuk berkeliling di tengah kota sambil menunggu jam pulang. Awalnya kami agak khawatir harus membawa tas pakaian selama berkeliling, namun ternyata ada tempat penitipan tas di dekat pintu stasiun. Saya tidak menyarankan untuk menitipkan barang berharga, jadi yang dititipkan adalah pakaian dan oleh-oleh. Bapak Gatot, pramudi mobil shuttle berbaik hati mengantarkan kami ke stasiun Tugu untuk menitipkan tas dan melanjutkan ke malioboro.

Siang itu kami terkejut dengan padatnya lalu lintas sepanjang malioboro. Saat kami tanya kepada pedagang sekitar, hari itu akan ada festival kebudayaan di sepanjang malioboro, sehingga jalur menuju malioboro dialihkan.Saat itu yang terjadi bukan hanya macet kendaraan, tapi juga macet manusia! Tapi hal itu membuat kami tidak mati gaya sambil menunggu jam keberangkatan kereta kami hingga malam. Kami memutuskan hanya berkeliling di sekitar malioboro, untuk menghindari ketinggalan kereta. Tujuan pertama adalah toko khusus batik Mirota yang berada di ujung jalan malioboro persis di seberang Pasar Bringhardjo. Pramudi mobil shuttle hotel tempat kami menginap menyarankan untuk "survey" harga di Mirota, agar dapat menawar harga yang bagus ketika belanja di pasar Beringharjo dan di sepanjang jalan Malioboro.

Di sela-sela hunting barang-barang khas Jogja, kami menyempatkan untuk makan pecel di depan Pasar Beringharjo. Pecel dapat dilengkapi sate dan daging burung dara, tergantung selera. Sambil makan pecel, kami menikmati pawai kebudayaan yang melintas di sepanjang jalan Malioboro, walau tidak banyak yang dapat kami lihat karena tertutup oleh banyaknya orang yang menonton. Tak terasa malam mulai menjelang, dan kami bergegas menuju Stasiun Tugu dengan berjalan kaki. Sebelum itu, kami membeli nasi kucing sebagai bekal di perjalanan dan mengambil barang titipan kami di tempat penitipan di Stasiun Tugu.

Ada hal unik yang baru diketahui Rani dalam perjalanan ini. Dia baru tahu kalo ada penumpang yang boleh tidur di sepanjang lorong gerbong kereta api. Mereka membeli tiket sehingga tidak diusir ketika petugas memeriksa tiket. hehehehe..

Sunday, September 11, 2011

Overview Delphi Day 4



Object Pascal part II

A. Conditional (Perumpamaan)
    1. If..Then..
        Menempatkan pertanyaan (kondisi) dan jawaban (aksi)
    2. Case..Of
        dapat digunakan untuk meminimalisasi input dari user
        a. jika menggunakan lebih dari 1 konstanta pada pernyataan kondisi, maka harus dipisah menggunakan koma
        b. konstanta yang digunakan pada pernyataan kondisi harus bertipe byte atau word, bukan string atau longint
        c. konstanta yang digunakan pada pernyataan kondisi tidak boleh overlap, artinya menggunakan konstanta yang sama pada 2 kondisi yang berbeda

B. Looping (Pengulangan)
    1. repeat..until
        statement yang berada setelah "repeat" akan selalu diekseskusi sampai kondisi yang berada setelah "until" terpenuhi.
    2. while..do
        selama kondisi yang berada setelah "while" masih terpenuhi, maka statement yang berada setelah "do" akan terus dieksekusi.
        catatan : untuk meminimalisir error, jangan lupa untuk mendeklarasikan nilai awal untuk konstanta yang digunakan pada proses looping
    3. for..do..
        digunakan jika kita mengetahui berapa kali statement akan dieksekusi.

C. Branching (Percabangan)
    1. GoTo
        digunakan jika kita ingin mengeksekusi suatu statement pada baris tertentu (tidak harus baris setelah "kondisi") jika kondisi terpenuhi.
    2. Break
        digunakan jika ingin menghentikan perulangan, dengan menempatkan "break" setelah kondisi di dalam perulangan tersebut.
    3. Continue
        digunakan untuk melanjutkan perulangan, dengan menempatkan "continue" setelah kondisi di dalam perulangan tersebut.
    4. Exit
        digunakan untuk tidak hanya menghentikan perulangan, tapi juga menghentikan program aplikasi (tidak mengeksekusi statement setelah perulangan).
    5. Halt
        digunakan untuk menghentikan dan keluar dari program aplikasi.
        Yang harus diperhatikan pada saat menempatkan "halt" di dalam suatu perulangan/kondisi:
        a. apakah ada database/file yang terbuka, karena penghentian aplikasi secara total dengan penggunaan "halt" dapat menyebabkan database atau file menjadi korup.
        b. apakah sedang dialokasikan memory yang tidak di-freed up, karena kalau keluar akan menyebabkan pemborosan memory.
        c. perhatikan baik2 kebutuhan penggunaan "halt".
    6. RunError
        digunakan untuk membuat manajemen error sendiri pada aplikasi, dengan menempatkan "runerror(int)" jika ada kondisi yang terpenuhi. Debugger akan mengeluarkan pesan error tersebut.

D. Programs
    akan mengeksekusi semua baris code satu per satu secara berurut

1. Procedure
        Pada suatu aplikasi, programmer akan sering kali menggunakan code/perintah/syntax yang sama lebih dari 1 kali. Jika menggunakan metode program pada umumnya, yaitu mengeksekusi semua baris code satu per satu secara berurut, tidak efisien waktu, tenaga dan akan menyulitkan saat debugging. Procedure adalah sebuah program kecil yang memiliki format yang sama, yang dapat digunakan berkali-kali sesuai dengan kebutuhan, dengan memanggil nama procedure nya saja.
    a. Parameter Passing
       Dalam procedure, kita dapat menambahkan nilai yang akan dikembalikan sebagai hasil dari eksekusi procedure. Nilai yang diinput oleh user berbentuk variabel, yang akan diisi pada paramater yang telah ditentukan dalam procedure. Jika menggunakan parameter lebih dari satu, harus memperhatikan urutan saat memanggilnya dalam procedure.
    b. Visibility and Scope
        Dalam menggunakan procedure, yang harus diperhatikan adalah variabel yang digunakan.             Programmer harus jeli kapan harus menempatkan variabel itu secara lokal (di dalam suatu procedure) atau global (yang dapat digunakan di beberapa procedure). Ketelitian penentuan variabel tersebut ditujukan agar tidak terjadi kesalahan pengisian nilai dan pemborosan penggunaan variabel.
 
2. Function
        Perbedaan antara function dengan procedure adalah pada function proses pengembalikan nilai dilakukan sekaligus pada saat pemanggilan function, sedangkan pada procedure harus dilakukan pemanggilan procedure dulu, lalu nilai hasil procedure tersebut baru bisa digunakan.

3. Units
        Units merupakan bagian lebih besar daripada sebuah procedure dan function.
        Procedure dan function di dalam suatu units juga dapat digunakan berkali-kali di dalam units yang lain.
    a. Format Units
        - Nama units
        - Interface; tempat mendeklarasikan semua variabel, konstanta, type, header procedure dan header function yang diperlukan dalam suatu units
        - Implementation => tempat mendeklarasikan semua variabel (global), konstanta (global), dsb yang akan digunakan dalam procedure dan function, pembuatan procedure dan function yang sudah didefinisikan pada bagian Interface.           
    b. Reusability
        Units merupakan contoh dari konsep software reusability dan component libraries. Membagi kode program menjadi beberapa bagian akan memudahkan programmer menyusun program aplikasi dan memeriksa kesalahan-kesalahan di dalamnya.       
    c. Distribution Security
        Units dapat dicompile dan menghasilkan file *.dcu (delphi compile unit). Programmer yang ingin membagi code mereka dapat memberikan file *.dcu ini kepada programmer lain. File *.dcu ini yang akan disertakan dalam klausa "uses" jika ingin meggunakan units tersebut tanpa harus melihat source code di dalamnya.       
    d. Team Development
        Manfaat lainnya dari suatu unit adalah pembagian pekerjaan. Jika dalam suatu pengerjaan suatu project terdapat lebih dari 1 programmer, maka tiap programmer dapat mengerjakan unit tertentu sendiri-sendiri lalu menggabungkan pada saat finalisasi. Hal ini dapat mempersingkat waktu pengerjaan.

E. Pointer
    Pada saat mendeklarasikan struktur data, kita mengalokasikan memory.
    Kebanyakan struktur data membutuhkan alokasi memory yang cukup besar, seperti record dan array.
    Pointer dapat digunakan untuk menyimpan alamat dari struktur data.
1. Penggunaan Pointer
    - New(Pointer) => mendefinisikan pointer/ membuka block Pointer
    - Pointer^ := ... => mengisi pointer
    - Dispose(Pointer) => menutup block Pointer


Reference : Teach Yourself Delphi 2 in 21 days by Dan Osier, Steve Grobman, and Steve Batson; SAMS Publishing

CMMIW..

^_^



Friday, August 19, 2011

Day Two At Jogjakarta

lanjutan dari Day One at Jogjakarta

Hari ke 2 - Sabtu, 12 Februari 2011
Kami memutuskan untuk mengunjungi tempat wisata di sekitar pusat kota dan menghabiskan waktu seharian penuh. Pilihan pertama kami jatuh kepada Keraton Kesultanan, tempat Sultan Hamengkubuwono tinggal dan bekerja. Keraton merupakan simbol Kerajaan, sistem pemerintahan yang membedakan Jogjakarta dengan Provinsi lainnya. Ternyata pilihan kami tak salah. Disana, kami berkenalan dengan 2 orang gadis manis semi backpacker seperti kami, Wulan dan Siska. Harga Tiket masuk Keraton Jogja Rp. 5,000 per orang ditambah Rp. 1,000 per kamera. Tiket bisa dibeli di dekat pintu masuk Keraton, tempatnya seperti semacam teras rumah jawa kuno. Setelah membeli tiket, kami langsung mendapatkan tour guide.

Bagi saya yang lemah menghafal sejarah, penjelasan dari tour guide terlalu terburu-buru. Namun saya maklum, mengingat banyak sekali turis lokal dan asing yang datang pada hari Sabtu itu. Kami diperkenalkan kepada tempat Sultan biasa mengadakan pertemuan dengan tamu penting, kantor tempat kerja, rumah tempat kediaman, dan tempat pentas seni tradisional. Seni yang saat itu dipentaskan adalah wayang kulit. Terakhir, kami dibawa masuk ke museum Keraton yang berisi barang-barang kuno yang dipergunakan oleh Sultan Hamengkubuwono I hingga sekarang. Namun, ada bagian museum yang tidak diperbolehkan untuk dipotret, berisi antara lain kain batik asli Jogja yang dibuat dengan tangan. Di Keraton kami juga dapat melihat para abdi dalem yang sedang bertugas di tempatnya masing-masing. Sangat menarik!

Selesai berkeliling Keraton, kami sangat lapar. Kebetulan saya dan Rani memang belum sarapan. Jadi tujuan selanjutnya mencari brunch (breakfast lunch), karena saat itu waktu sudah menunjukkan pukul 10. Wulan dan Siska pun sepakat. :) Berhubung perut sudah tak mau menunggu, akhirnya kami berempat mencari makanan khas Jogja di sekitar Keraton. Kami menemukan banyak penjual Nasi Gurih di Alun-alun, tak begitu jauh dari Keraton. Nasi gurih terdiri dari : nasi kuning, tempe orek, kacang kedelai, kol, daun kemangi, timun, dan kerupuk kulit. Seporsi dikenai harga Rp. 5,000. Setelah perut kenyang kami memutuskan untuk pergi ke tempat wisata selanjutnya yaitu : Candi Prambanan. Dari Alun-alun, kami naik becak dengan harga sewa Rp. 5,000 sampai ke Halte Trans Jogja terdekat, yaitu di depan kantor pos Alun-alun.

Candi Prambanan letaknya cukup jauh dari alun-alun kota, karena berada di ujung kota dekat dengan airport Adisutjipto, namun dapat dicapai dengan bis Trans Jogja. Kami menempuh kira-kira 20 menit perjalanan dari halte di depan kantor pos hingga halte Prambanan. Di depan halte Prambanan terdapat beberapa delman yang berjejer dan siap mengantar kita menuju pintu masuk Candi Prambanan. Sebenarnya Halte Prambanan itu letaknya persis di seberang kawasan Candi Prambanan. Tapi, cukup jauh untuk mencapai loketnya dengan berjalan kaki. Untuk menghemat tenaga dan juga merasakan aura Jogja yang kental, kami berempat memutuskan untuk menyewa delman hingga depan loket tiket Candi Prambanan. Sekali lagi, berbekal bahasa Jawa semaksimal mungkin saya menawar harga sewa delman hingga Rp. 10,000. Sampai di depan loket, saya dikejutkan dengan poster yang di tempel di depan loket. Ada paket hemat Candi Prambanan dan Candi Ratu Boko. Bukan paket hemat yang buat saya terkejut, tapi karena saya belum pernah dengar nama Candi Ratu Boko sebelumnya. As I mentioned, nilai mata pelajaran Sejarah saya memang kurang bagus. :D

Berikut Harga Tiket Masuk Wisatawan Nusantara (last updated 12 Februari 2011) :
Senin-Jumat
 Umum           Rp. 20,000
 Anak 3-6 thn Rp. 10,000
Sabtu, Minggu dan Libur Nasional
 Umum           Rp. 23,000
 Anak 3-6 thn Rp. 11,000
Paket Prambanan - Ratu Boko : Rp. 30,000

Sebagai backpacker, tentu kami tidak melewatkan paket hemat. :P Harga tiket paket termasuk tiket masuk ke kedua tempat wisata tersebut dan shuttle Prambanan-Ratu Boko-Prambanan yang diparkir tak jauh dari loket. Ketika kami sampai di Prambanan, kebetulan shuttle sudah akan berangkat ke Ratu Boko, jadi kami pun ikut. Jarak Prambanan-Ratu Boko ternyata tidak terlalu dekat dan jalurnya cukup sulit dijangkau jika menggunakan angkutan umum. Mungkin itu sebabnya diadakan paket hemat Prambanan-Ratu Boko dengan shuttle, agar Ratu Boko lebih dikenal oleh wisatawan. Waktu tempuh Prambanan-Ratu Boko dengan shuttle bus kurang lebih 20-25 menit. Sampai di depan loket situs Candi Ratu Boko, ternyata kami harus membayar karena membawa kamera, sebesar Rp. 5,000. Menurut saya, yang menarik dari situs Candi ini adalah jalur dari loket sampai ke ujung kawasan situs ini adalah jalurnya agak menanjak, jadi seperti tracking line. Tak berapa jauh dari loket, saya melihat ada beberapa kijang yang sedang merumput. Saya mencoba naik setinggi mungkin hingga berhasil hingga ke wilayah Candi yang paling atas. Ada bagian dari situs ini yang bisa melihat kawasan Candi Prambanan dari jauh. Semakin kami berusaha menjelajahi kawasan ini, semakin kami menyadari bahwa kawasan Candi ini sangat luas. Namun, penjelajahan kami harus terhenti karena gerimis mulai turun dan semakin deras hingga kami harus berlari kencang hingga ke tempat parkir.

Ketika mobil shuttle sampai di Candi Prambanan, hujan masih turun. Kami menunggu hingga agak reda dan memutuskan untuk mulai berkeliling Candi Prambanan dengan berbekal payung sewaan. Candi Prambanan merupakan kawasan yang terdiri dari beberapa buah bangunan candi. Setelah puas berfoto di tiap candi, kami bergerak menuju pintu keluar. Ternyata ada band yang sedang memainkan lagu-lagu lama. Hampir sampai pintu keluar ada semacam pasar kaget. Di sana menjual beberapa makanan dan jajanan kaki lima. Lalu kira-kira 1 meter di depannya menjual berbagai barang khas Jogja, barang-barang bernuansa batik. Di sini kami kembali hunting barang untuk oleh-oleh. Seperti pasar pada umumnya, kita harus pandai menawar untuk mendapatkan harga yang bagus :). Sepertinya kami terlalu lama menawar, sehingga mendung yang sudah terlihat sejak kami beranjak keluar, tiba-tiba menurunkan hujan yang cukup lebat. Kami menawar dengan cepat becak yang berada di pintu keluar, untuk mengantarkan kami ke halte Trans Jogja Prambanan. Sampai halte, ternyata sudah penuh dengan orang yang menunggu bus, sehingga kami berteduh di pinggir halte. Untungnya kami tidak perlu menunggu bus terlalu lama. Kami ternyata 1 bus dengan serombongan peserta tour, yang seolah menguasai pembicaraan di bus, sehingga penumpang bus yang lain hanya menonton mereka berbincang.

Kami berempat turun di halte Malioboro dan sepakat untuk mencari makan siang yang terlambat :P. Kami lalu memilih bakso seharga Rp. 10,000 per porsi dan lumpia goreng seharga Rp. 1,500 per buah. Setelah perut kenyang, kami berpisah. Wulan dan Siska kembali ke hotel mereka yang memang berlokasi di sekitar Malioboro, sedangkan aku dan Rani meneruskan perjalanan ke pasar malam Sekaten di Alun-Alun untuk menyambut Maulid Nabi Muhammad SAW. Terus terang, pasar malamnya jauh berbeda dari ekspektasi kamu. Pasar malam yang kami datangi tak ubahnya kumpulan pedagang yang hanya berpindah tempat. Harga yang ditawarkan pun cukup mahal dan tak ada jajanan maupun mainan khas pasar malam.

Karena tidak mendapatkan apa yang kami inginkan, maka kami berjalan ke arah Monumen Serangan Umum 1 Maret. Kami duduk di bangku sekitar monumen tersebut untuk beristirahat dan memikirkan tujuan selanjutnya. Rani tak melewatkan untuk mencoba wedang ronde yang sedang dijajakan. Nah saat itulah kami melihat sekotak bakpia milik sepasang muda mudi yang duduk di sebelah kami. Kami pun bertanya kepada mereka dimana dapat membeli bakpia itu. Mereka menyarankan untuk minta diantarkan tukang becak ke bakpia 25. Mereka mengingatkan untuk minta diantarkan ke pabriknya jangan ke tokonya, karena produk di pabrik fresh from the oven. Tanpa pikir panjang, kami berdua mencari becak terdekat.

Bakpia 25 yang saya datangi merupakan pusat produksi disertai toko kecil di depannya. Ternyata di bakpia 25 tidak hanya menjual bakpia, tapi juga beberapa jajanan khas Jogja lainnya. Namun, karena tujuan ke sana adalah bakpia, tentu saja aku memborong bakpia untuk oleh-oleh. Ada 2 ukuran kotak yang ditawarkan, isi 15 buah seharga Rp. 18.000 dan 20 buah seharga Rp. 22.000. Isinya pun beragam, ada kacang hijau, kacang hitam, cokelat, dan keju. Di sini juga memiliki layanan delivery dengan minimal order 10 kotak. Kontaknya adalah :
Bakpia Pathok 25
oleh-oleh khas Jogja
Jl. Sanggarahan Pathuk NG I / 504
Phone (0274) 513904, 566122.
Kami memutuskan untuk menggunakan layanan tersebut dengan alasan agar bakpia yang kami bawa pulang adalah bakpia terbaru. Setelah memesan beberapa kotak bakpia untuk diantar besok siang ke hotel, kami memutuskan kembali ke malioboro, tempat tunggu mobil shuttle hotel.

Dalam perjalanan menuju malioboro, abang becak menawarkan kami ke daerah alun-alun karena ada festival sepeda hias. Namun, karena jadwal wisata hari ini sangat padat sehingga tubuh sangat lelah, kami terpaksa menolak tawaran yang menggiurkan itu. Tempat temu kami adalah Dinas Pariwisata dan Kebudayaan kota Yogyakarta UPT pengelolaan Kawasan Malioboro. Beruntungnya kami, karena saat itu ada Atraksi Kesenian Wisata Budaya tahun 2011 di sana. Sambil menunggu pesanan bebek goreng untuk makan malam kami di hotel, kami sempat menonton sedikit Atraksi Kesenian dari barisan bangku paling belakang. Pengemudi mobil shuttle hotel sungguh baik hati, mau menunggu kami membeli bebek goreng, meskipun waktu sudah melebihi jadwal shuttle. Sisa waktu malam itu kami habiskan dengan makan malam bebek goreng, bersih-bersih diri, dan langsung tergolek tidur.

Wednesday, August 17, 2011

Hunting Ice Cream

Saya dan Ibas sangat suka ice cream. Kami bisa loh jalan ke lokasi yang cukup jauh hanya untuk menikmati ice cream, lalu pulang. :D Kami juga memegang teguh prinsip ekonomi, "dengan pengeluaran sedikit-dikitnya, harus mendapatkan pendapatan sebanyak-banyaknya". :P Pertama kali saya tau website dealkeren, ketika sedang browsing info diskon suatu barang. Saat itu kantor dealkeren masih di Gedung Cyber dan masih memakai bendera lama. Sejak itu saya selalu browsing websitenya untuk lihat ada deal apa setiap harinya.

Kembali ke cerita saya dan Ibas. Saking sukanya ice cream, setiap ada deal ice cream, pasti kami beli. Hehehe.. Yang kemarin terakhir kami beli adalah voucher Gelatissimo.
Gelatissimo menawarkan berbagai varian rasa gelato dan sorbetto yang pastinya membuat kamu ingin langsung datang dan mencicipi semua rasanya. Untuk yang takut makan gelato karena kandungan lemaknya, kamu tidak perlu khawatir, karena gelato memiliki kandungan lemak yang sangat rendah yaitu hanya 8% dan tentu saja lebih sehat dibandingkan dengan kebanyakan es krim premium.
Itu penjelasan dari website dealkeren mengenai Gelatissimo. Sehat dan g bikin gemuk. that's the point.. hehehehe.. Saya fikir tadinya ice cream rendah lemak itu rasanya bakalan aneh. Eh, ternyata enggak loh. Rasanya enak banget dan yang terpenting sehat dan rendah lemak.

Kita harus pilih outlet ketika akan beli vouchernya. Berikut lokasi outlet Gelatissimo di Jakarta :
1. Gelatissimo Senayan City : Jl. Asia Afrika, Jakarta Selatan
2. Gelatissimo Mall Kelapa Gading : Jl. Kelapa Gading Boulevard Blok M, 14240 – Jakarta Utara
3. Gelatissimo Mall Grand Indonesia : Jl. MH. Thamrin Kav. 28 – 30, 10350 – Jakarta Pusat
4. Gelatissimo Mall Pacific Place : Jl. Jend. Sudirman Kav. 52 – 53, 12190 – Jakarta Selatan
5. Gelatissimo Pondok Indah Mall 2 : Jl. Metro Pondok Indah, Pondok Indah 12310 – Jakarta Selatan
Saya beli 3 voucher di Outlet Senayan City dan 3 voucher di outlet Kelapa Gading.

Saat menggunakan voucher di Senayan City, tadinya kami mau beli yang reguler saja, 3 scoop masing-masing. Tapi tergoda untuk membeli sundaes nya, harganya memang lebih mahal yaitu Rp. 75.000,- per gelas (exclude ppn), tapi kami tak khawatir karena ada voucher dealkeren, jadi jatuhnya lebih murah. hehehehe... ini penampakannya si gadis manis makan ice cream sundaes.

Saturday, July 16, 2011

Overview Delphi Day 3

Melanjutkan Overview Delphi Day 2..

Object Pascal Part I

1. Constant
- adalah sebuah nama yang didefinisikan untuk menyimpan suatu nilai yang tetap.
- nilai yang disimpan dapat bertipe data string, integer, real.
- nama yang digunakan dapat sepanjang apapun, tapi hanya 63 karakter pertama yang dikenali.
- sebaiknya pilih nama yang unik dan deskriptif

2. Variable
- adalah sebuah nama yang didefinisikan untuk menyimpan suatu nilai yang dapat dirubah ketika eksekusi program.
- nilai suatu variable harus didefinisikan dalam tipe data tertentu.

3. Simple Data Types
- Beragam Tipe data disediakan untuk digunakan sesuai dengan kebutuhan, disesuaikan dengan alokasi memory masing-masing tipe data.
Misal menyimpan nilai 10 pada tipe data yang dapat menampung 1 juta.
- Object Pascal dikenal dengan bahasa 'strongly typed', yaitu memastikan data dengan tipe yang berbeda dapat berinteraksi dengan baik.
- Bahasa 'strongly typed' memastikan aplikasi berjalan dengan benar, membuat programmer melakukan apa yang seharusnya dilakukan bukan apa yang bisa dilakukan.

a. Integer
- untuk merepresentasikan nilai angka bulat
1. Byte 0 s.d. 255 1 bytes No negative number
2. Word 0 s.d. 65535 2 bytes No negative number
3. ShortInt -128 s.d. 127 1 bytes Yes negative number
4. SmallInt -32768 s.d. 32767 2 bytes Yes negative number
5. Integer -2147483648 s.d. 2147483647 4 bytes Yes negative number
6. Cardinal 0 s.d. 2147483647 4 bytes No negative number
7. LongInt -2147483648 s.d. 2147483647 4 bytes Yes negative number

b. Real
- untuk merepresentasikan nilai angka pecahan
1. Real
2. Single
3. Double
4. Extended
5. Comp

c. Currency
- untuk merepresentasikan nilai mata uang (hingga 4 angka dibelakang koma)
- kelebihan currency dengan real
1. memiliki kemampuan menangani jumlah yang besar
2. digunakan dalah currencyField dan komponen lainnya, yang kompatibel dengan tipe database yang merepresentasikan uang.

d. Boolean
- untuk merepresentasikan nilai logic, misal true dan false, yes dan no, on dan off.
Perbedaan macam-masam tipe data Boolean di bawah ini adalah kompatibilitas. Dalam beberapa kejadian Windows membutuhkan nilai Boolean.
1. Boolean
2. ByteBool
3. Bool
4. WordBool
5. LongBool

e. Characters
- untuk merepresentasikan nilai 1 karakter, sepanjang 1 byte (8 bits).
- tipe Char = tipe ANSIChar
- dapat menggunakan nilai ASCII untuk mendefinisikan nilainya. Misal : #66 = 'B'
1. ANSIChar 1 bytes 1 karakter ANSI
2. WideChar 2 bytes 1 karakter Unicode
3. Char 1 bytes 1 karakter

f. String
- Hampir sama dengan Char, namun mampu menyimpan hingga 255 karakter.
1. ShortString 255
2. ANSIString hingga 3GB
3. String 255 hingga 3GB
4. WideString hingga 1.5GB
- Untuk menentukan panjang string dapat menggunakan SetLength(), kalau dalam script dapat menggunakan String[X] dimana X adalah panjang yang diinginkan
- Mulai Delphi 2, komponen VCL menggunakan ANSIString type untuk semua parameter properties dan event.

4. Struktur Data
a. Array
- digunakan untuk mendeklarasikan sekumpulan data dengan tipe data yang sama.
- gunanya agar salah satu atau lebih elemen array tsb dapat digunakan berkali2 tanpa harus mendeklarasikannya lagi
- contoh :
type
MyArray = array [1..3] of integer;
var
usia : MyArray;
begin
usia[1]:=1;
usia[2]:=2;
usia[3]:=3;
end;

b. Multidimensional Array
- array dapat dikembangkan menjadi lebih dari 1 dimensi
- contoh :
type
MyArray = array [1..2,1..2] of integer;
var
usia : MyArray;
begin
usia[1,1]:=1;
usia[2,2]:=2;
usia[3,3]:=3;
end;

c. Records
1. digunakan untuk mendeklarasikan sekumpulan data dengan tipe data yang berbeda.
- contoh :
type
MyRecord = Record
Nama:String[30];
Usia:Integer;
JenKel:Char
end;
var
Orang : MyRecord;
begin
Orang.Nama :='Iis';
Orang.Usia :=2;
Orang.JenKel :='P';
end;
2. record dapat digunakan bersama array
- contoh :
type
MyRecord = Record
Nama:String[30];
Usia:Integer;
end;
MyArray = array [1..2] of MyRecord ;
var
Orang : MyArray;
begin
Orang[1].Nama :='Iis';
Orang[1].Usia :=2;
Orang[2].Nama :='Tia';
Orang[2].Usia :=3;
end;
3. record bersarang, yaitu record di dalam record
- contoh :
type
AlamatRecord = Record
Jalan:String[50];
Kota:String[20];
end;
OrangRecord = Record
Nama:String[50];
Alamat:AlamatRecord;
end;
var
Orang : OrangRecord ;
begin
Orang.Nama :='Iis';
Orang.Alamat.Jalan:='Jalan Cempaka Putih';
Orang.Alamat.Kota:='Jakarta Pusat';
end;
- bisa menjadi :
type
AlamatRecord = Record
Jalan:String[50];
Kota:String[20];
end;
OrangRecord = Record
Nama:String[50];
Alamat:AlamatRecord;
end;
var
Orang : OrangRecord ;
begin
Orang.Nama :='Iis';
with Orang.Alamat do
begin
Jalan:='Jalan Cempaka Putih';
Kota:='Jakarta Pusat';
end;
end;

d. Subrange
- dideklarasikan pada clause type
- digunakan untuk mempermudah pengecekan error(debugging). Object Pascal cukup mengecek apakah nilai yang diinput sesuai dengan range yang dideklarasikan

e. Set
- merupakan group dari subrange
- dapat dikombinasikan dengan array atau record

f. Typed Constant
- adalah : memberikan sebuah nilai constant ke dalam sebuah statement
- agar dapat digunakan berkali-kali tanpa perlu merubah nilainya

g. Enumarated
- merupakan grup dari beberapa variabel yang sejenis
- gunanya : agar code lebih mudah dibaca dan dikembangkan, sekalipun jika programmmernya diganti

h. Variant
- merupakan variable yang dapat diisi dengan nilai dari berbagai tipe data

i. Operator
1. Arihthmetic
- melakukan operasi binary dan unary arithmatic
2. Logical
01. logic
memasukkan nilai dengan tipe integer yang menghasilkan dengan tipe nilai boolean.
02. boolean
memasukkan nilai dengan tipe boolean yang menghasilkan nilai dengan tipe boolean.
3. Relational
- membandingkan 2 nilai.
4. Precendence = Priority
01. Unary Operator
02. Multiplying Operator
03. Adding Operator
04. Relational Operator

Reference : Teach Yourself Delphi 2 in 21 days by Dan Osier, Steve Grobman, and Steve Batson; SAMS Publishing

CMMIW..

^_^

Monday, June 6, 2011

Day One at Jogjakarta

Hari Ke 1 - Jum'at, 11 Februari 2011
Jadwal di tiket seharusnya sudah sampai di Yogyakarta pada pukul 4.30 pagi. Namun, kereta sempat beberapa kali berhenti, sehingga kami sampai di Stasiun Tugu Yogyakarta pada pukul 5.30 pagi. Karena masih cukup pagi dan kami berdua sedang libur sholat (baca : haid), maka yang pertama ada di otak kami adalah sarapan. :P Sebelumnya kami menyempatkan untuk bersih-bersih (a.k.a buang air kecil dan cuci muka) di toilet Stasiun. Toilet dan airnya bersih, serta GRATIS. ;)

Berbekal sedikit googling sebelum berangkat, kami memutuskan untuk mencari sarapan di sekitar pasar Beringharjo yang "katanya" tak jauh dari Stasiun Tugu. Sesuai dengan arahan petugas stasiun, kami keluar dari pintu Selatan dan belok kiri. Di depan gerbang stasiun, kami langsung ditawari becak Rp. 5.000,- sampai malioboro. Karena kami fikir tak jauh, maka kami memutuskan untuk jalan kaki hingga bertemu lampu merah pertama, lalu belok kanan. Disitulah jalan malioboro dimulai sepanjang kira-kira 1 km. Tak jauh dari belokan, kami melihat ada jajanan gudeg. Tanpa fikir panjang, kami memesan nasi gudeg dengan ayam (maklum lapar sekali). Gudeg yang kami pesan seharga Rp. 10.000 karena pake ayam. Saya lihat ada abang becak pesan nasi gudeg dengan tahu seharga Rp. 4.000.

Setelah perut kenyang, kami baru bisa berfikir jernih. hehehe.. Kami memutuskan untuk mencari Halte TransYogya terdekat, karena menurut hasil googling bis tersebut melewati beberapa tempat pariwisata. Bis TransYogya mirip seperti bis TransJakarta, bedanya ukuran bis dan haltenya lebih kecil dari TransJakarta. Harga tiketnya pun lebih murah, yaitu Rp. 3.000.

Kami pun me-"wawancara"i mba petugas tiket tentang tujuan wisata yang dilewati bis tersebut. Karena jadwal check-in hotel jam 2 siang, yang artinya masih lama sekali, kami memutuskan Candi Borobudur sebagai tujuan wisata pertama. Dari halte Malioboro, kami transit di halte K.H. Ahmad Dahlan, berganti bis menuju halte Jombor. Halte bis TransYogya Jombor berada di dalam terminal bis AntarKota Jombor. Kami keluar halte bis TransYogya untuk mencari bis menuju Borobudur - Magelang. Bis ekonomi Antarkota Yogya - Borobudur mengantarkan kami ke Borobudur sekitar 45 menit kemudian dengan ongkos Rp. 10.000 per orang. Kami beruntung karena jalur menuju Magelang sudah dibuka sejak ada lumpur dingin dan musibah meletusnya gunung Merapi, sehingga lalu lintas cukup lancar. Menurut supir bis, sebelumnya jalur di sekitar lumpur dingin diberlakukan konsep buka-tutup jalan, sehingga bisa menghabiskan 2 jam untuk trayek Yogya - Borobudur. Aku fikir bis tersebut akan langsung mengantarkan kami di depan gerbang tempat wisata Candi Borobudur, tapi ternyata tidak. Bis sempat transit di Terminal Drs. Prajitno - Mutilan, Magelang, dan tujuan akhir bis tersebut adalah Terminal Borobudur di Magelang.

Dari terminal tersebut, banyak becak yang berebut menawarkan jasanya. Di Magelang terdapat 3 candi, yaitu Candi Borobudur, Candi Mendut, Candi Pawon. Jasa becak untuk ke masing-masing Candi adalah Rp. 20.000 PP (Terminal - Candi - Terminal). Perlu diketahui, bis antarkota yang kami tumpangi melewati Candi Mendut sebelum berhenti di terminal Magelang. Saat di perjalanan menuju Candi Borobudur, abang becak "merayu" kami untuk sekalian ke 2 candi lainnya. Namun, karena kami telah melihat Candi Mendut, sepakat untuk melihat Candi Pawon dan Candi Borobudur. Dengan berbekal bahasa Jawa sebisanya, saya mencoba menawar jasa becak dari yang seharusnya Rp. 40.000 / 2 Candi menjadi Rp. 35.000 dan tiket Candi Pawon kami berdua dibiayai oleh abang becak.

Setiba di Candi Pawon, kami cukup terkejut karena hanya terdapat 1 buat candi kecil dan lokasinya berada di tengah-tengah perumahan penduduk. Tiket masuk Candi Pawon seharga Rp. 3.000/orang. Setelah puas berfoto, yang ditonton oleh penduduk lokal, kami melanjutkan perjalanan ke Candi Borobudur. Tiket Candi Borobudur untuk Senin-Jumat Rp. 20.000/orang, sedangkan untuk Sabtu dan Minggu Rp. 23.000/orang. Berhubung belum sempat ke Hotel, kami masih membawa tas pakaian. Tas dan barang bawaan kami titipkan di tempat penitipan barang di dekat loket tiket masuk. Beruntung, abang becak kami mengetahui spot2 bagus untuk berfoto bahkan ia cukup jago menggunakan digital  camera, sehingga aku dan Rani bisa sering foto berdua. :)

Terakhir aku mengunjungi Candi Borobudur adalah ketika aku masih kecil, mungkin usia SD. Sehingga satu2nya ingatan tentang tempat wisata ini hanyalah Candi yang besar dan bertingkat. :P Abang becak yang menemani kami sungguh mirip seperti tour guide, dia yang memberitahu bahwa ada wisata lain selain Candi di tempat itu, antara lain Museum Kapal Perang dan tempat pelatihan Gajah. Saya merasa Harga Tiket Masuk seharga Rp. 20.000 sungguh tidak sia-sia.

Sesuai kesepakatan, abang becak mengantarkan kami kembali ke Terminal. Sebelum naik bis, kami sempatkan makan siang di Terminal. Perjalanan pulang ke Jogjakarta terasa lebih lama karena kami sudah sangat lelah. Sampai di terminal Jombor, kami langsung bertanya kepada petugas, angkutan menuju hotel Hyatt. Katanya, naik bis TransYogya sampai halte Monali, lalu ada angkutan umum warna hijau yang menuju ke sana. Cukup lama kami menunggu angkutan umum warna hijau itu Monali, akhirnya kami memutuskan untuk menyetop taxi dan menawar Rp.10.000 sampai Hotel Hyatt. Proses check in mudah dan cepat, sehingga kami bisa segera beristirahat. Sampai di kamar, kami bergantian mandi lalu tidur pulas sampai ashar. :)

Kami mencari makan malam di sekitar hotel, dan pilihan kami jatuh Mie Jawa Pak Kumis. Seporsi mie dikenai harga Rp. 7.000 saja, tidak jauh berbeda dengan harga di Jakarta memang. Namun alhamdulillah, nikmat dan kenyang. Pulang dari warung Pak Kumis, kami sempat mampir membeli martabak. Saat abangnya difoto, dia minta di tag di Facebook. Sungguh penjual yang gaol. :P Martabaknya cukup enak, namun sayang belum sedahsyat martabak langganan saya di Jakarta. Kami menikmati martabak keju di kamar hotel sambil mengobrol dan menonton tv. Tak lama kemudian, kami terlelap. G sabar nunggu hari esok.. ^_^

UnPlanned Travelling

Saya ini seorang planner, seperti yang udah pernah dijelaskan di sini. Jadi, selalu melakukan sesuatu itu dengan perencanaan. Paling takut kalau harus bepergian tanpa rencana. Apalagi kalau ke luar kota, minimal rencananya dari 1 bln sebelumnya. Hehehe.. Tapi liburan Rani yang cuma sebentar di Indonesia merubahnya.

Rencana liburan Rani memang sudah disounding beberapa bulan sebelumnya. Berhubung dia liburan hanya 2 minggu di Indonesia, jadi saya sudah booking jadwal untuk jalan bareng. Kayak mau meet & greet artis. LOL. Ketika tanggal pulang sudah ditetapkan, Rani info jadwal liburan selama di Indonesia ke semua temannya, termasuk saya. Sebelumnya saya booking jadwal dia selama di Jakarta. Tapi saya ditawarkan untuk menemani dia ke Jogja. Sempat ragu, karena saat itu saya masih berstatus kontrak di kantor dan belum dapat hak cuti. Tapi ternyata eh ternyata, 2 minggu sebelum jadwal ke Jogja, SK saya turun. Yippie..

Beberapa hari sebelum hari H, saya pesan tiket kereta di stasiun Senen. Rencananya kita berangkat hari Jumat tanggal 11 Februari malam dan pulang hari Minggu tanggal 13 Februari, tapi ternyata tiket tanggal 11 Februari penuh. Selidik punya selidik karena hari Selasa tanggal 15 Februari hari libur. Oalah, saya lupa kalau itu long weekend (hari Senin adalah Hari Kejepit Nasional) :P Akhirnya, saya pesan tiket kereta Senja Utama jurusan Stasiun Senen - Stasiun Tugu Jogja, berangkat hari Kamis tanggal 10 Februari 2011 jam 19.30 dan estimasi sampai tujuan jam 04.30 keesokan harinya. Tiket seharga Rp. 130.000,- per orang. Agar aman, aku juga sekaligus membeli tiket pulangnya untuk hari Minggu tanggal 13 Februari 2011 dengan harga yang sama. Aku memilih kereta kelas bisnis, karena cukup nyaman untuk perjalanan dan juga nyaman di kantong. :P


Kamis, 10 Februari 2011
Sepulang dari kantor, saya menyempatkan untuk makan malam dengan sayangkuw di mall dekat kantor, sambil menunggu Rani. Kebetulan kantor saya dekat dengan Stasiun Senen dan Rani setuju untuk janjian di mall dekat kantor. Rani datang setelah saya selesai makan malam dan meminta untuk ditemani membeli paket take home HokBen untuk dimakan di kereta, sekalian membeli beberapa perlengkapan mandi di supermarket mall tersebut. Waktu menunjukkan pukul 19.00 WIB, sehingga kami pun bergegas menuju stasiun Senen, menggunakan bajai. Perjalanan menggetarkan itu memakan waktu tidak sampai 15 menit. Sampai di stasiun, kami masih harus menunggu sekitar 15-20 menit hingga kereta datang. Tak sulit untuk menemukan gerbong dan kursi yang sesuai dengan tiket kami. Selama di kereta, kami menyusun jadwal kami selama di Jogja nanti. Sempat menelpon beberapa Tour guide, namun harga yang mereka tawarkan kurang cocok dengan anggaran kami, sehingga kami memutuskan untuk nekat dan memikirkan jadwal tour on the spot saja. :) Tak lama kemudian, kami bergantian untuk tidur dan menjaga barang bawaan kami.

And the story goes.. (to be continued)

Monday, May 16, 2011

Overview Delphi Day 2

Melanjutkan Overview Delphi Day 1..

IDE (Integrated Develpoment Environtment) adalah tempat dimana semua tools mendesain, menjalankan, mengetes sebuah aplikasi.

A. Basic

1. Speedbar adalah kumpulan tools yang sering dipakai untuk membuat aplikasi.
Misal : switch dari form ke code, switch dari code ke form, open, save, run, dan lain sebagainya.

2. Component Palette adalah tools visual dari Visual Component Library (VCL), yang dibagi menjadi beberapa group yang memiliki kategori yang sama

- Komponen yang selalu ada pada tiap group adalah pointer button.
Untuk memindahkan kontrol-kontrol Delphi, termasuk menaruh komponen-komponen ke dalam form.
Menaruh komponen ke dalam form ada 2 cara :
~ Klik komponen yang dimaksud dari component palette, lalu klik form pada bagian yang diinginkan.
~ Klik 2 kali komponen, dan secara otomatis akan ditaruh di form
a. Standart
kumpulan komponen yang sering diperlukan untuk membuat aplikasi Windows.
Misal : Menu, Pop Menu, Label, Edit Text, Memo, Button, Check Box, Radio Button, List View, Group Box, Panel, dan lain sebagainya.
b. Additional
kumpulan komponen yang memiliki fitur tambahan dari tools standart.
Misal : BitButton, Image, dan lain sebagainya.
c. Win95
kumpulan komponen Windows 95 standart yang umum digunakan.
Misal : tab Control, List Image, Tree View, dan lain sebagainya
d. Data Access
kumpulan komponen yang digunakan untuk menghubungkan aplikasi dengan berbagai macam data source.
Misal : Data Source, dan lain sebagainya.
e. Data Controls
kumpulan komponen yang dapat digunakan untuk mengontrol isi dan pergerakan data dari data access controls.
Misal : DBGrid, dan lain sebagainya
f. Win 3.1
kumpulan komponen yang dibuat sejak dari Delphi 1. Fungsinya sudah dapat diakomodir oleh komponen Win95, tapi disediakan untuk kompatibilitas Windows versi sebelumnya.
Misal : DBLookup List, dan lain sebagainya.
g. Dialogs (Non Visual Component)
kumpulan komponen untuk memudahkan akses ke kotak dialog Win95 standart.
Misal : Open Dialog, Save Dialog, dan lain sebagainya.
h. System (Non Visual Component)
kumpulan komponen untuk menyertakan OLE Server ke dalam aplikasi yang dibuat.
Misal : Timer, MediaPlayer, dan lain sebagainya.
i. QReport
kumpulan komponen untuk memudahkan membuat report yang sederhana
j. OCX
kumpulan komponen yang dapat digunakan untuk mengatur OCX control,
k. Samples
kumpulan komponen sebagai contoh komponen yang dapat dibuat sendiri

3. Edit Window
dapat juga dikatakan sebagai code editor, yaitu window untuk menulis dan memanipulasi code-code yang digunakan dalam aplikasi.
terdapat
a. syntax highlighting (F5),
b. commands,
c. undo bahkan dari keadaaan paling pertama (project pertama kali dibuat atau setelah di save),
d. tabs untuk units yang dibuka,
e. posisi baris dan kolom code,
f. modified (menunjukkan project belum disimpan),
g. insert/overwrite

4. Object Inspector
a. Properties
- berisi properties dari suatu object.
- bila ada tanda plus (+) di sebelah kiri suatu properties item, maka itu adalah group dari beberapa properties yang lain.
klik tanda plus (+) untuk melihat daftar propertis dari group tersebut.
b. Events
- berisi events yang bisa dilakukan oleh suatu object.

B. Delphi Menu Structure

1. File
a. New
Menu untuk membuat Object baru.
b. New Application
Menu untuk membuat Project atau Aplikasi baru
c. New Form
Menu untuk membuat Form baru
d. New Data Module
- Menu untuk membuat Data Module baru.
- Data Module adalah form yang tidak akan ditampilkan pada saat aplikasi berjalan (non visual form), untuk menampung komponen-komponen yang digunakan dalam aplikasi.
- Gunanya kita tidak terganggu dengan komponen-komponen tsb pada visual form pada saat develop.
e. Open
Menu untuk membuka Object yang sudah disimpan sebelumnya.
f. ReOpen
Menu untuk membuka beberapa Object yang disimpan terakhir, untuk mempercepat waktu.
g. Save
Menu untuk menyimpan module yang sedang dibuka.
h. Save As
Menu untuk menyimpan module yang sedang dibuka dengan naam baru.
i. Save Project As
Menu untuk menyimpan Project yang sedang dibuka.
j. Save All
Menu untuk menyimpan semua Object yang sedang dibuka, termasuk form, units, dan project.
k. Close
Menu untuk menutup module yang sedang dibuka. Jika module belum disimpan, akan ada konfirmasi penyimpanan sebelum ditutup.
l. Close All
Menu untuk menutup project yang sedang dibuka. Jika ada object yang belum disimpan, akan ada konfirmasi penyimpanan sebelum ditutup.
m. Use Unit
- Menu untuk menambahkan unit lain ke dalam module yang sedang dibuka.
- Hal ini untuk memudahkan jika ada code dari unit lain yang ingin digunakan.
n. Add To Project
- Menu untuk menambahkan module yang sudah ada sebelumnya ke dalam Project yang sedang dibuka.
- Delphi akan secara otomatis menambahkan semua units yang ditambahkan ke clause uses.
o. Remove From Project
- Menu untuk menghapus module yang ada di dalam Project yang sedang dibuka.
- Delphi akan secara otomatis menghapus semua units yang dihapus dari clause uses.
p. Print
- Menu untuk mencetak object yang diinginkan.
- pilihan form nya : Proportional, Fit to Page, No Scalling
- jika ingin mencetak Edit Window, maka ada pilihan : mencetak berapa baris mencetak teks yang dipilih, dan lain sebagainya.
q. Exit
Menu untuk keluar dari IDE Delphi. Jika ada object yang belum disimpan, akan ada konfirmasi penyimpanan sebelum ditutup.

2. Edit
a. UnDelete/Undo
menu untuk mengembalikan keadaan sebelumnya (Undo), atau sebelum dihapus (UnDelete).
b. Redo
menu untuk mengembalikan keadaan sesudah sebanyak Undo yang dilakukan.
c. Cut
menu untuk memotong objek yang dipilih ke clipboard dan memindahkan dari form atau unit yang sedang aktif.
d. Copy
menu untuk mengcopy object yang dipilih ke clipboard. object tsb tidak dipindahkan dari form atau unit yang sedang aktif.
e. Paste
menu untuk menempatkan object yang dipotong atau dicopy ke form atau unit yang sedang aktif.
f. Delete
menu untuk menghapus object yang dipilih.
g. Select All
menu untuk memilih semua komponen di form atau unit yang sedang aktif.
h. Align to Grid
menu untuk menempatkan komponen ke grid form.
i. Bring to Front
menu untuk menempatkan suatu object di depan semua object yang lain.
j. Send to Back
menu untuk menempatkan suatu object di belakang semua object yang lain.
k. Align
menu untuk mengeluarkan (mengaktifkan) kotak menu Alignment.
l. Size
menu untuk mengubah width dan height suatu object. jika memilih lebih dari satu object, dapat mengubah width dan height terbesar dari object-object tsb.
m. Scale
menu untuk mengubah width dan height object-obejct yang dipilih dalam skala tertentu.
n. Tab Order
menu untuk menyesuaikan tab order dari komponent-komponent di form. lebih mudah daripada mengatur properties satu per satu.
o. Creation Order
menu untuk mengatur urutan non-visual komponent.
p. Lock Controls
menu untuk mengunci letak dari komponen-komponen yang ada.
q. Object
menu untuk mengubah object OLE yang digunakan di form Delphi.


3. Search
a. Find
menu untuk mencari text dengan tingkat sensitifitas sesuai dengan kebutuhan.
b. Replace
menu untuk menggantikan text tertentu di dalam suatu unit dengan text yang dibutuhkan.
c. Search Again
menu untuk melakukan pencarian lagi dengan kata kunci terakhir.
d. Incremental Search
menu untuk mencari text yang berawalan huruf yang dimasukkan sebagai kata kunci
e. Go To Line Number
menu untuk pindah ke nomor line tertentu
f. Find Error
menu untuk menelusuri error yang terjadi.
g. Browse Symbol
setelah berhasil di compile, menu ini dapat digunakan untuk mencari symbol tertentu.

4. View
a. Project Manager
menu untuk mengeluarkan/ mengaktifkan window Project Manager.
b. Project Source (**)
menu untuk melihat source code Delphi routines.
c. Object Inspector
menu untuk melihat daftar obejct yang digunakan.
d. Alignment Palette
menu untuk mengeluarkan/ mengaktifkan alignment palette-> veris visual dari menu alignment yang tersedia di menu Edit > Align.
e. Browser
menu untuk mengeluarkan/ mengaktifkan menu window yang berguna untuk melihat turunan dan relationship dari suatu object.
f. Breakpoints
menu untuk mengeluarkan daftar Breakpoints.
g. Call Stack
menu untuk mengeluarkan kotak Call Stack. Call stack adalah urutan procedure atau function yang dipanggil oleh aplikasi
h. Watches (*)
menu untuk menampilkan daftar watches yang dibuat.
i. Threads (*)
menu untuk menampilkan daftar threads yang sedang berjalan
j. Component List
menu untuk menampilkan list komponen yang dapat dipindahkan ke form sesuai kebutuhan
k. Windows List
menu untuk menampilkan list window yang sedang terbuka/aktif. pilih salah satu dan window tsb akan ditampilkan paling depan.
l. Toggle Form/Unit
menu untuk memindahkan keadaan aktif dari form ke unit dan sebaliknya
m. Units
menu untuk menampilkan daftar unit yang aktif. pilih salah satu dan unit tsb akan ditampilkan paling depan.
n. Forms
menu untuk menampilkan daftar form yang aktif. pilih salah satu dan form tsb akan ditampilkan paling depan.
o. New Edit Window
akan membuat edit window yang baru.
p. SpeedBar
menu untuk menampilkan speedbar
q. Component Palette
menu untuk menampilkan component palette (daftar group komponen)

5. Project
a. Add To Project
- Menu untuk menambahkan module yang sudah ada sebelumnya ke dalam Project yang sedang dibuka.
- Delphi akan secara otomatis menambahkan semua units yang ditambahkan ke clause uses.
b. Remove From Project
- Menu untuk menghapus module yang ada di dalam Project yang sedang dibuka.
- Delphi akan secara otomatis menghapus semua units yang dihapus dari clause uses.
c. Add To repository
- Menu untuk menambahkan form yang aktif ke dalam Object Repository.
- Hal ini agar dapat menggunakan kembali form tersebut pada project yang lain.
d. Compile
Menu untuk meng-compile semua file yang beubah di dalam project sejak exe terakhir.
e. Build All
Menu ini memungkinkan programmer menambahkan perubahan yang dilakukan ke dalam exe tanpa perlu mengcompilenya lagi.
f. Syntax Check
Menu ini dapat digunakan untuk memeriksa syntax yang error tanpa perlu mengcompilenya dulu
g. Information.. (**)
Menu ini dapat memeberikan informasi tentang kompilasi Delphi dan penggunaan memori.
h. Options
Menu ini dapat memudahkan programmer untuk mengatur menu compiler, linker, directories.

6. Run
a. Run
- Menu untuk menjadikan kompilasi ke file exe.
- Jika belum ada kompilasi yang dibuat, maka secara otomatis akan meng-compile dulu aplikasi lalu menjadikan kompilasi ke file exe.
b. Parameters...
Menu ini dapat digunakan untuk menambahkan parameter command-line ke aplikasi yang sedang dibangun.
c. Step Over
- Menu untuk mengeksekusi aplikasi yang sedang dibangun per baris code, tapi akan memanggil procedure dan function jika ditulis dalam 1 line.
- Menu ini berguna untuk memeriksa jalannya aplikasi, tanpa perlu memeriksa procedure dan function secara detail.
d. Trace Into
- Menu untuk mengeksekusi aplikasi yang sedang dibangun per baris code, dan akan mmeriksa procedure dan function per baris code.
- Menu ini berguna untuk memeriksa jalannya aplikasi, termasuk memeriksa procedure dan function secara detail.
e. Trace to Next Source Line
Menu ini dapat digunakan untuk mengetahui baris code mana yang akan dieksekusi.
f. Run to Cursor
Menu ini untuk mengeksekusi aplikasi dari cursor berada.
g. Show Execution Point
- Menu ini akan mengantarkan anda ke edit window di tengah proses debugging jika anda menutup edit window.
- Cursor akan berada pada baris code yang akan dieksekusi selanjutnya.
h. Program Pause
Menu ini untuk memberhentikan sementara aplikasi yang sedang berjalan.
i. Program Reset
Menu ini untuk menjalankan kembali aplikasi setelah di berhentikan sementara (pause).
j. Add Watch
Menu ini untuk menambah Watch ke Watch List.
k. Add Breakpoint
- Menu ini untuk menambah Breakpoint ke Breakpoint List.
- Dapat digunakan untuk menempatkan cursor pada tanda merah tempat breakpoint diletakkan.
l. Evaluate/Modify
- Menu ini dapat digunakan untuk melihat dan mengubah nilai variabel.
- Dapat juga digunakan untuk menulis sebuah ekspresi dari variabel tersebut dan sekaligus mengevaluasi ekspresi tersebut.

7. Component
a. New
Menu untuk membuat komponen baru.
b. Install
Menu untuk meng-install komponen visual baru dan menambahkannya sebagai file OCX baru di toolbar Delphi.
c. Open Library...
Menu untuk membuka library dari komponen yang sudah disimpan sebelumnya.
d. Rebuild Library
Menu untuk meng-compile ulang komponen library.
e. Configure Palette
Menu untuk mengatur urutan daftar dari group komponen yang ada di toolbar.

8. Database
a. Explore
Menu untuk membuka Database Explorer yang memudahkan programmer untuk melihat struktur database.
b. SQL Monitor (*)
Menu untuk mengatur queries yang dieksekusi dalam aplikasi tersebut.
e. Database From Expert (**)
Menu dapat membantu anda tampilan untuk menginput data ke database

9. WorkGroups (**)
a. Browse PVCS Project
Menu untuk melihat file yang sebelumnya sudah diperiksa ke dalam versi system kontrol
b. Manage Archive Directories
Menu untuk mengatur struktur direktori di dalam arsip PVCS, termasuk membuat direktori baru untuk membantu memindahkan dan mengorginasikan file-file.
c. Add ProjectX to Version Control
Menu untuk menambahkan project yangn sedang dibangun ke dalam versi PVCS system kontrol.
d. Set Data Directories
Dapat mengatur direktori umum dan khusus untuk bekerja

10. Tools
a. Options
- Menu untuk mengeluarkan Environmental Options dialog box.
- Pada Environmental Options dialog box dapat mengatur editor, display, palette, browser option, autosave, dan lain sebagainya.
b. Repository
Menu ini untuk mengatur object yang telah ditambahkan pada Object Repository.
c. Tool (**)
Menu ini untuk menambahkan tools ke menu Tools bars.
d. Image Editor
Menu ini untuk mengeluarkan Image Editor untuk membuat bitmaps, icons, cursors, dan lain-lain, yang dapat dipakai dalam aplikasi.
e. Database Desktop
Menu ini untuk mengeluarkan Database Desktop, sebuah product dari Paradox 7.

11. Help
a. Help Topics
Menu untuk mengeluarkan help file, dengan kemampuan search engine dan indexing
b. Explore Sample Applications (**)
Menu ini dapat digunakan melihat beberapa aplikasi demo yang disediakan Delphi.
c. About
- Menu ini untuk memperlihat versi Delphi yang sedang digunakan.
- Cobalah menu berikut dan lihat apa yang terjadi. Saat window About sedang aktif, tekan [Ctrl] lalu ketik developer. (saya sudah coba tekan [Ctrl] tapi tidak ada yang berubah)

12. Customization (**)
a. Speedbar
Menu untuk mengatur Speedbar sesuai kebutuhan programmer.
b. Component Palette
Menu untuk mengatur Component Palette sesuai kebutuhan programmer.
c. Edit Window
Menu untuk mengatur Edit Window sesuai kebutuhan programmer.

Reference : Teach Yourself Delphi 2 in 21 days by Dan Osier, Steve Grobman, and Steve Batson; SAMS Publishing

berlanjut ke Overview Delphi Day 3

CMMIW..

^_^

Wednesday, May 11, 2011

Dimana Aku Harus Berjalan?

Saya suka jalan kaki. Buat saya, jalan kaki adalah anugerah Allah untuk sehat yang gratis. Seperti yang sudah saya jelaskan di sini, saya jadi jarang olahraga dengan serius semenjak bekerja. Jadi saya mengusahakan mencari kesempatan untuk berjalan kaki di setiap aktivitas saya. Namun kegiatan yang saya sukai ini mulai terganggu. Sebagai pejalan kaki, saya merasa hak saya dirampas. Mungkin kalian menganggap saya berlebihan, tapi mungkin juga tidak setelah saya menjelaskan alasan saya berkata seperti itu.

Ketika saya menjalani pendidikan di Sekolah Dasar, saya ingat satu materi pelajaran : "Trotoar adalah tempat pejalan kaki". Sejak beberapa tahun yang lalu hingga sekarang, semakin sedikit trotoar yang dapat dipergunakan oleh pejalan kaki dengan nyaman. Sebagian besar trotoar digunakan oleh pedagang atau wirausaha. Ada pedagang yang jelas-jelas menaruh seluruh dagangannya di sebagian atau semua bagian trotoar. Ada juga wirausaha yang memiliki tempat usaha di pinggir jalan dan menaruh barang dagangannya melebihi batas toko, sehingga menggunakan trotoar di depan toko. Jadi pejalan kaki tidak memiliki pilihan lain selain menggunakan sisa trotoar atau bahkan menggunakan jalur yang digunakan kendaraan. Tentu saja, hal tersebut membahayakan pejalan kaki dan pengendara. Belum lagi jika ada pengendara motor yang naik ke trotoar untuk menghindari kemacetan.

Masih belum setuju dengan kalimat saya di paragraf awal di atas? Oke, kita lanjutkan sharing dari saya. Masih berkaitan dengan materi pelajaran waktu es de : "Zebra cross dipergunakan pejalan kaki untuk melintasi jalan". Sekarang ini sebagian pengendara memberhentikan kendaraannya di zebra cross yang berada di depan lampu lalu lintas (traffic light). Padahal seharusnya kendaraan berhenti di belakang garis stop yang berada di belakang zebra cross. Ada juga beberapa zebra cross yang tidak disertai lampu lalu lintas. Buatku, yang sering menggunakannya, zebra cross seperti itu hanya hiasan saja. Pengendara seringkali tidak mau berhenti untuk memberikan kesempatan pejalan kaki melintasi jalan. Jika pejalan kaki melintasi zebra cross, pengendara seringkali kesal dan membunyikan klakson karena menganggap pejalan kaki membahayakan bahkan memperlambat laju kendaraan mereka.

Kita juga bisa lihat banyak jembatan penyeberangan orang (jpo) yang dibangun untuk dipergunakan pejalan kaki, tentu saja untuk menyeberangi jalan. Namun berapa banyak jembatan penyeberangan yang masih layak dipergunakan? Pernahkah melihat jpo yang berlubang dan berkarat? Atau yang lebih menarik dari itu, pedagang kaki lima menjajakan dagangan mereka di atas jpo? Belum lagi pencopet, penodong, penjambret yang mengkhawatirkan.

Jadi, dimana aku harus berjalan?

iis khasanah

Thursday, January 20, 2011

Bukan (Kisah) Patah Hati Biasa

Bukan bermaksud menyontek judul lagu, juga bukan bermaksud lebay. Tapi ini keluar dari lubuk hati yang paling dalam ketika membaca cerita ini. :D Kalian pasti pernah jatuh cinta, bahkan mungkin sering. Pasti pernah patah hati juga, bahkan mungkin lebih sering daripada jatuh cinta. :P Ini adalah kisah cinta yang sering kali aku dengar atau baca. Itulah yang juga terlintas pertama kali membaca cerita Here, after. Tapi begitu aku meneruskan membaca, aku menjadi sulit untuk berkata-kata.

Kalian pasti pernah merasakan pesimis ketika mengalami jatuh cinta. Ketika akhirnya cinta itu gagal dipertahankan, kita cenderung mencari kambing hitam untuk dipersalahkan. Buat Adi, "Jarak" lah yang patut disalahkan karena dialah Diana memutuskan hubungan mereka. Diana menganggap Jarak yang membuat kesetiaan menjadi omong kosong belaka. Cinta hanyalah menjadi mimpi untuk Rio, karena ia tidak pernah berhasil mendapatkan cinta dari wanita yang ia cintai. Cinta terlalu sempurna buat Putra yang memiliki indera yang tidak sempurna. Nia benci kepada Hutang yang menjual dirinya dan menjauhkannya dari cinta. Kematian membuat Arya gila (dalam arti yang sesungguhnya), karena merenggut kebahagiaan yang baru saja ia terima dari cinta. Novi tidak mendapatkan balasan cinta karena ia mencintai orang gila. Rizal memiliki wanita yang tidak ia cintai tapi justru ditinggalkan oleh wanita yang ia cintai. Intan terpaksa menghabiskan sisa hidupnya dengan orang yang tidak ia cintai karena nayla terlanjur hadir di rahimnya. Ollie, seorang yang cuek dan spontan dalam segala hal, merasa sangat sedih ketika ia harus melepaskan wanita yang ia cintai ketika ia hampir saja bisa membawa wanita itu pergi bersamanya.

Kalian mungkin bingung mengapa dalam sebuah buku terdapat begitu banyak tokoh yang berperan. Jangan berfikir bahwa buku ini adalah kumpulan cerpen, karena sama sekali bukan. Pilih satu bab dalam cerita ini, maka kalian akan terhanyut pada jalan ceritanya. Baca dari bab 1 hingga bab 10, maka kalian bisa merasakan kejeniusan seorang Mahir Perdana dalam memilih kalimat. Ketika aku sampai pada halaman terakhir, dengan yakin aku menyimpulkan : Ini bukan kisah patah hati biasa.
Membaca Here, after membuatku sadar bahwa cinta tidak melulu berbunga-bunga. Ketika cinta datang, maka logika pun menghilang. Cinta membuat orang mendadak puitis dan tidak realistis. Bahkan cinta merupakan salah satu selain harta dan tahta, yang dapat membuat orang menjadi gila. Tapi Here, after, juga menyadarkanku bahwa cinta pertama bukanlah segalanya. Karena, selalu ada kesempatan kedua untuk cinta. Jika kalian tidak dapat memiliki apa yang kalian cintai, maka berusahalah untuk mencintai apa yang kalian miliki.



Judul: Here, after
Penulis: Mahir Pradana
Penerbit: Gagas Media
Jumlah Halamanan: 198 hlm
Ukuran: 13 x 19 cm
Harga: Rp34.000
ISBN: 979-780-449-6

Kalian tidak percaya terhadap yang saya katakan? Beli segera bukunya, baca ceritanya, maka kalian akan sulit berkata-kata.

Cerita cinta berakhir di sini.