Showing posts with label umum. Show all posts
Showing posts with label umum. Show all posts

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..

^_^



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, 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..

^_^

Tuesday, May 26, 2009

Overview Delphi Day 1

1. Delphi is RAD.
RAD merupakan singkatan dari Rapid Application Development. Dalam dunia RAD, programmer dapat menggunakan tools yang lebih visual. Visual Basic adalah tools pertama yang memperkenalkan dunia RAD.
Hal yang utama dari RAD adalah "Usability", yaitu penggunaan code program untuk project yang lain, jadi tidak selalu harus menulis ulang dari awal.

2. Delphi mirip dengan VB
Tools pada Delphi sekilas mirip dengan tools pada VB. Perbedaan utamanya adalah bahasa dibalik IDE nya. Delphi menggunakan Object Pascal sebagai bahasa dasarnya, bahasa yang mendukung efisiensi code.

3. Keuntungan Delphi
Ketika Delphi meng-generate sebuah file *.exe, itu merupakan benar2 file executable yang tidak memerlukan support file untuk menjalankan file *.exe tersebut.
Delphi menyediakan compiler yang optimize yang dapat menghasilkan aplikasi yang cepat tanpa perlu programmer mengoptimalkan programnya.

4. Keunggulan Delphi 2 dibandingkan dengan Delphi 1.0
- Mampu menggunakan OCX control -> mampu bekerja dengan OS 32 bit
- Mampu membuat aplikasi multi-threaded -> mengeksekusi aplikasi ke bagian-bagian yang terpisah dengan fungsi yang berbeda

5. Ada 3 macam Delphi :
a. Delphi Desktop
dapat terhubung dengan dBASE dan Paradox melalui Borland Database Engine
b. Delphi Developer
dapat terhubung dengan data source manapun dengan ODBC driver
c. Delphi Client/Server
dapat terhubung dengan SQL Server databases melalui SQL Link products dengan driver high-speed 32 bit

6. Kelebihan Delphi Client/Server
a. Visual Query Builder -> membangun query data dengan "drag and drop" fields pada window.
b. Dapat langsung terhubung dengan SQL Databases

7. VCL menggantikan VBX
- Delphi memiliki VBX/OCX sendiri, yang dinamakan Visual Component (VC).
- VC yang ditulis di Delphi di tambahkan ke Visual Component Library (VCL)
- Programmer dapat membuat VC sendiri sesuai dengan kebutuhan dan ditambahkan ke toolbar VC.

8. Konstanta adalah variabel yang bernilai tetap, nilainya ditentukan di code dan tidak dapat diganti pada saat aplikasi berjalan.

9. Variabel adalah variabel yang bukan konstanta yang dapat ditentukan kapanpun, bahkan saat aplikasi berjalan terutama untuk menyimpan input dari user.

10. John Von Neuman adalah Bapak Pemrograman Berurut. Dalam pemikiran pemrogramannya, semua terjadi dari awal hingga akhir dalam jalur lurus.

11. Procedure adalah kumpulan logika program, yang dapat diekseskusi dengan memanggil nama procedure.

12. Kelebihan procedure dibandingkan dengan pemrograman berurut:
a. dapat mengurangi baris kode dengan mengumpulkan beberapa kode yang sama menjadi 1 group dan memudahkan debugging
b. dapat mengurangi kemungkinan error

13. Function adalah procedure yang dapat mengembalikan nilai tunggal.

14. Perbedaan Function dan Procedure adalah nilai yang dikembalikan pada saat dieksekusi.
a. Procedure dapat diset untuk mengembalikan nilai yang lebih dari satu
b. Function hanya dapat mengembalikan satu nilai.

15. Events adalah eksekusi program yang akan dilakukan setelah ada aksi dari user

16. Units adalah kumpulan dari procedure-procedure dan function-function.

17. Function dan Procedure dapat dipanggil berkali-kali di unit yang berbeda jika dibutuhkan

18. Form adalah seperti window.

19. Form dibagi 2 :
a. Modal = window di atas semua window yang harus ditutup sebelum mengakses window yang lain
b. Modeless = window yang dapat dipindah-pindahkan kapan saja

