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.

Monday, January 18, 2010

Panggil Aku iis

Hmm..ok..memang namaku yang dikasih sama ortu (baca : orang tua) dan yang diresmikan di akta lahir adalah Istianatul Khasanah..

90 % dari orang yang membaca namaku sulit kalau harus menuliskan namaku dengan benar istianatul. Mulai dari pegawai TU sekolah, kampus, petugas bank, hotel, atau pada saat aku daftar apapun yang mengharuskan aku untuk mencantumkan nama lengkap. Alasan mereka biasanya seragam, karena nama istianatul itu bukan nama yang lazim dipakai oleh orang kebanyakan (yippie..namaku g pasaran hehehehehe..). Alasan lain karena untuk 1 kata sebuah nama, istianatul itu sudah cukup panjang..

Orang yang baru mengenalku (yang g pakai kenalan secara resmi), biasanya nebak2 ajah nama panggilanku.. dan...90% dari mereka memanggilku dengan nama isti..
Aku g suka banget kalo dipanggil dengan nama itu..Aku bukannya mau bilang nama panggilan itu jelek ya..Tapi aku punya pengalaman buruk sekitar belasan tahun yang lalu dengan nama itu..Tapi cerita itu g usah diceritain di sini lah..
Memang sih aku g bisa menyalahkan mereka..Lah wong aku belum ngasih tau mereka siapa nama panggilanku, khan belum kenalan langsung :D

Maka dari pada itu, aku biasanya mencantumkan nama panggilanku. Tapi karena nama panggilanku cukup banyak yang pakai, bahkan sering kali disambung2kan ke nama seorang penyanyi dangdut yang terkenal di era nya 8-|, biasanya aku juga menyertakan nama belakangku..
Jadilah aku memakai iis khasanah sebagai id name, terutama di kancah dunia per-maya-an (ok, ini lebay..hehehehhe..)

Tapi baru kali ini, di FB, aku memakai nama lengkap ku..waktu itu sih karena aku fikir itu hanya untuk daftar dan g akan dicantumkan sebagai display name..
Tapi setelah aku fikir2, g apa2 lah..Anggap aja FB ini situs jejaring sosial yang lebih formal daripada situs satunya lagi :D
Awalnya sih nama itu g terlalu bermasalah, karena kebanyakan teman2 di FB adalah memang teman2ku yang sudah kenal aku sebelumnya dan tau siapa nama panggilanku..
Tapi ternyata eh ternyata..bermasalah ketika kenal orang2 baru..sesuai dugaanku dan berdasarkan pengalaman dari bertahun2 yang lalu, mereka memanggilku isti.. (owh...)

ok untuk semua teman, terutama yang baru kenal aku atau yang akan kenal aku (hehehehhe)..

panggil aku dengan nama iis, ok?!


*repost dari note aku di FB yang dipost pada Tuesday, 13 January 2009 at 10:15...

Friday, December 4, 2009

Install MySQL di Linux - MYSQL INDONESIA conference #1

Intro : Apakah ada yang pernah mengalami gagal menginstall mysql?  (perasaan tinggal next-next doank) :P

Q : under linux atau windows neh bahasnya?
A : Kalau sudah masuk mysql console, platform apa saja sama saja.

Q : Apa bedanya instal di linux dan windows?
A : Sebenernya sih sama. Kalau di linux biasanya sudah bawaan distro masing-masing, hanya kadang perlakuannya agak berbeda. Untuk debian base bisa jalankan perintah : apt-get. Untuk redhat base, seperti fedora,centos,  bisa pake yum. Untuk unix atau bsd bisa pake perintah pkg_add atau install lewat ports. Kalau penggunaan Mysql di windows dan linux sama, port yang diopen untuk listen juga sama.

Q : Lalu, kalau sudah dijalankan perintah seperti di atas, apakah pasti jalan?
A : default standart nya jalan :D

