94
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

TUGAS AKHIR PENGEMBANGAN APLIKASI SISTEM …spmi.poltekba.ac.id/spmi/fileTA/140309250493_2017.pdf · be separated from the application of Quality Assurance Information System of

  • Upload
    dangbao

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

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

iii

iv

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

vi

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 &copy; 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>&nbsp;

</form>

</div>

</div>

</div>

</div>

</div>

<div id="footer">2016 &copy; 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 &copy; 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>&nbsp;

</form>

</div>

</div>

<!-- END PAGE CONTENT-->

</div>

<!-- END PAGE CONTAINER-->

</div>

<!-- END PAGE -->

</div>

<!-- END CONTAINER -->

<!-- BEGIN FOOTER -->

<div id="footer">2017 &copy; 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 &copy; 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>&nbsp;".$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>&nbsp;".$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">

77

78

79