20. Properties adalah atribut visual yang menempel pada suatu benda, yaitu Form dan komponen (VC)
misal : tinggi, lebar, warna, dsb.


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

berlanjut ke Overview Delphi Day 2

CMMIW..

^_^

Thursday, January 29, 2009

Tanggung Jawab Baru


Ketika pertama kali membaca undangan di salah satu milis mysql, niat untuk datang karena ingin mencari ilmu dan memperluas pergaulan. Tidak disangka tiba-tiba tergerak untuk mendaftarkan jadi kandidat pengurus untuk komunitas baru itu. Jumlah suara yang kudapat akhirnya mendapukku untuk menjadi sekretaris komunitas, sebagai satu-satunya kandidat perempuan.
MySQL Indonesia adalah komunitas para pengguna dan penggemar MySQL yang didukung oleh Sun Microsystem Indonesia. Hasil pertemuan itu adalah pertemuan bulanan untuk belajar bareng tentang MySQL. Sekaligus diresmikan milis MySQL Indonesia. Semoga ini bisa menjadi salah satu cara untuk terus meningkatkan kualitas diri. amin.
Hasil pertemuan itu pun dimuat di detikinet.

Friday, October 10, 2008

Pisau Para Programmer

Siang ini saya membaca arsip di milis delphi. Saya menemukan cuplikan kata-kata yang menarik dari suatu topik yang didiskusikan. Topik itu sebenarnya topik yang general, yaitu "masa depan pemrograman". Cukup banyak juga anggota milis yang menanggapinya. Opini mereka pun beragam, mulai dari memuji-muji kelebihan delphi (ya iya lah, ini khan milis delphi), ada juga yang mengatakan bahasa pemrograman sebelah lebih bagus (salah masuk milis tuh orang :P), ada juga yang menanggapinya dengan bijak. Dari semua tanggapan, ada 1 yang cukup menarik buat saya.

Bahasa pemrograman tuh kayak pisau, cuma alat untuk mencapai tujuan tertentu, yaitu memotong sesuatu. Kalo dah pernah pake pisau, pasti kalo ganti pisau harusnya gak masalah banyak, walaupun mungkin perlu penyesuaian sedikit. Dan seperti pisau juga, bahasa pemrograman banyak macamnya, satu cocok untuk motong daging, satu cocok untuk motong tulang, yang laen cocok untuk motong sayur.

Jadi buat saya, kita programmer ya jadi orang yang ngontrol pisau, bukan orang yang dikontrol jenis pisau :D :D :D

depok();
------------ --------- ---
Denny Depok
http://denny. klorofil. org
http://dennydepok. blogspot. com


Buat saya yang masih junior programmer yang ecek-ecek :D, merasa tertampar. Bagaimana tidak? Saya merasa kecil karena hanya tau dan bisa sedikit bahasa pemrograman. Saya merasa bahasa pemrograman yang saya bisa kurang "high class" di dunia kerja. Apalagi saya merasa tidak memiliki keahlian bahasa pemrograman tertentu. Tapi kutipan di atas membuat saya sadar, kalau pilihan ada di tangan saya. Saya bisa memilih mempelajari banyak bahasa pemrograman agar dapat bekerja sebagai programmer apa saja, atau memilih untuk mendalami 1 atau 2 di antaranya agar dapat dicari oleh perusahaan karena memiliki keahlian yang tidak banyak dimiliki oleh orang lain.

Semangat! I like this job :)

n_n

Friday, September 5, 2008

ayo..semangat puasa....

