RANCANG BANGUN SISTEM INFORMASI PENYIMPANAN BERKAS ELEKTRONIK MENGGUNAKAN VALIDASI MD5
BERBASIS CLOUD COMPUTING
SKRIPSI
OLEH
NIM : 090010398 NAMA : I MADE WIRA IRAWAN JENJANG STUDI : STRATA SATU (S1) PROGRAM STUDI : SISTEM KOMPUTER
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER
(STMIK) STIKOM BALI 2013
RANCANG BANGUN SISTEM INFORMASI PENYIMPANAN BERKAS ELEKTRONIK MENGGUNAKAN VALIDASI MD5
BERBASIS CLOUD COMPUTING
SKRIPSI
DIAJUKAN SEBAGAI SALAH SATU SYARAT UNTUK MENCAPAI GELAR SARJANA
PROGRAM STUDI SISTEM KOMPUTER
OLEH
NIM : 090010398 NAMA : I MADE WIRA IRAWAN JENJANG STUDI : STRATA SATU (S1) PROGRAM STUDI : SISTEM KOMPUTER
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER
(STMIK) STIKOM BALI 2013
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadapan Tuhan Yang Maha Esa,
karena atas berkat, rahmat dan penyertaan-Nya. Penulis dapat menyelesaikan
tugas akhir (skripsi) yang judul “Rancang Bangun Sistem Informasi Penyimpanan
Berkas Elektronik Menggunakan Validasi MD5 Berbasis Cloud Computing” tepat
pada waktunya.
Dalam pelaksanaan dan penulisan tugas akhir (skripsi) ini, penulis banyak
mendapat masukan dan bantuan dari berbagai pihak. Maka pada kesempatan
ini, penulis ingin menyampaikan ucapan terima kasih kepada:
1. Bapak Drs.Dadang Hermawan,Ak.,M.M. selaku Ketua Sekolah Tinggi
Manajemen Informatika dan Teknik Komputer (STMIK) STIKOM Bali.
2. Bapak Roy Rudolf Huizen,S.T.,M.T. selaku Pembantu Ketua I
(STMIK) STIKOM Bali dan juga selaku pembimbing I yang telah
memberikan masukan dalam penyelesaian tugas akhir (skripsi) ini.
3. Bapak I Made Adi Purwantara,S.T.,M.Kom. selaku Ketua Program
Studi Sistem Komputer di (STMIK) STIKOM Bali dan juga selaku
pembimbing II yang telah memberikan masukan dalam penyelesaian
tugas akhir (skripsi) ini.
4. Seluruh Staff dan Dosen Pengajar di lingkungan (STMIK) STIKOM
Bali atas bantuan dan ilmunya selama ini.
5. Orang tua, keluarga, penggurus dan staff ARDIN Provinsi Bali, teman-
teman KUPIT, teman-teman mahasiswa (STMIK) STIKOM Bali, serta
semua pihak yang tidak dapat penulis sebutkan satu persatu disini.
Penulis berharap mudah-mudahan laporan tugas akhir (skripsi) ini, dapat
berguna dan bermanfaat bagi para pembaca.
Akhir kata, penulis menyadari bahwa laporan tugas akhir (skripsi) ini jauh
dari kata sempurna. Oleh karena itu, penulis mohon kritikan dan saran yang
membangun.
Denpasar, 25 Maret 2013
Penulis
i
RANCANG BANGUN SISTEM INFORMASI PENYIMPANAN BERKAS ELEKTRONIK MENGGUNAKAN VALIDASI MD5 BERBASIS CLOUD
COMPUTING
ABSTRAK
Cloud computing merupakan suatu layanan baru dalam bidang teknologi informasi, karena menggabungkan pemanfaatan teknologi komputer dan berkembangnya internet. Salah satu contoh layanan berbasis cloud computing adalah media penyimpanan berkas elektronik. Dalam pemanfaatan layanan ini, integritas berkas merupakan suatu hal yang penting bagi pengguna layanan, karena berkas yang disimpan akan dikelola atau diketahui oleh penyedia layanan.
Layanan penyimpanan berkas elektronik berbasis cloud computing ini dibuat menggunakan bahasa pemrograman PHP, serta database menggunakan MySQL, dan proses integritas berkas menggunakan validasi dari algoritma MD5 yang terdapat pada bahasa pemrograman PHP.
Hasil dari uji coba sistem penyimpanan berkas elektronik menggunakan validasi MD5 berbasis cloud computing adalah sistem telah memberi jaminan integritas berkas melalui pemanfaatan algoritma MD5 melalui pencocokan nilai hash antara berkas yang di-upload dan berkas yang di-download, serta berkas yang disimpan pada sistem dapat diakses dari mana dan kapan saja oleh pengguna layanan karena sistem dibangun berbasis web.
Kata Kunci : Penyimpanan Berkas Elektronik, Cloud Computing, Algoritma MD5
ii
iii
DESIGN INFORMATION SYSTEM ELECTRONIC FILE STORAGE USING VALIDATION MD5 BASED CLOUD COMPUTING
ABSTRACT
Cloud computing is a new service in the field of information technology, because it combines the use of computer technology and the development of the Internet. One example of cloud computing-based services is the electronic file storage. In the utilization of these services, file integrity is an important thing for consumers, because the file is stored will be administered or recognized by the service provider.
Electronic file storage service based cloud computing is built using PHP programming language and uses the MySQL database. The process of validation of the integrity of the files using the MD5 algorithm contained in the PHP programming language.
The results of the test the electronic file storage system using MD5 validation of cloud-based computing are the system has to guarantee the integrity of the files through the use of the MD5 algorithm by matching hash value between the uploaded files and files that are downloaded, as well as files stored on the system can be accessed from anywhere and at any time by the client, because the system is web-based.
Keywords: Electronic File Storage, Cloud Computing, MD5 Algorithm
DAFTAR ISI
Halaman KATA PENGANTAR ..................................................................................................... i
ABSTRAK .................................................................................................................... ii
DAFTAR ISI ................................................................................................................ iv
DAFTAR TABEL ........................................................................................................ vii
DAFTAR GAMBAR ................................................................................................... viii
BAB I PENDAHULUAN ............................................................................................ 1 1.1 Latar Belakang .......................................................................................... 1
1.2 Rumusan Masalah..................................................................................... 2
1.3 Tujuan Penelitian ....................................................................................... 2
1.4 Manfaat Penelitian ..................................................................................... 2
1.5 Ruang Lingkup Penelitian ......................................................................... 3
1.6 Metode Penelitian ...................................................................................... 4
BAB II TINJAUAN PUSTAKA ................................................................................... 6 2.1 Teknologi Informasi ................................................................................... 6
2.2 Teknologi Penyimpanan ............................................................................ 6
2.3 Sistem Informasi ........................................................................................ 7
2.4 Komputer Awan (Cloud Computing) .......................................................... 7
2.5 Kriptografi ................................................................................................ 10
2.6 Fungsi Hash dan Fungsi Hash Satu Arah ............................................... 11
2.7 Algoritma MD5 ......................................................................................... 13
2.8 Diagram Alir Data / DFD (Data Flow Diagram) ........................................ 17
2.9 ERD (Entity Relationship Diagram) ......................................................... 18
2.10 DBMS (Database Management System) ................................................ 19
2.11 MySQL .................................................................................................... 19
2.12 HTML (HyperText Markup Language) ..................................................... 20
2.13 PHP (PHP Hypertext Preprocessor) ........................................................ 20
2.14 JavaScript ................................................................................................ 21
BAB III ANALISA DAN DESAIN SISTEM ............................................................... 22 3.1 Analisa Sistem ......................................................................................... 22
iv
3.2 Sistem Flow ............................................................................................. 23
3.3 Data Flow Diagram (DFD) ....................................................................... 23
3.3.1 Diagram Konteks ........................................................................... 23
3.3.2 Diagram Level 0 ............................................................................ 24
3.3.3 Diagram Level 1 pada Proses Login Sistem ................................. 24
3.3.4 Diagram Level 1 pada Proses Pengelolaan Data dan Upload
Berkas Pengguna .......................................................................... 24
3.3.5 Diagram Level 1 pada Proses Download Data dan Validasi
MD5 ............................................................................................... 27
3.3.6 Diagram Level 1 pada Proses Pengelola Data Penyedia .............. 27
3.3.7 Diagram Level 1 pada Proses Keluhan/ Saran Pengguna
Layanan ......................................................................................... 27
3.3.8 Diagram Level 1 pada Proses Laporan ......................................... 29
3.4 Entity Relationship Diagram (ERD) ......................................................... 29
3.5 Konseptual Database .............................................................................. 29
3.6 Struktur Tabel .......................................................................................... 32
3.6.1 Tabel Administrator ...................................................................... 32
3.6.2 Tabel Extension ............................................................................ 32
3.6.3 Tabel Jumlah Space ..................................................................... 33
3.6.4 Tabel Kategori .............................................................................. 33
3.6.5 Tabel Keluhan .............................................................................. 33
3.6.6 Tabel List Download ..................................................................... 34
3.6.7 Tabel Log Administrator ............................................................... 34
3.6.8 Tabel Log Pengguna .................................................................... 35
3.6.9 Tabel Pengguna ........................................................................... 35
3.6.10 Tabel Space ................................................................................. 36
3.6.11 Tabel Upload ................................................................................ 36
3.7 Desain Antarmuka Sistem ....................................................................... 37
3.7.1 Desain Antarmuka Pengguna Layanan ........................................ 37
3.7.2 Desain Antarmuka Penyedia Layanan ......................................... 48
BAB IV IMPLEMENTASI SISTEM ........................................................................... 55 4.1 Hardware dan Software Pendukung........................................................ 55
4.2 Pengujian Sistem .................................................................................... 55
4.2.1 Pengujian Sistem pada Halaman Pengguna Layanan .................. 55
v
vi
4.2.2 Pengujian Sistem pada Halaman Penyedia Layanan ................... 65
4.2.3 Pengujian Integritas Berkas pada Sistem ...................................... 71
BAB V PENUTUP .................................................................................................... 72 5.1 Kesimpulan .............................................................................................. 72
5.2 Saran ....................................................................................................... 72
DAFTAR PUSTAKA ................................................................................................. 73 LAMPIRAN ............................................................................................................... 74
DAFTAR TABEL Tabel Halaman 3.1 Tabel Administrator .......................................................................................... 32
3.2 Tabel Extension ................................................................................................ 32
3.3 Tabel Jumlah Space ......................................................................................... 33
3.4 Tabel Kategori .................................................................................................. 33
3.5 Tabel Keluhan .................................................................................................. 34
3.6 Tabel List Download ......................................................................................... 34
3.7 Tabel Log Administrator ................................................................................... 35
3.8 Tabel Log Pengguna ........................................................................................ 35
3.9 Tabel Pengguna ............................................................................................... 35
3.10 Tabel Space ..................................................................................................... 36
3.11 Tabel Upload .................................................................................................... 37
4.1 Tabel Hasil Pengujian Integritas Berkas........................................................... 71
vii
DAFTAR GAMBAR Gambar Halaman 2.1 Lima Komponen Sistem Informasi..................................................................... 7
2.2 Komputer Awan (Cloud Computing) .................................................................. 8
2.3 Layanan Komputer Awan (Cloud Computing) ................................................. 10
2.4 Contoh hashing beberapa pesan dangan panjang sembarangan ................... 12
2.5 Pembuatan Message Digest dengan Algoritma MD5 ...................................... 13
2.6 Pengolahan blok 512 bit (Proses HMD5) ........................................................... 15
2.7 Operasi Dasar MD5 ......................................................................................... 16
2.8 Komponen DFD (Data Flow Diagram) ............................................................. 18
3.1 Skema Sistem Informasi Penyimpanan Berkas Elektronik .............................. 22
3.2 Sistem Flow Umum dari Sistem ...................................................................... 23
3.3 Diagram Konteks ............................................................................................. 24
3.4 Diagram Level 0 .............................................................................................. 25
3.5 Diagram Level 1 pada Proses Login Sistem ................................................... 26
3.6 Diagram Level 1 pada Pengelolaan Data dan Upload Berkas Pengguna ....... 26
3.7 Diagram Level 1 pada Proses Proses Download Data dan Validasi MD5 ...... 27
3.8 Diagram Level 1 pada Proses Pengelola Data Penyedia............................... 28
3.9 Diagram Level 1 pada Proses Keluhan/ Saran Pengguna Layanan ............... 28
3.10 Diagram Level 1 pada Proses Laporan ........................................................... 29
3.11 Entity Relationship Diagram (ERD) ................................................................. 30
3.12 Konseptual Database ...................................................................................... 31
3.13 Desain Halaman Pengguna Layanan .............................................................. 38
3.14 Desain Menu Kiri Sebelum Login Sistem ........................................................ 38
3.15 Desain Menu Kiri Sesudah Login Sistem ........................................................ 39
3.16 Desain Form Registrasi Perusahaan Pengguna Layanan .............................. 40
3.17 Desain Halaman Login Pengguna Layanan .................................................... 40
3.18 Desain Halaman Merubah Foto Profil ............................................................. 41
3.19 Desain Halaman Merubah Data Personal ....................................................... 41
3.20 Desain Halaman Merubah Password .............................................................. 42
3.21 Desain Halaman Link Promosi ........................................................................ 42
3.22 Desain Halaman Akumulasi Space Anda ........................................................ 42
3.23 Desain Halaman Daftar Perusahaan Mendaftar Melalui Promosi ................... 43
3.24 Desain Halaman Menampilkan Data Folder/ Kategori Berkas ........................ 43
viii
3.25 Desain Halaman Menambahkan Data Folder/ Kategori Berkas ...................... 43
3.26 Desain Halaman Merubah Data Folder/ Kategori Berkas ............................... 44
3.27 Desain Halaman Menampilkan Data/ Berkas yang di-upload ......................... 44
3.28 Desain Halaman Menambah Data/ Berkas Upload ......................................... 44
3.29 Desain Halaman Merubah Data/ Berkas Upload Pada Sistem ....................... 45
3.30 Desain Halaman Menampilkan Daftar Download Terakhir .............................. 45
3.31 Desain Halaman Cek MD5 File Hasil Download ............................................. 46
3.32 Desain Halaman Menampilkan Keluhan dan Saran Pengguna Layanan ........ 46
3.33 Desain Halaman Menambah/ Menyampaikan Keluhan dan Saran
Pengguna Layanan ......................................................................................... 47
3.34 Desain Halaman Histori Masuk dan Keluar ..................................................... 47
3.35 Desain Halaman Login Penyedia Layanan ..................................................... 48
3.36 Desain Halaman Utama Penyedia Layanan .................................................... 49
3.37 Desain Halaman Menampilkan Data User Penyedia Layanan ........................ 49
3.38 Desain Halaman Memasukan Data User Penyedia Layanan ......................... 49
3.39 Desain Halaman Merubah Data User Penyedia Layanan ............................... 50
3.40 Desain Halaman Menampilkan Data Histori User Penyedia Layanan ............ 50
3.41 Desain Halaman Menampilkan Data Space .................................................... 50
3.42 Desain Halaman Merubah Data Space ........................................................... 51
3.43 Desain Halaman Menampilkan Data Ekstensi Berkas .................................... 51
3.44 Desain Halaman Menambahkan Data Ekstensi Berkas .................................. 51
3.45 Desain Halaman Merubah Data Ekstensi Berkas ........................................... 52
3.46 Desain Halaman Menampilkan Data Keluhan/ Saran ..................................... 52
3.47 Desain Halaman Merespon Keluhan/ Saran ................................................... 52
3.48 Desain Halaman Pengguna Layanan Aktif ...................................................... 53
3.49 Desain Halaman Pengguna Layanan Belum dikonfirmasi .............................. 53
3.50 Desain Halaman Mengganti Profil Penyedia Layanan Log-in ......................... 54
3.51 Desain Halaman Mengganti Password Penyedia Layanan ............................. 54
4.1 Halaman Registrasi Pengguna Layanan ......................................................... 56
4.2 Halaman Login Pengguna Layanan ................................................................ 57
4.3 Tampilan Menu Kiri Pengguna Layanan ......................................................... 57
4.4 Halaman Ganti Foto Profil Pengguna Layanan ............................................... 58
4.5 Halaman Merubah Data Perusahaan Pengguna Layanan .............................. 58
4.6 Halaman Ganti Password Pengguna Layanan................................................ 59
4.7 Tampilan Halaman Link Promosi ..................................................................... 59
ix
x
4.8 Tampilan Halaman Akumulasi Space.............................................................. 60
4.9 Tampilan Halaman Pendaftar Melalui Link Promosi ........................................ 60
4.10 Halaman Menampilkan Data Kategori/ Folder Pengguna Layanan ................ 60
4.11 Halaman Membuat Kategori/ Folder ............................................................... 61
4.12 Halaman Merubah Data Kategori/ Folder ........................................................ 61
4.13 Halaman Menampilkan Berkas Pada kategori/ Folder .................................... 61
4.14 Halaman Meng-upload Berkas ........................................................................ 62
4.15 Halaman Daftar Download Berkas Pengguna Layanan .................................. 62
4.16 Halaman Cek Hash MD5 Berkas..................................................................... 63
4.17 Halaman Daftar Keluhan/ Saran ..................................................................... 63
4.18 Halaman Menyampaikan Keluhan/ Saran Pengguna Layanan ....................... 64
4.19 Halaman Histori Masuk dan Keluar Sistem Pengguna Layanan ..................... 64
4.20 Halaman Login Penyedia Layanan.................................................................. 65
4.21 Halaman Menu Utama Penyedia Layanan ...................................................... 65
4.22 Halaman Menampilkan Data User Penyedia Layanan .................................... 66
4.23 Halaman Menambahkan Data User Penyedia Layanan ................................. 66
4.24 Halaman Merubah Data User Penyedia Layanan ........................................... 66
4.25 Halaman Menampilkan Data Histori Masuk dan Keluar Sistem
Penyedia Layanan ........................................................................................... 67
4.26 Halaman Menampilkan Data Space ................................................................ 67
4.27 Halaman Merubah Data Space ....................................................................... 67
4.28 Halaman Menampilkan Data Ekstensi/ Tipe Berkas ....................................... 68
4.29 Halaman Menambah Data Ekstensi/ Tipe Berkas ........................................... 68
4.30 Halaman Merubah Data Ekstensi/ Tipe Berkas ............................................... 68
4.31 Halaman Menampilkan Data Keluhan/ Saran Pengguna Layanan ................. 69
4.32 Halaman Merespon Data Keluhan/ Saran Pengguna Layanan ....................... 69
4.33 Halaman Menampilkan Data Pengguna Layanan (Perusahaan) Aktif ............ 69
4.34 Halaman Menampilkan Data Pendaftar Belum dikonfirmasi ........................... 70
4.35 Halaman Merubah Data Profil Penyedia Layanan Login ................................. 70
4.36 Halaman Merubah Password Penyedia Layanan Login .................................. 70
BAB I PENDAHULUAN
1.1 Latar Belakang Penyimpanan berkas elektronik merupakan bagian dari teknologi
penyimpanan dan menjadi salah satu komponen penting pada komputer.
Penyimpanan berkas elektronik dikelompokkan dalam teknologi
penyimpanan secara eksternal (external storage) yang memiliki tugas
sebagai piranti yang dapat menyimpan data secara permanen, walaupun
komputer dalam keadaan mati.
Berkembangnya dunia teknologi saat ini, berperan penting dalam
perkembangan teknologi penyimpanan berkas elektronik. Salah satu
contoh dari perkembangan tersebut adalah media penyimpanan berkas
elektronik secara online (online storage). Media penyimpanan berkas
elektronik secara online memiliki tujuan yang menguntungkan karena
dapat mengatasi masalah penyimpanan berkas dengan baik, sehingga
para pengguna dapat dengan mudah mengakses berkas mereka dari
mana dan kapan saja tanpa terhalang jarak dan waktu.
Internet merupakan bagian terpenting yang tidak dapat dipisahkan
dari implementasi media penyimpanan berkas elektronik secara online,
karena tanpa adanya internet para pengguna tidak dapat menikmati
keuntungan yang dimiliki oleh media penyimpanan berkas elektronik
secara online tersebut. Oleh karena itu, dengan gabungan antara
pemanfaatan teknologi komputer dan berkembangnya internet
memunculkan suatu layanan baru dalam bidang teknologi informasi yang
disebut dengan komputer awan (cloud computing). Cloud computing
dalam media penyimpanan berkas elektronik secara online memiliki
tujuan untuk menciptakan suatu layanan penyimpanan berkas elektronik
yang dapat digunakan oleh penguna secara luas tanpa harus melakukan
investasi, baik investasi dari segi hardware maupun software
pendukungnya.
Selain keuntungan yang dimiliki dari implementasi tersebut, pasti
juga terdapat kekurangannya. Salah satu kekurangannya adalah masalah
keutuhan/ integritas data, dimana data yang pengguna simpan dalam
1
2
media penyimpanan berkas elektronik ini akan dikelola atau diketahui
oleh para penyedia layanan. Oleh karena itu untuk menjaga keutuhan/
integritas data, maka penyedia layanan dapat memanfaatkan algoritma
MD5 (Message-Digest Algorithm 5) untuk validasinya. Algoritma MD5 ini
berfungsi untuk menjamin keutuhan/ integritas data, agar data yang di-
upload dan di-download oleh para pengguna pada media penyimpanan
berkas elektronik tetap sama dan dapat dipertanggungjawabkan
keutuhannya. Sehingga dengan demikian, pada penelitian ini mengambil
tema “Rancang Bangun Sistem Informasi Penyimpanan Berkas Elektronik
Menggunakan Validasi MD5 Berbasis Cloud Computing”.
1.2 Rumusan Masalah Berdasarkan uraian pada latar belakang penelitian, maka rumusan
masalah pada penelitian ini adalah bagaimana merancang dan
membangun sistem informasi penyimpanan berkas elektronik
menggunakan validasi MD5 berbasis cloud computing?
1.3 Tujuan Penelitian Tujuan penelitian yang ingin dicapai, sesuai dengan rumusan
masalah diatas adalah untuk merancang dan membangun sistem
informasi penyimpanan berkas elektronik berbasis cloud computing yang
dilengkapi dengan fasilitas jaminan keutuhan/ integritas berkas
menggunakan validasi dari algoritma MD5.
1.4 Manfaat Penelitian Manfaat yang ingin didapat dari tujuan penelitian terhadap sistem
yang dibangun untuk para pengguna layanan pada penelitian ini, antara
lain sebagai berikut:
1. Sistem yang dibangun dapat digunakan oleh pengguna layanan
secara luas tanpa harus membeli hardware maupun software
pendukung sebelum menggunakan layanan penyimpanan berkas
elektronik.
2. Sistem yang dibangun dapat memberikan jaminan keutuhan/
integritas berkas kepada pengguna layanan, melalui pemanfaatan
validasi Algoritma MD5 pada bahasa pemrograman PHP dalam
3
pencocokan nilai hash antara berkas yang di-upload dengan
berkas yang di-download.
3. Berkas yang disimpan pada sistem juga dapat diakses dari mana
dan kapan saja oleh pengguna layanan, karena sistem dibangun
berbasis web.
1.5 Ruang Lingkup Penelitian Ruang lingkup penelitian dan pembuatan sistem “Rancang
Bangun Sistem Informasi Penyimpanan Berkas Elektronik Menggunakan
Validasi MD5 Berbasis Cloud Computing” adalah sebagai berikut:
1. Sistem penyimpanan berkas elektronik dibangun menggunakan
bahasa pemrograman PHP (PHP: Hypertext Preprocessor) dan
user interface menggunakan HTML (HyperText Markup
Language).
2. Database yang dirancang pada penelitian ini, diimplementasikan
dengan menggunakan database MySQL.
3. Sistem yang dibangun belum dilengkapi dengan manajemen
berkas secara detail, serta proses backup dan restore berkas
layaknya media penyimpanan pada umumnya.
4. Fitur validasi MD5 (Message-Digest Algorithm 5) pada sistem,
memanfaatkan fungsi yang sudah ada pada bahasa pemrograman
PHP, sehingga pada penelitian ini hanya membahas konsep
algoritma MD5 secara umum.
5. Jenis layanan yang digunakan pada sistem, agar dapat dikatakan
sebagai sistem berbasis cloud computing adalah menggunakan
jenis layanan berbasis SaaS (Software as a Service). Sistem yang
berbasis SaaS memiliki tujuan agar sistem dapat dimanfaatkan
oleh pengguna layanan tanpa harus membeli hardware maupun
software pendukung sebelum menggunakan layanan pada sistem.
6. Pada sistem ini terdapat 2 user yang saling berinteraksi, yaitu user
administrator merupakan user penyedia layanan yang
menerapkan kebijakan dan user pengguna layanan merupakan
perusahaan terdaftar yang sudah dikonfirmasi oleh penyedia
layanan sebagai pengguna layanan aktif.
4
7. User pengguna layanan dapat mengakses berkas mereka melalui
e-mail dan password yang terdaftar pada sistem dengan
menggunakan web browser dan proses ini masih bersifat single
user.
8. Layanan ini bersifat gratis dan space layanan didapat dari
pendaftaran yang sudah dikonfirmasi oleh penyedia layanan, serta
bonus space didapat melalui hasil promosi yang dilakukan oleh
pengguna layanan.
9. Berkas yang boleh di-upload merupakan berkas bertipe Portable
Document Format (PDF) yang bertujuan untuk meminimalkan
terjadinya perubahan berkas secara mudah dan tipe berkas dapat
ditambah sesuai dengan kebijakan dari penyedia layanan.
10. User administrator tidak memiliki hak akses untuk melihat berkas-
berkas yang di-upload oleh user pengguna layanan melalui sistem
karena berkas bersifat rahasia dari pengguna layanan.
11. Fitur validasi MD5 pada sistem bertujuan agar file yang di-
download oleh user pengguna, integritas dan keutuhan berkasnya
sama dengan file yang tercatat pada sistem. Proses ini dilakukan
melalui pencocokan hasil hash yang didapat dari file melalui
pemanfaatan algoritma MD5 pada bahasa pemrograman PHP.
12. Sistem tidak memberikan konfirmasi atau pemberitahuan atas
segala kegiatan yang dilakukan oleh pengguna layanan melalui e-
mail yang terdaftar pada sistem.
1.6 Metode Penelitian Dalam membantu proses penyelesaian permasalahan pada
“Rancang Bangun Sistem Informasi Penyimpanan Berkas Elektronik
Menggunakan Validasi MD5 Berbasis Cloud Computing”, maka
menggunakan 4 teknik metode penelitian, antara lain:
1. Teknik Pengumpulan Data
Teknik pengumpulan data menggunakan 2 metode pengumpulan
data yaitu metode observasi dan studi literatur. Metode observasi
merupakan metode yang dilakukan untuk mengumpulkan data
melalui pengamatan secara langsung terhadap objek-objek terkait,
seperti mengunjungi situs-situs penyimpanan berkas secara
5
online. Sedangkan metode studi literatur, merupakan metode
pengumpulan data yang dilakukan melalui buku atau jurnal ilmiah
yang berhubungan dengan permasalahan, seperti buku atau jurnal
yang berhubungan dengan media penyimpanan, algoritma MD5,
dan cloud computing agar dapat dijadikan referensi/ acuan dalam
memecahkan permasalahan yang dihadapi.
2. Analisa dan Desain
Pada tahap analisa dan desain sistem, dilakukan proses analisis
dan desain terhadap masalah sesuai dengan batasan masalah
agar mudah dipahami. Pada tahap ini akan merancang dan
menghasilkan DFD (Data Flow Diagram), ERD (Entity
Relationship Diagram), serta dilanjutkan dengan merancang
tampilan (interface) sebagai antarmuka antara sistem dan
pengguna nantinya.
3. Implementasi dan Uji Coba Sistem
Pada tahap ini, rancangan dari hasil analisa dan desain, kemudian
diimplementasikan dengan menggunakan bahasa pemrograman
PHP (PHP: Hypertext Preprocessor), database menggunakan
MySQL, tampilan (user interface) dibangun menggunakan HTML
(HyperText Markup Language). Setelah itu dilanjutkan dengan
melakukan serangkaian uji coba terhadap sistem, guna
mengetahui apakah sistem yang dibangun sudah berjalan dengan
benar sesuai dengan rancangan dan memperbaiki sistem jika
masih terdapat kesalahan.
4. Penulisan Laporan
Pada tahap penulisan laporan, akan membuat laporan yang
mencakup seluruh penelitian, dari tahap awal sampai tahap akhir
penelitian.
BAB II TINJAUAN PUSTAKA
2.1 Teknologi Informasi Teknologi informasi (information technology) atau yang biasa
disebut TI, IT, maupun infotech secara implisit dan eksplisit tidak sekedar
berupa teknologi komputer, tetapi juga mencakup teknologi
telekomunikasi. Sehingga dengan kata lain, teknologi informasi adalah
gabungan antara teknologi komputer dan teknologi telekomunikasi (Abdul
Kadir & Terra CH. Triwahyuni, 2005).
Teknologi komputer merupakan teknologi yang berhubungan
dengan komputer dan termasuk peralatan-peralatan yang berhubungan
dengan komputer, seperti printer, pembaca sidik jari, bahkan CD-ROM.
Komputer pada dasarnya merupakan mesin serbaguna yang dapat
dikontrol oleh program dan digunakan untuk mengolah data menjadi
informasi. Sedangkan, teknologi komunikasi (teknologi telekomunikasi)
merupakan teknologi yang berhubungan dengan komunikasi jarak jauh
dan kategori yang termasuk dalam teknologi komunikasi adalah telepon,
radio dan televisi.
Secara lebih terperinci teknologi informasi dibagi menjadi 6
kelompok teknologi, yakni:
1. Teknologi komunikasi
2. Teknologi masukan
3. Teknologi keluaran
4. Teknologi perangkat lunak
5. Teknologi penyimpanan, dan
6. Teknologi mesin pemroses.
2.2 Teknologi Penyimpanan Teknologi penyimpanan yang merupakan salah satu dari teknologi
informasi, dibedakan menjadi 2 kelompok yaitu memori internal dan
penyimpanan eksternal (Abdul Kadir & Terra CH. Triwahyuni, 2005).
Memori internal (main memory atau memori utama) berfungsi
sebagai media penyimpanan sementara, baik data, program, maupun
6
7
informasi ketika proses pengolahannya dilaksanakan oleh CPU.
Sedangkan penyimpanan eksternal (external storage) dikenal juga
dengan sebutan penyimpanan sekunder, merupakan segala piranti yang
berfungsi untuk menyimpan data secara permanen. Permanen dapat
diartikan bahwa data yang terdapat pada media penyimpanan akan tetap
terpelihara dengan baik walaupun komputer sudah dalam keadaan mati
(tidak mendapat aliran listrik).
Contoh dari memori internal adalah ROM (Read-Only Memory)
dan RAM (Random Access Memory), sedangkan contoh dari
penyimpanan eksternal adalah Harddisk, Flashdisk, CD, DVD, Disket.
2.3 Sistem Informasi Sistem informasi merupakan sistem yang dibuat oleh manusia
yang terdiri dari komponen-komponen atau prosedur dari organisasi untuk
mencapai suatu tujuan yaitu menyajikan informasi bagi pengambil
keputusan guna untuk mengendalikan suatu organisasi (Al-Bahra Bin
Ladjamudin, 2005).
Komponen-komponen yang terdapat pada sistem informasi dibagi
menjadi 5 komponen dan diklasifikasikan sebagai berikut:
1. Hardware dan software yang berfungsi sebagai mesin.
2. People dan Procedures yang merupakan manusia dan tata cara
menggunakan mesin, dan
3. Data merupakan jembatan penghubung antara manusia dan
mesin agar terjadi suatu proses pengolahan data.
DATAHardware (Perangkat keras)
Software (Perangkat Lunak)
Procedures(Prosedur)
Mesin
People(Manusia)
Manusia
Gambar 2.1 Lima Komponen Sistem Informasi
2.4 Komputer Awan (Cloud Computing) Komputer awan (cloud computing) merupakan gabungan antara
pemanfaatan teknologi komputer dengan perkembangan berbasis
internet. Awan (cloud) adalah metafora dari internet, sebagaimana awan
8
yang sering digambarkan pada diagram jaringan komputer. Sehingga
awan dalam cloud computing merupakan abstraksi dari infrastruktur
kompleks yang disembunyikan (Elcom, 2012).
Cloud computing menerapkan suatu metode komputasi yang
kapabilitasnya terkait dengan teknologi informasi yang disajikan sebagai
suatu layanan/ service sehingga pengguna dapat mengaksesnya melalui
internet tanpa mengetahui apa yang ada di dalamnya.
Gambar 2.2 Komputer Awan (Cloud Computing)
Sejarah cloud computing berawal dari tahun 1960-an, saat John
McCarthy seorang pakar komputasi MIT yang dikenal juga sebagai salah
satu pionir intelejensia buatan, menyampaikan visi bahwa “Suatu hari
nanti komputasi akan menjadi infrastruktur publik seperti listrik dan
telepon”.
Cloud computing mempunyai 3 jenis layanan yaitu IaaS
(Infrastructure as a Service), PaaS (Platform as a Service) dan SaaS
(Software as a Service) dengan arti sebagai berikut (Elcom, 2012):
1. IaaS (Infrastructure as a Service)
IaaS terletak pada level paling bawah. IaaS adalah sebuah
layanan yang “menyewakan” sumber daya teknologi informasi
dasar yang meliputi media penyimpanan, processing power,
memory, sistem operasi, kapasitas jaringan. IaaS digunakan
pengguna untuk menjalankan aplikasi yang dibuatnya. Model
9
bisnisnya mirip dengan penyedia data center yang menyewakan
ruangan untuk co-location, tetapi lebih ke level mikronya dan
pengguna tidak perlu tahu dengan mesin apa dan bagaimana
caranya penyedia layanan menyediakan layanan IaaS, sehingga
yang terpenting adalah permintaan mereka atas sumber daya
dasar teknologi informasi itu dapat dipenuhi.
2. PaaS (Platform as a Service)
PaaS merupakan layanan yang menyediakan modul-modul siap
pakai dan dapat digunakan untuk mengembangkan sebuah
aplikasi. Pengguna layanan PaaS tidak memiliki kendali terhadap
sumber daya komputasi dasar karena semua akan diatur oleh
provider layanan ini. Contoh Layanan PaaS adalah Google
AppEngine yang menyediakan tools untuk mengembangkan
aplikasi diatas platform Google dengan menggunakan bahasa
pemrograman Phyton dan Django.
3. SaaS (Software as a Service)
SaaS merupakan layanan cloud computing yang paling dulu
populer. Software as a Service ini merupakan evolusi lebih lanjut
dari konsep ASP (Aplication Service Provider). Sesuai dengan
namanya, SaaS memberikan kemudahan bagi pengguna untuk
dapat memanfaatkan sumber daya perangkat lunak dengan cara
berlangganan, sehingga pengguna tidak perlu mengeluarkan
biaya investasi software dan hardware pendukung. Pengguna
layanan ini berlangganan melalui web, sehingga dapat langsung
menggunakan berbagai fitur yang disediakan oleh penyedia
layanan dan pengguna tidak memiliki kendali penuh atas aplikasi
yang mereka sewa, tetapi hanya mengendalikan fitur-fitur aplikasi
yang telah disediakan oleh penyedia layananan.
Arsitektur SaaS bersifat multi-tenant maka memaksa penyedia
untuk menyediakan fitur yang bersifat umum dan tidak spesifik
terhadap kebutuhan pengguna tertentu. Contoh layanan SaaS
adalah CRM Online, Word Processor seperti Google Docs,
Project Management, hingga Invoicing Online.
10
Gambar 2.3 Layanan Komputer Awan (Cloud Computing)
Layanan internet yang disebut atau dapat dikatakan sebagai cloud
computing, harus memenuhi beberapa syarat antara lain (Elcom, 2012):
1. Layanan bersifat “On Demand” yaitu pengguna dapat
berlangganan sesuai dengan kebutuhan dan hanya membayar
untuk yang digunakan.
2. Layanan bersifat elastis/scalable, yaitu pengguna kapan saja
dapat menambah atau mengurangi jenis dan kapasitas layanan
yang diinginkan, serta sistem selalu mengakomodasi perubahan
tersebut.
3. Layanan sepenuhnya dikelola oleh penyedia/ provider, sehingga
pengguna hanyalah membutuhkan komputer personal/ notebook
dengan koneksi internet.
2.5 Kriptografi Kriptografi (cryptography) berasal dari bahasa yunani “cryptos”
artinya secret (rahasia) dan “graphein” artinya writing (tulisan), sehingga
kriptografi merupakan tulisan rahasia (secret writing). Selain itu kriptografi
juga diartikan sebagai ilmu dan seni untuk menjaga keamanan pesan
atau merupakan ilmu yang mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi seperti kerahasiaan,
integritas data, serta otentikasi (Rinaldi Munir, 2006).
11
Kata “seni” di dalam definisi diatas berasal dari fakta sejarah
bahwa pada masa-masa awal sejarah kriptografi setiap orang mungkin
mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara unik
tersebut berbeda-beda pada setiap pelaku kriptografi, sehingga setiap
cara menulis pesan rahasia mempunyai nilai estetika tersendiri. Oleh
karena itu kriptografi berkembang menjadi sebuah seni merahasiakan
pesan.
Tujuan yang dapat dirangkum mengenai kriptografi dalam
memberikan layanan keamanan atau yang juga dapat dinamakan sebagai
aspek-aspek keamanan antara lain:
1. Kerahasiaan (confidentiality) adalah layanan yang ditujukan untuk
menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang
tidak berhak.
2. Integritas data (data integrity) adalah layanan yang menjamin
bahwa pesan masih asli/ utuh atau belum pernah dimanipulasi
selama pengiriman.
3. Otentikasi (authentication) adalah layanan yang berhubungan
dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak
yang berkomunikasi (user authentication atau entity
authentication) maupun mengidentifikasi kebenaran sumber
pesan (data origin authentication).
4. Nirpenyangkalan (non-repudiation) adalah layanan untuk
mencegah entitas yang berkomunikasi untuk melakukan
penyangkalan, yaitu pengirim pesan menyangkal melakukan
pengiriman atau penerima pesan menyangkal telah menerima
pesan.
2.6 Fungsi Hash dan Fungsi Hash Satu Arah Fungsi hash merupakan sebuah fungsi yang sesuai untuk aplikasi
keamanan seperti otentikasi dan integritas pesan. Fungsi ini sering juga
disebut dengan fungsi hash kriptografi. Fungsi hash akan menerima
masukan string yang panjangnya sembarangan dan mengkonversinya
menjadi string keluaran yang panjangnya tetap (fixed) dan umumnya
berukuran jauh lebih kecil daripada ukuran string semula (Rinaldi
Munir,2006).
12
Keterangan: h = nilai hash atau message digest. H = fungsi hash yang mengkompresi sembarang pesan. M = pesan yang berukuran sembarangan
H a lo F u n g s i h a sh a a 6 d f5 7 fb 6 fe 3 7 7 d 8 0b 4 a 2 5 7 b 4 a 9 2 c b a
N o m o r te le p o n k u 0 8 1 2 2 1 1 3 4 5 1 F u n g s i h a sh 0 9 c 8 8 f0 b 9 1 d 7 4 b 2 9 2
e 6 f8 9 5 8 7 a b 6 3 9 2 1
"T s u n a m i" m e n ja d i k a ta y a n g p o p u le r
d i In d o n e s ia s a a t in iF u n g s i h a sh a 9 9 6 d e 1 1 8 c 6 1 e a c4 9
6 3 9 8 9 a a 2 d 7 3 e 6 7 e
M a su k a n N ila i h a sh
Gambar 2.4 Contoh hashing beberapa pesan dangan panjang sembarangan
Fungsi hash satu arah (one-way hash) adalah hash yang bekerja
dalam satu arah. Pesan yang sudah diubah menjadi message digest tidak
dapat dikembalikan lagi menjadi pesan semula. Pada fungsi hash satu
arah ini, dua pesan yang berbeda akan selalu menghasilkan nilai hash
yang berbeda pula (Rinaldi Munir, 2006).
Sifat-sifat fungsi hash satu arah adalah sebagai berikut:
1. Fungsi H dapat diterapkan pada blok data berukuran berapa saja.
2. H menghasilkan nilai (h) dengan panjang tetap (fixed-lenght
output).
3. H(x) mudah dihitung untuk setiap x yang diberikan.
4. Untuk setiap h yang diberikan, tidak mungkin menemukan x
sedemikian sehingga H(x) = h. Itulah sebabnya fungsi H dikatakan
fungsi hash satu arah (one-way hash function).
5. Untuk setiap x yang diberikan, tidak mungkin mencari y ≠ x
sedemikian sehingga H(y) = H(x).
6. Tidak mungkin (secara komputasi) mencari pasangan x dan y
sedemikian sehingga H(x) = H(y).
13
Fungsi hash adalah publik (tidak dirahasiakan), dan keamanannya
terletak pada sifat satu arahnya. Fungsi hash satu arah yang sudah
pernah dibuat orang, antara lain: MD2, MD4, MD5, Secure Hash Function
(SHA), RIPMEND, WHIRLPOOL, tetapi fungsi hash satu-arah yang
banyak digunakan dalam kriptografi adalah MD5 dan SHA.
2.7 Algoritma MD5 Algoritma MD5 adalah fungsi hash satu arah yang dibuat oleh
Ronald Rivest pada tahun 1991. MD5 merupakan perbaikan dari MD4
setelah MD4 berhasil diserang oleh kriptanalis. Algoritma MD5 menerima
masukan berupa pesan dengan ukuran sembarangan dan menghasilkan
message digest yang panjangnya 128 bit (Rinaldi Munir,2006).
Gambar 2.5 Pembuatan Message Digest dengan Algoritma MD5
Langkah-langkah pembuatan message digest secara garis besar
adalah:
1. Penambahan bit-bit pengganjal (padding bits).
Pesan ditambahkan dengan sejumlah bit pengganjal sehingga
panjang pesan (dalam satuan bit) kongruen dengan 448 modulo
512. Ini berarti panjang pesan setelah ditambah bit-bit pengganjal
adalah 64 bit kurang dari kelipatan 512. Angka 512 muncul karena
MD5 memproses pesan dalam blok-blok yang berukuran 512.
Pesan dengan panjang 448 bit pun tetap ditambah dengan bit-bit
pengganjal. Jika panjang pesan 448 bit, maka pesan tersebut
14
ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit
penganjal adalah antara 1 sampai 512. Bit-bit penganjal terdiri dari
sebuah bit 1 diikuti dengan sisanya bit 0.
2. Penambahan nilai panjang pesan semula.
Pesan yang telah diberi bit-bit pengganjal, selanjutnya ditambah
lagi dengan 64 bit yang menyatakan panjang pesan semula. Jika
panjang pesan > 264, maka yang diambil adalah panjangnya
dalam modulo 264. Sehingga dengan kata lain, jika panjang pesan
semula adalah K bit, maka 64 bit yang ditambahkan menyatakan
K modulo 264. Setelah ditambahkan dengan 64 bit, panjang pesan
sekarang menjadi kelipatan 512 bit.
3. Inisialisasi penyangga (buffer) MD.
MD5 membutuhkan 4 buah penyangga (buffer) yang masing-
masing panjangnya 32 bit. Total panjangnya penyangga adalah
(4x32) = 128 bit. Keempat penyangga ini menampung hasil antara
dan hasil akhir dan keempat penyangga ini diberi nama A,B,C,D
sehingga setiap penyangga diinisialisasi dengan nilai-nilai (dalam
notasi HEX) sebagai berikut:
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210
Tetapi ada beberapa versi MD5 yang menggunakan nilai
inisialisasi berbeda, yaitu:
A = 67452301
B = EFCDAB89
C = 98BADCFE
D = 1032467)
4. Pengolahan pesan dalam blok berukuran 512 bit.
Pesan dibagi menjadi L buah blok yang sama-sama panjangnya
512 bit (Y0 sampai YL-1). Setiap blok 512 bit diproses bersama
dengan penyangga MD menjadi keluaran 128 bit, dan ini disebut
dengan proses HMD5.
15
Gambar 2.6 Pengolahan blok 512 bit (Proses HMD5)
Proses HMD5 terdiri dari 4 buah putaran, dan masing-masing
putaran melakukan operasi dasar MD5 sebanyak 16 kali dan setiap
operasi dasar memakai sebuah elemen T, sehingga setiap putaran
memakai 16 elemen tabel T. Pada gambar diatas (Gambar 2.6), Yq
menyatakan blok 512 bit ke-q dari pesan yang telah ditambah bit-bit
pengganjal dan tambahan 64 bit nilai panjang pesan semula. MDq adalah
message digest 128 bit dari proses HMD5 ke-q dan pada awal proses MDq
berisi nilai inisialisasi penyangga MD.
Fungsi-fungsi fF, fG, fH, fI pada (Gambar 2.6) diatas, masing-
masing berisi 16 kali operasi dasar terhadap masukan, setiap operasi
dasar menggunakan elemen Tabel T.
16
Gambar 2.7 Operasi Dasar MD5
Operasi dasar MD5 yang diperlihatkan pada (Gambar 2.7) dapat
ditulis dengan sebuah persamaan sebagai berikut:
a ← b + CLSs(a + g(b,c,d) + X[k] + T[i])
yang dalam hal ini: a,b,c,d = empat buah peubah penyangga 32 bit (berisi nilai penyangga
A,B,C,D).
g = salah satu fungsi F,G,H,I.
CLSs = circular left shift sebanyak s bit (notasi:<<< s).
X[k] = kelompok 32 bit ke-k dari blok 512 bit message ke-q.
Nilai k=0 sampai 15.
T[i] = elemen Tabel T ke-i (32 bit).
+ = operasi penjumlahan modulo 232.
17
Karena ada 16 kali operasi dasar, maka setiap kali selesai satu operasi
dasar, penyangga-penyangga itu digeser ke kanan secara sirkuler
dengan cara pertukaran sebagai berikut:
temp ← d
d ← c
c ← b
b ← a
a ← temp
Pergeseran tersebut, dalam hal ini nilai penyangga a yang baru disalin ke
dalam penyangga b, nilai penyangga b (yang lama) disalin ke dalam
penyangga c, nilai penyangga c (yang lama) disalin ke dalam penyangga
d, dan nilai penyangga d (yang lama) disalin ke dalam penyangga a.
2.8 Diagram Alir Data / DFD (Data Flow Diagram) Diagram alir data/ DFD (Data Flow Diagram) merupakan model
dari sistem untuk menggambarkan pembagian sistem ke modul yang
lebih kecil. Salah satu keuntungan menggunakan diagram alir data adalah
memudahkan pemakai atau user yang kurang menguasai bidang
komputer untuk mengerti sistem yang akan dikerjakan (Al-Bahra Bin
Ladjamudin, 2005).
Dalam diagram alir data terdapat beberapa diagram yang terbagi
menjadi 3 diagram, antara lain sebagai berikut:
1. Diagram Konteks
Diagram konteks merupakan diagram yang terdiri dari suatu
proses dan menggambarkan ruang lingkup suatu sistem.
Diagram konteks merupakan diagram level tertinggi dari DFD
karena menggambarkan keseluruhan dari masukan ke sistem dan
keluaran dari sistem dan dalam pembuatan diagram konteks tidak
boleh ada data store.
2. Diagram Nol / Zero (Overview Diagram)
Diagram Nol merupakan diagram yang menggambarkan proses
dari data flow diagram. Diagram nol ini memberikan pandangan
secara menyeluruh mengenai sistem yang ditangani,
menunjukkan tentang fungsi-fungsi utama atau proses yang ada,
aliran data, dan eksternal entity. Pada level ini sudah
18
dimungkinkan adanya/ digambarkannya data store yang
digunakan dan untuk proses yang tidak dirinci lagi pada level
selanjutnya, dapat menggunakan simbol “*” atau “P” (Functional
Primitive) yang dapat ditambahkan pada akhir dari tiap nomer
proses. Keseimbangan input dan output (balancing) antara
diagram 0 dengan diagram konteks terpelihara.
3. Diagram Rinci (Level Diagram)
Diagram rinci merupakan diagram yang menguraikan proses apa
yang ada dalam diagram zero atau diagram level diatasnya.
Gambar 2.8 Komponen DFD (Data Flow Diagram)
2.9 ERD (Entity Relationship Diagram) Diagram Hubungan Entitas (entity relation diagram) adalah model
data berupa notasi grafis dalam pemodelan data konseptual yang
menggambarkan hubungan antara penyimpan (Edhy Sutanta, 2004).
Model data ini merupakan sekumpulan cara, peralatan untuk
mendeskripsikan data-data yang berhubungan antara data yang satu
dengan yang lain, semantiknya, serta batasan konsistensi.
Model data pada entity relation diagram terdiri dari tiga komponen
yaitu entitas, atribut, dan kerelasian antara entitas. Secara garis besar
entitas merupakan obyek dasar yang terlibat dalam sistem. Atribut
berperan sebagai penjelasan entitas dan kerelasian yang menunjukkan
hubungan yang terjadi diantara dua entitas tersebut.
19
2.10 DBMS (Database Management System) Database Management System (DBMS) merupakan perangkat
lunak sistem yang memungkinkan para pemakai membuat, memelihara,
mengontrol dan mengakses basis data dengan cara yang praktis dan
efisien. DBMS dapat digunakan untuk mengakomodasikan berbagai
macam pemakai yang memiliki kebutuhan akses yang berbeda-beda
(Abdul Kadir, 2003).
Software yang tergolong kedalam DBMS antara lain, Microsoft
SQL, MySQL, Oracle, MS. Access, dan lain sebagainya.
2.11 MySQL
MySQL merupakan sebuah program database server yang
mampu menerima dan mengirim datanya dengan sangat cepat, multi
user, serta menggunakan perintah standar SQL (Structured Query
Language) (Bunafit Nugroho, 2005).
MySQL memiliki dua bentuk lisensi yang juga merupakan
keuntungan para penggunanya, yaitu FreeSoftware dan Shareware.
MySQL yang sering digunakan pada umumnya adalah MySQL
FreeSoftware yang berada di bawah lisensi GNU/GLP (General Public
License).
Kelebihan yang dimiliki oleh MySQL dibandingkan database
lainnya adalah sebagai berikut:
1. MySQL sebagai Database Management System (DBMS).
2. MySQL sebagai Relational Database Management System
(RDBMS).
3. MySQL merupakan sebuah software database yang OpenSource.
4. MySQL merupakan sebuah database server.
5. MySQL juga merupakan sebuah database client.
6. MySQL mampu menerima query yang bertumpuk dalam satu
perintah atau yang disebut dengan Multi-Threading.
7. MySQL merupakan database yang menyimpan data dengan
kapasitas besar.
8. MySQL didukung oleh driver ODBC.
9. MySQL adalah database menggunakan enskripsi password.
10. MySQL merupakan database server yang multi user, dll.
20
2.12 HTML (HyperText Markup Language) HTML (HyperText Markup Language) merupakan sebuah bahasa
markah yang digunakan untuk membuat sebuah halaman web statis
(Abdul Kadir, 2003).
Pada saat ini, versi terbaru dari HTML adalah HTML 5 yang
merupakan perkembangan dari HTML 4 dengan mengalami perbaikan
yang cukup signifikan yang dapat mempermudah pengembangan
website.
Keuntungan yang didapat saat menggunakan HTML 5, antara lain
sebagai berikut:
1. Fiturnya masih berdasarkan pada HTML, CSS, DOM, dan
JavaScript.
2. Mengurangi penggunaan plugin dari pihak ketiga, seperti: Flash
dan Ms. Silverlight.
3. Penanganan kesalahan lebih mudah diatasi.
4. Lebih Markup dan Scripting.
5. Lebih independen, dan
6. Pengembangan ke publik yang lebih baik.
2.13 PHP (PHP Hypertext Preprocessor)
PHP (PHP Hypertext Preprocessor) yang digunakan sebagai
bahasa script server-side dalam pengembangan web yang disisipkan
pada dokumen HTML. Penggunaan PHP memungkinkan web dapat
dibuat dengan dinamis sehingga maintenance situs web tersebut menjadi
lebih mudah dan efisien (Kasiman Peranginangin, 2006).
PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasa
script sejenisnya karena PHP difokuskan pada pembuatan script server-
side yang bisa melakukan apa saja yang dapat dilakukan oleh CGI
(Common Gateway Interface), seperti mengumpulkan data di form,
menghasilkan isi halaman web dinamis, dan kemampuan mengirim serta
menerima cookies, bahkan lebih daripada kemampuan CGI. CGI sendiri
merupakan skrip tertua dalam bidang pemrograman web dan suatu
standar untuk menghubungkan berbagai program aplikasi ke halaman
web.
21
PHP dapat digunakan pada semua sistem operasi, antara lain
Linux, Unix (termasuk variannya HP-UX, Solaris, dan OpenBSD),
Microsoft Windows, Mac OS X, RISC OS. PHP juga mendukung banyak
web server, seperti Apache, Microsoft Internet Information Server (MIIS),
Personal Web Server (PWS), Netscape and iPlanet Servers, dll.
2.14 JavaScript
JavaScript merupakan bahasa yang digunakan untuk membuat
program agar dokumen HTML yang ditampilkan dalam browser menjadi
lebih interaktif dan tidak sekedar indah (Betha Sidik, 2011). JavaScript
memberikan beberapa fungsionalitas ke dalam halaman web, sehingga
dapat menjadi sebuah program yang disajikan dengan menggunakan
antarmuka web.
JavaScript merupakan bahasa script yang tidak memerlukan
kompiler untuk menjalankannya karena cukup dengan menggunakan
interpreter.
JavaScript merupakan bahasa script yang ringan dan mudah
digunakan, sehingga dengan adanya JavaScript maka halaman web tidak
sekedar menjadi halaman data atau informasi saja, tetapi juga dapat
menjadi suatu program aplikasi dengan antarmuka web.
BAB III ANALISA DAN DESAIN SISTEM
3.1 Analisa Sistem Pada tahap analisa dan desain sistem akan membahas tentang
sistem informasi penyimpanan berkas elektronik menggunakan validasi
MD5 berbasis cloud computing. Sistem yang akan dibangun, datanya
akan disimpan pada suatu server (cloud) yang dapat diakses dari mana
saja dan secara bebas oleh para pengguna yang telah terdaftar pada
sistem melalui komputer personal/ notebook yang memiliki koneksi
internet dan terinstall aplikasi web browser, karena sistem dibangun
berbasis web. Sistem ini juga dilengkapi dengan validasi MD5 yang
bertujuan untuk memberi jaminan keutuhan/ integritas berkas para
pengguna (perusahaan yang terdaftar pada sistem), sehingga berkas
yang di-upload ke sistem sama dengan berkas yang di-download dari
sistem.
Gambar 3.1 Skema Sistem Informasi Penyimpanan
Berkas Elektronik
22
23
3.2 Sistem Flow
Sistem Flow merupakan bagan yang menggambarkan hubungan
antara input, proses dan output dari sistem yang akan diimplementasikan
ke sistem komputer. Bagan ini menjelaskan urutan prosedur-prosedur
yang ada di dalam sistem.
Gambar 3.2 Sistem Flow Umum dari Sistem
3.3 Data Flow Diagram (DFD) Data flow diagram (DFD) atau yang sering disebut diagram alir
data berfungsi untuk menunjukkan aliran data yang terjadi pada sistem.
Data flow diagram ini pada umumnya terdiri dari beberapa level, yaitu
Diagram Konteks, Level 0, Level 1 dan seterusnya.
3.3.1 Diagram Konteks Diagram konteks merupakan sebuah diagram sederhana yang
menggambarkan hubungan antara entitas luar, masukan dan
keluaran dari sistem (Gambar 3.3).
24
3.3.2 Diagram Level 0 Diagram level 0 ini berfungsi untuk mengetahui proses yang ada
pada diagram konteks. Proses pada diagram konteks dipecah
menjadi 8 proses dan terdapat 11 data store. (Gambar 3.4).
3.3.3 Diagram Level 1 pada Proses Login Sistem Diagram level 1 pada proses login sistem, dikembangkan menjadi
2 proses yaitu proses login pengguna sistem dan proses login
penyedia sistem. Perkembangan dari proses ini, merupakan
perkembangan dari proses login sistem yang terdapat diagram
level 0 (Gambar 3.5).
3.3.4 Diagram Level 1 pada Proses Pengelolaan Data dan Upload Berkas Pengguna
Diagram level 1 pada proses pengelolaan data dan upload berkas
pengguna, dikembangkan menjadi 2 proses yaitu proses
pengelolaan data pengguna (data profil) dan proses upload berkas
pengguna. Perkembangan dari proses ini, merupakan
perkembangan dari proses pengelolaan data dan upload berkas
pengguna yang terdapat diagram level 0 (Gambar 3.6).
Gambar 3.3 Diagram Konteks
25
Gambar 3.4 Diagram Level 0
26
Gambar 3.5 Diagram Level 1 pada Proses Login Sistem
Gambar 3.6 Diagram Level 1 pada Pengelolaan Data
dan Upload Berkas Pengguna
27
3.3.5 Diagram Level 1 pada Proses Download Data dan Validasi MD5
Diagram level 1 pada proses download data dan validasi MD5,
dikembangkan menjadi 2 proses yaitu proses download data dan
proses validasi MD5. Perkembangan dari proses ini, merupakan
perkembangan dari proses download data dan validasi MD5 yang
terdapat diagram level 0 (Gambar 3.7).
Gambar 3.7 Diagram Level 1 pada Proses Proses Download Data dan Validasi MD5
3.3.6 Diagram Level 1 pada Proses Pengelola Data Penyedia
Diagram level 1 pada proses pengelola data penyedia (data
master), dikembangkan menjadi 3 proses yaitu proses pengelola
data administrator, pengelola data extension, dan pengelola data
space. Perkembangan dari proses ini, merupakan perkembangan
dari proses pengelola data penyedia yang terdapat diagram level
0 (Gambar 3.8).
3.3.7 Diagram Level 1 pada Proses Keluhan/ Saran Pengguna Layanan
Diagram level 1 pada proses keluhan/ saran pengguna layanan,
dikembangkan menjadi 2 proses yaitu proses penyampaian data
keluhan/saran dari pengguna sistem dan proses respon data
keluhan/ saran dari penyedia sistem. Perkembangan dari proses
28
ini, merupakan perkembangan dari proses keluhan/ saran
pengguna layanan yang terdapat diagram level 0 (Gambar 3.9).
Gambar 3.8 Diagram Level 1 pada Proses Pengelola Data
Penyedia
Gambar 3.9 Diagram Level 1 pada Proses Keluhan/ Saran Pengguna Layanan
29
3.3.8 Diagram Level 1 pada Proses Laporan Diagram level 1 pada proses laporan, dikembangkan menjadi 2
proses yaitu proses laporan data upload kepada pengguna
layanan dan proses laporan space terpakai kepada penyedia
layanan. Perkembangan dari proses ini, merupakan
perkembangan dari proses laporan yang terdapat diagram level 0
(Gambar 3.10).
Gambar 3.10 Diagram Level 1 pada Proses Laporan
3.4 Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) merupakan model konseptual
yang mendeskripsikan hubungan antara penyimpanan yang terdapat
pada DFD. ERD sendiri menggunakan sejumlah notasi dan simbol untuk
menggambarkan struktur dan hubungan antara data (Gambar 3.11).
3.5 Konseptual Database Konseptual database merupakan suatu media penyimpanan yang
digunakan untuk menyimpan data-data penunjang sebagai masukan
sistem dan kemudian diolah menjadi data keluaran sistem (Gambar 3.12).
30
Gambar 3.11 Entity Relationship Diagram (ERD)
31
Gambar 3.12 Konseptual Database
32
3.6 Struktur Tabel Struktur tabel yang terdapat pada database sistem informasi
penyimpanan berkas elektronik menggunakan validasi MD5 berbasis
cloud computing adalah sebagai berikut:
3.6.1 Tabel Administrator Nama Tabel : tb_administrator
Fungsi : untuk menyimpan data profil administrator.
Tabel 3.1 Tabel Administrator
No Nama Field Tipe Data Keterangan
1 id_administrator int(10) Primary Key
Auto
Increment
2 nm_administrator varchar(30) -
3 mail_administrator varchar(100) -
4 pass_administrator varchar(50) -
5 hak_administrator char(1) -
6 security_question varchar(100) -
7 answer_question varchar(100) -
3.6.2 Tabel Extension Nama Tabel : tb_extension
Fungsi : untuk menyimpan data extension yang boleh
diupload ke sistem beserta besar ukuran file per
extension.
Tabel 3.2 Tabel Extension
No Nama Field Tipe Data Keterangan
1 id_extension int(10) Primary Key
Auto
Increment
2 nm_extension vachar(30) -
3 extension_file varchar(5) -
4 maximum_size_file int(10) -
33
3.6.3 Tabel Jumlah Space Nama Tabel : tb_jml_space
Fungsi : untuk menyimpan jumlah space yang didapat oleh
pengguna layanan baik space pendaftaran
maupun space bonus.
Tabel 3.3 Tabel Jumlah Space
No Nama Field Tipe Data Keterangan
1 id_jml_space int(10) Primary Key
Auto
Increment
2 tgl_jml_space datetime -
3 id_space int(10) Foreign Key
4 id_pengguna int(10) Foreign Key
3.6.4 Tabel Kategori
Nama Tabel : tb_kategori
Fungsi : untuk menyimpan data kategori/ folder dari data
yang akan di-upload.
Tabel 3.4 Tabel Kategori
No Nama Field Tipe Data Keterangan
1 id_kategori int(10) Primary Key
Auto
Increment
2 nm_kategori vachar(100) -
3 tgl_buat_kategori datetime -
4 id_pengguna int(10) Foreign Key
3.6.5 Tabel Keluhan Nama Tabel : tb_keluhan
Fungsi : untuk menyimpan data keluhan/ saran dari
pengguna, serta menyimpan data respon dari
penyedia berdasarkan keluhan/ saran pengguna
sistem.
34
Tabel 3.5 Tabel Keluhan
No Nama Field Tipe Data Keterangan
1 id_keluhan int(10) Primary Key
Auto
Increment
2 id_pengguna int(10) Foreign Key
3 tgl_keluhan datetime -
4 judul_keluhan varchar(50) -
5 keluhan text -
6 tgl_tanggapan datetime -
7 tanggapan text -
8 id_administrator int(10) Foreign Key
3.6.6 Tabel List Download Nama Tabel : tb_list_download
Fungsi : untuk menyimpan history data yang di-download
oleh pengguna layanan.
Tabel 3.6 Tabel List Download
No Nama Field Tipe Data Keterangan
1 id_download int(10) Primary Key
Auto
Increment
2 tgl_download datetime -
3 id_upload int(10) Foreign Key
4 id_pengguna int(10) Foreign Key
3.6.7 Tabel Log Administrator Nama Tabel : tb_log_administrator
Fungsi : untuk menyimpan history log-in dan log-out dari
administrator atau penyedia layanan.
35
Tabel 3.7 Tabel Log Administrator
No Nama Field Tipe Data Keterangan
1 id_log_administrator int(10) Primary Key
Auto
Increment
2 id_administrator int(10) Foreign Key
3 log_date datetime -
4 status_log varchar(3) -
3.6.8 Tabel Log Pengguna Nama Tabel : tb_log_pengguna
Fungsi : untuk menyimpan history log-in dan log-out dari
pengguna layanan.
Tabel 3.8 Tabel Log Pengguna
No Nama Field Tipe Data Keterangan
1 id_log_pengguna int(10) Primary Key
Auto
Increment
2 id_pengguna int(10) Foreign Key
3 log_date datetime -
4 status_log varchar(3) -
3.6.9 Tabel Pengguna Nama Tabel : tb_pengguna
Fungsi : untuk menyimpan data-data profil pengguna
layanan.
Tabel 3.9 Tabel Pengguna
No Nama Field Tipe Data Keterangan
1 id_pengguna int(10) Primary Key
Auto Increment
2 tgl_registrasi datetime -
3 nm_pengguna varchar(50) -
36
4 nm_pimpinan varchar(50) -
5 alamat_pengguna varchar(100) -
6 telp_pengguna varchar(20) -
7 no_siup varchar(50) -
8 mail_pengguna varchar(50) -
9 pass_pengguna varchar(50) -
10 fb_pengguna varchar(50) -
11 twitter_pengguna varchar(50) -
12 tanya_pengguna varchar(100) -
13 jawab_pengguna varchar(100) -
14 img_pengguna varchar(100) -
15 status_konfirmasi char(1) -
16 tgl_konfirmasi datetime -
17 rekomendasi int(10) -
18 id_administrator int(10) Foreign Key
3.6.10 Tabel Space Nama Tabel : tb_space
Fungsi : untuk menyimpan data master space layanan.
Tabel 3.10 Tabel Space
No Nama Field Tipe Data Keterangan
1 id_space int(10) Primary Key
Auto
Increment
2 ket_space varchar(100) -
3 space int(10) -
3.6.11 Tabel Upload Nama Tabel : Tabel Upload
Fungsi : untuk menyimpan data yang di-upload oleh
pengguna layanan.
37
Tabel 3.11 Tabel Upload
No Nama Field Tipe Data Keterangan
1 id_upload int(10) Primary Key
Auto
Increment
2 nm_upload varchar(100) -
3 ket_upload text -
4 id_kategori int(10) Foreign Key
5 type_file varchar(100) -
6 size_file varchar(100) -
7 file varchar(100) -
8 md5_file varchar(100) -
9 id_pengguna int(10) Foreign Key
10 tgl_upload datetime -
3.7 Desain Antarmuka Sistem Desain antarmuka sistem (User Interface) merupakan bagian dari
sistem informasi yang digunakan sebagai media atau alat komunikasi
antara user dan system. Desain antarmuka dari sistem informasi
penyimpanan berkas elektronik menggunakan validasi MD5 berbasis
cloud computing adalah sebagai berikut:
3.7.1 Desain Antarmuka Pengguna Layanan Desain antarmuka (User Interface) pengguna layanan,
dirancang guna mempermudah pengguna dalam menggunakan
sistem informasi ini. Desain antarmuka pengguna layanan antara
lain sebagai berikut ini:
1. Desain Halaman Pengguna Layanan.
Desain halaman pengguna layanan ini, merupakan desain
secara keseluruhan dari halaman pengguna layanan.
38
Gambar 3.13 Desain Halaman Pengguna Layanan
2. Desain Menu Kiri Halaman Pengguna Layanan.
Desain menu kiri halaman pengguna layanan terdiri dari 2
jenis desain, yaitu desain pada saat pengguna layanan
belum login dan pada saat pengguna layanan setelah
login.
Gambar 3.14 Desain Menu Kiri Sebelum Login Sistem
39
Gambar 3.15 Desain Menu Kiri Sesudah Login Sistem
3. Desain Form Registrasi Pengguna Layanan
Desain form registrasi pengguna layanan diperuntukkan
bagi pengguna yang tertarik dan ingin mendaftarkan diri
sebagai pengguna layanan (Gambar 3.16).
4. Desain Halaman Login Pengguna Layanan.
Desain halaman login pengguna layanan digunakan
sebagai halaman awal untuk mengakses data dari
pengguna layanan dengan cara memasukan alamat e-mail
dan password yang telah didaftarkan sebelumnya (Gambar
3.17).
40
Gambar 3.16 Desain Form Registrasi Perusahaan
Pengguna Layanan
SELAMAT DATANGHALAMAN PERUSAHAAN PENGGUNA LAYANAN
E-Mail Perusahaan
Password
Masuk Ke Halaman Pengguna
Belum Memiliki ACCOUNT, Silahkan Registrasi DuluForget PasswordLupa Password, Lakukan Proses
Gambar 3.17 Desain Halaman Login Pengguna
Layanan
41
5. Desain Halaman Maintenance Data Pengguna Layanan.
Desain halaman maintenance data pengguna layanan
diperuntukkan untuk mengganti foto profil, dan merubah
data personal pengguna layanan, ganti password
pengguna layanan.
Gambar 3.18 Desain Halaman Merubah Foto Profil
Gambar 3.19 Desain Halaman Merubah Data Personal
42
Gambar 3.20 Desain Halaman Merubah Password
6. Desain Halaman Informasi Space Anda.
Desain halaman informasi space anda, terdiri dari halaman
link promosi, akumulasi space anda, dan pendaftar yang
menggunakan promosi anda.
Gambar 3.21 Desain Halaman Link Promosi
Gambar 3.22 Desain Halaman Akumulasi Space Anda
43
Gambar 3.23 Desain Halaman Daftar Perusahaan
Mendaftar Melalui Promosi
7. Desain Halaman Upload Berkas.
Desain halaman upload berkas, terdiri dari desain halaman
menampilkan, menambah, merubah data folder/ kategori
berkas, serta menampilkan, menambah, merubah data
berkas yang di-upload pada sistem.
Gambar 3.24 Desain Halaman Menampilkan Data Folder/ Kategori Berkas
Gambar 3.25 Desain Halaman Menambahkan Data Folder/ Kategori Berkas
44
Gambar 3.26 Desain Halaman Merubah Data
Folder/ Kategori Berkas
Gambar 3.27 Desain Halaman Menampilkan Data/ Berkas yang di-upload
Gambar 3.28 Desain Halaman Menambah
Data/ Berkas Upload
45
Nama File
Rubah Data
Keterangan
Folder Kategori
Upload File BROWSE
Gambar 3.29 Desain Halaman Merubah Data/ Berkas
Upload Pada Sistem
8. Desain Halaman Menampilkan Daftar Download Terakhir.
Desain halaman menampilkan Daftar Download Terakhir
ini digunakan untuk menampilkan data yang pernah di-
download oleh para pengguna layanan pada sistem.
Gambar 3.30 Desain Halaman Menampilkan Daftar Download Terakhir
9. Desain Halaman Cek MD5 File Hasil Download.
Desain halaman cek MD5 File hasil download digunakan
untuk melakukan proses pengecekan dan pencocokan
antara hasil data yang di-download dengan data yang di-
upload pada sistem.
46
Gambar 3.31 Desain Halaman Cek MD5 File
Hasil Download
10. Desain Halaman Keluhan dan Saran.
Desain halaman keluhan dan saran ini digunakan untuk
penyampaian keluhan dan saran kepada penyedia layanan
melalui menu keluhan dan saran yang terdapat pada
pengguna layanan.
Gambar 3.32 Desain Halaman Menampilkan Keluhan dan Saran Pengguna Layanan
47
Gambar 3.33 Desain Halaman Menambah/ Menyampaikan Keluhan dan Saran Pengguna Layanan
11. Desain Halaman Histori Masuk dan Keluar Sistem.
Desain halaman histori masuk dan keluar sistem
digunakan untuk menampilkan data histori masuk dan
keluar sistem pengguna layanan.
Gambar 3.34 Desain Halaman Histori Masuk dan Keluar
48
3.7.2 Desain Antarmuka Penyedia Layanan Desain antarmuka (User Interface) penyedia layanan,
dirancang guna mempermudah penyedia layanan dalam
menggunakan sistem informasi ini. Desain antarmuka penyedia
layanan antara lain sebagai berikut ini:
1. Desain Halaman Login Sistem Penyedia Layanan
Desain halaman login sistem penyedia layanan merupakan
halaman pertama sebelum memasuki menu-menu pada
halaman penyedia layanan. Halaman ini berfungsi sebagai
pengenal, apakah email dan password yang dimasukkan
memang merupakan data yang terdaftar atau tidak.
SELAMAT DATANGHALAMAN ADMINISTRATOR
Alamat E-Mail
Password
Masuk Ke Halaman Administrator
Lupa Password
Gambar 3.35 Desain Halaman Login Penyedia Layanan
2. Desain Halaman Utama Penyedia Layanan
Desain halaman utama penyedia layanan merupakan
menu utama yang berisi menu-menu yang dimiliki oleh
penyedia layanan (Gambar 3.36).
3. Desain Halaman Data User Penyedia Layanan
Desain halaman data user penyedia layanan berfungsi
untuk mengelola data-data user penyedia layanan
(Gambar 3.37 – Gambar 3.40).
49
Gambar 3.36 Desain Halaman Utama Penyedia Layanan
DATA USER ADMINISTRATOR
Daftar Data | Input Data Baru | Menampilkan Log Administrator
NO | NAMA LENGKAP | E-MAIL | HAK AKSES | PERTANYAAN | JAWABAN | MENU ADMIN
DATA TABEL
Gambar 3.37 Desain Halaman Menampilkan Data User Penyedia Layanan
Gambar 3.38 Desain Halaman Memasukan Data User
Penyedia Layanan
50
Gambar 3.39 Desain Halaman Merubah Data User
Penyedia Layanan
Gambar 3.40 Desain Halaman Menampilkan Data Histori
User Penyedia Layanan
4. Desain Halaman Setting Space
Desain halaman setting space pada halaman penyedia
layanan berfungsi untuk menerapkan kebijakan jumlah
space yang diberikan pada saat pendaftaran pertama dan
bonus promosi.
Gambar 3.41 Desain Halaman Menampilkan Data Space
51
Gambar 3.42 Desain Halaman Merubah Data Space
5. Desain Halaman Setting Ekstensi Berkas
Desain halaman setting ekstensi berkas merupakan
halaman untuk mengelola data-data ekstensi yang boleh
di-upload oleh pengguna layanan.
Gambar 3.43 Desain Halaman Menampilkan Data Ekstensi Berkas
Gambar 3.44 Desain Halaman Menambahkan Data Ekstensi Berkas
52
Gambar 3.45 Desain Halaman Merubah Data
Ekstensi Berkas
6. Desain Halaman Keluhan/ Saran Penyedia Layanan
Desain halaman keluhan/ saran pada halaman penyedia
layanan untuk menampilkan data-data keluhan/ saran dari
pengguna layanan, serta membalas atau memberikan
respon tanggapan mengenai keluhan/ saran tersebut.
Gambar 3.46 Desain Halaman Menampilkan Data Keluhan/ Saran
Gambar 3.47 Desain Halaman Merespon Keluhan/ Saran
53
7. Desain Halaman Menampilkan Data Pengguna Layanan
Desain halaman menampilkan data pengguna layanan
merupakan halaman untuk menampilkan data-data
pengguna layanan (perusahaan terdaftar) baik data yang
sudah dikonfirmasi oleh penyedia layanan atau data yang
belum aktif (belum dikonfirmasi).
Gambar 3.48 Desain Halaman Pengguna Layanan Aktif
Gambar 3.49 Desain Halaman Pengguna Layanan Belum dikonfirmasi
8. Desain Halaman Merubah Data Penyedia Layanan Log-in
Desain halaman merubah data penyedia layanan log-in
merupakan halaman untuk merubah data personal
penyedia layanan secara pribadi dan untuk mengganti
password mereka.
54
Gambar 3.50 Desain Halaman Mengganti Profil Penyedia Layanan Log-in
Gambar 3.51 Desain Halaman Mengganti
Password Penyedia Layanan
BAB IV IMPLEMENTASI SISTEM
4.1 Hardware dan Software Pendukung Hardware atau perangkat keras yang dibutuhkan pada rancang
bangun sistem informasi penyimpanan berkas elektronik menggunakan
validasi MD5 berbasis cloud computing tidaklah terlalu tinggi. Spesifikasi
yang digunakan masih tergolong terjangkau untuk komputer pada
umumnya. Perangkat keras yang merupakan kebutuhan dari
implementasi sistem adalah sebagai berikut:
1. Personal Komputer dengan processor dual core atau sejenisnya.
2. Memori 1 GB.
3. Hardisk 320 GB.
4. Monitor.
5. Mouse dan Keyboard.
Sedangkan, untuk software atau perangkat lunak yang dibutuhkan oleh
sistem ini antara lain:
1. Sistem Operasi, Seperti Windows (Windows Xp Sp 2 dan
Windows 7).
2. Aplikasi Web Server, seperti Xampp versi 1.6.8 dengan Apache
2.2.9, dan database MySQL 5.0.67 (Community Server).
3. Web Browser, seperti Mozilla Firefox Versi 19.0.2 atau Google
Chrome Versi 25.0.1364.172 m.
4.2 Pengujian Sistem Pengujian sistem ini, dilakukan pada komputer yang telah
ditentukan dan terdapat 2 halaman sistem yaitu halaman pengguna
layanan (halaman perusahaan yang telah terdaftar) dan halaman
penyedia layanan (halaman administrator).
4.2.1 Pengujian Sistem pada Halaman Pengguna Layanan Pengujian sistem pada halaman pengguna layanan antara
lain sebagai berikut:
55
56
1. Halaman Registrasi Pengguna Layanan.
Halaman registrasi pengguna layanan diperuntukkan bagi
pengguna yang ingin mendaftarkan diri sebagai pengguna
layanan.
Gambar 4.1 Halaman Registrasi Pengguna Layanan
2. Halaman Login Pengguna Layanan
Halaman login pengguna layanan merupakan halaman
login untuk pengguna layanan, sebelum dapat mengakses
berkas mereka pada sistem. Halaman ini membutuhkan
57
alamat e-mail dan password yang telah didaftarkan
sebelumnya.
Gambar 4.2 Halaman Login Pengguna Layanan
3. Tampilan Menu Kiri Pengguna Layanan
Tampilan menu kiri pengguna layanan merupakan
tampilan menu-menu yang dapat diakses oleh pengguna
layanan dan pada tampilan ini, juga terdapat informasi
space pengguna layanan.
Gambar 4.3 Tampilan Menu Kiri Pengguna Layanan
4. Halaman Ganti Photo Profil Pengguna Layanan
Halaman ganti photo profil pengguna layanan digunakan
untuk mengganti photo profil pengguna layanan.
58
Gambar 4.4 Halaman Ganti Foto Profil Pengguna Layanan
5. Halaman Merubah Data Perusahaan Pengguna Layanan
Halaman merubah data perusahaan pengguna layanan
digunakan untuk mengganti data profil perusahaan
pengguna layanan.
Gambar 4.5 Halaman Merubah Data Perusahaan Pengguna Layanan
59
6. Halaman Ganti Password Pengguna Layanan
Halaman ganti password pengguna layanan diperuntukkan
bagi pengguna layanan yang ingin mengganti password
mereka.
Gambar 4.6 Halaman Ganti Password Pengguna Layanan
7. Halaman Informasi Space Anda
Halaman informasi space anda merupakan halaman untuk
menampilkan link promosi untuk pengguna lain yang ingin
mendaftar, akumulasi space anda serta informasi
pengguna yang terdaftar menggunakan link promosi
pengguna layanan.
Gambar 4.7 Tampilan Halaman Link Promosi
60
Gambar 4.8 Tampilan Halaman Akumulasi Space
Gambar 4.9 Tampilan Halaman Pendaftar
Melalui Link Promosi
8. Halaman Upload Berkas Pengguna Layanan
Halaman upload berkas terdiri dari membuat dan
menampilkan data kategori atau folder berkas, serta
menampilkan dan menambah berkas yang ingin di-upload.
Gambar 4.10 Halaman Menampilkan Data Kategori/ Folder Pengguna Layanan
61
Gambar 4.11 Halaman Membuat Kategori/ Folder
Gambar 4.12 Halaman Merubah Data Kategori/ Folder
Gambar 4.13 Halaman Menampilkan Berkas Pada kategori/ Folder
62
Gambar 4.14 Halaman Meng-upload Berkas
9. Halaman Daftar Download Berkas Pengguna Layanan
Halaman daftar download berkas pengguna layanan
digunakan untuk menampilkan data berkas yang pernah
di-download oleh pengguna layanan.
Gambar 4.15 Halaman Daftar Download Berkas Pengguna Layanan
10. Halaman Cek Hash MD5 Berkas
Halaman cek hash MD5 berkas digunakan untuk
mengecek, apakah hasil berkas yang di-download sudah
sama dengan berkas yang terdapat pada server melalui
hasil hash MD5.
63
Gambar 4.16 Halaman Cek Hash MD5 Berkas
11. Halaman Keluhan/ Saran Pengguna Layanan
Halaman keluhan/ saran pengguna layanan merupakan
halaman untuk mengelola data keluhan atau saran. Pada
halaman ini terdapat halaman untuk menyampaikan serta
daftar keluhan atau saran yang telah disampaikan kepada
penyedia layanan.
Gambar 4.17 Halaman Daftar Keluhan/ Saran
64
Gambar 4.18 Halaman Menyampaikan Keluhan/ Saran Pengguna Layanan
12. Halaman Histori Masuk dan Keluar Sistem Pengguna
Layanan
Halaman histori masuk dan keluar sistem untuk pengguna
layanan digunakan untuk menampilkan data masuk dan
keluar sistem pengguna layanan.
Gambar 4.19 Halaman Histori Masuk dan Keluar Sistem Pengguna Layanan
65
4.2.2 Pengujian Sistem pada Halaman Penyedia Layanan Pengujian sistem pada halaman penyedia layanan antara
lain sebagai berikut:
1. Halaman Login Penyedia Layanan
Halaman login penyedia layanan digunakan sebagai
halaman akses penyedia layanan untuk masuk ke halaman
penyedia layanan. Login penyedia layanan ini,
memerlukan alamat e-mail dan password yang telah
terdaftar pada sistem.
Gambar 4.20 Halaman Login Penyedia Layanan
2. Halaman Menu Utama Penyedia Layanan
Halaman menu utama penyedia layanan merupakan
halaman yang berisikan menu-menu yang dapat diakses
oleh penyedia layanan untuk mengakses data-data pada
sistem.
Gambar 4.21 Halaman Menu Utama Penyedia Layanan
66
3. Halaman Data User Penyedia Layanan
Halaman data user penyedia layanan digunakan untuk
menampilkan data-data user penyedia layanan,
menambahkan, merubah serta menghapus data user
penyedia layanan.
Gambar 4.22 Halaman Menampilkan Data User Penyedia Layanan
Gambar 4.23 Halaman Menambahkan Data User Penyedia Layanan
Gambar 4.24 Halaman Merubah Data User Penyedia Layanan
67
Gambar 4.25 Halaman Menampilkan Data Histori Masuk dan Keluar Sistem Penyedia Layanan
4. Halaman Setting Data Space
Halaman setting data space digunakan untuk setting data
space awal pendaftaran dan bonus space dari link promosi
pengguna layanan.
Gambar 4.26 Halaman Menampilkan Data Space
Gambar 4.27 Halaman Merubah Data Space
68
5. Halaman Setting Data Ekstensi/ Tipe Berkas
Halaman setting data ekstensi/ tipe berkas digunakan
untuk menambah, merubah dan menampilkan data
ekstensi/ tipe berkas yang boleh diupload oleh pengguna
layanan.
Gambar 4.28 Halaman Menampilkan Data Ekstensi/ Tipe Berkas
Gambar 4.29 Halaman Menambah Data Ekstensi/ Tipe Berkas
Gambar 4.30 Halaman Merubah Data Ekstensi/
Tipe Berkas
6. Halaman Data Keluhan/ Saran Pada Penyedia Layanan
Halaman data keluhan/ saran pada penyedia layanan
digunakan untuk mengelola data keluhan/ saran dari
pengguna layanan. Pengelolaan tersebut, seperti
menampilkan data keluhan/ saran, serta merespon data
keluhan/ saran dari pengguna layanan.
69
Gambar 4.31 Halaman Menampilkan Data Keluhan/
Saran Pengguna Layanan
Gambar 4.32 Halaman Merespon Data Keluhan/ Saran Pengguna Layanan
7. Halaman Menampilkan Data Pengguna Layanan Aktif
Halaman menampilkan data pengguna layanan
(perusahaan) aktif digunakan untuk menampilkan data-
data pengguna layanan (perusahaan) aktif yang telah
dikonfirmasi penyedia layanan.
Gambar 4.33 Halaman Menampilkan Data Pengguna Layanan (Perusahaan) Aktif
70
8. Halaman Menampilkan Data Pendaftar Belum dikonfirmasi
Halaman menampilkan data pendaftar belum dikonfirmasi
digunakan untuk menampilkan data-data pendaftar yang
belum di konfirmasi oleh penyedia layanan. Pada halaman
ini, juga dilengkapi dengan proses konfirmasi pendaftaran
oleh penyedia layanan.
Gambar 4.34 Halaman Menampilkan Data Pendaftar Belum dikonfirmasi
9. Halaman Merubah Data User Penyedia Layanan Login
Halaman merubah data user penyedia layanan login
merupakan halaman untuk merubah data profil dan
password penyedia layanan yang sedang login ke sistem.
Gambar 4.35 Halaman Merubah Data Profil Penyedia Layanan Login
Gambar 4.36 Halaman Merubah Password Penyedia Layanan Login
71
4.2.3 Pengujian Integritas Berkas pada Sistem Pengujian integritas berkas pada sistem dilakukan dengan
pemanfaatan algoritma MD5 pada bahasa pemrograman PHP
dengan cara melakukan pencocokan antara nilai hash antara
berkas yang di-upload dengan berkas yang di-download.
Pengujian integritas berkas yang dilakukan mendapatkan hasil
seperti tabel dibawah ini (Tabel 4.1).
Tabel 4.1 Hasil Integritas Berkas
No Nama Berkas
Nilai Hash Berkas pada saat di-upload
Nilai Hash Berkas pada saat di-download
1 Data 1.pdf fcbb04111924070f1684af82f67d8849
fcbb04111924070f1684af82f67d8849
2 Data 2.pdf e44a9eb655182ff1ce366aa5d787518e
e44a9eb655182ff1ce366aa5d787518e
3 Data 3.pdf f747d64e8cbaf7f40158fe858eb94944
f747d64e8cbaf7f40158fe858eb94944
4 Data 4.pdf cd709b5838f50716bfa78a353edd8fee
cd709b5838f50716bfa78a353edd8fee
5 Data 5.pdf b593e1d0478855c5e456059ab849118f
b593e1d0478855c5e456059ab849118f
dari hasil nilai hash antara berkas yang di-upload dengan berkas
yang di-download pada sistem melalui tabel diatas (Tabel 4.1),
maka sistem sudah dapat memberikan jaminan integritas berkas
kepada pengguna layanan melalui pemanfaatan validasi algoritma
MD5 yang terdapat pada bahasa pemrograman PHP dengan cara
melakukan pencocokan nilai hash antara berkas yang di-upload
dan berkas yang di-download.
BAB V PENUTUP
5.1 Kesimpulan Kesimpulan yang didapat dari hasil perancang dan pembuatan
sistem informasi penyimpanan berkas elektronik menggunakan validasi
MD5 berbasis cloud computing adalah sebagai berikut:
1. Sistem dapat digunakan oleh pengguna layanan melalui registrasi,
sehingga Pengguna layanan tidak perlu membeli hardware
maupun software pendukung atau membuat aplikasi sendiri,
sebelum menggunakan atau memanfaatkan layanan media
penyimpanan berkas elektronik.
2. Sistem dapat memberikan jaminan integritas berkas antara berkas
yang di-upload dan di-download melalui pemanfaatan validasi
Algoritma MD5 dalam bahasa pemrograman PHP.
3. Pengguna layanan dapat mengakses berkas yang disimpan pada
sistem dari mana dan kapan saja melalui komputer yang terinstall
aplikasi web browser karena sistem dibangun berbasis web.
5.2 Saran Sistem informasi penyimpanan berkas elektronik menggunakan
validasi MD5 berbasis cloud computing dapat dikembangkan lagi agar
menjadi sistem yang lebih kompleks, pengembangan sistem yang dapat
dilakukan antara lain:
1. Menambahkan sistem multi user pada halaman pengguna
layanan, agar berkas yang disimpan pada sistem dapat diakses
oleh team kerja dari pengguna layanan.
2. Sistem dapat dikembangkan dengan menambahkan manajemen
berkas secara detail, serta proses backup dan restore berkas
layaknya media penyimpanan pada umumnya.
3. Sistem dapat dikembangkan menjadi sistem berbayar.
72
DAFTAR PUSTAKA Bin Ladjamudin, Al-Bahra. 2005. Analisis dan Desain Sistem Informasi.
Yogyakarta: Penerbit Graha Ilmu.
Elcom. 2012. Cloud Computing Aplikasi Berbasis Web yang Mengubah Cara
Kerja dan Kolaborasi Anda Secara Online. Yogyakarta: Penerbit Andi.
Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Yogyakarta: Penerbit Andi
Kadir, Abdul dan Triwahyuni, Terra CH. 2005. Pengenalan Teknologi Informasi.
Yogyakarta: Penerbit Andi.
Khafidli, M. Firgiawan, 2011. Trik Menguasai HTML 5 CSS3 PHP Aplikatif.
Yogyakarta: Penerbit Lokamedia
Munir, Rinaldi. 2006. Kriptografi. Badung: Penerbit Informatika.
Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta:
Penerbit Andi.
Peranginangin, Kasiman. 2006. Aplikasi WEB dengan PHP dan MySQL.
Yogyakarta: Penerbit Andi.
Sidik, Betha. 2011. JavaScript. Badung: Penerbit Informatika.
Sutanta, Edhy. 2004. Sistem Basis Data. Yogyakarta: Penerbit Graha Ilmu.
73
LAMPIRAN SOURCE CODE PROGRAM
Nama File : cek_md5_file.php <?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_upload=$_GET['id_upload']; $sql_detail_data="select a.*, b.* from tb_upload a, tb_pengguna b where a.id_pengguna=b.id_pengguna and a.id_upload='$id_upload'"; $hasil_detail_data=mysql_query($sql_detail_data); $row_detail_data=mysql_fetch_assoc($hasil_detail_data); ?> <link href="css/style_pengguna_2.css" rel="stylesheet" type="text/css" /> <table width="500" border="0" align="center" bgcolor="#FFFFFF"> <tr> <td colspan="3" align="center" background="images/background-kiri.png" class="textjudul" height="33"><strong>INFORMASI FILE</strong></td> </tr> <tr> <td width="154" valign="top"> </td> <td width="3" valign="top"> </td> <td width="329" valign="top"> </td> </tr> <tr> <td valign="top"><strong>Nama File</strong></td> <td valign="top"><strong>:</strong></td> <td valign="top"> <?php //************************* menampilkan tipe file $data_fileupload=$row_detail_data['file']; //echo "$data_fileupload"; $pecah_nama_fileupload = explode(".", $data_fileupload); $jml_pecahan_nama_fileupload = count($pecah_nama_fileupload)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir //echo $jml_pecahan_nama_fileupload; $hasil_ekstensi_fileupload = $pecah_nama_fileupload[$jml_pecahan_nama_fileupload]; //echo "$hasil_ekstensi_fileupload"; echo "$row_detail_data[nm_upload].$hasil_ekstensi_fileupload"; ?> </td> </tr> <tr> <td valign="top"><strong>Type File</strong></td> <td valign="top"><strong>:</strong></td> <td valign="top"><?php echo $row_detail_data['type_file']; ?></td> </tr> <tr>
74
75
<td valign="top"><strong>Size</strong></td> <td valign="top"><strong>:</strong></td> <td valign="top"> <?php $size_file=$row_detail_data['size_file']; if($size_file>=1048576) { $size_file_01=number_format(($size_file/1048576),2); echo "$size_file_01 MB"; } else if ($size_file>=1024) { $size_file_01=number_format(($size_file/1024),2); echo "$size_file_01 KB"; } else { $size_file_01=number_format(($total_space_bytes),2); echo "$size_file_01 bytes"; } ?> </td> </tr> <tr> <td valign="top"><strong>Pemilik File</strong></td> <td valign="top"><strong>:</strong></td> <td valign="top">(<?php echo $row_detail_data['id_pengguna']; ?>) <?php echo $row_detail_data['nm_pengguna']; ?> </td> </tr> <tr> <td valign="top"><strong>Tanggal Upload</strong></td> <td valign="top"><strong>:</strong></td> <td valign="top"><?php echo date("d-m-Y h:i:s",strtotime($row_detail_data['tgl_upload'])); ?></td> </tr> <tr> <td valign="top"><strong>MD5 File</strong></td> <td valign="top"><strong>:</strong></td> <td valign="top"><strong><?php echo $row_detail_data['md5_file']; ?></strong> </td> </tr> <tr> <td valign="top"> </td> <td valign="top"> </td> <td valign="top"> </td> </tr> </table> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": ?> <table width="500" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF"> <tr> <td colspan="3" background="images/background-kiri.png" class="textjudul" height="33" align="center"><strong>CEK KEASLIAN DATA</strong></td> </tr> <tr valign="top">
76
<td> </td> <td> </td> <td> </td> </tr> <tr valign="top"> <td>Hasil File yang Download</td> <td>:</td> <td> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>?id_upload=<?php echo $id_upload?>" enctype="multipart/form-data" onSubmit="return validasi();"> <input type="hidden" name="id_upload" value="<?php echo $id_upload; ?>"> <input type="hidden" name="md5_file" value="<?php echo $row_detail_data['md5_file']; ?>"> <input type="file" class="textinput" name="file_upload" id="file_upload" required /><br /> <input name="submit" type="submit" value="Cek Data" class="textinput"/> <input name="me" type="hidden" id="me" value="cek" /> </form> </td> </tr> <tr valign="top"> <td> </td> <td> </td> <td> </td> </tr> </table> <? //============---- Proses Cek break; case "cek": $id_upload=$_POST['id_upload']; $md5_file=$_POST['md5_file']; $nm_file_cek=$_FILES["file_upload"]["name"]; $tmp_file_cek=$_FILES["file_upload"]["tmp_name"]; $tujuan_folder_file_cek="data_cek_file/"; if(move_uploaded_file($tmp_file_cek,"$tujuan_folder_file_cek".$nm_file_cek)) { $file_cek_url="data_cek_file/$nm_file_cek"; $md5_file_cek=md5_file($file_cek_url); if($md5_file_cek!="") {
77
unlink($file_cek_url); } } ?> <table width="500" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF"> <tr> <td colspan="3" background="images/background-kiri.png" class="textjudul" height="33" align="center">HASIL PENGECEKAN</td> </tr> <tr valign="top"> <td width="44"> </td> <td width="254"> </td> <td width="202"> </td> </tr> <tr valign="top"> <td colspan="3" align="center"> <?php if($md5_file==$md5_file_cek) { echo "<img src=\"images/oke.png\" /> <br> Nama File yang Anda Cek <br> <strong>$nm_file_cek</strong> <br><br> Hasil File yang Anda Download <strong>SAMA</strong> dengan di server <br> MD5 File = <strong>$md5_file_cek</strong> "; } else { echo"<img src=\"images/block_data.png\" /> <br> Nama File yang Anda Cek <br> <strong>$nm_file_cek</strong> <br><br> Hasil File yang Anda Download <strong>BERBEDA</strong> dengan di server <br> MD5 File = <strong>$md5_file_cek</strong> "; } ?> </td> </tr> <tr valign="top"> <td colspan="3" align="center">[ <a href="cek_md5_file.php?id_upload=<?php echo $id_upload; ?>">KEMBALI KE HALAMAN PENGECEKAN</a> ]</td> </tr> </table> <? } ?> Nama File : cek_status_login.php <?php session_start(); if(!isset($_SESSION['login'])) { header("location:index.php"); exit; } ?> Nama File : configuration_pengguna.php <?php $nama_website = "Penyimpanan Berkas STIKOM Bali"; //---======= Tanggal hari ini waktu indonesia =====----------
78
date_default_timezone_set("Asia/Jakarta"); $format_tgl_sekarang = date("Y-m-d H:i:s", mktime(date("H")+1, date("i"), date("s"), date("m"), date("d"), date("Y"))); //---==============================================---------- ?> Nama File : download_data.php <?php session_start(); include_once("configuration_pengguna.php"); include_once("koneksi.php"); // membaca id file dari link $id_upload=$_POST['id_upload']; $id_pengguna=$_SESSION['id_pengguna']; $date_sekarang=$format_tgl_sekarang; // ******************membaca informasi file dari tabel berdasarkan id nya $sql_data_upload = "select a.*,b.* from tb_upload a, tb_pengguna b where a.id_pengguna=b.id_pengguna and a.id_pengguna='$id_pengguna' and id_upload='$id_upload'"; $hasil_data_upload = mysql_query($sql_data_upload); $jml_file_ketemu=mysql_num_rows($hasil_data_upload); if($jml_file_ketemu>=1) { //***************************** memasukan data di tb_list_download $sql_input_download = "insert into tb_list_download (tgl_download,id_upload,id_pengguna)values ('$date_sekarang','$id_upload','$id_pengguna')"; //echo $sql_input_download; $hasil_input_download = mysql_query($sql_input_download); //******************************** $row_data_upload = mysql_fetch_assoc($hasil_data_upload); //******************mencari ekstensi $pecah_nama_file = explode(".", $row_data_upload['file']); $jml_pecahan_nama_file = count($pecah_nama_file)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir $hasil_ekstensi_file = $pecah_nama_file[$jml_pecahan_nama_file]; //Ex : docx // header yang menunjukkan nama file yang akan didownload header("Content-Disposition: attachment; filename=\"$row_data_upload[nm_upload].$hasil_ekstensi_file\""); // header yang menunjukkan ukuran file yang akan didownload header("Content-length: ".$row_data_upload['size_file']); // header yang menunjukkan jenis file yang akan didownload header("Content-type: ".$row_data_upload['type_file']); // proses membaca isi file yang akan didownload dari folder 'data'
79
$fp = fopen("data_pengguna/".$row_data_upload['mail_pengguna']."/".$row_data_upload['file'], 'r'); $content = fread($fp, filesize("data_pengguna/".$row_data_upload['mail_pengguna']."/".$row_data_upload['file'])); fclose($fp); // menampilkan isi file yang akan didownload echo $content; exit; } ?> Nama File : download_list.php <?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Selamat Datang <?php echo $_SESSION['nm_pengguna']; ?> di <?php echo $nama_website; ?></title> <link href="css/style_pengguna.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="915" border="0" cellspacing="0" cellpadding="0" align="center" style="margin-top:0px; border:1px solid #CCC;" bgcolor="#FFFFFF"> <tr> <td height="51" colspan="2" valign="top" align="center"><?php include('header.php'); ?></td> </tr> <tr> <td width="252" height="540" valign="top" align="right"><?php include('menu-kiri.php'); ?></td> <td width="648" valign="top" align="center"><?php include('download_list_inc.php'); ?></td> </tr> <tr> <td height="49" colspan="2" align="center" valign="top"><?php include('footer.php'); ?></td> </tr> </table> </body> </html> Nama File : download_list_inc.php <?php
80
include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_kategori=$_GET['id_kategori']; $id_pengguna=$_SESSION['id_pengguna']; $mail_pengguna=$_SESSION['mail_pengguna']; function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'upload_data.php?me=new' </script>"; exit(); } function pesan2($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'javascript:history.go(-1)' </script>"; exit(); } ?> <script src="alah_facebook/jquery-1.2.2.pack.js" type="text/javascript"></script> <link href="alah_facebook/facebox.css" media="screen" rel="stylesheet" type="text/css" /> <script src="alah_facebook/facebox.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox() }) </script> <script LANGUAGE="JavaScript"> <!-- function confirmDelete() { var agree=confirm("Apakah Anda YAKIN Menghapus Data ini?"); if (agree) return true ; else return false ; } // --> </script> <script language="javascript" type="text/javascript"> <!-- Pop Up /**************************************************** Author: Eric King Url: http://redrival.com/eak/index.shtml This script is free to use as long as this info is left in Featured on Dynamic Drive script library (http://www.dynamicdrive.com) ****************************************************/ var win=null; function NewWindow(mypage,myname,w,h,scroll,pos){
81
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;} if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; win=window.open(mypage,myname,settings);} // --> </script> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td colspan="4" class="garisputus"> </td> </tr> <tr> <td height="34" colspan="4" align="center" class="garisputus"><div class="textjudul">DAFTAR DOWNLOAD BERKAS TERAKHIR</div></td> </tr> <tr> <td colspan="4"> </td> </tr> </table> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": ?> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr align="center" bgcolor="#E8F8FC"> <td width="26" height="30"><strong>NO</strong></td> <td width="96" height="30"><strong>TANGGAL DOWNLOAD</strong></td> <td><strong>NAMA BERKAS</strong></td> <td width="100"><strong>DOWNLOAD LAGI</strong></td> <td width="180"><strong>MD5 FILE</strong></td> </tr> <?php $hal= (isset($_GET['hal'])) ? $_GET['hal'] : 1; $bph=25;//Baris Per Halaman $start=$hal*$bph-$bph; //=========---- SQL $sq="select a.*,b.*,c.* from tb_list_download a,tb_upload b,tb_pengguna c where a.id_upload=b.id_upload and b.id_pengguna=c.id_pengguna and a.id_pengguna='$id_pengguna' order by a.tgl_download desc"; //========= $hs=mysql_query($sq); $jum_baris=mysql_num_rows($hs); $halaman=ceil($jum_baris/$bph); $i=0; //=========---- SQL
82
$sql_list_download="select a.*,b.*,c.* from tb_list_download a,tb_upload b,tb_pengguna c where a.id_upload=b.id_upload and b.id_pengguna=c.id_pengguna and a.id_pengguna='$id_pengguna' order by a.tgl_download desc limit $start,$bph"; //====================================================== $hasil_list_download=mysql_query($sql_list_download); while($row_list_download=mysql_fetch_assoc($hasil_list_download)) { // blok pengulangan kategori $i++; $no=($hal-1)*$bph+$i; if($no % 2==0) { $warna="#E8F8FC"; } else { $warna="#CCCCCC"; } ?> <tr valign="top" bgcolor="<?php echo $warna;?>"> <td align="right"><?php echo $no; ?>.</td> <td align="left"><?php echo date("d-m-Y h:i:s",strtotime($row_list_download['tgl_download'])); ?></td> <td width="186" valign="top"><?php //******************mencari ekstensi $pecah_nama_file = explode(".", $row_list_download['file']); $jml_pecahan_nama_file = count($pecah_nama_file)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir $hasil_ekstensi_file = $pecah_nama_file[$jml_pecahan_nama_file]; //Ex : docx echo "<a href=\"#\" onclick=\"NewWindow('cek_md5_file.php?id_upload=$row_list_download[id_upload]','mywin','530','460','no','center');return false\" onfocus=\"this.blur()\"><strong>$row_list_download[nm_upload].$hasil_ekstensi_file</strong></a><br>"; ?></td> <td align="center"> <form name="form1" method="post" action="download_data.php" target="_blank" enctype="multipart/form-data"> <input type="hidden" name="id_upload" value="<?php echo $row_list_download['id_upload']; ?>"> <input name="submit" type="image" src="images/download.png" width="30" height="30"/> </form> </td> <td align="center"><?php echo $row_list_download['md5_file'];?></td> </tr> <? } ?> <tr valign="top" bgcolor="#FF99CC"> <td colspan="5" align="left">
83
<strong>Keterangan :</strong> <br /> Klik <strong>Nama File</strong> Untuk Cek Keaslian Data yang di download </td> </tr> </table> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" height="5"></td> </tr> <tr> <td align="center"> <?php $link_no="download_list.php?"; if($hal>1) { echo " [ <a href=\"$link_no&hal=1\">First</a> ]"; } if($hal>1) { $hal_back=$hal-1; echo" [ <a href=\"$link_no&hal=$hal_back\">Back</a> ]"; } $n_hal=0; while($n_hal<$halaman) { $n_hal++; if($n_hal==$hal) { echo " [ <strong>$n_hal</strong> ]"; } else { echo " [ <a href=\"$link_no&hal=$n_hal\">$n_hal</a> ]"; } } if($hal<$halaman) { $hal_next=$hal+1; echo" [ <a href=\"$link_no&hal=$hal_next\">Next</a> ]"; } if($hal<$halaman) { echo" [ <a href=\"$link_no&hal=$halaman\">Last</a> ]"; } ?> </td>
84
</tr> <tr> <td align="justify"> </td> </tr> </table> <?php } ?> Nama File : edit_data_pengguna_inc.php <?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_pengguna=$_SESSION['id_pengguna']; function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'edit_data_pengguna.php' </script>"; exit(); } function pesan2($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'edit_data_pengguna.php?me=ganti_password' </script>"; exit(); } function pesan3($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'edit_data_pengguna.php?me=ganti_photo' </script>"; exit(); } ?> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="900" class="garisputus"> </td> </tr> <tr> <td height="34" class="garisputus" align="center"><div class="textjudul">MENU DATA PERUSAHAAN <br /> ( PENGGUNA LAYANAN )</div></td> </tr> <td> </td> </tr> </table> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "":
85
$sql_update_profil="select a.*,b.* from tb_pengguna a, tb_administrator b where a.id_administrator=b.id_administrator and a.id_pengguna='$id_pengguna'"; //echo $sql_update_profil; $hasil_update_profil=mysql_query($sql_update_profil); $row_update_profil=mysql_fetch_assoc($hasil_update_profil); ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <input type="hidden" name="mail_lama" value="<?php echo $row_update_profil['mail_pengguna']; ?>"> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td colspan="3"><strong>Data Personal Perusahaan</strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="138">Nama Perusahaan</td> <td width="6">:</td> <td width="356"> <input name="nama" type="text" id="nama" size="25" maxlength="50" class="textinput" value="<?php echo $row_update_profil['nm_pengguna']; ?>" placeholder="Nama Pengguna" autofocus required /> </td> </tr> <tr> <td width="138">Nama Pimpinan</td> <td width="6">:</td> <td width="356"> <input name="pimpinan" type="text" id="pimpinan" size="25" maxlength="50" class="textinput" value="<?php echo $row_update_profil['nm_pimpinan']; ?>" placeholder="Nama Pengguna" required /> </td> </tr> <tr> <td height="89">Alamat</td> <td>:</td> <td> <textarea name="alamat" placeholder="Alamat E-Mail" class="textinput" cols="30" rows="5" required><?php echo $row_update_profil['alamat_pengguna']; ?></textarea> </td> </tr> <tr>
86
<td>Telp</td> <td>:</td> <td> <input name="telp" type="text" id="telp" size="20" maxlength="50" class="textinput" value="<?php echo $row_update_profil['telp_pengguna']; ?>" placeholder="Telp Pengguna" required /> </td> </tr> <tr> <td>No. SIUP</td> <td>:</td> <td> <input name="siup" type="text" id="siup" size="20" maxlength="50" class="textinput" value="<?php echo $row_update_profil['no_siup']; ?>" placeholder="Telp Pengguna" required /> </td> </tr> <tr> <td width="138">E-Mail Perusahaan</td> <td width="6">:</td> <td width="356"> <input name="mail_baru" type="email" id="mail" size="25" maxlength="50" class="textinput" value="<?php echo $row_update_profil['mail_pengguna']; ?>" placeholder="E-Mail Login" required /> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><strong>Situs Jejaring Sosial </strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="138">Facebook</td> <td width="6">:</td> <td width="356"> <input name="fb" type="text" id="fb" size="25" maxlength="50" class="textinput" value="<?php echo $row_update_profil['fb_pengguna']; ?>" placeholder="http://" /> <font color="#FF0000">*</font> </td> </tr> <tr> <td>Twitter</td> <td>:</td> <td> <input name="tw" type="text" id="tw" size="25" maxlength="50" class="textinput" value="<?php echo $row_update_profil['twitter_pengguna']; ?>" placeholder="http://" /> <font color="#FF0000">*</font> </td> </tr> <tr> <td colspan="3"><em><font color="#FF0000">* boleh tidak diisi </font></em></td> </tr> <tr> <td colspan="3"> </td>
87
</tr> <tr> <td colspan="3"><strong>Data Keamanan </strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="138">Pertanyaan Keamanan </td> <td width="6">:</td> <td width="356"> <input name="tanya" type="text" id="tanya" size="25" maxlength="50" class="textinput" value="<?php echo $row_update_profil['tanya_pengguna']; ?>" placeholder="Pertanyaan" required /> ? </td> </tr> <tr> <td>Jawaban </td> <td>:</td> <td> <input name="jawab" type="text" id="jawab" size="25" maxlength="50" class="textinput" value="<?php echo $row_update_profil['jawab_pengguna']; ?>" placeholder="Jawaban" required /> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Ganti Profil" class="textinput"/> <input name="me" type="hidden" id="me" value="ganti_profil" /> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><strong>Informasi Tambahan</strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="138">Tanggal Registrasi</td> <td width="6">:</td> <td width="356"><?php echo date("d-m-Y h:i:s",strtotime($row_update_profil['tgl_registrasi']));?></td> </tr> <tr> <td width="138">Status Konfirmasi</td> <td width="6">:</td> <td width="356"> <?php if ($row_update_profil['status_konfirmasi']=='y')
88
{ echo "Perusahaan ini Sudah <strong>DIKONFIRMASI</strong> Oleh ADMINISTRATOR"; } ?> </td> </tr> <tr> <td width="138">Tanggal Konfirmasi</td> <td width="6">:</td> <td width="356"><?php echo date("d-m-Y h:i:s",strtotime($row_update_profil['tgl_konfirmasi']));?></td> </tr> <tr> <td>Petugas Konfirmasi</td> <td>:</td> <td><?php echo "( ".$row_update_profil['id_administrator']." ) ".$row_update_profil['nm_administrator'] ; ?></td> </tr> <tr> <td colspan="3"> </td> </tr> </table> </form> <?php //=================- Ganti Profil break; case "ganti_profil": $nama=$_POST['nama']; $pimpinan=$_POST['pimpinan']; $alamat=$_POST['alamat']; $telp=$_POST['telp']; $siup=$_POST['siup']; $mail_baru=$_POST['mail_baru']; $mail_lama=$_POST['mail_lama']; $fb=$_POST['fb']; $tw=$_POST['tw']; $tanya=$_POST['tanya']; $jawab=$_POST['jawab']; $sql_ganti_profil = "update tb_pengguna set nm_pengguna='$nama',nm_pimpinan='$pimpinan',alamat_pengguna='$alamat',telp_pengguna='$telp',no_siup='$siup',mail_pengguna='$mail_baru',fb_pengguna='$fb',twitter_pengguna='$tw',tanya_pengguna='$tanya',jawab_pengguna='$jawab' where id_pengguna='$id_pengguna'"; $hasil_ganti_profil = mysql_query($sql_ganti_profil) or die(mysql_error()); if($hasil_ganti_profil) { rename("data_pengguna/$mail_lama", "data_pengguna/$mail_baru"); $_SESSION['mail_pengguna']="$mail_baru"; $_SESSION['nm_pengguna']="$nama"; echo "
89
<p align=\"center\">Please Wait <br> Data BERHASIL disimpan </p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',3000); function Redirect() { location.href = 'edit_data_pengguna.php'; } // --></script> "; } else { pesan("Maaf, Data GAGAL disimpan, Mohon Cek Lagi "); } ?> <?php //=================- Ganti Profil break; case "ganti_password": ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td width="171">Password Lama </td> <td width="10">:</td> <td width="523"><input name="pass1" type="password" size="20" maxlength="30" class="textinput" value="" placeholder="Password Lama Anda" autofocus required /></td> </tr> <tr> <td>Password Baru </td> <td>:</td> <td><input name="pass2" type="password" size="20" maxlength="30" class="textinput" value="" placeholder="Password Baru Anda" required /></td> </tr> <tr> <td>Ulangi Sekali Lagi </td> <td>:</td> <td><input name="pass3" type="password" size="20" maxlength="30" class="textinput" value="" placeholder="Password Baru Sekali Lagi" required /></td> </tr>
90
<tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Ganti Password" class="textinput"/> <input name="me" type="hidden" id="me" value="password_baru" /> </td> </tr> </table> </form> <?php //=================- Ganti Profil break; case "password_baru": $pass1=md5($_POST['pass1']); $pass2=$_POST['pass2']; $pass3=$_POST['pass3']; if($pass2!=$pass3) { pesan2("Password Baru dan Konfirmasi TIDAK Sama"); } else { $sql_passlama="select * from tb_pengguna where id_pengguna='$id_pengguna'"; //echo $sql_passlama; $hasil_passlama=mysql_query($sql_passlama); $row_passlama=mysql_fetch_assoc($hasil_passlama); $pass_lama=$row_passlama['pass_pengguna']; //echo "<br> $pass_lama"; //echo "$pass1"; if($pass_lama!=$pass1) { pesan2("Password Lama anda SALAH"); } else { $sql_ganti_password = "update tb_pengguna set pass_pengguna=md5('$pass2') where id_pengguna='$id_pengguna'"; $hasil_ganti_password = mysql_query($sql_ganti_password) or die(mysql_error()); if($hasil_ganti_password) { echo " <p align=\"center\">Please Wait <br> Data BERHASIL disimpan </p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',3000); function Redirect()
91
{ location.href = 'edit_data_pengguna.php'; } // --></script> "; } else { pesan2("Maaf, Data GAGAL disimpan, Mohon Cek Lagi "); } } } ?> <?php //=================- Ganti Photo Profil break; case "ganti_photo": ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td width="171">Photo Profil Sekarang </td> <td width="10">:</td> <td width="523"> <?php if($_SESSION['img_pengguna']!="") { echo "<img src=\"data_pengguna/$_SESSION[mail_pengguna]/$_SESSION[img_pengguna]\" width=\"80\" height=\"80\" />"; } else { echo "<img src=\"images/face_kosong.jpg\" width=\"80\" height=\"80\" />"; } ?> </td> </tr> <tr> <td>Ganti Photo Profil </td> <td>:</td>
92
<td><input type="file" name="photo" id="photo" class="textinput" required /> <br /> <strong>Hanya Menerima File (.jpg, .png)</strong></td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Ganti Photo Profil" class="textinput"/> <input name="me" type="hidden" id="me" value="photo_baru" /> </td> </tr> </table> </form> <?php //========================----------- break; case "photo_baru": $nama_foto_baru=$_FILES["photo"]["name"]; $size_foto_baru=$_FILES["photo"]["name"]; // pecah nama file $pecah_nama_file = explode(".", $nama_foto_baru); $jml_pecahan_nama_file = count($pecah_nama_file)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir $hasil_ekstensi_file = $pecah_nama_file[$jml_pecahan_nama_file]; if ($hasil_ekstensi_file!="jpg" && $hasil_ekstensi_file!="png") { pesan3("Tipe File Tidak Diterima. File Anda = $hasil_ekstensi_file"); } if($size_foto_baru>3145728) { $ukuran_file_baru=($size_foto_baru/1048576); pesan3("File Anda Lebih dari 3 MB. Ukuran File Anda = $ukuran_file_baru MB "); } //************** $no_acak=rand(0000000,9999999); $nm_photo_baru=$no_acak."-Foto-Profil.".$hasil_ekstensi_file; $tempat_foto_baru=$_FILES["photo"]["tmp_name"]; $mail_pengguna=$_SESSION['mail_pengguna']; $foto_lama=$_SESSION['img_pengguna']; $tempat_foto_lama="data_pengguna/$mail_pengguna/$foto_lama"; if($foto_lama!="" && file_exists("$tempat_foto_lama")) { unlink($tempat_foto_lama); }
93
move_uploaded_file($tempat_foto_baru,"data_pengguna/$mail_pengguna/".$nm_photo_baru); $sql_ganti_photo = "update tb_pengguna set img_pengguna='$nm_photo_baru' where id_pengguna='$id_pengguna'"; $hasil_ganti_photo= mysql_query($sql_ganti_photo) or die(mysql_error()); if($hasil_ganti_photo) { $_SESSION['img_pengguna']=$nm_photo_baru; echo " <p align=\"center\">Please Wait <br> Data BERHASIL disimpan </p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',3000); function Redirect() { location.href = 'edit_data_pengguna.php?me=ganti_photo'; } // --></script> "; } else { pesan3("Maaf, Data GAGAL disimpan, Mohon Cek Lagi "); } ?> <?php //=================- History break; case "history": ?> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr align="center" bgcolor="#E8F8FC"> <td width="42" height="30"><strong>NO</strong></td> <td width="455"><strong>TGL. AKTIFITAS </strong></td> <td width="103"><strong>STATUS</strong></td> </tr> <?php $hal= (isset($_GET['hal'])) ? $_GET['hal'] : 1; $bph=50;//Baris Per Halaman $start=$hal*$bph-$bph; //=========---- SQL $sq="select * from tb_log_pengguna where id_pengguna='$id_pengguna' order by id_log_pengguna desc"; //========= $hs=mysql_query($sq);
94
$jum_baris=mysql_num_rows($hs); $halaman=ceil($jum_baris/$bph); $i=0; //=========---- SQL $sql="select * from tb_log_pengguna where id_pengguna='$id_pengguna' order by id_log_pengguna desc limit $start,$bph"; //====================================================== $hasil=mysql_query($sql); while($row=mysql_fetch_assoc($hasil)) { // blok pengulangan kategori $i++; $no=($hal-1)*$bph+$i; if($no % 2==0) { $warna="#E8F8FC"; } else { $warna="#CCCCCC"; } ?> <tr valign="top" bgcolor="<?php echo $warna;?>"> <td align="right"><?php echo $no; ?>.</td> <td> <?php $tgl_log=$row['log_date']; echo date("d-m-Y h:i:s",strtotime($tgl_log)); ?> </td> <td><strong><?php echo strtoupper($row['status_log']); ?></strong></td> </tr> <? } ?> </table> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" height="5"></td> </tr> <tr> <td align="center"> <?php $link_no="edit_data_pengguna.php?me=history"; if($hal>1) { echo " [ <a href=\"$link_no&hal=1\">First</a> ]"; } if($hal>1) {
95
$hal_back=$hal-1; echo" [ <a href=\"$link_no&hal=$hal_back\">Back</a> ]"; } $n_hal=0; while($n_hal<$halaman) { $n_hal++; if($n_hal==$hal) { echo " [ <strong>$n_hal</strong> ]"; } else { echo " [ <a href=\"$link_no&hal=$n_hal\">$n_hal</a> ]"; } } if($hal<$halaman) { $hal_next=$hal+1; echo" [ <a href=\"$link_no&hal=$hal_next\">Next</a> ]"; } if($hal<$halaman) { echo" [ <a href=\"$link_no&hal=$halaman\">Last</a> ]"; } ?> </td> </tr> <tr> <td align="center"> </td> </tr> </table> <?php } ?> Nama File : index.php <?php session_start(); include_once("configuration_pengguna.php"); include_once("koneksi.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Selamat Datang <?php echo $_SESSION['nm_pengguna']; ?> di <?php echo $nama_website; ?></title> <link href="css/style_pengguna.css" rel="stylesheet" type="text/css" />
96
</head> <body> <table width="915" border="0" cellspacing="0" cellpadding="0" align="center" style="margin-top:0px; border:1px solid #CCC;" bgcolor="#FFFFFF"> <tr> <td height="51" colspan="2" valign="top" align="center"><?php include('header.php'); ?></td> </tr> <tr> <td width="252" height="540" valign="top" align="right"><?php include('menu-kiri.php'); ?></td> <td width="648" valign="top" align="center"> <?php if($_SESSION['login']=="ok" && $_SESSION['id_pengguna']!="") { include('upload_kategori_inc.php'); } else { include('index_login.inc.php'); } ?> </td> </tr> <tr> <td height="49" colspan="2" align="center" valign="top"><?php include('footer.php'); ?></td> </tr> </table> </body> </html> Nama File : index_login.inc.php <?php include_once("configuration_pengguna.php"); include_once("koneksi.php"); function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'index.php' </script>"; exit(); } ?> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email
97
document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="500" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="3" align="center"><br /><br /> <div style="font-size:20px;">SELAMAT DATANG <br /> <strong>HALAMAN PERUSAHAAN PENGGUNA LAYANAN </strong> </div> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="138">E-Mail Perusahaan</td> <td width="6">:</td> <td width="356"> <input name="mail" type="text" class="textinput" id="mail" value="" size="20" maxlength="30" autofocus required /> </td> </tr> <tr> <td>Password </td> <td>:</td> <td> <input name="pass" type="password" class="textinput" id="pass" value="" size="25" maxlength="100" required /> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td align="center"> </td> <td align="center"> </td> <td align="left"> <input name="submit" type="submit" value="Masuk Ke Halaman Pengguna" class="textinput"/> <input name="me" type="hidden" id="me" value="login" /> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td>Belum Memiliki ACCOUNT, Silahkan <a href="registrasi-pengguna.php">Registrasi</a> Dulu </td> </tr> <tr> <td> </td>
98
<td> </td> <td>Lupa Password, Lakukan Proses <a href="lupa_password.php">Forget Password</a> </td> </tr> </table> </form> <?php //===========----- Proses Simpan break; case "login": $mail=$_POST['mail']; $pass=md5($_POST['pass']); $sql_login="select * from tb_pengguna where mail_pengguna='$mail' and pass_pengguna='$pass'"; //echo $sql_login; $hasil_login=mysql_query($sql_login); $jml_login=mysql_num_rows($hasil_login); if ($jml_login==1) { $row_login=mysql_fetch_assoc($hasil_login); if($row_login['status_konfirmasi']!='y') { pesan("Mohon Maaf, Account Anda Belum di Konfirmasi Pemilik Layanan"); } //================---------------- Membuat Session $_SESSION['login']="ok"; $_SESSION['id_pengguna']=$row_login['id_pengguna']; $_SESSION['nm_pengguna']=$row_login['nm_pengguna']; $_SESSION['mail_pengguna']= $row_login['mail_pengguna']; $_SESSION['img_pengguna']= $row_login['img_pengguna']; //echo $_SESSION['id_pengguna']; //echo $_SESSION['nm_pengguna']; //echo $_SESSION['mail_pengguna']; //================------------- Input Data ke tb_log_administrator $id_pengguna=$_SESSION['id_pengguna']; $date_sekarang=$format_tgl_sekarang; $sql_input_log="insert into tb_log_pengguna (id_pengguna,log_date,status_log) values ('$id_pengguna','$date_sekarang','in')"; mysql_query($sql_input_log); echo " <p align=\"center\">Alamat E-Mail & Password Anda Benar <br> Tunggu Sebentar</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"> <!--
99
setTimeout('Redirect()',2000); function Redirect() { location.href = 'menu_utama.php'; } // --> </script> "; } else { unset($_SESSION['login']); pesan("Mohon Maaf, Alamat E-Mail dan Password Tidak Terdaftar"); } ?> <?php } ?> Nama File : keluhan_pengguna_detail.php <? include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_pengguna=$_SESSION['id_pengguna']; $id_keluhan=$_GET['id_keluhan']; $sql_keluhan_detail="select a.*,b.*,c.* from tb_keluhan a, tb_pengguna b, tb_administrator c where a.id_pengguna=b.id_pengguna and a.id_administrator=c.id_administrator and a.id_keluhan='$id_keluhan' and a.id_pengguna='$id_pengguna'"; //echo $sql_keluhan_detail; $hasil_keluhan_detail=mysql_query($sql_keluhan_detail); $row_keluhan_detail=mysql_fetch_assoc($hasil_keluhan_detail); $jml_keluhan_detail=mysql_num_rows($hasil_keluhan_detail); if($jml_keluhan_detail==0) { echo "Tidak Anda Data"; exit(); } ?> <table width="500" border="0" cellspacing="2" cellpadding="2" align="center"> <tr valign="top"> <td colspan="3" class="textjudul" align="center">DETAIL KELUHAN/ SARAN<br /></td> </tr> <tr valign="top"> <td width="142">ID Keluhan/ Saran</td> <td width="7">:</td> <td width="451" align="justify"><?php echo $row_keluhan_detail['id_keluhan']; ?></td>
100
</tr> <tr valign="top"> <td>Tanggal </td> <td>:</td> <td align="justify"> <?php echo date("d-m-Y h:i:s",strtotime($row_keluhan_detail['tgl_keluhan'])); ?> </td> </tr> <tr valign="top"> <td> Dari</td> <td>:</td> <td align="justify"> (<?php echo $row_keluhan_detail['id_pengguna']; ?>) <?php echo $row_keluhan_detail['nm_pengguna']; ?> </td> </tr> <tr valign="top"> <td>Judul </td> <td>:</td> <td align="justify"><?php echo $row_keluhan_detail['judul_keluhan']; ?></td> </tr> <tr valign="top"> <td>Isi Pesan</td> <td>:</td> <td align="justify"> <?php echo nl2br($row_keluhan_detail['keluhan']); ?></td> </tr> <tr valign="top" class="garisputus"> <td> </td> <td> </td> <td align="justify"> </td> </tr> <tr valign="top"> <td>Tanggal Tanggapan </td> <td>:</td> <td align="justify"> <?php echo date("d-m-Y h:i:s",strtotime($row_keluhan_detail['tgl_tanggapan'])); ?> </td> </tr> <tr valign="top"> <td>Tanggapan Oleh </td> <td>:</td> <td align="justify"> (<?php echo $row_keluhan_detail['id_administrator']; ?>) <?php echo $row_keluhan_detail['nm_administrator']; ?> </td> </tr> <tr valign="top"> <td><strong>Tanggapan</strong></td> <td><strong>:</strong></td> <td align="justify"><strong><?php echo nl2br($row_keluhan_detail['tanggapan']); ?></strong></td> </tr> <tr valign="top"> <td> </td> <td> </td> <td align="justify"> </td> </tr> </table> Nama File : keluhan_pengguna_inc.php
101
<?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_pengguna=$_SESSION['id_pengguna']; function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'edit_data_pengguna.php' </script>"; exit(); } ?> <script src="alah_facebook/jquery-1.2.2.pack.js" type="text/javascript"></script> <link href="alah_facebook/facebox.css" media="screen" rel="stylesheet" type="text/css" /> <script src="alah_facebook/facebox.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox() }) </script> <script LANGUAGE="JavaScript"> <!-- function confirmDelete() { var agree=confirm("Apakah Anda YAKIN Menghapus Data ini?"); if (agree) return true ; else return false ; } // --> </script> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="900" class="garisputus"> </td> </tr> <tr> <td height="34" class="garisputus" align="center"><div class="textjudul">DATA KELUHAN/ SARAN <br /> PERUSAHAAN (PENGGUNA LAYANAN) </div></td> </tr> <tr> <td class="garisputus"><a href="keluhan_pengguna.php">Daftar Keluhan/ Saran </a> | <a href="keluhan_pengguna.php?me=new">Input Data Keluhan/ Saran </a></td> </tr> <tr> <td> </td> </tr>
102
</table> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": ?> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr align="center" bgcolor="#E8F8FC"> <td width="32" height="30"><strong>NO</strong></td> <td width="82"><strong>TANGGAL KIRIM</strong></td> <td width="325"><strong>JUDUL PESAN </strong></td> <td width="88"><strong>TANGGAL BALAS </strong></td> <td><strong>MENU ADMIN </strong></td> </tr> <?php $hal= (isset($_GET['hal'])) ? $_GET['hal'] : 1; $bph=50;//Baris Per Halaman $start=$hal*$bph-$bph; //=========---- SQL $sq="select * from tb_keluhan where id_pengguna='$id_pengguna' order by id_keluhan desc"; //========= $hs=mysql_query($sq); $jum_baris=mysql_num_rows($hs); $halaman=ceil($jum_baris/$bph); $i=0; //=========---- SQL $sql_keluhan="select * from tb_keluhan where id_pengguna='$id_pengguna' order by id_keluhan desc limit $start,$bph"; //====================================================== $hasil_keluhan=mysql_query($sql_keluhan); while($row_keluhan=mysql_fetch_assoc($hasil_keluhan)) { // blok pengulangan kategori $i++; $no=($hal-1)*$bph+$i; if($row_keluhan['tanggapan']!="") { $warna="#E8F8FC"; } else { $warna="#CCCCCC"; } ?> <tr valign="top" bgcolor="<?php echo $warna;?>"> <td align="right"><?php echo $no; ?>.</td>
103
<td> <?php echo date("d-m-Y h:i:s",strtotime($row_keluhan['tgl_keluhan'])); ?> </td> <td> <?php if($row_keluhan['tanggapan']!="") { echo "<a href=\"keluhan_pengguna_detail.php?id_keluhan=$row_keluhan[id_keluhan]\" rel=\"facebox\">"; } echo "$row_keluhan[judul_keluhan] </a>"; ?> </td> <td> <?php if($row_keluhan['tanggapan']!="") { echo date("d-m-Y h:i:s",strtotime($row_keluhan['tgl_tanggapan'])); } else { echo "<strong>Belum direspon</strong>"; } ?> </td> <td width="61" align="center"><a href="keluhan_pengguna.php?me=hapus&id_keluhan=<? echo $row_keluhan['id_keluhan']; ?>" onclick="return confirmDelete()"><img src="images/hapus.png" width="16" height="16" border="0" /> <br /> Hapus</a> </td> </tr> <? } ?> </table> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" height="5"></td> </tr> <tr> <td align="center"> <?php $link_no="keluhan_pengguna.php?"; if($hal>1) { echo " [ <a href=\"$link_no&hal=1\">First</a> ]"; } if($hal>1)
104
{ $hal_back=$hal-1; echo" [ <a href=\"$link_no&hal=$hal_back\">Back</a> ]"; } $n_hal=0; while($n_hal<$halaman) { $n_hal++; if($n_hal==$hal) { echo " [ <strong>$n_hal</strong> ]"; } else { echo " [ <a href=\"$link_no&hal=$n_hal\">$n_hal</a> ]"; } } if($hal<$halaman) { $hal_next=$hal+1; echo" [ <a href=\"$link_no&hal=$hal_next\">Next</a> ]"; } if($hal<$halaman) { echo" [ <a href=\"$link_no&hal=$halaman\">Last</a> ]"; } ?> </td> </tr> <tr> <td align="center"> </td> </tr> </table> <?php //===============-------------- Input Baru break; case "new": ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script>
105
<form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td width="149">Judul Pesan</td> <td width="8">:</td> <td width="448" align="justify"><input name="judul" id="judul" title="Judul Pesan" size="35" class="textinput" autofocus required /></td> </tr> <tr> <td width="149">Isi Pesan</td> <td width="8">:</td> <td width="448" align="justify"> <textarea name="keluhan" cols="45" rows="10" class="textinput" id="keluhan" required></textarea> <br /> <em>Mohon Menggunakan Kata-Kata SOPAN dan Tidak Mengandung unsur SARA</em></td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Simpan Data" class="textinput"/> <input name="me" type="hidden" id="me" value="simpan" /> </td> </tr> </table> </form> <?php //===========----- Proses Simpan break; case "simpan": $judul=$_POST['judul']; $keluhan=$_POST['keluhan']; $date_sekarang=$format_tgl_sekarang; $sql_input="insert into tb_keluhan (id_pengguna,tgl_keluhan,judul_keluhan,keluhan)values ('$id_pengguna','$date_sekarang','$judul','$keluhan')"; //echo $sql_input; $hasil_input=mysql_query($sql_input); if($hasil_input) { echo " <p align=\"center\">Please Wait <br> Data BERHASIL disimpan <br> Terimakasih</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',1000); function Redirect() { location.href = 'keluhan_pengguna.php'; } // --></script> ";
106
} else { pesan("Data GAGAL disimpan"); } ?> <?php //====------------ Hapus Data break; case "hapus": $id_keluhan=$_GET['id_keluhan']; $sql_del="delete from tb_keluhan where id_keluhan='$id_keluhan' and id_pengguna='$id_pengguna'"; $hasil_del=mysql_query($sql_del); if($hasil_del) { echo " <p align=\"center\">Please Wait <br> Data BERHASIL dihapus</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',1000); function Redirect() { location.href = 'keluhan_pengguna.php'; } // --></script> "; } else { pesan("Data GAGAL dihapus. Terima Kasih"); } ?> <?php } ?> Nama File : koneksi.php <?php $db_name = "dbpenyimpananberkas"; $db_username = "root"; $db_password = ""; $db_host = "localhost"; $connection = mysql_connect($db_host, $db_username, $db_password)or die("Database connection error!!"); mysql_select_db($db_name, $connection) or die("Database select error!!"); ?> Nama File : laporan_data_pengguna_data.php <?php
107
include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_pengguna=$_SESSION['id_pengguna']; $date_sekarang=$format_tgl_sekarang; $sql_data_pengguna="select * from tb_pengguna where id_pengguna='$id_pengguna'"; $hasil_data_pengguna=mysql_query($sql_data_pengguna); $row_data_pengguna=mysql_fetch_assoc($hasil_data_pengguna); ?> <table width="100%" border="0" align="center"> <tr> <td colspan="2" align="center"><strong>LAPORAN BERKAS TERSIMPAN</strong></td> </tr> <tr> <td colspan="2" align="center"> </td> </tr> <tr> <td colspan="2" align="center"><strong>Tanggal Download Laporan : <?php echo $date_sekarang; ?></strong></td> </tr> <tr> <td colspan="2" align="left"><strong>Data Perusahaan </strong></td> </tr> <tr> <td width="197" align="left">Nama Perusahaan</td> <td width="443" align="left">: <?php echo "$row_data_pengguna[id_pengguna] ( $row_data_pengguna[nm_pengguna] )"; ?></td> </tr> <tr> <td align="left">Nama Pimpinan</td> <td align="left">: <?php echo "$row_data_pengguna[nm_pimpinan]"; ?></td> </tr> <tr> <td align="left">Alamat</td> <td align="left">: <?php echo "$row_data_pengguna[alamat_pengguna]"; ?></td> </tr> <tr> <td align="left">Telp</td> <td align="left">: <?php echo "$row_data_pengguna[telp_pengguna]"; ?></td> </tr> <tr> <td align="left">No. SIUP</td> <td align="left">: <?php echo "$row_data_pengguna[no_siup]"; ?></td> </tr> <tr> <td align="left">Tanggal Registrasi</td> <td align="left">: <?php echo date("d-m-Y h:i:s",strtotime($row_data_pengguna['tgl_registrasi'])); ?></td> </tr> <tr> <td align="left">Tanggal Konfirmasi</td>
108
<td align="left">: <?php echo date("d-m-Y h:i:s",strtotime($row_data_pengguna['tgl_konfirmasi'])); ?></td> </tr> <tr> <td align="left"> </td> <td align="left"> </td> </tr> </table> <?php $i=0; $sql_data_kategori="select * from tb_kategori where id_pengguna='$id_pengguna' order by nm_kategori asc"; $hasil_data_kategori=mysql_query($sql_data_kategori); while($row_data_kategori=mysql_fetch_assoc($hasil_data_kategori)) { //echo "Nama Folder : $row_data_kategori[nm_kategori] ( Tanggal : $row_data_kategori[tgl_buat_kategori] )"; ?> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr align="center"> <td width="317"> </td> <td width="333"> </td> </tr> <tr align="left"> <td colspan="2"><strong><?php echo " NAMA FOLDER : $row_data_kategori[nm_kategori] ( ". date("d-m-Y h:i:s",strtotime($row_data_kategori['tgl_buat_kategori'])) ." )"; ?></strong></td> </tr> <tr align="center"> <td> </td> <td> </td> </tr> </table> <table width="100%" border="1" align="center" cellpadding="0" cellspacing="0"> <tr align="center"> <td width="47" align="center"><strong>NO</strong></td> <td width="154"><strong>TGL. UPLOAD</strong></td> <td width="134"><strong>NAMA BERKAS</strong></td> <td width="69"><strong>UKURAN</strong></td> <td width="234"><strong>MD5</strong></td> </tr> <?php $j=0; $id_kategori=$row_data_kategori['id_kategori']; $sql_data_upload="select * from tb_upload where id_kategori='$id_kategori' and id_pengguna='$id_pengguna' order by nm_upload asc"; $hasil_data_upload=mysql_query($sql_data_upload); while($row_data_upload=mysql_fetch_assoc($hasil_data_upload)) { $j++; ?> <tr align="left"> <td align="center"><?php echo "$j"; ?></td>
109
<td align="left"><?php echo date("d-m-Y h:i:s",strtotime($row_data_upload['tgl_upload'])); ?></td> <td> <?php $file=$row_data_upload['file']; $pecah_nama_file = explode(".", $file); $jml_pecahan_nama_file = count($pecah_nama_file)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir $hasil_ekstensi_file = $pecah_nama_file[$jml_pecahan_nama_file]; //docx echo "$row_data_upload[nm_upload].$hasil_ekstensi_file"; ?> </td> <td> <?php $size_file=$row_data_upload['size_file']; if($size_file>=1048576) { $size_file_01=number_format(($size_file/1048576),2); echo "$size_file_01 MB"; } else if ($size_file>=1024) { $size_file_01=number_format(($size_file/1024),2); echo "$size_file_01 KB"; } else { $size_file_01=number_format(($total_space_bytes),2); echo "$size_file_01 bytes"; } ?> </td> <td><?php echo $row_data_upload['md5_file']; ?></td> </tr> <?php } ?> </table> <?php } ?> Nama File : laporan_data_pengguna_pdf.php <?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php");
110
include_once("koneksi.php"); $date_sekarang=$format_tgl_sekarang; $nm_pengguna=$_SESSION['nm_pengguna']; // activate Output-Buffer: ob_start(); include "laporan_data_pengguna_data.php"; $htmlbuffer=ob_get_contents(); ob_end_clean(); require('html2fpdf/html2fpdf.php'); try { $pdf=new HTML2FPDF; $pdf->AddPage(); $pdf->WriteHTML($htmlbuffer, isset($_GET['vuehtml'])); $pdf->Output('Laporan Berkas '.$nm_pengguna.' (Tanggal '.date("d-m-Y h:i:s",strtotime($date_sekarang)).').pdf','I'); } catch(HTML2PDF_exception $e) { echo $e; } ?> Nama File : logout.php <?php session_start(); include("koneksi.php"); include_once("configuration_pengguna.php"); //================------------- Input Data ke tb_log_administrator $id_pengguna=$_SESSION['id_pengguna']; $date_sekarang=$format_tgl_sekarang; $sql_input_log="insert into tb_log_pengguna (id_pengguna,log_date,status_log) values ('$id_pengguna','$date_sekarang','out')"; mysql_query($sql_input_log); session_destroy(); header("location:index.php"); ?> Nama File : lupa_password.inc.php <?php include_once("configuration_pengguna.php"); include_once("koneksi.php"); function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'lupa_password.php' </script>"; exit(); } ?> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : "";
111
switch ($me) { case "": ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="500" border="0" cellspacing="2" cellpadding="2" align="center" bgcolor="#FFFFFF"> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3" align="center"> <div style="font-size:20px;">SELAMAT DATANG <br /> <strong>HALAMAN PENGGUNA LAYANAN </strong> </div> <br /> <div style="font-size:14px; color:#AA0000;"> (Lupa Password isi form form dibawah ini) </div><br /> </td> </tr> <tr> <td width="124">Alamat E-Mail </td> <td width="3">:</td> <td width="273"> <input name="mail" type="email" id="mail" size="25" maxlength="100" class="textinput" placeholder="Alamat E-Mail" autofocus required /> </td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Cek Alamat E-Mail" class="textinput"/> <input name="me" type="hidden" id="me" value="cek_email" /> </td> </tr> <tr> <td colspan="3" align="right"> </td> </tr> <tr> <td colspan="3" align="right">[<a href="index.php">Kembali Ke Halaman Log-In</a>]</td> </tr> <tr> <td colspan="3"> </td> </tr> </table>
112
</form> <?php //==============- Cek Berdasarkan E-Mail break; case "cek_email": $mail=$_POST['mail']; $sql_cek_email="select * from tb_pengguna where mail_pengguna='$mail'"; $hasil_cek_email=mysql_query($sql_cek_email); $jml_cek_email=mysql_num_rows($hasil_cek_email); if ($jml_cek_email==1) { $row_cek_email=mysql_fetch_assoc($hasil_cek_email); //================---------------- Membuat Session $_SESSION['nm_pengguna']=$row_cek_email['nm_pengguna']; $_SESSION['mail_pengguna']= $row_cek_email['mail_pengguna']; echo " <p align=\"center\">Mohon Tunggu, Alamat E-Mail DITEMUKAN</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"> <!-- setTimeout('Redirect()',2000); function Redirect() { location.href = 'lupa_password.php?me=pertanyaan_pengaman'; } // --> </script> "; } else { session_destroy(); pesan("Mohon Maaf, Alamat E-Mail TIDAK Terdaftar"); } //=========================================--------------------------------------------------- ?> <?php //==============- Halaman Pertanyaan break; case "pertanyaan_pengaman": $mail_pengguna=$_SESSION['mail_pengguna']; $nm_pengguna=$_SESSION['nm_pengguna']; // sql pertanyaan $sql_pertanyaan_pengaman = "select * from tb_pengguna where mail_pengguna='$mail_pengguna'"; $hasil_pertanyaan_pengaman=mysql_query($sql_pertanyaan_pengaman);
113
$row_pertanyaan_pengaman=mysql_fetch_assoc($hasil_pertanyaan_pengaman); ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="500" border="0" cellspacing="2" cellpadding="2" align="center" bgcolor="#FFFFFF"> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3" align="center"> <div style="font-size:20px;">SELAMAT DATANG <br /> <strong>" <?php echo "$nm_pengguna"; ?> " </strong> </div> <br /> <div style="font-size:14px; color:#AA0000;"> (mohon jawab pertanyaan dibawah ini) </div> <br /> </td> </tr> <tr> <td width="124"><strong>Pertanyaan</strong> </td> <td width="3">:</td> <td width="273"><strong><?php echo $row_pertanyaan_pengaman['tanya_pengguna']; ?>? </strong></td> </tr> <tr> <td width="124"><strong>Jawaban Anda</strong> </td> <td width="3">:</td> <td width="273"> <input name="jawaban" type="text" id="mail" size="25" maxlength="100" class="textinput" placeholder="Jawaban Anda" autofocus required /> </td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Proses Tahap Selanjutnya" class="textinput"/> <input name="me" type="hidden" id="me" value="jawab_pertanyaan" /> </td> </tr> <tr> <td colspan="3" align="right"> </td>
114
</tr> <tr> <td colspan="3" align="right">[<a href="index.php">Kembali Ke Halaman Log-In</a>]</td> </tr> <tr> <td colspan="3"> </td> </tr> </table> </form> <?php //==============- Proses Jawab Pertanyaan Berdasarkan E-Mail break; case "jawab_pertanyaan": $mail_pengguna=$_SESSION['mail_pengguna']; $jawab_pengguna=strtolower($_POST['jawaban']); $sql_cek_jawaban="select * from tb_pengguna where mail_pengguna='$mail_pengguna' and jawab_pengguna='$jawab_pengguna'"; $hasil_cek_jawaban=mysql_query($sql_cek_jawaban); $jml_cek_jawaban=mysql_num_rows($hasil_cek_jawaban); if ($jml_cek_jawaban==1) { echo " <p align=\"center\">Jawaban BENAR Mohon Tunggu Sebentar</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"> <!-- setTimeout('Redirect()',2000); function Redirect() { location.href = 'lupa_password.php?me=password_baru'; } // --> </script> "; } else { session_destroy(); pesan("Mohon Maaf, Jawaban Anda SALAH. Ulangi Proses"); } //=========================================--------------------------------------------------- ?> <?php //==============- Reset Password break; case "password_baru": $mail_pengguna=$_SESSION['mail_pengguna']; $nm_pengguna=$_SESSION['nm_pengguna'];
115
?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="500" border="0" cellspacing="2" cellpadding="2" align="center" bgcolor="#FFFFFF"> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3" align="center"> <div style="font-size:20px;">SELAMAT DATANG <br /> <strong>" <?php echo "$nm_pengguna"; ?> " </strong> </div> <br /> <div style="font-size:14px; color:#AA0000;"> (masukan password baru anda) </div> <br /> </td> </tr> <tr> <td width="137"><strong>Password Baru </strong> </td> <td width="9">:</td> <td width="234"> <input name="pass1" type="password" id="pass1" size="20" maxlength="100" class="textinput" placeholder="Password Baru" autofocus required /></td> </tr> <tr> <td width="137"><strong>Ulangi Sekali Lagi </strong> </td> <td width="9">:</td> <td width="234"> <input name="pass2" type="password" id="pass2" size="20" maxlength="100" class="textinput" placeholder="Ulangi Sekali Lagi" required /> </td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Rubah Password" class="textinput"/> <input name="me" type="hidden" id="me" value="rubah_password" /> </td> </tr> <tr> <td colspan="3" align="right"> </td> </tr> <tr>
116
<td colspan="3" align="right">[<a href="index.php">Kembali Ke Halaman Log-In</a>]</td> </tr> <tr> <td colspan="3"> </td> </tr> </table> </form> <?php //==============- Proses Rubah Passwords break; case "rubah_password": $mail_pengguna=$_SESSION['mail_pengguna']; $pass1=$_POST['pass1']; $pass2=$_POST['pass2']; if($pass1!=$pass2) { session_destroy(); pesan("Mohon Maaf, Password TIDAK Sama. Silahkan Ulangi Prosesnya"); } else { $sql_ganti_password = "update tb_pengguna set pass_pengguna=md5('$pass1') where mail_pengguna='$mail_pengguna'"; $hasil_ganti_password = mysql_query($sql_ganti_password) or die(mysql_error()); if($hasil_ganti_password) { echo " <p align=\"center\">Password Baru Anda Berhasil DISIMPAN. Terima Kasih </p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',3000); function Redirect() { location.href = 'index.php'; } // --></script> "; } else { session_destroy(); pesan("Password Baru GAGAL disimpan"); } } //=========================================--------------------------------------------------- ?> <?php
117
} ?> Nama File : menu-kiri.php <?php $id_pengguna=$_SESSION['id_pengguna']; if($_SESSION['login']=="ok" && $_SESSION['id_pengguna']!="") { ?> <table width="250" border="0" cellspacing="2" cellpadding="0"> <tr> <td height="33" colspan="2" background="images/background-kiri.png" align="center"><strong>DATA PENGGUNA SISTEM </strong></td> </tr> <tr> <td> </td> <td valign="top"> Selamat Datang, <br /><strong><?php echo $_SESSION['nm_pengguna']; ?></strong> <br /> <strong>ID : </strong> (<?php echo $_SESSION['id_pengguna']; ?>) <br /><br /> </td> </tr> <tr> <td width="19"> </td> <td width="225" valign="top"> <?php if($_SESSION['img_pengguna']!="") { echo "<img src=\"data_pengguna/$_SESSION[mail_pengguna]/$_SESSION[img_pengguna]\" width=\"80\" height=\"80\" />"; } else { echo "<img src=\"images/face_kosong.jpg\" width=\"80\" height=\"80\" />"; } ?> </td> </tr> <tr> <td> </td> <td valign="top"> </td> </tr> <tr> <td colspan="2"><strong>Pencarian Data Berkas :</strong></td> </tr> <tr> <td colspan="2"> <form name="form_cari" method="get" action="upload_data.php" enctype="multipart/form-data"> <input name="cari" type="text" class="textboxcari" id="cari" value="<?php echo $_GET['cari']; ?>" size="20" maxlength="100" placeholder="Key Word Pencarian"/> </form> </td> </tr> <tr> <td> </td>
118
<td valign="top"> </td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="edit_data_pengguna.php?me=ganti_photo">Ganti Foto Profil </a></td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="edit_data_pengguna.php">Informasi Data Perusahaan</a></td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="edit_data_pengguna.php?me=ganti_password">Ganti Password </a></td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="space_layanan.php">Informasi Space Anda </a></td> </tr> <tr> <td> </td> <td valign="top"> </td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="upload_kategori.php">Upload Berkas </a></td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="download_list.php">Daftar Download Terakhir </a></td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="laporan_data_pengguna_pdf.php" target="_blank">Laporan Berkas Secara Keseluruhan</a></td> </tr> <tr> <td> </td> <td valign="top"> </td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="keluhan_pengguna.php">Keluhan & Saran</a></td> </tr> <tr> <td><img src="images/edit.gif" width="12" height="13" /></td> <td valign="top"><a href="edit_data_pengguna.php?me=history">History Masuk & Keluar Sistem </a></td> </tr> <tr> <td> </td> <td valign="top"> </td> </tr> <tr> <td><img src="images/log-out-icon.gif" width="12" height="13" /></td> <td valign="top"><a href="logout.php">Keluar Halaman </a></td>
119
</tr> <tr> <td> </td> <td valign="top"> </td> </tr> <tr> <td valign="top" colspan="2"> <?php //************************************************************* Posisi Grafik Space ?> <table width="245" border="0"> <tr> <td colspan="3" align="right"> <strong>Total Space Anda :</strong> <?php //************** Total Space $sql_total_space_01="select sum(b.space) as space from tb_jml_space a,tb_space b where a.id_space=b.id_space and a.id_pengguna='$id_pengguna'"; $hasil_total_space_01=mysql_query($sql_total_space_01); $row_total_space_01=mysql_fetch_assoc($hasil_total_space_01); $total_space_bytes=$row_total_space_01['space']; // Variabel Space Awal if($total_space_bytes>=1048576) { $total_space_akhir=number_format(($total_space_bytes/1048576),2); echo "$total_space_akhir MB"; } else if ($total_space_bytes>=1024) { $total_space_akhir=number_format(($total_space_bytes/1024),2); echo "$total_space_akhir KB"; } else { $total_space_akhir=number_format(($total_space_bytes),2); echo "$total_space_akhir bytes"; } ?> </td> </tr> <tr> <td colspan="3" bgcolor="#0099FF" height="20"> <?php $sql_space_terpakai_01="select sum(size_file) as size_terpakai_01 from tb_upload where id_pengguna='$id_pengguna'"; $hasil_space_terpakai_01=mysql_query($sql_space_terpakai_01); $row_space_terpakai_01=mysql_fetch_assoc($hasil_space_terpakai_01);
120
$space_terpakai=$row_space_terpakai_01['size_terpakai_01']; $lebar_persen_terpakai = number_format((($space_terpakai/$total_space_bytes)*100),2); // Variabel Prosestase Space Terpakai echo "<img src=\"images/terpakai.png\" height=\"20px\" width=\"$lebar_persen_terpakai%\"/>"; ?> </td> </tr> <tr> <td colspan="3" align="left"><strong>Keterangan : </strong></td> </tr> <tr> <td width="19" bgcolor="#790101"> </td> <td width="86">Space Terpakai</td> <td width="126">: <?php //echo ==-----------------$space_terpakai; if($space_terpakai>=1048576) { $total_space_terpakai_a1=number_format(($space_terpakai/1048576),2); echo "$total_space_terpakai_a1 MB"; } else if ($space_terpakai>=1024) { $total_space_terpakai_a1=number_format(($space_terpakai/1024),2); echo "$total_space_terpakai_a1 KB"; } else { $total_space_terpakai_a1=number_format(($space_terpakai),2); echo "$total_space_terpakai_a1 bytes"; } echo " ($lebar_persen_terpakai %)"; ?> </td> </tr> <tr> <td bgcolor="#0099FF"> </td> <td>Sisa Space</td> <td>: <?php //echo ==-----------------$sisa space $sisa_space_kosong=$total_space_bytes-$space_terpakai; if($sisa_space_kosong>=1048576) { $total_sisa_space_a1=number_format(($sisa_space_kosong/1048576),2); echo "$total_sisa_space_a1 MB"; } else if ($sisa_space_kosong>=1024) {
121
$total_sisa_space_a1=number_format(($sisa_space_kosong/1024),2); echo "$total_sisa_space_a1 KB"; } else { $total_sisa_space_a1=number_format(($sisa_space_kosong),2); echo "$total_sisa_space_a1 bytes"; } $persen_sisa_space_a1=number_format((($sisa_space_kosong/$total_space_bytes)*100),2); echo " ($persen_sisa_space_a1 %)"; ?> </td> </tr> </table> <?php //******************************************************** Posisi Grafik Space END ?> </td> </tr> <tr> <td> </td> <td valign="top"> </td> </tr> </table> <?php } else { ?> <table width="250" border="0" cellspacing="2" cellpadding="0"> <tr> <td height="33" colspan="2" background="images/background-kiri.png" align="center"><strong>DATA PENGGUNA SISTEM </strong></td> </tr> <tr> <td width="8"> </td> <td width="242" valign="top"> Selamat Datang Pengunjung, <br /> <strong>Belum Memiliki ACCOUNT </strong><br /><br /> <a href="registrasi-pengguna.php">DAFTAR SEKARANG JUGA</a> <br /><br /> <strong>Sudah Memiliki ACCOUNT </strong><br /><br /> <a href="index.php">SILAHKAN LOG-IN </a> <br /> </td> </tr> <tr> <td> </td> <td valign="top"> </td> </tr> </table> <?php } ?>
122
<br /> <table width="250" border="0" cellspacing="2" cellpadding="0"> <tr> <td height="33" colspan="2" background="images/background-kiri.png" align="center"><strong>10 PENGGUNA BARU YANG MENDAFTAR </strong></td> </tr> <?php $sql_baru_regis="select * from tb_pengguna where status_konfirmasi='y' order by id_pengguna desc limit 0,10"; $hasil_baru_regis=mysql_query($sql_baru_regis); while($row_baru_regis=mysql_fetch_assoc($hasil_baru_regis)) { ?> <tr> <td width="23"><img src="images/chat-icon.gif" width="15" height="14" /></td> <td width="221" valign="top"><?php echo $row_baru_regis['nm_pengguna']; ?></td> </tr> <tr> <td> </td> <td valign="top"> <em> <?php $tgl_baru_regis=$row_baru_regis['tgl_registrasi']; echo date("d M Y h:i:s",strtotime($tgl_baru_regis)); ?> </em> </td> </tr> <?php } ?> </table> <br /> Nama File : registrasi-pengguna.inc.php <?php session_start(); include_once("configuration_pengguna.php"); include_once("koneksi.php"); function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'registrasi-pengguna.php' </script>"; exit(); } ?> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": $rekomendasi=$_GET['rekomendasi']; ?> <script src="alah_facebook/jquery-1.2.2.pack.js" type="text/javascript"></script>
123
<link href="alah_facebook/facebox.css" media="screen" rel="stylesheet" type="text/css" /> <script src="alah_facebook/facebox.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox() }) </script> <script> var checkobj function agreesubmit(el) { checkobj=el if (document.all||document.getElementById) { for (i=0;i<checkobj.form.length;i++) { //hunt down submit button var tempobj=checkobj.form.elements[i] if(tempobj.type.toLowerCase()=="submit") tempobj.disabled=!checkobj.checked } } } function defaultagree(el) { if (!document.all&&!document.getElementById) { if (window.checkobj&&checkobj.checked) return true else { alert("Please read/accept terms to submit form") return false } } } </script> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <input name="rekomendasi" type="hidden" id="rekomendasi" size="25" maxlength="50" class="textinput" value="<?php echo $rekomendasi; ?>" /> <table width="500" border="0" cellspacing="0" cellpadding="0"> <tr>
124
<td colspan="3" height="35" align="center" class="textjudul"><br /><strong>REGISTRASI PERUSAHAAN <br /> ( PENGGUNA LAYANAN )</strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><strong>Data Personal Perusahaan</strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="138">Nama Perusahaan </td> <td width="6">:</td> <td width="356"> <input name="nama" type="text" id="nama" size="25" maxlength="50" class="textinput" autofocus required /> </td> </tr> <tr> <td width="138">Nama Pimpinan</td> <td width="6">:</td> <td width="356"> <input name="pimpinan" type="text" id="pimpinan" size="25" maxlength="50" class="textinput" required /> </td> </tr> <tr> <td height="89">Alamat</td> <td>:</td> <td> <textarea name="alamat" class="textinput" cols="30" rows="5" required></textarea></td> </tr> <tr> <td>Telp</td> <td>:</td> <td> <input name="telp" type="text" id="telp" size="20" maxlength="50" class="textinput" required /> </td> </tr> <tr> <td>No. SIUP</td> <td>:</td> <td> <input name="siup" type="text" id="siup" size="20" maxlength="50" class="textinput" required /> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><strong>Data Login Perusahaan </strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr>
125
<td width="138">E-Mail Perusahaan</td> <td width="6">:</td> <td width="356"> <input name="mail" type="email" id="mail" size="25" maxlength="50" class="textinput" required /> </td> </tr> <tr> <td>Password</td> <td>:</td> <td> <input name="pass1" type="password" id="pass1" size="20" maxlength="50" class="textinput" required /> </td> </tr> <tr> <td>Konfirmasi Password </td> <td>:</td> <td> <input name="pass2" type="password" id="pass2" size="20" maxlength="50" class="textinput" required /> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><strong>Data Situs Jejaring Sosial </strong></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td width="138">Link Facebook</td> <td width="6">:</td> <td width="356"> <input name="fb" type="text" id="fb" size="25" maxlength="50" class="textinput" /> <font color="#FF0000">*</font> </td> </tr> <tr> <td>Link Twitter</td> <td>:</td> <td> <input name="tw" type="text" id="tw" size="25" maxlength="50" class="textinput" /> <font color="#FF0000">*</font> </td> </tr> <tr> <td colspan="3"><em><font color="#FF0000">* Boleh tidak mengisinya</font></em></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><strong>Data Keamanan </strong></td> </tr> <tr> <td colspan="3"> </td> </tr>
126
<tr> <td width="138">Pertanyaan Keamanan </td> <td width="6">:</td> <td width="356"> <input name="tanya" type="text" id="tanya" size="25" maxlength="50" class="textinput" required /> ? </td> </tr> <tr> <td>Jawaban </td> <td>:</td> <td> <input name="jawab" type="text" id="jawab" size="25" maxlength="50" class="textinput" required /></td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3"><strong>Space yang anda dapatkan: </strong></td> </tr> <?php $sql_space="select * from tb_space where id_space='1' order by space asc"; $hasil_space=mysql_query($sql_space); while($row_space=mysql_fetch_assoc($hasil_space)) { ?> <tr> <td width="138" align="right"><input type="radio" name="id_space" value="<?php echo $row_space['id_space']; ?>" checked="checked"></td> <td width="6"> </td> <td width="356" valign="middle"><?php echo "$row_space[ket_space] <strong>( ".($row_space[space]/1048576) ." MB )</strong>"; ?> </td> </tr> <?php } ?> <tr> <td colspan="3"> </td> </tr> <tr> <td align="right"> <input name="agreecheck" type="checkbox" onClick="agreesubmit(this)"></td> <td> </td> <td> <a href="registrasi-pengguna-prosedur.php" rel="facebox">Saya sudah membaca persyaratan registrasi pengguna layanan</a> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td colspan="3" align="center">
127
<input name="submit" type="submit" value="Melanjutkan Proses Pendaftaran" class="textinput" disabled/> <input name="me" type="hidden" id="me" value="save_data" /> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> </table> </form> <?php //===========----- Proses Simpan break; case "save_data": $date_sekarang=$format_tgl_sekarang; $nama=$_POST['nama']; $pimpinan=$_POST['pimpinan']; $alamat=$_POST['alamat']; $telp=$_POST['telp']; $siup=$_POST['siup']; $mail=$_POST['mail']; $pass1=md5($_POST['pass1']); $pass2=md5($_POST['pass2']); $fb=$_POST['fb']; $tw=$_POST['tw']; $tanya=$_POST['tanya']; $jawab=strtolower($_POST['jawab']); $rekomendasi=$_POST['rekomendasi']; //echo $rekomendasi; if($pass1!=$pass2) { pesan("Password dan Konfirmasi Password BERBEDA"); } else { if($rekomendasi!="") { $sql_cek_rekomendasi="select * from tb_pengguna where id_pengguna='$rekomendasi' and status_konfirmasi='y'"; //echo $sql_cek_rekomendasi; $hasil_cek_rekomendasi=mysql_query($sql_cek_rekomendasi); $jml_cek_rekomendasi=mysql_num_rows($hasil_cek_rekomendasi); $row_cek_rekomendasi=mysql_fetch_assoc($hasil_cek_rekomendasi); if($jml_cek_rekomendasi>=1) {
128
$rekomendasi_id=$row_cek_rekomendasi['id_pengguna']; } else { $rekomendasi_id=0; } } else { $rekomendasi_id=0; } //echo $rekomendasi_id; $sql_registrasi="insert into tb_pengguna (tgl_registrasi,nm_pengguna,nm_pimpinan,alamat_pengguna,telp_pengguna,no_siup,mail_pengguna,pass_pengguna,fb_pengguna,twitter_pengguna,tanya_pengguna,jawab_pengguna,rekomendasi)values ('$date_sekarang','$nama','$pimpinan','$alamat','$telp','$siup','$mail','$pass1','$fb','$tw','$tanya','$jawab','$rekomendasi_id')"; //echo $sql_input; $hasil_registrasi=mysql_query($sql_registrasi); if($hasil_registrasi) { mkdir("data_pengguna/$mail",0755); echo " <p align=\"center\">Please Wait <br> Data BERHASIL disimpan <br> Terimakasih</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',1000); function Redirect() { location.href = 'index.php'; } // --></script> "; } else { pesan("Data GAGAL disimpan"); } } ?> <?php } ?> Nama File : space_layanan_inc.php <?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php");
129
$id_pengguna=$_SESSION['id_pengguna']; $mail_pengguna=$_SESSION['mail_pengguna']; function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'ganti_space.php' </script>"; exit(); } ?> <script src="alah_facebook/jquery-1.2.2.pack.js" type="text/javascript"></script> <link href="alah_facebook/facebox.css" media="screen" rel="stylesheet" type="text/css" /> <script src="alah_facebook/facebox.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox() }) </script> <script LANGUAGE="JavaScript"> <!-- function confirmDelete() { var agree=confirm("Apakah Anda YAKIN Menghapus Data ini?"); if (agree) return true ; else return false ; } // --> </script> <script language="javascript" type="text/javascript"> <!-- Pop Up /**************************************************** Author: Eric King Url: http://redrival.com/eak/index.shtml This script is free to use as long as this info is left in Featured on Dynamic Drive script library (http://www.dynamicdrive.com) ****************************************************/ var win=null; function NewWindow(mypage,myname,w,h,scroll,pos){ if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;} if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; win=window.open(mypage,myname,settings);} // --> </script> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr>
130
<td colspan="4" class="garisputus"> </td> </tr> <tr> <td height="34" colspan="4" align="center" class="garisputus"><div class="textjudul">INFORMASI SPACE ANDA</div></td> </tr> <tr> <td colspan="4"><a href="space_layanan.php">[Link Promosi]</a> <a href="space_layanan.php?me=akumulasi">[Akumulasi Space Anda]</a> <a href="space_layanan.php?me=list_pendaftar_promosi">[Pendaftar yang Menggunakan Promosi Anda]</a></td> </tr> </table> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": ?> <table width="620" border="0" align="center"> <tr> <td colspan="2" align="center"><br /><strong>COPY LINK PROMOSI ANDA <br /> PADA WEBSITE ATAU MEDIA PROMOSI LAINNYA</strong><br /><br /></td> </tr> <tr valign="top"> <td width="305"> <strong>URL :</strong> <br /><br /> <textarea cols="30" rows="4" readonly="readonly"> <?php echo "http://localhost/onlinestorage/registrasi-pengguna.php?rekomendasi=$id_pengguna" ?> </textarea> <br /><br /> <strong>Share On : </strong><br /> <a href="http://www.facebook.com/share.php?u=<?php echo "http://localhost/onlinestorage/registrasi-pengguna.php?rekomendasi=$id_pengguna" ?>" title="Share on Facebook" target="_blank"> <img src="images/fb-shared.png" border="0" width="77" height=="25" /> </a> <a href="http://twitter.com/home?status=Share URL - <?php echo "http://localhost/onlinestorage/registrasi-pengguna.php?rekomendasi=$id_pengguna" ?>" title="Share on Twitter" target="_blank"> <img src="images/twitter-shared.jpg" border="0" width="75" height=="25" /></a> </td> <td width="305"> <strong>LINK GAMBAR :</strong> <br /><br /> <textarea cols="30" rows="4" readonly="readonly"> <?php echo "<a href=\"http://localhost/onlinestorage/registrasi-pengguna.php?rekomendasi=$id_pengguna\" target=\"_blank\"><img src=\"http://localhost/onlinestorage/images/promosi.jpg\" border=\"0\" width=\"200\" height==\"262\" /></a>"; ?> </textarea> <br /><br /> <a href="<?php echo "http://localhost/onlinestorage/registrasi-pengguna.php?rekomendasi=$id_pengguna"; ?>" target="_blank"><img src="http://localhost/onlinestorage/images/promosi.jpg" border="0" width="200" height=="262" /></a>
131
</td> </tr> </table> <?php break; case "akumulasi": ?> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr align="center"> <td height="30" colspan="4"><br /><strong>AKUMULASI SPACE ANDA</strong><br /><br /></td> </tr> <tr align="center" bgcolor="#E8F8FC"> <td width="36" height="30"><strong>NO</strong></td> <td width="145"><strong>TGL </strong></td> <td width="288"><strong>KETERANGAN</strong></td> <td width="125"><strong>JML. SPACE</strong></td> </tr> <?php $hal= (isset($_GET['hal'])) ? $_GET['hal'] : 1; $bph=25;//Baris Per Halaman $start=$hal*$bph-$bph; //=========---- SQL $sq="select a.*,b.* from tb_jml_space a,tb_space b where a.id_space=b.id_space and id_pengguna='$id_pengguna' order by id_jml_space asc"; //========= $hs=mysql_query($sq); $jum_baris=mysql_num_rows($hs); $halaman=ceil($jum_baris/$bph); $i=0; $tot_space=0; //=========---- SQL $sql="select a.*,b.* from tb_jml_space a,tb_space b where a.id_space=b.id_space and id_pengguna='$id_pengguna' order by id_jml_space asc limit $start,$bph"; //====================================================== $hasil=mysql_query($sql); while($row=mysql_fetch_assoc($hasil)) { // blok pengulangan kategori $i++; $tot_space=$tot_space+$row['space']; $no=($hal-1)*$bph+$i; if($no % 2==0) { $warna="#E8F8FC"; } else { $warna="#CCCCCC"; }
132
?> <tr valign="top" bgcolor="<?php echo $warna;?>"> <td align="right"><?php echo $no; ?>.</td> <td><?php echo date("d-m-Y h:i:s",strtotime($tgl_log=$row['tgl_jml_space'])); ?> </td> <td><strong><?php echo $row['ket_space']; ?></strong></td> <td align="right"><strong><?php echo number_format(($row['space']/1048576),2)." MB"; ?></strong></td> </tr> <? } ?> </table> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" height="5"></td> </tr> <tr> <td align="center"> <?php $link_no="space_layanan.php?me=akumulasi"; if($hal>1) { echo " [ <a href=\"$link_no&hal=1\">First</a> ]"; } if($hal>1) { $hal_back=$hal-1; echo" [ <a href=\"$link_no&hal=$hal_back\">Back</a> ]"; } $n_hal=0; while($n_hal<$halaman) { $n_hal++; if($n_hal==$hal) { echo " [ <strong>$n_hal</strong> ]"; } else { echo " [ <a href=\"$link_no&hal=$n_hal\">$n_hal</a> ]"; } } if($hal<$halaman) { $hal_next=$hal+1; echo" [ <a href=\"$link_no&hal=$hal_next\">Next</a> ]"; }
133
if($hal<$halaman) { echo" [ <a href=\"$link_no&hal=$halaman\">Last</a> ]"; } ?> </td> </tr> <tr> <td align="center"> </td> </tr> </table> <table width="620" border="0" align="center"> <tr valign="top" bgcolor="#999933"> <td colspan="3" align="right"><strong>TOTAL SPACE ANDA : </strong></td> <td width="126" align="right"><strong> <?php $sql_akumulasi_space="select sum(b.space) as space from tb_jml_space a,tb_space b where a.id_space=b.id_space and id_pengguna='$id_pengguna' order by id_jml_space asc"; $hasil_akumulasi_space=mysql_query($sql_akumulasi_space); $row_akumulasi_space=mysql_fetch_assoc($hasil_akumulasi_space); ?> <?php echo number_format(($row_akumulasi_space['space']/1048576),2). "MB"; ?></strong> </td> </tr> </table> <?php break; case "list_pendaftar_promosi": ?> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr align="center"> <td height="30" colspan="5"><br /><strong>DAFTAR PERUSAHAAN <br /> MELALUI PROMOSI ANDA</strong><br /><br /></td> </tr> <tr align="center" bgcolor="#E8F8FC"> <td width="36" height="30"><strong>NO</strong></td> <td width="209"><strong>NAMA PERUSAHAAN</strong></td> <td width="224"><strong>NAMA PIMPINAN</strong></td> <td width="125"><strong>TGL. REGISTRASI</strong></td> <td width="125"><strong>TGL. KONFIRMASI</strong></td> </tr> <?php $hal= (isset($_GET['hal'])) ? $_GET['hal'] : 1; $bph=25;//Baris Per Halaman $start=$hal*$bph-$bph; //=========---- SQL $sq="select * from tb_pengguna where rekomendasi='$id_pengguna' and status_konfirmasi='y' order by nm_pengguna asc"; //=========
134
$hs=mysql_query($sq); $jum_baris=mysql_num_rows($hs); $halaman=ceil($jum_baris/$bph); $i=0; $tot_space=0; //=========---- SQL $sql="select * from tb_pengguna where rekomendasi='$id_pengguna' and status_konfirmasi='y' order by nm_pengguna asc limit $start,$bph"; //====================================================== $hasil=mysql_query($sql); while($row=mysql_fetch_assoc($hasil)) { // blok pengulangan kategori $i++; $tot_space=$tot_space+$row['space']; $no=($hal-1)*$bph+$i; if($no % 2==0) { $warna="#E8F8FC"; } else { $warna="#CCCCCC"; } ?> <tr valign="top" bgcolor="<?php echo $warna;?>"> <td align="right"><?php echo $no; ?>.</td> <td><?php echo $row['nm_pengguna']; ?></td> <td><?php echo $row['nm_pimpinan']; ?></td> <td><?php echo date("d-m-Y h:i:s",strtotime($tgl_log=$row['tgl_registrasi'])); ?></td> <td><?php echo date("d-m-Y h:i:s",strtotime($tgl_log=$row['tgl_konfirmasi'])); ?></td> </tr> <? } ?> </table> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" height="5"></td> </tr> <tr> <td align="center"> <?php $link_no="space_layanan.php?me=akumulasi"; if($hal>1) { echo " [ <a href=\"$link_no&hal=1\">First</a> ]"; } if($hal>1) {
135
$hal_back=$hal-1; echo" [ <a href=\"$link_no&hal=$hal_back\">Back</a> ]"; } $n_hal=0; while($n_hal<$halaman) { $n_hal++; if($n_hal==$hal) { echo " [ <strong>$n_hal</strong> ]"; } else { echo " [ <a href=\"$link_no&hal=$n_hal\">$n_hal</a> ]"; } } if($hal<$halaman) { $hal_next=$hal+1; echo" [ <a href=\"$link_no&hal=$hal_next\">Next</a> ]"; } if($hal<$halaman) { echo" [ <a href=\"$link_no&hal=$halaman\">Last</a> ]"; } ?> </td> </tr> <tr> <td align="center"> </td> </tr> </table> <?php } ?> Nama File : upload_data_inc.php <?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_kategori=$_GET['id_kategori']; $cari=$_GET['cari']; $id_pengguna=$_SESSION['id_pengguna']; $mail_pengguna=$_SESSION['mail_pengguna']; function pesan($msg) {
136
echo "<script>alert(\"Error: $msg\");location.href = 'upload_data.php?me=new' </script>"; exit(); } function pesan2($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'javascript:history.go(-1)' </script>"; exit(); } ?> <script src="alah_facebook/jquery-1.2.2.pack.js" type="text/javascript"></script> <link href="alah_facebook/facebox.css" media="screen" rel="stylesheet" type="text/css" /> <script src="alah_facebook/facebox.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox() }) </script> <script LANGUAGE="JavaScript"> <!-- function confirmDelete() { var agree=confirm("Apakah Anda YAKIN Menghapus Data ini?"); if (agree) return true ; else return false ; } // --> </script> <script language="javascript" type="text/javascript"> <!-- Pop Up /**************************************************** Author: Eric King Url: http://redrival.com/eak/index.shtml This script is free to use as long as this info is left in Featured on Dynamic Drive script library (http://www.dynamicdrive.com) ****************************************************/ var win=null; function NewWindow(mypage,myname,w,h,scroll,pos){ if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;} if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no'; win=window.open(mypage,myname,settings);} // -->
137
</script> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td colspan="4" class="garisputus"> </td> </tr> <tr> <td height="34" colspan="4" align="center" class="garisputus"><div class="textjudul">UPLOAD DATA PENGGUNA </div></td> </tr> <tr valign="top" align="center"> <td width="36"> <a href="upload_kategori.php"> <img src="images/back.png" width="35" height="35" border="0" /> <br /> Back </a> </td> <td width="85"> <?php //**** cek kategori ada tidaknya $sql_cek_jml_kategori="select * from tb_kategori where id_pengguna='$id_pengguna'"; $hasil_cek_jml_kategori=mysql_query($sql_cek_jml_kategori); $jml_cek_jml_kategori=mysql_num_rows($hasil_cek_jml_kategori); if($jml_cek_jml_kategori>0) { echo"<a href=\"upload_data.php?me=new&id_kategori=$id_kategori\"><img src=\"images/upload.png\" width=\"35\" height=\"35\" border=\"0\" /> <br /> Upload Data </a>"; } ?> </td> <td width="429"> </td> </tr> <tr> <td colspan="4" align="right"> <?php if($id_kategori!="") { $sql_posisi_folder="select * from tb_kategori where id_kategori='$id_kategori' and id_pengguna='$id_pengguna'"; $hasil_posisi_folder=mysql_query($sql_posisi_folder); $row_posisi_folder=mysql_fetch_assoc($hasil_posisi_folder); echo "Posisi Folder : <strong>$row_posisi_folder[nm_kategori]</strong> <br><br>"; } ?> </td> </tr> </table> <?php
138
$me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": ?> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr align="center" bgcolor="#E8F8FC"> <td width="24" height="30"><strong>NO</strong></td> <td width="24" height="30"><strong>ID <br /> FILE </strong></td> <td><strong>NAMA FILE </strong></td> <td width="69"><strong>TGL UPLOAD </strong></td> <td width="78"><strong>BESAR BERKAS</strong></td> <td width="55"><strong>DOWN <br /> LOAD </strong></td> <td colspan="2"><strong>MENU ADMIN </strong></td> </tr> <?php $hal= (isset($_GET['hal'])) ? $_GET['hal'] : 1; $bph=25;//Baris Per Halaman $start=$hal*$bph-$bph; //=========---- SQL if($id_kategori!="") { $sq="select * from tb_upload where id_kategori='$id_kategori' and id_pengguna='$id_pengguna' order by nm_upload asc"; } if($cari!="") { $sq="select * from tb_upload where (nm_upload LIKE '%$cari%' or ket LIKE '%$cari%') and id_pengguna='$id_pengguna' order by nm_upload asc"; } //========= $hs=mysql_query($sq); $jum_baris=mysql_num_rows($hs); $halaman=ceil($jum_baris/$bph); $i=0; //=========---- SQL if($id_kategori!="") { $sql_fileupload="select * from tb_upload where id_kategori='$id_kategori' and id_pengguna='$id_pengguna' order by nm_upload asc limit $start,$bph"; } if($cari!="") { $sql_fileupload="select * from tb_upload where (nm_upload LIKE '%$cari%' or ket LIKE '%$cari%') and id_pengguna='$id_pengguna' order by nm_upload asc limit $start,$bph"; }
139
//====================================================== $hasil_fileupload=mysql_query($sql_fileupload); while($row_fileupload=mysql_fetch_assoc($hasil_fileupload)) { // blok pengulangan kategori $i++; $no=($hal-1)*$bph+$i; if($no % 2==0) { $warna="#E8F8FC"; } else { $warna="#CCCCCC"; } ?> <tr valign="top" bgcolor="<?php echo $warna;?>"> <td align="right"><?php echo $no; ?>.</td> <td align="right"><?php echo $row_fileupload['id_upload']; ?>.</td> <td width="194" valign="top"> <?php //************************* menampilkan tipe file $data_fileupload=$row_fileupload['file']; //echo "$data_fileupload"; $pecah_nama_fileupload = explode(".", $data_fileupload); $jml_pecahan_nama_fileupload = count($pecah_nama_fileupload)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir //echo $jml_pecahan_nama_fileupload; $hasil_ekstensi_fileupload = $pecah_nama_fileupload[$jml_pecahan_nama_fileupload]; //docx //echo "$hasil_ekstensi_fileupload"; $sql_cek_ekstensi_fileupload="select * from tb_extension where extension_file = '$hasil_ekstensi_fileupload'"; echo $sql_cek_ekstensi; $hasil_cek_ekstensi_fileupload=mysql_query($sql_cek_ekstensi_fileupload); $row_ekstensi_ketemu_fileupload=mysql_fetch_assoc($hasil_cek_ekstensi_fileupload); echo "<a href=\"#\" onclick=\"NewWindow('cek_md5_file.php?id_upload=$row_fileupload[id_upload]','mywin','530','460','no','center');return false\" onfocus=\"this.blur()\"><strong>$row_fileupload[nm_upload].$row_ekstensi_ketemu_fileupload[extension_file]</strong></a>"; echo "<br><strong>Tipe File :</strong> <br> $row_ekstensi_ketemu_fileupload[nm_extension]"; ?> </td> <td> <?php echo date("d-m-Y h:i:s",strtotime($row_fileupload['tgl_upload']));
140
?> </td> <td align="center"> <?php $size_file=$row_fileupload['size_file']; if($size_file>=1048576) { $size_file_01=number_format(($size_file/1048576),2); echo "$size_file_01 MB"; } else if ($size_file>=1024) { $size_file_01=number_format(($size_file/1024),2); echo "$size_file_01 KB"; } else { $size_file_01=number_format(($total_space_bytes),2); echo "$size_file_01 bytes"; } ?> </td> <td align="center"> <form name="form1" method="post" action="download_data.php" target="_blank" enctype="multipart/form-data"> <input type="hidden" name="id_upload" value="<?php echo $row_fileupload['id_upload']; ?>"> <input name="submit" type="image" src="images/download.png" width="30" height="30"/> </form> </td> <td width="41" align="center"><a href="upload_data.php?me=edit_form&id_kategori=<?php echo $row_fileupload['id_kategori']; ?>&id_upload=<?php echo $row_fileupload['id_upload']; ?>"><img src="images/rubah.png" width="16" height="16" border="0" /> <br /> Rubah</a> </td> <td width="45" align="center"><a href="upload_data.php?me=hapus&id_kategori=<?php echo $row_fileupload['id_kategori']; ?>&id_upload=<?php echo $row_fileupload['id_upload']; ?>" onclick="return confirmDelete()"><img src="images/hapus.png" width="16" height="16" border="0" /> <br /> Hapus</a> </td> </tr> <? } ?> <tr valign="top" bgcolor="#FF99CC"> <td colspan="9" align="left"> <strong>Keterangan :</strong> <br /> Klik <strong>Nama File</strong> Untuk Cek Keaslian Data yang di download </td> </tr> </table> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" height="5"></td> </tr> <tr> <td align="center">
141
<?php $link_no="upload_data.php?id_kategori=$id_kategori&cari=$cari"; if($hal>1) { echo " [ <a href=\"$link_no&hal=1\">First</a> ]"; } if($hal>1) { $hal_back=$hal-1; echo" [ <a href=\"$link_no&hal=$hal_back\">Back</a> ]"; } $n_hal=0; while($n_hal<$halaman) { $n_hal++; if($n_hal==$hal) { echo " [ <strong>$n_hal</strong> ]"; } else { echo " [ <a href=\"$link_no&hal=$n_hal\">$n_hal</a> ]"; } } if($hal<$halaman) { $hal_next=$hal+1; echo" [ <a href=\"$link_no&hal=$hal_next\">Next</a> ]"; } if($hal<$halaman) { echo" [ <a href=\"$link_no&hal=$halaman\">Last</a> ]"; } ?> </td> </tr> <tr> <td align="justify"> </td> </tr> </table> <?php //===============-------------- Input Baru break; case "new": ?>
142
<script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td width="144">Nama File </td> <td width="8">:</td> <td width="448" align="justify"><input name="nama" type="text" id="nama" size="30" maxlength="100" class="textinput" placeholder="Nama File" autofocus required /></td> </tr> <tr> <td width="144">Keterangan</td> <td width="8">:</td> <td width="448" align="justify"><textarea name="keterangan" cols="40" rows="5" class="textinput" id="keterangan" placeholder="Keterangan Tambahan"></textarea></td> </tr> <tr> <td width="144">Folder Kategori</td> <td width="8">:</td> <td width="448" align="justify"> <select name="kategori" class="textinput" id="kategori"> <? $id_kategori_get= $_GET['id_kategori']; $sql_kategori_file="select * from tb_kategori where id_pengguna='$id_pengguna' order by nm_kategori asc"; $hasil_kategori_file=mysql_query($sql_kategori_file); while($row_kategori_file=mysql_fetch_assoc($hasil_kategori_file)) { if ($row_kategori_file['id_kategori']==$id_kategori_get) echo "<option value=\"$row_kategori_file[id_kategori]\" selected=\"selected\">$row_kategori_file[nm_kategori]</option>"; else echo "<option value=\"$row_kategori_file[id_kategori]\">$row_kategori_file[nm_kategori]</option>"; } ?> </select> </td> </tr> <tr> <td width="144">Upload File</td> <td width="8">:</td> <td width="448" align="justify"><input type="file" class="textinput" name="file_upload" id="file_upload" required /></td> </tr> <tr>
143
<td> </td> <td> </td> <td> <input name="submit" type="submit" value="Simpan Data" class="textinput"/> <input name="me" type="hidden" id="me" value="simpan" /> </td> </tr> <tr> <td colspan="3"> </td> </tr> </table> </form> <?php //===========----- Proses Simpan break; case "simpan": $nama=$_POST['nama']; $keterangan=$_POST['keterangan']; $id_kategori=$_POST['kategori']; $type_file=$_FILES['file_upload']['type']; $size_file=$_FILES['file_upload']['size']; //************************************* cek ekstensi file dan besarnya file per ekstensi yang diperbolehkan $nama_file=$_FILES["file_upload"]["name"]; //echo $nama_file; $pecah_nama_file = explode(".", $nama_file); $jml_pecahan_nama_file = count($pecah_nama_file)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir $hasil_ekstensi_file = $pecah_nama_file[$jml_pecahan_nama_file]; // docx //echo $hasil_ekstensi_file; $sql_cek_ekstensi="select * from tb_extension where extension_file = '$hasil_ekstensi_file'"; //echo $sql_cek_ekstensi; $hasil_cek_ekstensi=mysql_query($sql_cek_ekstensi); $jml_ekstensi_ketemu=mysql_num_rows($hasil_cek_ekstensi); if($jml_ekstensi_ketemu==0) { pesan("Tipe File ini, BUKAN Tipe File yang terdapat pada DAFTAR EKSTENSI. File Anda = $hasil_ekstensi_file"); } $row_ekstensi_ketemu=mysql_fetch_assoc($hasil_cek_ekstensi); if($row_ekstensi_ketemu['maximum_size_file']<$size_file) { pesan("Ukuran File MELEBIHI Ukuran Maximum. Maximum File = $row_ekstensi_ketemu[maximum_size_file] byte, File Anda $size_file byte"); } //************************************* cek space pengguna // Cek Jumlah Space Awal
144
$sql_space_awal="select sum(b.space) as tot_space_awal from tb_jml_space a, tb_space b where a.id_space=b.id_space and a.id_pengguna='$id_pengguna'"; $hasil_space_awal=mysql_query($sql_space_awal); $row_space_awal=mysql_fetch_assoc($hasil_space_awal); $jml_space_awal=$row_space_awal['tot_space_awal']; // Cek Jumlah Space Terpakai $sql_space_terpakai="select sum(size_file) as terpakai from tb_upload where id_pengguna='$id_pengguna'"; $hasil_space_terpakai=mysql_query($sql_space_terpakai); $row_space_terpakai=mysql_fetch_assoc($hasil_space_terpakai); $jml_space_terpakai=$row_space_terpakai['terpakai']; $space_sisa=$jml_space_awal-$jml_space_terpakai; if($size_file>$space_sisa) { pesan("Sisa Space Anda TIDAK MENCUKUPI. Sisa SPACE Anda = $space_sisa bytes, Sementara File = $size_file bytes"); } //************************************* upload data dan cek md5 file //*** Ganti Nama File $no_acak_01=rand(000000000,999999999); $no_acak_02=rand(000000000,999999999); $no_acak_03=rand(000000000,999999999); $ganti_nama_file = $no_acak_01."-".$no_acak_02."-".$no_acak_03.".".$hasil_ekstensi_file; // nm_file_yg_diupload //echo $ganti_nama_file; //*** Upload File $tmp_file_upload=$_FILES["file_upload"]["tmp_name"]; $tujuan_folder_upload="data_pengguna/$mail_pengguna/"; if(move_uploaded_file($tmp_file_upload,"$tujuan_folder_upload".$ganti_nama_file)) { echo "<center>Gambar Sukses di Upload Dengan Nama : <strong>$ganti_nama_file</strong></center>"; } else { pesan("Gagal Mengupload Data"); } //********************* Hitung MD5 dengan Fungsi // cek md5 file online : http://md5.my-addr.com/md5sum_for_file-md5_file_checksum/online_md5_file_hash_generator_tool.php // https://defuse.ca/checksums.htm $file_md5_url="data_pengguna/$mail_pengguna/$ganti_nama_file"; $hitung_md5=md5_file($file_md5_url); //echo $hitung_md5; //******************** $date_sekarang=$format_tgl_sekarang;
145
$sql_input="insert into tb_upload (nm_upload,ket,id_kategori,type_file,size_file,file,md5_file,id_pengguna,tgl_upload)values ('$nama','$keterangan','$id_kategori','$type_file','$size_file','$ganti_nama_file','$hitung_md5','$id_pengguna','$date_sekarang')"; //echo $sql_input; $hasil_input=mysql_query($sql_input); if($hasil_input) { echo " <p align=\"center\">Please Wait <br> Data BERHASIL disimpan <br> Terimakasih</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',1000); function Redirect() { location.href = 'upload_data.php?id_kategori=$id_kategori'; } // --></script> "; } else { pesan("Data GAGAL disimpan"); } ?> <? break; case "hapus": $id_upload=$_GET[id_upload]; $sql_select_data="select * from tb_upload where id_upload='$id_upload' and id_pengguna='$id_pengguna'"; $hasil_select_data=mysql_query($sql_select_data); while ($row_select_data=mysql_fetch_assoc($hasil_select_data)) { $tempat_simpan_data="data_pengguna/$mail_pengguna/$row_select_data[file]"; if ($row_select_data['file']!="" && file_exists("$tempat_simpan_data")) { unlink($tempat_simpan_data); //======-------------------------------------------------- $sql_delete_data="delete from tb_upload where id_upload='$id_upload' and id_pengguna='$id_pengguna'"; $hasil_delete_data=mysql_query($sql_delete_data); } echo " <p align=\"center\">File Anda BERHASIL di HAPUS </p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"><br> Please Wait</p> <script type=\"text/javascript\"><!--
146
setTimeout('Redirect()',3000); function Redirect() { location.href = 'upload_data.php?id_kategori=$id_kategori'; } // --></script> "; } ?> <? //=====--- Form Rubah break; case "edit_form": $id_upload=$_GET['id_upload']; $sql_data="select * from tb_upload where id_upload='$id_upload' and id_pengguna='$id_pengguna'"; $hasil_data=mysql_query($sql_data); $row_data=mysql_fetch_assoc($hasil_data); ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <input type="hidden" name="id" value="<?php echo $id_upload; ?>"> <input type="hidden" name="nm_file_lama_01" value="<?php echo $row_data['file'];?>"> <input type="hidden" name="size_file_lama_01" value="<?php echo $row_data['size_file'];?>"> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td width="144">Nama File </td> <td width="8">:</td> <td width="448" align="justify"><input name="nama" type="text" id="nama" size="30" maxlength="100" class="textinput" placeholder="Nama File" value="<?php echo $row_data['nm_upload'];?>" autofocus required /></td> </tr> <tr> <td width="144">Keterangan</td> <td width="8">:</td> <td width="448" align="justify"><textarea name="keterangan" cols="40" rows="5" class="textinput" id="keterangan" placeholder="Keterangan Tambahan"><?php echo $row_data['ket'];?></textarea></td> </tr> <tr> <td width="144">Folder Kategori</td> <td width="8">:</td> <td width="448" align="justify">
147
<select name="kategori" class="textinput" id="kategori"> <? $id_kategori= $row_data['id_kategori']; $sql_kategori_file="select * from tb_kategori where id_pengguna='$id_pengguna' order by nm_kategori asc"; $hasil_kategori_file=mysql_query($sql_kategori_file); while($row_kategori_file=mysql_fetch_assoc($hasil_kategori_file)) { if ($row_kategori_file['id_kategori']==$id_kategori) echo "<option value=\"$row_kategori_file[id_kategori]\" selected=\"selected\">$row_kategori_file[nm_kategori]</option>"; else echo "<option value=\"$row_kategori_file[id_kategori]\">$row_kategori_file[nm_kategori]</option>"; } ?> </select> </td> </tr> <tr valign="top"> <td width="144">Upload File</td> <td width="8">:</td> <td width="448" align="justify"><input type="file" class="textinput" name="file_upload" id="file_upload" /> <br /> Kosongkan jika TIDAK ingin merubah file yang disimpan </td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Simpan Data" class="textinput"/> <input name="me" type="hidden" id="me" value="edit_proses" /> </td> </tr> <tr> <td colspan="3"> </td> </tr> </table> </form> <? //============---- Proses Edit break; case "edit_proses": $id = $_POST ['id']; $nama = $_POST ['nama']; $keterangan = $_POST['keterangan']; $id_kategori = $_POST['kategori']; $nm_file_lama_01=$_POST['nm_file_lama_01']; $size_file_lama_01=$_POST['size_file_lama_01']; $nm_file_baru_01=$_FILES["file_upload"]["name"]; if ($nm_file_baru_01!="")
148
{ $type_file=$_FILES['file_upload']['type']; $size_file=$_FILES['file_upload']['size']; //************************************* cek ekstensi file dan besarnya file per ekstensi yang diperbolehkan $pecah_nama_file = explode(".", $nm_file_baru_01); $jml_pecahan_nama_file = count($pecah_nama_file)-1; // jumlah pecahan -1 u/ mengetahui pecahan terakhir $hasil_ekstensi_file = $pecah_nama_file[$jml_pecahan_nama_file]; //Ex : docx $sql_cek_ekstensi="select * from tb_extension where extension_file = '$hasil_ekstensi_file'"; $hasil_cek_ekstensi=mysql_query($sql_cek_ekstensi); $jml_ekstensi_ketemu=mysql_num_rows($hasil_cek_ekstensi); if($jml_ekstensi_ketemu<1) { pesan2("Tipe File ini, BUKAN Tipe File yang terdapat pada DAFTAR EKSTENSI. File Anda = $hasil_ekstensi_file"); } //cek besar file per ekstensi $row_ekstensi_ketemu=mysql_fetch_assoc($hasil_cek_ekstensi); if($row_ekstensi_ketemu['maximum_size_file']<$size_file) { pesan2("Ukuran File MELEBIHI Ukuran Maximum. Maximum File = $row_ekstensi_ketemu[maximum_size_file] byte, File Anda $size_file byte"); } //************************************* cek space pengguna // Cek Jumlah Space Awal $sql_space_awal="select sum(b.space) as tot_space from tb_jml_space a, tb_space b where a.id_space=b.id_space and a.id_pengguna='$id_pengguna'"; $hasil_space_awal=mysql_query($sql_space_awal); $row_space_awal=mysql_fetch_assoc($hasil_space_awal); $jml_space_awal=$row_space_awal['tot_space']; // Cek Jumlah Space Terpakai $sql_space_terpakai="select sum(size_file) as terpakai from tb_upload where id_pengguna='$id_pengguna'"; $hasil_space_terpakai=mysql_query($sql_space_terpakai); $row_space_terpakai=mysql_fetch_assoc($hasil_space_terpakai); $jml_space_terpakai=$row_space_terpakai['terpakai'] - $size_file_lama_01; // total space terpakai - space file lama $space_sisa=$jml_space_awal-$jml_space_terpakai; if($size_file>$space_sisa) { pesan2("Sisa Space Anda TIDAK MENCUKUPI. Sisa SPACE Anda = $space_sisa bytes, Sementara File = $size_file bytes"); } //************************************* upload data dan cek md5 file serta hapus data di direktori
149
//***** File Baru //*** Ganti Nama File $no_acak_01=rand(000000000,999999999); $no_acak_02=rand(000000000,999999999); $no_acak_03=rand(000000000,999999999); $ganti_nama_file = $no_acak_01."-".$no_acak_02."-".$no_acak_03.".".$hasil_ekstensi_file; //echo $ganti_nama_file; //*** Upload File $tmp_file_upload=$_FILES["file_upload"]["tmp_name"]; $tujuan_folder_upload="data_pengguna/$mail_pengguna/"; if(move_uploaded_file($tmp_file_upload,"$tujuan_folder_upload".$ganti_nama_file)) { echo "<center>Gambar Sukses di Upload Dengan Nama : <strong>$ganti_nama_file</strong></center>"; } else { pesan2("Gagal Mengupload Data"); } //********************* Hitung MD5 dengan Fungsi // cek md5 file online : http://md5.my-addr.com/md5sum_for_file-md5_file_checksum/online_md5_file_hash_generator_tool.php // https://defuse.ca/checksums.htm $file_md5_url="data_pengguna/$mail_pengguna/$ganti_nama_file"; $hitung_md5=md5_file($file_md5_url); //echo $hitung_md5; //**********************Hapus File Lama dr direktory $lokasi_file_lama_01="data_pengguna/$mail_pengguna/$nm_file_lama_01"; if ($nm_file_lama_01!="" && file_exists("$lokasi_file_lama_01")) { unlink($lokasi_file_lama_01); } //******************** $sql_edit = "update tb_upload set nm_upload='$nama',ket='$keterangan',id_kategori='$id_kategori',type_file='$type_file',size_file='$size_file',file='$ganti_nama_file',md5_file='$hitung_md5' where id_upload='$id' and id_pengguna='$id_pengguna'"; } else { // Jika tidak merubah file $sql_edit = "update tb_upload set nm_upload='$nama',ket='$keterangan',id_kategori='$id_kategori' where id_upload='$id' and id_pengguna='$id_pengguna'";
150
//echo $sql_edit; } //----------------- $hasil_edit = mysql_query($sql_edit); if($hasil_edit) { echo " <p align=\"center\">Please Wait <br> Data BERHASIL dirubah <br> Terimakasih</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',2000); function Redirect() { location.href = 'upload_data.php?id_kategori=$id_kategori'; } // --></script> "; } else { pesan2("Data GAGAL dirubah. Terima Kasih"); } ?> <?php } ?> Nama File : upload_kategori_inc.php <?php include_once("cek_status_login.php"); include_once("configuration_pengguna.php"); include_once("koneksi.php"); $id_pengguna=$_SESSION['id_pengguna']; $mail_pengguna=$_SESSION['mail_pengguna']; function pesan($msg) { echo "<script>alert(\"Error: $msg\");location.href = 'upload_kategori.php' </script>"; exit(); } ?> <script src="alah_facebook/jquery-1.2.2.pack.js" type="text/javascript"></script> <link href="alah_facebook/facebox.css" media="screen" rel="stylesheet" type="text/css" /> <script src="alah_facebook/facebox.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(document).ready(function($) { $('a[rel*=facebox]').facebox() })
151
</script> <script LANGUAGE="JavaScript"> <!-- function confirmDelete() { var agree=confirm("Apakah Anda YAKIN Menghapus Data ini?"); if (agree) return true ; else return false ; } // --> </script> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td colspan="4" class="garisputus"> </td> </tr> <tr> <td height="34" colspan="4" align="center" class="garisputus"><div class="textjudul">UPLOAD DATA PENGGUNA </div></td> </tr> <tr valign="top" align="center"> <td width="36"> <a href="upload_kategori.php"> <img src="images/back.png" width="35" height="35" border="0" /> <br /> Back </a> </td> <td width="85"> <a href="upload_kategori.php?me=new"> <img src="images/new_folder.png" width="35" height="35" border="0" /> <br /> Folder Baru </a> </td> <td width="85"> <?php //**** cek kategori ada tidaknya $sql_cek_jml_kategori="select * from tb_kategori where id_pengguna='$id_pengguna'"; $hasil_cek_jml_kategori=mysql_query($sql_cek_jml_kategori); $jml_cek_jml_kategori=mysql_num_rows($hasil_cek_jml_kategori); if($jml_cek_jml_kategori>0) { echo"<a href=\"upload_data.php?me=new\"><img src=\"images/upload.png\" width=\"35\" height=\"35\" border=\"0\" /> <br /> Upload Data </a>"; } ?> </td> <td width="429"> </td> </tr> <tr>
152
<td colspan="4"> </td> </tr> </table> <?php $me = isset($_REQUEST['me']) ? $_REQUEST['me'] : ""; switch ($me) { case "": ?> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr align="center" bgcolor="#E8F8FC"> <td width="29" height="30"><strong>NO</strong></td> <td><strong>NAMA KATEGORI FOLDER </strong></td> <td width="115"><strong>TGL BUAT </strong></td> <td width="116"><strong>TGL UPLOAD TERAKHIR</strong></td> <td colspan="2"><strong>MENU ADMIN </strong></td> </tr> <?php $hal= (isset($_GET['hal'])) ? $_GET['hal'] : 1; $bph=25;//Baris Per Halaman $start=$hal*$bph-$bph; //=========---- SQL $sq="select * from tb_kategori where id_pengguna='$id_pengguna' order by nm_kategori asc"; //========= $hs=mysql_query($sq); $jum_baris=mysql_num_rows($hs); $halaman=ceil($jum_baris/$bph); $i=0; //=========---- SQL $sql_kategori="select * from tb_kategori where id_pengguna='$id_pengguna' order by nm_kategori asc limit $start,$bph"; //====================================================== $hasil_kategori=mysql_query($sql_kategori); while($row_kategori=mysql_fetch_assoc($hasil_kategori)) { // blok pengulangan kategori $i++; $no=($hal-1)*$bph+$i; if($no % 2==0) { $warna="#E8F8FC"; } else { $warna="#CCCCCC"; } //=========== Untuk Cek Data pada Table Upload
153
$id_kategori=$row_kategori['id_kategori']; $sql_upload_last="select * from tb_upload where id_kategori='$id_kategori' and id_pengguna='$id_pengguna' order by tgl_upload desc"; $hasil_upload_last=mysql_query($sql_upload_last); $row_upload_last=mysql_fetch_assoc($hasil_upload_last); $total_upload_last=mysql_num_rows($hasil_upload_last); ?> <tr valign="top" bgcolor="<?php echo $warna;?>"> <td align="right"><?php echo $no; ?>.</td> <td width="237" valign="middle"> <img src="images/folder.png" width="25" height="25" /><br /> <a href="upload_data.php?id_kategori=<?php echo $row_kategori['id_kategori']; ?>"> <?php echo $row_kategori['nm_kategori']; echo " ($total_upload_last)"; ?> </a> </td> <td> <?php echo date("d-m-Y h:i:s",strtotime($row_kategori['tgl_buat_kategori'])); ?> </td> <td align="left"> <?php if($total_upload_last != 0) { echo date("d-m-Y h:i:s",strtotime($row_upload_last['tgl_upload'])); } else { echo "-"; } ?> </td> <td width="40" align="center"><a href="upload_kategori.php?me=edit_form&id_kategori=<? echo $row_kategori['id_kategori']; ?>"><img src="images/rubah.png" width="16" height="16" border="0" /> <br /> Rubah</a> </td> <td width="45" align="center"><a href="upload_kategori.php?me=hapus&id_kategori=<? echo $row_kategori['id_kategori']; ?>" onclick="return confirmDelete()"><img src="images/hapus.png" width="16" height="16" border="0" /> <br /> Hapus</a> </td> </tr> <? } ?> </table> <table width="620" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="center" height="5"></td> </tr>
154
<tr> <td align="center"> <?php $link_no="upload_kategori.php?"; if($hal>1) { echo " [ <a href=\"$link_no&hal=1\">First</a> ]"; } if($hal>1) { $hal_back=$hal-1; echo" [ <a href=\"$link_no&hal=$hal_back\">Back</a> ]"; } $n_hal=0; while($n_hal<$halaman) { $n_hal++; if($n_hal==$hal) { echo " [ <strong>$n_hal</strong> ]"; } else { echo " [ <a href=\"$link_no&hal=$n_hal\">$n_hal</a> ]"; } } if($hal<$halaman) { $hal_next=$hal+1; echo" [ <a href=\"$link_no&hal=$hal_next\">Next</a> ]"; } if($hal<$halaman) { echo" [ <a href=\"$link_no&hal=$halaman\">Last</a> ]"; } ?> </td> </tr> <tr> <td align="center"> </td> </tr> </table> <?php //===============-------------- Input Baru break; case "new":
155
?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <table width="620" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td width="167">Nama Folder Kategori </td> <td width="8">:</td> <td width="430" align="justify"><input name="nama" type="text" id="nama" size="35" maxlength="100" class="textinput" placeholder="Nama Folder Kategori" autofocus required /></td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Simpan Data" class="textinput"/> <input name="me" type="hidden" id="me" value="simpan" /> </td> </tr> </table> </form> <?php //===========----- Proses Simpan break; case "simpan": $nama=$_POST['nama']; $date_sekarang=$format_tgl_sekarang; $sql_input="insert into tb_kategori (nm_kategori,tgl_buat_kategori,id_pengguna)values ('$nama','$date_sekarang','$id_pengguna')"; //echo $sql_input; $hasil_input=mysql_query($sql_input); if($hasil_input) { echo " <p align=\"center\">Please Wait <br> Data BERHASIL disimpan <br> Terimakasih</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',1000); function Redirect() { location.href = 'upload_kategori.php';
156
} // --></script> "; } else { pesan("Data GAGAL disimpan"); } ?> <?php //====------------ Hapus Data break; case "hapus": $id_kategori =$_GET['id_kategori']; /*------------------------------------ Select Galery villa ----------------------- */ $select_data_upload="select * from tb_upload where id_kategori='$id_kategori'"; $hasil_data_upload=mysql_query($select_data_upload); while($row_data_upload=mysql_fetch_assoc($hasil_data_upload)) { $id_upload=$row_data_upload['id_upload']; //--------------------------------------------------- $posisi_data_upload="data_pengguna/$mail_pengguna/$row_data_upload[file]"; if ($row_data_upload['file']!="" && file_exists("$posisi_data_upload")) { unlink($posisi_data_upload); } $sql_del_data_upload="delete from tb_upload where id_upload='$id_upload' and id_pengguna='$id_pengguna'"; $hasil_del_data_upload=mysql_query($sql_del_data_upload); } //================================================================== $sql_delete_kategori="delete from tb_kategori where id_kategori='$id_kategori' and id_pengguna='$id_pengguna'"; $hasil_delete_kategori=mysql_query($sql_delete_kategori); echo " <p align=\"center\">Please Wait <br> Data BERHASIL Dihapus Dari Database <br> Terimakasih</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',2000); function Redirect() { location.href = 'upload_kategori.php'; } // --></script>
157
"; ?> <? //=====--- Form Rubah break; case "edit_form": $id_kategori=$_GET['id_kategori']; $sql_data="select * from tb_kategori where id_kategori='$id_kategori' and id_pengguna='$id_pengguna'"; $hasil_data=mysql_query($sql_data); $row_data=mysql_fetch_assoc($hasil_data); ?> <script language="JavaScript"> <!-- function validasi() { //-- untuk pengecekan validasi email document.form1.submit.disabled=true; document.form1.submit.value='Mohon Tunggu, Sedang di Proses'; } // --> </script> <form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data" onSubmit="return validasi();"> <input type="hidden" name="id" value="<?php echo $id_kategori; ?>"> <table width="600" border="0" cellspacing="2" cellpadding="2" align="center"> <tr> <td width="158">Nama Lengkap </td> <td width="8">:</td> <td width="419"> <input name="nama" type="text" class="textinput" id="nama" value="<?php echo $row_data['nm_kategori']; ?>" size="30" maxlength="30" placeholder="Nama Folder Kategori" autofocus required /> </td> </tr> <tr> <td> </td> <td> </td> <td> <input name="submit" type="submit" value="Rubah Data" class="textinput"/> <input name="me" type="hidden" id="me" value="edit_proses" /></td> </tr> </table> </form> <? //============---- Proses Edit break; case "edit_proses": $id = $_POST ['id']; $nama = $_POST ['nama']; $sql_edit = "update tb_kategori set nm_kategori='$nama' where id_kategori='$id' and id_pengguna='$id_pengguna'";
158
$hasil_edit = mysql_query($sql_edit); if($hasil_edit) { echo " <p align=\"center\">Please Wait <br> Data BERHASIL dirubah <br> Terimakasih</p> <p align=\"center\"><img src=\"images/ajax-loader.gif\"></p> <script type=\"text/javascript\"><!-- setTimeout('Redirect()',2000); function Redirect() { location.href = 'upload_kategori.php'; } // --></script> "; } else { pesan("Data GAGAL dirubah. Terima Kasih"); } ?> <?php } ?>