BAB 2 LANDAS AN TEORI
2.1 Teknologi Informasi Cukup banyak defenisi dari istilah ini, diantaranya adalah seperti yang disampaikan oleh Williams dan Sawyer (2003,p3), teknologi Informasi adalah teknologi yang menggabungkan komputasi (komputer) dengan jalur komunikasi yang membawa data, suara ataupun video. M enurut Thomson dan Cats-Baril (2002,p540) merupakan teknologi yang memiliki kemampuan untuk menerima, menyimpan, memanipulasi (memproses) dan menghasilkan data.
2.2 Software Engineering (SE) M enurut Fritz Bauer (Pressman,2001,p20), Software Engineering (SE, atau dalam bahasa Indonesia: rekayasa perangkat lunak atau RPL) adalah penerapan dan penggunaan prinsip-prinsip rekayasa yang bertujuan untuk mendapatkan piranti lunak yang ekonomis, dapat dihandalkan dan bekerja secara efisien pada mesin yang sesungguhnya. M enurut Pressman (2001,p47), adalah sebuah disiplin ilmu yang mengintegrasikan proses, metode dan alat-alat bantu bagi perkembangan perangkat lunak komputer.
2.3 The Liner Sequential Model Sering juga disebut “classic life cycle” atau “waterfall model” atau dalam bahasa Indonesia : model sekuensial linier. M odel sekuensial linier adalah paradigma rekayasa perangkat lunak yang paling luas dipakai dan paling tua. M odel ini mengusulkan suatu 8
9
pendekatan kepada perkembangan perangkat lunak yang sistematis dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, kode, pengujian dan pemeliharaan.
Gambar 2.1 The Linear Sequential Model (Pressman,2001,p29) M odel sekuensial linier melingkupi aktivitas-aktivitas, yaitu sebagai berikut: (Pressman,2001,p28-p29) •
Rekayasa dan pemodelan sistem/informasi (System/information engineering and modeling) Karena perangkat lunak selalu merupakan bagian dari suatu sistem (atau bisnis)
yang lebih besar, pekerjaan dimulai dengan membangun persyaratan untuk semua elemen sistem dan kemudian mengalokasikan beberapa kebutuhan terhadap software. Pandangan sistem ini sangat penting ketika perangkat lunak harus berinteraksi dengan elemen-elemen yang lain seperti hardware, manusia dan database. •
Analisis kebutuhan perangkat lunak ( Software requirements analysis) Proses pengumpulan kebutuhan diintensifkan dan difokuskan pada perangkat
lunak. Untuk memahami sifat program yang dibangun, perekayasa perangkat lunak atau
10
analyst harus memahami domain informasi untuk perangkat lunak, perilaku, kinerja antarmuka dan fungsi yang diminta. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat kembali dengan pelanggan. •
Perancangan (Design) Rancangan perangkat lunak sebenarnya adalah proses multi langkah yang
berfokus pada empat atribut yang berbeda dari program: struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur (bersifat algoritma) yang detail. Proses desain menerjemahkan syarat atau kebutuhan ke dalam representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum pembuatan kode (coding). •
Pembuatan kode (Code generation) Didalam tahapan ini, pengkodean bertujuan untuk menterjemahkan desain ke
dalam bentuk yang dapat dimengerti oleh mesin. Jika desain dilakukan secara terperinci, pengkodean dapat dilakukan secara mekanik seluruhnya. •
Pengujian (Testing) Setelah pengkodean selesai maka pengujian program dimulai. Proses pengujian
berfokus pada logika internal perangkat lunak, memastikan bahwa semua perintah telah diuji dan pada ekternal fungsional yaitu untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang didefinisikan akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. •
Dukungan (Support) Perangkat lunak dengan pasti akan mengalami perubahan setelah disampaikan
kepada pelanggan. Perubahan akan terjadi akibat kesalahan-kesalahan yang ditemukan, karena perangkat lunak harus disesuaikan untuk mengakomodasikan perubahan pada
11
lingkungan eksternalnya atau karena pelanggan membutuhkan perkembangan fungsional atau kinerja. Pemeliharaan perangkat lunak diaplikasikan kembali pada tiap fase-fase sebelumnya dalam program yang telah ada daripada membuat yang baru. Keuntungan model sekuensial linier, yaitu sebagai berikut (Turban,2003,p481): •
M emaksa staff untuk menjadi sistematis dengan melalui setiap langkah pada proses yang telah terstruktur.
•
M eningkatkan kualitas dengan menjaga standart-standart.
•
Kemungkinan kecil untuk kehilangan hal yang penting dalam pengumpulan kebutuhan user. Kelemahan model sekuensial linier, yaitu sebagai berikut (Turban,2003,p481):
•
Dapat menghasilkan dokumentasi yang berlebihan.
•
User kadang kala tidak ingin atau tidak mampu untuk mempelajari spesifikasi yang telah mereka tentukan.
•
Waktu yang terlalu lama untuk mengubah ide orisinil menjadi sistem yang bekerja.
•
Terkadang User sulit dalam menjelaskan kebutuhannya secara eksplisit bagi sistem yang diajukan.
2.4 Interaksi Manusia dan Komputer (IMK) Interaksi M anusia dan Komputer (IMK) merupakan perancangan, implementasi dan evaluasi dari sistem interaktif di dalam ruang lingkup seorang pengguna (user) yang sedang mengerjakan tugas-tugasnya. Jika bicara IM K, maka bukan hanya seorang pengguna dengan satu komputer saja. M anusia yang dimaksud bukan hanya individual atau kelompok dalam organisasi yang masing-masing bekerja dengan sebuah tugas atau
12
proses, tetapi siapa saja yang berusaha menyelesaikan tugasnya melalui penggunaan teknologi. Komputer yang dimaksud adalah semua teknologi mulai dari komputer desktop sampai dengan sistem komputer yang berskala besar. Sedangkan interaksi dimaksudkan sebagai komunikasi antara seorang pengguna dengan komputernya, baik secara langsung maupun tak langsung. 2.4.1 Delapan Aturan Emas Perancangan Interface M enurut Schneiderman, terdapat delapan aturan dalam merancang sebuah interface agar efektif dan efisien bagi pengguna (Shneiderman, 1998, p74-75) : 1. Konsistensi. Tampilan yang ada diusahakan untuk tetap konsisten.. 2. M emungkinkan frequent user untuk menggunakan shorcuts. Umumnya user yang sudah sering menggunakan aplikasi lebih menginginkan kecepatan dalam mengakses informasi yang diinginkan. Jadi tingkat interaksi yang diminta lebih pendek/singkat dan langsung menunjuk fungsi tersebut. Sehingga perlu disediakan tombol/perintah yang special. 3. Adanya feedback yang informatif. Umpan balik harus diberikan untuk memberikan informasi kepada user sesuai dengan aksi yang dilakukannya. User akan mengetahui aksi apa yang telah dan akan dilakukan
dengan
adanya
umpan
balik.
Umpan
balik
biasanya
berupa
konfirmasi/informasi atau suatu aksi. 4. Ada dialog untuk keadaan akhir (sukses, selesai). Dengan adanya dialog ini, maka akan memberikan kepuasan bagi user serta menghilangkan kebingungan, sehingga mereka siap untuk aksi berikutnya.
13
5. Berikan pencegahan dan penanganan kesalahan yang sederhana. Sistem dirancang sedemikian rupa sehingga dapat mencegah user dalam melakukan kesalahan. 6. Berikan pembalikan aksi dengan mudah. Aksi yang dilakukan pengguna haruslah dapat diulang (undo) sehingga memudahkan dalam memperbaiki kesalahan yang disadarinya. 7. M endukung pusat kendali internal. Pengguna yang sudah mahir sangat ingin agar mereka mempunyai kewenangan tinggi atas sistem dan sistem yang di luar dugaan misalnya aktivitas data entry yang lama dan membosankan serta kesulitan dalam mencari informasi. Karena itu harus dibuat bahwa pengguna adalah initiators dari aksi, bukan responder dari aksi. 8. M engurangi beban ingatan jangka pendek. Karena keterbatasan ingatan manusia maka display yang ditampilkan haruslah sesederhana mungkin, multiple page display haruslah dikombinasikan dan frekuensi perpindahan windows diminimalisir.
2.4.2 Tiga Pilar Perancangan Interface M enurut Scheidermann, ada tiga pilar utama dalam merancang user-interface : 1. Guideline Document and Processes Pada tahap proses perancangan, arsitektur user-interface perlu dibangun, atau dibuat petunjuk kerja. Setiap proyek memerlukan kebutuhan yang berbeda, tetapi petunjuk kerja yang dibuat harus memperhatikan : •
Words dan Icon (terminology, character sets, icons, graphics)
14
•
Layout layer (menu selection, form fill in, data entry)
•
Alat input dan output (response time, keyboard, display)
•
Aksi sekuensial (command syntax, programmed function keys, recovery)
•
Pelatihan (online help and tutorial, training and reference)
Pembuatan dokumen petunjuk kerja pada awal implementasi proyek berfokus pada perancangan interface dan menyediakan kesempatan untuk mendiskusikan isu kontroversial. Ketika petunjuk kerja dikenali oleh tim pengembangan, implementasi akan berlanjut lebih cepat dan dengan sedikit perubahan. Untuk organisasi besar, dapat ada dua atau lebih petunjuk kerja untuk menyediakan identitas organisasi sementara memperbolehkan proyek memiliki gaya berbeda dan terminoogi pengendalian lokal. 2. User-Interface Software Tools Salah satu kesulitan dalam merancang sistem interaktif adalah customer dan pengguna tidak memiliki ide yang jelas seperti apa bentuk sistemnya apabila sudah dibuat. M asalah ini dapat diatasi dengan membuat suatu prototipe dari tampilan sistem yang akan dibuat. Contoh penggunaannya adalah pada sistem pengisian formulir. Prototipe sendiri dapat dibuat dengan bantuan tools atau software seperti C++, Java, Visual Basic atau dengan bahasa lainnya. 3. Expert Reviews and Usability Testing Setelah suatu sistem selesai dibuat maka yang harus dilakukan berikutnya adalah mengadakan pilot testing dari seluruh komponen sistem sebelum dikeluarkan kepada customer. Dalam metode penilaian para ahli, pengujian dengan pengguna, survei dan tool analysis otomatis menjadi sangat penting.
15
2.4.3 Kesalahan Umum Dalam Men-design Website M enurut Jakob Nielsen (1996,p1), terdapat sepuluh kesalahan umum dalam men-design sebuah website : 1. Penggunaan frame 2. Penggunaan teknologi baru dengan serampangan 3. Gerakan teks dan animasi yang berjalan terus 4. URL yang kompleks 5. Halaman yatim 6. Halaman yang terlalu panjang gulungannya. Isi terpenting dan navigasi harus tampak di bagian atas 7. Kurangnya dukungan navigasi 8. Warna link tidak standard 9. Informasi yang basi 10. Waktu download yang terlalu lama
2.5
Object Oriented Analysis and Design (OOAD) Object Oriented Analysis and Design merupakan suatu penggabungan data dan
proses ke dalam sesuatu konstruksi yaitu object. OOAD sendiri mengenalkan object diagram dari suatu sistem beserta interaksi antarobjeknya, dimana diagram-diagram tersebut akan didokumentasikan (Whitten, 2002, p97).
16
2.5.1
Encapsulation Encapsulation adalah perlindungan terhadap suatu object dimana representasi
dari datanya tersembunyi, data yang tersembunyi hanya dapat diakses oleh operation dari object itu sendiri, dan operation dari suatu object hanya dapat dipanggil oleh yang mempunyai signal operation yang valid (Bennett, 2002, p72-73). 2.5.2
Inheritance Inheritance adalah suatu mekanisme untuk mengimplementasikan generalization
dan specialization dalam bahasa pemrograman object-oriented. Bila dua class direlasikan dengan mekanisme inheritance, class yang lebih general disebut superclass dan class lainnya yang lebih terspesialisasi disebut dengan subclass. Subclass selalu mewarisi semua karakteristik dari semua superclass dan mempunyai minimal satu karakteristik tersendiri yang tidak didapatkan dari semua superclass tersebut (Bennett, 2002, p74). 2.5.3
Polymorphism Polymorphism adalah kemampuan untuk tampil dalam berbagai bentuk dan
mewakili kemampuan dalam mengidentifikasi message yang dikirim dari object pada class-class yang berbeda. Kunci dari polymorphism adalah object penerima harus mengetahui bagaimana cara merespon suatu message (Bennett, 2002, p75).
2.6
Unified Modeling Language (UML) UML adalah bahasa standart untuk membuat rancangan suatu piranti lunak. UML
dapat digunakan untuk melakukan visualisasi, definisi, perancangan dan melakukan dokumentasi terhadap suatu sistem yang berwujud piranti lunak secara intensif,
17
mencakup hal-hal yang berhubungan dengan konsep unsur- unsur konkrit seperti kelas, skema database, serta komponen piranti lunak yang dapat digunakan kembali. UM L menggunakan notasi grafis untuk menyatakan suatu desain. UML merupakan bahasa pemodelan dimana unsur-unsur dan aturan-aturan yang dimilikinya berfokus pada presentasi konseptual dan fisikal dari sistem. Unsur-unsur dan aturan-aturan tersebut dapat digunakan untuk merancang dan membaca model objek. Kegunaan UML adalah sebagai berikut : •
UML sebagai bahasa visualisasi digunakan untuk merancang suatu model yang dapat dibaca oleh banyak orang dengan pengertian yang sama.
•
UML bahasa pendefinisian digunakan untuk mendefinisikan dengan rinci seluruh hasil analisis, desain, dan implementasi yang harus dilakukan dalam pengembangan sistem.
•
UML sebagai bahasa dokumentasi digunakan untuk mendokumentasikan arsitektur beserta perinciannya, unsur-unsur yang dibutuhkan dalam pengembangannya. Serta perencanaan dan implementasi proyek secara keseluruhan dengan simbol-simbol yang mudah dimengerti.
18
2.6.1 Diagram Use-Case
Gambar 2.2 Contoh Use-Case Diagram ”Use case merupakan urutan transaksi dari aktor pada sistem atau sekumpulan skenario yang menjadi satu untuk tujuan user. Use case menentukan perilaku yang diharapkan (what) dan bukan metode yang membuat bagaimana itu terjadi (how). Use case dibuat berdasarkan kebutuhan fungsional yang diketahui tetapi tidak digambarkan dalam kebutuhan one-to-one.”( Ivkovic, p1) Keuntungan dari use case, yaitu sebagai berikut: (Fariza,p9) •
M enangkap kebutuhan fungsional dari perspektif user.
•
M emberi deskripsi jelas dan konsisten dari apa yang seharusnya dilakukan sistem.
•
Dasar membentuk tes sistem.
•
M enyediakan kemampuan untuk melacak kebutuhan fungsional ke dalam class aktual dan operasi dalam sistem.
19
•
Berfungsi sebagai unit estimasi.
•
Unit terkecil dari delivery. Setiap increment yang direncanakan dan di-deliver digambarkan dalam use case yang akan di-deliver secara increment. Terdapat 4 elemen utama, yaitu sebagai berikut: (Fariza, p10-p16)
1. Actor
Gambar 2.3 Contoh Actor Actor merupakan abstraksi dari user atau sistem lain yang berinteraksi langsung dengan sistem. Yang menjadi actor adalah manusia, hardware atau sistem lain yang berhubungan dengan sistem yang berjalan, dan sesuatu yang memerlukan interaksi dengan sistem untuk bertukar informasi. Indentifikasi aktor, yaitu sebagai berikut: •
Siapa yang merupakan fungsi utama dalam sistem?
•
Siapa yang memerlukan pemeliharan, administrasi dan menjalankan sistem?
•
Dengan software atau hardware lain yang mana sistem perlu berinteraksi? (Sistem komputer lain, atau aplikasi lain dari komputer yang sama misalnya client / server)
20
2. Use case
Gambar 2.4 Contoh Use Case Use case merepresentasikan fungsional sistem secara keseluruhan dan menghasilkan nilai ke aktor. Skenario use case biasanya digambarkan secara tekstual. Cara untuk menemukan use case, yaitu sebagai berikut: •
Definisikan layanan apa yang dibutuhkan aktor dari sistem. M isalnya: membaca, membuat, menghapus, memodifikasi atau menyimpan informasi.
•
Event apa yang dilakukan aktor?
•
Dapatkan pekerjaan harian dari aktor? Elips biasanya yang berisi nama use case, ditempatkan dalam batasan sistem
yang dimodelkan dan berhubungan setidaknya satu aktor dengan komunikasi asosiasi. 3. Relationship M engatur use case dengan cara mengelompokkannya dalam packages. Ada 3 bentuk umum relasi, yaitu sebagai berikut: •
Include
Gambar 2.5 Contoh Include
21
Include merupakan perilaku umum dimana lebih dari satu use case direferensikan sebagai instance yang terpisah untuk menghindari pengulangan. X << includes >> Y menyatakan bahwa proses yang dilakukan X selalu melibatkan Y setidaknya satu kali. Berlaku sebagai fungsional. X harus memenuhi kondisi awal dari Y sebelum memasukinya. •
Generalisasi
Gambar 2.6 Contoh Generalisasi Digunakan bila sejumlah use case merupakan sub bagian, tetap masing-masing mempunyai perbedaan yang tidak mungkin disatukan dalam satu use case. Generalisasi dan spesialisasi use case harus mempunyai tujuan yang sama. Use case spesialisasi menyatakan scenario alternative dari use case generalisasi. Generalisasi use case harus lengkap. Use case spesialisasi dapat berhubungan dengan aktor baru, dan menambahkan kondisi awal dan akhir. •
Extend
Gambar 2. 7 Contoh Extend Extend merupakan integrasi implicit dari perilaku use case lainnya dengan cara mendeklarisikan extension point / kejadian pada base. Use case tambahan harus dideklarasikan secara eksplisit tambahannya.
22
4. Boundaries System Traffic Violations Report System
Gambar 2.8 Contoh Boundaries System Bagian dari pemodelan use case, merupakan definisi batasan pengembangan sistem. Sistem tidak perlu harus berupa perangkat luanak (software). M endefinisikan batasan sistem : bagian mana yang otomatis dan bagian mana yang manual? Bagian mana yang dilakukan oleh sistem lain? Sistem direpresentasikan sebagai kotak. Nama sistem muncul di bawah atau di dalam kotak.
2.6.2
Class Diagram
Gambar 2.9 Contoh Class Diagram
23
Class Diagram merupakan diagram yang menggambarkan struktur objek – objek dari sistem, menyediakan gambaran ikhtisar masalah domain yang berkaitan secara logis dengan menggambarkan secara keseluruhan hubungan struktural antara class dan object di dalam model kita. Di dalam sistem antara class yang satu dengan yang lain saling berhubungan. Class – class ini dituangkan / digambarkan dalam class diagram. Notasi yang digunakan dalam class diagram : 1. Class Class Attribute Operation Gambar 2.10 Contoh Class Class digambarkan dengan empat persegi panjang yang hanya menuliskan nama class tersebut dan sekaligus menunjukkan attribute dan operasinya. Attribute adalah data yang menggambarkan karakteristik dari suatu objek. Operation adalah implementasi service yang dapat mempengaruhi behaviour atau dengan kata lain, operation adalah abstraksi dari sesuatu yang bisa dilakukan terhadap objek dan di-shared oleh semua objek pada class tersebut. 2. Generalization
Gambar 2.11 Contoh Generalization
24
Generalization adalah sebuah class yang umum, biasanya disebut sebagai Super class yang mendeskripsikan properties yang bersamaan kepada group dari special class yang disebut sub class. 3. Association 1
1…* Gambar 2.12 Contoh Association Association adalah hubungan terstruktur yang menspesifikasi objek yang terkoneksi dengan objek lainnya. Secara linguistic assocation diekspresikan dengan formulasi “associated with” 4. Aggregation
Gambar 2.13 Contoh Aggregation Aggregation adalah sebuah superior object yang terdiri atas beberapa object. Struktur aggregation mendefinisikan hubungan antara 2 buah object atau lebih. Aggregation menjelaskan suatu object yang fundamental yang terdiri atas object – object, sehingga jika salah satu object dihilangkan mungkin tidak akan menjelaskan object itu lagi. Secara linguistik aggregation diekspersikan dengan formulasi “has - a”.
25
2.6.3
Sequence Diagram
Diagram 2.14 Contoh Sequence Diagram Sequence diagram menggambarkan bagaimana obyek saling berinteraksi. Penekanan pada urutan waktu pesan. Dapat memodelkan secara sederhana urutan kerja, percabangan, iterasi, rekursi dan konkurensi. (Fariza, p46). Garis putus-putus (life-line) menyatakan obyek yang digunakan selama interaksi. Message adalah komunikasi antarobjek yang membawa informasi dari suatu lifeline object ke lifeline object lain. Focus of Control merepresentasikan waktu relatif dimana flow of control difokuskan dalam sebuah objek. Hirarchical numbering menunjukkan ketergantungan sebuah pesan ke pesan yang lain. Script mendeskripsikan flow of event secara tekstual. Obyek dapat menghapus obyek lain melalui pesan <<destroy>>. Obyek juga dapat menghapus dirinya sendiri. Obyek dapat membuat obyek lain melalui pesan <
>. Nilai return digunakan opsional dengan panah putus-putus. Jangan
26
memodelkan nilai return jika ternyata dikembalikan, misalnya getTotal(). M odelkan nilai return hanya jika diperlukan untuk diacu oleh tempat yang lain, misalnya sebagai parameter yang dilewatkan ke pesan yang lain, lebih dipilih memodelkan nilai return sebagai bagian dari method invocation, seperti ok = isValid().
2.6.4
Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Simbol dan notasi dasar dalam activity diagram antara lain: 1. Activity Diagram (Gambar 2.15(a)). 2. Arus tindakan / aksi (action flow), yang menggambarkan perpindahan dari aktivitas satu ke aktivitas yang lain. Dapat dilihat pada Gambar 2.15(b). 3. Arus objek (object flow) mengacu pada perubahan yang terjadi pada objek dikarenakan aktivitas yang terjadi. Simbol panah dalam diagram mendanakan
27
pengaruh yang diakibatkan suatu aktivitas terhadap objek. Contoh pada Gambar 2.15(c). 4. State awal (Gambar 2.15(d)). 5. State akhir (Gambar 2.15(e)). 6. Percabangan (branching), menggambarkan suatu kondisi di mana terdapat dua atau lebih jalur alternatif. Jalur yang menunjukkan arah keluar harus disertai dengan syarat atau ekspresi yang telah ditentukan. Penggambarannya seperti pada Gambar 2.15(f). (a)
/ login Window Login
/ pilih_form_Input Window Chooser
/ cancel
/ cancel
Canceled
(b)
Activ ity
/ add_form_Input Inisialis asi
/ cancel
Open
/ cancel
/ c ancel
(c)
/ save_form_Input
Clos ed
28
(d)
(f) (e)
Gambar 2.15 Contoh Activity Diagram dan Komponennya
2.7
Database (Basis Data)
2.7.1 Pengertian Database M enurut Connoly dan Begg (Connoly,2002,p14), pengertian database (basis data) yaitu kumpulan koleksi data-data yang saling berhubungan secara logika yang isinya didesain untuk memenuhi kebutuhan informasi dari suatu perusahaan. Dua tujuan utama dari konsep database, yaitu sebagai berikut : 1. M eminimumkan pengulangan data (data redudancy) artinya, data yang sama disimpan dalam beberapa file. 2. M encapai independensi data yaitu kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data. Independensi data dapat dicapai dengan menempatkan spesifikasi data dalam table dan kamus yang terpisah secara fisik dari program. Program mengacu pada tabel untuk mengakses data.
29
2.7.2 Istilah-Istilah Umum pada Database Ada beberapa istilah umum yang sering dipakai pada database, yaitu sebagai berikut: •
Field Field adalah sekumpulan kecil dari kata atau sebuah deretan angka-angka.
•
Record Record adalah kumpulan dari field yang berelasi secara logis. Contohnya nama, alamat, nomer telpon dan sebagainya.
•
File File atau berkas adalah kumpulan dari record yang berelasi secara logis. Contohnya berkas transaksi toko A yang mempunyai record tanggal, kode barang dan harga.
•
Entity Entity adalah orang, tempat, benda, atau kejadian yang berkaitan dengan informasi yang disimpan. Contoh: pelanggan, pekerja dan sebagainya.
•
Attribute Attribute adalah setiap karakteristik yang menjelaskan suatu entity. Contoh: nama pelanggan, umur pekerja dan sebagainya.
•
Primary key Primary key adalah sebuah field yang nilainya unik yang tidak sama antara suatu record dengan record yang lain. Primary key digunakan sebagai tanda pengenal dari suatu field.
30
•
Foreign key Foreign key adalah sebuah field yang nilainya berguna untuk menghubungan primary key lain yang berada pada tabel yang berbeda.
2.7.3 Database Management System (DBMS) DBM S
adalah
sistem
software
yang
memperbolehkan
user
untuk
mendefinisikan, menciptakan, memaintain dan mengontrol akses ke database (Connolly, 2002, p16). DBM S merupakan software yang berinteraksi dengan program aplikasi user dan database. DBM S menyediakan beberapa fasilitas sebagai berikut: 1. DBM S memperbolehkan user untuk mendefinisikan database, khususnya melalui Data Definition Language (DDL). DDL merupakan bahasa yang memungkinkan database administrator (DBA) atau user untuk menjelaskan dan mendefinisikan entity, atribut, dan hubungan yang dibutuhkan untuk aplikasi, bersama dengan batasan-batasan integritas dan keamanan yang terkait. 2. DBM S memperbolehkan user untuk menyelipkan data (insert), meng-update data (update), menghapus data (delete) dan pengembalian data (retrieve) dari database, khususnya melalui Data Manipulation Language (DM L). DM L merupakan suatu bahasa yang menyediakan sebuah rangkaian operasi untuk mendukung operasi manipulasi data dasar pada data yang ada pada database. 3. DBM S menyediakan akses kontrol ke database.
Sebagai contoh, DBM S
menyediakan keamanan sistem, kesatuan sistem (integrity), sistem kontrol konkurensi, sistem kontrol recovery dan catalog user-accessible.
31
2.7.4 Keuntungan dan Kerugian DBMS Keuntungan DBM S, yaitu sebagai berikut (Connolly, 2002, p25-p29): 1. M engontrol pengulangan data. 2. Konsistensi data (data consistency). 3. Lebih banyak informasi dari sejumlah data yang sama (More information from the same amount of data). 4. Berbagi data (Sharing of data). 5. M eningkatkan integritas data. 6. M eningkatkan keamanan. 7. Pelaksanaan standart (Enforcement of standars). 8. Skala ekonomi(Economy of scale). 9. Balance of conflicting requirements. 10. M eningkatkan aksesibilitas dan kemampuan reaksi data (Improved data accessibility and responsiveness). 11. M eningkatkan produktifitas. 12. M eningkatkan pemeliharaan melalui independensi data (Improved maintenance trough data independence). 13. M eningkatkan konkurensi. 14. Improved backup and recovery services. Kerugian DBM S, yaitu sebagai berikut (Connolly, 2002, p29-p30): 1. Kompleksitas (complexity). 2. Ukuran (Size). 3. Biaya DBM S (Cost of DBMS).
32
4. Biaya hardware tambahan (additional hardware costs). 5. Biaya konversi (cost of conversion). 6. Performa (performance). 7. Dampak kegagalan lebih besar (higher impact of a failure).
2.8 MySQL MySQL adalah suatu relational database management system (RDBM S) dengan sekitar lebih dari 11 juta instalasi. Program berjalan sebagai server yang menyediakan akses multi-user untuk sejumlah database. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. (Wikipedia,2008,p1) Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, M ySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia M ySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah:
David
Axmark,
Allan
Larsson,
dan
M ichael
"M onty"
Widenius.
(Wikipedia,2008,p1) Beberapa pertimbangan programmer memilih M ySQL sebagai “backend ” dalam menggolah database adalah : •
Kecepatan
•
M udah digunakan
33
•
Open Source
•
Kapabilitas
•
Biaya murah
•
Keamanan
•
Lintas platform
2.9 HTML HTM L merupakan singkatan dari Hypertext Markup Language. HTM L digunakan untuk membangun suatu halaman web. Sekalipun banyak orang menyebutnya sebagai suatu bahasa pemrograman, HTM L sebenarnya bukan bahasa pemrograman, karena tercermin dari namanya, HTM L adalah suatu bahasa mark up terhadap sebuah dokumen teks. Tanda tersebut digunakan untuk melakukan mark up atau penandaan terhadap sebuah dokumen teks. HTM L dibuat dengan menggunakan teks yang diformat dan disebut tag. Tag penulisannya diapit oleh lambang < >. Tag biasanya ditampilkan dalam pasangan berupa tag pembuka untuk menjalankan fitur pemformatan dan tag penutup untuk penutup pemformatan. Tag penutup namanya sama dengan tag pembuka tetapi penulisannya didahului dengan karakter “/”. Suatu dokumen HTM L dimulai dengan tag dan diakhiri dengan tag . Kepala dokumen ditandai dengan tag dan diakhiri dengan tag yang dapat diisi dengan judul dokumen. Bagian berikutnya adalah isi dari halaman yang ditandai dengan tag dan ditutup dengan .
34
2.10 PHP 2.10.1 Pengenalan PHP PHP (Hypertext Preprosessor) merupakan salah satu open source HTM L embedded scripting languange yang didukung oleh banyak web server termasuk Apache HTTP server dan M icrosoft’s Internet Information server serta bahasa Linux web scripting. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTM L biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut : (Pusat Data dan Informasi Pertanian,p1) •
M embaca permintaan dari client/browser
•
M encari halaman/page di server
•
M elakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page.
•
M engirim kembali halaman tersebut kepada client melalui internet atau intranet.
35
Gambar 2.16 Prinsip kerja PHP Beberapa keuntungan dari PHP yaitu sebagai berikut: •
Dapat dikembangkan.
•
Beberapa modul-modul hasil pengembangan telah disediakan untuk mendukung hal seperti konektivitas database, mail, XM L.
•
PHP dapat dijalankan pada platform yang berbeda-beda (Windows, Linux, Unix, etc.).
•
PHP merupakan web scripting open source.
•
PHP mudah dipelajari Pilihan yang populer sekarang ini adalah menggunakan kombinasi open source
dari Apache HTTP server, PHP, dan salah satu sistem database MySQL atau PostgreSQL.
36
2.11 Internet Internet adalah singkatan dari Interconnection Networking, atau sering disebut juga sebagai cyberspace, adalah sebuah jaringan komputer yang terdiri dari berbagai macam jaringan komputer di seluruh dunia dengan sistem operasi yang berbeda-beda. Jaringan ini dapat berupa jaringan-jaringan lokal berskala kecil, jaringan kelas menengah, hingga jaringan-jaringan utama (backbone) yang menjadi tulang punggung internet. Internet memugkinkan suatu jaringan komunikasi global yang tidak hanya menghubungkan para mitra dagang tetapi juga mencakup para pelanggan. Sebagian besar kebangkitan perdagangan melalui jaringan elektronik diharapkan berasal dari perusahaan-perusahaan yang akan mempromosikan, dan dalam beberapa kasus mengirimkan produk mereka melalui internet. Internet dapat digunakan untuk aplikasi bisnis apapun yang melibatkan komunikasi data, termasuk komunikasi baik di dalam perusahaan maupun dengan lingkungan (M cLeod, 2001, p.73) 2.11.1 WWW (World Wide Web) World Wide Web atau biasa disebut dengan web adalah suatu sistem server yang besar dan mengatur berbagai macam informasi yang dapat berupa teks, gambar maupun suara. Untuk mendapatkan informasi tersebut diperlukan sebuah program client yang disebut dengan browser. World Wide Web merupakan bagian yang tepenting dari internet, diciptakan di CERN, pusat riset Swiss sebagai sebuah proyek akademik. Dalam proyek ini mencoba untuk menyediakan akses ke berbagai sumber informasi dengan mengaitkannya tidak
37
hanya pada dokumen saja yang melalui HTTP (Hypertext Transfer Protocol), akan tetapi FTTP dan WAIS. Istilah-istilah World Wide Web (M cleod, 2001, p.75):
Website, ini mengacu pada sebuah komputer yang dikaitkan ke Internet yang berisi hypermedia yang dapat diakses dari komputer lain melalui suatu hyperlink.
Hypertext Link, ini mengacu pada suatu petunjuk yang terdiri dari teks atau grafik yang digunakan untuk mengakses hypertext yang disimpan di website. Teks itu biasanya digaris bawahi dan ditampilkan dalam warna biru.
Web Page, ini mengacu pada suatu file hypermedia yang disimpan di suatu web site, yang diidentifikasi oleh suatu alamat yang unik.
Home Page, ini mengacu pada halaman pertama dari suatu web site. Halamanhalaman lain di site tersebut dapat dicapai dari home page.
URL (Universal Resource Locator), ini mengacu pada alamat dari suatu web page.
Browser, ini mengacu pada suatu sistem perangkat lunak yang memungkinkan kita mengambil hypermedia dengan mengetikkan parameter pencarian atau mengklik suatu grafik. Browser disebut juga search engine.
FTP (File Transfer Protocol), ini mengacu pada perangkat lunak yang memungkinkan kita menyalin file ke komputer kita dari website mana saja.
2.12 Pemasaran M enurut Kotler dan Armstrong (2001,p7), pemasaran adalah sebagai suatu proses sosial dan manajerial yang membuat individu dan kelompok memperoleh apa yang
38
mereka butuhkan dan inginkan, lewat penciptaan dan pertukaran timbal balik produk dan nilai dengan orang lain. Pemasaran tidak hanya sekedar penjualan atau periklanan tapi juga termasuk memuaskan kebutuhan pelanggan. M enurut Kotler dan Armstrong (2001,p256), pemasaran online adalah pemasaran yang dilakukan melalui sistem komputer online interaktif, yang menghubungkan konsumen dan penjual secara elektronik. Konsep inti dari pemasaran menyangkut hal-hal sebagai berikut (Kotler dan Armstrong,2001,p7): •
Kebutuhan, keinginan dan permintaan.
•
Produk dan Jasa.
•
Nilai, kepuasan, dan mutu.
•
Pasar.
•
Pertukaran, transaksi dan hubungan. M anfaat
pemasaran
online
bagi
konsumen
yaitu
(Kotler
dan
Armstrong,2001,p260-p261): •
Pembelian online ini nyaman.
•
Pembelian online itu mudah dan pribadi.
•
M emberi konsumen akses ke informasi pembandingan yang melimpah, informasi tentang perusahaan, produk dan pesaing.
•
Pembelian online itu interaktif dan segera. M anfaat
pemasaran
Armstrong,2001,p261-p262):
online
bagi
pemasar
yaitu
(Kotler
dan
39
•
Alat yang bagus untuk pembangunan hubungan pelanggan. Perusahaan dapat berinteraksi dengan pelanggan untuk belajar lebih banyak tentang kebutuhan dan keinginan pelanggan yang khusus dan membangun pusat data pelanggan.
•
Pemasaran online dapat mengurangi biaya dan meningkatkan efisien
•
Pemasaran online menawarkan keluwesan yang lebih baik, yang membuat pemasar dapat membuat penyesuaian yang berkelanjutan pada tawaran dan programnya. Saluran pemasaran online dengan empat cara (Kotler dan Armstrong,2001,p263-
p270): 1. M enciptakan etalase toko elektronik. 2. M enempatkan iklan online. 3. Berperan serta dalam forum, newsgroup, dan komunitas web. 4. M enggunakan e-mail dan webcasting.
2.13
e-Commerce dan e-Bu siness Sebagai akibat dari globalisasi ekonomi dan meluasnya internet, bisnis
memperluas model bisinis untuk mengimplementasikan electronic commerce (ecommerce) dan electronic bisnis (e-business). Electronic commerce adalah pembelian, penjualan dan pertukaran barang, layanan, dan informasi melalui jaringan komputer terutama internet. Electronic business adalah tidak hanya pembelian dan penjualan tetapi juga melayani konsumen, bekerja sama dengan rekan bisnis, dan menjalankan transaksi elektronik dalam suatu organisasi melalui internet. E-commerce menjanjikan dampak yang sangat besar untuk setiap industri. Dunia usaha menggunakan internet untuk melakukan pembelian barang dengan jumlah $43 miliar pada tahun 1998 dan mendekati
40
$100 miliar pada tahun 1998 sampai kira-kira $12 miliar di tahun 1999. Pengusaha eceran yang sudah online mendapatkan keuntungan dari penjualan iklan, ongkos sewa dan penjualan database pelanggan. Tipe-tipe aplikasi sistem informasi yang e-commerce dan e-business, yaitu sebagai berikut: •
Collaborative commerce (c-commerce). Kolaborasi rekan bisnis secara elektronik. Kolaborasi seperti itu sering terjadi antara para rekan bisnis yang berada dalam rantai distribusi.
•
Business-to-consumers (B2C). Bisnis ke konsumen mencoba untuk menawarkan saluran distribusi produk dan layanan tradisional dalam bentuk baru dan berbasis Web. Anda, sebagai pelanggan biasa, dapat meneliti, memesan dan membayar produk secara langsung melalui internet. Contohnya Amazon.com (untuk buku dan music) dan E-trade.com (untuk saham dan surat berharga).
•
Consumer-to-consumer (C2C). Dalam hal ini seorang individual menjual produk atau jasa kepada individual lainnya.
•
Intrabusiness (intraorganizational) commerce.
Organisasi menggunakan e-
commerce secara internal untuk meningkatkan operasinya, yang dikenal sebagai business to employees (B2E) •
Government-to-citizen (G2C) and to other. Pemerintah menyediakan layanan kepada masyarakatnya melalui teknologi e-commerce. Pemerintah dapat melakukan bisnis dengan pemerintah lainnya (G2G) atau dengan pebisnis (G2B).
•
Mobile commerce (m-commerce). Ketika e-commerce telah ada pada lingkungan wireless seperti penggunaan pada telepon genggam untuk mengakses internet.