• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. membuat sesuatu tujuan sulit untuk dicapai, hal ini berhubungan dengan

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. membuat sesuatu tujuan sulit untuk dicapai, hal ini berhubungan dengan"

Copied!
17
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Problem, Algorithm dan Analisis Algoritma 2.1.1 Definisi Problem

Problem (permasalahan) adalah sebuah kendala atau hambatan di mana

membuat sesuatu tujuan sulit untuk dicapai, hal ini berhubungan dengan situasi, kondisi, atau persoalan-persoalan yang belum terselesaikan. Sebuah

Problem timbul dikarenakan seorang individu menjadi sadar akan perbedaan

yang berarti antara apakah yang sebenarnya dan apakah yang merupakan hasrat atau keinginan. Setiap Problem membutuhkan jawaban atau solusi. Suatu Problem dikatakan telah selesai apabila tujuan telah dicapai atau sudah tidak ada masalah lagi.

2.1.2 Definisi Algorithm

Algorithm berasal dari kata Algoris dan Ritmis, kata-kata ini berasal dari

seorang ahli matematika, Mohammed ibn-Musa al-Khwarizmi, yang merupakan bagian dari royal court,Baghdad, dan hidup antara tahun 750 sampai 850.

Algorithm adalah sebuah prosedur yang terstruktur dan dituliskan secara

sistematis untuk menyelesaikan sebuah tugas di mana, memberikan initial state (keadaan awal), dan akan terminate di akhir (end state) dengan bantuan komputer.

Teori Algorithm menurut Horowitz :

(2)

2. Output, paling sedikit dihasilkan satu kuantitas. 3. Definiteness, setiap instruksi jelas atau tidak ambigu.

4. Finiteness, jika suatu instruksi algoritma akan ditelusuri, dan dalam semua kasus, algoritma berakhir dalam beberapa langkah yang terbatas. 5. Effectiveness, setiap instruksi harus bersifat mendasar sehingga mudah

diterapkan, secara prinsip dapat dikerjakan oleh seseorang walaupun dengan menggunakan pensil dan kertas.

Gambar 2.1 Hubungan Masalah, Algoritma dan Solusi

2.1.3 Definisi analisis algoritma

Algoritma tidak selalu memberikan hasil terbaik yang mungkin diperoleh, maka diharapkan adanya suatu evaluasi hasil dari algoritma tersebut. Jika sebuah algoritma diberikan untuk menyelesaikan suatu permasalahan dan akan memberikan hasil yang diharapkan, maka langkah selanjutnya adalah menganalisi algoritma. Menganalisis algoritma adalah untuk menetapkan sejumlah sumber (seperti waktu dan storage) yang dibutuhkan untuk pengeksekusian, sehingga kita dapat menentukan besar biaya yang diperlukan algoritma tersebut untuk memperoleh hasil itu. Ukuran biaya eksekusi suatu algoritma yang paling sering digunakan adalah lamanya waktu diperlukan, disamping itu ada juga tolak ukur lainnya, misalnya besarnya memori yang diperlukan.

(3)

Kebanyakan algortima dirancang untuk bekerja dengan input yang panjangnya tidak terbatas. Biasanya efisiensi atau komplesitas dari sebuah algoritma disamakan dengan sebuah fungsi yang berkaitan dengan panjangnya

input – banyaknya langkah (kompleksitas waktu) atau lokasi penyimpanan.

2.1.4 Kompleksitas Waktu, Algoritma dan Masalah

Salah satu ukuran biaya dalam pengeksekusian sebuah algoritma adalah lamanya waktu yang diperlukan. Pengukuran waktu yang diperlukan dalam mengeksekusi suatu algoritma dinamakan kompleksitas waktu (time complexity) algoritma tersebut (Liu, C.L, 1995, p272).

