tugas akhir pengembangan aplikasi sistem...
Post on 23-Mar-2019
213 Views
Preview:
TRANSCRIPT
TUGAS AKHIR
PENGEMBANGAN APLIKASI SISTEM PENJAMINAN MUTU
INTERNAL (SPMI) DI POLITEKNIK NEGERI BALIKPAPAN
PADA SISTEM MEDIA PESAN DAN OBROLAN
(CHATTING) BERBASIS PHP & MYSQL
NURUL HUDAH
NIM : 140309250493
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
BALIKPAPAN
2017
ii
PENGEMBANGAN APLIKASI SISTEM PENJAMINAN MUTU
INTERNAL (SPMI) DI POLITEKNIK NEGERI BALIKPAPAN
PADA SISTEM MEDIA PESAN DAN OBROLAN
(CHATTING) BERBASIS PHP & MYSQL
TUGAS AKHIR
KARYA TULIS INI DIAJUKAN SEBAGAI SALAH SATU SYARAT
UNTUK MEMPEROLEH GELAR AHLI MADYA DARI POLITEKNIK
NEGERI BALIKPAPAN
NURUL HUDAH
NIM : 140309250493
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
BALIKPAPAN
POLITEKNIK NEGERI BALIKPAPAN
JURUSAN TEKNIK ELEKTRONIKA
BALIKPAPAN
2017
v
Karya ilmiah ini saya persembahkan kepada
Kedua Orang tua yang saya tercinta
Mire dan Nurhayati
Saudara saya yang saya sayangi
Abdul Rahman
Nur Farahim
Abdul Malik
Nur Cahaya
Nur Salsabilah
Muhammad Ridwan
Sahabat yang saya sayangi
Doddy Pratama
Nur Fatma Yuniar
Triyanti
Vinky Andrita Rahmani
TKJ ‘14
Rudy Ricky
Muhamaddin Nur Rahman
Diki
vii
ABSTRACT
The efforts to improve the quality of education can be maintained not to
be separated from the application of Quality Assurance Information System of
Higher Education. The implementation of the quality assurance system requires
educational institutions to have a system capable of ensuring the quality of the
organization of academic activities, such as the availability of work
standardization, the accountability of education and the ability to compete
nationally and internationally.
To measure the performance of each existing work unit, each college has
an Internal Quality Assessment Standart. in State Polytechnic of Balikpapan
which has Internal Quality Assurance System Application (SPMI) made by the
Center for the Development of Learning and Quality Assurance (P4MP) to
measure the performance of each unit in State Polytechnic of Balikpapan...
In the development of this SPMI application the researcher intends to
complement the existing features in the application of Internal Quality Assurance
System (SPMI). Specialized messaging and chat features. Media messaging and
chat system is only for work units in State Polytechnic of Balikpapan. Application
development is done by using PHP programming language and using MySQL
database as database server.
The result of this research was the existing work unit at State Polytechnic
of Balikpapan can communicate through messaging and chat feature on Internal
Quality Assurance System Application (SPMI) well and smoothly.
Keywords: Internal Quality Assurance System, Message, Chat
viii
ABSTRAK
Upaya agar mutu pendidikan yang baik dapat terus terjaga tidak terlepas
dari penerapan Sistem Informasi Penjaminan Mutu Perguruan Tinggi. Penerapan
sistem penjaminan mutu menuntut institusi pendidikan untuk memiliki sebuah
sistem yang mampu menjamin kualitas penyelenggaraan kegiatan akademik,
seperti tersedianya standarisasi kerja, akuntabilitas penyelenggaraan pendidikan
dan kemampuan untuk bersaing secara Nasional maupun Internasional.
Untuk mengukur kinerja masing - masing unit kerja yang ada, setiap
perguruan tinggi memiliki Standart Penilaian Mutu Internal. Di Politeknik Negeri
Balikpapan memiliki Aplikasi Sistem Penjaminan Mutu Internal (SPMI) yang
dibuat oleh Pusat Pengembangan Pembelajaran dan Mutu Mutu (P4MP) untuk
mengukur kinerja masing-masing unit di Politeknik Negeri Balikpapan.
Pada pengembangan aplikasi SPMI ini penulis bermaksud untuk
melengkapi fitur yang ada pada aplikasi Sistem Penjaminan Mutu Internal
(SPMI). Terkhusus fitur pesan dan obrolan. Sistem media pesan dan obrolan
hanya diperuntukkan bagi unit kerja yang ada di Politeknik Negeri Balikpapan.
Pengembangan aplikasi dilakukan dengan menggunakan bahasa pemrograman
PHP dan menggunakan basis data MySQL sebagai database servernya.
Hasil dari penelitian ini adalah unit kerja yang ada di Politeknik Negeri
Balikpapan dapat berkomunikasi melalui fitur pesan dan obrolan pada Aplikasi
Sistem Penjaminan Mutu Internal (SPMI) secara baik dan lancar.
Kata kunci : Sistem Penjaminan Mutu Internal, Pesan, obrolan
ix
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah
melimpahkan rahmat, taufik serta hidayah-Nya sehingga penulis dapat
menyelesaikan tugas akhir ini yang berjudul “Pengembangan Aplikasi Sistem
Penjaminan Mutu Internal (SPMI) di Politeknik Negeri Balikpapan Berbasis PHP
& MySQL”.
Dalam penyusunan tugas akhir ini penulis banyak mendapat bantuan dari
berbagai pihak, oleh sebab itu penulis ingin mengungkapkan rasa terima kasih,
kepada:
1. Kedua orang tua dan saudara-saudara penulis yang mendo’akan, memberikan
semangat dan me-ridhoi penulis.
2. Ramli, SE.,MM. selaku Direktur Politeknik Negeri Balikpapan.
3. Drs. Suhaedi, M.T. selaku Kaprodi Jurusan Teknik Elektronika.
4. Totok Sulistyo, S.T., M.T. selaku Dosen Pembimbing I di Politeknik Negeri
Balikpapan.
5. Erick Sorongan, S.T., M.Eng. selaku Dosen Pembimbing II di Politeknik
Negeri Balikpapan.
6. Seluruh Dosen, staff, dan karyawan di Politeknik Negeri Balikpapan yang telah
membantu dan memberikan dukungan.
7. Teman-teman Mahasiswa/i Politeknik Negeri Balikpapan terutama Jurusan
Teknik Elektronika konsentrasi Teknik Komputer dan Jaringan.
Balikpapan, 03 Juli 2017
Nurul Hudah
x
DAFTAR ISI
Halaman JUDUL .................................................................................................................... i
LEMBAR PENGESAHAN ................................................................................. iii
SURAT PERNYATAAN ..................................................................................... iv
LEMBAR PERSEMBAHAN ............................................................................... v
SURAT PERNYATAAN PERSETUJUAN ....................................................... vi
ABSTRACT .......................................................................................................... vii
ABSTRAK ......................................................................................................... viii
KATA PENGANTAR ......................................................................................... ix
DAFTAR ISI ......................................................................................................... x
DAFTAR GAMBAR ......................................................................................... xiii
DAFTAR TABEL .............................................................................................. xiv
DAFTAR LAMPIRAN ....................................................................................... xv
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah .................................................................................... 1
1.2 Rumusan Masalah ............................................................................................ 2
1.3 Batasan Masalah ............................................................................................... 2
1.4 Tujuan Penelitian Tugas Akhir ........................................................................ 2
1.5 Manfaat Penelitian Tugas Akhir ....................................................................... 2
BAB II LANDASAN TEORI
2.1 Pengertian Komunikasi ..................................................................................... 3
2.2 Aplikasi Web .................................................................................................... 3
2.3 Xampp ............................................................................................................... 3
2.4 Apache .............................................................................................................. 4
xi
2.5 PHP .................................................................................................................. 4
2.5.1 Keuntungan PHP ........................................................................................... 5
2.6 PHP MyAdmin ................................................................................................. 5
2.6.1 Pengertian PHP MyAdmin ............................................................................. 5
2.6.2 Fitur - fitur PHP MyAdmin ............................................................................ 6
2.7 MySQl ............................................................................................................... 6
2.7.1 Pengertian MySQl .......................................................................................... 6
2.7.2 Keistimewaan MySQl .................................................................................... 6
2.7.3 Penggunaan MySQl ....................................................................................... 8
2.8 Macromedia Dreamwiever ............................................................................... 8
BAB III METODOLOGI PENELITIAN
3.1 Jenis Penelitian ................................................................................................. 9
3.2 Tempat dan Waktu Penelitian .......................................................................... 9
3.3 Perangkat Keras dan Perangkat Lunak yang digunakan .................................. 9
3.3.1 Perangkat Keras (Hardware) ........................................................................ 9
3.3.2 Perangkat Lunak (Software) ........................................................................ 10
3.4 Proses Perancangan Sistem Media Pesan dan Obrolan .................................. 11
3.4.1 Tahap Analisis dan Pengumpulan Data ...................................................... 12
3.4.2 Tahap Implementasi .................................................................................... 12
3.5 Flowchart ....................................................................................................... 12
3.5.1 Flowchart Login .......................................................................................... 13
3.5.2 Flowchart Pesan .......................................................................................... 14
3.5.3 Flowchart Chat ............................................................................................ 15
3.6 Perancangan Database .................................................................................... 16
3.7 Use Case ........................................................................................................ 17
3.8 Entity Relation Diagram (ERD) Pesan dan Obrolan ..................................... 19
xii
BAB IV HASIL DAN PEMBAHASAN
4.1 Pembahasan Program ..................................................................................... 20
4.2 Persiapan Database ........................................................................................ 20
4.3 Hasil Tampilan Aplikasi ................................................................................ 20
4.3.1 Halaman Index ............................................................................................. 22
4.3.2 Halaman Login ............................................................................................. 23
4.3.3 Halaman Unit ............................................................................................... 23
4.3.4 Fitur Pesan ................................................................................................... 24
4.3.5 Halaman Pesan Baru .................................................................................... 25
4.3.6 Halaman List Pesan ...................................................................................... 25
4.3.7 Fitur Obrolan (Chat) ................................................................................... 26
4.3.8 Tampilan Page Chat .................................................................................... 27
BAB V PENUTUP
5.1 Kesimpulan ................................................................................................... 28
5.2 Saran .............................................................................................................. 28
DAFTAR PUSTAKA ......................................................................................... 29
LAMPIRAN ........................................................................................................ 30
xiii
DAFTAR GAMBAR
Halaman
Gambar 3.1 Proses Perancangan Sistem Media Pesan dan Chat 11
Gambar 3.2 Flowchart Login 13
Gambar 3.3 Flowchart Pesan 14
Gambar 3.4 Flowchart Chat 15
Gambar 3.5 Use Case Admin 17
Gambar 3.6 Use Case Unit 18
Gambar 3.7 Entity Relation Diagram (ERD) Pesan dan Obrolan 19
Gambar 4.1 Halaman Index 22
Gambar 4.2 Halaman Login 23
Gambar 4.3 Halaman Unit 23
Gambar 4.4 Fitur Pesan Sebelum Pengembangan 24
Gambar 4.5 Fitur Pesan Setelah Pengembangan 24
Gambar 4.6 Tampilan Pesan Baru 25
Gambar 4.7 Tampialn List Pesan 25
Gambar 4.8 Fitur Chat sebelum Pengembangan 26
Gambar 4.9 Fitur Chat setelah Pengembangan 26
Gambar 4.10 Tampilan Page Chat 27
xiv
DAFTAR TABEL
Halaman
Tabel 3.1 Perangkat Keras (Hardware) 9
Tabel 3.2 Perangkat Lunak (Software) 10
Tabel 3.3 Tabel User 16
Tabel 3.4 Tabel Pesan 16
Tabel 3.5 Tabel Chat 17
xv
DAFTAR LAMPIRAN
Lampiran 1 script login.php untuk proses login
Lampiran 2 script index.php untuk tampilan halaman unit
Lampiran 3 script new_pesan.php untuk pesan baru
Lampiran 4 script detail_pesan_masuk.php untuk melihat detail pesan
masuk
Lampiran 5 script pesan_proses.php untuk memproses pesan
Lampiran 6 script pesan_deletes.php untuk menghapus pesan
Lampiran 7 script page_pesan.php untuk tampilan chat
Lampiran 8 script_chat.php untuk hasil chat
Lampiran 9 script config.php untuk menghubungkan ke database
Lampiran 10 script header.php untuk tampilan header unit
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Perkembangan teknologi informasi yang mencakup teknologi komputer dan
internet telah mempengaruhi berbagai aspek kehidupan manusia. Segala kegiatan
yang menggunakan cara manual tidak lagi dipandang efektif dan efisien. Setiap
orang mengharapkan sesuatu yang cepat, tepat, sederhana, akurat, dan dapat
diakses atau diperoleh dengan mudah, tanpa dibatasi oleh ruang dan waktu.
Kini di bidang pendidikan atau instansi pun sangat membutuhkan teknologi
yang dapat mendukung proses belajar mengajar. Perguruan tinggi khususnya
memiliki tanggung jawab utama dalam menyelenggarakan sistem pendididikan
yang bermutu dan handal. Upaya agar mutu pendidikan yang baik dapat terus
terjaga tidak terlepas dari penerapan Sistem Informasi Penjaminan Mutu
Perguruan Tinggi. Penerapan sistem penjaminan mutu menuntut institusi
pendidikan untuk memiliki sebuah sistem yang mampu menjamin kualitas
penyelenggaraan kegiatan akademik, seperti tersedianya standarisasi kerja,
akuntabilitas penyelenggaraan pendidikan dan kemampuan untuk bersaing secara
Nasional maupun Internasional.
Setiap perguruan tinggi memiliki Standart Penilaian Mutu Internal, yang
bertujuan untuk mengukur kinerja masing - masing unit kerja yang ada.
Contohnya di Politeknik Negeri Balikpapan memiliki Aplikasi Sistem Penjaminan
Mutu Internal (SPMI) yang dibuat oleh unit Pusat Pengembangan Pembelajaran
dan Penjaminan Mutu Pendidikan (P4MP) untuk mengukur kinerja masing-
masing unit yang ada di Politeknik Negeri Balikpapan. Akan tetapi didalam
aplikasi SPMI tersebut semua unit kerja yang ada di Politeknik Negeri Balikpapan
tidak dapat berkomunikasi melalui Aplikasi Sistem Penjaminan Mutu Internal
(SPMI). Dimana komunikasi adalah suatu proses dimana dua orang atau lebih
membentuk atau melakukan pertukaran informasi terhadap satu sama lain yang
pada gilirannya akan tiba saling pengertian. (Everett M. Rogers, 1986).
2
Dengan adanya penelitian ini diharapkan dapat mempermudah unit kerja di
Politeknik Negeri Balikpapan khususnya dalam berkomunikasi antar unit yang
terkait.
1.2 Rumusan Masalah
Sesuai dengan latar belakang yang diuraikan di atas, maka rumusan masalah
yang akan diselesaikan adalah:
Semua unit kerja yang ada di Politeknik Negeri Balikpapan tidak dapat
berkomunikasi melalui Aplikasi Sistem Penjaminan Mutu Internal (SPMI).
1.3 Batasan Masalah
Agar pembahasan ini tidak menyimpang dari rumusan masalah yang telah
ditentukan maka perlu di adakan pembatasan masalah, yaitu:
1. Membahas mengenai Pengembangan Aplikasi Sistem Penjaminan Mutu
Internal (SPMI) di Politeknik Negeri Balikpapan.
2. Bahasa pemrograman yang digunakan adalah PHP dan database MySQL.
3. Membahas tentang fitur pesan dan chatting pada Aplikasi Sistem Penjaminan
Mutu Internal (SPMI) yang sudah ada agar bisa berfungsi.
4. Fitur pesan dan chatting hanya diperuntukkan bagi unit kerja yang ada di
Politeknik Negeri Balikpapan.
1.4 Tujuan Penelitian Tugas Akhir
Tujuan dari Pengembangan Aplikasi Sistem Penjamina Mutu Internal (SPMI)
adalah untuk memudahkan komunikasi antar unit kerja yang ada di Politeknik
Negeri Balikpapan.
1.5 Manfaat Penelitian Tugas Akhir
Manfaat penelitian dari tugas akhir ini adalah memberikan kemudahan bagi
semua unit kerja yang ada di Politeknik Negeri Balikpapan dalam berkomunikasi
pada Aplikasi Sistem Penjaminan Mutu Internal (SPMI) dan diharapkan mampu
meningkatkan kualitas kerja Pusat Pengembangan Pembelajaran & Penjaminan
Mutu Pendidikan (P4MP) dalam mengukur kinerja masing-masing unit kerja yang
ada di Politeknik Negeri Balikpapan.
3
BAB II
LANDASAN TEORI
2.1 Pengertian Komunikasi
Komunikasi adalah suatu proses dimana dua orang atau lebih membentuk atau
melakukan pertukaran informasi terhadap satu sama lain yang pada gilirannya
akan tiba saling pengertian. (Everett M. Rogers, 1986). Komunikasi dapat terjadi
apabila ada kesamaan antara penyampaian pesan dan orang yang menerima pesan.
Oleh sebab itu, komunikasi bergantung pada kemampuan kita untuk dapat
memahami satu dengan yang lainnya.
2.2 Aplikasi Web
Aplikasi web (bahasa inggris: web application sering disingkat webapp)
adalah suatu aplikasi yang diakses menggunakan penjelajahan web melalui suatu
jaringan seperti internet atau intranet. Ia juga merupakan suatu aplikasi perangkat
lunak komputer yang di kodekan dalam bahasa yang didukung penjelajahan web
(seperti HTML, Javascript, Java, dll) dan bergantung pada penjelajah tersebut
untuk menampilkan aplikasi. Aplikasi web menjadi populer karena kemudahan
tersedianya aplikasi klien untuk mengaksesnya, penjelajah web, yang kadang
disebut sebagai suatu thin client (klien tipis). Aplikasi web yang umum misalnya
webmail, toko ritel daring, lelang daring, wiki, papan diskusi, webblog, serta
MMORGP. (Priyanto Hidayatullah:2014)
2.3 Xampp
Xampp merupakan web server yang bersifat open source, merupakan
gabungan dari Apache, MySQL, PHP dan Perl. Keempat aplikasi tersebut
digabung kedalam satu paket sekaligus sehingga programmer tidak perlu
menginstalnya satu-persatu.
Kelebihan lain dari xampp adalah dapat berjalan pada beberapa Sistem
Operasi seperti Windows, Linux, Mac, dan lain-lain. Programmer dan Developer
biasa menggunakan xampp untuk membuat server local atau biasa disebut
localhost.
4
2.4 Apache
Apache adalah server web yang dapat di jalankan di berbagai macam sistem
operasi seperti Linux, Windows, BSD, dan sistem operasi lainnya. Protokol yang
di gunakan untuk melayani fasilitas web atau www ini menggunakan HTTP.
Apache juga didukung oleh sejumlah tampilan pengguna berbasis grafik (GUI)
yang memungkinkan penanganan server menjadi mudah.
Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh
komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan
Apache Software Foundation.
2.5 PHP
PHP singkatan dari Hypertext Preprocessor yang digunakan sebagai bahasa
script server-side dalam pengembangan Web yang disisipkan pada dokumen
HTML. (Kasiman Peranginangin, 2006 : 2). PHP (Hypertext Preprocessor)
merupakan open source server-side scripting bahasa yang paling cocok untuk
pengembangan web dan dapat digunakan untuk menghasilkan halaman web
dinamis untuk sebuah situs web.
Menurut sebuah artikel Teknologi Industri yang berjudul Aplikasi Pemesanan
Makanan pada Restoran Berbasis Android dan PHP menggunakan Protokol JSON
oleh Anggia Kusumawaty, mengemukakan bahwa:
“PHP dikatakan sebagai sebuah server-side embedded script language
artinya sintaks -sintaks dan perintah yang kita berikan akan sepenuhnya
dijalankan oleh server tetapi disertakan pada halaman HTML biasa”.
Modul-modul PHP diantaranya :
1. MySQL (php-mysql) - Sebuah ekstensi untuk aplikasi PHP yang menggunakan
database MySQL.
2. PostgreSQL (php-pgsql) - Sebuah ekstensi untuk database PostgreSQL untuk
PHP.
3. MongoDB (php-pecl-mongo) - Seorang pengemudi untuk database MongoDB.
4. SQLite (php-sqlite) - Extension untuk SQLite Database Engine.
5. Memcache (php-pecl-memcache) - memcached caching daemon.
6. Memcached (php-pecl-memcached) - memcached caching daemon.
5
7. GD (php-gd) - GD ekstensi untuk aplikasi PHP untuk melayani grafis.
8. XML (php-xml) - Parser XML untuk aplikasi PHP.
9. Mbstring (php-mbstring) - ekstensi mbstring digunakan untuk menangani
multi-string byte dalam aplikasi PHP.
10. Mcrypt (php-mcrypt) - Sebuah perpustakaan mcrypt untuk script PHP.
11. APC (php-pecl-apc) - modul APC digunakan untuk mengoptimalkan dan
cache kode PHP.
12. CLI (php-cli) - antarmuka baris perintah untuk PHP.
13. PEAR (php-pear) - Aplikasi kerangka Repositori untuk PHP.
14. PDO (php-PDO) - modul akses database untuk aplikasi PHP.
2.5.1 Keuntungan PHP
PHP makin poluler dan banyak digunakan karena memiliki banyak
keuntungan. Menurut Tim EMS dalam buku yang berjudul Web Programming for
Beginners keuntungan PHP diantaranya :
a. Open source
b. Aksesnya cepat
c. Murah
d. Mudah dipakai, fitur dan fungsinya lengkap, cocok dipakai untuk membuat
halaman web dinamis.
e. Dapat dijalankan diberbagai sistem operasi, seperti Windows, Linux, Mac OS
dan berbagai varian Unix.
f. Mendukung banyak database.
2.6 PHP MyAdmin
2.6.1 Pengertian PHP MyAdmin
Menurut sebuah modul kuliah Graphical User Interface I yang berjudul
Belajar MySQL dengan PHPMyAdmin oleh Akhmad Sofwan phpmyadmin adalah
sebuah aplikasi open source yang berfungsi untuk memudahkan manajemen
MySQL. Dalam PHPMyAdmin, kita dapat membuat sebuah database, tabel, dan
konfigurasi lainnya dengan menggunakan metode GUI.
PHPMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa
pemrograman PHP yang digunakan untuk menangani administrasi MySQL.
6
Melalui situs http://localhost/phpmyadmin. PHPMyAdmin mendukung berbagai
operasi MySQL, diantaranya (mengelola basis data, tabel-tabel, bidang (fields),
relasi (relations), indeks, pengguna (users), perijinan (permissions), dan lain-lain).
2.6.2 Fitur-fitur PHP MyAdmin
Beberapa fitur dalam PHP MyAdmin :
1. Tampilannya berbasis web.
2. Impor data dari CSV dan SQL.
3. Ekspor data ke berbagai format: CSV, SQL, XML, PDF, ISO / IEC 26300 -
OpenDocument Text dan Spreadsheet, Word, Excel, LATEKS dan lain-lain.
4. Membuat grafik PDF dengan tampilan basis data.
5. Membuat kompleks query menggunakan Query-by-example. (QBE).
6. Pencarian global dalam basis data.
7. Transformasi data disimpan ke dalam format yang menggunakan satu set
fungsi yang telah ditetapkan, seperti menampilkan data blob-data atau
download-link.
2.7 MySQL
2.7.1 Pengertian MySQL
MySQL adalah salah satu jenis database server yang sangat terkenal. MySQL
menggunakan bahasa SQL untuk mengakses database nya. Lisensi Mysql adalah
FOSS License Exception dan ada juga yang versi komersial nya. Tag Mysql
adalah “The World's most popular open source database”.
MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia
MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya.
Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB
adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
2.7.2 Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti
Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak
lagi.
7
1. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat
lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara
gratis.
2. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu
yang bersamaan tanpa mengalami masalah atau konflik.
3. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam
menangani query sederhana, dengan kata lain dapat memproses lebih banyak
SQL per satuan waktu.
4. Beragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,
seperti signed / unsigned integer, float, double, char, text, date, timestamp,
dan lain-lain.
5. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang
mendukung perintah Select dan Where dalam perintah (query).
6. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta sandi terenkripsi.
7. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam
skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu
tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung
mencapai 32 indeks pada tiap tabelnya.
8. Konektivita MySQL dapat melakukan koneksi dengan klien menggunakan
protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
9. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa
Indonesia belum termasuk di dalamnya.
10. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai
aplikasi dan bahasa pemrograman dengan menggunakan fungsi API
(Application Programming Interface).
11. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang
dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang
ada disertakan petunjuk online.
8
12. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan basis data lainnya semacam
PostgreSQL ataupun Oracle.
2.7.3 Penggunaan MySQL
MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat
lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHPMyAdmin
adalah perangkat lunak bebas yang ditulis dalam bahasa pemrograman PHP yang
digunakan untuk menangani administrasi MySQL. Melalui situs
http://localhost/phpmyadmin. PHPMyAdmin mendukung berbagai operasi
MySQL, diantaranya (mengelola basis data, tabel-tabel, bidang (fields), relasi
(relations), indeks, pengguna (users), perijinan (permissions), dan lain-lain).
2.8 Macromedia Dreamweaver
Dreamweaver adalah sebuah aplikasi web editor, yang berbasis WYSIWYG
(What You See Is What You Get – apa yang Anda lihat adalah apa yang Anda akan
dapatkan). Dengan kemampuan ini, para pemula akan dengan mudah membangun
sebuah halaman web, cukup dengan klik mouse. Menurut Arief Rahman, S.Kom
dalam bukunya yang berjudul Student Guide Series Macromedia Dreamwiever 8
versi pertama dreamwiever 8 diluncurkan sekitar tahun 1994 oleh Macromedia
Inc. Dreamwiever 8 menyediakan beberapa template halaman web baru, termasuk
fasilitas Starter Pages.
9
BAB III
METODOLOGI PENELITIAN
3.1 Jenis Penelitian
Penelitian ini dilakukan untuk mengembangkan Aplikasi Sistem Penjaminan
Mutu Internal (SPMI) di Politeknik Negeri Balikpapan berbasis PHP & MySQL
agar mempermudah unit kerja Politeknik Negeri Balikpapan dalam berkomunikasi
melalui Aplikasi SPMI dan diharapkan mampu meningkatkan kualitas kerja
Sistem Penjaminan Mutu Internal.
3.2 Tempat dan Waktu Penelitian
Tempat penelitian dilaksanakan di Politeknik Negeri Balikpapan Jl. Soekarno
Hatta km. 08 Balikpapan Utara. Waktu penelitian mulai bulan Maret – Juli 2017.
3.3 Perangkat Keras dan Perangkat Lunak yang digunakan
Penelitian tentang Pengembangan Aplikasi Sistem Penjaminan Mutu Internal
(SPMI) di Politeknik Negeri Balikpapan memerlukan peralatan dan bahan
pendukung dalam proses penelitian dan pengejaan tugas akhir. Berikut alat dan
bahan yang digunakan dalam penelitian ini :
3.3.1 Perangkat Keras (Hardware)
Berikut adalah daftar perangkat keras yang akan digunakan :
Tabel 3.1 Perangkat Keras
No Perangkat Keras Spesifikasi
1. Laptop Toshiba
2. Memory 2048MB RAM
3. Processor Intel(R) Celeron(R) CPU B830 @ 1.80GHz
(2 CPUs), ~1.8GHz
10
3.3.2 Perangkat Lunak (Software)
Berikut adalah daftar perangkat lunak yang akan digunakan:
Tabel 3.2 Perangkat Lunak
No Perangkat lunak Keterangan
1. Windows 7 Sistem operasi
2. MySQL Database
3. Xampp Web server
4. Mozilla firefox / google chrome Web browser
5. Notepad ++ Text editor
6. Adobe Dreamweaver CS6 Aplikasi web editor
11
3.4 Proses Perancangan Sistem Media Pesan dan Chat
Gambar 3.1 Proses perancangan Sistem Media pesan dan chat
12
Berikut penjelasan singkat tentang beberapa tahapan-tahapan proses perancangan
tersebut.
3.4.1 Tahap Analisis dan Pengumpulan Data
Dalam tahap analisis dan pengumpulan data, hal yang dilakukan ialah dengan
mempelajari aplikasi yang akan dikembangkan dan mengumpulkan data-data
yang diperlukan.
3.4.2 Tahap Implementasi
Sebelum melakukan tahap implementasi hal yang dilakukan adalah
melakukan uji coba apakah ada kesalahan pada sistem yang dibuat. Jika ada maka
sistem tersebut akan diperbaiki (kembali pada proses perancangan sistem). Pada
tahap implementasi sistem yang dibuat diinputkan pada Aplikasi Sistem
Penjaminan Mutu Internal dan server Politeknik Negeri Balikpapan.
3.5 Flowchart
Pada penelitian pengembangan Aplikasi SPMI terdapat flowchart yang
dapat menjelaskan bagaimana perencanaan kerja dari pengembangan Aplikasi
SPMI yang dapat membantu untuk memahami sistem kerja yang penulis
rencanakan.
13
3.5.1 Flowchart Login
Berikut adalah flowchart login dari sistem yang dapat menjelaskan
bagaimana perencanaan kerja dari sistem yang akan dibuat. Sebelum masuk ke
halaman unit, unit diharuskan mengiput username dan password terlebih dahulu.
Gambar 3.2 Flowchart Login
14
3.5.2 Flowchart Pesan
Aliran data pada gambar dibawah ini adalah proses yang dapat dilakukan unit
pada fitur pesan.
Gambar 3.3 Flowchart Pesan
15
3.5.3 Flowchart Chat
Aliran data pada gambar dibawah ini menjelaskan bagaimana proses yang
dapat dilakukan unit pada pada fitur chat
Gambar 3.4 Flowchart Chat
16
3.6 Perancangan Database
1. Entitas / tabel yang diperlukan : a. Entitas / Tabel User
b. Entitas / Tabel Pesan
c. Entitas / Tabel Chat
2. Atribut / Field yang diperlukan dari setiap tabel :
a. Tabel User
Tabel 3.3 Tabel User
Name Type Extra Keterangan
No int(11) Auto_increment Primary key
Nim varchar(50)
nama_mhs varchar(225)
password varchar (225)
jurusan varchar(50)
kelas varchar(20)
semester int(2)
role varchar(20)
status int(2)
b. Tabel Pesan
Tabel 3.4 Tabel Pesan
Field Type Extra Keterangan
id_pesan int (15) Auto_increment Primary key
user1 bigint(20)
user2 bigint(20)
jdl_pesan varchar (20)
isi_pesan Text Primary key
attach int(50)
date_pesan Datetime
user1read varchar(3)
user2read varchar(3)
isdeluser1 varchar(3)
isdeluser1 varchar(3)
17
c. Tabel Chat
Tabel 3.5 Tabel Chat
Name Type Extra Keterangan
idchat Int(10) Auto_increment Primary key
tmn varchar(50)
userid varchar(100)
chatbody Text Primary key
chatdate varchar(50)
3.7 Use Case
Pada pengembangan Aplikasi Sistem Penjaminan Mutu Internal terdapat use
case dimana use case ini berfungsi memberikan gambaran fungsional dari sistem
yang dibuat.
a) Use Case Admin
Use case admin berfungsi untuk memberikan gambaran hak akses admin
pada pengembangan Aplikasi Sistem Penjaminan Mutu Internal (SPMI) yang
akan dikembangkan.
Gambar 3.5 Use Case Admin
18
b) Use Case Unit
Use case unit berfungsi untuk memberikan gambaran hak akses unit pada fitur
yang akan dikembangkan di Aplikasi Sistem Penjaminan Mutu Internal (SPMI).
Gambar 3.6 Use Case Unit
19
3.8 Entity Relation Diagram (ERD) Pesan dan Chat
Entity Relation Diagram (ERD) pesan dan chatting merupakan diagram yang
akan menjelaskan hubungan antar data.
Gambar 3.7 Entity Relation Diagram (ERD) Pesan dan Chat
20
BAB IV
HASIL DAN PEMBAHASAN
4.1 Pembahasan Program
Aplikasi Sistem Penjaminan Mutu Internal (SPMI) di Politeknik Negeri
Balikpapan menggunakan bahasa pemrograman PHP, database servernya
menggunakan MySQL dan Macromedia Dreamwiever untuk pembuatan desain
interface aplikasi.
4.2 Persiapan Database
Dalam pengembangan Aplikasi SPMI penulis membuat database dengan
nama databasenya adalah koesioner. Database tersebut berisi tabel user, tabel
pesan dan tabel chatting. Untuk tabel user penulis menggunakan tabel user yang
sudah digunakan pada Aplikasi SPMI. Dan untuk tabel pesan nama tabelnya
adalah pm serta tabel chatting dengan nama tabelnya adalah chattb.
a) Script untuk membuat tabel user :
Fungsi dari tabel user adalah menyimpan data user yang mendapatkan hak akses
untuk dapat login ke Aplikasi Sistem Penjaminan Mutu Internal (SPMI).
Penjelasan dari tiap field :
1. no : field untuk nomor user
2. nim : field untuk nomor induk mahasiswa
3. nama_mhs : field untuk nama unit dan nama mahasiswa
4. password : field untuk password
5. jurusan : field untuk nama unit kerja
6. kelas : field untuk kelas
CREATE TABLE IF NOT EXISTS `tb_user` (
`no` int(11) NOT NULL COMMENT 'No',
`nim` varchar(50) NOT NULL COMMENT 'Nomor Induk Mahasiswa',
`nama_mhs` varchar(255) NOT NULL COMMENT 'Nama Mahasiswa',
`password` varchar(255) NOT NULL COMMENT 'Password',
`jurusan` varchar(50) NOT NULL COMMENT 'Jurusan',
`kelas` varchar(20) NOT NULL COMMENT 'Kelas',
`semester` int(2) NOT NULL COMMENT 'Semester',
`role` varchar(20) NOT NULL COMMENT 'Role Profile',
`status` int(2) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1328 DEFAULT CHARSET=latin1;
21
7. semester : field untuk semester
8. role : field untuk batasan hak akses
9. status : field untuk status apakah unit sedang online atau login apa
tidak jika unit sedang online maka statusnya bernilai 1 jika
tidak online atau sudah logout maka statusnya 0
b) Script untuk membuat tabel pesan :
Fungsi dari tabel pesan adalah untuk menyimpan data-data pesan.
Penjelasan dari tiap field :
1. id : field untuk id pesan
2. title : field untuk judul pesan
3. user1 : field untuk nama pengirim pesan
4. user2 : field untuk nama penerima pesan
5. message : field untuk isi pesan
6. attach : field untuk file yang diupload
7. timestamp : field untuk tanggal dan waktu pesan dikirim dan diterima
8. user1read : field untuk mengetahui apakah pengirim telah membaca
pesan dari user2
9. user2read : field untuk mengetahui apakah penerima telah membaca
pesan dari user1
10. isdeluser1 : field untuk mengetahui apakah pengirim telah menghapus
pesan
11. isdeluser2 : field untuk mengetahui apakah penerima telah menghapus
pesan
CREATE TABLE IF NOT EXISTS `pm` (
`id` int(20) NOT NULL,
`title` varchar(256) NOT NULL,
`user1` varchar(20) NOT NULL,
`user2` varchar(20) NOT NULL,
`message` text NOT NULL,
`attach` varchar(100) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON
UPDATE CURRENT_TIMESTAMP,
`user1read` varchar(3) NOT NULL,
`user2read` varchar(3) NOT NULL,
`isdeluser1` int(5) NOT NULL,
`isdeluser2` int(5) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=241 DEFAULT CHARSET=utf8;
22
c) Script untuk membuat tabel obrolan (chat)
Fungsi dari tabel chat adalah menyimpan data-data obrolan (chat).
Penjelasan dari tiap field :
1. idchat : field untuk id chat
2. tmn : field untuk nomor id pengirim dan penerima chat
3. userid : field untuk nama pengirim chat
4. chatbody : field untuk isi chat
5. chatdate : filed untuk tanggal dan waktu chat
4.3 Hasil Tampilan Aplikasi
4.3.1 Halaman Index
Gambar 4.1 Halaman index
Halaman index merupakan halaman awal dari Aplikasi Sistem Penjaminan Mutu
Internal (SPMI). Untuk masuk kehalaman unit, unit harus login terlebih dahulu
dengan menekan login page pada halaman index.
CREATE TABLE IF NOT EXISTS `chattb` (
`idchat` int(10) NOT NULL,
`tmn` varchar(50) NOT NULL,
`userid` varchar(100) NOT NULL,
`chatbody` text NOT NULL,
`chatdate` varchar(50) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
23
4.3.2 Halaman Login
Gambar 4.2 Halaman Login
Halaman login digunakan agar user dapat masuk ke halaman user. User harus
memasukkan username dan password terlebih dahulu sebelum masuk ke halaman
user. Jika username dan password tidak sesuai dengan database maka akan tampil
pesan “Warning! Username atau Password tidak sesuai”.
4.3.3 Halaman Unit
Gambar 4.3 Halaman unit
Halaman unit berisi tentang menu apa saja yang dapat diakses unit. Gambar 4.3
adalah tampilan halaman unit setelah dilakukan pengembangan. Pada header
terdapat fitur pesan dan chatting yang dapat digunakan oleh unit agar bisa
berkomunikasi dengan unit kerja yang ada di Politeknik Negeri Balikpapan.
24
4.3.4 Fitur Pesan
a. Sebelum Pengembangan
Gambar 4.4 Fitur Pesan sebelum pengembangan
Sebelum pengembagan fitur pesan belum berfungsi dan tidak ada menu untuk
menulis pesan baru.
b. Sesudah Pengembangan
Gambar 4.5 Fitur Pesan setelah pengembangan
Setelah pengembangan fitur pesan unit dapat menuliskan pesan baru dengan
memilih atau menekan New Messages dan dapat melihat list pesan unit. Berikut
adalah script tampilan header untuk fitur pesan :
<?php
session_start();
$filter_data = $_SESSION['nim'];
$lihat_pesan_filter = mysql_query("SELECT * FROM pm where user2 = '$filter_data' AND user2read = 'no' order by id ");
?>
<?php $jumlah_pesan=mysql_num_rows ($lihat_pesan_filter) ;
echo "$jumlah_pesan" ;?>
<a href="new_pesan.php"> New Messages </a>
<?php while($lihat_pesan = mysql_fetch_array($lihat_pesan_filter)) { ?>
<a href="read_pesan.php?id=<?php echo $lihat_pesan['id']; ?>&read">
<span><?php echo $lihat_pesan['user1']; ?></span>
<span class="message">
<?php echo $lihat_pesan['timestamp'];?></span></a>
<?php } ?><span><a href="detail_pesan_masuk.php">See all messages</a></span>
25
4.3.5 Halaman Pesan Baru
Gambar 4.6 Tampialn Pesan Baru
Tampilan diatas setelah dilakukan pengembangan pada Aplikasi SPMI. Pada
gambar 4.6 unit dapat menuliskan pesan baru dan dapat mengirim file yang akan
ditujukan pada unit kerja yang ada di Politeknik Negeri Balikpapan dengan
menginputkan nama penerima pada form to dan unit dapat mengirim file dengan
menekan tombol browser. Pesan dapat terkirim dengan menekan tombol submit
kemudian pesan akan diproses di pesan_proses.php. Script untuk menampilkan
form pesan dapat dilihat pada Lampiran 3.
4.3.6 Halaman List Pesan
Gambar 4.7 Tampialn List Pesan
Gambar 4.7 adalah tampilan list pesan unit yang berfungsi untuk melihat semua
pesan yang dikirim dari unit lain dan dapat melihat pesan terkirim. Unit dapat
melihat list pesan dengan memilih see all messages pada header bagian fitur
pesan. Script untuk menampilkan detail pesan dapat dilihat pada Lampiran 4.
26
4.3.7 Fitur Obrolan (Chat)
a. Sebelum pengembangan
Gambar 4.8 Fitur Chat sebelum Pengembangan
Sebelum pengembangan fitur chat belum berfungsi dan tidak dapat melihat unit
yang sedang online.
b. Setelah Pengembangan
Gambar 4.9 Fitur Chat setelah Pengembangan
Setelah pengembangan unit dapat melihat unit lain yang sedang login dan dapat
berkomunikasi dengan salah satu unit yang sedang online. Untuk menampilkan
nama unit yang login scriptnya sebagai berikut :
$sql=mysql_query("SELECT * FROM `tb_user` WHERE `role` NOT LIKE 'user'AND
`status` =1"); while ($data = mysql_fetch_array($sql))
27
4.3.8 Tampilan Page Chat
Gambar 4.10 Tampilan Page Chat
Pada gambar 4.10 dapat dilihat unit kerja bisa berkomunikasi dengan salah satu
unit yang sedang online. Unit dapat berkomunikasi dengan unit lain dengan
menginputkan text pada form "Type a message here..." dan untuk mengirim text,
unit dapat menekan tombol submit atau enter kemudian text yang diinputkan akan
diproses di page_chat.php. Untuk menampilkan nama unit sedang chatting
dengan siapa scriptnya adalah sebagai berikut:
$show = mysql_query("SELECT * FROM chattb WHERE tmn='$tmn' OR tmn='$tmn2'
ORDER BY chatdate DESC");
28
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil pembahasan mengenai Pengembangan Aplikasi Sistem
Penjaminan Mutu Internal (SPMI) Berbasis PHP & MySQL, maka yang dapat
penulis simpulkan diantaranya :
1. Aplikasi Sistem Penjaminan Mutu Internal (SPMI) mampu membantu unit
kerja SPMI dalam berkomunikasi antar sesama unit kerja yang ada di
Politeknik Negeri Balikpapan melalui Aplikasi SPMI.
2. Pengembangan Aplikasi SPMI dikerjakan menggunakan bahasa pemrograman
PHP dan database MySQL.
3. Sistem media pesan dan chatting hanya diperuntukkan bagi unit kerja yang ada
di Politeknik Negeri Balikpapan.
5.2 Saran
Diharapkan agar aplikasi SPMI ini dapat diakses dimana saja dan kapan saja
selama terkoneksi dengan internet karena saat ini Aplikasi SPMI hanya dapat
diakses di wilayah Politeknik Negeri Balikpapan saja.
29
DAFTAR PUSTAKA
Arief Rahman, S.Kom. (2007). Student Guide Series Macromedia Dreamwiever
8. Jakarta : PT Elex Media Komputindo
Hidayatullah, Priyanto dan Jauhari Khairul Kawistara. (2014). Pemrogram WEB.
Jakarta: PT Elex Media Komputindo.
Noor, Muhammad Fachril. (2015). Tugas Akhir : Membangun Aplikasi Web
Pendaftaran SPMB Online di Politeknik Negeri Balikpapan. Balikpapan :
POLTEKBA
Rogert, Everett M. (1986). Communication Technology. New York : Macmillan,
inc
Taryana Suryana, Koesheryatin. (2014). Aplikasi Internet Menggunakan HTML,
CSS, & JavaScript. Bandung : Informatika.
Tim EMS. (2012). Web Programming for Beginner. Jakarta : PT Elex Media
Komputindo
Utami, Mega Putri. (2016). Tugas Akhir : Pengembangan Aplikasi WEB Seleksi
Penerimaan Mahasiswa Baru di Politeknik Negeri Balikpapan Berbasis
PHP & MySQL. Balikpapan : POLTEKBA
30
LAMPIRAN
Lampiran 1
Source code Login
Login.php
<?php
// Memulai Session
session_start();
require_once("config.php");
if(empty($_POST)) {
?>
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<meta charset="utf-8" /><title>Login</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<link href="css/style-responsive.css" rel="stylesheet" />
<link href="css/style-default.css" rel="stylesheet" id="style_color" />
</head>
<!-- END HEAD -->
<!-- BEGIN BODY -->
<body class="error-404">
<form action="login.php" autocomplete="off" method="POST">
<div class="error-wrap error-wrap-404">
<div class="metro big lock-input terques ">
<br><br> <img width=200 height=50 src="logo.png" >
</div>
31
<div class="metro double green input-append lock-input">
<span class="page-txt"> <input type="text"class="" placeholder="Username" name="nim"
type="text" autofocus required> </span>
</div>
<div class="metro purple">
<button type="submit" class="btn login-btn">
Login
<i class=" icon-long-arrow-right"></i>
</button>
</div>
<div class="metro double red input-append lock-input">
<span class="page-txt"><input type="password"class="" placeholder="Password"
name="password" type="password" required> </span>
</div>
<div class="metro gray">
<a href="index.php" class="home"><i class="icon-home"></i> </a>
</div>
<?php if(isset($_SESSION['error'])) {
echo " <div class=\"alert alert-error\">
<button class=\"close\" data-dismiss=\"alert\">×</button>
<strong>Warning! ".$_SESSION['error']."</strong>
</div> ";
unset($_SESSION['error']);
}?>
</div></form>
</body>
<!-- END BODY -->
</html>
<?php
} else {
$error = array();
$user = mysql_real_escape_string($_POST['nim']);
// $pass = md5(mysql_real_escape_string($_POST['password']));
$pass = $_POST['password'];
if(empty($user) || empty($pass)) {
$error[] = 'Isi Username atau Password Anda';
}
if(!count($error)) {
$sql = mysql_query("SELECT * FROM tb_user where nim='$user'");
32
$row = mysql_fetch_array($sql);
if(mysql_num_rows($sql == 0)) {
$error[] = 'Username tidak terdaftar';
}
if($pass != $row['password']){
//if(md5($pass) != $row['password']){
$error[] = 'Username atau Password tidak sesuai';
}
}
if(count($error)){
$_SESSION['error'] = implode('<br>', $error );
header("Location: login.php");
} else {
$sql = mysql_query("UPDATE `kuisioner`.`tb_user` SET `status` = '1' WHERE `tb_user`.`nim`
='$user'");
if($row['role'] == "admin"){
$_SESSION['no'] = $row['no'];
$_SESSION['nama_mhs'] = $row['nama_mhs'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['role'] = $row['role'];
header("Location: admin/index.php");
} else if($row['role'] == "user"){
$_SESSION['no'] = $row['no'];
$_SESSION['nama_mhs'] = $row['nama_mhs'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['role'] = $row['role'];
$_SESSION['jurusan'] = $row['jurusan'];
$_SESSION['kelas'] = $row['kelas'];
$_SESSION['semester'] = $row['semester'];
header("Location: mahasiswa/index.php");
}else if($row['role'] == "gkm"){
$_SESSION['no'] = $row['no'];
$_SESSION['nama_mhs'] = $row['nama_mhs'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['role'] = $row['role'];
$_SESSION['jurusan'] = $row['jurusan'];
$_SESSION['kelas'] = $row['kelas'];
$_SESSION['semester'] = $row['semester'];
header("Location: gkm/index.php");
33
}else if($row['role'] == "prodi"){
$_SESSION['no'] = $row['no'];
$_SESSION['nama_mhs'] = $row['nama_mhs'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['role'] = $row['role'];
$_SESSION['jurusan'] = $row['jurusan'];
$_SESSION['kelas'] = $row['kelas'];
$_SESSION['semester'] = $row['semester'];
header("Location: prodi/index.php");
}else if($row['role'] == "p3m"){
$_SESSION['no'] = $row['no'];
$_SESSION['nama_mhs'] = $row['nama_mhs'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['role'] = $row['role'];
$_SESSION['jurusan'] = $row['jurusan'];
$_SESSION['kelas'] = $row['kelas'];
$_SESSION['semester'] = $row['semester'];
header("Location: p3m/index.php");
}else if($row['role'] == "unit"){
$_SESSION['no'] = $row['no'];
$_SESSION['nama_mhs'] = $row['nama_mhs'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['role'] = $row['role'];
$_SESSION['jurusan'] = $row['jurusan'];
$_SESSION['kelas'] = $row['kelas'];
$_SESSION['semester'] = $row['semester'];
header("Location: unit/index.php");
}else if($row['role'] == "guest.ts" ||"guest.te"||"guest.tm"||"guest
tb"||"guest.kp"){
$_SESSION['no'] = $row['no'];
$_SESSION['nama_mhs'] = $row['nama_mhs'];
$_SESSION['nim'] = $row['nim'];
$_SESSION['role'] = $row['role'];
$_SESSION['jurusan'] = $row['jurusan'];
$_SESSION['kelas'] = $row['kelas'];
$_SESSION['semester'] = $row['semester'];
header("Location: guest/index.php");}
}
}?>
34
Lampiran 2
Source code Halaman Unit
Index.php
<?php
session_start();
require_once("config.php");
if(isset($_SESSION['no']) && $_SESSION['nim'] && $_SESSION['role']== "gkm") {
$jurusan = $_SESSION['jurusan'];
$nama_gkm =$_SESSION['nama_mhs'];
?>
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<meta charset="utf-8" />
<title>Dashboard GKM</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="Mosaddek" name="author" />
<link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-fileupload.css" rel="stylesheet" />
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<link href="css/style-responsive.css" rel="stylesheet" />
<link href="css/style-default.css" rel="stylesheet" id="style_color" />
<link href="assets/fullcalendar/fullcalendar/bootstrap-fullcalendar.css"
rel="stylesheet" />
<link href="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.css"
rel="stylesheet" type="text/css" media="screen"/>
</head>
<?php include "header.php"; ?>
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<!-- BEGIN THEME CUSTOMIZER-->
35
<div id="theme-change" class="hidden-phone">
<i class="icon-cogs"></i>
<span class="settings">
<span class="text">Theme Color:</span>
<span class="colors">
<span class="color-default" data-style="default"></span>
<span class="color-green" data-style="green"></span>
<span class="color-gray" data-style="gray"></span>
<span class="color-purple" data-style="purple"></span>
<span class="color-red" data-style="red"></span>
</span>
</span>
</div>
<!-- END THEME CUSTOMIZER-->
<!-- BEGIN PAGE TITLE & BREADCRUMB-->
<h3 class="page-title">Dashboard GKM Jurusan <?php echo $jurusan; ?></h3>
<ul class="breadcrumb">
<li><a href="#">Home</a><span class="divider">/</span></li>
<li class="pull-right search-wrap">
<form action="search_result.html" class="hidden-phone">
<div class="input-append search-input-area">
<input class="" id="appendedInputButton" type="text">
<button class="btn" type="button"><i class="icon-search"></i> </button>
</div>
</form>
</li>
</ul>
<!-- END PAGE TITLE & BREADCRUMB-->
</div>
</div>
<!-- END PAGE HEADER-->
<!-- BEGIN PAGE CONTENT-->
<div class="row-fluid">
<!--BEGIN METRO STATES-->
<div class="metro-nav">
<div class="metro-nav-block nav-block-orange">
<a data-original-title="" href="page_monev1.php">
<i class="icon-book"></i>
<div class="info">321</div>
36
<div class="status">Monev Dokumen</div>
</a>
</div>
<div class="metro-nav-block nav-olive">
<a data-original-title="" href="page_rekap.php">
<i class="icon-tags"></i>
<div class="info">+970</div>
<div class="status">Rekap Kuesioner Mhs</div>
</a>
</div>
<div class="metro-nav-block nav-block-yellow">
<a data-original-title="" href="page_grafik_dokumen.php?jur=">
<i class="icon-comments-alt"></i>
<div class="info">49</div>
<div class="status">Statistik Dok. Perkuliahan</div>
</a>
</div>
<div class="metro-nav-block nav-block-green double">
<a data-original-title="" href="page_grafik.php?jur">
<i class="icon-eye-open"></i>
<div class="info">+897</div>
<div class="status">Stat. Layanan Perkuliahan</div>
</a>
</div>
<div class="metro-nav-block nav-block-red">
<a data-original-title="" href="page_grafik_sarpras.php?jur=">
<i class="icon-bar-chart"></i>
<div class="info">+288</div>
<div class="status">Stat. Layanan SarPras</div>
</a>
</div>
</div>
<div class="metro-nav">
<div class="metro-nav-block nav-light-purple">
<a data-original-title="" href="#">
<i class="icon-shopping-cart"></i>
<div class="info">29</div>
<div class="status">Fitur Kosong</div>
</a>
37
</div>
<div class="metro-nav-block nav-light-blue double">
<a data-original-title="" href="#">
<i class="icon-tasks"></i>
<div class="info">$37624</div>
<div class="status">Fitur Kosong</div>
</a>
</div>
<div class="metro-nav-block nav-light-green">
<a data-original-title="" href="#">
<i class="icon-envelope"></i>
<div class="info">123</div>
<div class="status">Fitur Kosong</div>
</a>
</div>
<div class="metro-nav-block nav-light-brown">
<a data-original-title="" href="#">
<i class="icon-remove-sign"></i>
<div class="info">34</div>
<div class="status">Fitur Kosong</div>
</a>
</div>
<div class="metro-nav-block nav-block-grey ">
<a data-original-title="" href="#">
<i class="icon-external-link"></i>
<div class="info">$53412</div>
<div class="status">Fitur Kosong</div>
</a>
</div>
</div>
<div class="space10"></div>
<!--END METRO STATES-->
</div>
<div class="row-fluid">
<div class="span6">
</div>
<div class="span6">
</div>
</div>
38
<div class="row-fluid">
<div class="span7">
</div>
<div class="span5">
</div>
</div>
<div class="row-fluid">
<div class="span6">
</div>
</div>
<div class="row-fluid">
<div class="span7 responsive" data-tablet="span7 fix-margin"
data-desktop="span7">
<!-- BEGIN CALENDAR PORTLET-->
<div class="widget yellow">
<div class="widget-title">
<h4><i class="icon-calendar"></i> Calendar</h4>
<span class="tools">
<a href="javascript:;" class="icon-chevron-down"></a>
<a href="javascript:;" class="icon-remove"></a>
</span>
</div>
<div class="widget-body">
<div id="calendar" class="has-toolbar"></div>
</div>
</div>
<!-- END CALENDAR PORTLET-->
</div>
</div>
<!-- END PAGE CONTENT-->
</div>
<!-- END PAGE CONTAINER-->
</div>
<!-- END PAGE -->
</div>
<!-- END CONTAINER -->
<!-- BEGIN FOOTER -->
<div id="footer">
2017 © P4MP POLTEKBA.
39
</div>
<!-- END FOOTER -->
<!-- BEGIN JAVASCRIPTS -->
<!-- Load javascripts at bottom, this will reduce page load time -->
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.nicescroll.js" type="text/javascript"></script>
<script type="text/javascript"
src="assets/jquery-slimscroll/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript"
src="assets/jquery-slimscroll/jquery.slimscroll.min.js"></script>
<script src="assets/fullcalendar/fullcalendar/fullcalendar.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<!-- ie8 fixes -->
<!--[if lt IE 9]>
<script src="js/excanvas.js"></script>
<script src="js/respond.js"></script>
<![endif]-->
<script src="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.js"
type="text/javascript"></script>
<script src="js/jquery.sparkline.js" type="text/javascript"></script>
<script src="assets/chart-master/Chart.js"></script>
<script src="js/jquery.scrollTo.min.js"></script>
<!--common script for all pages-->
<script src="js/common-scripts.js"></script>
<!--script for this page only-->
<script src="js/easy-pie-chart.js"></script>
<script src="js/sparkline-chart.js"></script>
<script src="js/home-page-calender.js"></script>
<script src="js/home-chartjs.js"></script>
<!-- END JAVASCRIPTS -->
</body>
<!-- END BODY -->
</html>
<?php } else { header("location: ../login.php"); }?>
40
Lampiran 3
New_pesan.php
<?php
session_start();
require_once("config.php");
if(isset($_SESSION['no']) && $_SESSION['nim'] && $_SESSION['role']== "gkm") {
$jurusan = $_SESSION['jurusan'];
$nama_gkm =$_SESSION['nama_mhs'];
$nim = $_SESSION['nim'];
?><!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<?php
//include "menu.php";
?>
<head>
<meta charset="utf-8" />
<title>New Pesan</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-fileupload.css" rel="stylesheet" />
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<link href="css/style-responsive.css" rel="stylesheet" />
<link href="css/style-default.css" rel="stylesheet" id="style_color" />
<link href="assets/fancybox/source/jquery.fancybox.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css"
href="assets/uniform/css/uniform.default.css" />
<script type="text/JavaScript">
<!--function MM_callJS(jsStr) { //v2.0 return eval(jsStr)}//-->
</script>
<style type="text/css">
<!--.style1 {color: #000000}-->
41
</style>
</head>
<?php include "header.php"; ?>
<!-- END HEAD -->
<!-- BEGIN BODY -->
<!-- BEGIN SIDEBAR -->
<!-- BEGIN PAGE CONTAINER-->
<div class="container-fluid">
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<!-- BEGIN CHAT PORTLET-->
<div class="widget black">
<div class="widget-title">
<span class="tools">
<a href="javascript:;" class="icon-chevron-down"></a>
<a href="javascript:;" class="icon-remove"></a>
</span>
</div>
<div class="widget-body">
<div class="chat-form">
<div class="input-cont">
<form action="pesan-proses.php" method="post" enctype="multipart/form-data">
<div>
<input type="text" name="user1" value="<?php echo $nim ?>" readonly
disabled>
<div class="form-group">
<label class="control-label">To:</label>
<input type="text" class="form-control" name="user2" placeholder="To"
required>
</div>
<div class="form-group">
<label class="control-label">Title:</label>
<input type="text" class="form-control" name="title" placeholder="Title"
required>
</div>
<div class="form-group">
<label class="control-label">Message:</label>
<textarea class="span12 ckeditor" name="message" rows="2"></textarea>
42
</div>
<div class="form-group">
<button type="submit" name="submit" value="Submit"> Submit</button>
<input type="file" name="attach"> </div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div id="footer">2016 © P4MP.</div>
<script>
window.setInterval("reloadIFrame();", 3000);
function reloadIFrame() {
document.frames["frameNameHere"].location.reload();
}
</script>
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.nicescroll.js" type="text/javascript"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="js/jquery.blockui.js"></script>
<!-- ie8 fixes -->
<!--[if lt IE 9]>
<script src="js/excanvas.js"></script>
<script src="js/respond.js"></script>
<![endif]-->
<script type="text/javascript" src="assets/uniform/jquery.uniform.min.js">
</script>
<script type="text/javascript" src="assets/data-tables/jquery.dataTables.js">
</script>
<script type="text/javascript" src="assets/data-tables/DT_bootstrap.js">
</script>
<script src="js/jquery.scrollTo.min.js"></script>
<!--common script for all pages-->
<script src="js/common-scripts.js"></script>
<!--script for this page only-->
<script src="js/dynamic-table.js"></script>
</body></html><?php } else { print_r($_SESSION); }?>
43
Lampiran 4
detail_pesan_masuk.php
<?php
session_start();
require_once("config.php");
if(isset($_SESSION['no']) && $_SESSION['nim'] && $_SESSION['role']== "gkm") {
$jurusan = $_SESSION['jurusan'];
$nama_gkm =$_SESSION['nama_mhs'];
$type = "";
if (isset($_GET['detail']) && ($detail=$_GET['detail']) && ($detail!=""))
{
$id=$_GET['detail'];
$type=1;
$filter_data = $_SESSION['nim'];
$detail_data= mysql_query("SELECT * FROM pm where user2 = '$filter_data' AND id ='$detail'
AND isdeluser2 ='0' order by id");
while ($data=mysql_fetch_array($detail_data)) {
$pengirim = $data['user1'];
$title = $data['title'];
$isi= $data['message'];
$link= 'http://localhost/Tugas-Akhir/download/'.$data['attach']; //Letak file downloadnya,
ubah folder jika dipindahkan.
$attach= $data['attach'];
$date= $data['timestamp'];
}
if(isset($_GET['read'])){
$query = mysql_query("UPDATE pm set user2read='yes' where id='$detail'");
}
}else{
$filter_data = $_SESSION['nim'];
//detail_data untuk megencek pesan yang masuk
$detail_data = mysql_query("SELECT * FROM pm where user2 = '$filter_data' AND isdeluser2
='0' order by id desc");
//detail_dataterkirim untuk mengecek pesan yang dikirim jika $_GET['detail'] kosong
$detail_datakirim= mysql_query("SELECT * FROM pm where user1 = '$filter_data' AND
isdeluser1 ='0' order by id desc");
$jumlah_pesan_terkirim=mysql_num_rows ($detail_datakirim);
}
44
?>
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<meta charset="utf-8" />
<title>Dashboard GKM</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="Mosaddek" name="author" />
<link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-fileupload.css" rel="stylesheet" />
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<link href="css/style-responsive.css" rel="stylesheet" />
<link href="css/style-default.css" rel="stylesheet" id="style_color" />
<link href="assets/fullcalendar/fullcalendar/bootstrap-fullcalendar.css"
rel="stylesheet" />
<link href="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.css"
rel="stylesheet" type="text/css" media="screen"/>
</head>
<?php include "header.php"; ?>
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<!-- BEGIN THEME CUSTOMIZER-->
<div id="theme-change" class="hidden-phone">
<i class="icon-cogs"></i>
<span class="settings">
<span class="text">Theme Color:</span>
<span class="colors">
<span class="color-default" data-style="default"></span>
<span class="color-green" data-style="green"></span>
<span class="color-gray" data-style="gray"></span>
<span class="color-purple" data-style="purple"></span>
<span class="color-red" data-style="red"></span>
45
</span>
</span>
</div>
<h3 class="page-title">
Dashboard GKM Jurusan <?php echo $jurusan; ?>
</h3>
<ul class="breadcrumb">
<li>
<a href="#">Home</a>
<span class="divider">/</span>
<a>Pesan</a>
</li>
<li class="pull-right search-wrap">
<form action="search_result.html" class="hidden-phone">
<div class="input-append search-input-area">
<input class="" id="appendedInputButton" type="text">
<button class="btn" type="button"><i class="icon-search"></i> </button>
</div>
</form>
</li>
</ul>
<!-- END PAGE TITLE & BREADCRUMB-->
</div>
</div>
<!-- END PAGE HEADER-->
<!-- BEGIN PAGE CONTENT-->
<!-- proses pengecekan pesan masuk -->
<h1>Unread Messages(<?php echo intval ($jumlah_pesan); ?>);</h1>
<table class="table table-striped table-bordered" id="sample_1">
<thead>
<!--<th style="width:8px;"><input type="checkbox" class="group-checkable" data-
set="#sample_1 .checkboxes" /></th>-->
<th width="22%" class="hidden-phone"><b>Pengirim</b></th>
<th width="25%" class="hidden-phone"><b>Judul</b></th>
<th width="20%" class="hidden-phone"><b>Isi Pesan</b></th>
<th width="15%" class="hidden-phone"><b>File</b></th>
<th width="20%" class="hidden-phone"><b>Date</b></th>
<th width="20%" class="hidden-phone"><b>Action</b></th>
</thead>
46
<?php if(empty($type)){ while ($data=mysql_fetch_array($detail_data)) {
$pengirim = $data['user1'];
if(preg_match("#\#replyid=#",$data['title'])){ //Preg_match digunakan untuk menemukan teks
#replyid= di title guna mengetahui apakah tipenya reply atau pesan utama
$arr = explode('#replyid=',$data['title']); //Explode digunakan untuk memisahkan teks menjadi
array dengan patokan #replyid=
$title = "RE:".$arr[0]; //hasil dari array explode sebelumnya judultitle#replyid=123 yang menjadi
format array([0] => 'judultitle', [1] => '123');
$id = $arr[1];
$replyid=$data['id']; //Digunakan untuk mengetahui suatu pesan itu reply atau pesan utama
}else{//Jika preg_match tidak berhasil menemukan teks yang dicari
$id = $data['id'];
$title = $data['title'];
$replyid=''; //Digunakan untuk mengetahui suatu pesan itu reply atau pesan utama
}
$isi= $data['message'];
$attach= $data['attach'];
$link= 'http://localhost/Tugas-Akhir/download/'.$data['attach']; //Letak file downloadnya, ubah
folder jika dipindahkan.
$date= $data['timestamp'];
$read= $data['user2read'];
?>
<tr>
<?php if($read == "yes"){ //Jika pesan sudah dibaca?>
<td class="left"><a href="read_pesan.php?id=<?php echo $id; ?>
<?php if($replyid){echo "&replyid=$replyid";} //mengecek apakah reply atau pesan utama ?>"
title="Sudah dibaca"><?php echo $pengirim ; ?></td>
<?php }else{ //Jika pesan belum diaca tulisan akan menebal dengan <strong></strong>?>
<td class="left"><strong><a href="read_pesan.php?id=<?php echo $id; ?>
<?php if($replyid){echo "&replyid=$replyid";} ?>&read" title="Belum
dibaca"><?php echo $pengirim ; ?></strong></td>
<?php } ?>
<td><?php echo $title ; ?> </td>
<td><?php echo $isi ; ?> </td>
<td><?php /*jika file tersedia*/ echo "<a href='$link'>$attach</a>"; ?> </td>
<td><?php echo $date ; ?> </td>
<td><a href="pesan-delete.php?id=<?php if($replyid){echo $replyid;}else{echo $id;}
?>">Hapus</a></td>
</tr>
47
<?php }
}else{ ?>
<tr>
<td class="left"><a href="read_pesan.php?id=<?php echo $id; ?>"><?php echo $pengirim ; ?>
</td>
<td><?php echo $title ; ?> </td>
<td><?php echo $isi ; ?> </td>
<td><?php /*jika file tersedia*/ echo "<a href='$link'>$attach</a>"; ?> </td>
<td><?php echo $date ; ?> </td>
</tr>;
<?php } ?>
</table>
<!-- proses pengecekan pesan terkirim -->
<h1>Sent Messages(<?php echo intval ($jumlah_pesan_terkirim); ?>);</h1>
<table class="table table-striped table-bordered" id="sample_1">
<thead>
<!--<th style="width:8px;"><input type="checkbox" class="group-checkable" data-
set="#sample_1 .checkboxes" /></th>-->
<th width="22%" class="hidden-phone"><b>Penerima</b></th>
<th width="25%" class="hidden-phone"><b>Judul</b></th>
<th width="20%" class="hidden-phone"><b>Isi Pesan</b></th>
<th width="15%" class="hidden-phone"><b>File</b></th>
<th width="20%" class="hidden-phone"><b>Date</b></th>
<th width="20%" class="hidden-phone"><b>Action</b></th>
</thead>
<?php if(empty($type)){ while ($data=mysql_fetch_array($detail_datakirim)) {
$penerima = $data['user2'];
if(preg_match("#\#replyid=#",$data['title'])){
$arr = explode('#replyid=',$data['title']);
$title = "RE:".$arr[0];
$id = $arr[1];
$replyid=$data['id'];
}else{
$id = $data['id'];
$title = $data['title'];
$replyid='';
}
$isi= $data['message'];
$attach= $data['attach'];
48
$link= 'http://localhost/Tugas-Akhir/download/'.$data['attach']; //Letak file downloadnya, ubah
folder jika dipindahkan.
$date= $data['timestamp'];
$read= $data['user2read'];
?>
<tr>
<?php if($read == "yes"){ //Jika pesan sudah dibaca?>
<td class="left"><a href="read_pesan.php?id=<?php echo $id; ?><?php if($replyid){echo
"&replyid=$replyid";} ?>" title="Sudah dibaca"><?php echo $penerima ; ?></td>
<?php }else{ //Jika pesan belum diaca tulisan akan menebal dengan <strong></strong>?>
<td class="left"><strong><a href="read_pesan.php?id=<?php echo $id; ?><?php
if($replyid){echo "&replyid=$replyid";} ?>&read" title="Belum dibaca"><?php echo $penerima ;
?></strong></td>
<?php } ?>
<td><?php echo $title ; ?> </td>
<td><?php echo $isi ; ?> </td>
<td><?php /*jika file tersedia*/ echo "<a href='$link'>$attach</a>"; ?> </td>
<td><?php echo $date ; ?> </td>
<td><a href="pesan-delete.php?id=<?php if($replyid){echo $replyid;}else{echo $id;}
?>&pesanterkirim">Hapus</a></td>
</tr>
<?php }
}?>
</table>
</div>
</div>
</div>
<div id="footer">2017 © P4MP POLTEKBA.</div>
<!-- END FOOTER -->
<!-- BEGIN JAVASCRIPTS -->
<!-- Load javascripts at bottom, this will reduce page load time -->
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.nicescroll.js" type="text/javascript"></script>
<script type="text/javascript"
src="assets/jquery-slimscroll/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript"
src="assets/jquery-slimscroll/jquery.slimscroll.min.js"></script>
<script src="assets/fullcalendar/fullcalendar/fullcalendar.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
49
<!-- ie8 fixes -->
<!--[if lt IE 9]>
<script src="js/excanvas.js"></script>
<script src="js/respond.js"></script>
<![endif]-->
<script src="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.js"
type="text/javascript"></script>
<script src="js/jquery.sparkline.js" type="text/javascript"></script>
<script src="assets/chart-master/Chart.js"></script>
<script src="js/jquery.scrollTo.min.js"></script>
<!--common script for all pages-->
<script src="js/common-scripts.js"></script>
<!--script for this page only-->
<script src="js/easy-pie-chart.js"></script>
<script src="js/sparkline-chart.js"></script>
<script src="js/home-page-calender.js"></script>
<script src="js/home-chartjs.js"></script>
<!-- END JAVASCRIPTS -->
</body>
<!-- END BODY -->
</html>
<?php } else { header("location: ../login.php"); }?>
50
Lampiran 5
pesan_proses.php
<?php
session_start();
//mulai proses tambah data
if(empty($_SESSION['nim']) || $_SESSION['role']!= "gkm") {
header("location: ./index.php");
}
//cek dahulu, jika tombol submitdi klik
if(isset($_POST['submit'])){
//inlcude atau memasukkan file koneksi ke database
include('config.php');
//jika tombol submit benar di klik maka lanjut prosesnya
// membuat vairable dan datanya dari inputan pada file registrasi.php
$title = $_POST['title'];
$pengirim = $_SESSION['nim'];
$recip = $_POST['user2'];
$message = $_POST['message'];
$file = $_FILES['attach']['name']; //Tidak menggunakan method $_POST karna pengirimannya
menggunakan enctype="multipart/form-data"
$timestamp = $_POST['timestamp'];
$user1read = 'no';
$user2read = 'no';
//melakukan query dengan perintah INSERT INTO untuk memasukkan data ke database
$input = mysql_query("INSERT INTO pm (title, user1, user2, message, attach, user1read,
user2read) VALUES('$title', $pengirim', '$recip', '$message', '$file', ‘$user1read','$user2read')");
if($input){
if($file){
//Jika pesan dikirim beserta file
$file_loc = $_FILES['attach']['tmp_name']; //Lokasi temporary dari file yang di upload
$folder="files/"; //lokasi folderr file yang akan di upload
if(move_uploaded_file($file_loc,$folder.$file)) //proses penguploadan
{
?><script>alert('Pesan Terkirim dengan file')</script><meta http-equiv='refresh' content='1
url=http://localhost/server/gkm/index.php'><?php
}else{
//Jika uplaod gagal otomatis nama file yang ada di database akan terhapus
$lastid=mysql_insert_id(); //Mengecek id dari inputan mysql_query $input
51
$query = mysql_query("UPDATE pm set attach='' where id=$lastid");
?><script>alert('Pesan Terkirim Tetapi File Tidak')</script>
<meta http-equiv='refresh' content='1
url=http://localhost/server/gkm/index.php'><?php
}
}else{
//Jika pesan dikirim tanpa file
echo "<script>alert('Pesan Terkirim')</script><meta http-equiv='refresh'
content='1 url=http://localhost/server/gkm/index.php'>";
}
}else{
//Gagal mengirim pesan, kemungkinan database yang salah atau masalah lainnya tergantung error
code
echo "<script>alert('Pesan Gagal Terkirim')</script>";
echo "<meta http-equiv='refresh' content='1
url=http://localhost/server/gkm/index.php'>";
}
}
?>
52
Lampiran 6
read_pesan.php
<?php
session_start();
require_once("config.php");
if(isset($_SESSION['no']) && $_SESSION['nim'] && $_SESSION['role']== "gkm") {
$jurusan = $_SESSION['jurusan'];
$nama_gkm =$_SESSION['nama_mhs'];
if(isset($_GET['read'])){
if(isset($_GET['replyid'])){
$query = mysql_query("UPDATE pm set user2read='yes'
where id='{$_GET['replyid']}' and user2='{$_SESSION['nim']}'");
}
$query = mysql_query("UPDATE pm set user2read='yes'
where id='{$_GET['id']}' and user2='{$_SESSION['nim']}'");
}
?>
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<meta charset="utf-8" />
<title>Dashboard GKM</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="Mosaddek" name="author" />
<link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-fileupload.css" rel="stylesheet" />
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<link href="css/style-responsive.css" rel="stylesheet" />
<link href="css/style-default.css" rel="stylesheet" id="style_color" />
<link href="assets/fullcalendar/fullcalendar/bootstrap-fullcalendar.css"
rel="stylesheet" />
<link href="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.css"
53
rel="stylesheet" type="text/css" media="screen"/>
</head>
<?php include "header.php"; ?>
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<!-- BEGIN THEME CUSTOMIZER-->
<div id="theme-change" class="hidden-phone">
<i class="icon-cogs"></i>
<span class="settings">
<span class="text">Theme Color:</span>
<span class="colors">
<span class="color-default" data-style="default"></span>
<span class="color-green" data-style="green"></span>
<span class="color-gray" data-style="gray"></span>
<span class="color-purple" data-style="purple"></span>
<span class="color-red" data-style="red"></span>
</span>
</span>
</div>
<h3 class="page-title">Dashboard GKM Jurusan <?php echo $jurusan; ?> </h3>
<ul class="breadcrumb">
<li>
<a href="#">Home</a>
<span class="divider">/</span>
<b><?php if($type ==1){echo "{Pesan Masuk";}else{echo "Pesan Terkirim";} ?></b>
</li>
<li class="pull-right search-wrap">
<form action="search_result.html" class="hidden-phone">
<div class="input-append search-input-area">
<input class="" id="appendedInputButton" type="text">
<button class="btn" type="button"><i class="icon-search"></i> </button>
</div>
</form>
</li>
</ul>
<!-- END PAGE TITLE & BREADCRUMB-->
</div>
</div>
54
<?php
if (isset($_GET['id']) && ($detail=$_GET['id']) && ($detail!=""))
{
$type = ''; //Berguna untuk mengecek apakah yang dibaca pesan masuk atau pesan terkirim
$id=$_GET['id'];
$filter_data = $_SESSION['nim'];
$detail_data= mysql_query("SELECT * FROM pm where user2 = '$filter_data'
AND id ='$detail' AND isdeluser2 ='0' order by id ");
$detail_data_masuk= mysql_query("SELECT * FROM pm where user1 = '$filter_data' AND id
='$detail' AND isdeluser1 ='0' order by id ");
if(mysql_num_rows($detail_data) > 0){//Mengecek Pesan Masuk
$type = 1;
while ($data=mysql_fetch_array($detail_data)) {
$pengirim1 = $data['user1']; //Data pengirim yang asli agar tidak tertimpa dengan data dari reply
$penerima2 = $data['user2']; //Data penerima yang asli agar tidak tertimpa dengan data dari reply
$title = $data['title'];
$titleasli = $data['title']; //Data title yang asli agar tidak tertimpa dengan data dari reply
$isi= $data['message'];
$attach= $data['attach'];
$link= 'http://localhost/Tugas-Akhir/download/'.$data['attach'];
$date= $data['timestamp'];
$a=$data ['id'];
}
$reply= mysql_query("SELECT * FROM pm where title='$title#replyid=$detail' order by id");
//Mengambil data reply yang ada
}elseif(mysql_num_rows($detail_data_masuk) > 0){//Mengecek Pesan yang Dikirim
$type = 2;
while ($data=mysql_fetch_array($detail_data_masuk)) {
$pengirim1 = $data['user1'];
$penerima2 = $data['user2'];
$title = $data['title'];
$titleasli = $data['title'];
$isi= $data['message'];
$attach= $data['attach'];
$link= 'http://localhost/Tugas-Akhir/download/'.$data['attach'];
$date= $data['timestamp'];
$a=$data ['id'];
$reply= mysql_query("SELECT * FROM pm where
title='$title#replyid=$detail' order by id"); //Mengambil data reply yang ada
55
}
}else{//Mengecek Pesan yang Dikirim
//Jika pesan tidak ditemukan
echo "<script>alert('Pesan tidak ada')</script>";
echo "<meta http-equiv='refresh' content='1
url=http://localhost/Tugas-Akhir/gkm/detail_pesan_masuk.php'>";
exit();
}
}
?>
<table class="table table-striped table-bordered" id="sample_1">
<!--<th style="width:8px;"><input type="checkbox" class="group-checkable" data-
set="#sample_1 .checkboxes" /></th>-->
<th width="22%" class="hidden-phone"><b>Pengirim</b></th>
<th width="25%" class="hidden-phone"><b>Judul</b></th>
<th width="20%" class="hidden-phone"><b>Isi Pesan</b></th>
<th width="15%" class="hidden-phone"><b>File</b></th>
<th width="20%" class="hidden-phone"><b>Date</b></th>
<th width="20%" class="hidden-phone"><b>Action</b></th>
</thead>
<tr>
<td class="left"><?php echo $pengirim1 ; ?> </td>
<td><?php echo $title ; ?> </td>
<td><?php echo $isi ; ?> </td>
<td><?php /*jika file tersedia*/ echo "<a href='$link'>$attach</a>"; ?> </td>
<td><?php echo $date ; ?> </td>
<td><a href="pesan-delete.php?id=<?php echo $id; if($type == 2){echo "&pesanterkirim"; /*Jika
typenya 2 (pesan terkirim) maka &pesanterkirim akan muncul*/ } ?>">Hapus</a></td>
</tr>
<?php if(mysql_num_rows($reply) > 0){
while ($data=mysql_fetch_array($reply)) { //Untuk mengecek balasan pesan
$id = $data['id'];
$pengirim = $data['user1'];
$penerima = $data['user2'];
$isi= $data['message'];
$attach= $data['attach'];
$link= 'http://localhost/Tugas-Akhir/download/'.$data['attach']; //Letak file
downloadnya, ubah folder jika dipindahkan.
$date= $data['timestamp'];
56
$read= $data['user2read'];
if($pengirim == $_SESSION['nim'] && $data['isdeluser1'] == 0 || $penerima ==
$_SESSION['nim'] && $data['isdeluser2'] == 0){
?>
<tr>
<td class="left"><?php echo $pengirim ; ?></td>
<td><?php echo $title ; ?> </td>
<td><?php echo $isi ; ?> </td>
<td><?php /*jika file tersedia*/ echo "<a href='$link'>$link</a>"; ?> </td>
<td><?php echo $date ; ?> </td>
<td><a href="pesan-delete.php?id=<?php echo $id; if($data['user1'] == $_SESSION['nim']){echo
"&pesanterkirim";}?>">Hapus</a></td>
</tr>
<?php }
}
}?>
</table>
<div class="chat-form">
<div class="input-cont">
<form action="pesan-proses.php" method="post" enctype="multipart/form-data">
<div>
<div class="form-group">
<label class="control-label">Reply To:</label>
<?php
if($type == 1){// Mengecek siapa yang membuka pesan ini apakah dia sang pengirim atau
penerima?>
<input class="form-control" name="user2" readonly required value="<?php echo $pengirim1 ?>"
type="text">
<?php }else{ ?>
<input class="form-control" name="user2" readonly required value="<?php echo $penerima2 ?>"
type="text">
<?php } ?>
</div>
<input class="form-control" name="title" required value="<?php
echo "$titleasli#replyid={$_GET['id']}" //Format untuk membalas reply yang dihidden agar tidak
diubah-ubah.?>" type="hidden">
<div class="form-group">
<label class="control-label">Message:</label>
<textarea class="span12 ckeditor" name="message" rows="2"></textarea>
57
</div>
<div class="form-group">
<button type="submit" name="submit" value="Submit"> Submit</button>
<input name="attach" type="file"> </div>
</div>
</form>
</div>
</div>
<!-- END PAGE CONTENT-->
</div>
<!-- END PAGE CONTAINER-->
</div>
<!-- END PAGE -->
</div>
<!-- END CONTAINER -->
<!-- BEGIN FOOTER -->
<div id="footer">2017 © P4MP POLTEKBA.</div>
<!-- END FOOTER -->
<!-- BEGIN JAVASCRIPTS -->
<!-- Load javascripts at bottom, this will reduce page load time -->
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.nicescroll.js" type="text/javascript"></script>
<script type="text/javascript"
src="assets/jquery-slimscroll/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript" src="assets/jquery-slimscroll/jquery.slimscroll.min.js"></script>
<script src="assets/fullcalendar/fullcalendar/fullcalendar.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<!-- ie8 fixes -->
<!--[if lt IE 9]>
<script src="js/excanvas.js"></script>
<script src="js/respond.js"></script>
<![endif]-->
<script src="assets/jquery-easy-pie-chart/jquery.easy-pie-chart.js"
type="text/javascript"></script>
<script src="js/jquery.sparkline.js" type="text/javascript"></script>
<script src="assets/chart-master/Chart.js"></script>
<script src="js/jquery.scrollTo.min.js"></script>
<!--common script for all pages-->
<script src="js/common-scripts.js"></script>
58
<!--script for this page only-->
<script src="js/easy-pie-chart.js"></script>
<script src="js/sparkline-chart.js"></script>
<script src="js/home-page-calender.js"></script>
<script src="js/home-chartjs.js"></script>
<!-- END JAVASCRIPTS -->
</body>
<!-- END BODY -->
</html>
<?php } else { header("location: ../login.php"); }?>
59
Lampiran 7
page_chat.php
<?php
session_start();
require_once("config.php");
if(isset($_SESSION['no']) && $_SESSION['nim'] && $_SESSION['role']== "gkm") {
$jurusan = $_SESSION['jurusan'];
$nama_gkm =$_SESSION['nama_mhs'];
?><!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<?php
//include "menu.php";
include "header.php";
include "../config.php";
$go=$_GET['go'];
$co=$_GET['co'];
if($go=="yes") {
$msg = $_POST['txtarea'];
$vivo = $_POST['vivo'];
$nama_gkm =$_SESSION['nama_mhs'];
$date = date('Y-m-d g:i a');
$send = mysql_query("INSERT INTO chattb
VALUES('','$vivo','$nama_gkm','$msg','$date') ");
}
?>
<head>
<meta charset="utf-8" />
<title>Mata Kuliah</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-fileupload.css" rel="stylesheet" />
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
60
<link href="css/style.css" rel="stylesheet" />
<link href="css/style-responsive.css" rel="stylesheet" />
<link href="css/style-default.css" rel="stylesheet" id="style_color" />
<link href="assets/fancybox/source/jquery.fancybox.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css"
href="assets/uniform/css/uniform.default.css" />
<script type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</script>
<style type="text/css">
<!--
.style1 {color: #000000}
-->
</style>
</head>
<!-- END HEAD -->
<!-- BEGIN BODY -->
<!-- BEGIN SIDEBAR -->
<!-- BEGIN PAGE CONTAINER-->
<div class="container-fluid">
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<?php
include("config.php");
$co = $_GET['co'];
$tmn = $_GET['co'].'-'.$_SESSION['no'];
$tmn2= $_SESSION['no'].'-'.$_GET['co'];
$show = mysql_query("SELECT * FROM chattb WHERE tmn='$tmn' OR tmn='$tmn2' ORDER
BY chatdate DESC");
?>
<!-- BEGIN CHAT PORTLET-->
<div class="widget red">
<div class="widget-title">
<h4><i class="icon-comments-alt"></i> Chats <?php echo $nama_gkm. " Dan "; $sql=
61
mysql_query("SELECT * FROM `tb_user` WHERE no='$co'");
while($dt=mysql_fetch_array($sql)){
echo $dt['nama_mhs']; } ?></h4>
<span class="tools">
<a href="javascript:;" class="icon-chevron-down"></a>
<a href="javascript:;" class="icon-remove"></a>
</span>
</div>
<div class="widget-body">
<div class="timeline-messages">
<!-- Comment --><!-- /comment -->
<iframe src="chat.php?co=<?php echo $co; ?>" height="400" width="900"
name="iframe_a"></iframe>
<!-- /comment -->
</div>
<div class="chat-form">
<div class="input-cont">
<form action="page_chat.php?co=<?php print $co; ?>&go=yes"
method="POST">
<input type="text"name="txtarea" placeholder="Type a message here..." />
<input type="hidden"name="vivo" value="<?php echo $tmn; ?>"/>
<input type="hidden"name="tmn" value="<?php echo $co; ?>"/>
</div>
<div class="btn-cont">
<input type="submit" name="Submit" value="Submit">
</div>
</form>
</div>
</div>
</div>
<!-- END CHAT PORTLET-->
<!-- END PAGE CONTAINER-->
</div>
<!-- END PAGE -->
</div>
<!-- END CONTAINER -->
<!-- BEGIN FOOTER -->
<div id="footer">2016 © P4MP. </div>
<!-- END FOOTER -->
62
<!-- BEGIN JAVASCRIPTS -->
<!-- Load javascripts at bottom, this will reduce page load time -->
<script>
window.setInterval("reloadIFrame();", 3000);
function reloadIFrame() {
document.frames["frameNameHere"].location.reload();
}
</script>
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.nicescroll.js" type="text/javascript"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="js/jquery.blockui.js"></script>
<!-- ie8 fixes -->
<!--[if lt IE 9]>
<script src="js/excanvas.js"></script>
<script src="js/respond.js"></script>
<![endif]-->
<script type="text/javascript" src="assets/uniform/jquery.uniform.min.js">
</script>
<script type="text/javascript" src="assets/data-tables/jquery.dataTables.js">
</script>
<script type="text/javascript" src="assets/data-tables/DT_bootstrap.js">
</script>
<script src="js/jquery.scrollTo.min.js"></script>
<!--common script for all pages-->
<script src="js/common-scripts.js"></script>
<!--script for this page only-->
<script src="js/dynamic-table.js"></script>
<!-- END JAVASCRIPTS -->
</body>
<!-- END BODY -->
</html>
<?php } else { header("location: ../login.php"); }?>
63
Lampiran 8
chat.php
<?php
session_start();
require_once("config.php");
if(isset($_SESSION['no']) && $_SESSION['nim'] && $_SESSION['role']== "gkm") {
$jurusan = $_SESSION['jurusan'];
$nama_gkm =$_SESSION['nama_mhs'];
?><!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<?php
include "../config.php";
$go=$_GET['go'];
$co=$_GET['co'];
if($go=="yes") {
$msg = $_POST['txtarea'];
$vivo = $_POST['vivo'];
$nama_gkm =$_SESSION['nama_mhs'];
$date = date('Y-m-d g:i a');
$send=mysql_query("INSERT INTO chattb
VALUES('','$vivo','$nama_gkm','$msg','$date') ");
}
?>
<head>
<meta charset="utf-8" />
<title>Mata Kuliah</title>
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<meta http-equiv="refresh" content="30">
<link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
<link href="assets/bootstrap/css/bootstrap-fileupload.css" rel="stylesheet" />
<link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
64
<link href="css/style-responsive.css" rel="stylesheet" />
<link href="css/style-default.css" rel="stylesheet" id="style_color" />
<link href="assets/fancybox/source/jquery.fancybox.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css"
href="assets/uniform/css/uniform.default.css" />
<script type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</script>
<style type="text/css">
<!--
.style1 {color: #000000}
-->
</style>
</head>
<!-- END HEAD -->
<!-- BEGIN BODY -->
<!-- BEGIN SIDEBAR -->
<!-- BEGIN PAGE CONTAINER-->
<?php
include("config.php");
$co = $_GET['co'];
$tmn = $_GET['co'].'-'.$_SESSION['no'];
$tmn2= $_SESSION['no'].'-'.$_GET['co'];
$show = mysql_query("SELECT * FROM chattb WHERE tmn='$tmn' OR tmn='$tmn2'
ORDER BY chatdate DESC");
?>
<!-- BEGIN CHAT PORTLET-->
<div class="widget-body">
<div class="timeline-messages">
<!-- Comment --><!-- /comment -->
<?php
$i=0;
while($row = mysql_fetch_array($show))
{
$i++; if ($i<20){
65
$cur_user = $row[2];
if($row['userid'] == $_SESSION['nama_mhs'])
{
echo "
<div class='msg-time-chat'>
<a class='message-img' href='#'><img alt='' src='img/avatar1.jpg'
class='avatar'></a>
<div class='message-body msg-in'>
<span class='arrow'></span>
<div class='text'>
<p class='attribution'><a
href='#'>".$row['userid']."</a> ".$row['chatdate']."</p>
<p> ".$row['chatbody']."</p>
</div>
</div>
</div>
";
}
else
{
echo "
<div class='msg-time-chat'>
<a class='message-img' href='#'><img alt='' src='img/avatar2.jpg'
class='avatar'></a>
<div class='message-body msg-out'>
<span class='arrow'></span>
<div class='text'>
<p class='attribution'>
<a href='#'>".$row['userid']."</a> ".$row['chatdate']."</p>
<p> ".$row['chatbody']."</p>
</div>
</div>
</div>
";
}
}
}
?>
<!-- /comment -->
66
</div>
</div>
<!-- Load javascripts at bottom, this will reduce page load time -->
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.nicescroll.js" type="text/javascript"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="js/jquery.blockui.js"></script>
<!-- ie8 fixes -->
<!--[if lt IE 9]>
<script src="js/excanvas.js"></script>
<script src="js/respond.js"></script>
<![endif]-->
<script type="text/javascript" src="assets/uniform/jquery.uniform.min.js">
</script>
<script type="text/javascript" src="assets/data-tables/jquery.dataTables.js">
</script>
<script type="text/javascript" src="assets/data-tables/DT_bootstrap.js">
</script>
<script src="js/jquery.scrollTo.min.js"></script>
<!--common script for all pages-->
<script src="js/common-scripts.js"></script>
<!--script for this page only-->
<script src="js/dynamic-table.js"></script>
<!-- END JAVASCRIPTS -->
</body>
<!-- END BODY -->
</html>
<?php } else { header("location: ../login.php"); }?>
67
Lampiran 9
Config.php
<?php
ini_set('display_errors', false);
error_reporting(0);
$host = "localhost";
$user = "root";
$pass = "";
$db = "kuisioner";
$connect = mysql_connect($host, $user, $pass)or die(mysql_error());
$selectdb = mysql_select_db($db);
if(!$connect) {
echo "Gagal koneksi ";
} else {
//berhasil
}
if(!$selectdb) {
echo "Gagal memilih db";
} else {
// Berhasil
}
?>
68
Lampiran 10
header.php
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<!-- BEGIN HEAD -->
<!-- END HEAD -->
<!-- BEGIN BODY -->
<body class="fixed-top">
<!-- BEGIN HEADER -->
<div id="header" class="navbar navbar-inverse navbar-fixed-top">
<!-- BEGIN TOP NAVIGATION BAR -->
<div class="navbar-inner">
<div class="container-fluid">
<!--BEGIN SIDEBAR TOGGLE-->
<div class="sidebar-toggle-box hidden-phone">
<div class="icon-reorder tooltips" data-placement="right" data-original-title="Toggle
Navigation"></div>
</div>
<!--END SIDEBAR TOGGLE-->
<!-- BEGIN LOGO -->
<a class="brand" href="index.php">
<img src="img/logo1.png" alt="SPMI Poltekba" />
</a>
<!-- END LOGO -->
<!-- BEGIN RESPONSIVE MENU TOGGLER -->
<a class="btn btn-navbar collapsed" id="main_menu_trigger" data-toggle="collapse"
data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="arrow"></span>
</a>
<!-- END RESPONSIVE MENU TOGGLER -->
<div id="top_menu" class="nav notify-row">
<!-- BEGIN NOTIFICATION -->
<ul class="nav top-menu">
69
<!-- BEGIN SETTINGS -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-tasks"></i>
<span class="badge badge-important">6</span>
</a>
<ul class="dropdown-menu extended tasks-bar">
<li>
<p>You have 6 pending tasks</p>
</li>
<li>
<a href="#">
<div class="task-info">
<div class="desc">Monev I</div>
<div class="percent">44%</div>
</div>
<div class="progress progress-striped active no-margin-bot">
<div class="bar" style="width: 44%;"></div>
</div>
</a>
</li>
<li>
<a href="#">
<div class="task-info">
<div class="desc">Monev II</div>
<div class="percent">65%</div>
</div>
<div class="progress progress-striped progress-success active no-margin-bot">
<div class="bar" style="width: 65%;"></div>
</div>
</a>
</li>
<li>
<a href="#">
<div class="task-info">
<div class="desc">Monev III</div>
<div class="percent">87%</div>
</div>
<div class="progress progress-striped progress-info active no-margin-bot">
70
<div class="bar" style="width: 87%;"></div>
</div>
</a>
</li>
<li>
<a href="#">
<div class="task-info">
<div class="desc">Lain Lain</div>
<div class="percent">33%</div>
</div>
<div class="progress progress-striped progress-warning active no-margin-bot">
<div class="bar" style="width: 33%;"></div>
</div>
</a>
</li>
<li class="external">
<a href="#">See All Tasks</a>
</li>
</ul>
</li>
<!-- END SETTINGS -->
<?php
$query = mysql_query("SELECT * FROM `pesan` WHERE `to` LIKE 'gkm' AND `status` = 1" );
$query2 = mysql_query("SELECT * FROM `pesan` WHERE `to` LIKE 'gkm' AND `status` = 1"
);
$no = 0;
while ($data = mysql_fetch_array($query)){
$no++;
}
?>
<?php
$filter_data = $_SESSION['nim'];
$lihat_pesan_filter = mysql_query("SELECT * FROM pm where user2 = '$filter_data' AND
user2read = 'no' order by id ");
?>
<!-- BEGIN INBOX DROPDOWN -->
<li class="dropdown" id="header_inbox_bar">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-envelope-alt"></i>
71
<span class="badge badge-important">
<?php $jumlah_pesan=mysql_num_rows ($lihat_pesan_filter) ;
echo "$jumlah_pesan" ;
?>
</span>
</a>
<ul class="dropdown-menu extended inbox">
<li>
<a href="new_pesan.php"> New Messages</a>
<?php while($lihat_pesan = mysql_fetch_array($lihat_pesan_filter))
{
?>
<a href="read_pesan.php?id=<?php echo $lihat_pesan['id']; ?>&read"><!-- &read berguna untuk
mengirim query ke detail_pesan_masuk.php sehingga notifikasi pesan dapat terbaca -->
<span class="subject">
<span class="from"><?php echo $lihat_pesan['user1']; ?></span>
</span>
<span class="message">
<?php echo $lihat_pesan['timestamp']; ?>
</span>
</a><?php } ?>
</li>
<a href="detail_pesan_masuk.php">See all messages</a>
</li>
</ul>
</li>
<li class="dropdown" id="header_notification_bar">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-bell-alt"></i>
<span class="badge badge-warning">7</span>
</a>
<ul class="dropdown-menu extended notification">
<li>
<p>You have 7 new notifications</p>
</li>
<li>
<a href="#">
<span class="label label-important"><i class="icon-bolt"></i></span>
Server #3 overloaded.
72
<span class="small italic">34 mins</span>
</a>
</li>
<li>
<a href="#">
<span class="label label-warning"><i class="icon-bell"></i></span>
Server #10 not respoding.
<span class="small italic">1 Hours</span>
</a>
</li>
<li>
<a href="#">
<span class="label label-important"><i class="icon-bolt"></i></span>
Database overloaded 24%.
<span class="small italic">4 hrs</span>
</a>
</li>
<li>
<a href="#">
<span class="label label-success"><i class="icon-plus"></i></span>
New user registered.
<span class="small italic">Just now</span>
</a>
</li>
<li>
<a href="#">
<span class="label label-info"><i class="icon-bullhorn"></i></span>
Application error.
<span class="small italic">10 mins</span>
</a>
</li>
<li>
<a href="#">See all notifications</a>
</li>
</ul>
</li>
<li class="dropdown" id="header_notification_bar">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<?php
73
$a=0;
$sql1=mysql_query("SELECT * FROM `tb_user` WHERE `role` NOT LIKE 'user' AND
`status` =1");
while ($data = mysql_fetch_array($sql1)) {
$a++;
}
?>
<i class="icon-comments-alt"></i>
<span class="badge badge-warning"><?php echo $a; ?></span>
</a>
<ul class="dropdown-menu extended notification">
<li>
<p> <?php echo $a; ?> User(s) Online </p>
</li>
<?php
include "config.php ";
$sql=mysql_query("SELECT * FROM `tb_user` WHERE `role` NOT LIKE 'user'AND `status`
=1");
while ($data = mysql_fetch_array($sql)) {
?>
<li>
<a href="page_chat.php?co=<?php echo $data['no'] ?>">
<span class="label label-important"><i class="icon-user"></i></span>
<?php echo $data['nama_mhs'] ?>
<span class="small italic"></span>
</a>
</li>
<?php } ?>
<li>
<a href="#">See all notifications</a>
</li>
</ul>
</li>
<!-- END NOTIFICATION DROPDOWN -->
</ul>
</div>
<!-- END NOTIFICATION -->
<div class="top-nav ">
<ul class="nav pull-right top-menu" >
74
<!-- BEGIN SUPPORT -->
<li class="dropdown mtop5">
<a class="dropdown-toggle element" data-placement="bottom" data-toggle="tooltip" href="#"
data-original-title="Chat">
<i class="icon-comments-alt"></i>
</a>
</li>
<li class="dropdown mtop5">
<a class="dropdown-toggle element" data-placement="bottom" data-toggle="tooltip" href="#"
data-original-title="Help">
<i class="icon-headphones"></i>
</a>
</li>
<!-- END SUPPORT -->
<!-- BEGIN USER LOGIN DROPDOWN -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<img src="img/avatar.png" alt="">
<span class="username">Hi !, <?php echo $nama_gkm; ?></span>
<b class="caret"></b>
</a>
<ul class="dropdown-menu extended logout">
<li><a href="#"><i class="icon-user"></i> My Profile</a></li>
<li><a href="#"><i class="icon-cog"></i> My Settings</a></li>
<li><a href="logout.php"><i class="icon-key"></i> Log Out</a></li>
</ul>
</li>
<!-- END USER LOGIN DROPDOWN -->
</ul>
<!-- END TOP NAVIGATION MENU -->
</div>
</div>
</div>
<!-- END TOP NAVIGATION BAR -->
</div>
<!-- END HEADER -->
<!-- BEGIN CONTAINER -->
<div id="container" class="row-fluid">
<!-- BEGIN SIDEBAR -->
75
<div class="sidebar-scroll">
<div id="sidebar" class="nav-collapse collapse">
<!-- BEGIN RESPONSIVE QUICK SEARCH FORM -->
<div class="navbar-inverse">
<form class="navbar-search visible-phone">
<input type="text" class="search-query" placeholder="Search" />
</form>
</div>
<!-- END RESPONSIVE QUICK SEARCH FORM -->
<!-- BEGIN SIDEBAR MENU -->
<ul class="sidebar-menu">
<li class="sub-menu active">
<a class="" href="index.php">
<i class="icon-home"></i>
<span>Home</span>
</a>
</li>
<li class="sub-menu">
<a href="javascript:;" class="">
<i class="icon-book"></i>
<span>Monev</span>
<span class="arrow"></span>
</a>
<ul class="sub">
<li><a class="" href="page_monev1.php">Dokumen Perkuliahan </a></li>
<li><a class="" href="page_monev2.php">Pelaksanaan Perkuliahan </a></li>
<li><a class="" href="page_monev3.php">Nilai Perkuliahan </a></li>
<li><a class="" href="page_rekap.php">Rekap Hasil Kuesioner</a> </li>
<li><a class="" href="page_mon_penetapan_renc.php">Penetapan/Rencana </a></li>
<li><a class="" href="page_monev1.php">Pelakasanaan</a></li>
<li><a class="" href="page_monev1.php">Evaluasi </a></li>
<li><a class="" href="page_monev1.php">Pengendalian</a></li>
<li><a class="" href="page_monev1.php">Peningkatan</a></li>
</ul>
</li>
<li class="sub-menu">
<a href="javascript:;" class="">
<i class="icon-signal"></i>
<span>Statistik</span>
76
<span class="arrow"></span>
</a>
<ul class="sub">
<li><a class="" href="page_grafik_dokumen.php?jur=<?php echo $jurusan; ?>">Dokumen
Perkuliahan </a></li>
<li><a class="" href="page_grafik.php?jur=<?php echo $jurusan; ?>">Layanan Perkulihan
</a></li>
<li><a class="" href="page_grafik_sarpras.php?jur=<?php echo $jurusan; ?>">Layanan
SarPras</a></li>
<li><a class="" href="page_grafik_dok_spmi.php">Dokumen SPMI Inst.
</a></li>
</ul>
</li>
<li class="sub-menu">
<a href="logout.php" class="">
<i class="icon-key"></i>
<span>Log out</span>
<span class="arrow"></span>
</a>
</ul>
<!-- END SIDEBAR MENU -->
</div>
</div>
<!-- END SIDEBAR -->
<!-- BEGIN PAGE -->
<div id="main-content">
<!-- BEGIN PAGE CONTAINER-->
<div class="container-fluid">
top related