Kamis, 03 Februari 2011
PEMROGRAMAN
Generasi Bahasa Pemrograman
Bahasa pemrograman adalah software bahasa komputer yang digunakan dengan cara merancang atau membuat program sesuai dengan struktur dan metode yang dimiliki oleh bahasa program itu sendiri. Komputer mengerjakan transformasi data berdasarkan kumpulan printah program yang telah dibuat oleh program. Kumpulan perintah ini harus dimengerti oleh komputer berstruktur terntentu (syntax), dan bermakna. Bahasa pemrograman merupakan notasi untuk memberikan secara tepat program komputer. Berbeda dengan bahasa, misalkan Bahasa Indonesia dan Inggris yang merupakan bahasa alamiah (natural language), sintaksis dan semantik bahasapemrograman komputer ditentukan secara jelas dan terstruktur, sehingg bahasa pemrograman juga disebut sebagai bahasa formal (formal language).
Menurut tingkatannya, bahasa pemrograman dibagi menjadi 3 tingkatan, yaitu:
1. Bahasa pemrograman tingkat rendah (low level language), merupakan bahasa pemrograman generasi pertama, bahasa pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Biasanya yang mengerti hanyalah pembuatnya saja karena isinya programnya berupa kode-kode mesin.
2. Bahasa pemrograman tingkat menengah (middle level language), merupakan bahasa pemrograman dimana pengguna instruksi sudah mendekati bahasa sehari-hari, walaupun begitu masih sulit untuk dimengerti karena banyak menggunakan singkatan-singkatan seperti “STO” artinya simpan (STORE) dan “MOV” artinya pindahkan (MOVE). Yang tergolong dalam bahasa ini adalah assembler.
3. Bahasa pemrograman tingkat tinggi (high level language) merupakan bahasa yang mempunyai ciri lebih terstruktur, mudah dimengerti karena menggunakan bahasa sehari-hari, contoh bahasa level ini adalah: Delphi, Pascal, ORACLE, MS-SQL, Perl, Phyton, Basic,Visual Studio (Visual Basic, Visual FoxPro), Informix, C, C++, ADA, Java, PHP, ASP, XML, dan lain-lain. Bahasa seperti Java, PHP, ASP, XML biasanya digunakan untuk pemrograman pada internet, dan masih banyak lagi yang terus berkembang yang saat ini biasanya dengan ekstensi .net (baca: dot net) seperti Visual Basic.NET dan Delphi. Net yang merupakan bahasa pemrograman yang dikembangkan pada aran berbasis internet
Sejauh ini bahasa pemrograman dikelompokkan menjadi lima generasi. Setiap generasi bahasa pemrograman memiliki karakteristik tersendiri. Semakin maju generasinya maka orientasi bahasa pemrograman ini akan semakin dekat ke manusia.
Gambar di atas menunjukkan terjadinya kecenderungan pergeseran orientasi dalam bahasa -bahasa pemrograman, dari pendekatan yang berorientasi kepada mesin menuju ke pendekatan yang berorientasi pada manusia.
BAHASA PEMROGRAMAN GENERASI I
Bahasa pemrograman generasi pertama berorientasi pada mesin. Program disusun dengan
menggunakan bahasa mesin. Tentu saja program generasi ini sangat sulit untuk dipahami oleh orang awam dan sangat membosankan bagi pemrogram. Pemrogram harus benar-benar
menguasai operasi komputer secara teknis. Namun bahasa generasi ini memberikan eksekusi
program yang sangat cepat. Selain itu, bahasa mesin sangat bergantung pada mesin (machine dependent), artinya, bahasa mesin antara satu mesin dengan mesin lainnya akan berbeda.
BAHASA PEMROGRAMAN GENERASI II
Bahasa pemrograman generasi kedua menggunakan bahasa rakitan (assembly). Sebagai
pengganti kode-kode biner, digunakanlah kependekan dari kata-kata. Misalkan “MOV” untuk
menyatakan “MOVE” dan JNZ yang berarti “jump non-zero”. Setiap instruksi dalam bahasa
rakitan sebenarnya identik dengan satu instruksi dalam bahasa mesin. Bahasa ini sedikit lebih mudah dipahami daripada bahasa mesin. Bahasa ini sedikit lebih mudah dipahami daripada bahasa mesin mengingat perintah dalam bentuk kata-kata yang dipendekkan lebih mudah daripada mengingat deretan angka biner.
Berikut adalah contoh instruksi yang ditulis dalam bahasa rakitan akan menjadi seperti berikut:
Tampak bahwa penggunaan notasi seperti MOV AH, 02 jauh lebih mudah diingat atau dipahami
daripada penulisan instruksi dalam bahasa mesin: B402 atau 1011 0100 0000 0010.
Kode dalam Bahasa Rakitan
BAHASA PEMROGRAMAN GENERASI III
Bahasa pemrograman generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa
prosedural, pemrogram perlu menuliskan instruksi-instruksi yang rinci agar komputer
melaksanakan tugasnya. Program ditulis dengan menggunakan kata-kata yang biasa dipakai
manusia, seperti WRITE untuk menampilkan sesuatu di layar dan READ untuk membaca data dari keyboard.
Bahasa generasi ketiga seringkali disebut sebagai high level language disebabkan bahasa ini
menggunakan kata-kata yang biasa digunakan manusia. Beberapa contoh bahasa pemrograman
yang masuk dalam kategori generasi ketiga yaitu ADA, ALGOL, C, BASIC, COBOL, FORTRAN, dan PASCAL.
BAHASA PEMROGRAMAN GENERASI IV
Bahasa pemrograman generasi keempat dirancang untuk mengurangi waktu pemrograman dalam membuat program sehingga diharapkan produktifitas pemrogram jadi meningkat dan program dapat dibuat dalam waktu yang lebih singkat. Alhasil, bahasa pemrograman generasi keempat yang dikenal dengan sebutan 4GL dapat dipakai oleh pemakai yang kurang mengetahui hal-hal teknis tentang pemrograman tanpa bantuan pemrogram profesional. Sebagai contoh pemrogram dapat membuat program dengan Microsoft Access di lingkungan PC dengan mudah.
Bahasa pemrograman generasi keempat biasa disebut sebagai high level language atau bahasa berorientasi pada masalah (problem oriented language) karena memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode dibandingkan pada bahasa prosedural.
Bahasa pemrograman generasi keempat menggunakan pendekatan non-prosedural. Untuk
mendapatkan suatu hasil, seorang pemakai tidak perlu memberitahukan secara detail tentang bagaimana mendapatkannya. Gambar di bawah ini memberikan contoh yang menunjukkan perbedaan bahasa prosedural dan non-prosedural dalam memperoleh data tentang seorang mahasiswa.
Bahasa Prosedural dan Non Prosedural
BAHASA PEMROGRAMAN GENERASI V
Bahasa pemrograman generasi kelima merupakan kelompok bahasa-bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence). Kecerdasan buatan adalah disiplin dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia.
Berbagai aplikasi kecerdasan manusia adalah sebagai berikut:
1. Pemrosesan bahasa alami (natural language processing), yakni mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia (Indonesia, Inggris, Spanyol, Prancis, dan sebagainya).
2. Pengedalian robotika dan sensor mata.
3. Aplikasi sistem pakar (expert system) yang meniru seorang pakar di bidang tertentu sehingga bisa menghasilkan nasehat atau pemikiran yang setara dengan seorang pakar.
Dengan menggunakan bahasa generasi kelima dimungkinkan untuk melakukan perintah dengan cara percakapan seperti berikut:
“Tampilkan semua nama siswa yang KKM-nya di atas70 dan urutkan berdasarkan IP secara
descending”
PROLOG dan LISP merupakan dua contoh bahasa pemrograman yang ditujukan untuk
menangani kecerdasan buatan
PENJADWALAN CPU
Konsep Dasar Penjadwalan CPU
Penjadwalan proses didasarkan pada sistem operasi yang menggunakan prinsip multiprogramming. Dengan cara mengalihkan kerja CPU untuk beberapa proses, maka CPU akan semakin produktif.
Pada multiprogramming, selalu akan terjadi beberapa proses berjalan dalam suatu waktu. Sedangkan pada uniprogramming hal ini tidak akan terjadi, karena hanya ada satu proses yang berjalan pada saat tertentu.
Konsep dasar dari multiprogramming ini adalah: suatu proses akan menggunakan CPU sampai proses tersebut dalam status wait (misalnya meminta I/O) atau selesai. Pada saat wait , maka CPU akan nganggur (idle). Untuk mengatasi hal ini, maka CPU dialihkan ke proses lain pada saat suatu proses sedang dalam wait, demikian seterusnya.
Tabel proses kerja prosesor
Dalam menggambarkan sebuah penjadwalan dapat dilakukan dengan menyusun kerja proses seperti Gambar di atas, atau ada kalanya diperlukan barisan saat proses untuk dapat menyusun tabel kerja proses. Selanjutnya, dari kedua cara ini, dapat dihitung waktu sia-sia (T-t), rerata lama tanggap Tt, nilai rasio tanggap Rt, dan rasio penalti Rp.
Penjadwalan prosesor dapat dibagi menjadi beberapa kategori setelah proses sudah berada dalam antrian yaitu prioritas dan preempsi. Dalam keadaan tanpa prioritas atau preempsi, maka penjadwalan adalah melalui antrian. Dengan demikian dapat disusun ketegori penjadwalan berdasarkan prioritas dan preempsi itu kedalam Gambar berikut:
Gambar Kategori kerja prosesor
Kesemuanya ada empat kategori meliputi (I) tanpa prioritas dan tanpa preempsi melalui antrian biasa, (II) dengan prioritas dan tanpa preempsi, (III) tanpa prioritas dan dengan preempsi, dan (IV) dengan prioritas dan dengan preempsi. Selanjutnya kategori penjadwalan ini dapat kita uraikan dalam berbagai algoritma penjadwalan.
Algoritma Penjadwalan
Proses memerlukan prosesor. Proses memerlukan penjadwalan pemakaian prosesor. Berdasarkan berbagai ketentuan pada penjadwalan proses serentak, dapat disusun teknik penjadwalan prosesor. Dapat dipandang semua proses serentak itu sebagai satu kumpulan proses yang memerlukan prosesor.
Di sini, dianggap semua proses sebagai satu kumpulan proses serentak. Proses ini akan diolah oleh prosesor baik dalam bentuk antrian maupun dalam bentuk prioritas atau preempsi. Beberapa algoritma penjadwalan yang umum akan dibahas pada bagian ini. Untuk memudahkan mengamati setiap algoritma akan digunakan dua buah contoh (kedua Gambar berikut) antrian tetap yang akan kita gunakan untuk diterapkan pada berbagai algoritma penjadwalan yang akan kita bahas.
Gambar Kasus I – antrian lima proses dengan saat tiba = 0
Gambar Kasus II – antrian lima proses saat tiba berbeda
Algotima Penjadwalan First Come First Served
Algoritma First Come First Served (FCFS) disebut juga sebagai teknik Pertama Tiba Pertama Dilayani (PTPD). FCFS merupakan penjadwalan tanpa prioritas dan tanpa preempsi (lihat posting penjadwalan cpu). Karena itu, proses ini serentak tersusun dalam antrian murni.
Pada FCFS, proses yang tiba lebih dahulu akan dilayani lebih dahulu. Kalau proses itu tiba pada waktu yang sama, maka pelayanan dilakukan berdasarkan urutan mereka pada antrian. Tidak menjadi soal apakah waktu proses mereka singkat atau lama. Untuk dapat dilayani oleh prosesor, proses di antrian belakang harus menunggu sampai semua proses di depannya rampung dilaksanakan.
Kita dapat langsung memasukkan proses ini ke dalam tabel proses pada kerja prosesor. Pada contoh kasus I, proses B hanya dapat dilaksanakan setelah proses A rampung dilaksanakan. Proses C hanya dapat dilaksanakan setelah proses B rampung dilaksanakan. Demikian seterusnya sehingga didapatkan nilai seperti pada tabel Gambar berikut.
Gambar Ujuk kerja prosesor dengan algoritma FCFS untuk kasus I
Tampak di sini bahwa rerata lama tanggap adalah 19,4 satuan waktu. Nilai ini cukup besar dibandingkan dengan lama proses dari masing-masing proses itu. Berikut ilustrasi untuk contoh kasus kedua .
Gambar Ujuk kerja prosesor dengan algoritma FCFS untuk kasus II
Pada Gambar Contoh kasus di bagian atas postingan ini, proses belum terurut sesuai waktu tibanya, oleh karena itu setelah diurut berdasarkan waktu tibanya, maka antrian menjadi A, B, D, E, dan C. Tampak di sini bahwa rerata lama tanggap adalah 17,8 satuan waktu. Nilai ini masih cukup besar dibandingkan dengan lama proses dari masing-masing proses tetapi masih lebih kecil dari rerata lama tanggap untuk kasus I. Perbedaan dengan contoh pertama terletak pada perhitungan lama tanggap. Kalau pada contoh pertama, lama tanggap sama dengan saat rampung, maka di sini mereka tidak sama karena saat tiba proses tidaklah sama.
Kedua contoh ini menunjukkan bahwa lama tanggap sangat dipengaruhi oleh lama proses pada proses yang terletak di bagian depan antrian. Jika lama proses pada proses di bagian depan antrian itu besar, maka proses dengan lama proses yang singkat di bagian belakang antrian, tetap harus lama menunggu, sebelum mereka dapat dilayani oleh prosesor. Itu sebabnya penjadwalan FCFS ini kurang menguntungkan bagi keseluruhan pelayanan.
Salah satu cara untuk mengatasi hal itu adalah melalui prioritas. Proses dengan lama proses yang singkat memperoleh prioritas untuk didahulukan ke prosesor. Makin singkat masa prosesnya, makin cepat proses itu dilayani oleh prosesor. Penjadwalan ini dikenal sebagai Proses Terpendek Dipertamakan (PTD)
Algoritma Penjadwalan Shortest Job First
Gambar Kasus I – antrian lima proses dengan saat tiba = 0
Gambar Kasus II – antrian lima proses saat tiba berbeda
Disebut juga sebagai teknik Proses Terpendek Dipertamakan (PTD). SJF merupakan penjadwalan dengan prioritas tanpa preempsi. Dasar prioritas adalah pendeknya proses. Makin pendek proses makin tinggi prioritasnya.
Pada algoritma ini di ditempuh dua langkah. Langkah pertama: menentukan urutan prioritas berdasarkan pendeknya proses yang dilayani. Langkah kedua: menentukan pada saat tertentu, proses mana yang perlu dilayani oleh prosesor.
Sekalipun urutan prioritas proses sudah ditentukan pada langkah pertama, namun masih ada masalah yang dapat menghambat pelaksanaan proses menurut urutan itu. masalah itu adalah masalah saat tiba dari setiap proses. Kalau pada saat prosesor siap menerima proses, serta proses terpendek sudah tiba, maka proses terpendek itulah yang dikerjakan oleh prosesor sesuai dengan pengaturan pada langkah pertama. Tetapi kalau pada saat prosesor sudah siap menerima proses. Sedangkan proses yang memperoleh giliran pada saat itu belum juga tiba, maka kita perlu mempunyai ketentuan tentang proses mana yang akan dikerjakan oleh prosesor.
Ketentuan itu adalah: pada saat prosesor siap menerima proses sedangkan proses terpendek yang memperoleh giliran pada saat itu belum juga tiba, maka lihat semua proses yang sudah tiba pada saat itu. Proses yang sudah rampung diabaikan. Dari proses yang sudah tiba tapi belum diproses itu dipilih proses terpendek, dan proses terpendek itulah yang pada saat itu dikerjakan oleh prosesor.
Kalau dalam penentuan urutan proses ini, ditemukan dua atau lebih proses yang memiliki prioritas sama, maka pelayanan dilakukan berdasarkan urutan antrian diantara proses berprioritas sama itu.
Lihat contoh kasus I pada bagian atas postingan ini yang menunjukkan sekumpulan proses A, B, C, D, dan E yang mempunyai saat tiba yang sama yaitu 0. Namun lama proses mereka berbeda. Berdasarkan lama proses yang berbeda ini, pada langkah pertama, kita menyusun prioritas berdasarkan pendeknya proses, maka urutan proses berubah menjadi C, D, A, E, dan B. Karena semua proses sudah tiba, maka langkah kedua tidak mengalami kesulitan. Seperti tampak pada Gambar dibawah ini urutan antriannya berubah sehingga sesuai dengan urutan prioritas.
Tampak disini bahwa algoritma SJF menyebabkan rerata lama tanggap semua proses itu menjadi 14,6 satuan waktu. Rerata ini menjadi lebih singkat jika dibandingkan dengan rerata lama tanggap untuk penjadwalan FCFS.
Gambar Ujuk kerja prosesor dengan algoritma SJF untuk kasus I
Selanjutnya lihat contoh II untuk sekumpulan proses dengan saat tiba tidak sama seperti pada Gambar paling atas posting ini (kasus II) mula-mula kita menyusun urutan proses itu berdasarkan prioritas.
Dalam pelaksanaannya, kita mulai dari saat = 0. Pada saat = 0 ini, proses terpendek C belum tiba. Bahkan proses satu-satunya yang sudah tiba adalah proses A. Karena itu pada saat = 0, proses A yang dikerjakan. Untuk lebih jelasnya perhatikan barisan saat dibawah. Proses A selesai ketika saat = 7. Ketika itu proses yang telah tiba adalah proses B, D, dan E, dan yang terpendek dari keduanya adalah D, sehingga proses berikutnya adalah D. Ketika D selesai saat = 11, dan proses yang telah tiba dalam ready queue adalah B, C dan E. Dan yang terpendek dari ketiganya adalah C, maka C dikerjakan dahulu. Ketika C telah selesai diproses oleh CPU, saat = 13 berarti sisa proses yang menunggu adalah B dan E, dan yang terpendek dari keduanya adalah E, maka E didahulukan, setelah selesai barulah B diproses. Inilah perbedaan yang terjadi jika algoritma SJF diterapkan pada beberapa proses yang memiliki waktu tiba tidak sama.
Dengan demikian didapatkan bahwa A diproses mulai saat = 0 hingga 7, D mulai saat = 7 hingga 11, C mulai saat = 11 hingga 13, E mulai saat = 13 hingga 21, dan B mulai saat = 21 hingga 31.
Gambar Ujuk kerja prosesor dengan algoritma SJF untuk kasus II
Gambar Barisan Saat Algoritma Shortest Job First
PEMOGRAMAN DELPHI
Delphi merupakan suatu bahasa pemrograman visual dan berorientasi obyek. Tidak hanya Delphi, di pasaran juga terdapat Visual Basic (VB), Visual C++, FoxPro, dan KyLix. Struktur dan sintak bahasa pemrograman Delphi mirip dengan bahasa Pascal. So... bagi Anda yang pernah mengenal Pascal mudah-mudahan lebih cepat menguasai Delphi.
Sesuai namanya WINDOWS, maka ciri khas aplikasi under WINDOWS adalah adanya window-window atau jendela. Dalam pemrograman visual, window-window ini disebut FORM. So... dalam belajar Delphi nanti, Anda akan berhadapan dengan banyak sekali FORM.
Tampilan Delphi adalah seperti yang Anda lihat pada gambar di bawah ini:
Saat Anda masuk pertama kali ke dalam Delphi, Anda akan langsung diberikan suatu form kosong secara otomatis. Form ini merupakan tempat kita meletakkan obyek-obyek sekaligus mendesain tampilannya. So... untuk mendesain tampilan supaya menarik, Anda harus memiliki jiwa artistik dan seni :-)
About PROPERTI
Seperti telah dijelaskan di depan bahwa setiap obyek dalam Delphi (termasuk form) pasti memiliki properti. Properti dapat diubah-ubah sesuai keinginan. Untuk melihat properti dari suatu obyek, langkahnya:
- klik obyek yang dipilih
- properti dapat dilihat pada bagian OBJECT INSPECTOR (sebelah kiri)
Untuk mengganti properti obyek cukup mengganti value yang ada di kolom sebelah kirinya.
About EVENT
Selain properti, dalam Object Inspector juga terdapat Event dari suatu obyek. Event digunakan untuk membuat procedure yang diaktifkan (trigered) lewat sebuah event. Agak membingungkan ya?? OK, I’ll make it simple as I can.
Dalam aplikasi Windows, tentu Anda sering klak-klik tombol sana sini. Setiap kali Anda klik tombol pasti ada proses sesuatu yang terjadi bukan? itu adalah salah satu contoh penggunaan event pada obyek yang dalam hal ini obyeknya adalah tombol (button). Macam-macam event yang ada banyak sekali, pada contoh tersebut eventnya adalah “ON CLICK” karena suatu proses akan terjadi ketika kita mengCLICK tombol. Untuk mengeksplorasi macam-macam event akan kita bahas dalam studi kasus pada bab berikutnya.
Untuk memberikan event suatu obyek, caranya:
- Klik obyek yang akan diberikan event
- Klik menu tab EVENT pada OBJECT INSPECTOR
- Pilih event yang sesuai
- Double click kotak kosong di sebelah kanan event yang dipilih
Setelah itu Delphi akan memunculkan window sbb:
Window tersebut digunakan untuk menuliskan program yang akan dieksekusi ketika suatu obyek dikenai event.
Tips:
Apabila Anda tidak melihat OBJECT INSPECTOR, atau tiba-tiba OBJECT INSPECTORNYA hilang, jangan panik. Untuk menampilkannya kembali caranya Anda tekan F11 atau klik menu VIEW > OBJECT INSPECTOR
Making New Project
Aplikasi atau program yang kita buat dalam Delphi menggunakan istilah “project”. Untuk membuat project baru, langkahnya:
- Klik menu FILE
- Pilih NEW APPLICATION
Setelah itu Delphi akan menyediakan form untuk membuat project baru.
Saving Project
Dalam Delphi ada 3 buah file utama (*.dpr, *.pas dan *.dfm).
1. *.dpr adalah file proyek yang dibuat berisi program kecil untuk :
• mendefinisikan Unit yang ada dalam file proyek
• menginisialisasi data
• membangun form
• menjalankan aplikasi
2. *.pas adalah file unit-unit (pascal code file), bisa terdiri satu atau banyak file dalam satu project. File inilah tempat kita menuliskan listing program.
3. *.dfm adalah file definisi Form (special pseudo code file), bisa terdiri satu atau banyak file. Isi dari file ini adalah properti-properti dari obyek dalam suatu form. Jika formnya lebih dari satu, maka file ini juga akan lebih dari satu.
Catatan:
Setiap Form (.dfm) harus memiliki sebuah Unit (.pas), tetapi Anda dapat memiliki Unit tanpa sebuah Form (hanya kode saja).
Untuk proses penyimpanan program langkahnya:
- Pilih submenu Save Project atau Save Project As pada menu File, dan Delphi akan menanyakan nama file source code untuk unit (*.pas) dan nama file proyeknya (*.dpr).
Tips:
Jangan menyimpan file project dan unit dengan nama yang sama. Hal ini membuat proses penyimpanan gagal.
Membuka File Project
Untuk membuka file project caranya pilih menu OPEN PROJECT > pilih file project yang diinginkan.
Tips:
Ingat!! Jangan membuka file project dengan menu OPEN, karena dapat dimungkinkan Anda membuka file unit. Kalau hal ini terjadi ketika Anda masih bekerja dengan suatu project, maka file unit yang Anda buka tadi akan menjadi satu dengan project yang sedang Anda kerjakan.
Struktur Isi File Project (*.dpr), Unit (*.pas), dan Form (*.dfm)
A. File Project
Kita dapat melihat isi file project, caranya klik menu PROJECT > VIEW SOURCE. Berikut ini adalah salah satu contoh bentuk isi file project:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Sepertinya secara sekilas strukturnya mirip dengan Pascal?? Lha iya emang mirip Pascal, karena basic dari bahasa Delphi adalah Pascal. Perintah Unit1 in 'Unit1.pas' {Form1}; bermakna bahwa dalam PROJECT1 terdapat satu buah form dengan nama formnya adalah FORM1. Dalam FORM1 memiliki file unit dengan nama UNIT1.PAS. Perintah yang sama akan muncul kembali apabila terdapat form dan unit yang lebih dari satu pada PROJECT1.
Tips:
Jangan coba-coba untuk utak-atik atau mengubah file ini, karena apabila Anda tidak memahami maksudnya, bisa rusak projectnya.
B. File Unit
Berikut ini adalah salah satu contoh isi dari file unit:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
<----- tempat menuliskan event-event -------->
end.
Tips:
Seperti halnya file project, hindari pengubahan atau penghapusan bagian dari isi file unit di atas kecuali bagian program untuk eventnya.
C. File Form
Berikut ini adalah contoh isi file *.dfm
object Form1: TForm1
Left = 192
Top = 107
Width = 544
Height = 375
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 120
Top = 16
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end
end
File tersebut menginformasikan tentang properti yang dimiliki oleh suatu file unit atau suatu form. Dalam file di atas tampak bahwa terdapat 2 buah obyek dalam suatu form/unitm yaitu obyek form itu sendiri dan obyek yang kedua adalah tombol (button).
Meletakkan Komponen dalam Form
Istilah komponen di atas memiliki arti yang sama dengan obyek. Seperti dijelaskan sebelumnya bahwa kita dapat meletakkan dan mengatur obyek/komponen dalam form. Komponen-komponen dalam Delphi sangat banyak sekali. Semakin tinggi versinya jumlah komponennya semakin banyak. Untuk memudahkan mengingat-ingat letak komponen, maka komponen-komponen dalam Delphi dikelompokkan dalam Component Palletes.
Ada beberapa cara menempatkan komponen ke form.
- Pilih komponen (klik komponen yang diinginkan) pada Components Palette kemudian klik pada form dimana komponen itu akan diletakkan.
- Klik ganda pada komponen yang diinginkan, maka komponen tersebut akan ditambahkan pada form
- Anda dapat menggunakan Copy dan Paste bila ingin membuat komponen yang sama yang sudah ada pada form. Caranya Shift-Klik kiri pada komponen yang ada di form, lalu pilih menu Copy (Ctrl-C) kemudian pilih menu Paste (Ctrl-V).
Menghapus Komponen
Untuk menghapus komponen yang sudah diletakkan dalam form caranya cukup mudah. Caranya sama seperti ketika Anda menghapus obyek dalam MS WORD dan konco-konconya, yaitu pilih/klik komponen yang akan dihapus, trus tekan DELETE.
Menghapus Event
Untuk menghapus event, mmm... ini caranya agak sedikit rumit.
Perhatikan file unit yang di dalamnya terdapat dua event di bawah ini.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
Misalkan Anda ingin menghapus event 1, caranya blok event 1 tersebut kemudian hapus (DELETE). Kemudian hapus pula perintah
procedure Button1Click(Sender: TObject); yang terletak pada bagian TYPE.
Selanjutnya apabila Anda me-run program, Anda akan dikonfirmasi oleh Delphi dengan pertanyaan “bla..bla..bla..... Remove the reference?”, Jawab saja dengan YES.
Delphi diimplementasikan.
A. Studi Kasus I – Bekerja dengan Form
Dalam studi kasus ini, kalian diminta membuat program sederhana khususnya untuk event – handling. Desain program adalah seperti dibawah ini.
Ubahlah properti setiap komponen yang ada seperti di bawah ini:
Komponen Properti Value
Form1 Caption Contoh Event Handling
Height 101
Name Frmkasus1
Width 234
Label1 Caption (kosongkan)
Name Lblstatus
Button1 Caption Tombol I
Name Btnpertama
Button2 Caption Tombol II
Name Btnkedua
Skenario:
Apabila Button1 ditekan/diklik, maka Label1 akan menampilkan teks ‘Anda menekan tombol pertama’ dan warna form berubah menjadi merah, sedangkan apabila Button2 diklik, maka Label1 akan menampilkan teks ‘Anda menekan tombol kedua’ dan warna form berubah menjadi hijau.
Membuat event:
Kita akan memberi event pada Button1, caranya klik sekali pada Button1, buka events pada Object Inspector, double klik di sebelah kanan OnCLICK dan lengkapi procedure sehingga menjadi seperti di bawah ini:
procedure TFrmkasus1.BtnpertamaClick(Sender: TObject);
begin
Lblstatus.Caption := 'Anda menekan tombol pertama';
Frmkasus1.Color := clred;
end;
Perintah Lblstatus.Caption := 'Anda menekan tombol pertama'; artinya adalah memberi value suatu string pada properti caption dari komponen dengan nama Lblstatus (label1). Sedangkan perintah FrmKasus1.Color := clred; bermakna bahwa properti color dari komponen FrmKasus1 (form1) diubah menjadi clred(merah).
Dari keterangan di atas, dapat disimpulkan bahwa kalian dapat mengubah properti suatu komponen dengan menggunakan code perintah seperti di atas (tidak menggunakan Object Inspector).
Dengan cara yang hampir sama, lakukan untuk Button2.
Setelah selesai kalian bisa RUN dengan mengklik menu RUN > pilih RUN atau tekan F8.
Untuk keluar dari mode RUN (kembali ke mode EDIT), klik menu RUN > PROGRAM RESET atau tekan CTRL+F2. Dibawah ini adalah tampilan ketika dalam mode RUN.
Delphi merupakan suatu bahasa pemrograman visual dan berorientasi obyek. Tidak hanya Delphi, di pasaran juga terdapat Visual Basic (VB), Visual C++, FoxPro, dan KyLix. Struktur dan sintak bahasa pemrograman Delphi mirip dengan bahasa Pascal. So... bagi Anda yang pernah mengenal Pascal mudah-mudahan lebih cepat menguasai Delphi.
Sesuai namanya WINDOWS, maka ciri khas aplikasi under WINDOWS adalah adanya window-window atau jendela. Dalam pemrograman visual, window-window ini disebut FORM. So... dalam belajar Delphi nanti, Anda akan berhadapan dengan banyak sekali FORM.
Tampilan Delphi adalah seperti yang Anda lihat pada gambar di bawah ini:
Saat Anda masuk pertama kali ke dalam Delphi, Anda akan langsung diberikan suatu form kosong secara otomatis. Form ini merupakan tempat kita meletakkan obyek-obyek sekaligus mendesain tampilannya. So... untuk mendesain tampilan supaya menarik, Anda harus memiliki jiwa artistik dan seni :-)
About PROPERTI
Seperti telah dijelaskan di depan bahwa setiap obyek dalam Delphi (termasuk form) pasti memiliki properti. Properti dapat diubah-ubah sesuai keinginan. Untuk melihat properti dari suatu obyek, langkahnya:
- klik obyek yang dipilih
- properti dapat dilihat pada bagian OBJECT INSPECTOR (sebelah kiri)
Untuk mengganti properti obyek cukup mengganti value yang ada di kolom sebelah kirinya.
About EVENT
Selain properti, dalam Object Inspector juga terdapat Event dari suatu obyek. Event digunakan untuk membuat procedure yang diaktifkan (trigered) lewat sebuah event. Agak membingungkan ya?? OK, I’ll make it simple as I can.
Dalam aplikasi Windows, tentu Anda sering klak-klik tombol sana sini. Setiap kali Anda klik tombol pasti ada proses sesuatu yang terjadi bukan? itu adalah salah satu contoh penggunaan event pada obyek yang dalam hal ini obyeknya adalah tombol (button). Macam-macam event yang ada banyak sekali, pada contoh tersebut eventnya adalah “ON CLICK” karena suatu proses akan terjadi ketika kita mengCLICK tombol. Untuk mengeksplorasi macam-macam event akan kita bahas dalam studi kasus pada bab berikutnya.
Untuk memberikan event suatu obyek, caranya:
- Klik obyek yang akan diberikan event
- Klik menu tab EVENT pada OBJECT INSPECTOR
- Pilih event yang sesuai
- Double click kotak kosong di sebelah kanan event yang dipilih
Setelah itu Delphi akan memunculkan window sbb:
Window tersebut digunakan untuk menuliskan program yang akan dieksekusi ketika suatu obyek dikenai event.
Tips:
Apabila Anda tidak melihat OBJECT INSPECTOR, atau tiba-tiba OBJECT INSPECTORNYA hilang, jangan panik. Untuk menampilkannya kembali caranya Anda tekan F11 atau klik menu VIEW > OBJECT INSPECTOR
Making New Project
Aplikasi atau program yang kita buat dalam Delphi menggunakan istilah “project”. Untuk membuat project baru, langkahnya:
- Klik menu FILE
- Pilih NEW APPLICATION
Setelah itu Delphi akan menyediakan form untuk membuat project baru.
Saving Project
Dalam Delphi ada 3 buah file utama (*.dpr, *.pas dan *.dfm).
1. *.dpr adalah file proyek yang dibuat berisi program kecil untuk :
• mendefinisikan Unit yang ada dalam file proyek
• menginisialisasi data
• membangun form
• menjalankan aplikasi
2. *.pas adalah file unit-unit (pascal code file), bisa terdiri satu atau banyak file dalam satu project. File inilah tempat kita menuliskan listing program.
3. *.dfm adalah file definisi Form (special pseudo code file), bisa terdiri satu atau banyak file. Isi dari file ini adalah properti-properti dari obyek dalam suatu form. Jika formnya lebih dari satu, maka file ini juga akan lebih dari satu.
Catatan:
Setiap Form (.dfm) harus memiliki sebuah Unit (.pas), tetapi Anda dapat memiliki Unit tanpa sebuah Form (hanya kode saja).
Untuk proses penyimpanan program langkahnya:
- Pilih submenu Save Project atau Save Project As pada menu File, dan Delphi akan menanyakan nama file source code untuk unit (*.pas) dan nama file proyeknya (*.dpr).
Tips:
Jangan menyimpan file project dan unit dengan nama yang sama. Hal ini membuat proses penyimpanan gagal.
Membuka File Project
Untuk membuka file project caranya pilih menu OPEN PROJECT > pilih file project yang diinginkan.
Tips:
Ingat!! Jangan membuka file project dengan menu OPEN, karena dapat dimungkinkan Anda membuka file unit. Kalau hal ini terjadi ketika Anda masih bekerja dengan suatu project, maka file unit yang Anda buka tadi akan menjadi satu dengan project yang sedang Anda kerjakan.
Struktur Isi File Project (*.dpr), Unit (*.pas), dan Form (*.dfm)
A. File Project
Kita dapat melihat isi file project, caranya klik menu PROJECT > VIEW SOURCE. Berikut ini adalah salah satu contoh bentuk isi file project:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Sepertinya secara sekilas strukturnya mirip dengan Pascal?? Lha iya emang mirip Pascal, karena basic dari bahasa Delphi adalah Pascal. Perintah Unit1 in 'Unit1.pas' {Form1}; bermakna bahwa dalam PROJECT1 terdapat satu buah form dengan nama formnya adalah FORM1. Dalam FORM1 memiliki file unit dengan nama UNIT1.PAS. Perintah yang sama akan muncul kembali apabila terdapat form dan unit yang lebih dari satu pada PROJECT1.
Tips:
Jangan coba-coba untuk utak-atik atau mengubah file ini, karena apabila Anda tidak memahami maksudnya, bisa rusak projectnya.
B. File Unit
Berikut ini adalah salah satu contoh isi dari file unit:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
<----- tempat menuliskan event-event -------->
end.
Tips:
Seperti halnya file project, hindari pengubahan atau penghapusan bagian dari isi file unit di atas kecuali bagian program untuk eventnya.
C. File Form
Berikut ini adalah contoh isi file *.dfm
object Form1: TForm1
Left = 192
Top = 107
Width = 544
Height = 375
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object Button1: TButton
Left = 120
Top = 16
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
end
end
File tersebut menginformasikan tentang properti yang dimiliki oleh suatu file unit atau suatu form. Dalam file di atas tampak bahwa terdapat 2 buah obyek dalam suatu form/unitm yaitu obyek form itu sendiri dan obyek yang kedua adalah tombol (button).
Meletakkan Komponen dalam Form
Istilah komponen di atas memiliki arti yang sama dengan obyek. Seperti dijelaskan sebelumnya bahwa kita dapat meletakkan dan mengatur obyek/komponen dalam form. Komponen-komponen dalam Delphi sangat banyak sekali. Semakin tinggi versinya jumlah komponennya semakin banyak. Untuk memudahkan mengingat-ingat letak komponen, maka komponen-komponen dalam Delphi dikelompokkan dalam Component Palletes.
Ada beberapa cara menempatkan komponen ke form.
- Pilih komponen (klik komponen yang diinginkan) pada Components Palette kemudian klik pada form dimana komponen itu akan diletakkan.
- Klik ganda pada komponen yang diinginkan, maka komponen tersebut akan ditambahkan pada form
- Anda dapat menggunakan Copy dan Paste bila ingin membuat komponen yang sama yang sudah ada pada form. Caranya Shift-Klik kiri pada komponen yang ada di form, lalu pilih menu Copy (Ctrl-C) kemudian pilih menu Paste (Ctrl-V).
Menghapus Komponen
Untuk menghapus komponen yang sudah diletakkan dalam form caranya cukup mudah. Caranya sama seperti ketika Anda menghapus obyek dalam MS WORD dan konco-konconya, yaitu pilih/klik komponen yang akan dihapus, trus tekan DELETE.
Menghapus Event
Untuk menghapus event, mmm... ini caranya agak sedikit rumit.
Perhatikan file unit yang di dalamnya terdapat dua event di bawah ini.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
Misalkan Anda ingin menghapus event 1, caranya blok event 1 tersebut kemudian hapus (DELETE). Kemudian hapus pula perintah
procedure Button1Click(Sender: TObject); yang terletak pada bagian TYPE.
Selanjutnya apabila Anda me-run program, Anda akan dikonfirmasi oleh Delphi dengan pertanyaan “bla..bla..bla..... Remove the reference?”, Jawab saja dengan YES.
Delphi diimplementasikan.
A. Studi Kasus I – Bekerja dengan Form
Dalam studi kasus ini, kalian diminta membuat program sederhana khususnya untuk event – handling. Desain program adalah seperti dibawah ini.
Ubahlah properti setiap komponen yang ada seperti di bawah ini:
Komponen Properti Value
Form1 Caption Contoh Event Handling
Height 101
Name Frmkasus1
Width 234
Label1 Caption (kosongkan)
Name Lblstatus
Button1 Caption Tombol I
Name Btnpertama
Button2 Caption Tombol II
Name Btnkedua
Skenario:
Apabila Button1 ditekan/diklik, maka Label1 akan menampilkan teks ‘Anda menekan tombol pertama’ dan warna form berubah menjadi merah, sedangkan apabila Button2 diklik, maka Label1 akan menampilkan teks ‘Anda menekan tombol kedua’ dan warna form berubah menjadi hijau.
Membuat event:
Kita akan memberi event pada Button1, caranya klik sekali pada Button1, buka events pada Object Inspector, double klik di sebelah kanan OnCLICK dan lengkapi procedure sehingga menjadi seperti di bawah ini:
procedure TFrmkasus1.BtnpertamaClick(Sender: TObject);
begin
Lblstatus.Caption := 'Anda menekan tombol pertama';
Frmkasus1.Color := clred;
end;
Perintah Lblstatus.Caption := 'Anda menekan tombol pertama'; artinya adalah memberi value suatu string pada properti caption dari komponen dengan nama Lblstatus (label1). Sedangkan perintah FrmKasus1.Color := clred; bermakna bahwa properti color dari komponen FrmKasus1 (form1) diubah menjadi clred(merah).
Dari keterangan di atas, dapat disimpulkan bahwa kalian dapat mengubah properti suatu komponen dengan menggunakan code perintah seperti di atas (tidak menggunakan Object Inspector).
Dengan cara yang hampir sama, lakukan untuk Button2.
Setelah selesai kalian bisa RUN dengan mengklik menu RUN > pilih RUN atau tekan F8.
Untuk keluar dari mode RUN (kembali ke mode EDIT), klik menu RUN > PROGRAM RESET atau tekan CTRL+F2. Dibawah ini adalah tampilan ketika dalam mode RUN.