TUGAS AKHIR
Disusun Oleh :
SEPTYAN NURDIANSYAH (0935010045)
PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
TUGAS AKHIR
Diajukan Untuk Memenuhi Per syaratan Dalam Memperoleh Gelar Sarjana Komputer
Pr ogram Studi Sistem Informasi
Oleh :
Septyan Nurdiansyah 0935010045
PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
SKRIPSI
Disusun Oleh : SEPTYAN NURDIANSYAH
NPM : 0935010045
Dosen Pembimbing : Mohamad Ir wan Afandi, ST, Msc
Eka Dyar Wahyuni, S.Kom
PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR karena itu banyak pengusaha yang memanfaatkan peluang tersebut untuk membangun sebuah lapangan futsal. Dan pihak lapangan juga sering membuat sebuah kompetisi yang digunakan untuk mempromosikan lapangannya. Tetapi, masih banyak pihak lapangan yang melakukan pencatatan data lapangan dan kompetisi dengan cara manual dengan menggunakan kertas. Hal tersebut tidak efisien dalam pencarian data dan berpotensi atas kehilangan data.
Berdasarkan dari permasalahan tersebut, dibuatlah “Portal Web Futsal Dengan Fitur Sosial Media Menggunakan Framework CodeIgniter” yang dibangun menggunakan bahasa pemrograman PHP dengan framework CodeIgniter dan Mysql sebagai database-nya.
Dengan adanya Website ini, proses penjadwalan lapangan dan pencatatan data kompetisi semakin mudah dilakukan. Website ini juga dapat berfungsi sebagai sebuah media interaksi antar pemain futsal.
Kata kunci: Por tal futsal, Sosial media futsal, CodeIgniter .
MENGGUNAKAN FRAMEWORK CODEIGNITER
Disusun Oleh:
SEPTYAN NURDIANSYAH NPM : 0935010045
Telah dipertahankan dihadapan dan diterima oleh Tim Penguji Skr ipsi J urusan Sistem Informasi Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awa Timur Pada tanggal 17 Mei 2013
Pembimbing : 1.
Mohamad Irwan Afandi, ST, MSc NIP/NPT. 376070702201
2.
Eka Dyar Wahyuni, S.Kom NIP/NPT. 384121303561
Nur Cahyo Wibowo, S.Kom, M.Kom NIP/NPT. 379030401971
3.
Mohamad Irwan Afandi, ST, MSc NIP/NPT. 376070702201
Mengetahui,
Dekan Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awa Timur
Ir. Sutiyono, MT
PORTAL WEB FUTSAL DENGAN FITUR SOSIAL MEDIA MENGGUNAKAN FRAMEWORK CODEIGNITER
Disusun Oleh:
SEPTYAN NURDIANSYAH NPM : 0935010045
Telah disetujui mengikuti Ujian Negara Lisan Pada tanggal 17 Mei 2013
Menyetujui,
Dosen Pembimbing 1 Dosen Pembimbing 2
Mohamad Irwan Afandi, ST, MSc Eka Dyar Wahyuni, S.Kom NIP/NPT. 376070702201 NIP/NPT. 384121303561
Mengetahui,
Ketua Program Studi Sistem Informasi Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awa Timur
Mahasiswa dengan nama dan NPM yang tertera dibawah ini : Nama : Septyan Nurdiansyah
NPM : 0935010045 Jurusan : Sistem Informasi
Dengan ini telah melaksanakan Tugas Akhir dan telah disetujui untuk mengikuti Ujian Negara Lisan priode bulan Mei tahun akademik 2012/2013.
1. SKRIPSI
Judul : Portal Web Futsal Dengan Fitur Sosial Media Menggunakan Framework CodeIgniter
2. PRAKTEK KERJA LAPANGAN
Judul : Sharing Knowledge Berbasis Web Dengan Menggunakan PHP di PT. JASA MARGA (Persero) Surabaya
Menyetujui,
Menyetujui,
Ketua Program Studi Sistem Informasi Dosen Pembimbing I
(Moh. Irwan Afandi, ST, MSc) NIP/NPT. 276070740220
Dosen Pembimbing PKL
(Doddy Ridwandono, S.Kom) NIP/NPT. 378050702181 Dosen Pembimbing II
( Eka Dyar Wahyuni, S.kom) NIP/NPT. 384121303561
Dengan memanjatkan puji syukur atas kehadirat Allah SWT karena dengan rahmat, taufiq, serta hidayah-Nya sehingga penulis dapat menyelesaikan Tugas Akhir dan Laporan Tugas Akhir yang berjudul “Portal Web Futsal Dengan Fitur Sosial Media Menggunakan Framework CodeIgniter”.
Tujuan utama dari penulisan Tugas Akhir ini adalah untuk memenuhi persyaratan menempuh ujian sarjana pada Fakultas Teknologi Industri Program Studi Sistem Informasi universitas Pembangunan Nasional “Veteran” Jawa Timur.
Akhirul kalam, semoga Tugas Akhir ini dapat memberikan manfaat bagi
semua pihak yang berkepentingan dan penulis juga mengucapkan terima kasih kepada semua pihak yang telah membantu penyelesaian Tugas Akhir ini. Semoga Allah membalasnya dengan balasan sebaik-baiknya.
Penulis sebagai manusia biasa pasti mempunyai keterbatasan dan banyak sekali kekurangan, terutama dalam pembuatan laporan ini. Untuk itu penulis sangat membutuhkan kritik dan saran yang membangun dalam memperbaiki penulisan laporan ini.
Surabaya, 12 April 2013
KATA PENGANTAR ... ii
UCAPAN TERIMAKASIH ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xvi
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Perumusan Masalah ... 3
1.3 Batasan Masalah ... 4
1.4 Tujuan ... 5
1.5 Manfaat... 5
1.6 Metode Penelitian ... 6
1.7 Sistematika Penulisan... 7
BAB II TINJAUAN PUSTAKA 2.1 Futsal ... 9
2.1.1 Sejarah Futsal... 9
2.1.2 Peraturan Futsal ... 10
2.2 Sosial Media ... 14
2.3 Website ... 15
2.3.1 Jenis Aplikasi Website ... 15
2.3.2 Pengertian Web Portal ... 17
2.5 HTML (Hyper Text Markup Language) ... 21
2.6 CSS (Cascade Style Sheet) ... 24
2.6.1 Keuntungan Penggunaan CSS ... 24
2.6.2 Struktur CSS ... 24
2.7 JavaScript ... 25
2.7.1 Menjalankan JavaScript ... 25
2.8 JQuery ... 26
2.8.1 Fullcalendar ... 27
2.9 CodeIgniter ... 28
2.9.1 keunggulan CodeIgniter ... 29
2.9.2 Diagram Alir Aplikasi ... 29
2.9.3 Petunjuk Instalasi ... 30
2.10 Database ... 31
2.10.1 Keuntungan Sistem Database ... 32
2.11 MySQL ... 32
2.12 DFD (Data Flow Diagram) ... 33
2.12.1 Komponen DFD ... 34
2.12.1.1 Komponen Terminator/ Entitas Luar ... 34
2.12.1.2 Komponen Proses ... 35
2.12.1.3 Komponen Data Store ... 36
2.12.1.4 Komponen Data Flow/ Alur Data ... 37
2.13.1 Model ... 39
2.13.2 View ... 39
2.13.3 Controller ... 40
BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis ... 42
3.1.1 Pengguna dan Hak Akses ... 43
3.1.1.1 Pengguna Umum ... 44
3.1.1.2 Pengelola Lapangan ... 45
3.2 Perancangan Sistem ... 45
3.2.1 Perancangan Proses ... 45
3.2.2 Perancangan Database ... 48
3.2.2.1 CDM (Conceptual Data Model) ... 71
3.2.2.2 PDM (Physical Data Model) ... 73
3.2.3 Perancangan Antar Muka ... 75
BAB IV IMPLEMENTASI SISTEM 4.1 Lingkungan Implementasi ... 81
4.1.1 Spesifikasi Sistem ... 81
4.2 Implementasi Antarmuka ... 82
4.2.1 Halaman Index ... 82
4.2.2 Halaman Profil Pengguna Umum ... 87
4.2.3 Halaman Profil Pengguna Pengelola Lapangan ... 97
5.1 Lingkungan Uji Coba ... 123
5.2 Uji Coba Fungsi ... 123
5.2.1 Registrasi Pengguna Umum ... 123
5.2.2 Registrasi Pengguna Pengelola Lapangan ... 125
5.2.3 Login Pengguna ... 126
5.2.4 Membuat Status ... 127
5.2.5 Membuat Komentar Status ... 128
5.2.6 Upload Foto ... 129
5.2.7 Membuat Tim ... 130
5.2.8 Menulis Pesan ... 131
5.2.9 Membuat Kompetisi ... 132
5.2.10 Membuat Pengumuman Tim ... 133
5.2.11 Membuat Acara Tim ... 134
5.2.12 Membuat Pengumuman Lapangan... 136
5.2.13 Membuat Lapangan ... 137
5.2.14 Membuat Pertandingan... 139
5.2.15 Membuat Riwayat Pertandingan ... 140
5.2.16 Memesan Lapangan ... 141
BAB VI PENUTUP 5.1 Kesimpulan ... 142
5.2 Saran ... 142
Dosen Pembimbing I : Moh. Irwan Afandi, ST, M.Sc. Dosen Pembimbing II : Eka Dyar Wahyuni, S.Kom.
ABSTRAK
Futsal adalah olahraga yang semakin digemari dari tahun ke tahun. Oleh karena itu banyak pengusaha yang memanfaatkan peluang tersebut untuk membangun sebuah lapangan futsal. Dan pihak lapangan juga sering membuat sebuah kompetisi yang digunakan untuk mempromosikan lapangannya. Tetapi, masih banyak pihak lapangan yang melakukan pencatatan data lapangan dan kompetisi dengan cara manual dengan menggunakan kertas. Hal tersebut tidak efisien dalam pencarian data dan berpotensi atas kehilangan data.
Berdasarkan dari permasalahan tersebut, dibuatlah “Portal Web Futsal Dengan Fitur Sosial Media Menggunakan Framework CodeIgniter” yang dibangun menggunakan bahasa pemrograman PHP dengan framework
CodeIgniter dan Mysql sebagai database-nya.
Dengan adanya Website ini, proses penjadwalan lapangan dan pencatatan data kompetisi semakin mudah dilakukan. Website ini juga dapat berfungsi sebagai sebuah media interaksi antar pemain futsal.
BAB I
PENDAHULUAN
Pada bab I ini dibahas tentang latar belakang, perumusan masalah, batasan masalah, tujuan, manfaat, metode penelitihan dan sistematika penulisan dalam Laporan Tugas Akhir ini.
1.1 Latar Belakang
Di zaman sekarang ini masyarakat telah sadar akan pentingnya olahraga, Terutama dalam olahraga futsal. Futsal pertama kali dimainkan di Montevideo Uruguay pada tahun 1930. Kata futsal berasal dari kata Fubol sala dari Spanyol, lalu menyebar ke Amerika selatan dan Brasil dengan istilah Futebol de salao yang artinya adalah sepak bola ruangan (FIFA, 2004). Peraturan skor futsal sama dengan peraturan umum pada sepak bola. Yang membedakan antara futsal dengan sepak bola adalah jumlah pemain dan luas lapangannya. Sepak bola dimainkan oleh 11 pemain dalam 1 tim. Dan dengan lapangan yang lebih kecil dari sepak bola, futsal hanya dimainkan oleh 5 orang pemain dalam 1 tim.
Dilihat dari Google Trends, jumlah penelusuran website berkata kunci futsal sangatlah tinggi dari tahun ke tahun. Ini menandakan peminat olahraga futsal yang semakin tinggi.
Dengan peminat yang semakin tinggi, maka kebutuhan akan lapangan futsal juga semakin tinggi. Dan hal itu juga memberi peluang bisnis untuk membuka usaha penyewaan lapangan futsal.
Pada saat ini terdapat suatu teknologi yang disebut dengan internet.
Internet dapat menghubungkan semua orang dimanapun mereka berada dengan
hanya mengakses sebuah web. Internet juga dapat diakses 24 jam tanpa henti, sehingga peran internet dalam era teknologi informasi sekarang ini semakin besar. Dan oleh karena itu, peran internet sekarang ini mulai berubah dari mesin pencari data menjadi wadah bisnis dengan aplikasi yang dinamakan website.
Dengan adanya internet, memungkinkan semua aktifitas dapat dibantu dengan internet. Sehingga setiap kegiatan dapat tercatat rapi dan terpublikasikan secara online. Oleh karena itu, internet juga dapat dijadikan sebagai media untuk mempromosikan suatu produk. Hal ini dikarenakan internet mempunyai segmen pasar yang luas yang menjangkau semua orang diseluruh dunia.
sebelumnya. Tentunya hal ini kurang efisien karena dalam pencariannya akan memakan waktu dan dalam pencatatannya akan membutuhkan biaya kertas sebagai medianya. Yang kedua adalah pada proses pencatatan kompetisi. Dengan pencatatan kompetisi yang tidak terpublikasi secara online, peserta kompetisi harus datang ke lokasi kompetisi untuk melihat jadwal pertandingan.
Untuk itu, dalam Tugas Akhir ini, dibuatlah “Portal Web Futsal Dengan Fitur Sosial Media Menggunakan Framework CodeIgniter”, dimana website ini dapat digunakan sebagai alat bantu untuk mencatat penjadwalan. Contohnya adalah penjadwalan lapangan futsal. Dengan mempublikasikan jadwal lapangan futsal secara online, diharapkan semua orang dapat mengakses jadwal dan dengan mudah melakukan pemesanan lapangan futsal. Tidak hanya itu, dengan website
yang terpublikasikan secara online juga dapat menjadi media promosi sehingga diharapkan dapat menambah jumlah pelanggan. Dalam website ini juga berfungsi sebagai media untuk membantu pencatatan data kompetisi, sehingga memudahkan peserta kompetisi dan semua orang untuk mengetahui jadwal pertandingan. Dan dalam website ini juga dapat digunakan sebagai media bertemunya dan berinteraksi antara para pemain-pemain futsal diseluruh dunia.
1.2 Perumusan Masalah
Berdasarkan Latar belakang yang telah diuraikan diatas, yang menjadi permasalahan yang dibahas pada Tugas Akhir ini adalah bagaimana membuat
website portal futsal untuk membantu pencatatan semua kegiatan yang
pemesanan lapangan, pembuatan kompetisi, serta pembuatan tim dan pembuatan suatu media sosial untuk pemain-pemain futsal.
1.3 Batasan Masalah
Dalam Pembuatan Tugas Akhir ini, mempunyai batasan masalah sebagai berikut:
1. Website tidak meliputi transaksi pembayaran pemesanan lapangan dan
pembayaran kompetisi.
2. Foto yang di-upload harus berekstensi jpg, gif, atau png. 3. Batas maksimal upload foto adalah 5 mb.
4. Fitur sosial media yang dibuat meliputi: a) Menambah teman,
b) Saling kirim pesan, c) Menulis status, d) Mengomentari status,
e) Upload foto,
f) Membuat tim,
g) Membuat pengumuman tim, dan
h) Mengomentari pengumuman tim.
5. Tim yang dapat memesan lapangan adalah tim yang telah menjadi member aktif dengan batas pemesanan yang telah diisi oleh pengelola lapangan. 6. Jika pengguna menjadi anggota tim, pengguna tidak dapat melakukan
7. Pengelola lapangan tidak dapat melakukan pemesanan lapangan sendiri, kecuali telah membuat kompetisi.
8. Sistem kompetisi yang dibuat hanya menggunakan sistem gugur.
9. Tim yang dapat mengikuti kompetisi adalah tim yang mempunyai 12 orang sebagai pemain utama.
10. Dalam membuat pertandingan, ronde kompetisi di-input-kan manual oleh pengguna. Dan dalam peng-input-annya, harus urut berdasarkan alur pertandingan.
11. Jika jumlah tim yang mengikuti kompetisi bernilai ganjil, maka dapat ditandingkan dengan tim dumy yang telah ter-generate otomatis ketika membuat kompetisi.
12. Riwayat pertandingan yang diinputkan hanya terdiri dari: goal, pelanggaran, kartu merah, dan kartu kuning.
1.4Tujuan
Adapun tujuan dari pembuatan Tugas Akhir ini adalah:
1. Membuat website portal futsal sebagai media pembantu pencatatan semua kegiatan aktifitas olahraga futsal,
2. Menyediakan tempat saling berinteraksi antar pemain futsal.
1.5 Manfaat
Manfaat dari pembuatan Tugas Akhir ini adalah: 1. Mempermudah pemesanan lapangan.
2. Membantu mempermudah pencarian lapangan yang kosong. 3. Membantu mencari lawan latihan.
5. Mempermudah sebuah tim untuk membuat jadwal acara yang dapat dilihat oleh semua anggotanya.
1.6 Metode Penelitian
Langkah-langkah pengumpulan data sebagai dasar penyusunan Tugas Akhir adalah sebagai berikut:
1. Studi literatur
Merupakan usaha untuk lebih memudahkan dalam melengkapi data dan memecahkan masalah yang merupakan sumber referensi bagi penulis dalam mengambil langkah pengamatan dan melengkapi data.
2. Analisa sistem
Menganalisa masalah-masalah yang akan disajikan dan mengumpulkan data atau informasi. Yang juga merupakan aktivitas dalam melakukan pengamatan dan analisa terhadap kondisi sebenarnya di lapangan kemudian akan dicari solusinya.
3. Perancangan dan implementasi
Membuat perancangan sistem dengan kebutuhan yang sesuai, dan mengimplementasikan website yang dibuat dengan data.
4. Uji coba
Melakukan uji coba sistem secara keseluruhan apakah terjadi kesalahan dan ketidak akuratan proses.
5. Evaluasi
1.7 Sistematika Penulisan
Laporan Tugas Akhir ini terdiri dari atas 5 bab dengan rincian sebagai berikut:
BAB I : PENDAHULUAN
Bab ini menjelaskan tentang deskripsi umum Tugas Akhir yang meliputi latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, dan sistematika penulisan.
BAB II : TINJ AUAN PUSTAKA
bab ini menjelaskan tentang teori-teori penunjang, yaitu sejarah dan peraturan olahraga futsal, pengertian website, sosial media, PHP, HTML, CSS, JavaScript, Jquery,
framework CodeIgniter, database, MySQL, DFD, dan
MVC.
BAB III : ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas desain sistem dengan menggunakan
Data Flow Diagram(DFD) dan desain database yang
terdiri dari desain Conceptual Data Model (CDM) dan
Physical Data Model (PDM).
BAB IV : IMPLEMENTASI SISTEM
BAB V : UJ I COBA
Bab ini berisi penjelasan lingkungan uji coba website, dan pelaksanaan ujicoba website.
BAB VI : PENUTUP
TINJ AUAN PUSTAKA
Pada bab II ini dibahas beberapa teori dasar untuk menunjang penyelesaian Laporan Tugas Akhir ini.
2.1 Futsal
Futsal adalah permainan bola yang dimainkan oleh dua tim, yang masing-masing beranggotakan lima orang. Tujuannya adalah memasukkan bola ke gawang lawan, dengan memanipulasi bola dengan kaki. Selain lima pemain utama, setiap regu juga diizinkan memiliki pemain cadangan. Tidak seperti permainan sepak bola dalam ruangan lainnya, lapangan futsal dibatasi garis, bukan net atau papan. Futsal turut juga dikenali dengan berbagai nama lain. Istilah "futsal" adalah istilah internasionalnya, berasal dari kata Spanyol atau Portugis,
futbol dan sala.
2.1.1 Sejarah Futsal
Fédération Internationale de Football Association di seluruh dunia, dari Eropa hingga Amerika Tengah dan Amerika Utara serta Afrika, Asia, dan Oseania.
Pertandingan internasional pertama diadakan pada tahun 1965, Paraguay menjuarai Piala Amerika Selatan pertama. Enam perebutan Piala Amerika Selatan berikutnya diselenggarakan hingga tahun 1979, dan semua gelaran juara disapu habis Brasil. Brasil meneruskan dominasinya dengan meraih Piala Pan Amerika pertama tahun 1980 dan memenangkannya lagi pada perebutan berikutnya tahun pd 1984.
Kejuaraan Dunia Futsal pertama diadakan atas bantuan FIFUSA (sebelum anggota-anggotanya bergabung dengan FIFA pada tahun 1989) di Sao Paulo, Brasil, tahun 1982, berakhir dengan Brasil di posisi pertama. Brasil mengulangi kemenangannya di Kejuaraan Dunia kedua tahun 1985 di Spanyol, tetapi menderita kekalahan dari Paraguay dalam Kejuaraan Dunia ketiga tahun 1988 di Australia.
2.1.2 Peraturan Futsal
a) Luas lapangan
1) Ukuran: panjang 25-43 m x lebar 15-25 m
2) Garis batas: garis selebar 8 cm, yakni garis sentuh di sisi, garis gawang di ujung-ujung, dan garis melintang tengah lapangan; 3 m lingkaran tengah; tak ada tembok penghalang atau papan
3) Daerah penalti: busur berukuran 6 m dari masing-masing tiang gawang 4) Titik penalti: 6 m dari titik tengah garis gawang
6) Zona pergantian: daerah 5 m (5 m dari garis tengah lapangan) pada sisi tribun dari pelemparan
7) Gawang: tinggi 2 m x lebar 3 m
8) Permukaan daerah pelemparan: halus, rata, dan tak abrasive
Gambar 2.1 Lapangan Futsal
Gambar 2.3 Ukuran Gawang dan Batas Penjaga Gawang Futsal
Gambar 2.5 Area Official Futsal
b) Bola
1) Ukuran: 4
2) Keliling: 62-64 cm 3) Berat: 0,4 - 0,44 kg
4) Lambungan: 55-65 cm pada pantulan pertama
5) Bahan: kulit atau bahan yang cocok lainnya (yaitu bahan tak berbahaya)
c) J umlah pemain (per tim)
1) Jumlah pemain maksimal untuk memulai pertandingan: 5, salah satunya penjaga gawang
2) Jumlah pemain minimal untuk mengakhiri pertandingan: 2 (tidak termasuk cedera)
5) Jumlah hakim garis: 0
6) Batas jumlah pergantian pemain: tak terbatas
7) Metode pergantian: "pergantian melayang" (semua pemain kecuali penjaga gawang boleh memasuki dan meninggalkan lapangan kapan saja; pergantian penjaga gawang hanya dapat dilakukan jika bola tak sedang dimainkan dan dengan persetujuan wasit)
8) Dan wasit pun tidak boleh menginjak arena lapangan , hanya boleh di luar garis lapangan saja , terkecuali jika ada pelanggaran-pelanggaran yang harus memasuki lapangan
d) Lama permainan
1) Lama normal: 2x20 menit 2) Lama istiharat: 10 menit
3) Lama perpanjangan waktu: 2x5 menit (bila hasil masih imbang setelah 2x20 menit waktu normal)
4) Ada adu penalti (maksimal 5 gol) jika jumlah gol kedua tim seri saat perpanjangan waktu selesai
5) Time-out: 1 per tim per babak; tak ada dalam waktu tambahan
6) Waktu pergantian babak: maksimal 10 menit
2.2 Sosial Media
demokrasi informasi yang mengubah orang-orang dari pembaca konten menjadi penerbit konten. Sosial media telah menjadi sangat popular karena memberikan kesempatan orang-orang untuk terhubung dengan dunia online dalam bentuk hubungan personal, politik dan kegiatan bisnis.
2.3 Website
Website adalah kumpulan dari halaman-halaman situs yang biasanya
terangkum dalam sebuah domain atau subdomain yang tempatnya berada di dalam
Word Wide Web (WWW) di internet. Sebua web page adalah dokumen yang
ditulis dalam format HTML (Hyper Text Markup Language), yang hamper selalu bias diakses melalui HTTP, yaitu protocol yang menyampaikan informasi dari
server website untuk ditampilkan kepada para pemakai melalui web browser.
Semua publikasi dari website-website tersebut dapat membentuk sebuah jaringan informasi yang sangat besar. Menurut Laudon dan Laudon (2002, hal 17),
“Website adalah keseluruhan dari pemeliharaan halaman www oleh organisasi
atau individual”.
2.3.1 J enis Aplikasi Website
Melihat perkembangan aplikasi web yang sedang berkembang saat ini, dapat di klasifikasikan menjadi beberapa bentuk atau kelompok. Berikut ini penjelasan beberapa kelompok aplikasi web dan contohnya:
- Web berita dan infor masi yaitu aplikasi web yang menyediakan konten informasi berbayar maupun gratis. Contoh situs yang menggunakan aplikasi
web berita dan informasi : kompas.com, detik.com, kaskus.us, yellowpages.co.id, tokobagus.com.
- Web profil yaitu aplikasi web yang mendeskripsikan tentang profil suatu perusahaan lembaga ataupun orang personal. Aplikasi web ini biasanya digunakan untuk memperkenalkan profil perusahaan, lembaga atau orang personal kepada umum. Contoh aplikasi web profil seperti jogjakota.go.id, blogspot.com, dan lain-lain.
- Web services yaitu aplikasi web yang menyediakan layanan pengolahan data dan sebagainya. Perbedaan umum aplikasi web service dan aplikasi web lain pada umumnya adalah aplikasi web service tidak memiliki antarmuka, namun dapat diakses melalui alamat internet. Contoh aplikasi web services seperti aws.amazon.com, konakart.com, dan lain-lain.
- Web social networking yaitu aplikasi web yang memberikan fasilitas pertemanan, teman berkumpul dan dapat juga menjadi wadah suatu kelompok. Aplikasi web social networking saat ini menjadi tren dunia
internet. Contoh aplikasi web social networking seperti facebook.com,
twitter.com, myspace.com, dan lain-lain.
- Web search engine optimize yaitu aplikasi web yang didalamnya terdapat proses pencarian pada internet. Contoh aplikasi web SEO seperti google.com, yahoo.com, bing.com, dan lain-lain
2.3.2 Pengertian Web Portal
Web portal dibagi menjadi dua kelompok, yaitu Portal Horizontal atau HEPs (Horizontal Enterprise Portals, juga disebut megaportal), dan Portal
Vertikal atau VEPs (Vertical Enterprise Portals).
1) Portal Horizontal
Portal horizontal adalah sebuah situs Web publik yang mencoba untuk memberikan penggunanya dengan semua layanan yang mereka butuhkan. Portal horizontal memberikan jenis informasi yang beragam dalam web yang sama. Portal horizontal hampir selalu menyertakan iklan yang membayar untuk portal, dan tujuan mereka adalah untuk menarik sebanyak mungkin pengguna.
2) Portal Vertikal
Portal Vertikal adalah sebuah portal yang memberikan informasi spesifik tentang organisasi dengan cara user-centric. Portal Vertikal membutuhkan autentifikasi pengguna dengan cara login. Ketika pengguna login, maka akan ditampilkan halaman yang berbeda pada setiap penggunanya.
2.3.3 Keamanan Aplikasi Website
jaringan secara global, yang terkadang menimbulkan rasa penasaran bagi sebagian kalangan untuk mencoba apakah aplikasi web dapat digunakan tanpa melalui proses yang disediakan oleh aplikasi, seperti melewatkan proses login, melewatkan validasi sistem pembayaran, mengakses data secara illegal dan lainnya. Untuk mencegah terjadinya percobaan tersebut beberapa teknologi keamanan internet dikembangkan, berikut ini penjelasan beberapa teknologi tersebut:
- Firewall adalah alat atau kumpulan alat yang digunakan untuk mengatur izin masuk dan keluarnya suatu transmisi paket data pada jaringan komputer. - SSL/TLS atau Secure Socket Layer/ Transport Layer Security adalah
protocol kriptografi yang menyediakan keamanan komunikasi pada internet.
SSL/TLS melakukan enkripsi atau penyandian data pada setiap pengiriman data.
- HTTPS atau HTTP Secure adalah kombinasi antara protocol HTTP dan SSL/TLS, HTTPS umumnya digunakan sebagai protocol umum pada proses pembayaran transaksi pada web.
- Certificate Authority (CA) adalah sertifikat digital yang digunakan sebagai penanda keabsahan suatu alamat pada jaringan internet.
2.4PHP
dari Personal Home Page.PHP pertama ditulis menggunakan bahasa Perl (Perl
Script), kemudian ditulis ulang menggunakan bahasa pemrograman C CGI-BIN
(Common Gateway Interface-Binary) yang ditujukan untuk mengembangkan
halaman website yang mendukung formulir dan penyimpanan data. Pada tahun 1995 PHP Tool 1.10 dirilis untuk umum, kemudian pengembangannya dilanjutkan oleh Andi Gutmans dan Zeev Suraski. Perusahaan bernama Zend kemudian melanjutkan pengembangan PHP dan merilis PHP versi 5 terakhit pada saat ini.
2.4.1 Pengenalan PHP
PHP adalah pemrograman interpreter yaitu proses penerjemahan baris kode sumber menjadi kode mesin yang dimengerti computer secara langsung pada saat baris kode dijalankan. PHP disebut sebagai pemrograman Server Side
Programming, hal ini dikarenakan seluruh prosesnya dijalankan pada server. PHP
adalah suatu bahasa dengan hak cipta terbuka atau dikenal dengan istilah Open
Source, yaitu pengguna dapat mengembangkan kode-kode fungsi PHP sesuai
dengan kebutuhannya.
Pemrograman PHP dapat ditulis dalam dua bentuk yaitu penulisan baris kode PHP pada file tunggal dan penulisan kode PHP pada halaman html
(embedded). Kedua cara penulisan tersebut tidak memiliki perbedaan, hanya
menjadi kebiasaan gaya penulisan dari programmer. Berikut contoh penulisan kode program PHP :
Singlefile_php.php
echo “<html>”; echo “<head>”;
echo “<title>Contoh PHP</title>”; echo “</head>”;
echo “<body>”;
echo “<p>Dibawah ini adalah tulisan dari PHP</p>”; echo “Teks dari PHP”;
echo “</html>”; ?>
<p>Dibawah ini adalah tulisan dari PHP</p> <?php
echo “Teks dari PHP”; ?>
</body> </html>
Untuk penulisan kode PHP pada HTML diperlukan tambahan konfigurasi pada web server agar dapat berjalan. Konfigurasi ini bertujuan untuk mendaftarkan ekstensi .html agar dapat dikenali dengan Apache Web Server dan diproses seperti halnya file PHP dengan ekstensi .php. Caranya adalah sebagai berikut:
- Buka file httpd.conf.
- Cari bagian <ifModule mime_module> pada file.
- Cari barisan AddType. Pada bagian terakhir dari Addtype application/x-http-php .php3 kemudian tambahkan baris berikut
2.5HTML (Hyper Text Markup Language)
HTML adalah bahasa yang digunakan pada dokumen web sebagai bahasa untuk pertukaran dokumen web. Struktur dokumen HTML terdiri tag pembuka dan tag penutup. HTML versi 1.0 dibangun oleh W3C, dan terus mengalami perkembangan. Sampai saat ini HTML terakhir adalah versi 5.0. struktur dokumen HTML sebagai berikut:
<html> <head>
<title></title> </head>
<body></body> </html>
Struktur diatas adalah satu kesatuan yang harus ada dalam setiap dokumen HTML. Dokumen HTML terdiri dari komponen yaitu tag, elemen, dan atribut. Berikut adalah penjelasan dari masing-masing komponen tersebut.
Tag adalah tanda awal < dan tanda akhir > yang digunakan sebagai pengapit suatu elemen. Tag pada elemen pembuka diawali dengan tanda < dan diakhiri dengan tanda >. Sedangkan untuk elemen penutup diawali dengan tanda < dan / kemudian diakhiri dengan tanda >. Untuk penulisan tag elemen tunggal cukup menuliskan tanda < dan sebelum tanda > ditambahkan tanda ?. berikut contoh penulisan Tag:
Elemen adalah nama penanda yang diapit oleh tag yang memiliki fungsi dan tujuan tertentu pada dokumen HTML. Elemen dapat memiliki elemen anak dan juga nilai. Elemen anak adalah suatu elemen yang berada di dalam elemen pembuka dan elemen penutup induknya. Nilai yang dimaksud adalah suatu teks atau karakter yang berada di antara elemen pembuka dan elemen penutup. Berikut contoh elemen:
<head> Elemen HEAD
<title> Elemen anak dari elemen HEAD Judul Dokumen Nilai dari elemen TITLE
</title> </head>
Atribut adalah properti elemen yang digunakan untuk mengkhususkan suatu elemen. Elemen dapat memiliki atribut yang berbeda pada tiap masing-masingnya. Pendefinisian nilai atribut hanya dapat dilakukan pada elemen pembuka. Untuk elemen dari tag yang memiliki atribut sama dengan induknya, namun nilai atribut tidak didefinisikan secara implisit maka nilai atribut elemen tersebut sama dengan nilai atribut pada tag induk atau isitilah lainnya inherit.
Sifat inherit tersebut tidak berlaku untuk atribut identitas, seperti atribut id dan name.
<body id=”mybody” class=”bodycontent”>Elemen body dengan atribut id dan Class
<p> Atribut class pada elemen P secara otomatis bernilai sama dengan induknya.
Membuat HTML sederhana </p>
<body id=”mybody” class=”bodycontent”>Elemen body dengan atribut id dan Class
<p> Atribut class pada elemen P dengan atribut class, yang berbeda dengan induknya.
Membuat HTML sederhana </p>
</body>
Aturan penulisan dokumen HTML:
- Setiap nama tag atau elemen pembuka diawali dengan tanda < dan diakhiri dengan tanda >.
- Setiap nama tag atau elemen penutup diawali dengan tanda < dan tanda / kemudian tanda >.
- Untuk tag atau elemen yang berdiri sendiri, cukup dengan menuliskan tanda < dan diakhiri tag atau elemen ditambahkan tanda / sebelum tanda >.
- Penulisan nama tag atau elemen atau atribut dapat menggunakan huruf besar maupun huruf kecil (tidak case sensitive).
- Penulisan nilai pada atribut diawali dengna tanda “ dan diakhiri tanda “. - Urutan struktu doumen setelah tag <html> sebaiknya dimulai dengan
<head> kemudian <body>, jika tag <body> mendahului tag <head> secatra aturan tidak mengubah atau menyalahi struktur dokumen HTML, namun disarankan agar urutan disesuaikan seperti diatas agar urutan disesuaikan seperti di atas agar mudah dalam membaca dokumen HTML. - Penulisan komentar pada dokumen HTML diawali tanda <!--dan diakhiri
2.6CSS (Cascade Style Sheet)
CSS yang memiliki kepanjangan Cascade Style Sheet ini digunakan para
web designer untuk mengatur styleelement yang ada dalam halaman web mereka, mulai dari format text, sampai pada memformat layout. Tujuan dari penggunaan CSS ini adalah supaya diperoleh suatu kekonsistenan style pada elemen tertentu.
Perkembangan CSS sendiri diawali pada tahun 1996, dimana W3C (World
Wide Web Consortium), sebuah konsorsium untuk standarisasi web, menyusun
draf proposal untuk membuat CSS ini dan akhirnya dapat berjalan. Selanjutnya pada pertengahan tahun 1998, W3C mengembangkan CSS yang diperbarui untuk kepentingan media lain (tidak hanya untuk PC web browser). Akhirnya mulai pada tahun 200, telah dikembangkan CSS3 oleh W3C yang sampai saat ini masih terus diperbarui lagi.
2.6.1 Keuntungan Penggunaan CSS
Dengan menggunakan CSS, akan mudah untuk mengatur style elemen dalam website. Sebagai contoh, misalnya untuk mengatur style elemen heading, dapat dengan cara menuliskan properti dari elemen heading tersebut sekali saja. Jika tidak menggunakan CSS, maka perlu dituliskan style pada setiap elemen heading yang ada.
2.6.2 Struktur CSS
Gambar 2.6 Struktur CSS
Selector digunakan untuk menentukan pada elemen apa style tersebut diterapkan.
Selector dapat berupa id elemen atau nama class. Bagian declaration
menerangkan style yang akan dibuat. Bagian ini terdiri dari property dan value.
Property dapat diisi dengan jenis, warna, ukuran, perataan margin dan lain-lain,
sedangkan value diisi dengan nilai dari propertinya, misalnya red untuk warna dan lain-lain. Setiap akhir penulisan property dan value harus diakhiri dengan titik koma (semicolon). Tanda ini juga digunakan sebagai pemisah antara satu properti dengan properti lain.
2.7J avaScript
JavaScript adalah bahasa script yang berdasar pada objek yang memperbolehkan pemakai untuk mengendalikan banyak aspek interaksi pemakai pada suatu dokumen HTML. Dimana objek tersebut dapat berupa suatu window,
frame, URL, dokumen, form, button atau item yang lain. Yang semuanya itu
mempunyai properti yang saling berhubungan dengannya dan masing-masing memiliki nama, lokasi, warna nilai dan atribut lain.
2.7.1 Menjalankan J avaScript
(word processor) yang menghasilkan file dalam format ASCII murni. Text editor
yang dapat digunakan antara lain Notepad,Wordpad atau menggunakan Ultraedit
text editor. Selain itu browserweb yang digunakan harus mendukung Java Script,
contohnya menggunakan Internet Explorer, Opera, FireFox atau browser lain pendukung JavaScript. Kode program JavaScript dapat dituliskan langsung pada
file HTML dengan menggunakan tag kontainer <SCRIPT>. Dengan kata lain tidak perlu menuliskan program JavaScript pada file terpisah. Ingat bahwa yang dimaksud dengan tag kontainer adalah tag yang diawali dengan <NAMA_TAG> dan diakhiri dengan </NAMA_TAG>. Contoh.
<HTML></HTML> <BODY></BODY> <HEAD></HEAD>
Tag kontainer <SCRIPT> mempunyai dua atribut tetapi yang harus diisikan hanya satu atribut yaitu Language. Isi atribut language dengan “JavaScript”. Hal ini digunakan untuk memberitahukan pada browser bahwa yang akan ditulis adalah JavaScript. Contoh penulisan script
Gambar 2.7 Contoh Penulisan J avaScript
2.8J Query
JQuery adalah salah satu JavaScript framework terbaik saat ini. Jquery dikembangkan oleh John Resig pada tahun 2006 di BarCamp NYC. Pada awal perkembangannya, JQuery pertama dibuat untuk meringkas penggunaan CSS
perintahnya, prefix untuk JQuery dengan tanda $ kemudian dilanjutkan dengan fungsi atau perintah.
2.8.1 Fullcalendar
Fullcalendar adalah salah satu dari plugin Jquery yang menghasilkan kalender lengkap, dan dengan fitur drag & drop. Fullcalendar menggunakan AJAX untuk mengambil acara untuk setiap bulan dan mudah diatur sesuai dengan kebutuhan.
Gambar 2.8 Contoh Fullcalendar
Penggunaan dasar fullcalendar :
Gambar 2.9 Penulisan Plugin dan CSS Fullcalendar
Jika menginginkan untuk dapat melakukan penyeretan atau pengubahan ukuran diperlukan file tambahan yaitu Jquery UI.
- Setelah itu, Tulis kode JavaScript untuk menginisialisasi kalender. Kode dibawah ini harus dijalankan setelah halaman diinisialisasi. Cara terbaik adalah dengan $(document) Jquery, seperti berikut:
Gambar 2.10 Penulisan Inisialisasi Fullcalendar
Kode diatas harus berada di dalam tag <script> di kepala halaman website. Kode bergantung pada adanya element dengan id dari kalender dalam tubuh halaman website. Kalender akan ditempatkan di dalam div seperti berikut:
Gambar 2.11 Penulisan Fullcalendar Pada HTML
Setelah selesai, maka dapat tampil sebuah kalender yang tidak memiliki agenda kegiatan.
2.9CodeIgniter
aplikasi website dengan fitur lengkap. 2.9.1 Keunggulan CodeIgniter:
b) Kinerja yang luar biasa.
c) Mempunyai dokumentasi yang menyeluruh. d) Memiliki kompatibelitas dengan hosting standart. e) Hampir tidak memiliki konfigurasi.
f) Memiliki aturan pengkodean yang tidak ketat. g) Memiliki kesederhanaan untuk sebuah kompleksitas. h) Tidak menghabiskan banyak waktu.
2.9.2 Diagram Alir Aplikasi
Grafik berikut menggambarkan bagaimana data mengalir di seluruh sistem:
Gambar 2.12 Gambar Alur Sistem CodeIgniter
- Index.php berfungsi sebagai controller depan, menginisialisasi sumber daya dasar yang dibutuhkan untuk menjalankan CodeIgniter.
- Router ini mengkaji permintaan HTTP untuk menentukan apa yang harus
dilakukan dengan hal itu.
- Security. Sebelum controller aplikasi dimuat, permintaan HTTP dan setiap pengguna data yang disampaikan disaring untuk keamanan.
- Controller memanggil controller, library inti, helper, dan sumber daya lain
yang diperlukan untuk memproses permintaan khusus.
- Akhirnya View diberikan kemudian dikirim ke web browser untuk dilihat. Jika caching diaktifkan, view adalah cache pertama sehingga pada permintaan berikutnya dapat dilayani.
2.9.3 Petunjuk Instalasi
Berikut adalah petunjuk instalasi untuk menggunakan framework CodeIgniter:
1) Unzip paket.
2) Upload folder CodeIgniter dan file ke server. Biasanya index.php akan berada
di root.
3) Buka file application/config/config.php dengan text editor dan atur URL dasar anda. Jika berniat untuk menggunakan enkripsi atau session, atur kunci enkripsi anda.
4) Jika berniat untuk menggunakan database, buka file
application/config/database.php dengan text editor dan atur setingan
database.
5) Jika ingin meningkatkan keamanan dengan menyembunyikan lokasi file
CodeIgniter, anda dapat mengubah nama folder sistem dan aplikasi sesuai keinginan. Jika mengubah nama folder tersebut, harus membuka file
6) Untuk keamanan terbaik, antara system dan folder aplikasi harus ditempatkan diatas root web sehingga tidak langsung dapat diakses melalui browser. Secara default, file htaccess membantu mencegah akses langsung, tapi yang terbaik adalah menghapusnya dari akses publik sepenuhnya dalam kasus perubahan konfigurasi web server.
7) Setelah dipindahkan, buka index.php dan atur variable $system_folder dan $application_folder, sebaiknya dengan path lengkap, contohnya: ‘www/MyUser/system’.
8) Salah satu tekanan tambahan untuk mengambil lingkungan produksi adalah menonaktifkan pesan kesalahan PHP.
2.10 Database
Database merupakan suatu kumpulan data yang terbagi atas data yang
berhubungan secara logis dan deskripsi, dari data tersebut dirancang untuk memenuhi kebutuhan informasi suatu organisasi (Connolly, 2005).
Dalam suatu file terdapat record-record yang sejenis, sama besar, sama bentuk, merupakan kumpulan entity yang seragam. Satu record terdiri dari
field-field yang berhubungan untuk menunjukkan bahwa field tersebut dalam satu
pengertian yang lengkap dan direkan dalam satu record.
2.10.1 Keuntungan Sistem Database
Beberapa keuntungan jika menggunakan sistem database antara lain:
1. Redudancy (duplikasi data) dapat dikurangi pada sistem database
conventional masing-masing aplikasi yang berbeda mempertahankan file-nya
masing-masing. Sehingga seringkali timbul redundancy dalam sistem
database. Redundancy ini dapat dikurangi dengan cara menyatukan file-file
yang ada.
2. Inconsistency dapat dihindari dengan mengurangi redundancy. Jika
redundancy dapat di hindari, maka inconsistency juga dapat dihindari.
3. Shared data sharing (data dapat dipakai bersama) adalah salah satu
keuntungan yang paling penting dari sistem database, aplikasi-aplikasi yang ada dapat menunjukkan data yang sama, aplikasi-aplikasi yang baru dapat menuju data yang sudah ada.
2.11 MySQL
MySQL termasuk ke dalam Relational Database Management System
(RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General
Public License). MySQL merupakan turunan dari konsep database SQL
(Structured Query Language) untuk pemilihan / seleksi dan pemasukan data yang
memungkinkan pengoperasian data yang dikerjakan dengan mudah secara otomatis.
Adapun keistimewaan database MySQL adalah:
1) Portability : berjalan stabil pada berbagai sistem operasi (Windows,
2) Open source : didistribusikan oleh secara open source (Gratis).
3) Multiuser : dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
4) Performance tunning : memiliki kecepatan yang baik dalam menangani
query sederhana.
5) Coloum types : memiliki kolom yang kompleks, seperti : signed/unsigned
integer, float, double, char, varchar, blob, time, datetime, timestamp, year, set dan enum.
2.12 DFD (Data Flow Diagr am)
2.12.1 Komponen DFD
Menurut Yourdan dan DeMarco
Gambar 2.13 Simbol DFD Your dan dan DeMar co
Menurut Gene dan Serson
Gambar 2.14 Simbol DFD Gene dan Serson
2.12.1.1 Komponen Terminator / Entitas Luar
Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan nama entitas luar (external entity).
Terdapat dua jenis terminator :
1) Terminator Sumber (source) : merupakan terminator yang menjadi sumber. 2) Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan data /
informasi sistem.
2.12.1.2 Komponen Proses
Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output. Pr oses diberi nama untuk menjelaskan proses/kegiatan apa yang sedang/akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja transitif (kata kerja yang membutuhkan objek), seperti Menghitung Gaji, Mencetak KRS, Menghitung Jumlah SKS.
Ada empat kemungkinan yang dapat terjadi dalam proses sehubungan dengan input dan output :
Gambar 2.16 Proses DFD
2.12.1.3 Komponen Data Store
Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak, misalnya Mahasiswa. Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database
yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket,
Suatu data store dihubungkan dengan alur data hanya pada komponen proses, tidak dengan komponen DFD lainnya. Alur data yang menghubungkan data store dengan suatu proses mempunyai pengertian sebagai berikut :
- Alur data dari data store yang berarti sebagai pembacaan atau pengaksesan satu paket tunggal data, lebih dari satu paket data, sebagian dari satu paket tunggal data, atau sebagian dari lebih dari satu paket data untuk suatu proses.
- Alur data ke data store yang berarti sebagai pengupdatean data, seperti menambah satu paket data baru atau lebih, menghapus satu paket atau lebih, atau mengubah/memodifikasi satu paket data atau lebih.
Pada pengertian pertama jelaslah bahwa data store tidak berubah, jika suatu paket data/informasi berpindah dari data store ke suatu proses. Sebaliknya pada pengertian kedua data store berubah sebagai hasil alur yang memasuki data store. Dengan kata lain, proses alur data bertanggung jawab terhadap perubahan yang terjadi pada data store.
2.12.1.4 Komponen Data Flow / Alur Data
Suatu data flow / alur data digambarkan dengan anak panah, yang menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini digunakan untuk menerangkan perpindahan data atau paket data/informasi dari satu bagian sistem ke bagian lainnya.
Selain menunjukkan arah, alur data pada model yang dibuat oleh profesional sistem dapat merepresentasikan bit, karakter, pesan, formulir, bilangan real, dan macam-macam informasi yang berkaitan dengan komputer. Alur data juga dapat merepresentasikan data/informasi yang tidak berkaitan dengan komputer.
Alur data perlu diberi nama sesuai dengan data/informasi yang dimaksud, biasanya pemberian nama pada alur data dilakukan dengan menggunakan kata benda, contohnya Laporan Penjualan.
2.12.2 Diagram Konteks
- Tingkat tertinggi di DFD.
- Mengandung hanya satu proses yang mewakili sistem.
- Proses diberi nomor 0.
- Semua entitas eksternal, serta aliran data utama ditampilkan
2.12.3 Diagram Level 1
- Hasil decompose dari diagram konteks.
- Setiap proses di beri nomor.
- Terdapat tempat penyimpanan data.
- Dimulai dengan aliran data dari entitas di sisi input
Gambar 2.19 Diagr am Level 1
2.13 MVC (Model View Controller)
Arsitektur Controller-View-Controller adalah sebuah pola yang terbukti membangun proyek secara lebih efektif. Hal itu dilakukan dengan memilah komponen antara Controller, View dan Controller pada bagian – bagian dalam proyek.
2.13.1 Model
Pola MVC memiliki layer yang disebut dengan Model yang merepresentasikan data yang digunakan oleh aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya. Dengan memilahnya sebagai bagian terpisah, seperti penampungan data, persistence, serta proses manipulasi, terpisah dari bagian lain aplikasi.
Terdapat beberapa kelebihan dalam pendekatan ini. Pertama, membuat detail dari data dan operasinya dapat ditempatkan pada area yang ditentukan
(Model) dibanding tersebar dalam keseluruhan lingkup aplikasi. Hal ini
memberikan keuntungan dalam proses maintenance aplikasi. Kedua, dengan pemisahan total antara data dengan implementasi interface, komponen Model
dapat digunakan kembali oleh aplikasi lain yang memiliki kegunaan yang hampir sama.
2.13.2 View
Layer ini mengandung keseluruhan detail dari implementasi user
interface. Disini, komponen grafis menyediakan representasi proses internal
aplikasi dan menuntun alur interaksi user terhadap aplikasi. Tidak ada layer lain yang berinteraksi dengan user, hanya View.
Dan juga, memiliki layer View yang terpisah memungkinkan ketersediaan multiple interface dalam aplikasi. Jika inti dari aplikasi terletak pada bagian lain (dalam Controller), multiple interfaces dapat dibuat (Swing, Web, Console),
secara keseluruhan memiliki tampilan yang berbeda namun mengeksekusi komponen Controller sesuai fungsionalitas yang diharapkan.
2.13.3 Controller
Terakhir, arsitektur MVC memiliki layer Controller. Layer ini menyediakan detail alur program dan transisi layer, dan juga bertanggungjawab akan penampungan events yang dibuat oleh user dari View dan melakukan update
terhadap komponen Controller menggunakan data yang dimasukkan oleh user. Kelebihan dalam penggunaan layer Controller secara terpisah : Pertama, dengan menggunakan komponen terpisah untuk menampung detail dari transisi
layer, komponen view dapat didesain tanpa harus memperhatikan bagian lain
secara berlebih. Hal ini memudahkan team pengembang multiple interface bekerja secara terpisah dari yang lain secara simultan. Interaksi antar komponen View
terabstraksi dalam Controller.
Kedua, dengan menggunakan layer terpisah yang melakukan update terhadap komponen Controller, detail tersebut dihapus dari layer presentasi.
Layer presentasi kembali pada fungsi utamanya untuk menampilkan data kepada
user. Detail tentang bagaimana data dari user mengubah ketetapan aplikasi disembunyikan oleh Controller. Hal ini memisahkan dengan jelas antara
Tidak dapat disimpulkan bahwa pola MVC hadir dengan kelebihan – kelebihan tanpa ada efek samping. Pembagian aplikasi dalam 3 bagian terpisah meningkatkan kompleksifitas. Pada aplikasi kecil yang tidak membutuhkan loose
coupling pada Controller, hal ini dapat menjadi blok penghalang dalam
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Pada bab III ini dibahas analisa dan perancangan sistem yang dilakukan dalam pembuatan aplikasi.
3.1Analisis
Dari pengamatan yang telah dilakukan, masih banyak pengelola lapangan yang menggunakan buku sebagai media pencatatan data, baik data jadwal lapangan, data member, maupun data kompetisi. Dan juga dalam pencarian untuk pemesanan lapangan, banyak pelanggan melakukan dengan cara menelpon setiap lapangan dan menanyakan jadwal lapangan yang tersedia.
“Portal Web Futsal Dengan Fitur Sosial Media Menggunakan Framework CodeIgniter” merupakan aplikasi website yang dibangun untuk membantu mempermudah pengguna dan pengelola lapangan futsal dalam mengatur aktifitas-aktifitas yang berhubungan dengan olahraga futsal, contohnya dalam pengelolaan jadwal lapangan dan pengelolaan data kompetisi. Dalam pemesanan lapangan, pengguna dapat melihat jadwal lapangan yang telah disediakan oleh pengelola lapangan.
Gambar 3.2 Alur Pemesanan Lapangan Sistem
3.1.1 Pengguna dan Hak Akses
3.1.1.1Pengguna Umum
Pengguna umum adalah pemain futsal yang mendaftarkan dirinya pada
Website. Pengguna umum dapat melakukan aktifitas-aktifitas antara lain sebagai
berikut:
1) Menambahkan pengguna umum lain sebagai teman, 2) Mengirim pesan kepada pengguna umum lain,
3) Upload foto,
4) Membuat status profil,
5) Memberi rating kepada lapangan futsal, 6) Mengomentari status pengguna umum lain, 7) Membuat tim,
8) Menambahkan anggota tim, 9) Membuat jadwal tim,
10)Mendaftarkan tim menjadi member lapangan, 11)Memesan lapangan member,
12)Menulis pengumuman tim, 13)Mengomentari pengumuman tim,
14)Mendaftarkan tim sebagai peserta kompetisi, 15)Membuat kompetisi,
3.1.1.2Pengelola Lapangan 1) Menambah lapangan,
2) Membuat pengumuman lapangan,
3) Upload foto,
4) Menyetujui member lapangan, 5) Menyetujui pemesanan lapangan, 6) Memesan lapangan kompetisi, 7) Menyetujui peserta kompetisi, 8) Membuat pertandingan, dan 9) Mencatat hasil pertandingan.
3.2Perancangan Sistem
Perancangan sistem adalah desain perancangan yang digunakan untuk membuat aplikasi yang terdiri dari perancangan proses, perancangan database dan perancangan antar muka.
3.2.1 Perancangan Pr oses
Data Flow Diagram (DFD) dapat digunakan sebagai alat perancangan
3.2.2 Perancangan Database
Konsep dasar dari pembuatan suatu aplikasi database adalah merancang relasi antar table dalam database, berikut ini adalah penjelasan dari tabel yang dibuat:
1) Tabel user
Digunakan untuk menyimpan data pengguna umum. Kolom:
a) Iduser : menyimpan id dari user, dan dimasukkan oleh sistem secara
auto increment.
b) Nmuser : menyimpan username yang digunakan dalam proses
login.username ini tidak boleh sama dengan pengguna lain termasuk
juga pengguna gor.
c) Psswrd : menyimpan password pengguna.
d) Nmlngkap : menyimpan nama lengkap dari pengguna. e) Jkel : menyimpan jenis kelamin pengguna.
f) Tgllahir : menyimpan tanggal lahir pengguna. g) Almt : menyimpan alamat pengguna.
h) Telp : menyimpan nomer telepon pengguna. i) Pkrjaan : menyimpan nama pekerjaan pengguna.
j) Statususer : menyimpan status pengguna dengan website. Jika status off, maka pengguna tidak dapat melakukan login.
k) Email : menyimpan email pengguna.
Tabel 3.1 User
2) Tabel statusprofil
Digunakan untuk menyimpan data status profil pengguna umum. Kolom:
a) Idstatus : menyimpan id dari status pengguna, dan dimasukkan oleh sistem dengan cara auto increment.
b) Iduser : menyimpan id dari pengguna yang membuat status. c) Isistatus : menyimpan isi status pengguna.
d) Tglstatus : menyimpan tanggal dibuatnya status pengguna. Tabel 3.2 Statusprofil
3) Tabel komentar
Digunakan untuk menyimpan komentar status profil pengguna umum.
Kolom:
a) Idkomen : menyimpan id komentar pengguna, dan dimasukkan oleh sistem dengan cara auto increment.
b) Idstatus : menyimpan id status yang dikomentari oleh pengguna lain. c) Iduser : menyimpan id pengguna yang mengomentari status.
d) Isikomen : menyimpan isi dari komentar.
e) Tglkomen : menyimpan tanggal dibuatnya komentar.
f) Statuskomentar : status dari komentar yang bias di ubah oleh pemilik status, jika status komentar bernilai off, maka komentar tidak akan tampil.
Tabel 3.3 Komentar
NO Nama Tipe Panjang
4) Tabel fotouser
a) Idfotouser : menyimpan id foto yang di-upload pengguna, dan dimasukkan oleh sistem dengan cara auto increment.
b) Iduser : menyimpan id dari pengguna yang meng-upload foto. c) Nmfotouser : menyimpan nama file dari gambar yang di-upload.
d) Jdlfotouser : menyimpan judul dari foto. e) Ketfotouser : menyimpan keterangan dari foto.
f) Statusfotouser : menyimpan status fotopengguna. Jika status foto pengguna berisi ‘pp’, maka foto tersebut dijadikan foto profil.
g) Tglfotouser : menyimpan tanggal upload foto. Tabel 3.4 Fotouser
NO Nama Tipe Panjang
Digunakan untuk menyimpan pesan yang dikirim maupun pesan yang diterima pengguna umum.
Kolom :
a) Idpesan : menyimpan id dari pesan yang dikirim pengguna. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Iduser : menyimpan id pengguna yang mengirim pesan.
d) Isipesan : menyimpan isi pesan yang dikirim. e) Tglpesan : menyimpan tanggal pengiriman pesan.
f) Viewsend : menyimpan status pesan kepada pengirim, jika status bernilai ‘off’, maka pengirim pesan tidak dapat melihat pesan.
g) Pemberitahuan : menyimpan status pemberitahuan yang di terima, jika status bernilai ‘off’, maka penerima pesan tidak menerima pemberitahuan.
h) Viewreceive : menyimpan status pesan kepada penerima, jika status bernilai ‘off’, maka penerima pesan tidak dapat melihat pesan.
Tabel 3.5 Pesan
NO Nama Tipe Panjang
6) Tabel berteman
Digunakan untuk menyimpan data pertemanan pengguna umum sehingga dapat diketahui siapa saja teman pengguna umum.
Kolom :
b) Use_iduser : menyimpan id pengguna yang diajukan permintaan pertemanan.
c) Status teman : menyimpan status pertemanan, jika status bernilai ‘off’, maka pertemanan belum di setujui oleh pihak yang diajukan pertemanan.
d) Pemberitahuan : menyimpan pemberitahuan kepada pihak yang diajukan pertemanan. Jika bernilai ‘off’, maka pertemanan telah dilihat, sehingga tidak akan muncul pemberitahuan lagi.
e) Tgladd : menyimpan tanggal pengguna mengajukan permintaan pertemanan.
Tabel 3.6 Berteman
NO Nama Tipe Panjang
Digunakan untuk menyimpan data tim yang dibuat oleh pengguna umum.
Kolom :
a) Idtim : menyimpan id dari tim yang dibuat. dan dimasukkan oleh sistem dengan cara auto increment.
d) Tglberdiri : menyimpan tanggal kapan berdirinya tim.
8) Tabel usertim
Digunakan untuk menyimpan data anggota tim. Kolom :
a) Idusertim : menyimpan id anggota tim yang dibuat. dan dimasukkan oleh sistem dengan cara auto increment.
b) Iduser : menyimpan id pengguna yang menjadi anggota tim. c) Idtim : menyimpan id dari tim yang di masuki.
d) Ketua : menyimpan status anggota di tim, jika bernilai ‘y’ maka anggota tersebut adalah pengelola tim.
e) Tglmasuktim : menyimpan tanggal anggota masuk dalam tim.
f) Status : menyimpan status anggota di tim, jika bernilai ‘on’, maka anggota tersebut ada pada tim utama.
Tabel 3.8 Usertim
9) Tabel pengumuman
Digunakan untuk menyimpan data pengumuman yang dibuat oleh pengguna umum untuk tim.
Kolom :
a) Idpengumumantim : menyimpan id dari pengumuman tim. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Idusertim : menyimpan id anggota yang menulis pengumuman. c) Idtim : menyimpan id tim yang ditulis pengumumannya. d) Isipengumumantim : menyimpan isi pengumuman tim.
e) Tglpengumumantim : menyimpan tanggal dibuatnya pengumuman. Tabel 3.9 Pengumuman
NO Nama Tipe Panjang
10)Tabel komenpengumuman
Digunakan untuk menyimpan data komentar pengguna umum terhadap pengumuman tim.
Kolom :
a) Idkomenpen : menyimpan id dari komentar pengumuman. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Idusertim : menyimpan id dari anggota yang melakukan komentar. c) Idpengumumantim : menyimpan id dari pengumuman yang
dikomentari.
d) Isikomenpeng : menyimpan isi dari komentar pengumuman. e) Tglkomenpeng : menyimpan tanggal dibuatnya komentar.
Tabel 3.10 Komenpengumuman
NO Nama Tipe Panjang
11)Tabel fototim
Digunakan untuk menyimpan foto tim yang di-upload pengguna umum untuk tim.
Kolom :
a) Idfototim : menyimpan id dari foto tim. Dan dimasukkan oleh sistem dengan cara auto increment.
c) Nmfototim : menyimpan nama file dari foto tim. d) Jdlfototim : menyimpan judul foto yang di-upload.
e) Ketfototim : menyimpan keterangan foto tim.
f) Statusfototim : menyimpan status foto tim. Jika bernilai ‘pp’, maka foto tim digunakan sebagai foto profil tim.
g) Tglfototim : tanggal upload foto tim.
Tabel 3.11 Fototim
NO Nama Tipe Panjang
12)Tabel jadwaltim
Digunakan untuk menyimpan data acara tim. Kolom :
a) Idjadwaltim : menyimpan id dari jadwal tim. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Idtim : menyimpan id tim yang membuat jadwal.
c) Nmkegiatan : menyimpan nama dari kegiatan yang dibuat. d) Tempatkegiatan : menyimpan nama tempat kegiatan.
h) Tglbuatkegiatan : menyimpan tanggal dibuatnya kegiatan. i) Timezonejadwal : menyimpan zona waktu kegiatan.
Tabel 3.12 J adwaltim
NO Nama Tipe Panjang
5 tglmulaikegiatan datetime ya
6 tglselesaikegiatan datetime ya
7 ketkegiatan text
8 tglbuatkegiatan datetime ya
9 timezonejadwal float ya
13)Tabel gor
Digunakan untuk menyimpan data pengelola lapangan. Kolom
a) Idgor : menyimpan id pengguna gor. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Nmusergor : menyimpan username gor yang digunakan dalam proses
login.username ini tidak boleh sama dengan pengguna lain termasuk
juga pengguna gor.
c) Psswrdgor : menyimpan password yang digunakan untuk login. d) Nmgor : menyimpan nama gor.
e) Tglberdirigor : menyimpan tanggal berdiri gor. f) Almtgor : menyimpan alamat gor.
h) Statusgor : menyimpan status gor pada website. Jika bernilai ‘off’ maka pengguna lapangan tidak dapat login.
i) Tglmasukgor : menyimpan tanggal register gor. j) Emailgor : menyimpan email gor.
k) Jmbuka : menyimpan jam buka gor. l) Jmtutup : menyimpan jam tutup gor.
m) Timezonegor : menyimpan zona waktu gor. Tabel 3.13 Gor
14)Tabel lapangan
Digunakan untuk menyimpan data lapangan yang dibuat oleh penelola lapangan.
Kolom :
a) Idlap : menyimpan id lapangan. Dan dimasukkan oleh sistem dengan cara auto increment.
c) Nmlap : menyimpan nama lapangan. d) Ketlap : menyimpan keterangan lapangan.
Tabel 3.14 Lapangan
NO Nama Tipe Panjang
15)Tabel jadwallap
Digunakan untuk menyimpan data jadwal lapangan yang diisi ketika lapangan dipesan.
Kolom :
a) Idjadwal : menyimpan id jadwal lapangan. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Idlap : menyimpan id lapangan yang mempunyai jadwal. c) Statusbooking : menyimpan status pemesanan lapangan. d) Waktumain : menyimpan waktu awal pemesanan lapangan. e) Waktuselesai : menyimpan waktu selesai pemesanan lapangan.
Tabel 3.15 J adwallap
16)Tabel booking_individu
Digunakan untuk menyimpan data pemesanan lapangan yang dilakukan oleh pengguna umum.
Kolom :
a) Idjadwal : menyimpan id dari jadwal lapangan yang di dipesan. b) Iduser : menyimpan id dari pengguna yang dipesan.
c) Tglbooking : menyimpan tanggal pemesanan lapangan. Tabel 3.16 Booking_individu
NO Nama Tipe Panjang
17)Tabel ratinggor
Digunakan untuk menyimpan data rating lapangan yang diisi oleh pengguna umum.
Kolom :
a) Iduser : menyimpan id dari pengguna yang melakukan penilaian. b) Idgor : menyimpan id gor yang dinilai.
c) Fasilitas : menyimpan nilai dari penilaian fasilitas.
Tabel 3.17 Ratinggor
18)Tabel member
Digunakan untuk menyimpan data member lapangan. Kolom :
a) Idmember : menyimpan id member. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Idtim : menyimpan id dari tim yang mendaftar member. c) Idgor : menyimpan id gor yang dijadikan member. d) Waktudaftar : menyimpan tanggal pendaftaran member.
e) Statusmember : menyimpan status member, jika status ‘off’, maka pihak gor belum mengkonfirmasi pendaftaran.
f) Waktukonfirm : tanggal pihak gor mengkonfirmasi member.
Tabel 3.18 Member
6 waktukonfirm datetime 7 jmljam integer
19)Tabel booking_member
Digunakan untuk menyimpan data pemesanan lapangan yang dilakukan oleh member lapangan.
Kolom :
a) Idmember : menyimpan id member yang melakukan pemesanan lapangan.
b) Idjadwal : menyimpan id jadwal lapangannyang dipesan. c) Tglbookingmember : menyimpan tanggal pemesanan lapangan.
Tabel 3.19 Booking_member
NO Nama Tipe Panjang
3 tglbookingmember datetime ya
20)Tabel fotogor
Kolom :
a) Idfotogor : menyimpan id foto gor. Dan dimasukkan oleh sistem dengan cara auto increment.
b) Idgor : menyimpan id gor yang meng-upload foto. c) Nmfotogor : menyimpan nama file foto.
d) Jdlfotogor : menyimpan judul foto yang di-upload. e) Ketfotogor : menyimpan keterangan foto gor.
f) Statusfotogor : menyimpan status foto gor. Jika status foto bernilai ‘pp’ maka foto tersebut dijadikan foto profil.
g) Tglfotogor : menyimpan tanggal upload foto. Tabel 3.20 Fotogor
NO Nama Tipe Panjang
21)Tabel infolap
Digunakan untuk menyimpan pengumuman yang dibuat oleh pengelola lapangan.
Kolom :
a) Idinfolap : menyimpan id informasi lapangan. Dan dimasukkan oleh sistem dengan cara auto increment.
c) Tglinfolap : menyimpan tanggal pembuatan informasi lapangan. d) Isiinfolap : menyimpan isi informasi lapangan
Tabel 3.21 Infolap
NO Nama Tipe Panjang
22)Tabel kompetisiuser
Digunakan untuk menyimpan data kompetisi yang dibuat oleh pengguna umum.
Kolom :
a) Idkompetisi : menyimpan id kompetisi yang di buat oleh pengguna. b) Iduser : menyimpan id pengguna yang membuat kompetisi.
c) Tglkompuser : menyimpan tanggal pembuatan kompetisi. Tabel 3.22 Kompetisiuser
NO Nama Tipe Panjang
23)Tabel kompetisi