Berisi kesimpulan dan saran yang sudah diperoleh dari hasil
penulisan tugas akhir.
Hak Cipta © milik UPN "Veteran" Jatim :
BAB II
TINJAUAN PUSTAKA
2.1. Algorithma dan Pemrograman
Dalam matematika dan komputasi, algoritma atau algoritme
merupakan kumpulan perintah untuk menyelesaikan suatu masalah.
Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga
akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap
masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum
menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua
kondisi awal yang memenuhi kriteria, dalam hal ini berbeda
dengan heuristik. Algoritma sering mempunyai langkah pengulangan
(iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan)
sampai tugasnya selesai. Sedangkan pemrograman itu sendiri adalah proses
menulis, menguji dan memperbaiki (debug), dan memelihara kode yang
membangun sebuah program komputer. Kode ini ditulis dalam
berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk
memuat suatu program yang dapat melakukan suatu perhitungan atau
“pekerjaan” sesuai dengan keinginan si pemrogram. Untuk dapat melakukan
pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa
pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.2. Algorithma Knuth Morris Pratt
Algoritma Knuth – Morris - Pratt adalah salah satu algoritma
pencarian string, dikembangkan secara terpisah oleh Donald E. Knuth pada
tahun 1967 dan James H. Morris bersama Vaughan R. Pratt pada tahun
1966, namun keduanya mempublikasikannya secara bersamaan pada tahun
1977.
Jika kita melihat algoritma brute force lebih mendalam, kita
mengetahui bahwa dengan mengingat beberapa perbandingan yang
dilakukan sebelumnya kita dapat meningkatkan besar pergeseran yang
dilakukan. Hal ini akan menghemat perbandingan, yang selanjutnya akan
meningkatkan kecepatan pencarian.
Perhitungan penggeseran pada algoritma ini adalah sebagai berikut, bila
terjadi ketidakcocokkan pada saat pattern sejajar dengan teks[i..i + n − 1],
kita bisa menganggap ketidakcocokan pertama terjadi di
antara teks[i + j] dan pattern[j], dengan 0 < j < n. Berarti, teks[i..i + j − 1]
= pattern[0..j − 1] dan a = teks[i + j] tidak sama dengan b = pattern[j].
Ketika kita menggeser, sangat beralasan bila ada sebuah awalan v dari
pattern akan sama dengan sebagian akhiran u dari sebagian teks. Sehingga
kita bisa menggeser pattern agar awalan v tersebut sejajar dengan akhiran
dari u.
Dengan kata lain, pencocokkan string akan berjalan secara efisien bila
kita mempunyai tabel yang menentukan berapa panjang kita seharusnya
9
pattern. Tabel 1` harus memuat next[j] yang merupakan posisi
karakter pattern[j] setelah digeser, sehingga kita bisa menggeser pattern
sebesar j − next[j] relatif terhadap teks. [5].
Secara sistematis, langkah-langkah yang dilakukan algoritma
Knuth-Morris-Pratt pada saat mencocokkan string :
1. Algoritma Knuth-Morris-Pratt mulai mencocokkan pattern pada awal
teks.
2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per
karakter pattern dengan karakter di teks yang bersesuaian, sampai salah
satu kondisi berikut dipenuhi :
a. Karakter di pattern dan di teks yang dibandingkan tidak cocok
(mismatch).
b. Semua karakter di pattern cocok. Kemudian algoritma akan
memberitahukan penemuan di posisi ini.
3. Algoritma kemudian menggeser pattern berdasarkan tabel next, lalu
mengulangi langkah no. 2 sampai pattern berada di ujung teks. [5].
Pseudocode
Berikut adalah pseudocode algoritma Knuth-Morris-Pratt pada fase
pra-pencarian :
procedure preKMP(
input P : array[0..n-1] of char, input n : integer,
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. ) Deklarasi: i,j: integer Algoritma i := 0; j := kmpNext[0] := -1; while (i < n) {
while (j > -1 and not(P[i] = P[j])) j := kmpNext[j]; i:= i+1; j:= j+1; if (P[i] = P[j]) kmpNext[i] := kmpNext[j]; else kmpNext[i] := j; endif endwhile
Dan berikut adalah pseudocode algoritma Knuth-Morris-Pratt pada fase
pencarian :
procedure KMPSearch( input m, n : integer,
input P : array[0..n-1] of char, input T : array[0..m-1] of char,
output ketemu : array[0..m-1] of boolean )
Deklarasi:
i, j,next: integer
kmpNext : array[0..n] of interger Algoritma:
preKMP(n, P, kmpNext) i:=0
11
j:=0
while (j < n and T[i+j] = P[j]) do j:=j+1 endwhile if(j >= n) then ketemu[i]:=true; endif next:= j - kmpNext[j] i:= i+next endwhile
2.3. Algorithma Booyer - Moore
Algoritma Booyer - Moore adalah salah satu algoritma pencarian
string, dipublikasikan oleh Robert S. Boyer, dan J. Strother Moore pada
tahun 1977.
Algoritma ini dianggap sebagai algoritma yang paling efisien pada
aplikasi umum. Tidak seperti algoritma pencarian string yang ditemukan
sebelumnya, algoritma Booyer-Moore mulai mencocokkan karakter dari
sebelah kanan pattern. Ide dibalik algoritma ini adalah bahwa dengan
memulai pencocokkan karakter dari kanan, dan bukan dari kiri, maka akan
lebih banyak informasi yang didapat.
Misalnya ada sebuah usaha pencocokan yang terjadi pada teks[i..i + n −
1], dan anggap ketidakcocokan pertama terjadi di
antara teks[i + j] dan pattern[j], dengan 0 < j < n. Berarti, teks[i + j +
1..i + n − 1] = pattern[j + 1..n − 1] dan a = teks[i + j] tidak sama
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. sebelum b dan v adalah sebuah awalan dari pattern, maka
penggeseran-penggeseran yang mungkin adalah :
1. Penggeseran good-suffix yang terdiri dari mensejajarkan
potongan teks[i + j + 1..i + n − 1] = pattern[j + 1..n − 1] dengan
kemunculannya paling kanan di pattern yang didahului oleh karakter
yang berbeda dengan pattern[j]. Jika tidak ada potongan seperti itu,
maka algoritma akan mensejajarkan akhiran v dari teks[i + j + 1..i + n −
1] dengan awalan dari pattern yang sama.
2. Penggeseran bad-character yang terdiri dari
mensejajarkan teks[i + j] dengan kemunculan paling kanan karakter
tersebut di pattern. Bila karakter tersebut tidak ada di pattern, maka
pattern akan disejajarkan dengan teks[i + n + 1].
Secara sistematis, langkah-langkah yang dilakukan algoritma Boyer-Moore
pada saat mencocokkan string adalah :
1. Algoritma Boyer-Moore mulai mencocokkan pattern pada awal teks.
2. Dari kanan ke kiri, algoritma ini akan mencocokkan karakter per
karakter pattern dengan karakter di teks yang bersesuaian, sampai salah
satu kondisi berikut dipenuhi :
a. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
b. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini.
13
3. Algoritma kemudian menggeser pattern dengan memaksimalkan nilai
penggeseran good-suffix dan penggeseran bad-character, lalu
mengulangi langkah 2 sampai pattern berada di ujung teks. [3].
Berikut adalah pseudocode algoritma Boyer-Moore pada fase pra-pencarian :
procedure preBmBc(
input P : array[0..n-1] of char, input n : integer,
input/output bmBc : array[0..n-1] of integer ) Deklarasi: i: integer Algoritma: for (i := 0 to ASIZE-1) bmBc[i] := m; endfor for (i := 0 to m - 2) bmBc[P[i]] := m - i - 1; endfor procedure preSuffixes(
input P : array[0..n-1] of char, input n : integer,
input/output suff : array[0..n-1] of integer )
Deklarasi:
f, g, i: integer Algoritma:
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. g := n - 1; for (i := n - 2 downto 0) { if (i > g and (suff[i + n - 1 - f] < i - g)) suff[i] := suff[i + n - 1 - f]; else if (i < g) g := i; endif f := i; while (g >= 0 and P[g] = P[g + n - 1 - f]) --g; endwhile suff[i] = f - g; endif endfor procedure preBmGs(
input P : array[0..n-1] of char, input n : integer,
input/output bmBc : array[0..n-1] of integer )
Deklarasi: i, j: integer
suff: array [0..RuangAlpabet] of integer preSuffixes(x, n, suff);
for (i := 0 to m-1) bmGs[i] := n endfor
15 for (i := n - 1 downto 0) if (suff[i] = i + 1) for (j:=j to n - 2 - i) if (bmGs[j] = n) bmGs[j] := n - 1 - i endif endfor endif endfor for (i = 0 to n - 2) bmGs[n - 1 - suff[i]] := n - 1 - i; endfor
Dan berikut adalah pseudocode algoritma Boyer-Moore pada fase pencarian :
procedure BoyerMooreSearch( input m, n : integer,
input P : array[0..n-1] of char, input T : array[0..m-1] of char,
output ketemu : array[0..m-1] of boolean )
Deklarasi:
i, j, shift, bmBcShift, bmGsShift: integer BmBc : array[0..255] of interger BmGs : array[0..n-1] of interger Algoritma: preBmBc(n, P, BmBc) preBmGs(n, P, BmGs) i:=0 while (i<= m-n) do
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. j:=n-1
while (j >=0 n and T[i+j] = P[j]) do j:=j-1 endwhile if(j < 0) then ketemu[i]:=true; endif bmBcShift:= BmBc[chartoint(T[i+j])]-n+j+1 bmGsShift:= BmGs[j]
shift:= max(bmBcShift, bmGsShift) i:= i+shift
2.4. Rekayasa Perangkat Lunak
Rekayasa perangkat lunak telah berkembang sejak pertama kali
diciptakan pada tahun 1940-an hingga kini. Fokus utama pengembangannya
adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan
produktivitas para praktisi pengembang perangkat lunak dan kualitas
aplikasi yang dapat digunakan oleh pemakai.
Menurut IEEE, RPL adalah aplikasi yang pendekatannya sistematis,
disiplin, bisa terukur untuk pengembangan operasional dan pembuatan
software.
Pondasi RPL adalah lapisan proses, karena terkait dengan teknologi dan
waktu pengembangan. Proses mendefinisikan framework Key Prosess Are
(KPA) yang harus dibuat untuk penekanan teknologi RPL yang efektif.
17
Yang termasuk metode : analisa, desain, pembuatan program, pengujian
dan perawatan. Tool padA RPL digunakan untuk memberikan dukungan
otomatisasi atau semi otomatis pada proses dan metode. Sistem yang biasa
digunakan untuk mendukung pengembangan disebut Computer Aided
Software Enginering (CASE). CASE mengkombinasikan software, hardware dan database RPL ( berisi informasi mengenai analisa, desain, pembuatan program dan pengujian ).
Gambar 2.1. Pondasi RPL
Rekayasa adalah analisa, desain, pembuatan, verifikasi dan manajemen
teknis (atau sosial). Tanpa memandang entitas yang harus direkayasa, ada
beberapa pertanyaan yang harus dijawab :
1. Problem apa yang harus dicarikan solusinya ?
2. Apa saja karakteristik entitas yang digunakan untuk menyelesaikan
persoalan tersebut.
3. Bagaimana entitas (dan solusinya) dapat direalisasikan ?
4. Bagaimana entitas akan dibangun ?
5. Pendekatan apa yang akan digunakan untuk mencegah terjadinya
kesalahan desain dan pembuatan entitas?
6. Bagaimana entitas akan didukung selama mungkin, pada saat ada
permintaan koreksi, adaptasi dan pengembangan oleh user.
A Quality Focus Tools Method Process
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Pekerjaan yang berhubungan dengan RPL bisa dikategorikan ke dalam
3 fase umum tanpa memandang area aplikasi, ukuran proyek atau
kompleksitas. Fase tersebut yaitu :
1. Definition Phase
Selama fase ini, software developer berusaha untuk
mengidentifikasi informasi apa saja yang harus diproses, apa saja
fungsi dan kinerja yang digunakan, tingkah laku sistem yang
diharapkan, apa saja interface yang harus dibuat, apa saja kendala
desain yang ada, dan kriteria validasi yang diperlukan untuk
mendefinisikan kesuksesan sistem.
2. Development Phase
Selama fase ini, software developer berusaha untuk
mendefinisikan bagaimana data disusun, bagaimana fungsi bisa
diimplementasikan sesuai dengan arsitektur software, bagaimana
prosedur detil untuk implemetasi, bagaimana karakter interface,
bagaimana hasil desain bisa ditranslasikan ke bahasa pemrograman
dan bagaimana cara pengujiannya.
Ada tiga aktivitas teknis yang selalu terjadi:
a. Desain Software
b. Pembuatan Program
c. Pengujian Software
3. Maintenance Phase
Difokuskan pada perubahan sehubungan dengan adanya
19
customer. Ada 4 tipe perubahan : 1. Correction
Mengubah software untuk memperbaiki kesalahan-kesalahan
yang ada.
2. Adaption
Modifikasi yang dilakukan terhadap software dikarenakan
adanya perubahan lingkungan eksternal (misal: CPU, sistem
operasi, aturan bisnis, karakter produk eksternal).
3. Enhancement
Pada saat software dipakai, user meminta tambahan-tambahan
fungsi. Sehingga software dikembangkan dari kebutuhan
semula.
4. Prevention
Sering disebut software re-enginering, harus dilakukan untuk
memungkinkan software bisa sesuai dengan keinginan end
user. Pada fase ini dilakukan perubahan - perubahan ke program komputer, sehingga program tersebut bisa dikoreksi,
beradaptasi dan dikembangkan dengan mudah. [1].
2.5. Pengujian Perangkat Lunak
Pengembangan sistem perangkat lunak melibatkan sederetan aktivitas
produksi di mana peluang terjadinya kesalahan manusia sangat besar.
Kesalahan dapat mulai terjadi pada permulaan proses di mana sasaran
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. pengembangan selanjutnya. Karena ketidakmampuan manusia untuk
melakukan dan berkomunikasi dengan sempurna, maka pengembangan
perangkat lunak harus selalu diiringi dengan aktivitas jaminan kualitas.
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas
Perangkat Lunak, dan mempresentasikan kajian pokok dari spesifikasi,
desain, dan pengkodean. Dengan meningkatnya visibilitas perangkat lunak
sebagai suatu elemen sistem, dan biaya yang muncul akibat kegagalan
perangkat lunak, maka memotivasi dilakukakannya perencanaan yang baik
melalui pengujian yang teliti.
Adalah hal yang wajar jika organisasi pengembangan Perangat Lunak
meningkatkan 30 – 40 % usaha proyek pengembangan Perangkat Lunak
pada tahap pengujian. [1].
2.6. Flow Map
Flow Map adalah diagram yang menunjukan aliran data berupa
formulir -formulir ataupun keterangan berupa dokumentasi yang
mengalir atau beredar dalam suatu sistem. Notasi yang digunakan dalam
suatu flow map merupakan penggabungan notasi flow chart program.
Hal-hal yang harus diperhatikan dalam menggambarkan flow map
adalah sebagai berikut :
1. Penggambaran flow map dimulai dari atas halaman ke bagian
bawah, kemudian dari kiri kebagian kanan
2. Penggambaran flow map dilakukan berdasarkan pembagian atau
21
3. Dalam flow map harus jelas dimana awal suatu status informasi,
kemudian dimana akhir silkus
4. Semua bagian siklus informasi harus jelas Menggunakan kertas
kerja yang jelas sesuai dengan yang akan dilakukan dalam sistem
5. Semua sub sistem yang digambarkan, harus mengalami siklus
informasi
6. Jika penggambaran suatu siklus informasi terpotong, maka gunakan
penghubung antar bagian.
2.7. Embarcadero Delphi 2010
Delphi merupakan alat bantu pengembangan aplikasi yang berbasis visual. Perangkat ini merupakan hasil pengembangan dari bahasa
pemrograman pascal yang diciptakan oleh Niklaus Wirth. Pada masa itu,
Wirth bermaksud membuat bahasa pemrograman tingkat tinggi sebagai alat
bantu mengajar logika pemrograman komputer kepada para mahasiswanya.
Bahasa pemrograman pascal ini kemudian dikembangkan oleh Borland
yang merupakan salah satu perusahaan software menjadi sebuah tools
dengan dibuatkan kompiler dan dijual ke pasar dengan nama TURBO
PASCAL. [2].
Seiring dengan ditemukannya metode pemrograman berorientasi obyek,
bahasa pemrograman pascal berevolusi menjadi object pascal dan
dikembangkan oleh Borland dengan nama Borland Delphi.
Keberhasilan Borland dalam mengembangkan Delphi menjadikan salah
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Visual Basic yang dikeluar Microsoft di kemudian hari. Lingkungan
pengembangan Delphi yang mudah, intuitif dan memudahkan pemakai,
berhasil melampaui popularitas rivalnya, yaitu Visual Basic, sehingga
pernah menyandang predikat “VB-Killer”.
Karena tuntutan perkembangan teknologi, Borland berganti nama
menjadi Code Gear, tetapi tetap mempergunakan nama Delphi untuk tools
yang berbasis object pascal ini. Tidak lama kemudian Code Gear diakuisisi
oleh Embarcadero dan namanya pun berubah menjadi Embarcadero RAD
Studio dengan tetap mempertahankan Delphi sebagai salah satu tools-nya.
Beberapa kelebihan yang dimiliki oleh Embarcadero Delphi 2010 ini
antara lain : [2].
1. Delphi dibangun dengan menggunakan arsitektur native compiler,
sehingga proses kompilasi instruksi menjadi bahasa mesin menjadi
lebih cepat.
2. Semua file yang disertakan saat proses kompilasi, digabungkan
menjadi satu sesuai dengan arsitektur native compiler, sehingga
mengurangi ketergantungan terhadap library ataupun file - file
pendukung lainya, sesuai dengan prinsip build once, runs
everywhere.
3. Delphi mempunyai kemampuan selective object linking, sehingga
apabila terdapat pemanggilan sebuah library dan ternyata tidak
terdapat instruksi dalam library tersebut yang dipergunakan dalam
system, maka secara otomatis, kompiler tidak akan menyertakan library tersebut dalam proses kompilasinya. Hal ini berbeda dengan
23
tools lain yang tidak mempunyai kemampuan seperi itu. Dengan
adanya kemampuan tersebut, maka file eksekusi yang dihasilkan
delphi menjadi lebih optimal.
4. Lingkungan pengembangan Delphi sangat intuitif karena semua
komponen yang menjadi alat utama desain visual telah ditampilkan
saat pertama kali langsung dapat diamati oleh user dan dapat
digunakan secara langsung.
Berikut ini adalah tampilan Delphi :
Gambar 2.2. Tampilan awal Delphi
Dalam delphi seperti halnya bahasa visual lainnya menyediakan
komponen. Komponen adalah “jantung” bagi pemograman visual.
Componen Palette telah terbagi menjadi berbagai jenis komponen, diantaranya adalah Standard, Additional, Win32, System, dan beberapa
lainnya. Berikut ini adalah uraian yang komponen palet yang paling sering
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Gambar 2.3. Daftar komponen palet standard Delphi
Tampak pada palet standard diatas (dengan urutan dari kiri ke kanan),
adalah frame, main menu, pop up menu, label, edit text, memo, button,
check box, radio button, list box, combo box, scroll bar, group box, radio
group, panel dan action list.
Gambar 2.4. Daftar komponen palet additional
Pada palet additional terdapat komponen bit button, speed button, mask
edit, string grid, draw grid, image, shape, bevel, scroll box, list box, splitter,
static text, tlink label, control bar, application events, value list edit, labeled
edit, buttoned edit, color box, color list box, category button, button group,
dock tab set, tab set, tray icon, flow panel, grid panel, balloon hint, category
group dan action manager.
Gambar 2.5. Daftar komponen palet win 32
Pada palet win 32 terdapat komponen tab control, page control, image
list, rich edit, track bar, progress bar, up down, hot key, animate, date time
picker, month calendar, tree view, list view, header control, status bar, tool
25
Gambar 2.6. Daftar komponen palet system
Komponen yang terdapat dalam palet system adalah timer, paint box,
media player, ole container, comadmin dialog, DDE Client Conv, DDE
Client Item, DDE Server Conv dan DDE Server Item.
Gambar 2.7. Komponen Palet Dialog
Komponen yang terdapat dalam palet dialog adalah open dialog, save
dialog, open picture dialog, save picture dialog, open text file dialog, save
text file dialog, font dialog, color dialog, print dialog, printer setup dialog,
find dialog, replace dialog, page setup dialog.
Gambar 2.8. Membuat aplikasi sederhana dengan Delphi
Sebuah proyek Delphi akan terdiri dari berberapa file. Ada file yang
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. Karena setiap aplikasi terdiri dari beberapa file. Sangat disarankan agar
menyimpan, sebuah aplikasi pada sebuah folder. Berbagai jenis file yang
dibuat saat membangun aplikasi menggunakan Delphi adalah sebagai
berikut : [2].
Tabel 2.1. Jenis-jenis file dalam Delphi
Jenis File Keterangan
.dproj File proyek, fungsinya untuk linking object
.dfm File form, fungsinya menyimpan nilai properti form
.pas File unit, berisi source code prosedur dan fungsi
.dpk File package, berisi instalasi komponen
.res File resource
.cfg File konfigurasi proyek
.dof File pilihan proyek
.dcu Hasil kompilasi file .pas
.exe File executable (yang dapat dijalankan)
.~* File cadangan (back up)
2.8. Penanganan Database pada Delphi
Implementasi database pada prinsipnya dibagi menjadi dua, yaitu :
a. Model pertama mengemas seluruh data yang terkait dalam sebuah
database ke dalamsebuah berkas. Model seperti ini dijumpaipada Access, Interbase, dan kebanyakan Server SQL lainnya.
27
b. Model kedua menggunakan sejumlah berkas untuk menyimpan data,
indeks, dan hal-hal lainyang terkait dengan database. Biasanya
keseluruhan berkas ini disimpan pada direktori yang sama. Foxpro,
dBase, dan Paradox termasuk dalam kategori ini.
Pada form, sumber data diakses melalui komponen yang merupakan
turunan dari kelas TdataSet. Melalui form, pada prinsipnya kita dapat
memanipulasi databse (membaca, menyimpan, menampilkan, dan
sebagainya). Bagaimana halnya dengan Delphi, Delphi juga menyediakan
berbagai cara untuk mengakses database. Salah satu diantaranya adalah
melalui BDE (Borland Database Engine). Melalui BDE anda dapat
mengakses sejumlah sumber data seperti dBASE, Paradox, Foxpro, dan
Accsess. [2].
2.9. IMK ( Interaksi Manusia dan Komputer )
Interaksi manusia dan komputer adalah disiplin ilmu yang mempelajari
hubungan antara manusia dan komputer yang meliputi perancangan,
evaluasi, dan implementasi antarmuka pengguna komputer agar mudah
digunakan oleh manusia. Ilmu ini berusaha menemukan cara yang paling
efisien untuk merancang pesan elektronik. Sedangkan interaksi manusia dan
komputer sendiri adalah serangkaian proses, dialog dan kegiatan yang
dilakukan oleh manusia untuk berinteraksi dengan komputer yang keduanya
saling memberikan masukan dan umpan balik melalui sebuah antarmuka
Hak Cipta © 2007 UPN "Veteran" Jatim
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. terjadi pada saat input maupun output atau biasanya disebut interface
(antarmuka). IMK memberikan arahan bagi perancang interface untuk
dapat memahami apa yang baik bagi user. [8].
2.9.1. Tujuan interaksi manusia dengan komputer
Tujuan utama disusunnya berbagai cara interaksi manusia dan
komputer adalah untuk mempermudah manusia dalam
mengoperasikan komputer dan mendapatkan berbagai umpan balik
yang perlukan selama bekerja pada sebuah sistem komputer. Kita
harus dapat mengetahui hal-hal apa saja yang dibutuhkan dan
diinginkan user sehingga kita harus tahu kebiasaan apa saja yang
digunakan user dalam menggunakan sebuah system dan juga alat
bantunya. Hal ini sangatlah penting, karena sebagus apa pun
program yang kita buat, dan secanggih apa pun alat yang kita
gunakan, jika itu tidak sesuai dengan kebiasaan user tersebut maka
program dan alat bantu tersebut tidak akan pernah diterima oleh
user tersebut. Oleh karena itu, kita harus dapat membuat program
yang (user friendly). Sebagai contoh, misalnya sebuah komputer
lengkap dipasang pada sebuah tempat yang tidak nyaman bagi
seorang pengguna yang menggunakan. Atau keyboard yang
digunakan pada komputer tersebut tombol-tombolnya keras