Besarnya waktu yang dibutuhkan algoritma untuk menyelesaikan sebuah permasalahan sebanding dengan jumlah inputan yang diberikan untuk permasalahan tersebut. Semakin besar data maka akan semakin besar waktu yang diperlukan. Sebagai contoh, diperlukan waktu yang lebih besar untuk mengurutkan 10.000 buah data dibanding dengan 10 buah data. Akan tetapi, pada keadaan sebenarnya, nilai dari suatu algoritma ditentukan dari banyak faktor, misalnya kecepatan komputer yang dipakai, kualitas compiler dan dalam beberapa kasus, kualitas program itu sendiri (Weiss, Mark Allen, 1996, pl49). Dua buah algoritma yang berbeda dapat digunakan memecahkan masalah yang sama dan mungkin saja, mempunyai kompleksitas waktu (time complexity) yang sangat berbeda (Liu, C.L, 1995, p274). Kompleksitas waktu algoritma terbaik untuk memecahkan masalah tersebut dinamakan sebagai kompleksitas waktu suatu masalah (time complexcity of problem) (Liu, C.L, 1995, p277).

(4)

Berdasarkan pengertian problem (masalah) di atas, tidak semua masalah dapat dipecahkan, dengan kata lain mempunyai algoritma solusi.

Ada dua buah klasifikasi permasalahan (Leahy, Billy., 2000, pp21-24), yaitu sebagai berikut:

1. Permasalahan yang dapat dipecahkan (decidable / solvable problem)

Permasalahan yang termasuk klasifikasi ini adalah semua jenis permasalahan yang mempunyai algoritma solusi, walaupun kadang kala tidak praktis. Dari segi komputasi, permasalahan dalam klasifikasi ini dapat dibedakan menjadi tiga kategori yaitu:

1. Permasalahan Tractable (mudah dari segi komputasi)

Suatu masalah dikatakan tractable jika masalah tersebut dapat dipecahkan oleh suatu algoritma yang eflsien. Contoh permasalahan

trackable antara lain adalah masalah penentuan bilangan terbesar di

antara n bilangan, pengurutan n bilangan, penentuan lintasan terpendek antara dua buah vertex di dalam sebuah graph dan lain sebagainya.

2. Permasalahan Intractable (sukar dari segi komputasi)

Suatu masalah dikatakan intractable jika tidak ada algoritma yang eflsien untuk memecahkan masalah tersebut.

3. Permasalahan NP-Complete (NP singkatan dari Non-Deterministik Polinomial)

Suatu masalah dikatakan NP-Complete apabila masalah itu telah berhasil dibuktikan termasuk dalam masalah intractable. Contohnya adalah permasalahan pewarnaan graf.

(5)

2. Permasalahan yang tidak dapat dipecahkan {undecidable / unsolveable

problem)

Permasalahan yang termasuk dalam klasifikasi ini adalah semua permasalahan yang tidak mempunyai algoritma solusi, maksudnya adalah tidak dapat dilakukan perhitungan, atau tidak dapat diperoleh jawaban dalam waktu yang terbatas. Contohnya adalah permasalahan

unbounded tiling.

2.2 Optimalisasi

Optimalisasi adalah sebuah proses memodifikasi sistem untuk membuat beberapa aspek agar bekerja lebih efisien atau menggunakan resource (sumber) lebih sedikit. Sebuah program computer dioptimalisasi sehingga bisa menjalankan tugasnya lebih dengan cepat, atau mampu untuk beroperasi dalam pengurangan sejumlah memory storage. Dalam optimalisasi pencarian solusi dengan kemungkinan-kemungkinan terbaik dilakukan, optimalisasi bisa berarti permasalahan maksimalisasi, memaksimalkan pencapaian nilai terbaik atau permasalahan minimalisasi, meminimalkan biaya.

Pengoptimalisasian sistem khususnya hanya bisa optimal di satu sisi. Di satu sisi mungkin mengurangi sejumlah waktu untuk sebuah program beroperasi melakukan tugas-tugas yang membuat memori termakan banyak sehingga harga menjadi lebih tinggi atau sesorang sengaja memilih algoritma yang sederhana untuk mengurangi pemakaian memori yang besar. Mungkin tidak ada model

