1 APLIKASI INVENTARIS PERANGKAT JARINGAN BERBASIS WEB MENGGUNAKAN PHP DAN MY SQL Disusun Oleh: KARDIANA PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU...
APLIKASI INVENTARIS PERANGKAT JARINGAN BERBASIS WEB MENGGUNAKAN PHP DAN MY SQL
Disusun Oleh: KARDIANA 01502-072
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2009
i
LEMBAR PERSETUJUAN
Nama
: Kardiana
NIM
: 01521-072
Fakultas
: Ilmu Komputer
Program Studi : Teknik Informatika Judul
: Perancangan Aplikasi Inventaris Perangkat Jaringan Berbasis Web
Yang bertanda tangan di bawah ini, menyatakan bahwa Tugas Akhir dari mahasiswa tersebut di atas, disetujui untuk disidangkan dalam sidang Tugas Akhir Program Studi Teknik Informatika. Jakarta, Agustus 2009
Menyetujui,
Andrew Fiade, ST, Mkom Pembimbing Tugas Akhir
Mengesahkan,
Abdusy Syarif, ST, MT Ketua Program Studi Teknik Informatika
Ibu Devi Fitrianah, S.kom, MTI Koordinator Tugas Akhir
ii
LEMBAR PERNYATAAN
Yang bertanda tangan di bawah ini : Nama
: Kardiana
NIM
: 01502-072
Fakultas
: Ilmu Komputer
Program Studi : Teknik Informatika menyatakan bahwa Laporan Tugas Akhir dengan judul : Perancangan Aplikasi Inventaris Perangkat Jaringan Berbasis Web adalah hasil dari penelitian yang dilakukan oleh penulis sendiri, dan bukan merupakan jiplakan, kecuali kutipan-kutipan yang berasal dari sumber-sumber yang tercantum pada Daftar Pustaka.
Jakarta, Agustus 2009
Kardiana
iii
LEMBAR PENGESAHAN
Nama
: Kardiana
NIM
: 01502-072
Fakultas
: Ilmu Komputer
Program Studi : Teknik Informatika Judul
: Membangun Inventaris Pengelolaan Perangkat Jaringan Berbasis Web
Yang bertanda tangan di bawah ini, menyatakan bahwa Laporan Tugas Akhir dari mahasiswa tersebut di atas, telah diuji dan dipresentasikan pada sidang tugas akhir serta telah disetujui dan disahkan sebagai Laporan Tugas Akhir.
Jakarta, Juli 2009 Menyetujui,
Andrew Fiade, ST, Pembimbing Tugas Akhir
Mengesahkan,
Abdusy Syarif, ST, MT Ketua Program Studi Teknik Informatika
Ibu Devi Fitrianah, S.kom, MTI Koordinator Tugas Akhir
iv
ABSTRACT
In the development of the technology so rapidly at this time website is not a matter of foreign and new again. Website or the site can also be defined as a collection of pages that can display information data text, images, animation, sound and video that is both static and dynamic. The writer wants to build an application web based on network management device by using Waterfall metodelogi, the techniques with the mathematical approach and the sequence in the development system of software. In making this aplication the writer using PHP as the programming language, and MY SQL as the database and the Black Box as the end of the test application. With that background the writer will create an application based network management device that functions as a network management tool for employees, especially in the field of IT infrastructure, simplify the network recording device
Keywords: PHP, My SQL,
iii
ABSTRAK
Dewasa ini Website sudah bukan merupakan hal yang asing dan baru lagi. Website atau situs juga dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, gambar, animasi, suara dan video baik yang bersifat statis maupun dinamis. Penulis membangun aplikasi pengelolaan perangkat jaringan berbasis web ini dengan menggunakan metodelogi Waterfall, yaitu teknik dengan pendekatan matematis dan berurutan di dalam pengembangan sistem perangkat lunak. Dalam pembuatan apliksai ini penulis menggunakan PHP seabagai bahasa pemrograman, MY SQL sebagi basis data dan Black Box sebagi pengujian akhir aplikasi. Dengan latar belakang tersebut penulis membuat aplikasi pengelolaan perangkat jaringan berbasis web yang berfungsi sebagai pengelolaan perangkat jaringan untuk karyawan khususnya dibidang IT dalam mempermudah pencatatan perangkat infrastruktur jaringan
Kata kunci : PHP, My SQL,
vii
DAFTAR ISI
Halaman LEMBAR PERSETUJUAN ............................................................................ i LEMBAR PERNYATAAN .............................................................................
KATA PENGANTAR .....................................................................................
v
DAFTAR ISI .................................................................................................... vii DAFTAR GAMBAR .......................................................................................
xi
DAFTAR TABEL ............................................................................................ xv BAB I
3.8 Lingkungan Operasi................................................................ Implementasi Dan Pengujian.......................................................... 79 4.1 Implementasi Aplikasi Inventaris Perangkat Jaringan Berbasis Web...........................................................................
4.2 Tampilan Aplikasi Inventaris Perangkat Jaringan Berbasis Web..........................................................................................
80
4.2.1
Tampilan untuk Halaman Login..................................
80
4.2.2
Halaman Utama Aplikasi............................................
81
4.2.3
Tampilan Halaman List User.......................................
82
4.2.4
Tampilan untuk Halaman List Network....................... 84
4.2.5
Tampilan untuk Halaman List Device Type................ 85
4.2.6
Tampilan untuk Halaman ListManufacturer ..............
87
4.2.7
Tampilan untuk Halaman List Vendor........................
88
4.2.8
Tampilan untuk List Device........................................
90
4.2.9
Tampilan untuk Halaman Device Log......................... 92
4.2.10 Tampilan untuk Halaman Device Optimaze Tables....
93
4.2.11 Tampilan untuk Halaman Browse...............................
95
4.2.12 Tampilan untuk Halaman Device Extract Log............
DAFTAR ACUAN............................................................................................ 130 LISTING PROGRAM...................................................................................... L1
xv
DAFTAR TABEL
Tabel 3.1
Halaman Spesifikasi naratif untuk Use CaseLogin Admin................................. 46
Tabel 3.2
Spesifikasi naratif untuk Use Case Untuk Login user.........................
47
Tabel 3.3
Spesifikasi naratif untuk Use Case Untuk List User..........................
48
Tabel 3.4
Spesifikasi naratif untuk Use Case Untuk List Network.....................
49
Tabel 3.5
Spesifikasi naratif untuk Use Case Untuk List Device Type.............
51
Tabel 3.6
Spesifikasi naratif untuk Use Case Untuk List Manufacturer.............
52
Tabel 3.7
Spesifikasi naratif untuk Use Case List Vendor..................................
53
Tabel 3.8
Spesifikasi naratif untuk Use Case List Device...................................
55
Tabel 3.9
Spesifikasi naratif untuk Use Case Device Log..................................
56
Tabel 3.10 Spesifikasi naratif untuk Use Case Optimze Table………………….
57
Tabel 3.11 Spesifikasi naratif untuk Use Case Browse.........................................
58
Tabel 3.12 Spesifikasi naratif untuk Use Case Device Extract Log......................
60
Tabel 3.13 Perancagan tahap Logis inv_t_UserType............................................
66
Tabel 3.14 Perancagan tahap Logis inv_t_Users..................................................
67
Tabel 3.15 Perancagan tahap Logis inv_t_Network..............................................
68
Tabel 3.16 Perancagan tahap Logis inv_t_Device.................................................
69
Tabel 3.17 Perancagan tahap Logis inv_t_DeviceLogs.........................................
71
Tabel 3.18 Perancagan tahap Logis inv_t_Menus.................................................
72
Tabel 3.19 Perancagan tahap Logis inv_t_Vendor................................................
73
Tabel 3.20 Perancagan tahap Logis inv_t_Manufacturer......................................
74
Tabel 4.1
Skenario Pengujian Proses Penambahan User pada Modul List User......................................................................................................
Tabel 4.2
Skenario Pengujian Proses Penambahan User pada Modul List User......................................................................................................
Skenario Pengujian Proses Penambahan Network pada Modul List Network................................................................................................ 102
Skenario Pengujian Proses Edit Network pada Modul List Network................................................................................................ 104
Tabel 4.7
Skenario Pengujian Proses Penambahan Tipe Device pada Modul List Device Type.................................................................................. 106
Tabel 4.8
Skenario Pengujian Proses Penambahan Tipe Device pada Modul List Device Type.................................................................................. 107
Tabel 4.9
Skenario Pengujian Proses Edit Tipe Device pada Modul List Device Type.........................................................................................
107
Tabel 4.10 Skenario Pengujian Proses Penambahan Manufaktur pada Modul List Manufacturer................................................................................. 108 Tabel 4.11 Skenario Pengujian Proses Penambahan Manufaktur pada Modul List Manufacturer................................................................................. 109 Tabel 4.12 Skenario Pengujian Proses Edit Manufaktur pada Modul List Manufacturer........................................................................................ 109 Tabel 4.13 Skenario Pengujian
Vendor.................................................................................................. 112 Tabel 4.15 Skenario Pengujian Proses Edit Vendor pada Modul List Vendor.................................................................................................. 113 Tabel 4.16 Skenario
Tabel 4.18 Skenario Pengujian Proses Edit Device pada Modul List Device..................................................................................................
119
Tabel 4.19 Skenario Pengujian Penambahan Device Log pad Modul Device Log.......................................................................................................
120
Tabel 4.20 Skenario Pengujian Edit Device Log pad Modul Device Log....................................................................................................... Tabel 4.21 Skenario Pengujian Optimaze Tables pada Modul Optimaze
Tampilan Aplikasi Browse.................................................... Tampilan Aplikasi Device Extract Log................................. Tampilan contoh hasil format Data. Csv dalam MS Excel....
1
BAB I PENDAHULUAN
1.1 Latar Belakang Dewasa ini website sudah bukan merupakan hal yang asing dan baru lagi. Website atau situs juga dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gerak, data animasi, suara, video dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman (hyperlink). Dengan semakin berkembangnya teknologi website tersebut, maka semakin hari semakin banyak pula fasilitas-fasilitas lain yang dituangkan dalam sebuah website. Pada pembahasan karya ilmiah ini penulis mencoba membangun sebuah aplikasi pengelolaan perangkat jaringan yang berbasis web, dimana tidak dipungkiri juga bahwa telah banyak sekali aplikasi-aplikasi seperti ini baik yang sifatnya lisensi ataupun bebas lisensi. Kita tidak memungkiri bahwa aplikasi yang bersifat corporate sangat baik dan begitu pula dengan harga yang mereka tawarkan sangatlah tinggi. Oleh sebab itu penulis mencoba untuk membuat
aplikasi pengelolaan perangkat jaringan
yang memiliki konsep sederhana tetapi dapat mengoptimalkan apa yang menjadi kebutuhan si pengguna yang biasaya jika diterapkan pada sebuah perusahaan, divisi IT yang berwenang.
2
1.2 Identifikasi Masalah Identifikasi masalah dalam membangun Membangun Aplikasi Pengelolaan Perangkat Jaringan berbasis Web antara lain adalah sebagai berikut : 1. Dalam sebuah perusahaan atau instansi yang memiliki banyak komputer client, perangkat jaringan dan printer dan lain-lain, pendataan secara manual oleh user akan memakan waktu yang relatif cukup lama jika dibandingkan dengan pencatatan waktu secara otomatis. 2. Dengan pemanfaatan aplikasi ini diharapkan dapat mengontrol dan mengatur perangkat jaringan secara baik.
1.3 Batasan Masalah Batasan masalah yang akan dibahas dalam pembuatan Aplikasi Pengelolaan Perangkat Jaringan berbasis Web adalah menggunakan PHP sebagai bahasa pemrogramannya dan MYSQL sebagai basis datanya.
1.4 Tujuan Penulisan Maksud dan tujuan dibangunnya aplikasi Aplikasi Pengelolaan Perangkat Jaringan berbasis Web terdiri dari beberapa hal, yaitu : 1.
Maksud Membuat Aplikasi Pengelolaan Perangkat Jaringan berbasis Web dengan
menggunakan PHP sebagai bahasa pemrogramannya dan MYSQL sebagai basis datanya, yang merupakan salah satu bahasa pemrograman dan basis data yang open source dan free ware.
3
2. Tujuan 1. Membuat aplikasi yang nantinya dapat dipergunakan untuk membantu dan mempermudah kerja operator atau IT Support dalam mengelola data-data perangkat jaringan. 2. Membuat aplikasi yang dapat mengontrol dan mengatur perangkat jaringan pada suatu perusahaan atau instansi.
1.5 Metodologi Penulisan 1.5.1
Metode Penelitian Metode penelitian yang digunakan penulis untuk mengumpulkan data-data dan informasi yang diperlukan dalam menyusun Tugas Akhir ini, yaitu : Metode Studi Pustaka Yaitu dengan melakukan studi literatur terhadap buku-buku yang berhubungan dengan bahasa pemrograman PHP, serta penulis mencari data atau informasi yang diperlukan melalui internet baik berupa artikel ataupun tutorial-tutorial.
1.5.2
Metode Pengembangan Perangkat lunak Metode pengembangan perangkat lunak yang digunakan adalah metode waterfall, yaitu teknik dengan pendekatan matematis dan berurutan di dalam pengembangan sistem perangkat lunaknya.
4
1.6 Sistematika Penulisan Tugas Akhir ini dibagi ke dalam 5 ( lima ) bab, pada setiap bab dibagi ke dalam beberapa sub bab yang secara garis besar diuraikan, sebagai berikut : BAB I
: PENDAHULUAN Bab ini Menguraikan tentang latar belakang pembuatan aplikasi, maksud dan tujuan pembuatan aplikasi, ruang lingkup masalah dan identifikasi masalah dalam pembuatan aplikasi.
BAB II
: LANDASAN TEORI Bab ini berisi tentang uraian mengenai berbagai macam teori dan aplikasi dari software pendukung dalam pembuatan aplikasi, seperti teori mengenai PHP, MySQL.
BAB III
: ANALISA PERANCANGAN Menguraikan tentang analisis yaitu meliputi uraian tentang analisis sistem yang dilakukan, perancangan sistem yang meliputi penjelasan dari tahap-tahap merancang sistem dalam pembuatan Aplikasi Pengelolaan Perangkat Jaringan berbasis Web.
BAB IV
: IMPLEMENTASI DAN PENGUJIAN Menguraikan tentang Implementasi
yaitu meliputi kebutuhan
antarmuka eksternal, antarmuka pemakai, antarmuka
perangkat
keras, antarmuka perangkat lunak, antarmuka komunikasi, fungsi produk,
karakteristik pengguna, batasan aplikasi dan lingkungan
operasi. Dan juga menguraikan pengujian perangkat lunak yaitu meliputi lingkungan pengujian, identifikasi dan rencana pengujian dan deskripsi dan hasil uji.
5
BAB V
: KESIMPULAN DAN SARAN Menguraikan tentang kesimpulan dari
keseluruhan pembuatan
dan penulisan laporan Tugas Akhir, saran untuk pengembangan dan perbaikan serta untuk implementasi aplikasi agar berjalan sesuai pada saat pembuatannya.
6
BAB II LANDASAN TEORI
2.1 Pengertian Sistem Informasi Menurut (McLeod 2001:11) sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Suatu organisasi seperti perusahaan atau suatu bidang fungsional cocok dengan definisi ini. Organisasi terdiri dari sejumlah sumber daya, dimana sumber daya tersebut bekerja menuju tercapainya suatu tujuan tertentu yang ditentukan oleh pemilik atau manajemen. Menurut (McLeod 2000:15). data terdiri dari fakta-fakta dan angka-angka yang relatif tidak berarti bagi pemakai. Sebagai contoh, data dapat berupa jumlah jam kerja tiap pegawai dalam perusahaan. Informasi ialah data yang telah diproses, atau data yang memiliki arti.
2.1.1
Perancangan Sistem Informasi Perancangan sistem menurut (Whitten 2004:472). merupakan suatu tugas
yang berfokus pada spesifikasi khusus dari solusi berbasiskan komputer. Perancangan sistem disebut juga perancangan fisik. Analisis sistem menekankan pada masalah bisnis sementara perancangan sistem menekankan pada teknis atau implementasi dari sistem.
7
Perancangan sistem biasanya dilanjutkan dari model logis yang dikembangkan pada analisis model. Secara langsung, perancangan sistem model menjadi blueprint dari konstruksi dan implementasi sistem baru, Salah satu perancangan sistem yang menggunakan model adalah perancangan dengan DFD (Data Flow Diagram). Menurut (Whitten 2004:344). Data Flow Diagram (DFD) ialah model proses yang digunakan untuk menggambarkan aliran dari data melalui sistem dan kerja atau proses yang ditampilkan oleh sistem. Beberapa keuntungan dari data flow diagram ialah hanya terdapat tiga buah simbol dan satu koneksi sehingga mudah untuk dimengerti. Simbol-simbol dan koneksi yang ada di DFD yaitu:
1
2
3
4
Gambar 2.1 Simbol – simbol pada DFD (Whitten 2004:344)
1.
External Entity atau Terminal Merupakan entitas yang berada di luar sistem, yang memberikan data kepada sistem (source) atau yang menerima informasi dari sistem (sink). External Entity tidak termasuk bagian dari sistem.
8
2. Process Menggambarkan apa yang dilakukan oleh sistem. Proses berfungsi mentransformasikan satu atau beberapa data masukan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan. Setiap proses memiliki satu atau beberapa data masukan serta menghasilkan satu atau beberapa data keluaran. Proses sering pula disebut bubble. 3. Data Flow Menggambarkan aliran data dari suatu entity ke entity lainnya. Arah panah menggambarkan arah aliran data. Aliran data bisa terdapat di antara dua proses yang berurutan, dari data store ke proses dan sebaliknya, dari source ke proses, dan dari proses ke sink. 4. Data Store Merupakan tempat menyimpan data. Proses dapat mengambil data dari atau memberikan data ke data store.
2.2
Konsep Dasar Rekayasa Piranti Lunak Dalam merancang suatu aplikasi, perlu diadakan suatu pendekatan
sistematis dalam rekayasa piranti lunak tersebut. Tujuan dari rekayasa piranti lunak adalah untuk menghasilkan piranti lunak yang ekonomis yang dapat diandalkan.
9
2.2.1 Pengertian Piranti Lunak Menurut (Pressman 2001:3). Piranti lunak adalah produk yang dirancang dan dibangun oleh software engineer. Produk itu meliputi program-program yang dijalankan dalam komputer, dokumen-dokumen baik dalam bentuk hard-copy maupun virtual dan data yang mengkombinasikan angka, teks serta meliputi representasi dari informasi gambar, video dan audio. Beberapa karakteristik piranti lunak dibanding dengan produk lain: 1.
Piranti bersifat intangible, kita tidak dapat merasakan bentuk dari piranti lunak dan perancangan dari piranti lunak sulit untuk dibayangkan.
2. Mudah untuk mengembangkan suatu piranti lunak, akan tetapi sulit untuk mengembangkan suatu piranti lunak yang mudah dimengerti dan mudah dimodifikasi. 3. Piranti lunak tidak dapat rusak akan tetapi dapat ketinggalan zaman.
2.2.2
Pengertian Rekayasa Piranti Lunak Tidak semua pengembangan piranti lunak disebut rekayasa piranti lunak,
pengembangan suatu piranti lunak dapat disebut sebagai rekayasa piranti lunak apababila
dalam
serangkaian
proses
pengembangan
tersebut
digunakan
pendekatan yang sistematik dengan memikirkan batasan-batasan seperti batasan biaya, waktu, dan batasan lainnya. Berdasarkan pendapat (Lethbridge 2001:5). rekayasa piranti lunak merupakan suatu proses pemecahan masalah pelanggan dengan pengembangan sistematik dan evolusi dari sistem piranti lunak yang besar, berkualitas tinggi dan memenuhi batasan biaya, waktu serta batasan-batasan lainnya.
10
2.2.3
Proses Rekayasa Piranti Lunak System Development Life Cycle (SDLC) SDLC adalah fase pendekatan untuk analisa dan desain untuk suatu sistem
yang dikembangkan melalui daur tertentu dari analisis dan aktifitas user (Kenneth E. Kendall dan Julie E. Kendall). Model Waterfall merupakan salah satu dari model-model yang terdapat pada penerapan SDLC. Waterfall disebut juga sebagai classic life cycle atau linear sequential model. Model ini memberikan sebuah pendekatan untuk pembangunan perangkat lunak yang sistematis dan berangkaian. Model waterfall pertama kali diajukan oleh (Winston Royce 1989:7).
System Engineer Analysis Design Coding Testing Maintenance
Gambar 2.2 Pendekatan Model Waterfall (Winston Royce 1989:7)
Aktifitas-aktifitas dalam waterfall adalah sebagai berikut: 1.
Tahapan Rekayasa Sistem pada tahapan ini menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak.
11
2.
Tahapan Analisis pada tahap ini dilakukan pengumpulan perangkat lunak. Untuk memahami perangkat lunak yang dibangun, perekayasa perangkat lunak harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan.
3.
Tahapan Perancangan pada tahapan perancangan perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut program yang berbeda; struktur data, arsitek perangkat lunak, representasi antarmuka, dan detail prosedural. Proses desain menerjemahkan kebutuhan kedalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai
pemunculan
kode.
Sebagaimana
persyaratan,
desain
didokumentasikan dan menjadi bagian dari kofigurasi perangkat lunak. 4.
Tahapan Pemograman pada desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca. Langkah pemograman melakukan tugas ini, jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
5.
Tahapan Pengujian sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika didalam perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan diluar fungsi yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa masukan yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
12
6.
Tahapan Pemeliharaan perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk menampung perubahan-perubahan didalam lingkungan luarnya. Pemeliharaan perangkat lunak menerapkan lagi setiap tahap program sebelumnya dan tidak membuat yang baru lagi.
2.3
UML (United Modelling Language) Menurut (Munawar 2005:17) UML adalah salah satu alat bantu yang
sangat handal didunia pengembangan sistem yang berorientasi obyek, dan UML merupakan kesatuan dari bahasa pemprograman yang dikembangkan oleh Booch Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE), Booch sangat terkenal dengan nama metode Design Object Oriented, metode ini menjadikan proses analisis dan desain kedalam 4 tahapan iterative yaitu : 1. Identifikasi kelas – kelas 2. Obyek – obyek identifikasi semantic dari hubungan obyek dan kelas tersebut. 3.
Perincian interface
4. Dan implementasi. Karena UML bisa berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dari sistem dengan demikian semua anggota tim akan mempunyai gambaran yang sama tentang suatu sistem. Dan juga UML bisa berfungsi juga sebagai cetak biru karena, sangat lengkap dan detil dengan cetak biru ini maka
13
akan bisa diketahui informasi detail tentang kode program (Forward Engineering) atau bahkan membaca program dan menginterpretasikannya kembali ke dalam diagram (Reverse Engineering), yang berguna pada situasi dimana
kode program yang tidak terdokumentasi akan dimodifikasi atau
dipelihara. Hal ini bisa terjadi ketika dokumentasi asli hilang atau bahkan belum dibuat sama sekali.
2.3.1
Use case Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif
pengguna, Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Dengan demikian secara singkat bisa dikatakan Use case adalah serangkaian scenario yang digabungkan bersama – sama oleh tujuan umum pengguna. Notasi Use case dapat digambarkan pada gambar dibawah ini:
sistem
Use case
Gambar 2.3 Notasi Use Case (Munawar 2005:19)
14
2.3.2
Colaboration Diagram Menurut (Munawar 2005:101) Colaboration diagram adalah perluasan
dari obyek diagram. Atau obyek diagram menunjukkan obyek – obyek dan hubungannya satu dengan yang lain, untuk menunjukkan sebuah pesan buatlah 2 obyek arah panah menunjukkan obyek yang menerima pesan, label didekat panah menunjukkan pesannya apa, tipikal message meminta kepada obyek yang menerima nya untuk menjalankan salah satu operationnya. Sepasang tanda kurung digunakan untuk mengakhiri message jika ada parameter bisa diletakkan diantara tanda kurung. Antara collaboration diagram dengan sequence diagram bisa saling mengisi dengan demikian pada collaboration diagram kita bisa tambahkan nomor urut pada label sebuah message untuk menunjukkan urutan informasi. Titik dua (:) perlu digunakan untuk memisahkan nomor dengan message. Berikut ini contoh Collaboration diagram untuk order.
Gambar 2.4 Contoh Collaboration Diagram (Munawar 2005:102)
15
2.3.3
Activity Diagram Menurut (Munawar 2005:109) Activity diagram adalah teknik untuk
mendeskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchart tidak bisa. Berikut ini adalah simbol – simbol yang sering digunakan dalam pembuatan Activity Diagram.
Simbol
Keterangan
Simbol
Keterangan
Rake menunjukkan adanya dekomposisi
Titik Awal
Titik Akhir
Tanda waktu
Activity
Tanda pengiriman
Pilihan untuk mengambil keputusan
Tanda penerimaan
Fork Digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel
Aliran akhir (Flow Final)
Tabel 2.1 Simbol-simbol pada Activity Diagram(Munawar 2005:110)
Terima Order
Kirim Invoice
Isi Order
Overnight Delivery
Terima Pembayaran
Regular Delivery
Close Order
16
Gambar 2.5 Contoh activity diagram sederhana (Munawar 2005:111) Contoh sederhana activity diagram bisa dilihat pada Gambar 2.5 yang menjelaskan tentang saat proses penerimaan order, terlihat bahwa pengisian order dan pengiriman invoice terjadi secara paralel. Kondisi paralel jelas membutuhkan sinkronisasi dan order tidak akan ditutup sampai barang dikirim dan dibayar untuk menunjukkan hal tersebut bisa digunakan join sebelum action close order, dengan join aliran keluar hanya akan dilakukan jika aliran kedatangan sampai ke join dengan demikian order hanya bisa ditutup jika pembayaran sudah dilakukan dan pengiriman sudah dilakukan. Node pada activity diagram disebut dengan action bukan activity, activity menunjuk ke urutan action sehingga diagram tersebut menunjukkan activity yang membangun action. Perilaku bersyarat ditunjukkan dengan decision dan merge decision hanya mempunyai satu aliran masuk dan beberapa quard untuk aliran keluar, setiap aliran keluar mempunyai sebuah quard yaitu Boolean yang ditempatkan pada kurung kotak setiap kali mencapai decision hanya bisa mengambil satu keputusan sehingga quard harus mutually exclusive dan penggunaan else sebagai quard menunjukkan bahwa quard yang lain adalah salah.
2.4
Teori Pemodelan Data Menurut (Pressman 2002:354) pemodelan data menjawab serangkaian
pertanyaan spesifik yang relevan dengan berbagai aplikasi pemprosesan data, Metode pemodelan data menggunakan ERD yang akan dijelaskan secara lengkap
17
pada bagian ini memungkinkan perekayasa perangkat lunak mengidentifikasi objek data dan hubungannya dengan menggunakan notasi grafis. Pada konteks analisis terstruktur, ERD menetapkan semua data yang dimasukan, disimpan, ditrasnformasi, dan diproduksi pada suatu aplikasi. Model data terdiri dari tiga informasi yang saling tergantung yaitu: 1. Objek data adalah representasi dari hampir semua informasi gabungan yang harus dipahami oleh perangkat lunak. 2. Atribut menentukan properti suatu objek data dan mengambil salah satu dari tiga karakteristik yang berbeda. 3. Hubungan merupakan objek data disambungkan satu dengan yang lainnya dengan berbagai macam cara.
2.4.1
Entity Relationship Diagram (ERD) Menurut (Peter Chen 77) ERD di gunakan untuk desain sistem database
rasional. Tujuan utama ERD adalah untuk mewakili objek data dan hubungan antar mereka. Notasi-notasi dalam pembuatan Entity Relationship Diagram dapat di gambarkan pada Gambar 2.6.
1. Menyatakan himpunan entitas
2. Menyatakan atribut
3. Menyatakan Relasi
4. Menghubungkan antara himpunan relasi dengan himpunan entitas
Gambar 2.6 Notasi-notasi ERD(Peter Chen 77)
18
Keterangan dari tiap notasi adalah sebagai berikut: 1. Entitas Entitas adalah objek yang mewakili sesuatu yang nyata. Contoh: Mahasiswa. 2. Atribut Atribut merupakan Gambaran ciri-ciri entitas. Contoh: Nim, nama, alamat. 3. Relasi Relasi adalah hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
2.4.2
Kardinalitas Relasi Selain
menggunakan
notasi,
keterhubungan
antar
entititas
juga
menggunakan kardinalitas relasi, dimana definisi dari kardinalitas relasi tersebut menurut (Tillman 93) adalah merupakan spesifikasi dari sejumlah peristiwa dari satu objek yang dapat dihubungkan kesejumlah peristiwa dari objek yang lain. Dan berikut ini adalah jenis-jenis dari kardinalitas relasi: 1. Relasi satu-ke-satu Relasi ini menyatakan bahwa setiap entitas mempunyai hubungan paling banyak satu. Contoh: Satu Orang anak hanya dapat memiliki satu orang ibu kandung.
19
1
ANAK
MEMILIKI
1
IBU KANDUNG
Gambar 2.7 Relasi satu ke satu. 2. Relasi satu-ke-banyak Relasi ini menyatakan bahwa satu entitas mempunyai hubungan dengan banyak entitas, Contoh setiap dosen dapat mengajar lebih dari satu mata kuliah, sedang setiap mata kuliah diajar hanya oleh paling banyak satu orang dosen.
DOSEN
1
MENGAJAR
N
MATA KULIAH
Gambar 2.8 Relasi satu ke banyak.
3. Relasi banyak-ke-banyak Relasi ini menyatakan bahwa banyak entitas dapat berhubungan dengan banyak entitas. Contoh: Banyak Paman memiliki banyak keponakan.
PAMAN
M
MEMILIKI
N
KEPONAKAN
Gambar 2.9 Relasi Banyak ke Banyak
2.5
Pengenalan Database (Basis Data)
20
Menurut
(Kadir
2003:7) Data adalah nilai
(value) yang
turut
merepresentasikan deskripsi dari suatu objek atau kejadian (event). Sedangkan Informasi merupakan hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu event (kejadian-kejadian) yang nyata yang digunakan untuk pengambilan keputusan. Database adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. Database diperlukan karena beberapa hal di antaranya: 1.
Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi.
2. Menentukan kualitas informasi yang akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. 3.
Mengurangi duplikasi data (data redudancy).
4.
Hubungan data dapat ditingkatkan (data relatability).
5. Mengurangi pemborosan tempat simpanan luar.
2.5.1
Proses Perancangan Basis Data Menurut (Kadir 2003:39) Proses perancangan basis data, terlepas dari dari
masalah yang ditangani dibagi menjadi tiga tahapan, yaitu: 1. Perancangan basis data secara konseptual.
21
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 basis 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.5.2
Database Management System Menurut (Kadir 2003:17) Database Management System (DBMS) adalah
sebuah perangkat lunak yang digunakan untuk memasukan, mengubah, menghapus, memanipulasi, dan memperoleh data atau informasi dengan praktis dan efisien. Menurut (Ramakrishnan 2002:9), penggunaan Database Management System memiliki banyak keuntungan, antara lain :
22
1. Independensi data. Program aplikasi sebaiknya tidak menangani semua detail dari representasi dan penyimpanan data. DBMS menyediakan gambaran abstrak dari data dan menyembunyikan detail-detail tersebut. 2. Akses data yang efisien. DBMS menggunakan teknik-teknik khusus untuk menyimpan dan mengambil data secara efisien. 3. Integritas dan keamanan data. Jika data selalu diakses dengan menggunakan DBMS, integritas data akan selalu dipertahankan. DBMS juga dapat menerapkan kontrol akses yang menentukan bagian-bagian data mana yang dapat diakses oleh kelompok pengguna yang berbeda. 4. Administrasi data. Ketika data digunakan bersama-sama, administrasi data yang terpusat dapat memberikan peningkatan yang berarti. Representasi dari data yang ada dapat diatur sedemikian rupa sehingga perulangan data dapat diminimalisasi dan efisiensi pengambilan data dapat ditingkatkan. 5. Akses bersamaan dan pemulihan kegagalan. DBMS dapat mengatur beberapa akses yang terjadi bersamaan sehingga penggunanya merasa bahwa data tersebut hanya diakses oleh satu orang saja. Lebih jauh lagi, DBMS melindungi penggunanya dari dampak kegagalan sistem. 6. Waktu pengembangan aplikasi yang lebih singkat. DBMS mendukung fungsifungsi penting yang dikenal secara umum oleh banyak aplikasi yang mengakses data dalam DBMS tersebut, sehingga aplikasi tersebut tidak perlu menangani detail fungsi tersebut yang akan mempercepat pengembangan aplikasi. Sebuah Database Management System mempunyai tiga komponen (Laudon 2004:224) yaitu :
23
1.
Data Definition Language (DDL) Merupakan bahasa formal yang digunakan oleh para programmer untuk menentukan isi dan struktur dari database. DDL mendefinisikan setiap elemen data yang
tampak dalam database sebelum elemen data tersebut
diterjemahkan kedalam bentuk-bentuk yang dibutuhkan oleh program aplikasi. 2.
Data Manipulation Language (DML) Merupakan bahasa khusus yang dimiliki oleh sebuah DBMS yang digunakan bersamaan dengan bahasa pemrograman konvensional untuk memanipulasi data dalam database. Bahasa ini mengandung perintah-perintah yang mengijinkan pemakai untuk mengambil data dari database untuk memenuhi informasi yang diminta. DML yang paling banyak digunakan pada saat ini adalah SQL atau Structured Query Language.
3. Data Dictionary Data Dictionary adalah file manual atau otomatis yang menyimpan definisi dari elemen data dan karakteristik dari data seperti penggunaan, representasi fisik, kepemilikan, otorisasi dan keamanan.
2.5.3 Normalisasi Menurut (Kadir 2003:65) Normalisasi merupakan sebuah teknik dalam logikal desain sebuah basis data (database), teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Berikut bentuk-bentuk normalisasi : 1.
Normal Pertama (1st Normal Form) Memiliki ketentuan sebagai berikut: a. Mendefinisikan atribut kunci.
24
b. Tidak adanya group berulang. c. Semua atribut bukan kunci tergantung pada atribut kunci 2.
Normalisasi Kedua (2nd Normal Form). Memiliki ketentuan sebagai berikut: a. Sudah memenuhi dalam bentuk normal kesatu. b.
Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.
3.
Normalisasi Ketiga (3rd Normal Form). Memiliki ketentuan sebagai berikut: a. Sudah berada dalam bentuk normal kedua. b.
Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari fungsi dependensi (Function Dependencies), sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus isi dependensi (Multi Valued Dependencies).
2.5.4
Flowchart Menurut (Rademacher dan Gibson 1983:3) Flowchart merupakan metode
yang menggambarkan dalam bentuk skematik aliran data dalam sistem. Notasinotasi flowchart yang dipakai penulis dapat dilihat pada Gambar 2.10.
25
Gambar 2.10 Notasi-notasi dasar flowchart (Rademacher dan Gibson 1983:3).
Berikut penjelasan dari notasi-notasi pada Gambar 2.10: 1. Simbol 1 adalah proses. Mewakili setiap proses yang menyebabkan perubahan pada nilai, bentuk, atau lokasi data. 2. Simbol 2 adalah fungsi masukan/keluaran. Mewakili fungsi dasar dari masukan data ke komputer atau mengeluarkan informasi. 3. Simbol 3 adalah On-page connector. Digunakan untuk mengidentifikasikan titik umum dati jalur dimana hubungan garis tidak dapat digambar karena ruang yang terbatas pada halaman. 4. Simbol 4 adalah Off-page connector. Digunakan untuk menghubungkan aliran logis dari satu halaman ke halaman yang lain. 5. Simbol 5 adalah garis. Digunakan untuk menunjukkan jalur yang diikuti oleh data.
26
6. Simbol 6 adalah dokumen. Digunakan untuk menunjukkan perangkat keluaran. 7. Simbol 7 adalah magnetic tape. Digunakan sebagai perangkat masukan dan keluaran. 8. Simbol 8 adalah On-line storage. Mengindikasikan penggunaan kapasitas perangkat penyimpanan magnetic yang besar, seperti disk, drum, data sel,atau sistem penyimpanan massa. 9. Simbol 9 adalah Magnetic drum. Menunjukkan masukan, keluaran, atau penyimpanan data menggunakan drum. 10. Simbol 10 adalah tampilan. Menunjukkan informasi keluaran dari terminal CRT, poltter, dan sebagainya. 11. Simbol 11 adalah masukan manual. Menandakan penggunaan perangkat keyboard untuk memasukkan data ke komputer. 12. Simbol 12 adalah keputusan. Penanda titik percabangan dalam program. 13. Simbol 13 adalah persiapan. Menandakan modifikasi instruksi untuk merubah program. 14. Simbol 14 adalah Predifined process. Menunjukkan penamaan proses atau operasi atau sekumpulan langkah-langkah program dalam kumpulan flowchart.
Sebagai contoh, fungsi untuk mencari nilai genap pada hasil bagi nilai x dengan angka 2. Jika hasil mendapatkan nilai 0 maka nilai genap di dapatkan jika tidak maka akan kembali ke input data. Gambaran contoh ini dapat dilihat pada gambar 2.11.
27
Mulai
x
Hasil=x div 2
Hasil
Hasil=0
T
Y Selesai
Gambar 2.11 Flowchart mencari nilai genap.
2.5.5
Computer Based Information System
Computer Based Information System adalah Sistem Informasi yang menggunakan komputer dan teknologi informasi untuk melaksanakan beberapa maupun seluruh tugas yang ada (Turban 2001:17). Komponen dasar dari Sistem Informasi adalah sebagai berikut : 1.
Hardware : Seperangkat alat-alat seperti processor, monitor, keyboard, dan printer yang menerima data dan informasi, kemudian memproses data dan informasi tersebut, dan menampilkannya kepada user.
2.
Software : Seperangkat program komputer yang memungkinkan hardware dalam memproses data.
3.
Database : Koleksi dari file-file yang saling berhubungan, record-record, yang menyimpan data dan memiliki asosiasi diantara data-data tersebut.
28
4.
Network : Sistem yang saling berhubungan yang mengijinkan pembagian data antara komputer yang berbeda.
5.
Procedures : Strategi, kebijakan, metode, dan aturan-aturan dalam menggunakan Sistem Informasi.
6.
People : Elemen yang terpenting dalam Sistem Informasi, termasuk orang yang bekerja dengan Sistem Informasi atau menggunakan hasil dari sistem informasi tersebut.
HARDWARE
SOFTWARE
PEOPLE
DATABASE
NETWORK
PROCEDURES
Gambar 2.12 CBIS (Turban 2001:17)
Computer Based Information System (CBIS) memberikan banyak kontribusi yang sangat dibutuhkan bagi manajemen sebuah perusahaan dan saat ini sistem informasi merupakan isu yang paling penting dalam pengendalian manajemen. Hal ini disebabkan karena tujuan dari pengendalian manajemen adalah untuk membantu manajemen dalam mengkoordinasi subunit-subunit dari organisasi dan mengarahkan bagian-bagian tersebut untuk mencapai tujuan perusahaan.
29
Dua hal yang menjadi perhatian dari definisi diatas adalah mengkoordinasi dan mengarahkan. Tentu saja dalam dua proses tersebut diperlukan satu sistem agar proses koordinasi dan pengarahan dapat berjalan secara efektif sehingga tujuan perusahaan dapat tercapai. Manfaat
utama
dari
perkembangan
sistem
informasi
bagi
sistem
pengendalian manajemen adalah : 1.
Penghematan waktu (time saving).
2.
Penghematan biaya (cost saving).
3.
Peningkatan efektivitas (efectiveness).
4.
Pengembangan teknologi (technology development).
5.
Pengembangan personel akuntansi (accounting staff development). Dengan berbagai manfaat dan kontribusi yang diberikan tersebut,
diharapkan bahwa setiap perusahaan dapat bertahan dalam arena kompetisi yang semakin ketat.
2.6 Web Server Web Server merupakan tempat bagi objek-objek web, yang setiap halamannya merupakan pengalamatan dari sebuah URL. Web Server juga implementasi sisi server dari HTTP (Kurose 2003:90). Fungsi dari web server (Kurose 2003:151) antara lain adalah sebagai berikut : 1. Menangani hanya satu HTTP request. 2. Mengakses dan memproses HTTP request.
30
3. Mengambil file yang di request dari sistem file server. 4. Membuat pesan reponse HTTP yang terdiri dari file yang di request yang diproses oleh header lines. 5. Mengirim response secara langsung kepada client. Web Server memproses request untuk mengakses sebuah web page, file, atau sistem yang lain, dimana server berlokasi pada komputer yang sama, pada jaringan yang sama, pada organisasi yang sama, atau pada lokasi remote yang sama pada sebuah internet. Software web server juga seringkali disebut sebagai HTTPD, Hyper Text Transfer Protocol Daemon (Abrams 2001:42).
2.6.1
Web Browse Menurut (Tanenbaum 1996:682) Web Browser adalah halaman-halaman
yang dapat dilihat melalui sebuah program. Menurut Turban (2001:224) Web Browser adalah sebuah program yang dirancang untuk mengambil informasiinformasi yang dapat berupa GIF (Graphics Interchange Format), JPEG (Join Photographic Expert Group) sebagai gambar dan Microsoft WAV sebagai media suaranya. Menurut (Govanus 1999:4) Web Browser adalah client program yang meminta layanan dari sebuah Web Server. Web browser merupakan sebuah user agent untuk web. Web browser menampilkan web page yang di request dan menyediakan sejumlah fitur-fitur navigasi dan konfigurasi. Web browser juga implementasi sisi client dari HTTP (Kurose 2003:89).
31
2.6.2
Hyper Text Transfer Protocol (HTTP) HTTP (Hyper Text Transfer Protocol) adalah standar web transfer
protocol. Setiap interaksi yang terjadi terdiri dari satu ASCII request, yang diikuti dengan response oleh RFC 822 MIME (Tanenbaum 1996:689-690). HTTP merupakan sebuah protocol yang digunakan untuk mentransfer web pages melalui internet (Connolly 2002:949). HTTP mengalami perubahan secara konstan. Beberapa versi sedang digunakan sedangkan versi yang lain sedang dalam pengembangan. Protocol HTTP terdiri dari dua item yang berbeda yaitu : 1. Sekumpulan request dari browser untuk server 2. Sekumpulan response dari server untuk browser
2.7 PHP (Personal Home Page) Menurut (Rafiza, p1) PHP dibuat pada tahun 1994 dan merupakan hasil kerja keras satu orang, Rasmus Lerdorf. Kemudian dilanjutkan oleh orang-orang lain dan telah melewati tiga kali penyusunan ulang secara besar-besaran untuk memberikan hasil produk yang matang seperti yang ada sekarang ini. PHP adalah bahasa pemrograman untuk sisi server yang dirancang secara khusus untuk web. Dalam halaman HTML dapat dimasukkan kode-kode PHP yang akan dijalankan setiap kali halaman tersebut dieksekusi. Kode-kode PHP akan diintrepretasikan pada server web dan menghasilkan HTML atau output lainnya yang akan dilihat oleh pengunjung web.
PHP
32
merupakan produk open source. PHP awalnya berarti Personal Home Page, tetapi kemudian diubah dengan penamaan konvensi rekursif GNU menjadi PHP Hypertext Preprocessor. Beberapa pesaing dari PHP ialah Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP) dan Allaire Cold Fusion. Dalam perbandingan dengan produk-produk tersebut, PHP memiliki beberapa kekuatan termasuk diantaranya ialah : 1. Peforma yang tinggi PHP sangat efisien. Menggunakan sebuah server yang tidak mahal, dapat melayani berjuta-juta permintaan setiap harinya. 2.
Integrasi Database PHP memiliki koneksi yang mengijinkan penggunaan berbagai sistem database. Selain dari koneksi ke MySQL, PHP juga dapat melakukan koneksi langsung ke database PostgreSQL, mSQL, 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 Microsoft.
3. Library yang built-in Karena PHP dirancang utuk 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, terkoneksi dengan layanan jaringan yang lain, mengirim email, dan membuat file PDF, semuanya hanya dengan beberapa baris kode.
33
4. Biaya yang rendah PHP dapat diperoleh secara gratis. PHP dapat di-download kapanpun dari http://www.php.net tanpa biaya. 5. Mudah dipelajari dan digunakan Sintaks dari PHP mangambil dasar bahasa pemograman lain, terutama C dan Perl. Jika telah menguasai C atau Perl atau bahasa sejenis C seperti C++ atau Java, maka dapat dikatakan PHP hampir dapat secara langsung digunakan secara produktif. 6. Portabilitas PHP dapat digunakan pada banyak sistem operasi. 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 dari Microsoft Windows. 7. Ketersediaan Source Code Source code PHP dapat diakses. Tidak seperti produk komersial yang source code-nya tertutup, jika ada sesuatu yang hendak dimodifikasi atau ditambahkan pada PHP, dapat dilakukan secara langsung dan gratis.
Berikut ini adalah contoh script dari PHP. Kode PHP Ini Menggunakan Kode PHP
34
printf("Hari Ini Tgl. : %s ", Date ("d F Y")); ?>
Gambar 2.13 Layout eksekusi script PHP
2.8 SQL Dan MySQL Menurut (Kadir 2003:101) SQL (dibaca "ess-que-el") merupakan kependekan
dari
Structured
Query
Language.
SQL
digunakan
untuk
berkomunikasi dengan sebuah Database, sesuai dengan ANSI, SQL merupakan bahasa standar untuk sistem menajemen database relasional. Statemen SQL digunakan untuk melakukan tugas-tugas seperti melakukan update terhadap database, atau mengambil data dari sebuah database. Namun demikian, perintah standar SQL seperti "Select", "Insert", "Update", "Delete", "Create", dan "Drop" dapat digunakan untuk melakukan hampir semua hal yang perlu dilakukan terhadap sebuah database. Tutorial ini akan mengenalkan kamu pada penggunaan dasar dari perintah tersebut.
35
Kamu bisa praktek dengan menginstal MySQL atau database lain di komputer kamu. (Sunday, 22 October 2006 - Contributed by Prothelord – Last. www.tutorSQL.com). Menurut (Welling and Thomson 2001:3), MySQL (dibaca My-Ess-Que-Ell) adalah Relational Database Management System (RDBMS) yang cepat dan kuat. 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 bersama-sama, menyediakan akses yang cepat dan menjamin hanya user yang memiliki hak yang dapat mengakses. Karena itu MySQL ialah server multi-user, multi-threaded. MySQL menggunakan SQL (Structured Query Language), standar bahasa query database di seluruh dunia. MySQL dipublikasikan sejak 1996, tetapi memiliki sejarah perkembangan dari tahun 1979. MySQL memiliki banyak kekuatan, termasuk didalamnya peforma yang tinggi, biaya yang rendah, mudah dikonfigurasi dan dipelajari, portabilitas dan source code yang tersedia secara umum. Dan berikut ini adalah beberapa kelebihan dari MySQL: 1. Peforma yang tinggi MySQL tidak dapat disangkal lagi cepat. Banyak dari hasil perbandingan menunjukkan bahwa MySQL lebih cepat dari pada para pesaing lainnya. 2. Biaya yang rendah MySQL tersedia tanpa biaya apapun, dibawah lisensi open source, atau biaya yang rendah dibawah lisensi komersial jika diperlukan untuk aplikasi.
36
3. Mudah digunakan Sebagian besar database modern menggunakan SQL. Jika telah menggunakan salah satu RDBMS, tidak akan mengalami kesulitan untuk beradaptasi dengan MySQL. MySQL juga lebih mudah diatur dari pada produk-produk lainnya. 4. Portabilitas MySQL dapat digunakan pada sistem UNIX yang berbeda-beda, juga pada Microsoft Windows. 5.
Ketersediaan Source Code Seperti PHP, kode MySQL dapat diperoleh dan dimodifikasi.
Berikut beberapa contoh penggunaan MYSQL pada Gambar 2.14 adalah tampilan untuk membuat database dengan cara memasukan nama database yang ingin kita buat pada kolom ”Ciptakan database baru” kemudian tekan tombol ”Ciptakan” berikut adalah script SQLnya adalah:
CREATE DATABASE `ujian` ;
Gambar 2.14 Tampilan hasil membuat database Pada gambar 2.15 adalah gambar proses membuat tabel pada database dengan cara memasukan nama tabel yang ingin dibuat pada kolom nama dan isi
37
pada kolom field berapa field yang ingin kita buat berikut ini adalah script SQLnya:
CREATE TABLE `admin`;
Gambar 2.15 Tampilan membuat tabel pada database.
Gambar 2.16 adalah tampilan memasukan nama field – field yang akan dibuat dan berikut ini adalah script SQLnya: CREATE TABLE `admin` ( `admin` VARCHAR( 20 ) NOT NULL , `password` VARCHAR( 20 ) NOT NULL , PRIMARY KEY ( `admin` ) );
Gambar 2.16 Tampilan memasukan nama field didalam database
38
Gambar 2.17 adalah tampilan untuk menghapus field pada tabel yaitu dengan cara memberi tanda chek pada filed yang ingin dihapus lalu tekan tanda silang dan berikut ini adalah script SQLnya:
ALTER
TABLE
`admin`
DROP
`password`
2.17
Tampilan menghapus field pada table
Gambar 2.18 adalah tampilan untuk menyisipkan satu filed diantara filed yang lainnya berikut ini adalah script SQLnya: ALTER
TABLE
`Admin`
ADD
`privillege`
VARCHAR(
8
)
NOT
NULL
AFTER
`password`;
Gambar 2.18 Tampilan menyisipkan satu field diantara field lainnya.
39
2.9 Dreamweaver Menurut (Vita Prihatoni 2005:9) Macromedia Dreamweaver merupakan software yang dikenal sebagai software web authoring tool yaitu software untuk desain dan layout halaman web. Macromedia dreamweaver mulai menunjukkan daya tariknya sejak versi 3 lalu versi 4 dan saat ini memiliki versi terbaru yang disebut Macromedia MX. Versi terbaru dreamweaver ini memiliki kemampuan bukan hanya sebagai software untuk desain web saja tetapi juga untuk editing kode serta pembuatan aplikasi web dengan menggunakan berbagai bahasa pemprograman web seperti: Jsp, PHP, ASP, dan Cold Fusion. Pada saat ini Dreamweaver merupakan Software utama yang digunakan oleh web desaigner maupun web programmer dalam membangun suatu situs web. Hal ini disebabkan ruang kerja, fasilitas dan kemampuan dreamweaver yang mampu meningkatkan produktivitas dan efektivitas dalam desain maupun membangun suatu situs web. Selain fasilitas untuk desain layout halaman web maupun aplikasi database dremweaver juga dilengkapi dengan fasilitas untuk manajemen situs yang cukup lengkap. Berikut ini adalah layout – layout pada dreamweaver : Gambar 2.19 merupakan contoh tampilan jendela dokumen code pada dreamweaver untuk menampilkan kode atau script HTML.
40
Gambar 2.19 Tampilan pada dreamweaver dengan mode tampilan Code.
Pada gambar 2.20 merupakan contoh jendela dokumen design pada dreamweaver dengan berbagai menu yang dapat dipergunakan untuk mendesain tampilan halaman – halaman pada web.
Gambar 2.20 Tampilan pada dreamweaver dengan mode Design.
41
Gambar 2.21 merupakan contoh jendela dokumen split pada dreamweaver. Mode tampilan ini dapat digunakan jika kita ingin menggunakan jendela dokumen desain untuk merancang tampilan halaman web, dan juga menggunakan jendela dokumen kode untuk melakukan kustomisasi dreamweaver jadi kita dapat melihat tampilan jendela dokumen desain dan jendela dokumen kode pada saat yang bersamaan.
Gambar 2.21 Tampilan pada dreamweaver dengan mode Split.
42
BAB III ANALISIS SISTEM
3.1 Identifikasi Permasalahan Pengelolaan perangkat IT pada perkantoran sangat penting dilakukan, dimana dengan adanya pegelolaan ini maka proses pendataan dan manajemen perangkat akan dapat berjalan dengan baik. Biasanya proses pengelolaan perangkat IT baik yang bersifat hardware (Perangkat keras) dan software (perangkat lunak) masih bersifat manual menggunakan media pencatatan buku. Oleh sebab itu penulis mencoba membangun aplikasi sistem pengelolaan jaringan berbasis web yang mempunyai manfaat sebagai berikut: 1. Memberikan kemudahaan pada karyawan khususnya di divisi IT untuk mendata perangkat infrastruktur mereka. 2. Mempermudah pihak divisi IT dalam meningkatkan efisiensi kerja staff IT dalam pengolahan data, dan hasil kerja sistem khususnya dalam bidang pendataan dan pengelolaan perangkat infrastruktur. Pada pengelolaan perangkat jaringan yang masih secara manual pada saat ini masih terdapat banyak ketidak efisiensian seperti: 1. Efisien waktu yang terbuang karena mempersiapkan buku untuk mendata dan mengisinya. 2. Membutuhkan efisien dalam memeriksa pendataan dan pencarian.
43
3.2 Evaluasi dan Penyelesaian Masalah Dari permasalahan tersebut diberikan solusi untuk menyelesaikannya. Penjabaran penyelesaian dijabarkan di bawah ini: 1. Pengelolaan dapat di lakukan pada media komputerisasi dengan menggunakan web site, sehingga untuk staff IT yang pointnya tersimpan dalam database. 2.
Karena media yang digunakan adalah komputer maka lebih efektif dalam memaksimalkan waktu dalam pelaksanaan pendataan.
3. Hak akses staff IT pada aplikasi ini di batasi dengan memberikan username dan password untuk dapat melakukan pendataan. Jika username dan password yang dimasukan sama dengan data pada database maka staff IT itu memiliki akses untuk pelakukan pengelolaan infrastuktur. Dalam melakukan pengujian harus ada kebutuhan sistem yang didasarkan pada sudut pandang pemakai, yaitu: 1. Terdapat bantuan penggunaan. 2. Nama link sesuai dengan proses yang dikerjakan. 3. Hasil dari pengiriman informasi dapat dilihat langsung oleh user. 4. Tampilan setiap objek pada setiap halaman harus sesuai dengan fungsi halamannya.
3.3 Perancangan Aplikasi Berdasarkan pada subbab sebelumnya, penulis membuat sebuah aplikasi menggunakan php dan mysql untuk membuat aplikasi tersebut. Agar aplikasi ini
44
mudah dipahami penulis membuat Diagram Use Case untuk menampilkan fungsionalitas suatu sistem. Collaboration Diagram untuk menggambarkan obyek – obyek dan hubungannya satu dengan yang lain. Diagram aktifitas untuk mengurutkan aktifitas dalam suatu proses.
3.3.1 Use Case Diagram Use case diagram mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar, dan berikut ini adalah use case diagram pada aplikasi ini yang dapat dilihat pada gambar 3.1. List User List Network
Liist Device Type Manufacturer List
<>
List Vendor List Device Device Log
Admin
Login
Optimaze Tables Browse Device ExtracLog <> Browse
User
Device Extract Log
Gambar 3.1 Diagram Use Case Pada gambar 3.1 diagram use case terdapat 2 (dua) administrator yaitu Admin dan User biasa, seperti terlihat pada gambar Admin dapat melakukan
45
semua login baik pengelolaan, pencatatan, penghapusan dan pengeditan terhadap tabel list user, list network, list device type, list manufacturer, list vendor, list device, device log, optimize tables, browse, dan device extract log. Sedangkan untuk user hanya dapat melakukan login browse dan device extract log.
3.3.2 Pemodelan dengan Activity Diagram Dan Spesifikasi Naratif. Activity diagram adalah teknik untuk mendeskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchart tidak bisa mendukung perilaku parallel. Berikut ini adalah activity diagram pada aplikasi ini yang dapat dilihat pada gambar berikut ini: User
Sistem
Mengetik nama URL pada browser Menampilkan halaman login Isi form login
Membaca user id dan password
Melakukan validasi user Tdk valid Valid Tampilkan halaman utama pengelolaan perangkat jaringan
Gambar 3.2 Activity Diagram Untuk Login Admin
46
Tabel 3.1 Spesifikasi naratif untuk Use Case Login admin . Use Case Melakukan login admin . Deskripsi Singkat Use Case ini memungkinkan admin untuk dapat Actor Pre Condotion Aliran Utama
mengakses halaman administrator. Admin Tidak ada 1. Admin mengetik URL pada halaman browser. 2. Kemudian sistem akan menampilkan form login yang terdiri dari nama_user dan password.
3. Admin mengisi nama_user dan password tersebut. 4. Setelah itu sistem akan melakukan validasi apakah benar nama_user dan pasword yang dimasukan valid datanya, jika ya maka sistem akan menampilkan halaman peserta.
Jika
tidak
maka
sistem
menampilkan form login kembali.
User
Sistem
Mengetik nama URL pada browser Menampilkan halaman login Isi form login
Membaca user _id dan password
Melakukan validasi user Tdk valid Valid Menampilkan nama jaringan dan mencetak laporan pada Data csv
Gambar 3.3 Activity Diagram Untuk Login User Tabel 3.2 Spesifikasi naratif untuk Use Case Untuk Login user
akan
47
Use Case
Melakukan login user.
Deskripsi
Use Case ini memungkinkan user untuk dapat mengakses
Singkat
halaman utama.
Actor Pre Condition Aliran Utama
User Tidak ada. 1. User mengetik URL pada halaman browser.
2. Kemudian sistem akan menampilkan form login yang terdiri dari nama_user dan password.
3. user mengisi nama_user dan password tersebut. 4. Setelah itu sistem akan melakukan validasi apakah benar nama_user dan pasword yang dimasukan valid datanya, jika ya maka sistem akan menampilkan halaman user. Jika tidak maka sistem akan menampilkan form login Post Condition
kembali. Data user tersimpan pada database.
48
User
Melakukan klik pada link user list
Sistem
Menampilkan halaman user manajemen
Melakukan klik tombol add
Mengisi form data user dan menekan tombol add
Menampilkan form isi data user
Memeriksa apakah user id sudah pernah terdaftr atau belum pernah Tdk pernah pernah
Simpan pada inv_t_user
Menampilkan tabel data user
Menampilkan pesan user_id pernah mendaftar
Gambar 3.4 Activity Diagram List User. Tabel 3.3 Spesifikasi naratif untuk Use Case Untuk List User Use Case
Melakukan List User.
Deskripsi
Use Case memungkinkan untuk dapat mengakses halaman
Singkat Actor Pre Condition Aliran Utama
user list dan mencatat user baru dengan mengklik tombol add. Admin. Tidak ada. 1. Admin melakukan klik pada link list user.
2. Kemudian sistem akan menampilkan halaman user manajemen dan mengklik add.
3. Admin mengisi tabel user baru dengan data yang diminta. 4. Setelah itu sistem akan menerima data user dan memeriksa pada tabel inv_t_ListUser apakah sudah pernah atau belum melakukan account sebelumnya, jika sudah pernah mendaftarkan maka sistem akan menampilkan pesan ”User_id pernah mendaftar”.dan kemudian user mengklik link user list kembali, dan apabila user belum pernah melakukan pendaftaran maka data user akan disimpan
49
pada tabel inv_t_Users. Menampilkan tabel inv_t_Users.
Post Condition
User
Sistem
Melakukan klik pada link NetworkList
Menampilkan halaman Network manajemen
Melakukan klik tombol add Mengisi form data network dan menekan tombol add
Menampilkan form isi data network Memeriksa apakah network code sudah pernah terdaftar atau belum Tdk pernah pernah
Simpan pada inv_t_network code
Menampilkan tabel data network code
Menampilkan pesan network code pernah terdaftar
Gambar 3.5 Activity Diagram List Network . Tabel 3.4 Spesifikasi naratif untuk Use Case Untuk List Network Use Case
Melakukan pendaftaran list network.
Deskripsi
Use Case memungkinkan user untuk dapat mengakses
Singkat
halaman network list dan mencatat network baru dengan
Actor Pre Condition Aliran Utama
mengklik tombol add. Admin Tidak ada. 1. Admin melakukan klik pada link list network. 2. Kemudian sistem akan menampilkan halaman network manajemen dan mengklik add.
3. Admin mengisi tabel network dengan data yang diminta. 4. Setelah itu sistem akan menerima data network dan memeriksa pada tabel inv_t_ListNetwork apakah sudah
50
pernah atau belum melakukan pendaftaran sebelumnya, jika sudah pernah mendaftarkan maka sistem akan menampilkan pesan ”Network pernah mendaftar”.dan kemudian admin mengklik link list network kembali, dan apabila admin belum pernah melakukan pendaftaran maka data Post Condition
network
akan
disimpan
pada
tabel
inv_t_ListNetwork. Menampilkan tabel data inv_t_ListNetwork.
User
Melakukan klik pada link Device Type List Melakukan klik tombol add
Mengisi form data device type list dan menekan tombol add
Sistem
Menampilkan halaman device type list manajemen
Menampilkan form isi data device type list Memeriksa apakah device type sudah pernah terdaftar atau belum Tdk pernah pernah
Simpan pada inv_t_DeviceTypeList
Menampilkan tabel data DeviceTypeList
Menampilkan pesan DeviceType pernah terdaftar
Gambar 3.6 Activity Diagram List Device Type Tabel 3.5 Spesifikasi naratif untuk Use Case Untuk List Device Type Use Case
Melakukan pendaftaran list device type.
Deskripsi
Use Case memungkinkan admin untuk dapat mengakses
Singkat
halaman device type list dan mencatat device list dengan
Actor
mengklik tombol add. Admin
51
Pre Condition Aliran Utama
Tidak ada. 1. Admin melakukan klik pada link list device type.
2. Kemudian sistem akan menampilkan halaman list device type manajemen dan mengklik add.
3. Admin mengisi list device type. 4. Setelah itu sistem akan menerima data device type dan memeriksa pada tabel inv_t_ListDevice apakah sudah pernah atau belum melakukan pendaftaran sebelumnya, jika sudah pernah mendaftaran maka sistem akan menampilkan pesan ”device type sudah terdaftar”.dan kemudian Admin mengklik link list device type kembali, apabila Admin belum pernah melakukan pendaftaran maka data Post Condition
device
type
akan
disimpan
pada
inv_t_ListDeviceType. Menampilkan tabel data inv_t_ListDeviceType.
tabel
52
SISTEM
USER
Menampilkan halaman manufacture list manajemen
Melakukan klik pada link Manufactures List Melakukan klik tombol add
Menampilkan form isi data manufacture list
Mengisi form data manufacture list dan menekan tombol add
Memeriksa apakah manufacture sudah pernah terdaftar atau belum Tdk pernah pernah
Simpan pada inv_t_Manufactur e List
Menampilkan tabel data Manufacture List
Menampilkan pesan Manufacture pernah terdaftar
Gambar 3.7 Activity Diagram List Manufacturer Tabel 3.6 Spesifikasi naratif untuk Use Case Untuk List Manufacturer Use Case
Melakukan pendaftaran List manufacturer.
Deskripsi
Use Case memungkinka admin untuk dapat mengakses
Singkat
halaman manufacturer list dan mencatat manufacturer dengan
Actor Pre Condition Aliran Utama
mengklik tombol add. Admin Tidak ada. 1. Admin melakukan klik pada link list manufacturer. 2. Kemudian
sistem
akan
menampilkan
halaman
manufacturer manajemen dan mengklik add.
3. Admin mengisi tabel list manufacturer. 4. Setelah itu sistem akan menerima data manufacturer dan memeriksa pada tabel inv_t_ListManufacture apakah sudah
pernah
atau
belum
melakukan
pendaftaran
sebelumnya, jika sudah pernah mendaftar maka sistem akan
menampilkan
pesan
”manufacturer
sudah
53
terdaftar”.dan
kemudian
Admin
mengklik
link
manufacturer list kembali, dan apabila Admin belum pernah melakukan pendaftaran maka data manufacturer Post Condition
akan disimpan pada tabel inv_t_ListManufacturer. Menampilkan tabel data inv_t_ListManufacturer.
User
Sistem
Menampilkan halaman vendor list manajemen
Melakukan klik pada link Vendor List Melakukan klik tombol add
Mengisi form data vendor list dan menekan tombol add
Menampilkan form isi data vendor list
Memeriksa apakah vendor sudah pernah terdaftar atau belum Tdk pernah pernah
Simpan pada inv_t_vendor list
Menampilkan tabel data vendor List
Menampilkan pesan vendor pernah terdaftar
Gambar 3.8 Activity Diagram List Vendor
Tabel 3.7 Spesifikasi naratif untuk Use Case List Vendor Use Case
Melakukan pendaftaran list.vendor.
Deskripsi
Use Case memungkinkan admin untuk dapat mengakses
Singkat
halaman vendor list dan mencatat vendor dengan mengklik
Actor Pre Condition Aliran Utama
tombol add. Admin Tidak ada. 1. Admin melakukan klik pada link list.manufacture. 2. Kemudian
sistem
akan
menampilkan
manufacture manajemen dan mengklik add.
halaman
54
3. Admin mengisi vendor list.
4. Setelah itu sistem akan menerima datavendor dan memeriksa pada tabel inv_t_ListVendor apakah sudah pernah atau belum melakukan pendaftaran sebelumnya, jika sudah pernah mendaftaran maka sistem akan menampilkan
pesan
”vendor
sudah
terdaftar”.dan
kemudian Admin mengklik link vendor list kembali, dan apabila Admin belum pernah melakukan pendaftaran maka data vendor akan disimpan pada tabel. Menampilkan tabel data inv_t_ListVendor.
Post Condition
User
Melakukan klik pada link DeviceList
Sistem
Menampilkan halaman DeviceList manajemen
Melakukan klik tombol add
Mengisi form data Device dan menekan tombol add
Menampilkan form isi data DeviceList
Memeriksa apakah Device code sudah pernah terdaftar atau belum Tdk pernah pernah
Simpan pada inv_t_Device code
Menampilkan tabel data Device code
Menampilkan pesan DeviceList pernah terdaftar
Gambar 3.9 Activity Diagram List Device Tabel 3.8 Spesifikasi naratif untuk Use Case List Device Use Case
Melakukan pendaftaran list device.
Deskripsi
Use Case memungkinkan admin untuk dapat mengakses
Singkat
halaman device list dan mencatat device dengan mengklik
Actor Pre Condition Aliran Utama
tombol add. Admin Tidak ada. 1. Admin melakukan klik pada link list device.
55
2. Kemudian sistem akan menampilkan halaman device manajemen dan mengklik add.
3. Admin mengisi list device. 4. Setelah itu sistem akan menerima data perangkat dan memeriksa pada tabel inv_t_ListDevice apakah sudah pernah atau belum melakukan pendaftaran sebelumnya, jika sudah pernah mendaftaran maka sistem akan menampilkan
pesan
”device
sudah
terdaftar”.dan
kemudian Admin mengklik link device list kembali, dan apabila Admin belum pernah melakukan pendaftaran maka data Post Condition
perangkat
akan
disimpan
pada
tabel
inv_t_ListDevice. Menampilkan Data perangkat yang telah dikelola disimpan pada database.
User
Sistem
Melakukan klik pada link DeviceLog
Menampilkan halaman DeviceLog manajemen
Melakukan klik tombol add
Mengisi form data DeviceLog dan menekan tombol add
Menampilkan form isi data DeviceLog Memeriksa apakah DeviceLog code sudah pernah terdaftar atau belum Tdk pernah pernah
Simpan pada inv_t_DeviceLog
Menampilkan tabel data Device log
Menampilkan pesan DeviceLog pernah terdaftar
Gambar 3.10 Activity Diagram Device Log Tabel 3.9 Spesifikasi naratif untuk Use Case Device Log
56
Use Case
Melakukan pendaftaran device log.
Deskripsi
Use Case memungkinkan admin untuk dapat mengakses
Singkat
halaman device log dan mencatat device log dengan mengklik
Actor Pre Condition Aliran Utama
tombol add. Admin Tidak ada. 1. Admin melakukan klik pada link device log. 2. Kemudian sistem akan menampilkan halaman device manajemen dan mengklik add.
3. Admin mengisi device log. 4. Setelah itu sistem akan menerima data perangkat dan memeriksa pada tabel inv_t_DeviceLog apakah sudah pernah atau belum melakukan pendaftaran sebelumnya, jika sudah pernah mendaftaran maka sistem akan menampilkan pesan ”device log sudah terdaftar”.dan kemudian Admin mengklik link device log kembali, dan apabila Admin belum pernah melakukan pendaftaran maka datadevice Post Condition
log
akan
disimpan
pada
tabel
inv_t_DeviceLog. Menampilkan Data device log yang telah dikelola disimpan pada database
57
USER
Melakukan klik pada link Optimaze table
SISTEM
Menampilkan status optimaze table
Menampilkan tabel data Manufacture List
Gambar 3.11 Activity Diagram Optimaze Table Tabel 3.10 Spesifikasi naratif untuk Use Case Optimaze Table Use Case
Melakukan klik pada link Optimaze table.
Deskripsi
Use Case memungkinkan admin untuk dapat menampilka
Singkat Actor Pre Condition Aliran Utama
status optimaze table. Admin Tidak ada. 1. Admin melakukan klik pada link optimaze table. 2. Kemudian sistem akan menampilkan status optimaze
Melakukan klik Network Name Menampilkan halaman Device Type Melakukan klik Device Type Menampilkan MFG Name Melakukan klik MFG Name Menampilkan halaman Device Name Melakukan klik Device Name Menampilkan halaman detail informasi perangkat Melakukan klik Modify Simpan di database
tdk ya
Gambar 3.12 Activity Diagram Browse
Tabel 3.11 Spesifikasi naratif untuk Use Case Browse Use Case
Melakukan pengupdetan perangkat dengan metode pencarian.
Deskripsi Singkat
Use Case memungkinkan admin untuk dapat mengupdate perangkat
59
Actor Pre Condition Aliran Utama
Admin Tidak ada. 1. Admin melakukan klik pada link browse. 2. Kemudian sistem akan menampilkan halaman browse 3. Admin melakukan klik Network Name. 4. Kemudian sistem menampilkan Device Type 5. Admin melakukan klik Device Type List 6. Kemudian sistem menampilkan MFG Name 7. Admin melakukan klik MFG Name 8. Kemudian sistem menampilkan Device Name 9. Admin melakukan klik Device Name
Post Condition
10. Sistem menampilkan detail informasi perangkat. Data perangkat diperbaharui dan disimpan pada database
60
User
Sistem
Melakukan klik pada link Device Log Extract
Melakukan proses extract
Tekan tombol ok Menyimpan di lokal disk tidak Ya
Gambar 3.13 Activity Diagram Device Extract Log Tabel 3.12 Spesifikasi naratif untuk Use Case Device Extract Log Use Case
Melakukan penyimpaanan report ke lokal disk dalam format Data csv.
Deskripsi Singkat
Use Case memungkinkan admin untuk dapat penyimpan
Actor Pre Condition Aliran Utama
report Admin Tidak ada. 1. Admin melakukan klik pada link Device Log.
2. Kemudian sistem akan menampilkan halaman Device Log. 3. Sistem melakukan pengkonversian data ke format Data csv. Post Condition
4. user menekan tombol ok Data report tersimpan dilokal disk
3.4 Pemodelan Diagram Sequence Diagram sequence menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang
61
digambarkan terhadap waktu. Diagram sequence terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Diagram sequence biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang mentrigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
62
Login
List User
List type device
List network
admin
List manufacture
List vendor
List device
Divice log
Optimze tables
Browes
Divice extract log
Log out
Isi pssword Berhasil login Melakukan pengiputan data dan modifikasi Display mengatur list user Melakukan pegaturan list network Display mengatur list network Melakukan pegaturan list Type device Display mengatur list type device Melakukan pegaturan list manufacture Display mengatur list manufacture Melakukan pegaturan list vendor Display mengatur list vendor Melakukan pegaturan list divice Display mengatur list device Melakukan pegaturan list divice log Display mengatur livice log Melakukan pegaturan list optimaze
Display mengatur list optimaze table Melakukan pegaturan list browes
Display mengatur lbrowes Melakukan pegaturan llist divices extract log Display mengatur list mDivice extract log
Menu Log Out keluar
Gambar 3.14 Diagram sequence Administrator Admin harus melakukan login terlebih dahulu dengan memasukkan data nama pengguna (user name) dan kata sandi (password). Setelah itu dilakukan verifikasi atas data user name dan password yang dimasukkan tadi, apakah sama dengan data user name dan password yang terdapat pada basis data. Jika datanya sama
63
maka admin mendapatkan status atau pesan user valid, barulah pengguna (admin) masuk kedalam menu administrator untuk melakukan pengaturan yang diantaranya menu kategori, list user, list network, list device type, list manufacturer, list vendor, list device, device log, optimaze table, browse, device extract log, dan log out.
Login
Divice extract log
Browse
user
Log out
Isi pssword Berhasil login Melakukan pengiputan data dan modifikasi Display mengatur list user
Melakukan pegaturan llist divices extract log Display mengatur list Divice extract log Menu Log Out keluar
Gambar 3.15 Diagram sequence user
User harus melakukan login terlebih dahulu dengan memasukkan data nama pengguna (user name) dan kata sandi (password). Setelah itu dilakukan verifikasi atas data user name dan password yang dimasukkan tadi, apakah sama dengan data user name dan password yang terdapat pada basis data. Jika datanya sama maka admin mendapatkan status atau pesan user valid, barulah pengguna (user) masuk kedalam menu aplikasi untuk melakukan pengupdetan perangkat dengan metode pencarian dan pencetakan laporan dalam format data cvs dalam MS Excel.
64
3.5 Perancangan Basis Data Pada Aplikasi Dalam subbab sebelumnya membahas tentang use case dan activity diagram, maka subbab ini menbahas tentang perancangan basis data. Tujuan dari rancangan basis data adalah diperolehnya basis data yang efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah untuk memanipulasi data serta bebas dari redudansi data. Untuk memperoleh basis data yang efektif dan efisien, diperlukan kombinasi cara pendekatan dengan pendekatan model ERD ( Entity Relationship Diagram ).
3.5.1 Diagram ERD ( Entity Relationship Diagram ) Pada aplikasi pengelolaan perangkat jaringan ini terdapat 9 tabel keterhubungan antara entitas yaitu entitas inv_t_UserType, entitas inv_t_Users, entitas inv_t_Device, entitas inv_t_DeviceLog, entitas inv_t_DeviceType, entitas inv_t_Vendor, entitas inv_t_Network, entitas inv_t_Manufacturer, entitas inv_t_Menus yang dapat dilihat pada gambar 3.15 di bawah ini.
NetworkCode NetwokName Description UserLastUpdate Active LastUpdateDate
Inv_t_manufacturer
MFGCode MFGName MFGSupportTelephone MFGWeb Active UserLastUpdateDated LastUpdateDate
Gambar 3.16 Diagram Keterhubungan Antar Entitas
Pada Gambar 3.15 entitas inv_t_UserType dengan entitas inv_t_Users memiliki derajat relasi minimum 1:M, dimana tabel inv_t_ UserType memilki primary key UserTypeCode dan tabel inv_t_User memilki primary key UserId. Entitas inv_t_Device memilki derajat relasi M:1 dengan entitas inv_t_User dan entitas inv_t_Manufacture, dimana inv_t_Device memilki primary key DeviceCode, inv_t_User memilki primary key UserId, dan inv_t_Manufacture memilki primary key MFGCode. Dimana inv_t_Device juga memilki derajat relasi M:M terhadap entitas inv_t_DeviceType dan inv_t_Vendor yang masing-
66
masing entitas memilki primary key DeviceTypeCode pada inv_t DeviceType dan MFGCode pada inv_t_Vendor. Entitas
inv_t_Device
juga
memilki
derajat
relasi
1:M
terhadap
inv_t_DeviceLogs dan inv_t_Network dimana inv_t_ DeviceLogs memilki primary key ID dan inv_t_Network memilki primary key NetworkCode. Entitas inv_t_DeviceLogs dan inv_t_Menus memiliki derajat relasi 1:M memiliki primary key DeviceTypeCode.
3.5.2 Relasi Antar Tabel Bentuk relasi antar tabel berdasarkan diagram hubungan entitas dapat dilihat pada gambar 3.16 di bawah ini:
inv_t_usertype PK
U serTypeC ode Description
inv_t_Users PK
U ser _ID Password UserName EMail UserType Active inv_t_network PK
N etworkcode NetworkName Description UserLastUpdate Active LastUpdateDate inv_t_devicelogs inv_t_device
PK
D eviceC ode DeviceName Networkcode UserLastUpadate VendorCode MFGCode DeviceTypeCode
PK
ID
inv_t_vendor PK
MFGC ode MFGName MFGSupportTelephone MFGWeb Active UserLastUpdated LastUpdateDate
VendorC ode VendorName Telephone Address Active UserLastUpdated LastUpdateDate
D eviceTypeC ode Description UserLastUpdated LastUpdatedDate
Gambar 3.17 Relasi antar Tabel
ID Title HyperLink DisplaySequence Active
67
3.5.3 Perancangan Basis Data secara Konseptual, Logis dan Fisis Spesifikasi basis data yang akan memberikan penjelasan secara detail tentang masing-masing basis data yang digunakan dalam sistem ini dimana pada aplikasi ini menggunakan 1 buah database dan 9 (sembilan) tabel. Berikut penjabaran dari masing-masing database dan tabel: 1. inv_t_UserType tahap konseptual. Entitas UserType memiliki 2 buah atribute yang di gunakan yaitu : UserTypeCode dan Description. Nama file Isi
: inv_t_UserType : Digunakan untuk menyimpan tipe user
Primary Key : UserTypeCode Tabel 3.13 Perancangan tahap Logis pada inv_t_UserType. Field UserTypeCode Description
Jenis Varchar Vachar
Ukuran 1 15
Keterangan Kode untuk tipe user Keterangan tipe user
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_usertype` ( `UserTypeCode` varchar(1) NOT NULL, `Description` varchar(15) default NULL, PRIMARY KEY (`UserTypeCode`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
2. inv_t_Users tahap konseptual. Pada entitas inv_t_Users mamiliki 6 buah attribute yaitu: UserId, Password, UserName, Email, UserType, dan Active. Nama file
: inv_t_Users
68
Isi
: Di gunakan untuk menyimpan biodata dan kode akses user
Primary Key: UserId. Tabel 3.14 Perancangan tahap Logis pada inv_t_Users. Field UserId Passowrd Username Email UserType Active
Jenis varchar varchar varchar varchar char char
Ukuran 20 20 50 50 1 1
Keterangan Kode User Kata sandi Username User Email user Tipe user Aktivasi user
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_users` ( `UserID` varchar(20) NOT NULL, `Password` varchar(20) default NULL, `UserName` varchar(50) default NULL, `EMail` varchar(50) default NULL, `UserType` char(1) default NULL, `Active` char(1) default NULL, PRIMARY KEY
(`UserID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
3. inv_t_Network tahap konseptual Pada Entitas network memiliki 6 buah atribut yaitu : NetworkCode, NetworkName, Description, UserLastUpdated, Active, LastUpdateDate. Nama file
: inv_t_Network
Isi
: Digunakan untuk menyimpan data Jaringan.
Primary key : NetworkCode Tabel 3.15 Perancangan tahap Logis pada inv_t_Network.
69
Field NetworkCode NetworkName Description
Jenis Varchar Varchar Varchar Varchar
USerLastUdated Active
Ukuran 20 100 255 20
Char
Datetime
LastUpdateDate
Keterangan Kode Jaringan Nama Jaringan Keterangan User terakhir kali mengupdate Aktivasi Tanggal terakhir kali update
1 0
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_network` ( `NetworkCode` varchar(20) NOT NULL, `NetworkName` varchar(100) default NULL, `Description` varchar(255) default NULL, `UserLastUpdated` varchar(20) default NULL, `Active` char(1) default NULL, `LastUpdatedDate` datetime default NULL, PRIMARY KEY (`NetworkCode`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
4. inv_t_Device tahap konseptual Pada Entitas inv_t_Device memiliki 20 buah atribut yaitu : DeviceCode, DeviceNamPortsUsee,
Kode perangkat yang akan didaftarkan. Nama perangkat yang akan didaftarkan Nomor serial perangkat Keterangan perangkat Alamat IP Alamat Gateway Port yang digunakan Tanggal pembelian peragkat Versi Firmware Komentar Tanggal habis masa aktif perangkat Jangka waktu garansi perangkat Menyimpan data user Tanggal user terakhir kali mengupdate perangkat Aktivasi perangkat Kode device Kode manufaktur Kode Jaringan Kode Vendor
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_device` ( `DeviceCode` varchar(20) NOT NULL, `DeviceName` varchar(100) default NULL, `SerialNumber` varchar(100) default NULL, `DeviceDescription` varchar(100) default NULL, `IPAddress` varchar(25) default NULL, `DefaultGateway` varchar(25) default NULL, `PortsUsed` varchar(100) default NULL, `Dateofpurchase` date default NULL, `Firmwareversion` varchar(100) default NULL, `Comments` varchar(255) default NULL, `Datetakenoffline` date default NULL, `WarrantyLength` varchar(10) default NULL,
5. inv_t_DeviceLogs tahap konseptual. Pada Entitas DeviceLogs memiliki 5 buah atribut yaitu : ID, DeviceCode, Comments, UserLastUpdated, LastUpdateDate. Nama file
: inv_t_DeviceLogs
Isi
: Digunakan untuk menyimpan informasi tanggal akses user
login dan nama user. Primary key : DeviceLogs
Tabel 3.17 Perancangan tahap Logis pada inv_t_DeviceLogs. Field ID
DeviceCode Comments USerLastUdated LastUpdateDate
Jenis
Ukuran
Integer Varchar Varchar Varchar
8 20 255 20
date time
Keterangan Identitas Log Kode perangkat Komentar User terakhir kali update Tanggal terakir kali update
72
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_devicelogs` ( `ID` mediumint(8) unsigned NOT NULL auto_increment, `DeviceCode` varchar(20) default NULL, `Comments` varchar(255) default NULL, `UserLastUpdated` varchar(20) default NULL, `LastUpdatedDate` datetime default NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
6. inv_t_Menus tahap konseptual Pada Entitas Menus memiliki 5 buah atribut yaitu : ID, Title, HyperLink, DisplaySequence, Active. Nama file Isi
: inv_t_ Menus : Digunakan untuk menyimpan data menu utama pada
halaman web atau aplikasi. Primary key : ID
Tabel 3.18 Perancangan tahap Logis pada inv_t_Menus. Field
Jenis
Ukuran
Title
Integer Varchar
HyperLink
Varchar
8 225 255
Id menu Title Link menu pada
DisplaySequence Active
Integer Char
8 1
aplikasi Tampilan urutan Aktivasi
ID
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_menus` (
7. inv_t_Vendor tahap konseptual. Pada Entitas Menus memiliki 7 buah atribut yaitu : VendorCode, VendorName,
Telephone,
Address,
Active,
UserLastUpdated,
LastUpdateDate. Nama file
: inv_t_Vendor
Isi
: Digunakan untuk menyimpan data soal dan jawabannya.
Primary key : VendorCode
Tabel 3.19 Perancangan tahap Logis pada inv_t_Vendor. Field VendorCode
VendorName Telephone Address Active UserLastUpdated LastUpdatedDate
Jenis
Ukuran
Vachar Varchar Varchar Varchar Char Vachar
20 100 100 100 1 20
date time
Keterangan Kode vendor Nama vendor Telepon Alamat vendor Aktivasi User terakhir kali update Tanggal Terakhir kali update
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_vendor` ( `VendorCode` varchar(20) NOT NULL, `VendorName` varchar(100) default NULL,
8. inv_t_Manufacturer tahap konseptual Pada Entitas Menus memiliki 7 buah atribut yaitu : MFGCode, MFGName, MFGSupportTelephone,
MFGWeb,
Active,
UserLastUpdated,
LastUpdateDate. Nama file
: inv_t_Manufacrure
Isi
: Digunakan untuk menyimpan data soal dan jawabannya.
Primary key : MFGCode
Tabel 3.20 Perancangan tahap Logis pada inv_t_Manufacturer. Field
Jenis
Ukuran
MFGName
Vachar Varchar
MFGSupportTelephone
Varchar
20 100 100
MFGWeb Active
Varchar Char Vachar
MFGCode
UserLastUpdated LastUpdatedDate
100 1 20
date time
Keterangan Kode Manufaktur Nama manufaktur Manufaktur telepon support Manufaktur web Aktivasi User terakhir kali update Tanggal Terakhir kali update
Tabel ini dibuat dengan tahap fisis sebagai berikut: CREATE TABLE `inv_t_manufacturer` ( `MFGCode` varchar(20) NOT NULL, `MFGName` varchar(100) default NULL, `MFGSupportTelephone` varchar(100) default NULL, `MFGWeb` varchar(100) default NULL,
3.6 Perancangan Aplikasi Penglolaan Perangkat Jaringan Berbasis Web Rancangan layar dari ini dibuat untuk menampilkan informasi dan memudahkan dalam pencarian untuk melakukan perubahan-perubahan yang diperlukan. Ada 9 (sembilan) desain layar dalam pembuatan aplikasi ini, seperti pada gambar di bawah ini:
Network Management Login ID Password Forget Password ?
Login
Cancel
Gambar 3.18 Rancangan Layar Halaman Login Gambar 3.18 adalah halaman login untuk user biasa maupun Admin dapat mengakses aplikasi pengelolaan infrastruktur jaringan.
76
User List
Browse Network
NetworkList Device Type List Manufacturer List Vendor List Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.19 Rancangan layar Halaman Utama Aplikasi
Gambar 3.19 Pada halaman ini user dihadapkan dengan berbagai menu pada aplikasi terutama untuk user biasa hanya dihadapkan dengan menu “Device Extract Log”. Untuk tampilan gambar diatas berlaku untuk user dengan hak akses Administrator.
User List U ser ID
Networ List Device Type List Manufacturer List Vendor List
Password
N ame
E-Mail
U ser Type
Active
Admin USER USER123
D elete D elete D elete D elete
Add
Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.20 Rancangan layar List User
Gambar 3.20 Pada halaman ini admin dapat mengelola user baik itu untuk menambah, mengedit ataupun menghapus user pada tabel list user.
77
User List Network List
Network Code Network Name
Device Type List Manufacturer List
1
Bathara Indra
2
Bathara Bayu
Active
Modified By Modified On
Delete Delete Delete
Add
Vendor List Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.21 Rancangan layar halaman List Network
Gambar 3.21 Pada halaman ini admin dapat mengelola Jaringan baik itu untuk menambah, mengedit ataupun menghapus data jaringan yang tercatat pada tabel list network. User List Network List Device Type List Manufacturer List Vendor List
Device Type List
Modified On
Delete
PC
Admin
2
Printer
Admin
2009-04-08 09:53:45
Delete
3
Router
Admin
2009-04-08 09:53:53
Delete
2009-04-08 09:53:38
Delete
4
Switch
Admin
2009-04-08 09:54:01
Delete
5
Hub
Admin
2009-04-08 09:54:07
Delete
Device List Device Log
Device Name Modified By
1
Add
OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.22 Rancangan layar halaman List Device Type
Gambar 3.22 Pada halaman ini user administrator dapat mengelola baik itu untuk menambah, mengedit ataupun menghapus jenis perangkat jaringan.
78
MFG Code MFG Name Phone
User List Network List Device Type List Manufacturer List
URL
Active Modified By Modified On Delete
1
Belkin
085678 192.168.
Y
Admin
2009-04-08 Delete
2
HP
886467 192.168.
Y
Admin
2009-04-08 Delete
3
Bufallo
124456 192.168.
Y
Admin
2009-04-08 Delete
Add
Vendor List Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.23 Rancangan layar halaman List Manufacture
Gambar 3.23 Pada halaman ini admin dapat mengelola manufaktur perangkat jaringan baik itu untuk menambah, mengedit ataupun menghapus nama manufaktur pada tabel list manufacturer..
User List Network List Device Type List
Vendor List
Vendor Name
1
Belkin
Address Jakarta
Phone 021-9181729
Active Y
Modified By Modified On Admin
Delete
2009-04-08 Delete
Add
Manufacturer List Vendor List Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.24 Rancangan layar List Vendor Gambar 3.24 Pada halaman ini user administrator dapat mengelola vendor perangkat jaringan baik itu untuk menambah, mengedit ataupun menghapus vendor code, vendor name yang ada pada tabel list vendor..
79
N etw ork
User List
All Network
Device Code
Device Name
1
Router
Network List Device Type List
Add
Search
Serial Number
Device Description
1234
IP Address
Default Gateway
192.168 .2.1
Delete
Delete
Export
Manufacturer List Vendor List Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.25 Rancangan layar List Device Gambar 3.25 Pada halaman ini admin dapat mengelola perangkat jaringan baik itu untuk menambah, mengedit ataupun menghapus jenis data perangkat yang ada pada tabel list device.
User List Network List Device Type List
ID
Device Name
1
Router
Modified By ADMIN
Modified On 2009-05-20 13:24:33
Delete Delete
Add
Manufacturer List Vendor List Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.26 Rancangan layar untuk halaman Device Log
Gambar 3.26 Pada halaman ini user administrator dapat memodifikasi tanggal akses jenis perangkat.
80
Optimaze Table Action
Status
Optimaze
Status
netinv.inv_t_devicelog
Optimaze
Status
Table is alredy up to date
netinv.inv_t_devicetype
Optimaze
Status
Table is alredy up to date
netinv .inv_t_manufacturer
Table
User List
netinv.inv_t_device
Result
complete
Table is alredy up to date
Network List Device Type List Manufacturer List Optimaze
Table is alredy up to date Table is alredy up to date
Logout Main
Gambar 3.27 Rancangan layar untuk halaman Optimaze Table
Gambar 3.27 Pada halaman ini user administrator dapat melihat status tabletable pada database yang sudah dioptimalkan. User List Network List Device Type List
Network Name Bathara Bayu Back
Manufacturer List Vendor List Device List Device Log OptimizeTables Browse Device Log Extract Logout Main
Gambar 3.28 Rancangan layar halaman Browse
81
Gambar 3.28 Pada halaman ini user administrator dapat mengelola perangkat jaringan dengan cara pencarian pada tiap jaringan. Pengelolaan ini untuk menambah, mengedit ataupun menghapus perangkat.
3.7 Spesifkasi Sisem Dalam spesifikasi sistem ini terbagi ke dalam 2 kategori yaitu spesifikasi aplikasi dan spesifikasi pengguna.
3.7.1 Spesifikasi Aplikasi Aplikasi web yang akan dibangun memiliki kemampuan sebagai berikut: 1. Dapat menampilkan sebuah data infrastruktur jaringan secara online intranet. 2. Pada aplikasi ini data infrastruktur dapat ditambah atau dirubah secara dinamis.
3.6.2 Spesifikasi Pengguna Aplikasi ini ditujukan untuk digunakan oleh staf perusahaan yang terdaftar dengan hak akses yang berbeda dan juga memiliki kewenangan dalam memonitoring infrastruktur jaringan.
3.8 Lingkungan Operasi Untuk membangun aplikasi web yang penlis gunakan. Sesuai dengan spesifikasi kebutuhan, dibutuhkan lingkungan operasi sebagai berikut sistem operasi yang digunakan:
82
1. Sistem operasi Windows Sistem ini dipilih karena penggunaannya yang bersahabat walaupun sifatnya yang tidak free (bebas). 2. Web Server. Web server digunakan untuk memberikan layanan web sehingga dapat diakses oleh pengguna baik yang berada pada jaringan lokal maupun pada jaringan internet. Web server yang digunakan adalah Apache. 3. Interpreter PHP PHP adalah bahasa pemrograman server side yang bekerja pada sisi server yang berfungsi untuk menangani request dari pengguna. Perangkat lunak ini digunakan karena bersifat gratis dan open source.
79
BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi AplikasiInventaris Perangkat Jaringan Berbasis Web Pembuatan program aplikasi sistem pengelolaan perangkat jaringan berbasis web ini ditujukan untuk memberikan kemudahaan pada karyawan khususnya di divisi IT untuk mendata perangkat infrastruktur mereka. Dimana sistem yang sebelumnya dilakukan masih berjalan secara manual atau dengan pencatatan menggunakan alat tulis, tetapi kini menjadi pekerjaan yang lebih efisien baik dari segi waktu maupun tenaga. Aplikasi pengelolaan perangkat jaringan ini dapat diakses oleh karyawan khususnya di divisi IT hanya pada waktu dan tempat yang sudah ditetapkan karena sistem ini berbasis web dan dalam lingkup intranet atau internet. Disamping itu karyawan dapat mendata perangkat jaringan pada saat itu juga tanpa harus mencari atau mendata perangkat satu per satu secara manual.
4.1.1 Spesifikasi Kebutuhan Sistem Dalam aplikasi ini spesifikasi kebutuhan sistem menggunakan dua buah perangkat yaitu perangakt keras dan perangkat lunak. Berikut ini adalah kebutuhan sistem ketika sistem ini dibuat dan diuji. 1. Perangkat Keras (hardware) a. Processor Intel Pentium R 2.26 Ghz. b. RAM 512MB VGA ATI RADEON 7000 Series 64Mb.
80
c. Hardisk 40 Gb. 2. Perangkat Lunak (Software) a. operating system windows XP Profesional. b. XAMPP 1.6.8 PHP Script language version 5.1.6. c. My SQL Database version 5.0.24a.
4.2 Tampilan Aplikasi Inventaris Perangkat Jaringan berbasis web Untuk menjalankan program ini, yang dilakukan adalah membuka web browser yang biasa digunakan, kemudian ketikkan nama host yang menjadi server pada bagian address/location. Bila host yang digunakan sama dengan host yang dipakai saat ini, nama host dapat diisi dengan localhost.
4.2.1
Tampilan untuk halaman Login Perancangan layar halaman ini digunakan user biasa maupun admin untuk
dapat mengakses aplikasi infrastruktur jaringan, jika user biasa maupun admin sudah selesai mengisi data yang diminta maka harus menekan tombol login. Apabila user biasa maupun admin salah mengisi data yang diminta maka akan muncul pesan invalid user id/password combination. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar 4.1.
Penggalan kode program halaman Login
<strong>Network Management
Gambar 4.1 Tampilan Halaman Login
4.2.2
Halaman Utama Aplikasi Gambar 4.2 merupakan gambar halaman tampilan utama program yang
berisi halaman pembuka untuk user biasa maupun admin dapat mengakses aplikasi ini, dan berisi menu-menu yaitu login untuk admin. Berikut ini adalah penggalan kode program dan tampilan halaman pembuka pada aplikasi ini.
Pada gambar 4.3 ini administrator dapat mengelola user baik itu untuk menambah, menghapus, dan merubah nama dan password user. Setiap user memiliki 2 (dua) hak akses diantaranya admin adan user biasa. Pada halaman ini sudah disajikan tombol-tombol untuk navigasi setiap proses yang akan dilakukan.
Penggalan kode program Untuk List User 'Y' ORDER BY us.UserID ASC"; } else { $strsql = "SELECT us.UserID as 'User ID',us.Password as 'Password',us.UserName as 'Name',us.Email as 'E-Mail'," ; $strsql .= "ut.Description as 'User Type' ,us.Active as 'Active'" ; $strsql .=" FROM inv_t_users AS us,inv_t_usertype AS ut WHERE us.UserType=ut.UserTypeCode AND us.Active='Y' ORDER BY us.UserID ASC"; }}$strTable=TableBodyList($strsql,"","","","",6); } ?>
84
Gambar 4.3 Tampilan Halaman List User
4.2.4
Tampilan untuk halaman List Network Gambar pada gambar 4.4 admin dapat mengelola, menghapus dan merubah
jaringan dengan mengklik tombol add. Pada halaman ini juga sudah disajikan tombol-tombol untuk navigasi setiap proses yang akan dilakukan. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar dibawah ini. Penggalan kode program halaman List Network
85
} if ($strView=="All") { $strsql = "SELECT NetworkCode AS 'Network Code', NetworkName AS 'Network Name',Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_network ORDER BY NetworkCode ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT NetworkCode AS 'Network Code', NetworkName AS 'Network Name', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_network WHERE Active<>'Y' ORDER BY NetworkCode ASC"; } else { $strsql = "SELECT NetworkCode AS 'Network Code', NetworkName AS 'Network Name', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_network WHERE Active='Y' ORDER BY NetworkCode ASC"; }}$strTable=TableBodyList($strsql,"","","","",5);}?>
Gambar 4.4 Tampilan Halaman List Network
4.2.5
Tampilan untuk halaman List Device Type Pada gambar 4.5 administrator dapat mengelola jenis perangkat baik itu
untuk menambah, menghapus, merubah, memodifikasi tanggal device list. Pada halaman ini juga sudah disajikan tombol-tombol untuk navigasi setiap proses yang
86
akan dilakukan. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar dibawah ini. Penggalan kode program halaman List Device Type
Gambar 4.5 Tampilan Halaman List Device Type
4.2.6
Tampilan untuk halaman List Manufacturers
87
Pada gambar 4.6 administrator dapat mengelola jenis produk yang akan di edit baik itu untuk menambah, menghapus, dan merubah data manufaktur. Pada halaman ini juga sudah disajikan tombol-tombol untuk navigasi setiap proses yang akan dilakukan. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar dibawah ini.
Penggalan kode program List Manufacturer 'Y' ORDER BY MFGCode ASC"; } else { $strsql = "SELECT MFGCode AS 'MFG Code', MFGName AS 'MFG Name',MFGSupportTelephone AS 'Phone',MFGWeb AS 'URL', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ;
88
$strsql .=" FROM inv_t_manufacturer WHERE Active='Y' ORDER BY MFGCode ASC"; } } $strTable=TableBodyList($strsql,"","","","",7); } ?>
Gambar 4.6 Tampilan Halaman List Manufacturers Type
4.2.7
Tampilan untuk halaman List Vendor Pada gambar 4.7 administrator dapat mengelola List Vendor baik itu untuk
menambah, menghapus, dan merubah data vendor. Pada halaman ini juga sudah disajikan tombol-tombol untuk navigasi setiap proses yang akan dilakukan. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar dibawah ini.
Penggalan kode program List Vendor hp
89
//This starts the session session_start(); //Includes the required files include("../../Includes/PortalConection.php"); include("../../Includes/Database.php"); //set the relative root path incase session is expired . so the loging page will be shown $strRootpath= "../../"; include_once ("../../Includes/validsession.php"); $strsql=""; $strView="Active"; $strTable=""; //This is available only for Administrator If ($_SESSION["Admin"] =="A") { if (!isset($_GET['View'])) { $strView="Active"; } else { $strView=QuerySafeString($_GET["View"]); } //inv_t_Vendor ( //VendorCode, VendorName, Telephone, Address, Active,UserLastUpdated,LastUpdatedDate, if ($strView=="All") { $strsql = "SELECT VendorCode AS 'Vendor Code', VendorName AS 'Vendor Name',Address ,Telephone AS 'Phone', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_vendor ORDER BY VendorCode ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT VendorCode AS 'Vendor Code', VendorName AS 'Vendor Name',Address ,Telephone AS 'Phone', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_vendor WHERE Active<>'Y' ORDER BY VendorCode ASC"; } else { $strsql = "SELECT VendorCode AS 'Vendor Code', VendorName AS 'Vendor Name',Address ,Telephone AS 'Phone', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_vendor WHERE Active='Y' ORDER BY VendorCode ASC"; } } $strTable=TableBodyList($strsql,"","","","",7); ?>
90
Gambar 4.7 Tampilan Halaman List Vendor
4.2.8
Tampilan untuk halaman List Device Pada gambar 4.8 administrator dapat mengelola jenis perangkat baik itu
untuk menambah, menghapus, dan merubah. Pada halaman ini juga sudah disajikan tombol-tombol untuk navigasi setiap proses yang akan dilakukan. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar dibawah ini.
Penggalan kode program List Device $strView="Active"; } else { $strView=QuerySafeString($_GET["View"]); } if ($strView=="All") { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ;$strsql .=" FROM inv_t_device "; if ($strNetworkCode !="") { $strsql .=" WHERE NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC"; }
91
else {
if ($strView=="Inactive") { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device WHERE Active<>'Y' "; if ($strNetworkCode !="") { $strsql .=" AND NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC"; } else { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device WHERE Active='Y' "; if ($strNetworkCode !="") { $strsql .=" AND NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC"; } } $strTable=TableBodyList($strsql,"","","","",6); $strsql = "SELECT NetworkCode as 'VALUE',NetworkName as 'DESCRIPTION' FROM inv_t_network" ; $strNetwork= ComboBoxOptionList($strsql,$strNetworkCode); } ?>
Gambar 4.8 Tampilan Halaman List Device
92
4.2.9
Tampilan untuk halaman Device Log Pada gambar 4.9 administrator dapat menampilkan dan memodifikasi
perangkat baik itu untuk menambah, menghapus, dan merubah. Pada halaman ini juga sudah disajikan tombol-tombol untuk navigasi setiap proses yang akan dilakukan. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar dibawah ini.
Penggalan kode program Device Log
$strsql = "SELECT DL.ID,DE.DeviceName as 'Device Name' ,DL.UserLastUpdated as 'Modified By',DL.LastUpdatedDate as 'Modified On' " ; $strsql .=" FROM inv_t_device DE,inv_t_devicelogs DL "; $strsql .=" WHERE DE.DeviceCode = DL.DeviceCode "; $strsql .=" ORDER BY DL.LastUpdatedDate DESC"; } $strTable=TableBodyList($strsql,"","","","",4); //} ?>
93
Gambar 4.9 Tampilan Halaman Device Log
4.2.10 Tampilan untuk halaman Device Optimaze Tables Pada gambar 4.10 administrator dapat menampilkan status tabel-tabel pada data base yang sudah terisi data. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat padadibawah ini.
4.2.11 Tampilan untuk halaman Browse Pada gambar 4.11 administrator dan user biasa dapat mengelola perangkat jaringan dengan cara pencarian pada tiap jaringan. Berikut ini adalah penggalan kode program dan tampilan halamannya yang dapat dilihat pada gambar dibawah ini.
Penggalan kode program halaman Browse
CHANGE PASSWORD
include("Includes/Database.php"); $strRootpath= ""; include_once ("Includes/validsession.php"); if (!isset($_REQUEST["txtNewPassword"])) { $strNewPassword=""; } else { $strNewPassword= QuerySafeString($_REQUEST["txtNewPassword"]); } if (!isset($_REQUEST["txtPassword"])) { $strPassword=""; } else { $strPassword= QuerySafeString($_REQUEST["txtPassword"]); } $strErrorMessages=""; if ($strPassword!="") { $conclass =new DataBase(); $strsql = "SELECT Password ,UserName"; $strsql .= " FROM inv_t_users WHERE UserID='" .SQLSafeString($_Session["UserID"]) . "'" ; $rst= $conclass->Execute ($strsql,$strErrorMessages); $strErrorMessages="Invalid user id/password combination"; if ($strPassword==rst.fields("Password")) { $strErrorMessages=""; $strsql = "UPDATE inv_t_users SET Password = '" .SQLSafeString($strNewPassword) . "' "; $strsql = " WHERE UserID = '" .SQLSafeString($_Session["UserID"]) . "'"; $conclass->ExecuteDML ($strsql,$strErrorMessages); if ($strErrorMessages !="") { $strErrorMessages = "Could not change the password. " . $strErrorMessages;} } else
{$strErrorMessages="Invalid old password entered.";}
} print " <TITLE>Change Password"; include ("Includes/Styles.php"); ?>
//This is an optional file that can be used to quickly check for new comments // without having to login to the system. // SQL Query $sql = "SELECT DeviceCode,Comments,LastUpdatedDate,userlastupdated FROM inv_t_devicelogs ORDER BY LastUpdatedDate DESC LIMIT 0,$comments"; // Connect to the database $db = mysql_connect(HOSTM, dbUser, dbPassword); mysql_select_db(dbToUse) or die("Could not select database"); $result = mysql_query($sql); echo "
\n"; echo "
device code
comment title
date
user
\n"; while ($rows = mysql_fetch_row($result)) { echo "
$rows[0]
$rows[1]
$rows[2]
$rows [3]
\n"; }
echo "
\n"; ?>
Administrator AddModifyDelete.php Execute ($strsql,$strErrorMessages); if ($strErrorMessages!="") { $strErrorMessages = "Could not delete the device information. ". strErrorMessages;
$strsql = "SELECT DeviceCode ,DeviceName, SerialNumber, DeviceDescription, IPAddress, DefaultGateway,"; $strsql .= "PortsUsed , DATE_FORMAT(Dateofpurchase,'%m/%d/%y') as Dateofpurchase , Firmwareversion, Comments, DATE_FORMAT(Datetakenoffline,'%m/%d/%y') AS Datetakenoffline,"; $strsql .= "WarrantyLength, MRTGGraphLink,Active,DeviceTypeCode,MFGCode,NetworkCode,VendorCode"; $strsql .= " FROM inv_t_device" ; $strsql .=" WHERE DeviceCode='".SQLSafeString($strID)."'"; $strError=""; //print $strsql; $rst= $conclass->Execute ($strsql,$strError); if ($strError != "") { print $strError; } else { while ($line = mysql_fetch_array($rst, MYSQL_ASSOC)) { $strID=$line['DeviceCode']; $strSerialNumber=$line['SerialNumber']; $strDeviceName=$line['DeviceName']; $strDeviceDescription=$line['DeviceDescription']; $strIPAddress=$line['IPAddress']; $strDefaultGateway=$line['DefaultGateway']; $strPortsUsed=$line['PortsUsed']; $strDateofpurchase=$line['Dateofpurchase']; $strFirmwareversion=$line['Firmwareversion']; $strComments=$line['Comments']; $strDatetakenoffline=$line['Datetakenoffline']; $strWarrantyLength=$line['WarrantyLength']; $strMRTGGraphLink=$line['MRTGGraphLink']; $strDeviceTypeCode=$line['DeviceTypeCode']; $strMFGCode=$line['MFGCode']; $strNetworkCode=$line['NetworkCode']; $strVendorCode=$line['VendorCode']; $strActive=$line['Active']; } mysql_free_result($rst); $strsql = "SELECT DATE_FORMAT(de.LastUpdatedDate,'%m/%d/%y') as Date1 , DATE_FORMAT(de.LastUpdatedDate,'%h:%i:%p') as Time1,"; $strsql .= "us.UserName as UserName,de.Comments as Comments";
$strsql .= " FROM inv_t_devicelogs as de, inv_t_users as us" ;
$strsql .=" WHERE us.UserID=de.UserLastUpdated AND de.DeviceCode='".SQLSafeString($strID)."'"; $strsql .=" ORDER BY de.LastUpdatedDate DESC"; $rst= $conclass->Execute ($strsql,$strError); $strTable=""; if ($strError != "") { print $strError; } else { while ($line = mysql_fetch_array($rst, MYSQL_ASSOC)) { $strTable.="
Date
".$line['Date1']."
"; $strTable.="
Time
".$line['Time1']."
"; $strTable.="
User
".$line['UserName']."
".$line['Comments']."
"; } } } } ?> <TITLE> aaaaaa ' .$strDeviceTypeCode; $strDeviceType= ComboBoxOptionList($strsql,$strDeviceTypeCode); $strsql = "SELECT MFGCode as 'VALUE',MFGName as 'DESCRIPTION' FROM inv_t_manufacturer" ; $strMFG= ComboBoxOptionList($strsql,$strMFGCode); $strsql = "SELECT NetworkCode as 'VALUE',NetworkName as 'DESCRIPTION' FROM inv_t_network" ; $strNetwork= ComboBoxOptionList($strsql,$strNetworkCode);
$strsql = "SELECT VendorCode as 'VALUE',VendorName as 'DESCRIPTION' FROM inv_t_vendor" ; $strVendor= ComboBoxOptionList($strsql,$strVendorCode); ?> <SCRIPT LANGUAGE=javascript>
var i; // Is s empty? if (isEmpty(s)) return true; // Search through string's characters one by one // until we find a non-whitespace character. // When we do, return false; if we don't, return true. for (i = 0; i < s.length; i++) {
// Check that current character isn't whitespace. var c = s.charAt(i); if (whitespace.indexOf(c) == -1) return false;
}
}
// All characters are whitespace. return true;
/****************************************************************/ /****************************************************************/ /* PURPOSE: Checks to see if the string is a valid date. date is defined as any of the following:
A valid
MM/DD/YY, MM/DD/YYYY, M/D/YY, M/D/YYYY, MM-DD-YY, MM-DD-YYYY, M-D-YY, M-D-YYYY */ function ForceDate(strDate,strField) { var str = new String(strDate.value); if (isWhitespace(str)) { return true; // if the field is empty, just return true... } var i = 0, count = str.length, j = 0; while ((str.charAt(i) != "/" && str.charAt(i) != "-") && i <
count)
i++; if (i == count || i > 2) { PromptErrorMsg(strDate,strField); return false; } var addOne = false; if (i == 2) addOne = true; if (!isDateNumber(str.substring(0,i),1)) { PromptErrorMsg(strDate,strField); return false; } j = i+1; i = 0; while ((str.charAt(i+j) != "/" && str.charAt(j+i) != "-") && i+j < count)
i++; if (i+j == count || i > 2) { PromptErrorMsg(strDate,strField); return false; } if (!isDateNumber(str.substring(j,i+j),2)) { PromptErrorMsg(strDate,strField); return false; } j = i+3; i = 0; if (addOne) j++; while (i+j < count) i++; if (i != 2 && i != 4) { PromptErrorMsg(strDate,strField); return false; } if (!isDateNumber(str.substring(j,i+j),3)) { PromptErrorMsg(strDate,strField); return false; } return true; } /* PURPOSE: Returns true if the string is a valid date number. A method is passed in (1 = month, 2 = day). If the string is nonnumeric, false is passed back. If the day in the date string is greater than 31, false is returned. If the month is greater than 12, an error is returned. */ function isDateNumber(strNum,method) { var str = new String(strNum); var i = 0; if (isNaN(parseInt(str)) || parseInt(str) < 0) return false; if (method == 2) if (parseInt(str) > 31) return false; if (method == 1) if (parseInt(str) > 12) return false;
for (i = 0; i < str.length; i++) if (str.charAt(i) < '0' || str.charAt(i) > '9') return false; return true; } function SaveData() { var vfrmForm = document.frmForm; var objControl; var strTemp;
} ?>
objControl=vfrmForm.txtDeviceName ; strTemp=objControl.value; if (!strTemp ) { alert('Please enter device name'); objControl.focus(); return; } objControl=vfrmForm.txtDateofpurchase ; strTemp=objControl.value; if (strTemp!="" ) { if (ForceDate(objControl,'date of purchase')==false) { alert('Please enter valid date of purchase'); objControl.focus(); return; } } else { alert('Please enter date of purchase'); objControl.focus(); return; } objControl=vfrmForm.txtDatetakenoffline ; strTemp=objControl.value; if (strTemp!="" ) { if (ForceDate(objControl,'date taken offline')==false)
{ alert('Please valid date taken offline'); objControl.focus(); return; }
if (!isset($_GET['View'])) { $strView="Active"; } else { $strView=QuerySafeString($_GET["View"]); } if ($strView=="All") { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device "; if ($strNetworkCode !="") { $strsql .=" WHERE NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device WHERE Active<>'Y' "; if ($strNetworkCode !="") { $strsql .=" AND NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC"; } else { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device WHERE Active='Y' "; if ($strNetworkCode !="") { $strsql .=" AND NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC";
//PortsUsed , Dateofpurchase , Firmwareversion, Comments, Datetakenoffline, // WarrantyLength, MRTGGraphLink,Active,DeviceTypeCode,MFGCode,NetworkCode,VendorCode //UserLastUpdated , LastUpdatedDate , //This is available only for Administrator If ($_SESSION["Admin"] =="A") { if (!isset($_GET['NWCODE'])) { $strNetworkCode=""; } else { $strNetworkCode=QuerySafeString($_GET["NWCODE"]); } if (!isset($_GET['View'])) { $strView="Active"; } else { $strView=QuerySafeString($_GET["View"]); } if ($strView=="All") { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device "; if ($strNetworkCode !="") { $strsql .=" WHERE NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device WHERE Active<>'Y' "; if ($strNetworkCode !="") { $strsql .=" AND NetworkCode= '".SQLSafeString($strNetworkCode)."'"; }
$strsql .=" ORDER BY DeviceCode ASC"; } else {
$strsql = "SELECT DeviceCode AS 'Device Code' ,DeviceName AS 'Device Name', SerialNumber AS 'Serial Number', DeviceDescription as 'Device Description', IPAddress as 'IP Address', DefaultGateway as 'Default Gateway' " ; $strsql .=" FROM inv_t_device WHERE Active='Y' "; if ($strNetworkCode !="") { $strsql .=" AND NetworkCode= '".SQLSafeString($strNetworkCode)."'"; } $strsql .=" ORDER BY DeviceCode ASC"; } } $strTable=TableBodyList($strsql,"","","","",6); $strsql = "SELECT NetworkCode as 'VALUE',NetworkName as 'DESCRIPTION' FROM inv_t_network" ; $strNetwork= ComboBoxOptionList($strsql,$strNetworkCode); } ?> <TITLE>List of Devices <SCRIPT LANGUAGE=javascript> '; function ModifyData(ID) { location.replace('AddModifyInput.php?action=MOD&ID='+ID+'&View='+gstrVi ew); } function AddData() { var objControl=document.frmForm.cmbNetworkCode ; var strTemp=objControl.value; location.replace('AddModifyInput.php?action=ADD&View='+gstrView+'&NWCOD E='+strTemp); } function DeleteData(ID) { if (confirm ("This will delete this record?")) { location.replace('AddModifyDelete.php?action=DEL&ID='+ID+'&View='+gstrV iew); } } function SearchData() {
var objControl=document.frmForm.cmbNetworkCode ; var strTemp=objControl.value; location.replace('List.php?action=SEARCH&View='+gstrView+'&NWCODE='+str Temp); } function ExportData() { var objControl=document.frmForm.cmbNetworkCode ; var strTemp=objControl.value; strTemp='ExtractList.php?action=EXPORT&View='+gstrView+'&NWCODE='+strTe mp; location.target="TMP"; location.href=strTemp; return true; } //--> <style type="text/css">
= "SELECT DL.ID,DE.DeviceName as 'Device Name' as 'Modified By',DL.LastUpdatedDate as 'Modified .=" FROM inv_t_device DE,inv_t_devicelogs DL "; .=" WHERE DE.DeviceCode = DL.DeviceCode ";
List.php
//Includes the required files include("../../Includes/PortalConection.php"); include("../../Includes/Database.php"); //set the relative root path incase session is expired . so the loging page will be shown $strRootpath= "../../"; include_once ("../../Includes/validsession.php"); $strsql=""; $strTable=""; // UserLastUpdated,LastUpdatedDate, //This is available only for Administrator and Normal user //If (($_SESSION["Admin"] =="A") || ($_SESSION["Admin"] =="N")) //{ { $strsql ,DL.UserLastUpdated On' " ; $strsql $strsql
= "SELECT DL.ID,DE.DeviceName as 'Device Name' as 'Modified By',DL.LastUpdatedDate as 'Modified .=" FROM inv_t_device DE,inv_t_devicelogs DL "; .=" WHERE DE.DeviceCode = DL.DeviceCode ";
$strsql .=" ORDER BY DL.LastUpdatedDate DESC"; } $strTable=TableBodyList($strsql,"","","","",4); //} ?> <TITLE>List of Device Logs <SCRIPT LANGUAGE=javascript>
?> <style type="text/css">
List.php
// MFGCode, MFGName,MFGSupportTelephone,MFGWeb,Active,UserLastUpdated,LastUpdatedDa te if ($strView=="All") { $strsql = "SELECT MFGCode AS 'MFG Code', MFGName AS 'MFG Name',MFGSupportTelephone AS 'Phone',MFGWeb AS 'URL', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_manufacturer ORDER BY MFGCode ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT MFGCode AS 'MFG Code', MFGName AS 'MFG Name',MFGSupportTelephone AS 'Phone',MFGWeb AS 'URL', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_manufacturer WHERE Active<>'Y' ORDER BY MFGCode ASC"; } else { $strsql = "SELECT MFGCode AS 'MFG Code', MFGName AS 'MFG Name',MFGSupportTelephone AS 'Phone',MFGWeb AS 'URL', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_manufacturer WHERE Active='Y' ORDER BY MFGCode ASC"; } } $strTable=TableBodyList($strsql,"","","","",7); } ?> <TITLE>List of Manufacturers <SCRIPT LANGUAGE=javascript> '; function ModifyData(ID) { location.replace('AddModifyInput.php?action=MOD&ID='+ID+'&View='+gstrVi ew); } function AddData() { location.replace('AddModifyInput.php?action=ADD&View='+gstrView); }
function DeleteData(ID) { if (confirm ("This will delete this record?")) { location.replace('AddModifyDelete.php?action=DEL&ID='+ID+'&View='+gstrV iew); } } //--> <style type="text/css">
if ($strView=="All") { $strsql = "SELECT NetworkCode AS 'Network Code', NetworkName AS 'Network Name',Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_network ORDER BY NetworkCode ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT NetworkCode AS 'Network Code', NetworkName AS 'Network Name', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_network WHERE Active<>'Y' ORDER BY NetworkCode ASC"; } else { $strsql = "SELECT NetworkCode AS 'Network Code', NetworkName AS 'Network Name', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_network WHERE Active='Y' ORDER BY NetworkCode ASC"; } } $strTable=TableBodyList($strsql,"","","","",5); } ?> <TITLE>List of Network <SCRIPT LANGUAGE=javascript> '; function ModifyData(ID) { location.replace('AddModifyInput.php?action=MOD&ID='+ID+'&View='+gstrVi ew); } function AddData() { location.replace('AddModifyInput.php?action=ADD&View='+gstrView);
} function DeleteData(ID) { if (confirm ("This will delete this record?")) { location.replace('AddModifyDelete.php?action=DEL&ID='+ID+'&View='+gstrV iew); } } //--> <style type="text/css">
List.php
if ($strView=="All") { $strsql = "SELECT us.UserID as 'User ID',us.Password as 'Password',us.UserName as 'Name',us.Email as 'E-Mail'," ; $strsql .= "ut.Description as 'User Type' ,us.Active as 'Active'" ; $strsql .=" FROM inv_t_users AS us,inv_t_usertype AS ut WHERE us.UserType=ut.UserTypeCode ORDER BY us.UserID ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT us.UserID as 'User ID',us.Password as 'Password',us.UserName as 'Name',us.Email as 'E-Mail'," ; $strsql .= "ut.Description as 'User Type' ,us.Active as 'Active'" ; $strsql .=" FROM inv_t_users AS us,inv_t_usertype AS ut WHERE us.UserType=ut.UserTypeCode AND us.Active<>'Y' ORDER BY us.UserID ASC"; } else { $strsql = "SELECT us.UserID as 'User ID',us.Password as 'Password',us.UserName as 'Name',us.Email as 'E-Mail'," ; $strsql .= "ut.Description as 'User Type' ,us.Active as 'Active'" ; $strsql .=" FROM inv_t_users AS us,inv_t_usertype AS ut WHERE us.UserType=ut.UserTypeCode AND us.Active='Y' ORDER BY us.UserID ASC"; } } $strTable=TableBodyList($strsql,"","","","",6); } ?> <TITLE>List of Users <SCRIPT LANGUAGE=javascript> '; function ModifyData(ID) { location.replace('AddModifyInput.php?action=MOD&ID='+ID+'&View='+gstrVi ew); } function AddData() { location.replace('AddModifyInput.php?action=ADD&View='+gstrView); } function DeleteData(ID) { if (confirm ("This will delete this record?")) {
List.php
$strTable=""; //This is available only for Administrator If ($_SESSION["Admin"] =="A") { if (!isset($_GET['View'])) { $strView="Active"; } else { $strView=QuerySafeString($_GET["View"]); } //inv_t_Vendor ( //VendorCode, VendorName, Telephone, Address, Active,UserLastUpdated,LastUpdatedDate, if ($strView=="All") { $strsql = "SELECT VendorCode AS 'Vendor Code', VendorName AS 'Vendor Name',Address ,Telephone AS 'Phone', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_vendor ORDER BY VendorCode ASC"; } else { if ($strView=="Inactive") { $strsql = "SELECT VendorCode AS 'Vendor Code', VendorName AS 'Vendor Name',Address ,Telephone AS 'Phone', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_vendor WHERE Active<>'Y' ORDER BY VendorCode ASC"; } else { $strsql = "SELECT VendorCode AS 'Vendor Code', VendorName AS 'Vendor Name',Address ,Telephone AS 'Phone', Active,UserLastUpdated AS 'Modified By', LastUpdatedDate AS 'Modified On'" ; $strsql .=" FROM inv_t_vendor WHERE Active='Y' ORDER BY VendorCode ASC"; } } $strTable=TableBodyList($strsql,"","","","",7); } ?> <TITLE>List of Vendors
<SCRIPT LANGUAGE=javascript> '; function ModifyData(ID) { location.replace('AddModifyInput.php?action=MOD&ID='+ID+'&View='+gstrVi ew); } function AddData() { location.replace('AddModifyInput.php?action=ADD&View='+gstrView); } function DeleteData(ID) { if (confirm ("This will delete this record?")) { location.replace('AddModifyDelete.php?action=DEL&ID='+ID+'&View='+gstrV iew); } } //--> <style type="text/css">
$strDefaultGateway=$line['DefaultGateway']; $strPortsUsed=$line['PortsUsed']; $strDateofpurchase=$line['Dateofpurchase']; $strFirmwareversion=$line['Firmwareversion']; $strComments=$line['Comments']; $strDatetakenoffline=$line['Datetakenoffline']; $strWarrantyLength=$line['WarrantyLength']; $strMRTGGraphLink=$line['MRTGGraphLink']; $strDeviceTypeCode=$line['DeviceTypeCode']; $strMFGCode=$line['MFGCode']; $strNetworkCode=$line['NetworkCode']; $strVendorCode=$line['VendorCode']; $strActive=$line['Active']; } mysql_free_result($rst); $strsql = "SELECT DATE_FORMAT(de.LastUpdatedDate,'%m/%d/%y') as Date1 , DATE_FORMAT(de.LastUpdatedDate,'%h:%i:%p') as Time1,"; $strsql .= "us.UserName as UserName,de.Comments as Comments"; $strsql .= " FROM inv_t_devicelogs as de, inv_t_users as us" ;
$strsql .=" WHERE us.UserID=de.UserLastUpdated AND de.DeviceCode='".SQLSafeString($strDEVICE)."'"; $strsql .=" ORDER BY de.LastUpdatedDate DESC"; $rst= $conclass->Execute ($strsql,$strError); $strTable=""; if ($strError != "") { print $strError; } else { while ($line = mysql_fetch_array($rst, MYSQL_ASSOC)) { $strTable.="
Date
".$line['Date1']."
"; $strTable.="
Time
".$line['Time1']."
"; $strTable.="
User
".$line['UserName']."
".$line['Comments']."
"; } } }
} ?> <TITLE> <SCRIPT LANGUAGE=javascript>
function isEmpty(s) { return ((s == null) || (s.length == 0)) } /****************************************************************/ // Returns true if string s is empty or // whitespace characters only. function isWhitespace (s) {
var i; // Is s empty? if (isEmpty(s)) return true; // Search through string's characters one by one // until we find a non-whitespace character. // When we do, return false; if we don't, return true. for (i = 0; i < s.length; i++) { // Check that current character isn't whitespace. var c = s.charAt(i); if (whitespace.indexOf(c) == -1) return false; } // All characters are whitespace. return true;
} /****************************************************************/ /****************************************************************/ /* PURPOSE: Checks to see if the string is a valid date. date is defined as any of the following:
function ForceDate(strDate,strField) { var str = new String(strDate.value); if (isWhitespace(str)) { return true; // if the field is empty, just return true... }
A valid
var i = 0, count = str.length, j = 0; while ((str.charAt(i) != "/" && str.charAt(i) != "-") && i <
count)
i++; if (i == count || i > 2) { PromptErrorMsg(strDate,strField); return false; } var addOne = false; if (i == 2) addOne = true; if (!isDateNumber(str.substring(0,i),1)) { PromptErrorMsg(strDate,strField); return false; } j = i+1; i = 0; while ((str.charAt(i+j) != "/" && str.charAt(j+i) != "-") && i+j < count) i++; if (i+j == count || i > 2) { PromptErrorMsg(strDate,strField); return false; } if (!isDateNumber(str.substring(j,i+j),2)) { PromptErrorMsg(strDate,strField); return false; } j = i+3; i = 0; if (addOne) j++; while (i+j < count) i++; if (i != 2 && i != 4) { PromptErrorMsg(strDate,strField); return false; } if (!isDateNumber(str.substring(j,i+j),3)) { PromptErrorMsg(strDate,strField); return false; }
}
return true;
/* PURPOSE: Returns true if the string is a valid date number. A method is passed in (1 = month, 2 = day). If the string is nonnumeric, false is passed back. If the day in the date string is greater than 31, false is returned. If the month is greater than 12, an error is returned. */ function isDateNumber(strNum,method) { var str = new String(strNum); var i = 0; if (isNaN(parseInt(str)) || parseInt(str) < 0) return false; if (method == 2) if (parseInt(str) > 31) return false; if (method == 1) if (parseInt(str) > 12) return false; for (i = 0; i < str.length; i++) if (str.charAt(i) < '0' || str.charAt(i) > '9') return false; return true; } function SaveData() { var vfrmForm = document.frmForm; var objControl; var strTemp;
} ?>
ListDown.php
$strsql = "SELECT DISTINCT NE.NetworkCode ,NE.NetworkName as 'Network Name' " ; $strsql .=" FROM inv_t_device DE, inv_t_network NE WHERE NE.NetworkCode=DE.NetworkCode"; $strsql .=" ORDER BY 2 ASC"; $strQryStr="&PAGETYPE=NET"; $strCurQryStr="NWCODE"; $strPrvQryStr=""; } elseif ($strPageType=="NET") { $strCode=""; if (isset($_GET['NWCODE'])) { $strCode=QuerySafeString($_GET["NWCODE"]); } $strsql = "SELECT DISTINCT DE.DeviceTypeCode ,DT.Description as 'Device Type'" ; $strsql .=" FROM inv_t_device DE, inv_t_devicetype DT WHERE DE.DeviceTypeCode=DT.DeviceTypeCode"; if ($strCode !="") { $strsql .=" AND DE.NetworkCode= '".SQLSafeString($strCode)."'"; } $strsql .=" ORDER BY 2 ASC"; $strQryStr="&PAGETYPE=DTYPE"; $strPrvQryStr="A"; //$strPrvQryStr.="&NWCODE=".$strCode; $strQryStr.="&NWCODE=".JSSafeString($strCode); $strCurQryStr="DETYCODE"; } elseif ($strPageType=="DTYPE") { $strCode=""; if (isset($_GET['DETYCODE'])) { $strCode=QuerySafeString($_GET["DETYCODE"]); } $strsql = "SELECT DISTINCT MF.MFGCode ,MF.MFGName as 'MFG Name'" ;
$strsql .=" FROM inv_t_device DE, inv_t_manufacturer MF WHERE DE.MFGCode=MF.MFGCode"; $strQryStr="&PAGETYPE=MFGTYPE"; $strPrvQryStr="PAGETYPE=NET"; if ($strCode !="") { $strsql .=" AND DE.DeviceTypeCode= '".SQLSafeString($strCode)."'"; $strQryStr.="&DETYCODE=".JSSafeString($strCode); //$strPrvQryStr.="&DETYCODE=".$strCode;
if (isset($_GET['NWCODE'])) { $strTemp1=QuerySafeString($_GET["NWCODE"]); $strsql .=" AND DE.NetworkCode= '". SQLSafeString($strTemp1)."'"; $strQryStr.="&NWCODE=".JSSafeString($strTemp1); $strPrvQryStr.="&NWCODE=".JSSafeString($strTemp1); } } $strsql .=" ORDER BY 2 ASC"; $strCurQryStr="MFCODE"; } elseif ($strPageType=="MFGTYPE") { $strsql = "SELECT DE.DeviceCode ,DE.DeviceName as 'Device Name'" ; $strsql .=" FROM inv_t_device DE WHERE "; $strPrvQryStr="PAGETYPE=DTYPE"; $strQryStr="&PAGETYPE=DEVICE"; $strCode=""; if (isset($_GET['MFCODE'])) { $strCode=QuerySafeString($_GET["MFCODE"]); } if ($strCode !="") { $strsql .=" DE.MFGCode= '".SQLSafeString($strCode)."'"; $strQryStr="&MFCODE=".JSSafeString($strCode); if (isset($_GET['DETYCODE'])) { $strTemp1=QuerySafeString($_GET["DETYCODE"]); $strQryStr.="&DETYCODE=".JSSafeString($strTemp1); $strsql .=" AND DE.DeviceTypeCode= '".SQLSafeString($strTemp1)."'"; $strPrvQryStr.="&DETYCODE=".JSSafeString($strTemp1); } if (isset($_GET['NWCODE'])) { $strTemp1=QuerySafeString($_GET["NWCODE"]); $strQryStr.="&NWCODE=".JSSafeString($strTemp1); $strsql .=" AND DE.NetworkCode= '".SQLSafeString($strTemp1)."'"; $strPrvQryStr.="&NWCODE=".JSSafeString($strTemp1); }
}
}
$strsql .=" ORDER BY 2 ASC"; //print $strsql; $strCurQryStr="DEVICE";