BAB II LANDASAN TEORI 2.1
Skateboard Menurut Ben Marcus (2011) The good,The Rad,and the Gnarly Skateboard
pertama kali ditemukan pada pertengahan tahun 1950, seiring dengan perkembangan era surfing di daerah California, Amerika Serikat. Pertama kali muncul, skateboard masih diciptakan oleh tangan manusia dan terbuat dari kayu yang gabungkan dengan ban sepatu roda dan disambungakan oleh trucks dari sepatu roda juga yang sangat tebal dan berat. Pada saat itu orang juga belum mengenal nama „skateboard‟, melainkan „sidewalk surfing‟. Masa-masanya dimulai ketika Marty McFly menggunakannya dalam sebuah film yang berjudul “Back To The Future”, disini Marty menggunakan media skateboard sebagai alat transportasinya. Pertengahan tahun 1960, skateboard menjadi permainan yang cukup mainstream di Amerika. Dua buah brand, yaitu Hobie dan Makaha melihat celah tersebut dan mulai memproduksi skateboard, jadi para penikmat permainan ini tidak perlu lagi bersusah payah untuk membuat skateboard. Mereka dapat membeli langsung dan langsung memainkannya. Popularitas skateborad mulai meningkat ketika sebuah majalah lokal yang membahas permainan ini mulai terbit, yaitu Skateboarder Magazine. menjadi sebuah media yang sangat membantu para skateboarder untuk lebih mengetahui secara lengkap mengenai hal ini. Makaha sebagai salah satu brand pada waktu itu benar-benar mengeruk keuntungan yang luar biasa, yaitu sebanyak 4 juta dolar Amerika dalam jangka aktu dua tahun saja (1963-1965).
4 http://digilib.mercubuana.ac.id/
5
2.2
Ensiklopedia Menurut safriandi (2009) Ensiklopedia adalah sejumlah tulisan yang berisi
penjelasan yang menyimpan informasi secara komprehensif dan cepat dipahami serta dimengerti mengenai keseluruhan cabang ilmu pengetahuan atau khusus dalam satu cabang ilmu pengetahuan tertentu yang tersusun dalam bagian artikelartikel dengan satu topik bahasan pada tiap-tiap artikel yang disusun berdasarkan abjad, kategori atau volume terbitan dan pada umumnya tercetak dalam bentuk rangkaian buku yang tergantung pada jumlah bahan yang disertakan. 2.3
Basis Data Menurut Fathansyah (2012) Basis data terdiri atas 2 kata, yaitu Basis dan
Data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat bersarang / berkumpul. Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya. Sebagai satu kesatuan istilah, Basis Data (Database) sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti : 1. Himpunan
kelompok
data
(arsip)
yang
saling
berhubungan
yang
diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Tujuan utama dalam pengelolaan data dalam sebuah basis data adalah agar kita dapat memperoleh menemukan kembali data (yang kita cari) dengan mudah dan cepat. Disamping itu, pemanfaatan basis data untuk pengelolaan data, juga memiliki tujuan – tujuan lain seperti berikut ini :
http://digilib.mercubuana.ac.id/
6
1. Kecepatan dan Kemudahan (Speed) Pemanfaatan basis data memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan / manipulasi terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dan mudah. 2. Efisiensi Ruang Penyimpanan (Space) Dengan basis data, efisiensi / optimalisasi penggunaan ruang penyimpanan dapat dilakukan, karena kita dapat melakukan penekanan jumlah redudansi data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi – relasi (dalam bentuk tabel) antar kelompok data yang saling berhubungan. 3. Keakuratan (Accuracy) Pemanfaatan pengkodean atau pembentukan relasi antardata bersama dengan penerapan aturan / batasan (constraint) tipe data, domain data, keunikan data, dan sebagainya, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat
berguna untuk menekan ketidakakuratan
penyimpanan data. 4. Ketersediaan (Availability) Dengan pemanfataan teknologi jaringan komputer, data yang berada di suatu cabang, dapat juga diakses (menjadi tersedia/available) bagi cabang lain. 5. Kelengkapan (Completeness) Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang, maka kita tidak hanya dapat menambah record – record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field – field baru pada sebuah tabel. 6. Keamanan (Security) Kita dapat menentukan siapa – siapa (pemakai) yang boleh menggunakan basis data beserta objek – objek di dalamnya dan menentukan jenis – jenis operasi apa saja yang boleh dilakukannya.
http://digilib.mercubuana.ac.id/
7
7. Kebersamaan Pemakaian (Sharability) Pemakai basis data sering kali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja oleh satu sistem/aplikasi saja. Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multi-user, akan dapat memenuhi
kebutuhan
ini,
tetapi tetap
dengan
menjaga/menghindari
munculnya persoalan baru seperti inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data). 2.3.1 Proses Perancangan Basis Data Menurut Kadir (2003) Proses perancangan basis data, terlepas dari masalah yang ditangani dibagi menjadi tiga tahapan, yaitu : 1. Perancangan basis data secara konseptual 2. Perancangan basis data secara logis 3. Perancangan basis data secara fisis Perancangan basis data secara konseptual merupakan upaya untuk membuat model yang masih bersifat konsep. Perancangan basis data secara logis merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai, seperti model relasional, hirarki, atau jaringan. Namun sebagaimana halnya perancangan basis data secara konseptual, perancangan ini tidak tergantung pada DBMS (Database Management System) yang akan dipakai. Itulah sebabnya perancangan bas is data secara logis terkadang disebut pemetaan model data. Perancangan basis data secara fisis merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpanan eksternal. 2.3.2 Entity Relationship Diagram (ERD) Menurut Fathansyah (2012) Diagram keterhubungan entitas atau EntityRelationship Diagram selanjutnya disebut ERD adalah model konseptual yang mendeskripsikan hubungan antar penyimpanan (dalam DAD). ERD digunakan
http://digilib.mercubuana.ac.id/
8
untuk memodelkan struktur data dan hubungan antar data. Model ERD yang berisi komponen – komponen himpunan entitas dan himpunan relasi yang masing – masing dilengkapi dengan atribut – atribut yang merepresentasikan seluruh fakta dari dunia nyata yang ditinjau, yang digambarkan dengan lebih sistematis dengan menggunakan ERD. Berikut adalah notasi – notasi yang sering digunakan pada saat pembuatan entity relationship diagram. Tabel 2.1 Notasi ERD
Notasi
Deskripsi Menyatakan himpunan entitas Atribut A sebagai key
A
Himpunan Relasi R
R
Link
Berikut adalah contoh penggambaran relasi antar himpunan entitas lengkap dengan kardinat relasi dan atribut – atributnya : 1. Relasi satu-ke-satu (one-to-one) Adanya relasi antara himpunan entitas Kepala Sekolah dengan Himpunan entitas Sekolah. Himpunan relasinya kita beri nama “Mengepalai”. Para relasi ini, setiap kepala sekolah paling banyak mengepalai satu sekolah. Dan setiap sekolah pasti dikepalai oleh paling banyak satu orang kepala sekolah. Maka penggambarannya adalah:
Gambar 2.1 Contoh relasi one to one
http://digilib.mercubuana.ac.id/
9
2. Relasi satu-ke-banyak (one to many) Adanya relasi antara himpunan entitas dosen dengan himpunan entitas kuliah. Himpunan relasinya kita beri nama “Mengajar”. Pada relasi ini, setiap dosen dapat mengajar lebih dari satu mata kuliah, sedang setiap mata kuliah diajar hanya oleh paling banyak satu dosen. Maka penggambarannya adalah :
Gambar 2.2 Contoh relasi one to many
3. Relasi banyak-ke-banyak (many-to-many) Adanya relasi antar himpunan entitas mahasiswa dengan himpunan entitas kuliah. Himpunan relasinya kita beri nama “Mempelajari”. Pada relasi ini, setiap mahasiswa bisa mempelajari lebih dari satu mata kuliah. Demikian juga sebaliknya, setiap mata kuliah dapat dipelajari oleh lebih dari satu orang mahasiswa.
Gambar 2.3 Contoh relasi many to many
2.4 HTML Menurut Sampurna (2010) HTML singkatan dari HyperText Markup Language yaitu sebuah yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web Internet dan formating hypertext sederhana yang ditulis kedalam berkas format ASCII
http://digilib.mercubuana.ac.id/
10
(American Standard Code For Information Interchange) agar dapat menghasilkan tampilan wujud yang terintegerasi. 2.5
Hypertext Preprocessor (PHP)
2.5.1 Pengertian PHP Menurut Agus Saputra (2011) (PHP:Hypertext Preprocessor) adalah merupakan bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP Menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sbagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, sebuah web akan sangat mudah di-maintenance. PHP Berjalan pada sisi server sehingga PHP disebut sebagai bahasa server side scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya server. PHP ini bersifat open source sehingga dapat dipakai secara cuma - cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi windows maupun linux . 2.5.2 Sejarah PHP Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.
http://digilib.mercubuana.ac.id/
11
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
2.5.3 Kelebihan PHP Ada beberapa macam bahasa pemrograman server side scripting yang banyak digunakan agar memudahkan dalam pembuatan perangkat lunak. Akan tetapi, PHP mempunyai beberapa kelebihan diantaranya ialah : 1. Performa yang tinggi PHP sangat efisien. Menggunakan server yang tidak mahal, dapat melayani bejuta-juta permintaan setiap harinya.
http://digilib.mercubuana.ac.id/
12
2. Integrasi Database PHP memiliki koneksi yang mengijinkan pengguna berbagai system database. Selain dari koneksi ke MySQL, PHP juda dapat melakukan koneksi langsung ke database PostgraSQL, msSQL, Oracle, dbm, filePro, Hyperwave, Informix, Interbase, dan Sybase. Menggunakan Open Database Connectivity Standard (ODBC),
PHP dapat
melakukan koneksi ke banyak database yang disediakan oleh driver ODBC, termasuk produk dari Microsoft. 3. Library yang built-in Karena PHP dirancang untuk digunakan pada web, PHP memiliki banyak fungsi yang telah dibangun untuk mendukung berbagai tugas yang berguna pada web. Dengan PHP, kita dapat menampilkan gambar (.gif ,jpg ,png) terkoneksi layanan jaringan yang lain, mengirim email, membuat file PDF hingga membuat laporan yang cukup banyak. 4. Protabilitas PHP digunakan pada banyak sistem informasi. Kode PHP dapat ditulis pada sistem operasi UNIX yang gratis seperti LINUX dan FreeBSD, sistem operasi UNIX yang komersial seperti Solaris dan IRIX atau berbagai versi Microsoft Windows. 5. Ketersediaan Source Code Source code PHP dapat diakses tidak seperti produk komersial yang source codeny tertutup, jika ada sesuatu yang hendak dimodifikasi atau ditambahkan pada PHP, dapat dilakukan secara langsung dan gratis.
http://digilib.mercubuana.ac.id/
13
2.5.4 Script PHP Ada dua cara yang digunakana dalam menulis script pada PHP yaitu : 1. Embedded script, yaitu cara ini penulisan program PHP disisipkan diantara tag dokumen HTML.
Gambar 2.4 Embedded Script
2. Non Embedded script, cara ini merupakan pembuatan program murni PHP, di mana tag – tag HTML yang diletakkan di dalamnya.
Gambar 2.5 Non Embedded Script
2.6
MySQL Menurut Kadir (2003) SQL (dibaca “ess-quel-el”) merupakan kependekan
dari Structured Query Language. SQL digunakan untuk berkomunikasi dengan sebuah database, sesuai dengan ANSI, SQL merupakan bahasa standar untuk system manajemen database relasional. Statement SQL digunakan untuk melakukan update terhadap database, atau mengambil data dari sebuah database. Suatu database memungkinkan kita untuk melakukan penyimpanan, pencarian, pengurutan, dan pengambilan data secara efisien. Server MySQL mengendalikan akses ke data untuk menjamin bahwa beberapa user dapat bekerja
http://digilib.mercubuana.ac.id/
14
bersama – sama, menyediakan akses yang cepat dan menjamin hanya user yang memiliki hak yang dapat mengakses. Merupakan sebuah system manajemen database relasi (relational database management system). Bersifat open source dapat didownload secara bebas, mysql memiliki kinerja, kecepatan, proses, dan ketangguhan yang tidak kalah dengan database yang lain. Contohnya oracle, Sybase, unity, dll. Pada awalnya mysql hanya berjalan diatas platform system operasi linux. Hampir semua distro linux telah memasukkan mysql sebagai database standarnya, namun saat ini mysql dapat pula berjalan diatas system operasi lainnya. Contoh Ms. Windows, Solaris, FreeBSD, mac OSX, dsb. Karena itu MYSQL adalah server multi-user, multi-threaded. M. Bersifat open source dapat didownload secara bebas, mysql memiliki kinerja, kecepatan, proses, dan ketangguhan yang tidak kalah dengan database yang lain. Contohnya oracle, Sybase, unity, dll. Pada awalnya mysql hanya berjalan diatas platform system operasi linux. Hampir semua distro linux telah memasukkan mysql sebagai database standarnya, namun saat ini mysql dapat pula berjalan diatas system operasi lainnya. Contoh Ms. Windows, Solaris, FreeBSD, mac OSX, dsb. Karena itu MYSQL adalah server multi-user, multi-threaded. MySQL menggunakan SQL, standar bahasa query database di seluruh dunia. MySQL dipublikasikan sejak 1996, tetapi memiliki sejarah perkembangan dari tahun 1979. 2.6.1 Keistimewaan MySQL MySQL memiliki beberapa keistimewaan, antara lain : a. Portabilitas MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. b. Open Source MySQL didistribusikan secara open source, dibawah lisensi GPL sehingga dapat digunakan secara cuma – cuma.
http://digilib.mercubuana.ac.id/
15
c. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. d. Performance Tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. e. Jenis Kolom MySQL memiliki tipe kolom yang sangat kompleks, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain - lain. f. Perintah dan Fungsi MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). g. Keamanan MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. h. Skalabilitas dan Pembatasan MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. i. Konektivitas MySQL dapat melakukan koneksi dengan klien menggunakan protocol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). j. Lokalisasi MySQL
dapat
mendeteksi pesan kesalahan
pada
klien dengan
menggunakan lebih dari dua puluh bahasa. k. Antar Muka MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemograman dengan menggunakan fungsi Programming Interface).
http://digilib.mercubuana.ac.id/
API
(Application
16
l. Klien dan Peralatan MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. m. Struktur Tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun oracle. 2.7
Framework Codeigniter Menurut Saputra (2011) Codeigniter merupakan framework yang diklaim
memiliki eksekusi tercepat dibandingkan dengan framework lainnya. CodeIgniter bersifat open source dan menggunakan model basis MVC (Model View Controller), yang merupakan model konsep modern framework yang digunakan saat ini. Framework sendiri dapat diartikan sebagai suatu kertas / kerangka kerja dalam aplikasi web yang didalammnya memiliki suatu potongan – potongan program yang disusun (modul), sehingga programmer tidak perlu membuat kode dari nol, karena framework telah menyediakannya. Yang harus kita lakukan adalah mengerti, melakukan, dan menerapkannya saja. Codeigniter menawarkan banyak library yang dapat kita gunakan seperti Benchmark yang digunakan untuk menghitung penggunaan memori, Calender yang digunakan untuk membuat kalender, Cart yang dapat digunakan untuk membuat cart pada toko online, dan masih banyak lagi. Codeigniter dibuat pertama kali oleh Rick Ellis yang merupakan CEO dari Ellislab. Ellislab merupakan sebuah perusahaan yang memproduksi CMS – CMS handal. Codeigniter dirilis pertama kali pada 28 Februari 2006. Versi terakhir 2.1.3 yang dirilis pada 8 Oktober 2012. Beberapa kelebihan Framework Codeigniter antara lain : 1. Berukuran kecil Hanya dengan sekitar 4MB, seorang pengembang pemula sudah bisa menggunakan Codeigniter yang di dalamnya terdapat berbagai fitur andal yang bisa digunakan untuk membangun sebuah aplikasi. Beberapa fitur yang
http://digilib.mercubuana.ac.id/
17
ada dalam Codeigniter adalah database access, session control, manage cookies, security dengan xss filtering, bantuan untuk mengunggah file, dan berbagai fitur lain yang sungguh luar biasa. 2. Sangat cepat Sangat cepat disini dalam hal eksekusi file. Kecepatan ini memungkinkan Codeigniter digunakan sebagai framework untuk membangun aplikasi berskala enterprise. 3. Sederhana (simple) Sederhana dari sisi sintaks yang digunakan maupun sisi alur penyusunan program. 4. Bisa langsung digunakan Setiap orang akan bisa menggunakan Codeigniter. Hanya tinggal mengunduh, mengekstrak file, dan meletakkan pada folder kerja web server yang digunakan (htdocs atau public html). 5. Bisa dikombinasikan dengan beberapa aplikasi dengan cara yang sangat mudah. 6. Kode program rapi Kode program akan menjadi sangat rapi dikarenakan penggunaan sistem MVC yang mengelompokkan kode sesuai dengan fungsinya masing – masing kode yang rapi memudahkan dalam pencarian error ketika muncul bug. 2.7.1 Struktur Direktori Kerja Codeigniter Codeigniter merupakan PHP Framework yang berisi kumpulan file PHP dan folder, javascript, CSS serta file lainnya yang memiliki aturan tertentu untuk penggunaannya, dan menyediakan Library serta Helper yang dapat digunakan secara langsung. Folder Codeigniter ini diletakkan di bawah folder direktori web server yang digunakan.
http://digilib.mercubuana.ac.id/
18
Struktur file dalam Codeigniter terlihat seperti pada gambar berikut :
Gambar 2.6 Struktur file codeigniter
Terdapat tiga folder utama Codeigniter, yaitu application, system, dan user_guide. Dari ketiga folder tersebut, yang perlu diperhatikan lebih adalah folder application karena disinilah direktori kerja Codeigniter dan disini pula tempat programmer meletakkan semua file yang berkaitan dengan aplikasi yang akan dikembangkan. Dalam folder application ini terdapat beberapa subfolder dengan peran masing – masing. Beberapa subfolder inilah yang nantinya digunakan untuk mengelompokkan file aplikasi yang akan dibuat sesuai dengan fungsinya. Dari sekian banyak subfolder yang ada, terlebih dahulu fokuskan perhatian pada empat subfolder utama, yaitu : 1. Config, digunakan untuk menyimpan berbagai macam file konfigurasi sistem aplikasi yang akan dibuat. 2. Controllers, digunakan untuk meletakkan controller sistem aplikasi yang akan dibuat. 3. Models, digunakan untuk meletakkan file model sistem aplikasi yang akan dibuat. 4. Views, digunakan untuk meletakkan file view sistem aplikasi yang akan dibuat.
http://digilib.mercubuana.ac.id/
19
2.7.2 Mengenal Konsep MVC (Model View Controller) Menurut Andi publisher (2010) MVC memiliki kepanjangan dari Model View Controller, merupakan alur kerja dari Framework CodeIgniter. Dengan konsep MVC ini, segala macam logika dan layout telah dipisahkan, sehingga si programmer dan designer dapat mengerjakan masing – masing tugasnya secara fokus. Konsep model MVC juga dapat menuntun para pembuat program untuk membangun web dengan cara yang terstruktur. Dilihat dari cara kerjanya, Framework CodeIgniter menekankan pada MVC. Untuk alurnya dapat dilihat pada gambar 2.5
Gambar 2.7 Konsep mvc
Dari gambar 2.5 dapat dilihat bahwa alur pada konsep mvc diawali oleh alur model. Alur ini digunakan sebagai presentasi database. Berbeda dengan Framework CakePHP. Dalam CodeIgniter, segala macam perintah – perintah query SQL diletakkan dalam file model, seperti insert, edit, delete, dan select. Karena semuanya itu berhubungan dengan database. Alur kedua adalah alur controller, digunakan sebagai pengendali (control) antara view dan model melalui permintaan dari HTTP. Alur terakhir dari konsep mvc adalah view. Alur view adalah suatu halaman khusus yang digunakan untuk menyajikan informasi kepada client. Secara definisi, segala macam permintaan yang dikelola oleh controller dan model, akan dikembalikan kepada view sesuai hasil permintaan yang di-request. 2.8
Adobe dreamweaver CS6 Menurut Puspitosari (2010) Adobe dreamweaver merupakan program editor halaman web (web page) keluaran adobe systems yang dulu dikenal dengan sebagai Macromedia dreamweaver keluaran macromedia. Aplikasi ini
http://digilib.mercubuana.ac.id/
20
banyak digunakan pengembang web yang menarik dan kemudahan penggunaanya. Adobe dreamweaver adalah aplikasi desain dan pengembangan web yang menyediakan editor WYSIWYG (what you see is what you get) visual lebih dikenal sebagai desain view dan kode editor dengan fitur standar seperti syntax highlighting,code completion,dan code collapsing. Selain itu aplikasi ini disertakan fitur lebih canggih seperti real-time syntax checking dan code introspection yang menghasilkan petunjuk kode untuk membantu pengguna dalam menulis kode. Tata letak tampilan designer memfasilitasi desain cepat dan pembuatan kode seperti memungkinkan penguna dengan cepat membuat tata letak dan maniplasielemen HTML. Dreamweaver memiliki fitur browser yang bernitegrasi untuk melihat halaman web yang dikembangkan di jendela pratinjau program tersendiri agar konten memungkinkan untuk terbuka diweb browser yang telah ter-install. Aplikasi ini menyediakan transfer dari fitur sinkronisasi, kemampuan untuk mencari dan mengganti baris teks atau kode untuk mencari kata atau kalimat biasa di seluruh situs,dan templating feature yang memungkinkan unuk berbagi satu sumber kode atau memperbarui tata letak diseluruh situs tanpa server side includes atau scripting. 2.9
Topology Web atau Internet Internet adalah suatu sistem global dari seluruh jaringan yang saling
terhubung menggunakan standar Internet Protokol Suit (TCP/IP) untuk melayani milyaran pengguna di seluruh dunia. Berikut contoh gambar cara kerja web atau internet:
http://digilib.mercubuana.ac.id/
21
Gambar 2.8 Topologi web atau internet
Gambaran secara umum cara kerja interhubung ke internet yaitu sebuah komputer client yang terhubung ke internet pada awalnya harus terhubung ke server. Server bertugas mengatur akses dan mengirim data-data dari dan ke dalam internet yang diminta oleh client. Sedangkan penghubung antara client dengan server yaitu protocol, contohnya http:// adalah hypertext transfer protocol yang menunjukkan terhubung nya komputer dengan jaringan. Protocol atau IP (Internet Protokol) tersebut adalah deretan angka biner antara 32 bit-128 bit yang dipakai sebagai alamat identifikasi untuk komputer host dalam jaringan internet. Domain Name Sytem (DNS) merupakan sistem terdistribusi yang akan mengkonversikan nama host/mesin/domain ke alamat IP dan sebaliknya. Cara kerja DNS secara umum yaitu, Pada komputer client sebuah program aplikasi misalnya http, meminta pemetaan IP Address (forwar lookup query). Sebuah program aplikasi pada host mengakses domain sistem disebut dengan resolver, resolver menghubungi DNS server, yang bisa disebut nama server. Name server memeriksa ke local database, jika ditemukan name server mengembalikan IP address ke resolver, jika tidak ditemukan akan meneruskan query tersebut ke name server root server. Terakhir barulah si client bisa secara langsung menghubungi sebuah website / server yang diminta dengan menggunakan IP address yang diberikan oleh DNS server. Contohnya sebagai berikut:
http://digilib.mercubuana.ac.id/
22
1. Saat kita mengetikkan http://mercubuana.ac.id pada web browser, maka aplikasi http (resolver) akan mengirimkan query ke name server DNS Server local atau DNS Server Internet Service Provider. 2. Pertama name server akan menghubungi server root. Server root tidak mengetahui IP address domain tersebut, ia hanya akan memberikan IP address server id. 3. Selanjutnya name server akan bertanya lagi pada server id berupa IP address domain mercubuana.ac.id. server id tidak mengetahui IP address domain tersebut, ia hanya akan memberikan IP address server ac.id. 4. Kemudian name server akan bertanya ke server ac.id tentang IP address mercubuana.ac.id. dan server ac.id hanya akan mengetahui dan memberikan jawaban barupa IP address server mercubuana.ac.id. 5. Lalu name server akan bertanya ke server mercubuana.ac.id tentang IP address mercubuana.ac.id. Dan barulah mercubuana.ac.id mengetahui dan menjawab berapa IP address domain mercubuana.ac.id. 6. Terakhir barulah komputer client bisa secara langsung menghubungi domain mercubuana.ac.id dengan menggunakan IP address yang (belom kelar). 7. IP address milik mercubuana.ac.id kemudian akan disimpan sementara oleh DNS server untuk keperluan nanti. Proses ini disebut caching yang berguna untuk mempercepat pencarian nama domain yang telah dikenalnya. 2.9.1 Web Browser Web browser adalah perangkat lunak yang digunakan untuk menampilkan informasi dari server web. Perangkat lunak ini kini telah dikembangkan dengan menggunakan user interface grafis, sehingga pemakai dapat dengan melakukan „point and click‟ untuk pindah antar dokumen.
http://digilib.mercubuana.ac.id/
23
2.9.2 Web Server Menurut Madcoms (2009) Web server adalah komputer yang digunakan untuk menyimpan dokumen- dokumen web, komputer ini akan melayani permintaan dokumen web dari kliennya. Komputer dapat dikatakan sebagai web server jika komputer tersebut memiliki suatu program server yang disebut Personal Web Server (PWS). PWS ini difungsikan agar halaman web yang ada didalam sebuah komputer server dapat dipanggil oleh komputer klien. Macam – macam web server : a. Apache Web Server – The HTTP Web Server b. Apache Tomcat c. Microsoft Windows Server 2003 Internet Information Services (IIS) d. Lighttpd e. Sun Java System Web Server f. Xitami Web Server g. Zeus Web Server Perbedaan yang mencolok dari kedua bentuk media penghubung di atas adalah pada sisi instalasinya. Penggunaan media penghubung (Wi-Fi) mudah untuk diinstalasi dan penempatan komponen jaringan lebih fleksibel 2.10
Model Diagram UML Adapun model diagram UML yang sering digunakan adalah Usecase
Digram, Activity Diagram, Class Diagram, dan Sequence Diagram. 2.10.1 Use Case Diagram Menurut
Munawar
(2005)
Use
case
adalah
konstruksi
untuk
mendeskripsikan bagaimana sistem akan terlihat dimata pengguna potensial. Use case terdiri dari sekumpulan scenario yang dilakukan oleh seorang actor(orang, perangkat keras, urutan waktu atau sistem yang lain).
http://digilib.mercubuana.ac.id/
24
Table 2.2 Simbol Use Case Diagram
Gambar 2.9 Contoh Use Case Diagram (Munawar, 2005)
2.10.2 Activity Diagram Menurut Munawar (2005) Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak
http://digilib.mercubuana.ac.id/
25
kasus, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku pararel sedangkan flowchart tidak bisa.
Gambar 2.10 Activity Diagram (Munawar, 2005) Tabel 2.3 Simbol Activity Diagram
No. 1.
Notasi
Keterangan Titik awal, digunakan untuk menggambarkan awal dari diagram aktifitas.
2.
Titik akhir, digunakan untuk menggambarkan akhir dari diagram aktifitas.
3.
Aktivitas, digunakan untuk menggambarkan aktifitas dalam diagram aktifitas.
4.
Pilihan untuk pengambilan keputusan, digunakan untuk menggambarkan kelakuan pada kondisi tertentu.
5.
Akhir alur (flow final), digunakan untuk menghancrukan semua tanda yang datang dan tak
http://digilib.mercubuana.ac.id/
26
memiliki efek alur dalam aktifitas.
6.
Fork ; digunakan untuk menunjukkan kegiatan – kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu
7.
Rake ; menunjukkan adanya dekomposisi
8.
Tanda waktu
9.
Node Fork memiliki satu aksi yang masuk dan beberapa aksi yang keluar.
10.
Join node digunakan untuk menggambarkan beberapa aksi yang masuk dan satu aksi yang keluar.
11.
Tanda Pengiriman
12.
Tanda Penerimaan
2.10.3 Class Diagram Menurut Munawar (2005) Class diagram adalah deskripsi kelompok obyek-obyek dengan property, perilaku(operasi) dan relasi yang sama. Disamping itu calss diagram bias memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class-class yang ada dan relasinya satu dengan lainnya.
http://digilib.mercubuana.ac.id/
27
Tabel 2.4 Simbol Class Diagram.
Simbol Class1
Nama Simbol
Keterangan mengambarkan sesuatu yang meng-
Class
kapsulkan informasi di class menampung nama class, atribut dan method Digunakan untuk mengelompokan kelas-
Package
kelas yang mempunyai persamaan. Asosiasi yang menghubungkan class dengan
Asosiasi 1, 1…*, 0…1
class Multiplycity. Boundary class, mengambarkan class yang
Boundary class
menjadi antar muka actors dengan system. Control Class, mengabarkan class yang menjadi control atau perantara antar class
Control Class
dengan database. Aggregation
mengambarkan
suatu
class
terdiri dari class lain atau suatu class adalah Aggregation
bagian dari class lain. Generalization merupakan sebuah taxonomic relationship antara class yang lebih umum dengan class yang lebih khusus.
.
http://digilib.mercubuana.ac.id/
28
Gambar 2.11 Class Diagram
2.11
Metodologi Rekayasa Perangkat Lunak Menurut Presman (2011) Pemodelan dalam perangkat lunak merupakan
suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut. Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Namun model proses perangkat lunak masih menjadi objek penelitian, namun pada saat ini terdapat banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak. Salah satu model proses yang secara umum digunakan dalam pengembangan rekayasa lunak adalah model Waterfall. Waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Berikut di bawah ini rangkaian aktivitas proses dalam model Waterfall
http://digilib.mercubuana.ac.id/
29
1. Tahap Analisa Kebutuhan Sistem Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya. 2. Tahap Design Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan. 3. Tahap Implementasi Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum. 4. Tahap Integrasi dan Testing Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak. 5. Operasi dan Pemeliharaan Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru.
http://digilib.mercubuana.ac.id/
30
Gambar 2.12 Model Waterfall
2.12
Pengujian Black – Box Menurut Aliyana (2009), Black – Box adalah pengujian yang terfokus
apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamat i apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Tujuan metode ini mencari kesalahan pada :
Fungsi yang tidak benar atau hilang
Kesalahan pada interface
Kesalahan dalam struktur data atau akses database
Kesalahan performansi atau kinerja
Kesalahan inisialisasi dan tujuan akhir
Pengujian Black Box dirancang untuk menjawab pertanyaan sebagai berikut : a. Bagaimana validitas fungsional diuji b. Apa kelas input yang terbaik untuk uji coba yang baik c. Apakah sistem sangat peka terhadap nilai input tertentu
http://digilib.mercubuana.ac.id/
31
d. Bagaimana jika kelas data yang terbatas dipisahkan e. Bagaimana volume data yang dapat ditoleransi oleh sistem f. Bagaimana pengaruh kombinasi data terhadap pengoperasian sistem Untuk menganalisa pengujian metode black box dilakukan dengan tiga cara : 1. Pemisah padanan (equivalence partitioning) a. Menggunakan data terpisah yang diturunkan dari test case. b. Satu test case menemukan sekumpulan kesalahan yang spesifik yang biasanya membutuhkan beberapa test case. c. Mengurangi jumlah test case yang dibuat. 2. Analisa batas nilai (boundary value analisys) a. Merupakan pelengkap dari equivalence partitioning. b. Sebagian besar masalah terjadi pada batas input. Bukan pada inti dari input domain. c. Contohnya : pengujian batas atas / bawah dari sebuah array. 3. Pengujian grafik (graph-based testing) Menggunakan graph untuk merepresentasikan object dan relasinya terhadap object lain.
http://digilib.mercubuana.ac.id/