“one size fits all” yang bekerja untuk semua kasus, jadi pembuat software

(6)

seperti apa. Usaha untuk membuat perangkat lunak yang benar-benar optimal (tidak mungkin untuk dilakukan perbaikan) adalah sebuah alasan untuk keuntungan, jadi proses optimalisasi.

Menurut Nash & Sofer (1996, p3) optimasi adalah sarana untuk mengekspresikan model matematika yang bertujuan untuk memecahkan masalah dengan cara yang terbaik. Jika digunakan untuk tujuan bisnis, artinya memaksimalkan keuntungan dan efisiensi serta meminimalkan kerugian, biaya dan resiko.

Dalam Pembahasan skripsi ini optimalisasi yang dilakukan penulis adalah memaksimalkan jumlah barang yang dapat masuk dengan cara pemaksimalan di alas mobil box atau bisa dikatakan meminimalisasi ruang kosong yang ada

2.3 Gambaran umum tentang Dua Dimensi cutting box

Dua Dimensi cutting box adalah sebuah cara matematis yang secara efektif melakukan penempatan elemen secara dua dimensi kedalam bins (tempat penyimpanan). Setiap elemen itu adalah pasti, tidak nol (non-zero) dan mempunyai nilai yang positif. Cutting adalah sebuah cara atau perhitungan penempatan elemen,dalam kasus ini adalah box.

Tujuan setiap algortima Dua Dimensi cutting box adalah meminimalkan penggunaan bin untuk menampung sejumlah elemen yang dibutuhkan.

Bin : ukuran yang pasti dari sebuah mobil box, yang dapat menampung elemen.

(7)

Elemen : sebuah item (barang) yang ditempatkan di dalam bin

yang mempunyai tinggi yang pasti (element height).

Ada banyak variasi dari masalah ini, seperti linear packing,

packing by weight, packing by cost, dan lain-lain. Karena termasuk ke dalam NP-Hard, maka algoritma yang diketahui paling efisien adalah heuristic, untuk

mendapatkan hasil yang baik dalam kebanyakan kasus, di mana mungkin saja bukan sebagai solusi yang optimal. Heuristic adalah sebuah algoritma mungkin saja menemukan solusi yang baik tetapi tidak ada bukti bahwa solusinya tidak bisa menjadi buruk secara tidak masuk akal, tidak ada argumen tentang hal ini bahwa ini mungkin saja terjadi.

2.3.1 NP- Hard