Q : Soalnya dulu pernah coba install di ubuntu, ada masalah dengan mysql.sock. Jadi tidak bisa diakses oleh user di lain komputer. Dulu di *nix, harus buat file mysql.sock kosongan.
A : mysql.sock itu adalah file yang secara otomatis dibuat ketika mysql-server nya running. Untuk itu bisa di edit di my.cnf nya

Q : my.cnf ada terdpat di /etc/my.cnf
A : tempat file my.cnf tergantung distronya

Q : Jadi install mysql di beda distro beda caranya kah?
A : Ya. Kecuali mau mengompile sendiri menggunakan paket source .tar.gz

Q : Apa kelebihan kalau mengompile source sendiri?
A : Ketika kita mengompile sendiri kita bisa menentukan apa saja yang diload secara library nya.

Q : Kalau mengompile sendiri dari sisi security lebih bagus?
A : Sebetulnya tidak juga kalau di sisi security, hanya mungkin bisa sesuai keinginan. Ada kemungkinan lebih ringan karena library nya atau module yang diload hanya sedikit. Kalau dari sisi sekuriti nanti bisa diatur ketika manajemennya .

Q : Dari informasi yang pernah didapat, kalau mengompile source sendiri, kita dapat menambahkan plugin dari 3rd party, seperti XtraDB (modif-an InnoDB keluaran Percona). Apakah benar?
A : Benar.

Q : Tapi, ada kekurangannya kalau 'tidak standar' begitu. Belum tentu db kita dapat di-deploy sempurna di server lain. Misal: di server hosting
A : Itulah sebabnya compile itu untuk user yang sudah advance

Q : Kalau mengompile sendiri, biasanya kode dioptimasi sesuai dengan hardware yang ada. Apa benar ?
A : Sebenarnya ketika kita mengompile itu juga sudah disesuaikan dengan arsitektur server kita. Kita compile di mesin x86_64 atau mesin 64 bit, maka mysql nya sudah pasti untuk 64 bit. Begitu juga sebaliknya

Q : Kalau di detik.com sendiri, menggunakan mesin apa?
A : untuk database biasanya kita menggunakan 64 bit

Q : Apakah mungkin terjadi tidak compatibilitas dabatase karena beda mesin ? Misalkan bikin database di server hp, terus di pindahkan ke mesin sun, apakah akan oke aja?
A : Kalau secara arsitekture x86 trus platform sama, biasanya tidak masalah. Kalau sun saya tidak yakin. Tapi menurut saya tidak  recommended, kecuali memang secara mesin sama dan platform juga tentunya.

Q : Setahuku kompatibilitas itu "biasanya" ada di OS. Ada yang case sensitive, ada yg insensitive
A : Kalau untuk masalah ci dan cs tadi, (ci = case insensitive, cs = case sensitive), tambahkan baris ini di my.cnf : lower_case_table_names=1.
Jadi ketika di-porting ke linux tidak masalah. Linux emang OS yang paling sensitif sedunia . Jadi antara MySQL ama mysql itu beda.
Contoh : kalau kita membuat tabel di windows : tbl_Member --> dilarikan ke server linux --> semua query harus ngikutin besar-kecil-nya abjad
Linux itu case sensitive, unix varian juga.

Q : Yang termasuk unix varian?
A : Unix varian itu seperti freebsd, openbsd, netbsd. solaris itu juga unix

Q : Jadi, bagaimana cara install mysql di linux dan unix?
A : Untuk memudahkan install gunakan saja package manager ketika install di linux atau unix
Untuk install mysql di redhat base atau fedora kita install sesuai standart distro masing-masing.  Aku kasih clue nya saja. Untuk fedora  jalankan : yum install mysql-server. Untuk debian-base jalankan : apt-get install mysql-server.
Kalau ingin compile silahkan download sendiri package source, karena compile sendiri sangat complicated

sumber : http://groups.google.com/group/mysql-indonesia