BAB 2 LANDASAN TEORI 2.1
Teori-Teori Dasar/ Umum Dalam subbab-subbab di bawah ini kami akan membahas pengertian teori-teori
umum yang berhubungan dengan database dan perancangan web kami. 2.1.1
Internet Berdasarkan pendapat Eaglestone dan Ridley (2001, p22), Internet merupakan
mekanisme implementasi penggabungan banyak jaringan komputer. Internet bukanlah jaringan tunggal melainkan sebuah jaringan dari banyak jaringan. Faktanya, nama Internet merupakan kependekan dari inter-networking, yang berarti memungkinkan kita untuk
berrelasi
dengan
banyak
jaringan
secara
terus
menerus.
Internet
mengimplementasikan protokol standar yang disebut TCP/IP (Transmission Control Protocol/Internet Protocol). TCP/IP memungkinkan setiap jaringan komputer yang berbeda dapat berelasi satu sama lain. 2.1.2
TCP/IP Berdasarkan pendapat Sidney Feit (1996, p17), TCP/IP yang merupakan
singkatan dari Transfer Control Protocol menyediakan komunikasi yang reliable, berorientasi hubungan, dan peer to peer. TCP terdiri dari beberapa layer atau lapisan yang memiliki fungsi yang khusus dalam komunikasi data. Setiap fungsi dari layer selain dapat bekerjasama dengan layer yang lebih rendah atau lebih tinggi, juga dapat berkomunikasi dengan layer sejenis pada remote host (peering). IP adalah inti dari TCP/IP yang memiliki peran sebagai pembawa data yang independen. Semua dokumen TCP/IP dalam bentuk public dokumen IEN dan RFC. IP terbagi menjadi kelas network A, B, dan C. Sedangkan kelas D digunakan untuk keperluan reverse IP dapat diabaikan. IP ditulis dalam bilangan desimal dari 0 sampai 255. Data yang mengalir antar layer atau antar host dibungkus dan diberi header dengan tujuan agar setiap layer dapat mengenali dan memproses lebih lanjut. 6
7
Sebuah host tidak mengetahui alamat IP gateway pada jaringan yang lain, akan tetapi data tersebut mengalir menuju host tujuan yang terdapat pada jaringan lain melalui gateway network-nya setelah diberi penentuan routing alamat IP. Ciri-ciri TCP/IP : 1. Network Technological Independence 2. Universal Interconnection 3. End-to-End Acknowledgement 4. Application Protocol Standard TCP/IP menjadi satu nama karena fungsinya yang selalu berkaitan satu sama lain dalam proses komunikasi data. TCP/IP saat ini banyak digunakan dalam banyak jaringan komputer lokal (Local Area Network /LAN) yang terhubung pada koneksi Internet karena TCP/IP memiliki sifat : Merupakan protokol standar yang terbuka, gratis dan dikembangkan terpisah dari perangkat keras komputer tertentu. Karena itu protokol ini banyak didukung oleh vendor perangkat keras, sehingga TCP/IP merupakan pemersatu perangkat keras dan lunak komputer yang terdiri dari berbagai macam vendor yang berbeda. Berdiri sendiri atau terpisah dari berbagai jaringan perangkat keras. Sifat ini memungkinkan TCP/IP bergabung dengan banyak jaringan komputer yang ada. TCP/IP dapat beroperasi melalui sebuah Ethernet, token ring, maupun saluran dial-up, dan secara virtual melalui berbagai media fisik transmisi data.
8
Bila didasarkan atas standar-standar protokol yang telah dikembangkan kita dapat menyusun task-task komunikasi untuk TCP/IP menjadi lima barisan independen secara relatif : 1. Lapisan Aplikasi Menyediakan komunikasi diantara proses atau aplikasi pada host-host terpisah. 2. Lapisan Transport Menyediakan layanan transfer data ujung-ke-ujung. Lapisan ini meliputi mekanisme-mekanisme keandalan. Menyembunyikan detail-detail jaringan yang mendasari atau jaringan-jaringan dari lapisan aplikasi. 3. Lapisan Internet Berkaitan dengan routing data dari sumber ke host tujuan melewati satu jaringan atau lebih yang dihubungkan melalui router. 4. Lapisan Akses Jaringan Berkaitan dengan logical interface diantara suatu ujung sistem dan jaringan 5. Lapisan Fisik Menentukan karakteristik-karakteristik media transmisi, rata-rata pensinyalan, serta skema pengkodean sinyal. 2.1.3
World Wide Web (WWW) Berdasarkan pendapat Eaglestone dan Ridley (2001, p24), World Wide Web
(WWW) merupakan aplikasi di Internet yang menyediakan fasilitas untuk mengakses informasi dan menjalankan program yang tersimpan dalam computer dan terhubung dengan internet. Setiap sumber Web dialamatkan oleh sebuah pengenal global unik yang disebut Uniform Resource Locator (URL).
9
World Wide Web adalah kombinasi dari empat ide, yaitu: a.
Hypertext
: Sebuah format kata yang dapat menghubungkan
pengguna internet terhubung antara sebuah dokumen ke dokumen lainnya menggunakan koneksi internet. Biasa disebut juga dengan Hyperlinks. b.
Resource Identifier
:
Identifikasi yang unik yang digunakan untuk
mengalokasi file atau dokumen di dalam jaringan. Biasanya dikenal dengan URL (Uniform Resource Locator). c.
Client-server
: sebuah sistem dimana komputer klien meminta sebuah
informasi, dapat berupa data atau file kepada komputer server yang memiliki data tersebut. d.
Markup Language
: kumpulan karakter atau kode untuk mengidentifikasi
data atau text yang dikirim. Untuk mengakses sebuah situs web, pengguna internet harus mengidentifikasi alamat URL, berisi spesifikasi alamat web yang dituju. Salah satu contoh dari URL misalnya, http://www.wikipedia.com/ untuk situs web Wikipedia. 2.1.4
Hyper Text Markup Language (HTML) Hyper Text Markup Language (HTML) merupakan sebuah bahasa markup yang
digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. Berdasarkan pendapat Elizabeth Castro (2007, p14), HTML memiliki 2 fitur esensial yaitu hypertext dan universalitas. Hypertext artinya dapat menciptakan sebuah link dalam sebuah web page . Itu berarti setiap informasi yang berada dalam web page dapat diakses dari lokasi berbeda. Universalitas berarti pengunjung web tidak harus dibuka pada suatu sistem operasi tertentu seperti Windows atau Macintosh, namun dalam semua jenis sistem operasi.
10
Secara garis besar, terdapat 4 jenis elemen dari HTML : a. Structural Tanda yang menentukan level atau tingkatan dari sebuah teks. b. Presentational Tanda yang menentukan tampilan dari sebuah teks tanpa memperdulikan level dari teks tersebut. Tanda presentational saat ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur tampilan teks. c. Hypertext Tanda yang menunjukkan link ke bagian dokumen tersebut atau link ke dokumen lain. d. Widget Elemen widget membuat objek-objek lainnya seperti tombol, list, dan garis horizontal. 2.1.5
Hyper Text Transfer Protocol (HTTP) Hypertext Transfer Protocol merupakan sebuah metode atau cara yang
digunakan untuk mengirimkan informasi di dalam World Wide Web (David Gourley, 2002, p2). Digunakan sebagai cara untuk mengirimkan dan menerima informasi Hypertext Markup Language (HTML). Pengembangan HTTP dikoordinasikan oleh World Wide Web Consortium dan Internet Engineering Task Force. Titik puncaknya adalah menghasilkan sebuah seri dari RFCs, dikenal dengan RFC 2616 (pada tahun 1999), dan untuk selanjutnya diartikan sebagai HTTP/1.1. sebuah versi dari HTTP yang masih digunakan saat ini. HTTP adalah protokol pengirim dan penerima antara klien dan server. Web browser dapat diartikan sebagai klien, dan dapat juga disebut atau diartikan sebagai “pengguna”. Sedangkan server tujuan merupakan penyedia dan penghasil data atau informasi, termasuk file, gambar, dan lain sebagainya
11
2.1.6
Web server Berdasarkan pendapat Eaglestone dan Ridley (2001, p209), Web server adalah
sebuah proses yang berjalan dalam sebuah komputer pengguna yang menunggu datangnya permintaan HTTP. 2.1.7
Uniform Resource Locator (URL) URL adalah suatu string yang terdiri dari karakter-karakter alphanumeric yang
mempresentasikan lokasi atau alamat sumber yang ada pada internet, serta menjelaskan bagaimana alamat tersebut diakses (Connoly & Begg, 2002, p 952) 2.1.8
Web Browser Berdasarkan pendapat Turban, et al. (2003, p224), Web Browser digunakan
untuk mengakses suatu web. Pada minimumnya, browser berkemampuan untuk berkomunikasi via HTTP, mengatur HTML, dan menghasilkan tipe data tertentu yang digunakan untuk membuka berbagai macam media 2.1.9
Database Berdasarkan pendapat Connolly dan Begg (2002, p15), Database merupakan
sebuah koleksi data yang saling berelasi secara logis dan deskripsi dari suatu data tersebut yang dirancang sebagai informasi yang dibutuhkan oleh organisasi. Dengan kata lain, database dapat digambarkan sebagai kumpulan file penting yang saling berelasi satu sama lain dimana relasi tersebut ditunjukkan dengan kunci dari tiap file yang ada. Suatu database menunjukkan satu kumpulan data yang dipakai dalam satu lingkup organisasi. Database merupakan salah satu bagian penting dari perusahaan untuk menyimpan informasi-informasi yang diinginkan perusahaan tersebut. 2.1.9.1
Database management system (DBMS) Berdasarkan pendapat Connolly dan Begg (2002, p16), Database Management
System (DBMS) adalah sebuah sistem piranti lunak yang memungkinkan pengguna untuk dapat menentukan, membuat, memelihara, serta mengendalikan akses ke dalam sebuah database.
12
2.1.9.2
Database Application Lifecycle Berdasarkan pendapat Connolly and Begg (2002, p273), Database Application
Lifecycle adalah sebuah siklus dari
pembuatan sebuah database yang didalamnya
meliputi 11 fase yaitu; 1. Database Planning 2. System Definition 3. Requirements Collection and Analysis 4. Database Design 5. DBMS selection 6. Application Design 7. Prototyping 8. Implementation 9. Data Conversion and Loading Testing 10. Operational Maintenance 2.1.9.2.1
Database Planning
Berdasarkan pendapat Connolly and Begg (2002, p273), Database Planning adalah sebuah aktivitas manajemen yang memungkinkan tahapan dari setiap aplikasi dari sebuah database terwujud dengan lebih efisien dan efektif 2.1.9.2.2
System Definition
Berdasarkan pendapat Connolly and Begg (2002, p274), System definition adalah menjelaskan seberapa besar ruang lingkup dari aplikasi database yang diinginkan.
13
2.1.9.2.3
Requirement Collection and Analysis
Berdasarkan pendapat Connolly and Begg (2002, p276), Requirement Collection and Analysis adalah sebuah proses pengumpulan dan analisa informasi tentang bagian dari sebuah organisasi yang ingin dibuatkan aplikasi database dan informasi ini kemudian digunakan untuk mengenali kebutuhan pengguna terhadap sistem yang baru 2.1.9.2.4
Database Design
Berdasarkan pendapat Connolly and Begg (2002, p279), Database Design adalah proses penciptaan sebuah rancangan dari sebuah database yang akan digunakan untuk memenuhi tujuan pengguna 2.1.9.2.5
Application Design
Berdasarkan pendapat Connolly and Begg (2002, p287), Application Design adalah fase perancangan user interface dan program yang akan menggunakan database 2.1.9.2.6
Implementation
Berdasarkan pendapat Connolly and Begg (2002, p292), Implementation adalah realisasi secara fisik terhadap rancangan dari database dan aplikasi. 2.1.9.2.7
Data Convertion and Loading Testing
Berdasarkan pendapat Connolly and Begg (2002, p292), Data Convertion and Loading Testing adalah kegiatan memindahkan data yang telah ada ke dalam database yang baru dan mengubah aplikasi yang sedang berjalan ke aplikasi yang baru untuk dijalankan dengan database yang baru 2.1.9.3
Entity Relationship Diagram (ERD) Berdasarkan pendapat Whitten, Bentley, dan Dittman (2004, p295-307), Entity
Relationship diagram adalah permodelan data yang menggunakan beberapa notasi untuk
14
menggambarkan data yang berhubungan dengan entity dan hubungan (Relationship) yang dideskripsikan oleh data tersebut. ERD merupakan diagram yang menggambarkan hubungan antar objek data. Salah satu alternative pembuatan ERD adalah dengan notasi permodelan Crow’s Feet Simbol-simbol yang digunakan dalam ERD 1. Entity Entity adalah objek data representasi dari hampir semua informasi gabungan yang harus dipahami yang direpresentasikan pada database. (Connoly dan Begg, 2002,p15). Entity terdiri dari beberapa atribut yang merupakan property dari entity tersebut. Ada beberapa macam jenis key attribute, antara lain : a.
Key, berdasarkan pendapat Connolly and Begg (2002, p865), Keys mengidentifikasi secara unik sebuah tipe.
b.
Composite Key, adalah group attribute yang secara unik mengidentifikasi instance dari sebuah entity
c.
Candidate Key, berdasarkan pendapat Connolly and Begg (2002, p340), candidate key adalah jumlah minimal setiap attribute yang secara unik dapat mengindentifikasi setiap kejadian yang terjadi dalam setiap tipe entity
d.
Primary Key, berdasarkan pendapat Connolly and Begg (2002, p341), primary key adalah candidate key yang terpilih untuk secara unik mengidentifikasi setiap kejadian yang terjadi dalam setiap tipe entity
e.
Alternate Key adalah candidate key yang tidak menjadi primary key
f.
Foreign Key adalah key utama dari suatu entity yang digunakan pada Entity lain untuk mengidentifikasi instan dari Relationship
15
2. Relationship Relationship adalah hubungan sosial antar Entity. (Connoly dan Begg,2002,p15). Hubungan ini dinotasikan pada ERD dengan garis lurus. Ada dua jenis Relationship yaitu Non-identifying Relationship dan Identifying Relationship. Non-identifying Relationship adalah hubungan dimana setiap entity yang berpartisipasi mempunyai primary key independennya masing-masing. Relationship tipe ini digambarkan dengan garis putus-putus dan biasa disebut strong entity. Sementara Identifying Relationship adalah hubungan dimana setiap Entity partisipan mempunyai primary key yang sama. Relationship tipe ini digambarkan dengan garis solid yang tidak terputus-putus dan biasa disebut weak entity. 3. Cardinality Berdasarkan pendapat Connolly and Begg (2002, p351), Cardinality adalah menjelaskan jumlah maksimum dari setiap relasi yang mungkin terjadi pada setiap Entity yang berpartisipasi dalam sebuah tipe relasi 2.1.9.4
Normalisasi Berdasarkan pendapat Connolly and Begg (2002, p376), normalisasi adalah
sebuah teknik yang digunakan untuk membuat sejumlah relasi dengan properti yang diinginkan. Tujuan Normalisasi dalam perancangan model data logical untuk sistem basis data relasional adalah untuk menciptakan representasi data, hubungan antar data dan constraint yang akurat. Tahapan-tahapan normalisasi : Unnormal Form (UNF) Pada bentuk ini sebuah tabel masih memiliki satu atau lebih kelompok data yang berulang. (Connoly dan Begg, 2002, p387)
16
First Normal Form (1NF) Pada bentuk ini, sebuah tabel memiliki relasi dimana pada setiap sel (perpotongan garis dan kolom ) hanya mengandung satu nilai. (Connoly dan Begg, 2002, p388) Second Normal Form (2NF) Pada bentuk ini, sebuah tabel memiliki relasi yang sama dengan bentuk First Normal Form dan setiap atribut non-primary key tergantung sepenuhnya pada primary key. (Connoly dan Begg, 2002, p392). Dalam bentuk 2NF ini tidak diperbolehkan ada partial dependency. Jika masih ada partial dependency, maka atribut yang memiliki functional dependent tersebut harus dihilangkan dari sebuah relasi dengan cara menempatkannya ke dalam sebuah relasi baru. Third Normal Form (3NF) Pada bentuk ini, sebuah tabel memiliki relasi seperti yang ada dalam 1NF dan 2NF, dan tidak ada atribut non-primary key yang tergantung pada atribut non-primary key lainnya. 2.1.10 PHP (Personal Home Page) Berdasarkan pendapat Luke Willing dan Laura Thomson (2001, p1) PHP adalah bahasa pemrograman side-server yang dirancang untuk penggunaan web. Dengan sebuah page HTML, kita dapat menambahkan code PHP di dalamnya yang kemudian akan dieksekusi setiap kali page tersebut dikunjungi. Kelebihan PHP dibanding bahasa pemrograman script lainnya : 1.
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.
2.
Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
17
3.
Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan.
4.
Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki banyak referensi.
5.
PHP adalah bahasa open souce yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat diajalankan secara runtime melalui console serta dapat menjalankan perintah-perintah sistem.
6.
PHP lebih mudah dipelajari karena menggunakan bahasa pemrograman C
7.
PHP dapat terhubung dengan berbagai macam sistem database seperti MySQL, Oracle, Microsoft SQL Server, Microsoft Access, dan lain-lainnya
2.1.11 Microsoft SQL Server Berdasarkan pendapat Michael D.Reilly et al (2001, p4), Microsoft SQL Server adalah sebuah sistem manajemen relasi database, yang menyimpan data-data dalam bentuk tabel yang masing-masing berisi informasi tentang object yang ada di dalam sebuah database Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protocol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. 2.1.12 Object Oriented Programming Berdasarkan pendapat
Timothy C. Lethbridge dan Robert Laganière (2002,
p29), Object-oriented programming (OOP) adalah sebuah paradigma untuk mencari solusi dari sebuah masalah dimana segala komputasi yang dilakukan, ditunjukkan dengan objek-objek. Objek berperan sebagai instances dalam mengkonstruksi program,
18
biasa disebut dengan kelas, dimana abstraksi data di dalamnya terisi abstraksi procedural yang mengoperasi objek-objek tersebut. 2.1.13 Model Proses Waterfall Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :
Gambar 2.1 Model Proses Waterfall Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi, berdasarkan pendapat Roger S. Pressman, Ph.D (2005, p79) . memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman:
19 •
System / Information Engineering and Modeling.
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition. •
Software Requirements Analysis.
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan. •
Design.
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software. •
Coding.
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer. •
Testing / Verification.
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan
20
hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. •
Maintenance.
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya. 2.1.14 JavaScript 2.1.14.1
Pengertian
Berdasarkan pendapat Negrino, et al (2001,p2), JavaScript adalah suatu bahasa pemrograman yang digunakan untuk menambah fungsi interaktif pada halaman web. 2.1.14.2
Struktur Script
JavaScript adalah bahasa yang “Case sensitive” artinya membedakan penamaan variabel dan fungsi yang menggunakan huruf besar dan huruf kecil, contoh variabel atau fungsi dengan nama TEST berbeda dengan variabel dengan nama test. Dan yang terakhir seperti bahasa Java ataupun C, setiap instruksi diakhiri dengan karakter titik koma (;). Berikut ini adalah contoh penggalan JavaScript ;
21
Gambar 2.2 Contoh Penggalan JavaScript Tidak semua browser mampu memproses JavaScript, sehingga untuk menghindari kesalahan penampilan pada browser tersebut, anda perlu mengetikkan JavaScript diantara tag komentar HTML sebagai berikut :
Perbandingan JavaScript dengan Java
Berikut ini satu tabel yang berisi beberapa perbandingan mendasar antara Java dan JavaScript : Tabel 2.1 Perbandingan JavaScript dan Java JavaScript
Java
Bahasa yang diintepretasikan langsung Bahasa yang setengah terkompilasi dan oleh browser
memerlukan Java Virtual Machine untuk menterjemahkannya
Kode terintegrasi dengan HTML
Kode (Applet) terpisah dari dokumen HTML, dipanggil pada saat membuka dokumen HTML
Bahasa dengan karakteristik yang
Bahasa dengan karakteristik yang luas
terbatas
(pendeklarasian jenis variabel)
Hubungan dinamis, referensi dari
Hubungan statis, obyek harus ada pada
obyek diverifikasi pada saat loading
saat program di loading (di kompilasi)
Kode program bisa diakses
Kode program tersembunyi
22
2.1.15 XML (eXtensible Markup Language) XML berdasarkan pendapat Wallace B. McClure, Scott Cate, Paul Glavich, Craig Shoemaker (2006, p103) merupakan singkatan dari Extensible Markup Language yang digunakan dalam mendeskripsikan struktur data. Biasa diaplikasikan dalam suatu pertukaran data Sama seperti HTML, dimana XML teks ditandai dengan elemen yang dinamakan dengan tag, yang terdiri dari keyword yang diapit oleh sepasang tanda “<” dan “>”. Yang membedakan dengan HTML adalah tag pada XML bersifat Case sensitive, artinya penulisan tag dengan huruf besar ataupun huruf kecil akan berpengaruh terhadap proses eksekusi. Dokumen XML memiliki portabilitas yang tinggi. Text Editor apapun yang mendukung karakter ASCII/Unicode bisa digunakan untuk membuka dokumen XML. Karakteristik lain yang dimiliki XML ialah bahwa ia bisa dibaca baik oleh manusia maupun mesin. Semua file XML harus berekstensi .xml, sehingga file-file tersebut dapat dieksekusi dan ditampilkan di halaman-halaman web. 2.1.16 Asynchronous JavaScript and XML (AJAX) Berdasarkan pendapat Wallace B. McClure, Scott Cate, Paul Glavich, Craig Shoemaker (2006, p7), AJAX adalah sebuah teknologi yang dapat melakukan komunikasi antara client-browser dengan web-server untuk melakukan pertukaran data, melalui sebuah frame yang tersembunyi tanpa mengirimkan halaman utama kembali dari server hanya sebagian kecil isi yang ditampilkan. 2.1.16.1
Prinsip-Prinsip AJAX
Berdasarkan pendapat Zakas (2006, p9), sebagai awal dari pengembangan, AJAX masih jauh dari kesempurnaan. Namun, sejumlah web developer menganggap AJAX sebagai sebuah tantangan yang sangat menarik. Michael menganggap AJAX sebagai sebuah tantangan yang sangat menarik. Michael Mahemof, seorang software
23
developer mengidentifikasikan beberapa prinsip dari aplikasi AJAX yang baik, antara lain sebagai berikut : 1. Traffik Minimal AJAX mengurangi sejumlah traffic yang dianggap tidak berguna antara server dan klien 2. Tidak ada kejutan Aplikasi AJAX memperkenalkan model interaksi pengguna yang berbeda dengan aplikasi web tradisional. Berlawanan dengan standar web click and wait, beberapa aplikasi AJAX mengimplementasikan paradigma interface pengguna yang berbeda, seperti drag and drop dan klik ganda 3. Pengembangan yang bersifat konvensional AJAX memanfaatkan model interaksi web tradisional maupun aplikasi desktop untuk mengurangi waktu belajar bagi pengguna 4. Tidak ada distraksi AJAX tidak menggunakan elemen-elemen halaman yang mengganggu pengguna secara visual, antara lain animasi yang berulang-ulang, teks yang berkedip, dan lain-lain. 5. Aksesibilitas Aplikasi AJAX yang baik harus memperhatikan kepentingan semua pengguna baik pengguna primer maupun sekunder, bagaimana akses pengguna-pengguna tersebut terhadap aplikasi AJAX. Aplikasi-aplikasi AJAX sebaiknya tidak mengesampingkan aksesibilitas golongan kecil pengguna-pengguna tertentu. Kompatibilitas terhadap browser-browser yang lama juga berpengaruh terhadap factor aksesibilitas ini.
24
6. Tidak mendownload halaman secara keseluruhan Semua komunikasi server setelah melakukan download halaman inisial, harus ditangani dengan baik oleh mesin AJAX. 7. Mendahulukan kepentingan pengguna Kepentingan dan kebutuhan pengguna menjadi fokus utama aplikasi AJAX 2.1.17 CodeIgniter CodeIgniter adalah sebuah aplikasi open souce berbasis web yang berupa framework (kerangka kerja) yang biasa digunakan untuk menciptakan sebuah situs web yang dinamis dengan PHP. Tujuannya adalah untuk memungkinkan developer untuk mengembangkan proyek-proyek lebih cepat daripada menciptakannya dari awal, dengan menyediakan library berisi dengan task-task yang biasa dibutuhkan dalam setiap pengembangan situs web dinamis serta interface dan struktur logis yang sederhana untuk mengakses library tersebut CodeIgniter secara umum didasarkan pada pola pengembangan MVC (ModelView-Controller). Kelas View dan Controller adalah bagian terpenting dari pengembangan menggunakan CodeIgniter, sedangkan bagian Model adalah bagian yang sepenuhnya opsional. 2.1.18 Unified Modelling Language (UML) 2.1.18.1 Pengertian UML Berdasarkan pendapat Booch (1998, p8) UML adalah sebuah bahasa visual untuk memvisualisasikan, menspesifikasikan, membangun, dan mendokumentasikan artifakartifak yang ada di dalam sebuah sistem. UML memberikan sebuah standar cara menuliskan rancang bangun dari sebuah sistem, yang mencakup semua jenis konseptual seperti bisnis proses dan fungsi dari sistem.
25
2.1.18.2 Use Case Diagram Use Case adalah sebuah teknik untuk merekam persyaratan fungsional dari sebuah sistem. Use Case mendeskripsikan interaksi tipikal antara para pengguna sistem itu sendiri, dengan memberikan sebuah narasi tentang bagaimana sistem tersebut digunakan (Fowler, 2004, p141).
Gambar 2.3 Contoh Use Case Diagram Simbol-simbol yang digunakan dalam Use Case Diagram : 1. Case Case adalah hasil penguraian cakupan sistem secara fungsional ke dalam bentukbentuk pernyataan yang lebih kecil. Pernyataan ini digambarkan dengan symbol elips. 2. Aktor Aktor adalah pengguna sistem. Di dalam Use Case Diagram para pengguna sistem atau aktor digambarkan berinteraksi dengan sebuah sistem melalui Use Case dan hubungan tertentu
26
3 Hubungan 3. n (Relasi) Sebu uah relasi digambarkan sebagai sebbuah garis yang menghhubungkan aktor deng gan Use Casee yang beradda di dalam sebuah sisteem. Tipe relaasi dapat berrbeda tergaantung dari bagaimana b g garis tersebutt digambarkaan. 2 2.1.18.3
Sequencee Diagram
Sequ uence diagraam adalah sebuah inteeraction diaggram yang menggambarkan b bagaimana sekelompokk objek saliing berkolabborasi dalam m beberapa behavior. UML U m memiliki beb berapa bentuuk interactioon diagram dan d yang paaling umum digunakan d a adalah s sequence dia agram. Sebu uah sequencee diagram seecara khususs menjabarkan behavior sebuah skeenario yang t tunggal. Diaagram tersebbut menunjuukkan sejum mlah objek contoh dan pesan-pesan p m melewati obj bjek-objek inni di dalam Use U Case Diaagram (Fow wler, 2005, p881).
Gambar 2.44 Contoh Sequence diaggram 2 2.1.18.4
Activity Diagram D
m adalah suaatu proyeksi yang bersiffat dasar darri elemen-ellemen Activvity diagram y yang ditemu ukan dalam m sebuah grafik aktifitaas, suatu kaasus yang khusus k dari state m machine dallam semua atau kebanyyakan state yang meruupakan statee aktifitas dan d di
27
dalam semua atau kebanyakan transisi dipercepat dengan penyelesaian dari aktifitasaktifitas dalam state sumber. (Booch, 1999, p260). Suatu activity diagram adalah sejenis state machine, maka activity diagram berisi semua karakteristik dari penerapan state machine. Ini berarti activity diagram mungkin berisi state-state, cabang-cabang, fork (percabangan), join (gabungan) yang sederhana dan komposit
Gambar 2.5 Contoh Activity diagram 2.1.19 Interaksi Manusia dan Komputer Interaksi Manusia dan Komputer merupakan sebuah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya. IMK menitikberatkan pada perancangan dan evaluasi antarmuka pemakai (user interface). 2.1.19.1
Pengertian Antarmuka Pemakai (User Interface)
Antarmuka pemakai (user interface) adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan komputer. Antarmuka pemakai ini
28
bertujuan agar sistem komputer dapat digunakan oleh pemakai. Aspek-aspek kemudahan penggunaan meliputi efektivitas, kemudahaan dipelajari, fleksibilitas, dan sikap orang terhadap sistem (Shneiderman, 1998, p4). 2.1.19.2
Delapan Aturan Emas dalam Perancangan Layar
Menurut Shneiderman (1998, p74-75). Delapan aturan emas dalam perancangan layar dalam hubungannya dengan Interaksi Manusia dan Komputer yaitu : 1. Berusaha keras untuk konsisten Harus berusaha untuk menjaga konsistensi fungsi dan format tampilan pada setiap halaman. 2. Memungkinkan pengguna yang sering melakukan shortcuts Ketika frekuensi penggunaan meningkat, maka pengguna ingin mengurangi jumlah interaksi dan meningkatkan kecepatan interaksi. Shortcuts dapat membantu mempersingkat waktu dan jumlah interaksi yang dilakukan oleh pengguna. 3. Memberikan umpan balik yang informatif Untuk setiap aksi pengguna harus ada umpan balik sehingga pengguna mengetahui apa yang telah dan akan dilakukan. Umpan baik dapat berupa pesan, konfirmasi, informasi, ataupun gambaran visual yang informatif. 4. Merancang dialog untuk menghasilkan keadaan akhir Rancangan aksi harus dikelompokkan ke dalam kelompok-kelompok sesuai dengan fungsinya masing-masing. Umpan balik yang informatif setelah menyelesaikan kelompok aksi tersebut akan memberikan penyelesaian yang memuaskan kepada pengguna, dan indikasi bahwa setiap sistem siap untuk melakukan aksi berikutnya. 5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana.
29
Sebisa mungkin sistem dirancang sehingga tidak memungkinkan pengguna untuk dapat melakukan kesalahan yang serius. Jika pengguna melakukan kesalahan sistem harus dapat mendeteksi kesalahan dan memberikan instruksi yang sederhana, bersifat membangun dan khusus guna melakukan perbaikan 6. Memungkinkan pembalikan aksi (undo) yang mudah Sebisa mungkin sistem dirancang sehingga setiap aksi yang dilakukan harus bisa dibalik. Fitur pembalikan aksi ini menghilangkan kekhawatiran pengguna karena mereka mengetahui kesalahan yang telah dilakukan dapat dibalikkan ke keadaan sebelumnya. 7. Mendukung pengendalian dari dalam Pengguna yang berpengalaman sangat menginginkan perasaan bahwa mereka menguasai sistem dan sistem merespon aksi mereka. Aksi sistem yang tiba-tiba, rangkaian data yang membosankan, ketidakmampuan atau kesulitan dalam mendapatkan informasi yang dibutuhkan menyebabkan pengguna khawatir dan tidak puas. 8. Mengurangi beban ingatan jangka pendek. Keterbatasan manusia untuk mengingat dalam jangka pendek menyebabkan tampilan harus sederhana, agar pengguna tidak kebingungan untuk mengingat bagaimana cara menjalankan sistem atau aplikasi tersebut.
2.2 Teori Khusus Dalam subbab-subbab di bawah ini kami akan membahas pengertian teori-teori khusus yang berhubungan dengan database dan perancangan web kami. 2.2.1
System Management Laboratory System Management Laboratory adalah alur kerja yang dilakukan oleh pihak
laboratorium pada saat melakukan pengamatan pada sebuah sampel. System
30
Management Laboratory berawal ketika sampel diterima oleh pihak laboratorium dan berakhir ketika sampel tersebut telah dikirimkan kembali ke pihak yang meminta dilakukan penelitian.
2.2.2
Permintaan Analisis Mikrobiologi Permintaan Analisis Mikrobiologi (PAM) adalah sebuah formulir permohonan
dimana di dalamnya terdiri dari beberapa kolom yang menunjukkan identitas sampel yang diberikan oleh pihak pengirim sampel (dalam hal ini dapat berupa departemen atau divisi lain ataupun pihak luar yang ingin melakukan pengujian) dan ditujukan kepada pihak laboratorium mikrobiologi. Formulir tersebut akan digunakan sebagai acuan analisa apa saja yang digunakan untuk menangani sampel yang telah diberikan 2.2.3
Lembar Pengamatan Analisa Harian Mikrobiologi Lembar Pengamatan Analisa Harian Mikrobiologi (LPM) adalah sebuah formulir
dimana didalamnya terdapat hasil terhadap pengamatan yang telah dilakukan pada hari sebelumnya. Formulir ini diisi secara manual oleh para laboran yang melakukan pengamatan terhadap sampel yang terdapat di dalam media. 2.2.4
Hasil Pemeriksaan Mikrobiologi Hasil Pemeriksaan Mikrobiologi (HPM) adalah sebuah formulir dimana
didalamnya berisi kesimpulan akhir mengenai seluruh pengamatan yang dilakukan sebelumnya. Penulisan formulir Hasil Pemeriksaan Mikrobiologi didasari pada hasil Lembar Pengamatan Analisa Harian Mikrobiologi (LPM) yang telah diisi sebelumnya. 2.2.5
Buku Penerimaan Sampel Buku Penerimaan Sampel (BPS) adalah sebuah buku yang didalamnya terdapat
list daftar sampel yang diterima oleh pengirim sampel yang kemudian akan digunakan dalam tahap pengamatan. Buku Penerimaan Sampel mencatat semua proses yang terjadi selama berada dalam proses penelitian Lab Micro. Buku Penerimaan Sampel adalah titik sentral dari proses yang bekerja selama ini di Lab Micro, namun seringkali terjadinya
31
kesalahan selama proses pencatatan. Kesalahan tersebut dapat berupa kesalahan komputasi dan kesalahan yang dilakukan oleh manusia. 2.2.6
Mikrobiologi Berikut ini akan kami jelaskan secara singkat beberapa mikrobiologi yang
digunakan selama proses pengujian sampel. Mikrobiologi-mikrobiologi dibawah ini merupakan mikrobiologi yang sering digunakan dalam proses pengujian. Mikrobiologi dibawah ini biasa diklasifikasikan ke dalam golongan entrobacteria, bakteria yang mempunyai bentuk pipih dan berbahaya bagi pencernaan manusia. 1.
Salmonella Salmonella adalah penyebab utama dari penyakit yang disebarkan melalui
makanan. Pada umumnya, Salmonella menyebabkan penyakit pada organ pencernaan. Penyakit yang disebabkan oleh Salmonella disebut salmonellis. Ciri-ciri orang yang mengalami salmonellis adalah diare, keram perut, dan demam dalam waktu 8-72 jam setelah memakan makanan yang terkontaminasi oleh Salmonella. Infeksi Salmonella dapat berakibat fatal kepada bayi, balita, ibu hamil dan kandungannya serta orang lanjut usia. Hal ini disebabkan karena kekebalan tubuh mereka yang menurun. Kontaminasi Salmonella dapat dicegah dengan mencuci tangan dan menjaga kebersihan 2.
Coliform Coliform sebagai suatu kelompok dicirikan sebagai bakteri berbentuk batang,
tidak membentuk spora, aerobik, dan anaerobik fakultatif yang memfermentasi laktose dengan menghasilkan asam dan gas dalam waktu 48 jam pada suhu 35o C. 3.
Staphylococcus Aureus Staphylococcus aureus (S. aureus) adalah bakteri yang menghasilkan pigmen
kuning, bersifat aerob fakultatif, tidak menghasilkan spora, umumnya tumbuh berpasangan
maupun
berkelompok,
dengan
diameter
sekitar
0,8-1,0
µm. S.
o
aureus tumbuh dengan optimum pada suhu 37 C dengan waktu pembelahan 0,47 jam. Bakteri ini biasanya terdapat pada saluran pernafasan atas dan kulit. Keberadaan S.
32
aureus pada saluran pernafasan atas dan kulit pada individu jarang menyebabkan penyakit, individu sehat biasanya hanya berperan sebagai karier. Infeksi serius akan terjadi ketika resistensi inang melemah karena adanya perubahan hormon; adanya penyakit, luka, atau perlakuan menggunakan steroid atau obat lain yang mempengaruhi imunitas sehingga terjadi pelemahan inang. 4.
Pseudomonas Pseudomonas merupakan bakteri yang mampu mendegradasi berbagai jenis
hidrokarbon. Keberhasilan penggunaan bakteri Pseudomonas dalam upaya bioremediasi lingkungan
akibat
pencemaran hidrokarbon membutuhkan
pemahaman
tentang
mekanisme interaksi antara bakteri Pseudomonas dengan senyawa hidrokarbon. 5.
Bacilus Cereus Bacillus cereus merupakan bakteri yang bersifat aerobik, dan dapat membentuk
spora. Selnya berbentuk batang besar dan sporanya tidak membesarkan sporangiumnya. Sifat-sifat ini dan karakteristik-karakteristik lainnya, termasuk sifat-sifat biokimia, digunakan untuk membedakan dan menentukan keberadaan B. cereus. Organismeorganisme ini dibedakan berdasarkan pada gerakan, keberadaan kristal racun, kemampuan untuk menghancurkan sel darah merah, dan pertumbuhan rhizoid , yang merupakan sifat khas dari B. cereus var. mycoides. Keracunan makanan karena B. cereus merupakan penamaan secara umum, walaupun ada dua tipe penyakit yang disebabkan oleh dua metabolit yang berbeda. Penyakit dengan gejala diare (tipe diare) disebabkan oleh protein dengan berat molekul besar, sementara penyakit dengan gejala muntah (tipe emetik) diyakini disebabkan oleh peptida tahan panas dengan berat molekul rendah. Gejala-gejala keracunan makanan tipe diare karena B. cereus mirip dengan gejala keracunan makanan yang disebabkan oleh Clostridium perfringens . Diare berair, kram perut, dan rasa sakit mulai terjadi 6-15 jam setelah konsumsi makanan yang
33
terkontaminasi. Rasa mual mungkin menyertai diare, tetapi jarang terjadi muntah (emesis). Pada sebagian besar kasus, gejala-gejala ini tetap berlangsung selama 24 jam. Keberadaan B. cereus dalam jumlah besar (lebih dari 10 6 organisme/g) dalam makanan merupakan indikasi adanya pertumbuhan dan pembelahan sel bakteri secara aktif, dan berpotensi membahayakan kesehatan.
6.
Escherichia Coli Escherichia coli, atau biasa disingkat E. coli, adalah salah satu bakteri yang
dapat ditemukan dalam usus besar manusia. Kebanyakan E. Coli tidak berbahaya, tetapi beberapa, seperti E. Coli tipe O157:H7, dapat mengakibatkan keracunan makanan yang serius pada manusia. E. Coli yang tidak berbahaya dapat menguntungkan manusia dengan memproduksi vitamin K, atau dengan mencegah bakteri lain di dalam usus. E. coli banyak digunakan dalam teknologi rekayasa genetika. Biasa digunakan sebagai media untuk menyisipkan gen-gen tertentu yang diinginkan untuk dikembangkan. E. coli dipilih karena pertumbuhannya sangat cepat dan mudah dalam penanganannya.