Dalam teori “computational complexity”, NP (“Non-deterministic

Polynomial time") adalah sekumpulan permasalahan yang dapat dipecahkan

menggunakan polynomial time - non-deterministic Turing machine. Turing

machines merupakan symbol abstrak dasar yang memanipulasi alat di mana,

dapat disesuaikan untuk mensimulasi logika dari computer yang secara mungkin dapat dikonstruksi. Hal ini dikemukakan pada tahun 1936 oleh Alan Turing.

Polynomial time adalah permasalahan waktu komputasi (ukuran berapa

banyaknya langkah yang digunakan perangkat keras atau sistem perangkat lunak dalam pengkomputasi-pemrosesan informasi). Polynomial adalah sebuah pernyataan yang terbentuk dari satu atau lebih variable dan konstanta, dan hanya menggunakan penjumlahan, pengurangan serta perkalian.

(8)

Sebuah kelas yang kompleks dari decision problems di mana pada dasarnya lebih sulit daripada masalah yang bias diselesaikan dengan

nondeterministic Turing machine dalam polynomial time.

Ada tiga kelas problem (permasalahan) :

P adalah kumpulan “yes/no” problem yang bisa dipecahkan dalam waktu polynomial. Jadi bisa dikatakan bahwa P adalah kumpulan permasalahan yang bisa dipecahkan secara cepat.

NP adalah sekumpulan “yes/no” problem diikuti dengan property : jika “yes” maka ada pembuktian dari fakta itu yang bisa dicek dalam waktu polynomial. Jadi bisa dikatakan bahwa NP adalah sekumpulan permasalahan di mana bisa dikatakan “yes” jika terdapat solusinya.

co-NP adalah kebalikan dari NP. Jika jawaban dari permasalahan dalam co-NP adalah “no” maka ada pembuktian dari fakta itu yang bisa dicek dalam waktu polynomial.

Gambar 2.1 ilustrasi hubungan antara P, NP, co-NP.

2.4 Fungsi Heuristic

Pada skripsi ini, pembahasan difokuskan pada pemecahan permasalah untuk Dua Dimension Cutting box, di mana tujuan dari pemecahan masalah ini

(9)

adalah mendapatkan suatu formula atau cara dalam penempatan barang 2 dimensi sehingga penempatan yang dilakukan bisa meminimalisasi ruang kosong. Ada banyak cara untuk menyelesaikan permasalahan Dua Dimensi Cutting box ini, salah satunya adalah dengan menggunakan metode A* Heuristic.

Menurut Amit.J.Patel (2003, pl), heuristic merupakan aturan-aturan untuk memilih cabang-cabang yang memiliki kemungkinan mengarah pada pemecahan masalah. Karena heuristic menggunakan informasi yang terbatas maka heuristic mungkin gagal dalam memprediksi perilaku secara tepat dalam pencarian. Heuristic dapat membantu menunjukan arah yang tepat bagi suatu algoritma, tetapi mungkin juga gagal dalam memberikan petunjuk pada algortima tersebut.

Definisi Heuristic yang didapat dari berbagai sumber diterangkan pada penjelasan berikut ini :

Sebuah algoritma heuristic adalah suatu aturan untuk mengetahui bagaimana pemecahan permasalahan tertentu, tidak memberikan instruksi yang spesifik tetapi panduan umum untuk bermacam pendekatan yang mungkin dapat bekerja.

• Istilah heuristic digunakan untuk algoritma di mana mencari solusi melalui semua kemungkinan yang ada, tetapi dalam pencariannya tidak bisa dijamin ditemukan solusi yang terbaik, oleh karena itu heuristic dianggap algortima perkiraan. Algoritma ini biasanya mencari solusi yang dekat dengan solusi terbaik dan proses pencariannya cepat dan mudah. Terkadang algortima ini dapat menjadi akurat dan menemukan

(10)

solusi terbaik, tetapi algoritma ini tetap disebut heuristic hingga solusi terbaik itu terbukti untuk menjadi yang terbaik.

2.4.1 Metode A* Heuristic

Metode A* tanpa fungsi heuristic yang baik akan memperlambat pencarian dan dapat menghasilkan rute yang tidak tepat. Fungsi heuristic yang sempurna akan membuat metode A* langsung menuju final node tanpa harus mencari-cari kearah lain. Sehingga jika fungsi heuristicnya terlalu underestimate akan menyebabkan algoritma ini beranggapan bahwa ada rute lain yang lebih baik. Untuk fungsi heursitic yang underestimate, bila nilainya terlalu rendah akan menyebabkan algoritma ini seperti algortima Dijkstra's yang mencari kesegala arah yang mungkin. Hal ini dikarenakan tidak ada cukup informasi mengenai masalah yang dihadapi, sehingga menyebabkan metode A* melakukan pencarian lebih banyak dan lebih lama.

Dalam ilmu computer, A* ( disebut “A star”) adalah sebuah graph atau metode tree search yang digunakan untuk mencari jalan dari sebuah node awal ke node tujuan (goal node) yang telah ditentukan, metode ini menggunakan “estimasi heuristic” h(x) pada setiap node untuk me-ranking setiap node x berdasarkan estimasi rute terbaik yang melalui node tersebut. Dalam prosesnya metode ini akan mengunjungi setiap node berdasarkan urutan yang dihasilkan dari estimasi heuristic ini. Metode A* adalah salah satu contoh dari metode

best-first search.

Metode A* dikembangkan oleh Peter Hart, Nils Nilsson, dan Bertram Raphael, mereka juga menyebut metode tersebut dengan sebutan algoritma A,

(11)

dengan menggunakan metode ini dan dengan heuristic yang tepat menghasilkan sebuah hasil yang optimal, yaitu A*. Secara umum, Depth-first search (DFS)

dan breadth-first search (BFS) adalah dua kasus special dari metode A*.

Algoritma Dijkstra's merupakan kasus yang paling special dari A* , di mana h(x) = 0 , untuk semua x.

Dalam masalah pencarian rute di mana metode A* sering digunakan, A* secara bertahap membangun semua rute yang mengarah mulai dari titik awal sampai akhirnya mencapai titik akhir. Metode A* hanya membangung rute yang mungkin digunakan untuk mencapai tujuan. Untuk mengetahui rute mana yang memungkinkan mengarah ke titik akhir, A* menggunakan estimasi heuristic jarak dari sembarang node ke node tujuan. Dalam kasus pencarian rute, ini bisa jadi sama dengan jarak lurus antara dua titik, di mana biasanya merupakan perkiraan dari jarak jalan.

2.4.1.1 Fungsi A* Heuristic

fungsi adalah aturan yang menugaskan sebuah output untuk tiap-tiap input yang diberikan. Aturan mendefinisikan suatu fungsi dapat dispesifikasi oleh suatu formula, relasi, atau tabel yang mendaftar output terhadap input. Pola terpenting dari suatu fungsi adalah ia bersifat deterministik, yakni selalu menghasilkan output yang sama dari input yang sama. Input sering disebut argumen fungsi, dan output disebut nilai fungsi

A* mempertahankan sebagian dari solusi, sebagai contoh jalur pada graph dimulai dari node awal, akan disimpan dalam sebuah queue

(12)

yang disebut priority queue. Prioritas yang diberikan ke sebuah jalur x ditentukan oleh fungsi f(x) = g(x) + h(x)

Di sini, g(x) adalah nilai cost dari path yang telah ditemukan, yaitu berat atau bobot dari jalur antar node yang telah dilalui. h(x) adalah estimasi heuristik dari nilai cost paling minimal yang digunakan atau didapat untuk mencapai goal dari x. sebagai contoh , jika “ cost” adalah jarak yang telah ditempuh, jarak lurus antara dua titik pada sebuah peta adalah estimasi heuristik dari jarak yang akan ditempuh. Semakin kecil nilai f(x), semakin besar prioritasnya.

Untuk kasus 2 dimensi cutting box, fungsi f(x) = g(x) + h(x) didefinisikan sebagai berikut :

• g(x) adalah heuristic luas. g(x) = Panjang cut x Lebar cut

Perhitungan ini digunakan untuk menentukan barang mana yang pertama kali akan diletakan.

• h(x) adalah heuristic sisi.

Sk = (( KB – JK) + ( Kb – JK)) h(x) = (Sk - JKB) + Nt

Jika nilai h(x)1.1 < nilai h(x)1.2, maka ambil nilai h(x)1.2 , lalu bandingkan dengan nilai h(x) berikutnya sampai ditemukan nilai h(x) yang paling kecil.

Æ Sk = Sisa Keliling Æ KB = keliling box

(13)

Æ Kb = keliling cut

Æ JK = bangun cut yg terkena pembatas box

Æ JKB = bangun cut yg terkena dengan bangun yg lain (bersinggungan / saling berdempetan)

Æ h(x) = estimasi heuristic Æ Box = Papan = Mobil Box

Æ Cut = Barang = Item = Bangun = Elemen

2.4.1.2 Algoritma A* Heuristic

Di bawah ini adalah algoritma dasar dari A* Heuristic, algoritma inilah yang akan dipakai sebagai dasar dari pembuatan program simulasi 2 dimensi cutting box.

function A*(start,goal)

var closed := the empty set

var q := make_queue(path(start))

while q is not empty

var p := remove_first(q)

var x := the last node of p

if x in closed continue if x = goal return p add x to closed foreach y in successors(x) enqueue(q, p, y) return failure

Star adalah menuju pada node awal, sedangkan Goal adalah menuju pada node akhir (finish). Pertama-tama closed diinisialisasi dengan nilai awal nil, di mana closed adalah sebuah priority queue. Variabel q adalah sebuah variabel yang digunakan untuk membuat suatu

(14)

antrian barang (make queue). make queue adalah sebuah fungsi dimana fungsi ini akan membuat stack yang digunakan untuk antrian barang-barang. Dicek apakah q itu empty atau tidak (apakah diantrian masih ada barang atau tidak) , jika q itu tidak empty (ada barang), maka barang pertama dimasukkan ke stack successor, di mana stack successor disini adalah p, lalu dari p tersebut diambil nilai yang paling bagus lalu dimasukkan ke dalam x. Jika semua data x itu ada di variabel closed maka lanjutkan dengan barang berikutnya (kembali ke while), jika tidak ada di closed maka x ditambahkan ke closed, dan jika x tersebut adalah

goal maka perulangan berhenti. Semua nilai yg bisa membentuk successor dari x dibentuk lalu dimasukkan ke dalam daftar successor. Y

adalah sebuah variabel, di mana dia mengambil seluruh data satu persatu dari variabel x dan dimasukkan ke y lalu di enqueue.

Di bagian closed set (closed), semua node terakhir dari p (node dengan jalur yang ditemukan) dicatat, untuk menghindari pengulangan atau perputaran. Closed set bisa diabaikan jika ada solusi lain yang lebih baik dan menjanjikan, atau jika fungsi successors diadaptasi untuk menghindari pengulangan.

Seperti pada breadth-first search, metode A* adalah metode yang lengkap di mana ia akan selalu menemukan solusi jika memang ada. Jika fungsi heuristic h dapat diterima, dalam hal ini fungi h tidak pernah menghasilkan nilai estimasi yang terlalu tinggi dibandingkan dengan nilai minimal dari cost sebenarnya untuk mencapai tujuan, maka A* itu sendiri dapat diterima (optimal) jika kita tidak menggunakan closed set. Jika

(15)

closed set digunakan, maka h juga harus konsisten (monoton) agar A*

bisa optimal.

Metode A* juga sangat optimal dan efisien untuk setiap heuristic h, di mana hal ini berarti bahwa tidak ada algortima lain yang

menerapkan metode heuristic yang sama akan mendapatkan node yang lebih sedikit dari A*, kecuali ketika terdapat beberapa solusi parsial di mana h secara tepat memperkirakan nilai cost dari jalur optimal.

A* dapat menerima dan dapat memperhitungkan node lebih sedeikit bila dibandingkan dengan algoritma lainnya, karena A* mulai bekerja dari estimasi cost yang “optimistic” dari jalur yang dia lalui – optimistic di sini adalah nilai cost sebenarnya dari jalur yang dilalui untuk menuju node tujuan akan maksimal sama besar dengan nilai estimasi yang dihasilkan. Akan tetapi, secara kritis, selama hasil pencarian metode A* diperoleh, nilai estimasi “optimistic” tersebut mungkin akan dapat diperoleh.

Ketika A* berhenti melakukan pencarian, dapat diartikan bahwa A* menemukan sebuah jalur di mana nilai cost yang sebenarnya lebih kecil dari nilai estimasi cost dari jalur lainnya yang melalui open node manapun. Tetapi sejak estimasi tersebut “optimistic”, A* bisa mengabaikan secara aman node-node tersebut. Dengan kata lain, A* tidak akan pernah melewatkan kemungkinan adanya jalur dengan nilai cost yang rendah dan oleh karena itu hasilnya dapat diterima.

Asumsikan sekarang ada sebuah algoritma lain pencarian lainnya A, menghentikan pencariannya dengan hasil jalur di mana nilai cost

(16)

sebenarnya tidak kurang dari nilai estimasi cost dari sebuah jalur melalui beberapa open node. Algortima A tidak bisa mengesampingkan kemungkinannya, berdasarkan dari informasi heuristic yang dimiliki, bahwa sebuah jalur melalui node tersebut mungkin mempunyai nilai cost yang lebih rendah. Jadi ketika metode A mungkin bisa mempertimbangkan node dengan jumlah yang lebih sedikit daripada metode A*, hal ini tidak dapat diterima. Dengan demikian, metode A* mempertimbangkan node dengan jumlah yang paling sedikit bila dibandingkan dengan algoritma pencarian yang bisa diterima lainnya yang menggunakan estimasi heuristic yang tidak akurat.

2.5 Pengenalan Bahasa Pemrograman Delphi 7.0

Borland Delphi atau yang biasa disebut Delphi saja, merupakan sarana pemrograman aplikasi visual. Bahasa pemrograman yang digunakan adalah bahasa pemrograman Pascal. Delphi merupakan generasi penerus dari Turbo Pascal. Turbo Pascal yang diluncurkan pada tahun 1983 dirancang untuk dijalankan pada sistem operasi DOS (yang merupakan sistem operasi yang paling banyak digunakan pada saat itu). Sedangkan Delphi yang diluncurkan pertama kali tahun 1995 dirancang untuk beroperasi di bawah sistem operasi Windows.

Delphi memiliki sarana yang tangguh untuk pembuatan aplikasi, mulai dari sarana untuk pembuatan form, menu, toolbar, hingga kemampuan untuk menangani pengelolaan basis data yang besar. Kelebihan-kelebihan yang dimiliki Delphi antara lain karena pada Delphi, form dan

(17)

komponen-komponennya dapat dipakai ulang dan dikembangkan, mampu mengakses VBX, tersedia template aplikasi dan template form, memiliki lingkungan pengembangan visual yang dapat diatur sesuai kebutuhan, menghasilkan file terkompilasi yang berjalan lebih cepat, serta kemampuan mengakses data dari bermacam-macam format.

Delphi menerapkan konsep aplikasi yang digerakan oleh event (even

driven). Pemrograman event driven mencoba melengkapi kekurangan

pemrograman prosedural dengan kerangka yang membedakan antara antarmuka pemakai dengan proses tertentu dalam aplikasi. Dengan adanya sarana pemrograman visual yang event driven, para pembuat aplikasi sangat terbantu ketika menyediakan sarana antarmuka bagi pemakai. Dengan demikian, harapannya ia akan lebih terkonsentrasi pada penanganan masalah aplikasinya, bukan antarmukanya. (Wahana Komputer, 2003, p1-3).

Referensi

Dokumen terkait

Kejadian ini menyebabkan peningkatan iskemia pada saluran nafas yang rusak, selanjutnya Kejadian ini menyebabkan peningkatan iskemia pada saluran nafas yang rusak, selanjutnya terjadi

Bapak Yaya Sudarya,M.Kom.,Ph.D, selaku Dosen Pembimbing Tugas Akhir pada Jurusan Sistem Informasi, Universitas Mercu Buana, yang telah banyak memberikan bimbingan, saran,

Pada penelitian ini, variabel yang digunakan sebagai input yaitu beban personalia dan beban bagi hasil serta output yang digunakan yaitu total pembiayaan dan

Pelajar dapat mengemukakan, menghurai dan menganalisis aktiviti utama yang dilaksanakan bersesuaian dengan konteks dalam 4 aspek dan mencapai tahap maksimum

Seng (Zn) adalah mikromineral yang ada di seluruh jaringan tubuh hewan dan terlibat dalam fungsi berbagai enzim dalam proses metabolisme serta komponen penting

1) Fungsi yang terkait a) Fungsi Penjualan. Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk menerima surat order dari pelanggan, mengedit order

Valbury Asia Securities or their respective employees and agents makes any representation or warranty or accepts any responsibility or liability as to, or in relation to, the

Memahami kinetika reaksi, kesetimbangan kimia, dan faktor-faktor yang mempengaruhinya, serta penerapannya dalam kehidupan sehari-hari dan industri. Daya Intake