BAB II LANDASAN TEORI
2.1 Website (Situs Web) 2.1.1
Pengertian Website atau Situs Web
Website atau situs dapat diartikan sebagai kumpulan halaman-halaman yang digunakan untuk menampilkan informasi teks, gambar diam atau gerak, animasi, suara, dan atau gabungan dari semuanya itu baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman. Website merupakan tempat penyimpanan data informasi dengan berdasarkan topik tertentu. Dapat diumpamakan website ini adalah buku yang memiliki tema tertentu.
2.1.2
Unsur-unsur Website
Untuk menyediakan keberadaan sebuah website, maka harus tersedia unsur-unsur penunjangnya, adalah sebagai berikut: 1. Nama domain (Domain name/URL - Uniform Resource Locator) Pengertian nama domain atau biasa disebut dengan Domain Name atau URL adalah alamat unik di dunia internet yang digunakan untuk mengidentifikasi sebuah website, atau dengan kata lain domain name adalah alamat yang digunakan untuk menemukan sebuah website pada dunia internet. Nama domain diperjual belikan secara bebas di internet, nama domain sendiri mempunyai identifikasi ekstensi/akhiran sesuai dengan kepentingan dan lokasi keberadaan website tersebut. Contoh nama domain ber-ekstensi internasional adalah com, net, org, info, biz, name, ws. Contoh nama domain ber-ekstensi lokasi Negara
8
9
Indonesia adalah co.id (untuk nama domain website perusahaan), ac.id (nama domain website pendidikan), go.id (nama domain website instansi pemerintah), org.id (nama domain website organisasi).
2. Rumah tempat website (Web hosting) Pengertian Web Hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar dan lain sebagainya yang akan ditampilkan di website. Besarnya data yang bisa dimasukkan tergantung dari besarnya web hosting yang disewa/dipunyai, semakin besar web hosting semakin besar pula data yang dapat dimasukkan dan ditampilkan dalam website. Web hosting juga diperoleh dengan menyewa. Besarnya hosting ditentukan ruangan harddisk dengan ukuran MB(Mega Byte) atau GB(Giga Byte). Lama penyewaan web hosting rata-rata dihitung per tahun. Penyewaan hosting dilakukan dari perusahaan-perusahaan penyewa web hosting yang banyak dijumpai baik di Indonesia maupun luar negeri.
3. Desain website Setelah melakukan penyewaan domain name dan web hosting serta penguasaan bahasa program (scripts program), unsur website yang penting dan utama adalah desain. Desain website menentukan kualitas dan keindahan sebuah website. Desain sangat berpengaruh kepada penilaian pengunjung akan bagus tidaknya sebuah website. Untuk membuat website biasanya dapat dilakukan sendiri atau menyewa jasa web designer. Perlu diketahui bahwa kualitas situs sangat ditentukan oleh kualitas designer. Semakin banyak penguasaan web designer tentang beragam program/software pendukung pembuatan situs maka akan dihasilkan situs yang semakin berkualitas, demikian pula
10
sebaliknya. Jasa web designer ini yang umumnya memerlukan biaya yang tertinggi dari seluruh biaya pembangunan situs dan semuanya itu tergantung kualitas designer.
4. Publikasi website Keberadaan situs tidak ada gunanya dibangun tanpa dikunjungi atau dikenal oleh masyarakat atau pengunjung internet. Karena efektif tidaknya situs sangat tergantung dari besarnya pengunjung dan komentar yang masuk. Untuk mengenalkan situs kepada masyarakat memerlukan apa yang disebut publikasi atau promosi. Publikasi situs di masyarakat dapat dilakukan dengan berbagai cara seperti dengan pamlet-pamlet, selebaran, baliho dan lain sebagainya tapi cara ini bisa dikatakan masih kurang efektif dan sangat terbatas. Cara yang biasanya dilakukan dan paling efektif dengan tak terbatas ruang atau waktu adalah publikasi langsung di internet melalui search engine-search engine(mesin pencari, spt : Yahoo, Google, Search Indonesia, dsb).
2.1.3
Pemeliharaan Website
Untuk mendukung kelanjutan dari situs diperlukan pemeliharaan setiap waktu sesuai yang diinginkan seperti penambahan informasi, berita, artikel, link, gambar atau lain sebagainya. Tanpa pemeliharaan yang baik situs akan terkesan membosankan atau monoton juga akan segera ditinggal pengunjung. Pemeliharaan situs dapat dilakukan per periode tertentu seperti tiap hari, tiap minggu atau tiap bulan sekali secara rutin atau secara periodik saja tergantung kebutuhan. Pemeliharaan rutin biasanya dipakai oleh situs-situs berita, penyedia artikel, organisasi atau lembaga pemerintah. Sedangkan pemeliharaan periodik bisanya untuk situs-situs pribadi, penjualan/e-commerce, dan lain sebagainya.
11
2.2 WWW (World Wide Web) WWW atau yang sering disebut dengan Word Wide Web (jaringan dunia luas) adalah sebuah bagian dari internet yang sangat dikenal dalam dunia internet, dengan adanya WWW seorang pengguna dapat menampilkan sebuah halaman virtual yang disebut dengan Website. WWW ini bekerja menggunakan teknologi yang dikenal sebagai hypertext, yang kemudian dikembangkan menjadi suatu protokol aplikasi yang disebut Hyper Text Transfer Protocol (HTTP) yang digunakan untuk mengakses suatu informasi yang disimpan pada situs web, dengan teknologi Hypertext akan menggabungkan beberapa jenis representasi dan metode pengaksesan informasi dan menyajikan dalam bentuk seperti teks, grafik, suara, animasi, video, dan sebagainya. WWW sering disebut sebagai Web atau W3. Secara teoritis, web tidak membatasi diri untuk data teks, tetapi juga menyertakan data grafik dan sebagainya secara bersamaan. Sebagai contoh, misalnya kita membaca artikel hypertext tentang pepohonan dan kita berpindah ke artikel tentang sebuah pohon, maka kita mungkin menemukan gambar untuk pohon tersebut, atau video klip untuk pohon tersebut, atau suara gemersik daun-daun pohon tersebut. Artikel hypertext yang menyertakan data grafik disebut sebagai artikel hypermedia. Selain itu web tidak membatasi diri untuk hubungan ke file, tetapi juga menyertakan hubungan ke segala tipe sumber daya internet, salah satu contoh adalah Terminal Emulation (Telnet) yaitu suatu aplikasi program komunikasi interaktif dua arah berbasiskan protokol TCP/IP yang digunakan untuk Telnet ke remote komputer dari komputer lokal atau terminal server, serta menikmati fungsi yang sama dengan terminal yang dihubungkan langsung ke komputer tersebut.
12
Sekarang kita dapat menyimpulkan bahwa web adalah fasilitas hyperteks yang mengorganisir semua informasi dalam internet. Web memberi kesempatan kita mengakses semua sumber daya internet secara cepat dan mudah.
2.3 PHP Menurut dokumen resmi PHP, PHP merupakan singkatan dari PHP hypertext Prepocessor. PHP merupakan bahasa script yang ditampatkan dalam server dan diproses d server. Hasilnyalah yang dikirimkan ke client, tempat pemakai menggunkan browser [Abdul Kadir, 2008]. Secara khusus, PHP dirancang untuk membentuk aplikasi web dinamis. Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaaan terkini. Mislanya, kita bisa menampilkan isi database ke dalam halaman web. Pada saat ini PHP cukup populer sebagai piranti pemograman web, terutama lingkugan Linux. Walaupun demikian, PHP sebenarnya juga dapat berfungsi pada sever-server berbasis UNIX, Windows, Macintohs dan sistem operasi yang lain. Adapun kelebihan-kelebihan dari PHP yaitu : 1. PHP mudah dibuat dan kecepatan akses tinggi. 2. Dapat berjalan dalam web server yang berbeda dan dalam system operasi yang berbeda pula. 3. Kompabilitasnya dengan berbagai macam jenis database. 4. PHP termasuk bahasa yang embedded (bias diletakkan dalam tag HTML).
13
2.4 Basis Data Secara umum, basis data (database) berarti koleksi data yang saling terkait. Secara praktis, basis data dapat dianggap sebagai suatu penyusunan data yang terstruktur yang disimpan dalam media penyimpanan yang tujuannya adalah agar data tersebut dapat diakses dengan mudah dan cepat [Abdul Kadir, 2008]. Basis data dapat dibayangkan sebagai sebuah lemari arsip yang ditempatkan secara berurutan untuk memudahkan dalam pengambilan kembali data tersebut. Penerapan basis data dalam sistem informasi disebut sebagai sistem basis data (database system). Basis data terdiri dari kata basis dan data. Basis diartikan sebagai gudang atau tempat bersarang dan data yang berarti representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, hewan, peristiwa, konsep dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Jadi dapat disimpulkan bahwa Basis Data merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudancy) yang tidak perlu, sehingga memudahkan dalam pengelolaannya.
2.5 MySQL MySQL adalah perangkat lunak Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakannya, tapi tidak boleh dijadikan produk turunan yang bersifat Closed Source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL. SQL adalah kependekan dari Structured Query Language. Dalam bahasa Inggris, SQL biasa dibaca sebagai SEQUEL atau ES-KYU-EL. Bahasa ini
14
merupakan standar yang digunakan untuk mengakses database relasional [Abdul Kadir, 2008]. SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Kehandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja Optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibanding database server lainnya dalam query data. Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL. 1. Portability MySQL dapat berjalan stabil pada berbagai system operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, dan lain-lain. 2. Open Source MySQL didistribusikan secara Open Source, sehingga dapat digunakan secara bebas. 3. Multi-user MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah. Hal ini memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan. 4. Performance Tuning MySQL memiliki kecepatan yang tinggi dalam menangani query, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
15
5. Column Types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, date, time, timestamp, year, set dan enum. 6. Command dan Function MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query. 7. Security MySQL memiliki lapisan lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi. 8. Scalability dan Limits MySQL mampu menangani database dengan skala besar, dengan jumlah records lebih dari 50 juta dan 60 juta table serta 5 miliar baris. 9. Connectivity MySQL dapat melakukan koneksi dengan client menggunakan protocol TCP/IP. 10. Localization Deteksi pesan kesalahan pada client dengan menggunakan lebih dari 20 bahasa. 11. Interface Interface
terhadap
berbagai
aplikasi
dan
bahasa
pemrograman
dengan
menggunakan fungsi API (Application Programming Interface) 12. Client dan Tools Dilengkapi dengan berbagai Tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.
16
2.6 Unified Modelling Language UML (Unified Modeling Language) adalah metode
pemodelan secara visual
sebagai sarana untuk merancang software berorientasi objek. Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasiskan pada paradigma object oriented.
Gambar 2.1 Unsur-unsur pembentuk UML Gambar diatas adalah unsur-unsur yang membentuk UML. Dengan UML, metode Booch, OMT dan OOSE digabungkan dengan membuang elemen-elemen yang tidak praktis ditambah dengan elemen-elemen dari metode lain yang lebih efektif dan elemenelemen baru yang belum ada pada metode terdahulu sehingga UML lebih ekspresif dan seragam daripada model lainnya.
2.6.1
Use Case Diagram
Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif/sudut pandang para pengguna. Use case mendefinisikan “apa” yang dilakukan oleh sistem dan elemenelemennya, bukan “bagaimana” sistem & elemen-elemennya saling berinteraksi. Use case bekerja dengan menggunakan “scenario”, yaitu deskripsi urutan-urutan langkah yang menerangkan apa yang dilakukan pengguna terhadap sistem.
17
Komponen simbol dasar yang dipunyai oleh use-case diagram adalah aktor, usecase, dan association seperti terlihat pada Tabel 2.1 di bawah ini. Tabel 2.1 Simbol pada use case diagram Simbol
Nama Actor
Keterangan Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga bisa dianggap sebagai actor.
Use Case
Use case digambarkan sebagai lingkaran elips dengan nama use case dituliskan didalam elips tersebut.
Association
Asosiasi digunakan untuk menghubungkan actor dengan use case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan antara Actor dengan Use Case.
2.6.2
Class Diagram
Class Diagram
adalah sebuah spesifikasi yang jika
diinstansiasi akan
menghasilkan sebuah obyek dan merupakan inti dari pengembangan dan desain berorientasi obyek. Class menggambarkan keadaan (atribut/properti) suatu
sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
18
Sebuah Class memiliki tiga area pokok : 1. Nama, merupakan nama dari sebuah kelas 2. Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan batas nilai yang mungkin ada pada obyek dari class 3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class. Berikut adalah sombol-simbol yang ada pada class diagram seperti terlihat pada Tabel 2.2 di bawah ini. Tabel 2.2 Simbol pada class diagram Simbol
Nama Class
Keterangan Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property / atribut class. Bagian akhir mendefinisikan method dari sebuah class.
Association
Sebuah
asosiasi
merupakan
sebuah
relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship: Composition
Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut.
19
Simbol
Nama Dependency
Keterangan Umumnya
penggunaan
dependency
digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Aggregation
Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi “mempunyai sebuah” atau “bagian dari”.
Generalization Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada konsep berorientasi obyek.
2.6.3
Statechart Diagram
Diagram statechart memungkinkan untuk memodelkan bermacam-macam state yang mungkin dialami oelh objek tunggal. Jika pada diagram kelas menunjukkan gambaran statis kelas-kelas dan relasinya, diagram statechart digunakan untuk menggambarkan perilaku dinamik sebuah objek tunggal. Berikut adalah simbol-simbol yang ada pada diagram statechart seperti terlihat pada Tabel 2.3 di bawah ini. Tabel 2.3 Simbol statechart diagram Simbol
Nama
Keterangan
Start (Initial State)
Start atau initial state adalah state atau keadaan awal pada saat sistem mulai hidup
End (Final State)
End atau final state adalah state keadaan akhir dari daur hidup suatu sistem.
20
Simbol
Nama
Keterangan Event
Event
adalah
menyebabkan
kegiatan
yang
berubahnya
status
mesin.
State
State atau status adalah keadaan sistem pada waktu tertentu. State
State
dapat berubah jika ada event tertentu yang memicu perubahan tersebut.
2.6.4
Activity Diagram
Activity diagram digunakan untuk mendokumentasikan alur kerja pada sebuah sistem. Pada dasarnya, activity diagram merupakan variasi dari statechart diagram. Activity diagram mempunyai peran seperti halnya flowchart. Berikut adalah simbol activity diagram seperti terlihat pada Tabel 2.4 di bawah ini. Tabel 2.4 Simbol pada activity diagram Simbol
Nama
Deskripsi
Swimline
Memisahkan pelaku yang bertanggung jawab terhadap aktivitas yang terjadi.
Titik Awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki status awal
Titik Akhir
Status akhir yang dilakukan sistem, sebuah
diagram
sebuah status akhir.
aktivitas
memiliki
21
Simbol
Nama
Deskripsi
State
State atau status adalah keadaan sistem pada waktu tertentu. State dapat berubah jika ada event tertentu yang memicu perubahan tersebut.
Activity
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
Percabangan
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu yang terjadi
Fork
Digunakan untuk menunjukkan kegiatan yang dilakukan secara parallel atau untuk menggabungkan dua kegiatan parallel menjadi satu.
2.7 Teknik Pengujian Pentingnya pengujian perangkat lunak mengacu pada kualitas perangkat lunak yang melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan karena ketidak mampuan manusia dalam melakukan komunikasi dengan sempurna terhadap kebutuhan yang diinginkan user maka pengembangan perangkat lunak harus diiringi dengan aktivitas jaminan kualitas dengan melakukan pengujian terhadap perangkat lunak tersebut. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak unuk mencari kesalahan yang terdapat pada perangkat lunak sebelum perangakat lunak tersebut digunakan. Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah [Roger S Pressman, 2002]:
22
1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Untuk mendapatkan kesalahan pada perangkat lunak, digunakan beberapa teknik pengujian diantaranya :
2.7.1
Pengujian White-Box
Pengujian white-box adalah metode disain test case yang meggunakan struktur kontrol disain prosedural untuk memperoleh test case. Dengan menggunakan metode pengujian white-box, perekayasa dapat melakukan test case yang : 1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali. 2. Mengguanakan semua keputusan logis pada sisi true dan false. 3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional meraka. 4. Menggunkan struktur data internal untuk menjamin validasinya.
2.7.2
Pengujian Black-Box
Pengujian black-box memungkinkan perekayasa perangkat lunak mendapatkan serangakaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional
23
untuk suatu program. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut : 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau akses database. 4. Kesalahan kinerja. 5. Inisaialisasi dan kesalahan terminasi.