BAB 2 LANDASAN TEORI
2.1
Unfied Modeling Language (UML) Pada tahun 1994, Grady Booch dan James Rambaugh sepakat bergabung untuk menggunakan metode pengembangan berorientasi objek dengan tujuan membuat proses standar tunggal untuk mengembangkan sistem berorientasi objek. Ivar Jacobson bergabung pada tahun 1995, dan mereka bertiga fokus membuat sebuah bahasa pemodelan objek standar sebagai ganti dari pendekatan atau metode berorientasi objek standar (pada saat menuliskan, mereka bertiga memasarkan metodologi pemodelan objek yang disebut Unfied Process). Berdasarkan kerja mereka dan hasil kerja lainnya pada industri, Unfied Modeling Language (UML) versi 1.0 dirilis pada tahun 1997. UML tidak menentukan metode untuk sistem-sistem pengembangan, hanya catatan yang saat ini telah diterima luas sebagai standar untuk pemodelan objek. Object Management Group (OMG), badan standar industri, mengadopsi UML pada bulan November 1997 dan terus bekerja untuk meningkatkannya berdasarkan kebutuhan industri.
6
2.1.1 Use-case Diagram Use-case diagram adalah diagram yang menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Sebuah contoh diagram use-case ditunjukkan pada Gambar 2.1.
System Use Case actor 1 Use Case
actor 3
Use Case actor 2
Gambar 2.1 Contoh Diagram Model Use-case Pemodelan use-case mengidentifikasi dan menggambarkan fungsi-fungsi sistem dengan menggunakan alat yang disebut use-case. Use Case Simbol
Gambar 2.2 Simbol use-case
7
Use-case merupakan urutan langkah yang secara tindakan saling terkait (skenario), baik termotifasi maupun secara manual, untuk tujuan melengkapi satu tugas bisnis tunggal. 2.1.2 Deskripsi Use-case Bagian umum kejadian use-case adalah deskripsi use-case, yaitu langkah demi
langkah
mulai
dengan
pelaku
menginisialisasi
use-case
dan
melanjutkannya hingga akhir kejadian bisnis. Dimana di dalam deskripsi usecase terdapat :
Nama use-case (use-case), merupakan nama dari suatu use-case.
Aktor (actor), pelaku yang berpartisipasi di dalam suatu use-case.
Tujuan (goals), tujuan dari use-case.
Prakondisi (precondition), batasan pada keadaan sistem sebelum use-case dapat dieksekusi.
Ringkasan (summary), deskripsi ringkasan pendek yang berisi sejumlah kalimat yang menunjukkan secara garis besar tujuan use-case dan berbagai kegiatannya.
Related use-case, use-case tersebut saling berhubungan.
Langkah-langkah (steps), menjelaskan setiap langkah dari use-case dengan
menggunakan
dua
kolom,
dimana
kolom
sebelah
kiri
menunjukkan aksi dari pelaku dan kolom sebelah kanan merupakan respon yang diberikan oleh sistem.
8
2.1.3 Activity Diagram Activity diagram / diagram aktivitas adalah sebuah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran proses bisnis, langkah-langkah sebuah use-case atau logika behaviour (metode) object. Diagram ini serupa dengan flowchart, dimana secara grafis diagram ini menggambarkan aliran sekuensial dari kegiatan baik itu proses bisnis atau sebuah use-case. Diagram ini berbeda dari flowchart dimana diagram ini menyediakan sebuah mekanisme untuk menggambarkan kegiatan yang tampak secara paralel. Karena itu, diagram ini sangat berguna untuk memodelkan kegiatan yang akan dilakukan saat sebuah operasi eksekusi dan untuk memodelkan hasil-hasil dari kegiatan-kegiatan ini seperti memodelkan event yang menyebabkan window akan ditampilkan atau ditutup. Dibawah ini merupakan simbol-simbol yang ada pada diagram aktivitas.
Initial state, menggambarkan awal dari sebuah proses.
Gambar 2.3 Initial state
State, segi empat bersudut tumpul menggambarkan sebuah kegiatan atau tugas yang perlu dilakukan.
Gambar 2.4 State
9
Control flow, panah menggambarkan sasaran yang mengawali kegiatan.
Gambar 2.5 Control flow
Transition (fork), merupakan bar sinkronisasi dimana kegiatan dapat dilakukan secara paralel.
Gambar 2.6 Transition (fork)
Transition (join), merupakan bar sinkronisasi dimana dua aktivitas yang mempunyai tujuan yang sama dan tujuan dari keduanya digabung menjadi satu.
Gambar 2.7 Transition (join)
10
Decision, menggambarkan sebuah kegiatan keputusan.
Gambar 2.8 Decision
Final state, menggambarkan akhir dari sebuah proses.
Gambar 2.9 Final state 2.1.4 Class Diagram Class diagram atau diagram kelas menggambarkan sturktur objek sistem. Diagram ini menunjukkan kelas objek yang menyusun sistem dan juga hubungan antara kelas objek tersebut. Di dalam diagram kelas terdapat class, attribute dan behaviour. Gambar 2.10 merupakan contoh dari class diagram. Simbol panah menunjukkan asosiasi.
Gambar 2.10 Contoh dari class diagram Pada contoh di atas, satu mahasiswa bisa memiliki banyak buku.
11
Object Object adalah sesuatu yang nyata atau dapat dilihat, disentuh, atau dirasakan. User menyimpan data serta mencatat perilaku mengenai sesuatu itu.
Class / kelas Class merupakan satu set object yang memiliki attribute dan behaviour yang sama, yang biasa disebut dengan object class. Di bawah ini merupakan dari sebuah class / kelas.
Kelas
Gambar 2.11 Class dalam UML
Attribute Data yang mewakili karakteristik ketertarikan tentang suatu objek. Perhatikan Gambar 2.12 merupakan contoh dari attribute yang ada pada kelas orang.
12
Orang
- nama - tanggal_lahir - jenis_kelamin - umur
Attribute
- jalan - makan - minum
Gambar 2.12 Attribute dari kelas orang
Behaviour Behaviour merupakan kumpulan dari sesuatu yang dapat dilakukan oleh objek dan terkait dengan fungsi-fungsi yang bertindak pada data objek (atau atribut). Pada siklus berorientasi objek, perilaku objek merujuk kepada metode, operasi, atau fungsi. Perhatikan Gambar 2.13
13
Orang
- nama - tanggal_lahir - jenis_kelamin - umur
- jalan - makan - minum
behavior
Gambar 2.13 Behaviour dari kelas orang Beberapa simbol lain yang ada pada class diagram adalah :
Associations Menunjukkan hubungan antara kelas yang satu dengan kelas yang lain. Perhatikan Gambar 2.14.
Garis mengindikasikan hubungan / associations Gambar 2.14 Hubungan antara class buku dan mahasiswa
14
Generalization Generalization merupakan sebuah teknik dimana attribute dan behaviour yang umum pada beberapa tipe kelas objek, dikelompokkan ke dalam kelasnya sendiri. Perhatikan Gambar 2.15
Gambar 2.15 Hubungan generalisasi
Aggregations Terkadang sebuah kelas dapat mempunyai beberapa kelas komponen. Dan berhubungan antara kelas dengan kelas komponennya itu bernama aggregations.
15
Gambar 2.16 Hubungan aggregations
Composites Composites adalah sebuah tipe aggregations yang kuat. Artinya setiap kelas komponen hanya dimiliki oleh satu kelas saja.
Gambar 2.17 Hubungan composites
2.1.5 Sequence diagram 16
Diagaram rangkaian menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use-case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dan dalam sekuensi apa. Perhatikan gambar 2.16 merupakan contoh dari sequence diagram.
Pesanan
Antrian Pesanan
Produk
Pelanggan
calculatePrice()
getPrice()
getDiscounted Value()
Gambar 2.18 Sequence diagram Di bawah ini merupakan symbol-simbol yang ada dari sequence diagram :
Object lifeline
17
Menggambarkan panjang kehidupan suatu objek selama skenario sedang dibuat contohnya :
Gambar 2.19 Object lifeline
Activation Dimana proses sedang dilakukan oleh object / class untuk memenuhi pesan / perintah.
Gambar 2.20 Activation symbol
Message Sebuah anak panah yang mengindikasikan pesan diantar objek. Dan objek dapat mengirimkan pesan ke dirinya sendiri.
Gambar 2.21 Message symbol 18
2.2
Control iteration Control iteration sudah dikenalkan oleh Booch, Jacobson, dan Rambaugh dalam bukunya yang berjudul “objectory process”. Pada tahun 1997 HansEriksson dan Marcus Penker menjelaskan objectory process dengan baik dalam bukunya yang berjudul “UML Toolkit”. Model
control
iteration
memiliki
keunggulan
fleksibilitas
dan
modularitas dalam pengembangan objek untuk menghasilkan suatu daur-hidup yang cocok yang dapat digunakan orang dan mudah dalam pengaturannya. Fase-fase control iteration : 1. Inception Inisialisasi dan persetujuan awal untuk definisi produk, apa yang akan dibentuk. 2. Elaboration Inisialisasi dan persetujuan detil untuk definisi produk, apa yang akan dibuat. 3. Construction Membentuk secara penuh dari produk yang dibuat. 4. Transition Mengantarkan program yang sudah dibuat dan mencapai tujuan.
Tujuan akhir dalam setiap fasenya :
19
1. Inception, mendapatkan pengertian umum tentang definisi produk. Dalam fase ini, user dilibatkan. 2. Elaboration,
merancang
secara
lengkap
sehingga
siap
untuk
dikembangkan kedalam bahasa pemrogaman. Dalam fase ini objek dan diagram sudah diselesaikan secara penuh. 3. Construction, membangun secara penuh, kode-kode operasional siap untuk ditest. 4. Transition, dilakukan pengetesan awal seperti back-end process-sistem, alpha, dan beta test.
Gambar 2.22 Gambar fase-fase control iteration
20
2.3
Interaksi Manusia dan Komputer (IMK) Interaksi manusia dan komputer merupakan disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer yang interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya. Tujuan dari ilmu ini adalah untuk membangun atau merancang suatu sistem yang aman, sesuai dengan kebutuhan, efektif, efisien, dan dapat dipakai. Konsep utama dari interaksi manusia dengan komputer adalah bagaimana membuat sistem yang mudah dipelajari dan digunakan. Menurut Shneiderman, terdapat delapan aturan emas dalam merancang antarmuka pengguna, yaitu : a. Berusaha untuk konsisten Antarmuka pengguna harus memperhatikan konsistensi misalnya konsistensi dalam aksi untuk melakukan tugas yang serupa dan konsistensi tampilan (penggunaan istilah, menu, bantuan, warna dan jenis huruf). b. Memungkinkan pemakai yang sudah terbiasa untuk menggunakan shortcut Shortcut akan memudahkan pemakai yang sudah terbiasa dan menginginkan interaksi yang singkat dan cepat. c. Memberikan umpan balik (feedback) yang informative Untuk aksi yang sering digunakan, diberi umpan balik yang sederhana dan mencukupi, sedangkan untuk aksi yang jarang dilakukan berikan umpan balik yang lebih rumit dan informatif. d. Memberikan tanda untuk suatu penutupan (keadaan akhir)
21
Harus terdapat tanda kapan dimulai, pertengahan, dan akhir dari prosesnya, dan juga terdapat penjelasan yang informatif pada setiap perpindahan proses. e. Memberikan pencegahan kesalahan dan penanganan kesalahan sederhana Sistem harus dirancang sedemikian rupa agar pemakai tidak dapat membuat kesalahan yang serius. Jika kesalahan itu terjadi sistem harus dapat mendeteksi
dan
menawarkan
instruksi
yang
sederhana
untuk
memperbaikinya.
f. Memungkinkan pembalikan aksi dengan mudah Setiap aksi sedapat mungkin harus dapat dibatalkan, sehingga pemakai tidak takut untuk melakukan kesalahan. g. Mendukung pusat kendali internal (internal focus of control) Tanggapan sistem yang tidak jelas, urutan memasukkan data yang tidak jelas,
kesulitan
mendapatkan
informasi
yang
diperlukan,
dan
ketidakmampuan sistem menghasilkan aksi yang diinginkan akan membuat pemakai merasa tidak memegang kendali. h. Mengurangi beban ingatan jangka pendek Ingatan manusia adalah terbatas, sehingga diusahakan agar tampilan dibuat sesederhana mungkin dan mengurangi pergerakan antara jendela sehingga mengurangi beban ingatan jangka pendek.
2.4
Aplikasi Web
22
Aplikasi web adalah suatu aplikasi yang dapat membentuk halamanhalaman web berdasarkan permintaan pemakai. Aplikasi web juga bisa mencakup permintaan interaktif ataupun kelompok diskusi. Aplikasi web merupakan salah satu contoh aplikasi client/server. Client mewakili komputer yang digunakan oleh seseorang pemakai yang hendak menggunakan aplikasi, sedangkan server mewakili komputer yang menyediakan layanan aplikasi. Dalam konteks ini, model client / server yang menggunakan aplikasi web dapat melibatkan bermacam-macam platform. Ciri khas lain pada penggunaan aplikasi web, pemakai menggunakan perangkat lunak yang dinamakan web browser atau sering disebut browser saja (misalnya Netscape Communicator, Opera, Internet Explorer, dan Firefox) untuk mengakses aplikasi web. Komputer yang bertindak sebagai server umumnya menyediakan Database server, selain web server yang ditujukan untuk melayani permintaan pemakai yang hendak mengakses aplikasi web. Database server adalah server yang melayani akses terhadap database. Oracle dan MySQL merupakan contoh dari sekian database server. Adapun contoh web server yaitu Apache (sangat terkenal di lingkungan Linux) dan IIS (Internet Information Sistem), yang merupakan andalan Microsoft. 2.4.1 HTML Untuk membuat kode JSP dengan mudah maka kita harus mengenal sejumlah tag pada HTML. HTML (Hyper Text Markup Language) adalah bahasa yang digunakan untuk mengkonstruksi halaman web, versi generasi kedua.
23
Berdasarkan standar inilah web browser bila memahami isi suatu dokumen yang berasal dari web server. HTML bekerja dengan menggunakan HTTP (Hyper Text Transfer Protocol), yaitu protocol komunikasi yang memungkin web server berkomunikasi dengan web browser. Kode HTML berupa sebuah berkas teks dengan akhiran berupa .HTML, .html, .HTM atau .htm. 2.4.2 Java Server Pages (JSP) Gambar 2.23 dibawah ini merupakan contoh situs-situs yang merupakan JSP.
Gambar 2.23 Contoh situs-situs yang menggunakan JSP JSP merupakan teknologi yang didasarkan pada bahasa Java, yang dapat digunakan untuk membentuk halaman-halaman web yang bersifat dinamis.
24
Teknologi ini dikembangkan oleh Sun Microsistem. Berbeda dengan applet, suatu fitur pada bahasa Java yang memungkinkan pengembang membuat aplikasi web yang dieksekusi pada sisi klien, JSP menggunakan pendekatan pemrosesan di sisi server. Pada model seperti ini, kode sumber JSP dijalankan pada web server. Salah satu keuntungan model seperti ini adalah memungkinkan untuk membuat aplikasi yang independent terhadap keberadaan sistem Java di sisi client. Mulai Java Server Pages 2.0, Pengembangan JSP bisa mengimplementasikan halaman web tanpa memakai bahasa Java. Dua alasan penting yang membuat JSP banyak digunakan oleh para pengembang aplikasi web : 1.
JSP menggunakan bahasa Java. Bagi para programmer yang telah mengenal Java, sangatlah mudah untuk membuat aplikasi web dengan JSP mengingat dasar JSP adalah bahasa Java. Dengan demikian mereka tidak perlu lagi belajar bahasa baru untuk membuat aplikasi web.
2.
JSP mendukung multiplatform. Dalam hal ini JSP memang bukan satusatunya
perangkat
lunak
pembuat
aplikasi
web
yang
bersifat
multiplatform. PHP, misalnya, juga bersifat multiplatform. Keunggulan dengan adanya dukungan multiplatform adalah memungkinkan kode dapat dipindah-pindahkan ke berbagai platform tanpa perlu melakukan perubahan apapun pada kode tersebut. Sebagai contoh, Anda bisa menulis kode JSP yang pada awalnya ditujukan untuk dijalankan pada Windows, dan kemudian dipindahkan ke lingkungan yang lain, misalnya Linux.
25
Java Servlet Java Servlet API mengijinkan pembuat software untuk menambahkan isi yang dinamis ke dalam web server dengan menggunakan platform Java. Isi yang dihasilkan biasanya HTML, tetapi bisa saja berupa XML. Servlet merupakan keluaran produk Java untuk bersaing dengan web yang menggunakan teknologi non-Java yang dinamis seperti PHP, CGI dan ASP.NET. servlet dapat menjaga keseimbangan transaksi server dengan menggunakan HTTP cookies, variabel session atau penulisan ulang URL. Servlet API, berada didalam hirarki paket Java javax.servlet, yang berarti interaksi yang diharapkan dari sebuah web container dan sebuah servlet. Sebuah Web container merupakan komponen penting dari sebuah Web server yang berinteraksi dengan servlet tersebut. Web container tersebut bertanggungjawab untuk mengatur siklus aktif servlet, pemetaan sebuah URL ke sebuah bagian servlet dan memastikan peminta URL mendapat hak akses yang benar. Sebuah Servlet adalah sebuah objek yang menerima sebuah permintaan dan menghasilkan sebuah respon berdasarkan permintaan tersebut. Paket servlet dasar memastikan objek-objek Java untuk mewakili permintaan dan respon servlet, sama seperti objek yang mengembalikan parameter konfigurasi servlet dan lingkungan pelaksanaan. Paket javax.servlet.http diartikan sebagai kelas bawah khusus HTTP dari element umum servlet, termasuk objek manajemen session yang mengikuti jejak banyak permintaan dan respon antara Web server dan sebuah klien. Servlets dapat dibuat paket dalam sebuah file WAR sebagai sebuah aplikasi web.
26
Servlets juga dapat dijalankan secara otomatis oleh Java Server Pages (JSP). Biasanya servlet digunakan dalam menghubungkan JSPs dalam sebuah pola yang dinamakan "Model 2", dimana biasanya disebut pola model-viewcontroller. Top ten mistakes of web design (Jakob Nielsen, 1996) Menurut Jakob Nielsen, ada kesalahan yang sering terjadi pada saat mendesain halaman web atau yang lebih sering dikenal dengan istilah top ten mistakes of web design. 10 kesalahan utama tersebut, yaitu : a. Penggunaan frame. b. Penggunaan teknologi baru dengan serampangan. c. Gerakan teks dan animasi yang berjalan terus. d. URL yang kompleks. e. Halaman yatim. f. Halaman yang terlalu panjang gulungannya. Isi terpenting dan navigasi harus tampak dibagian atas. g. Kurangnya dukungan navigasi. h. Warna link yang tidak standar. i. Informasi yang basi. j. Waktu download yang terlalu lama. Pemakai kehilangan minat dalam 10-15 detik. Perancangan Menu
27
Perancangan
menu
diperlukan
untuk
navigasi
pemakai
dalam
memudahkan penggunaan perangkat lunak. Item-item menu dibuat berdasarkan deskripsi kejadian dan keadaan. Menu tersebut disusun dengan hierarki tertentu dimana setiap menu memiliki submenu dan submenu dapat memiliki submenu lagi. Perancangan Layar Perancangan layar digunakan untuk memudahkan pengguna dalam memakai perangkat lunak. Dalam setiap halamannya perancangan dilakukan dengan format yang tetap. Keuntungan menggunakan perancangan layar dengan format tetap adalah pemakai dapat mengidentifikasikan informasi dengan cepat dan dapat mengatur navigasi dengan cepat dan dapat mengatur navigasi dengan perintah-perintah yang konsisten.
Internet Pada awalnya internet hanya digunakan oleh militer saja. Internet pertama kali di temukan pada tahun 1957 ketika pesawat ulang-alik Sputnik diluncurkan sebagai stasiun luar angkasa pertama. Pada tahun 1968 internet mulai digunakan oleh beberapa universitas ternama di Amerika, dan pada tahun 1969 akhirnya jaringan internet dapat disambungkan melalui beberapa universitas, yaitu : University of California at Los Angeles, SRI (in Stanford), University of California at Santa Barbara, dan University of Utah. Jaringan dihubungkan dengan kabel berkecepatan 50Kbps. Email pertama kali dibuat oleh
28
Ray Tomlinson dari BBN. Tahun 1973 mulai menggunakan protocol TCP/IP yang didirikan oleh suatu grup yang disebut DARPA. Tahun 1976 Dr. Robert M.Metcalfe menemukan Ethernet, dimana menggunakan kabel coaxial yang dapat mengirim data dengan cepat. Pada akhirnya penemuan ini yang akan mengilhami LAN. Pada 1 Januari 1981 semua mesin yang tersambung ke ARPANET harus menggunakan TCP/IP. TCP/IP menjadi pusat dari protocol internet dan dengan cepat menggeser peran NCP. Tahun 1984 ARPANET pecah menjadi 2 (dua), yaitu : MILNET dan ARPANET dimana MILNET menangani kebutuhan militer dan ARPANET mendukung pengembangan IPTEK, Department of Defense melanjutkan dukungannya pada kedua jaringan. Tahun 1992 World Wide Web di keluarkan oleh CERN dan NSFNET ditingkatkan menjadi T3 (44,736 Mbps). Tahun 1993 NSF menyediakan layanan internet dan pada tahun 1994 beberapa perusahaan mulai menggunakan internet sebagai tempat usahanya, diantaranya : Pizza Hut, First Virtual (cyberbank pertama). Tahun 1995 NSF menjual domain dengan harga $50 per tahun diluar .edu dan .gov. Tahun 1996 lalu-lintas internet ditopang oleh ISPs termasuk MCI, AT&T, Sprint, UUnet, BBN planet, dan banyak lagi. Menurut Patrik Lynch, desain World Wide Web yang baik adalah menyeimbangkan struktur dan hubungan dari menu atau home page dengan halaman isi atau grafik dan dokumen yang di-link. Tujuannya untuk membangun hierarki menu dan halaman yang berasa alami dan terstruktur dengan baik bagi pemakai, dan tidak mengganggu pemakaian situs web atau menyesatkan mereka.
29
2.6
Data Data adalah kumpulan angka, karakter, gambar atau output lain dari device untuk merubah dari bentuk fisik kedalam simbol-simbol, dalam sebuah pengertian yang luas. Beberapa data diproses oleh manusia atau dimasukkan ke dalam sebuah komputer, disimpan dan diproses dalam komputer, atau dikirim ke manusia yang lain atau komputer. Data adalah sebagai dasar yang bersifat relatif; proses data biasanya terjadi melalui beberapa tahap, dan data yang telah di proses dari satu tahap bisa disebut sebagai data mentah untuk tahap selanjutnya. Beberapa bentuk khusus dari data dapat dikenali. Sebuah program komputer adalah koleksi dari data yang dapat diartikan sebagai instruksiinstruksi. Kebanyakan bahasa komputer membuat perbedaan yang jelas antara program dan data yang lain dimana program tersebut sedang beroperasi, tetapi dalam beberapa bahasa, seperti Lisp dan bahasa yang serupa, pada dasarnya program tidak dapat dikenal dari data yang lain. Itu juga berguna untuk mengenal metadata, dimana merupakan deskripsi dari data yang lain.
2.7
Informasi Informasi
adalah
hasil
pemrosesan,
manipulasi
dan
pengorganisasian/penataan dari sekelompok data yang mempunyai nilai pengetahuan (knowledge) bagi penggunanya. Namun demikian istilah ini memiliki banyak arti bergantung pada konteksnya, dan secara umum berhubungan erat dengan konsep seperti arti, pengetahuan, komunikasi, kebenaran, representasi, dan rangsangan mental.
30
Banyak orang meggunakan istilah "era informasi", "masyarakat informasi," dan teknologi informasi, dalam bidang ilmu informasi dan ilmu komputer yang sering disorot, namun kata "informasi" sering dipakai tanpa pertimbangan yang cermat mengenai berbagai arti yang dimilikinya.
2.8
Backup Data Dalam teknologi informasi, backup dapat diartikan sebagai membuat duplikat data sehingga duplikat tambahan ini dapat digunakan untuk mengembalikan data yang asli setelah sebuah data hilang. Duplikat tambahan ini dinamakan backup. Backup mempunyai kegunaan pertama untuk dua tujuan. Pertama adalah mengembalikan sebuah komputer ke status operasi mengikuti sebuah masalah. Kedua adalah mengembalikan sejumlah kecil dari file dimana secara tidak sengaja terhapus. Sejak sebuah sistem backup mengandung sekurangnya satu duplikat dari semua
data
krusial
yang
disimpan,
syarat
penyimpanan data
dapat
dipertimbangkan. Mengatur ruang penyimpanan dan proses backup adalah masalah yang rumit. Sebuah data dapat digunakan untuk menyediakan struktur ke penyimpan tersebut. Dalam era modern dari komputer terdapat banyak tipe alat penyimpan data yang berbeda dimana berguna untuk membuat backup. Ada juga banyak cara dimana alat-alat ini dapat diatur untuk menyediakan kelebihan geografi, keamanan data, dan portabilitas. 2.9
Database
31
Menurut C.J Date, database adalah sistem terkomputerisasi yang tujuan utama adalah memelihara informasi dan membuat informasi tersedia saat dibutuhkan. Sebuah sistem database dapat memiliki beberapa database. Setiap database dapat berisi/memiliki sejumlah objek database, yang antara lain yaitu: a. Field Field adalah sekumpulan kecil dari kata atau sebuah deretan angka-angka. b. Record Record adalah kumpulan dari field yang berelasi secara logis. Contoh : nama, alamat, nomor telepon, dan sebagainya. c. File File atau berkas adalah kumpulan dari Record yang berelasi secara logis. Contoh : berkas transaksi toko A yang mempunyai Record tanggal, kode barang, dan harga. d. Entity Entity adalah orang, tempat, benda, atau kejadian yang berkaitan dengan informasi yang disimpan. Contoh : pelanggan, pekerja, dan sebagainya. e. Attribute Attribute adalah setiap karakteristik yang menjelaskan suatu entity. Contoh : nama pelanggan, umur pekerja, dan sebagainya. f. Primary key Primary key adalah field yang nilainya unik yang tidak sama antara satu Record dan Record yang lain. Primary key digunakan sebagai tanda pengenal dari suatu field.
32
g. Foreign key Foreign key adalah field yang nilainya berguna untuk menghubungkan Primary key lain yang berada pada tabel yang berbeda. 2.9.1 Relational Database Relational Database adalah representasi logical dari data. Data tersebut dapat diakses tanpa ada ketergantungan dengan struktur fisik dari database tersebut. Relational Database merupakan sistem database yang paling banyak dipakai saat ini. Salah satu bahasa yang sering dipakai untuk memanipulasi data adalah bahasa SQL. Data dalam relational database disimpan didalam sebuah tabel dimana terdapat kolom dan baris. 2.9.2 Teknik Normalisasi Dalam membangun suatu database teknik normalisasi selalu digunakan dalam proses analisis dan perancangan, sehingga informasi yang diperoleh dapat tersaji secara akurat dan benar serta sesuai dengan yang dimaksud. Teknik normalisasi adalah suatu teknik mendekomposisi atau memecah suatu tabel besar menjadi beberapa tabel yang lebih sederhana dan spesifik. Tujuan dari teknik normalisasi adalah mengurangi terjadinya kerangkapan data, menghindari masalah disaat menambah data, mengedit data, dan menghapus data. Didalam teknik normalisasi terdapat beberapa tahapan yang harus dilalui agar suatu database menghasilkan informasi yang tepat, dan sesuai dengan yang dimaksud. Tahapan yang harus dilakukan adalah : a. Bentuk normal pertama
33
Bentuk normal pertama mempunyai ciri, yaitu setiap field mempunyai nilai yang bersifat atomic, tetapi masih terdapat beberapa nilai yang muncul berulang-ulang. Atomic yaitu atribut yang tidak dapat dipisah lagi. b. Bentuk normal kedua Bentuk normal kedua mempunyai syarat yaitu bentuk tabel telah berada dalam bentuk normal pertama dan field bukan kunci baru tergantung pada field kunci primer sehingga dalam bentuk normal kedua harus sudah menentukan kunci field primer. c. Bentuk normal ketiga Untuk menjadi bentuk normal ketiga suatu tabel harus dalam bentuk normal kedua dan semua atribut bukan kunci primer tidak mempunyai hubungan transitif. Dengan arti lain, setiap atribut bukan kunci harus bergantung hanya pada kunci primer secara penuh. 2.9.3 MySQL MySQL adalah salah satu software database server yang sangat terkenal, disebabkan MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses database. Software MySQL pertama dibuat oleh Michael “Monthy” Widenius dan timnya pada tahun 1994. Pemakaian database MySQL yang dimaksud adalah pengembang aplikasi database yang ingin menggunakan MySQL sebagai database-nya atau “backend” dari aplikasi yang dibangun. Sedangkan MySQL mempunyai kelebihan dapat diakses oleh banyak bahasa pemrogaman. MySQL merupakan software database server yang ideal untuk data segala ukuran dengan kemampuan mempunyai kecepatan yang sangat tinggi dalam pemrosesan data,
34
multi-threaded, multi-user dan query. Ukuran database MySQL lebih kecil file database yang lain. Beberapa
pertimbangan
programmer
“backend” dalam mengolah database adalah : 1. Kecepatan 2. Mudah digunakan 3. Open Source 4. Kapabilitas 5. Biaya murah 6. Keamanan 7. Lintas platform.
35
memilih
MySQL
sebagai