Hmmm... hari ini sudah masuk hari kelima dari bulan Ramadhan. Tapi tetap saja aku merasakan hal sama tiap datang bulan Ramdhan. Sakit, yup... karena menyesuaikan diri dari yang seharinya minum hampis 1 galon.. (oke..aku berlebihan sih..) jadi hanya minum beberapa gelas saja. At least biasanya di kantor aku minum sampai 6 gelas ukuran sedang (sekitar 1,5 liter) dan di rumah malamnya bisa minum (air putih ya..) sampai 4 gelas (sekitar 1 liter), kalau pagi sih paling cuma minum teh 1 gelas sambil sarapan.
Bukannya aku mau menyalahkan bulan Ramadhan ya...Tapi heran aja, padahal aku sudah mengalami belasan kali puasa di bulan Ramadhan, tapi tetap saja fenomena ini tidak pernah berubah :D Biasanya yang aku alami berkisar antara sakit tenggorokan (itu udah pasti!), pilek, batuk, dan ngantuk (hey! itu mah bukan sakit :D)..
Oke..sekarang coba kita hitung berapa banyak air yang aku minum selama puasa. Pagi buta saat sahur, otomatis aku harus minum teh minimal 1 gelas. Kalau masih ada waktu dan perut bisa nerima, ditambah air putih 1/2 gelas paling banyak. Pas buka, aku minum teh (yang jadi komoditi wajib di keluargaku pas berbuka puasa) 1 gelas, kadang tambah 1/2 - 1 gelas kalau lagi pengen :p ditambah makan pembuka puasa, sekedar kue atau kadang tempe goreng sudah cukup. Well, kita tidak sedang membicarakan makanannya ya.. setelah sholat maghrib, baru deh sekeluarga makan bareng... kalau makan malam, aku bisa minum 1-2 gelas. Selebihnya, yaitu setelah makan malam, sholat isya, sampai dengan tidur, aku paling banyak minum sampai 3 gelas. Karena kita tidak akan menghitung teh (karena katanya air putih paling bagus untuk mencegah dehidrasi), maka total air yang aku minum selama sehari semalam adalah 5 1/2 gelas paling banyak, it means tidak sampai 1,5 liter. Apalagi kemarin pagi aku tak sanggup bangun untuk sahur, itu berarti berkurang juga jumlah air yang aku minum :(
Pantesan ya.. aku selalu mengalami at least sakit tenggorokan pas puasa..tapi itu khan bukan berarti aku kapok puasa..o..o.. itu tidak mungkin :D hahahahhahaha.. tapi kenapa sering dibarengi sama pilek dan batuk ya? itu mungkin batuk sama pilek nya iseng aja ya... hehehehehe..

ayo..semangat puasa....

n_n

Thursday, August 28, 2008

Selamat datang Ramadhan

Assalamu'alaikum Warahmatullahi Wabarakatuh

Kenapa bulan ini begitu istimewa? Karena hanya pada bulan inilah kita, sebagai muslim, diwajibkan untuk berpuasa dari shubuh hingga maghrib, selama 1 bulan penuh.
Kewajiban itu juga tidak datang sendiri, melainkan dengan nikmat, pahala, dan maghfirah yang luar biasa yang disediakan Allah SWT untuk kita. Subhanallah, yang telah menyediakan bulan Ramadhan di antara 11 bulan lainnya, agar kita dapat melatih diri kita dengan segala macam kegiatan Islami, yang juga dapat kita terapkan di 11 bulan berikutnya.
Saya berusia 24 tahun pada tahun ini, berarti sudah 24 tahun lamanya saya menikmati adanya Ramadhan. Walau memang, saya baru mulai berpuasa sejak usia 6 / 7 tahun, dengan mulai berpuasa 1/2 hari, kemudian 3/4 hari, dan akhirnya 1 hari penuh. :)
WaAllahu'alam, apakah puasa dan ibadah kita diterima Nya atau tidak.

Selamat menikmati indahnya bulan Ramadhan kali ini. Semoga kita semua selalu dilimpahi ridho Allah SWT. Amin.
Mohon maaf lahir dan bathin.

Wassalamu'alaikum Warahmatullahi Wabarakatuh

Wednesday, June 25, 2008

Indahnya Berbagi

Karena akhir-akhir ini punya waktu luang di kantor, jadi saya manfaatkan untuk mencari tutorial-tutorial dari kerjaan kantor yang selama ini pernah mengganjal ( atau menjegal hehehehehe.. ). Lagi asyik mencari perbedaan InnoDB dan MYIsam, saya terhubung ke sebuah blog sebagai salah satu hasil pencarian. Begitu sampai blog tersebut, ada artikel yang menarik perhatian saya. Artikel tersebut sebenarnya hanya mengutip cerita sesorang yang sepertinya dari blog pribadi orang tersebut. 
Untuk memperluas cerita yang saya baca disana, yang menurut saya bisa diambil positifnya, saya posting lagi nih :

Akhir bulan Mei lalu, pas ultah Farel ke-4, gak lama setelah pengumuman BBM naik. Kebetulan mamanya Farel lagi gak berminat untuk bikin pesta hut di sekolah, jadi sebagai gantinya (krn gua percaya ultah adalah saat paling pas bersyukur dan membagi berkat ke orang banyak) kita beli bbrp puluh roti Holland Bakery untuk dibagi2 ke orang2 “kecil” di jalanan.

Jadilah 2 hari itu gua sengaja melewati jalur2 macet dan banyak lampu merahnya dalam perjalanan ke kantor supaya bisa ketemu dengan “target” yang dicari itu. Well, bukan kisah soal itu yang gua mau sharing, tapi sewaktu melakukan “proyek ultah” itu ada bbrp peristiwa yang buat gua sangat berkesan. Yang pertama, seorang anak kecil penjaja es susu kacang di pom bensin yang nawarin dagangannya ke gua dengan sopan (pada jam yang seharusnya dia sekolah), gua gak beli dagangannya (soalnya nanti malah kambuh asam urat hehehe) tapi gua kasih dia 2 roti karena dia belum makan pagi. Setelah berterimakasih dengan tulus, tanpa diminta dia ternyata langsung memberikan satu buah ke penjaga pompa bensin di situ sambil menyimpan yang satu lagi untuk dia sendiri.

Well, soal kecil tapi gua gak expect akan dia lakukan.
Berikutnya di lampu merah Tomang, seorang tukang rokok yang gua kasih 2 roti langsung ngasih sebuah ke rekannya yang lain.
Pada saat ada rekan lainnya lagi yang mendatangi, tanpa ragu dia bagi merobek rotinya (yang lagi dia makan dengan nikmat itu) untuk dibagikan lagi.

Demikian juga bbrp penjual rokok lain & tukang koran yang kebetulan kebagian roti juga. Dengan tulus mereka saling memecah-mecah roti yang sedang mereka makan…

Anyway, yang lebih menyentuh gua sih ternyata orang kecil lebih tahu artinya berbagi………..

Berapa sering sih mereka bisa nikmatin Holland Bakery (yang buat sebagian besar kita malah udah ketinggalan jaman juga dibanding Roti Boy, Brad Talk & JCo), tapi toh mereka dengan suka rela & spontan membagi rejekinya itu ke orang lain….

Ternyata bagi2 roti kemaren itu malah memberikan pelajaran sendiri buat gua, tentang apa artinya berbagi itu……….
justru dari orang2 kecil yang untuk memenuhi kebutuhannya sendiri pun udah susah….

Sedikit ajakan aja teman2, paling gak pada hari2 “penting” anda (mau Hut kek, sukuran kek, dapet rejeki gede, nikahan, sunatan, jadian, dll) sedikit berbagi sama mereka2 yang kurang beruntung ternyata sangat membahagiakan, siapa tahu mereka juga akan membagikan sedikit pelajaran lain mengenai hidup….

semoga bermanfaat....

n_n

Thursday, June 12, 2008

Perdana

Salam kenal semuanya.
Nama saya iis, lahir suatu masa di bulan november. Saya 2 dari 3 bersaudara.
Sekarang sedang berjuang untuk menjadi lebih baik dalam pekerjaan, pendidikan, cinta, dan kehidupan.
Kalau ingin kenal lebih jauh, silahkan ke sini


Sebenernya saya punya blog ini udah dari beberapa bulan yang lalu.
Tapi belum kepikiran mau nulis apa... :)
Blog ini adalah sebagai wadah saya untuk latihan menulis yang baik dan benar.
Semoga dapat menuangkan apa yang ada di fikiran saya dengan bahasa yang menarik untuk dibaca.


n_n