Pengembangan Aplikasi SMS Reminder
Pengembangan Aplikasi SMS Reminder
Oleh :
Muhammad Akmal
106091002949
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh :
Muhammad Akmal
106091002949
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
Muhammad Akmal
106091002949
Menyetujui,
Pembimbing I
Pembimbing II
Mengetahui,
Ketua Program Studi Teknik Informatika,
PENGESAHAN UJIAN
Skripsi yang berjudul Pengembangan Aplikasi SMS Reminder dalam
Kalender Akademik UIN Syarif Hidyatullah Jakarta (Studi Kasus : Pusat
Komunikasi (PUSKOM) UIN Syarif Hidayatullah Jakarta), telah diuji dan
dinyatakan lulus dalam Sidang Munaqosah Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta, pada hari Senin tanggal 13
Juni 2011. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh
gelar Sarjana Komputer pada Program Teknik Informatika
Jakarta, 13 Maret 2011
Tim Penguji,
Penguji I
Penguji II
Tim Pembimbing,
Pembimbing I
Pembimbing II
Dekan
Fakultas Sains Dan Teknologi
iv
PERNYATAAN
Muhammad Akmal
ABSTRAK
vi
KATA PENGANTAR
Bismillaahirrahmaanirrahiim
Segala puji dan syukur penulis panjatkan kehadirat Allah SWT atas segala
karunia, rahmat dan kekuatan, juga segala petunjuk dan kemudahan sehingga
penulis dapat menyelesaikan penulisan skripsi ini dengan judul Pengembangan
Aplikasi SMS Reminder dalam Kalender Akademik UIN Syarif Hidyatullah
Jakarta Studi Kasus: Pusat Komunikasi (PUSKOM) UIN Syarif Hidayatullah
Jakarta. Shalawat serta salam selalu kita haturkan kepada junjungan kita Nabi
besar Muhammad SAW, beserta keluarganya, para sahabatnya, dan para
pengikutnya.
Skripsi ini berjudul Pengembangan Aplikasi SMS Reminder dalam
Kalender Akademik UIN Syarif Hidyatullah Jakarta Studi Kasus: Pusat
Komunikasi (PUSKOM) UIN Syarif Hidayatullah Jakarta, yang disusun untuk
memenuhi salah satu syarat dalam menyelesaikan program S1 pada Program Studi
Teknik Informatika di Universitas Islam Negeri Syarif Hidayatullah Jakarta.
Pada kesempatan yang berbahagia ini, penulis mengucapkan terima kasih
kepada pihak-pihak yang telah membantu dalam menyelesaikan skripsi ini.
Mereka yang berdedikasi tinggi diantaranya:
1.
vii
2.
3.
4.
di
tengah-tengah
berbagai
kesibukannya
untuk
6.
7.
Muhammad Akmal
viii
Teruntuk
Skripsi ini terkhusus penulis persembahkan kepada mereka yang telah
mendukung, baik moril maupun materil, baik melalui doa ataupun sua dalam
menyelesaikan skripsi ini.
1. Teruntuk Keluarga. Semoga Allah SWT selalu melimpahkan rahmat,
rahim dan ampunan-Nya kepada mereka. Amin.
2. Teruntuk teman-teman satu perjuangan, Wahyudianto, Zickra Auliya,
Dodi Susanto, Wawan Irwanuddin, Trie Harie Haziz, Muhammad
Iqbal, Yudha Perwira, Sarifuddin Dayani, Iche Berlianty, Finna, Selvy,
Wulan, Cherry, Eva, dan Imam Dwijosyahputo. Terima kasih atas
segala bantuan dan semangatnya.
3. Teman-teman seperjuangan Teknik Informatika dan Sistem Informasi
UIN angkatan 2006. Terima kasih untuk semua kenangan terindahnya.
4. Dan seluruh pihak yang telah membantu penulis, baik langsung
maupun tidak langsung dalam menyelesaikan skripsi ini.
ix
DAFTAR ISI
Halaman
Halaman Judul .................. .............................................................................. ii
Lembar Persetujuan Pembimbing .................................................................... iii
Lembar Persetujuan Penguji ............................................................................ iv
Lembar Pernyataan .......................................................................................... v
Abstrak ............................................................................................................ vi
Kata Pengantar ................................................................................................ vii
Lembar Persembahan ....................................................................................... ix
Daftar Isi ......................................................................................................... x
Daftar Gambar. ................................................................................................ xvi
Daftar Tabel ..................................................................................................... xix
Daftar Simbol ................................................................................................... xxi
Daftar Istilah .................................................................................................... xxv
xi
xii
xiii
xiv
xv
DAFTAR GAMBAR
Halaman
Gambar 2.1. Mekanisme store dan forward pada pengiriman pesan SMS ................. 10
Gambar 2.2. SMS Gateway .................................................................................. 12
Gambar 2.3. Arsitektur DBMS.............................................................................. 26
Gambar 2.4. Tahapan RAD .................................................................................. 28
Gambar 2.5. Struktur Model Analisis .................................................................... 31
Gambar 2.6. Desain Perancangan Sistem ............................................................... 33
Gambar 3.1. Tahapan RAD .................................................................................. 42
Gambar 3.2. Ilustrasi Metodologi Penelitian Pengembangan Aplikasi SMS Reminder
dalam Kalender Akademik UIN Syarif Hidyatullah Jakarta ................. 45
xviii
DAFTAR TABEL
Halaman
Tabel 2.1. Perbandingan Metode Pengembangan Sistem .................................. .. 30
Tabel 4.1. Cause-and-Effect Analysis ................................................................ .. 57
Tabel 4.2. Data Pengiriman Pesan ..................................................................... .. 93
Tabel 4.3. Data Pengiriman Pesan II ................................................................. .. 94
Tabel 4.4. Data Events ....................................................................................... .. 95
Tabel 4.5. Data Outbox ...................................................................................... .. 96
Tabel 4.6. Data Member .................................................................................... .. 96
Tabel 4.7. User ................................................................................................... .. 99
Tabel 4.9. User To Groups ................................................................................. .. 99
Tabel 4.9. User To Category .............................................................................. .. 99
Tabel 4.10. Modules .......................................................................................... 100
Tabel 4.11. Groups ............................................................................................. 100
Tabel 4.12. Categories ....................................................................................... 101
Tabel 4.13. Member ........................................................................................... 101
Tabel 4.14. Events.............................................................................................. 102
Tabel 4.15. Dates ............................................................................................... 102
Tabel 4.16. Outbox ............................................................................................ 103
Tabel 4.17. Sentitems ......................................................................................... 103
Tabel 4.18. Gammu............................................................................................ 104
Tabel 4.19. Testing Admin PUSKOM ............................................................. . 126
Tabel 4.20. Testing Admin Pusat ..................................................................... ..110
xix
xx
Nama
Alternate Symbol
Fungsi
Simbol yang menunjukkan
pergantian proses
awal/akhir
Process Symbol
Menunjukkan kegiatan
proses dari operasi
computer
Data
Multi document
Data Flow
Display
Arus Data
xxi
Nama
Process
Fungsi
Menunjukkan
kegiatan proses
operasi dari sistem
Entitas Luar
Entitas yang
memberi dan
menerima data
Data Storage
Tempat
penyimpanan dan
pengambilan file
data
Menunjukkan
arah/arus dari data
yang diproses
Arus Data
xxii
Nama
Entity
Relasi
Atribut
Notasi
Fungsi
Komponen yang
berupa file-file dan
untuk diproses oleh
sistem
Penghubung antara
entitas lain
1:1
1:M
M:N
xxiii
Nama
Tindakan
Tampilan
xxiv
Fungsi
Menggambarkan
Tindakan yang diambil
jika suatu event terjadi
Menggambarkan
tayangan atau layer yang
tampil
DAFTAR ISTILAH
SMS
Gateway
Handphone
Telepon genggam
GSM
Broadcast
Customizable
Penyesuaian penggunaan
Reminder
Input
Output
Keluaran data
User
RAD
xxv
Testing
Tahapan
dimana
pengembangan
software
User Friendly
Design
Tahapan
dimana
pengembangan
software
melakukan perancangan.
Coding
Tahapan
dimana
pengembangan
software
Suatu
jenis
pengujian
perangkat
lunak
Internet
xxvi
komputer
Electronic Mail (Email)
xxvii
DAFTAR PUSTAKA
139
BAB I
PENDAHULUAN
demi
mendapatkan
efisiensi
kinerja
untuk
memperoleh
kegiatan dengan waktu, jenis kegiatan dan tujuan kegiatan. Dengan adanya
sistem informasi penjadwalan ini diharapkan suatu perusahaan atau instansi
dapat merencanakan dengan baik kegiatan-kegiatan apa yang akan dilakukan
sehingga tujuan keberhasilan dapat terlaksana dengan efisien dan baik.
Teknologi reminder atau teknologi pengingat sangat bermanfaat apabila
dikoneksikan dengan sistem informasi penjadwalan. Teknologi reminder
membantu pegawai atau pekerja untuk lebih disiplin dalam melakukan
kegiatan yang telah direncanakan perusahaan atau instansi. Teknologi
reminder ini dapat dijalankan pada email pegawai, teknologi handphone, atau
teknologi lain yang sering digunakan oleh pegawai.
Universitas Islam Negeri Syarif Hidayatullah Jakarta memiliki kalender
akademik untuk mengatur jadwal kegiatan Universitas baik dalam jangka
waktu
panjang
maupun
pendek. Kelender
akademik
ini
memiliki
sebagai
bahan
dalam
penyusunan
skripsi
dengan
judul
2.
3.
yang
dilakukan
adalah
untuk
membuat
usulan
1. Bagi Universitas
Sebagai bahan masukan Universitas Islam Negeri Syarif
Hidyatullah Jakarta dalam memanfaatkan Sistem Informasi dan
Teknologi
Informasi
lain
yang
dapat
memberikan
suatu
yang
konstruktif
dalam
rangka
pengembangan
3. Observasi
Penulis mengamati langsung sistem yang sedang berjalan.
1.5.2. Metode Analisis Perencanaan Sistem
Metode Perencanaan Aplikasi SMS Reminder dalam Kalender
Akademik UIN Syarif Hidyatullah Jakarta ini menggunakan metode
Rapid Application Development (RAD), yang memiliki tahapan
sebagai berikut (Kendall & Kendall, 2003 : 327) :
1. Fase Perancanaan Syarat-syarat
Dalam tahap ini menentukan tujuan dan syarat-syarat
informasi. Orientasi dalam tahap ini adalah menggambarkan
permasalahan sistem yang berjalan dengan melakukan analisa
terhadap sistem dan melakukan pendekatan terhadap kebutuhan
sistem yang diusulkan.
2. Fase Perancangan
Dalam tahap ini dilakukan desain terhadap sistem yang
diusulkan dengan tahap : Pembuatan contex diagram, Data Flow
Diagram (DFD), Entity Relationship Diagram (ERD), perancangan
antar muka berupa perancangan input dan output sistem.
3. Fase Konstruksi
Pada tahap ini dilakukan penyusunan pengkodean terhadap
rancangan sistem yang telah didefinisikan.
4. Fase Pelaksanaan
Pada tahap ini dilakukan pengujian sistem dan pengenalan
kinerja sistem kepada pihak pengguna (user).
PENDAHULUAN
Dalam bab ini dibahas secara singkat latar belakang masalah
untuk penentuan judul, identifikasi masalah, pembatasan
masalah, perumusan masalah, metode pembahasan, dan
sistematika penulisan.
BAB II
LANDASAN TEORI
Dalam bab ini berisi tentang penjelasan teori- teori yang
diperlukan dalam penulisan.
BAB III
METODOLOGI PENELITIAN
Dalam bab ini membahas tentang metodelogi yang
digunakan, dimulai dengan metode pengumpulan data dan
tahapan-tahapan analisa dan perancangan yang digunakan
dalam membuat Aplikasi SMS Reminder dalam Kalender
Akademik UIN Syarif Hidyatullah Jakarta.
BAB IV
PEMBAHASAN
Dalam bab ini menguraikan tentang latar belakang instansi
dan menjelaskan perancangan program dan implementasinya
yang menggunakan beberapa tahap perancangan sistem
Rapid Application Development (RAD).
BAB V
PENUTUP
Dalam bab ini menguraikan tentang kesimpulan dan saran
atas hasil penelitian yang telah dilakukan.
BAB II
LANDASAN TEORI
merupakan
suatu
metode
store
dan
forward.
Keuntungan yang didapat dari metode ini adalah pada saat telepon
selular penerima tidak dapat dijangkau, dalam arti tidak aktif atau
diluar service area, penerima tetap dapat menerima SMS-nya
apabila telepon selular tersebut sudah aktif kembali. SMS
menyediakan mekanisme untuk mengirimkan (storage) pesan
singkat
dari
dan
menuju
media-media
wireless
dengan
10
kemungkinan
miss
dalam
pengiriman
informasi.
c. SMS dapat diterima secara langsung, yang menjadikan
SMS solusi yang ideal untuk menyebarkan informasi.
d. 94% SMS dibaca oleh para penerima.
e. Pengiriman pesan ke beberapa orang secara bersamaan.
f. Pengiriman pesan yang cepat, kurang dari 1 menit.
11
g. Layanan Informasi.
h. Sebagai pemberitahuan dan iklan, seperti informasi cuaca,
pembukaan outlet baru, kurs mata uang, ataupun horoskop.
2.1.2. SMS Gateway
SMS Gateway dibuat dari beberapa perangkat yang minimal
terdiri dari PC dan Modem GSM/CDMA. Sebuah kartu GSM/CDMA
dengan nomor direct/premium, dan sebuah program aplikasi yang
berfungsi untuk menerima atau mengirim sms secara bersamaan.
Aplikasi SMS Gateway mampu mengintegrasikan antara teknologi
ponsel dengan komputer atau PC (Rozidi, 2004 : 35).
12
nomor dan pesan diponsel anda karena semua nomor akan diambil
secara otomatis dari database tersebut.
Berikut dijelaskan fungsi-fungsi SMS Gateway :
1. Massage management dan Delivery
a. Pengaturan pesan yang meliputi manajemen prioritas
pesan, manajemen pengiriman pesan, dan manajemen
antrian.
b. Pesan yang dilakukan harus sedapat mungkin fail safe.
Artinya,
jika
terdapat
gangguan
pada
jaringan
Fitur-fitur
standar
SMS
Gateway,
yaitu
13
2.1.3. AT Command
AT Command adalah perintah-perintah yang digunakan dalam
komunikasi dengan Serial Port (Wahana Komputer, 2005 : 26). AT
Command digunakan pada handphone server untuk mengetahui vendor
atau perusahaan pembuat handphone yang digunakan, kekuatan sinyal,
membaca pesan yang ada pada SIM Card, mengirim pesan,
mendeteksi pesan baru yang masuk secara otomatis, menghapus pesan
pada SIM Card dan masih banyak lagi. Pada software gammu,
handphone-handphone yang sudah menggunakan USB pada umumnya
menggunakan AT Command sebagai pembentuk gateway.
14
15
atau berinteraksi antara satu elemen dengan elemen lain dengan tujuan
yang telah ditentukan.
terlambat
karena
informasi
yang
usang
tidak
16
17
18
pengeloaan
data-data
Akademik
dengan
penerapan
berisi
informasi
yang
berkaitan
dengan
19
20
6. Data Keuangan
7. Data Jadwal Kegiatan Akadeik
Akademik
adalah
jadwal
kegiatan
akademik
dirancang
terutama
untuk
meminimalkan
pengulangan
21
terkomputerisasi
yang
tujuan
utamanya
adalah
melakukan
kerangkapan
untuk
(redudancy)
mendeteksi
dan
data.
menghindari
terjadinya
inkonsistensi
data.
kesulitan
dalam
mengakses
data.
22
integritas
dan
inpendensi
data.
23
menmandang
dikelompokkan
menjadi
basis
data,
tingkatan
pemakai
(level)
yaitu
dapat
(Aji
terendah
dalam abstraksi
data
yang
Konseptual.
Merupakan
level
yang
24
Language-DML).
Misalnya
Insert,
Select,
25
26
lunak
tambahan
yang
menekankan
siklus
dari
model
pengembangan
waterfall,
di
mana
27
28
2. Fase Perancangan
Pada tahap ini dilakukan proses desain dan melakukan
perbaikan-perbaikan
apabila
masih
terdapat
29
Kelebihan
Kelemahan
Contoh pendekatan
pembangunan software dengan
permulaan kebutuhan
spesifikasi customer dan
kemajuan yang akan diraih
(Pressman, 2005: 79).
Merupakan kombinasi
model waterfal dengan gaya
pengulangan untuk
meningkatkan kinerja software
(Pressman, 2005: 81).
Kesulitan untuk
mengakomodasi kebutuhan
Telah banyak dipakai dalam yang ada pada bagian awal
dua dekade terakhir (Pressman, proyek (Pressman, 2005: 80).
2005: 79).
Dibutuhkan kesabaran
customer karena kinerja versi
program akan selesai selama
keterlambatan jangka waktu
proyek (Pressman, 2005: 80).
Incremental Process
Model
(The Incremental
Model, RAD)
30
31
aliran
informasi
dan
transformasi
yang
pemodelan
hubungan
antara
data
konseptual
penyimpanan.
yang
ERD
mendeskripsikan
digunakan
untuk
32
menggambarkan
keadaannya
dan
kejadian
yang
33
2.7. Internet
2.7.1. Transmision Control Protocol/Internet Protocol (TCP/IP)
Transmision Control Protocol/Internet Protocol (TCP/IP) adalah
sekelompok protokol yang mengatur komunikasi data komputer di
internet.
Komputer-komputer
yang
terhubung
ke
internet
34
35
2.8.2. PHP
PHP adalah bahasa pemrograman multi purpose yang open source
dan digunakan secara luas. PHP pada dasarnya didesain untuk
digunakan dalam pengembangan web site. PHP pertama kali dikenal
sebagai Personal Home Page tools yang diperkenalkan oleh Rasmus
Lerdorf pada tahun 1995. Saat ini PHP lebih dikenal sebagai Hypertext
Preprocessor sesuai kemampuannya untuk memproses halaman web
sebelum halaman tersebut ditampilkan (Valade, 2004 : 9).
Maksud severside scripting adalah sintaks dan perintah-perintah
yang kita berikan akan sepenuhnya dijalankan di server tetapi
disertakan pada dokumen HTML. PHP merupakan software open
source dan mampu lintas platform. PHP dapat dibangun sebagai modul
pada web server Apache dan sebagai binary yang dapat berjalan
sebagai CGI.
PHP memiliki beberapa keunggulan diantara bahasa server-side
scripting yang banyak digunakan sekarang ini. Beberapa kelebihan
PHP (Valade, 2004 : 10) :
1. Cepat, karena dapat terintegrasi dengan HTML membuat waktu
untuk loading dan proses halaman web menjadi singkat.
2. Gratis, PHP didistribusikan secara open source dan tidak
bersifat komersial.
3. Mudah digunakan dan dipelajari, sintaksnya sederhana dan
cukup mudah untuk dimengerti dan digunakan, bahkan oleh
36
2.8.3. MySQL
MySQL adalah multi user database yang menggunakan bahasa
Structured Query Language (SQL) (Nanang, 2004 : 81). MySQL
mampu untuk menangani data yang cukup besar. Perusahaan yang
mengembangkan MySQL yaitu TeX, mengaku mampu menyimpan
37
data lebih dari 40 database, 10.000 tabel dan sekitar 7 juta baris,
totalnya kurang lebih 100 Gigabytes data.
Database
MySQL
banyak
digunakan
di
internet
karena
2.8.5. Gammu
Gammu merupakan aplikasi open source untuk keperluan SMS
gateway dan me-manage handphone.
38
39
40
BAB III
METODOLOGI PENELITIAN
41
3. Studi Pustaka
Dalam hal ini, penulis melakukan penelaahan atas buku-buku yang
berhubungan dengan judul penulisan skripsi.
42
43
adalah mendesain sistem yang diusulkan agar dapat berjalan lebih baik
dan diharapkan dapat mengatasi permasalahan yang ada.
Penerapan model yang diinginkan pemakai. Tahapan yang dilakukan
adalah :
1. Tahap analisis sistem dengan menggunakan Data Flow Diagram
(DFD), alasannya adalah untuk lebih memahami langkah awal
membangun sistem secara fisik.
2. Tahap perancangan Basis Data dilakukan menggunakan Entity
Relationship Diagram (ERD) yang menggambarkan hubungan
antar entity yang ada pada DFD, dan spesifikasi tabel.
3. Tahap perancangan Input-Output, dengan membuat rancangan
layar tampilan. Setelah rancangan layar tampilan terbentuk maka
dilakukan tahap konstruksi.
4. Sebagaimana format yang disetujui oleh user pembuat diagram
dengan Stade Transition Diagram (STD)
44
45
BAB IV
HASIL DAN PEMBAHASAN
Sistem
Informasi
Akademik
dengan
4.2.2. Observasi
Observasi dilaksanakan oleh penulis menggunakan pengamatan
secara langsung, berlokasi dilantai dasar Fakultas Syariah, kantor Pusat
Komunikasi (PUSKOM) UIN Syarif Hidyatullah. Observasi dilakukan
pada penggunaan sistem penjadwalan akademik pada AIS.
Hasil yang didapat dari observasi antara lain :
a. Inputan data jadwal kegiatan dilakukan oleh admin setiap
fakultas, dan jurusan. Data
diinput
melalui
sistem
jadwal
kegiatan
dilakukan
melalui
: Website AIS
4.3.4. Tujuan
Merancang aplikasi kalender kegiatan dengan menyertakan
tingkat
kemampuan
pengelolaan
tiap
admin/user
yang
dapat
4.3.5. Syarat-syarat
Syarat-syarat dalam pengembangan aplikasi SMS Reminder
dalam Kalender Akademik Kampus meliputi hal-hal sebagai berikut :
a. Web server
Web server merupakan syarat mutlak suatu aplikasi berbasis
web. Web server merupakan platform untuk menjalankan suatu
aplikasi berbasis web. Dalam pengembangan aplikasi ini
penulis menggunakan Web server Apache.
b. Bahasa pemrograman PHP
Pemrograman web juga dibutuhkan untuk dapat membangun
sebuah aplikasi berbasis web, untuk bisa melakukan berbagai
operasi dan fungsi pada halaman web maka dibutuhkan suatu
bahasa pemrograman web dinamis yang berupa server-side
programming. Bahasa pemrograman yang digunakan oleh
penulis adalah PHP dan untuk mengolah databasenya
menggunakan MySQL.
c. Supercali Calender
Supercali Calender merupakan framework yang dibutuhkan
dalam pembuatan struktur kalender dengan strata penggunaan
user yang dimilikinya. Supercali Calender juga sesuai dengan
kekurangan
sistem
yang
sedang
berjalan
yang
Aplikasi
Kalender
Kampus
dibentuk
berdasarkan
sistem
AIS
dalam
hal
pembagian
hak
perancangan
aplikasi
multiuser
yang
terintegrasi
browser
digunakan
sebagai
antarmuka
dalam
dan
arsitektur
jaringan
digunakan
untuk
member berupa data kategory jabatan dan data lengkap pihak atau
anggota penerima informasi. Groups berupa data fakultas dan jurusan.
Berikut dijelaskan strata user yang dirancang atau diatur oleh
penulis untuk disesuaikan dalam keorganisasian Universitas Islam
Negeri Syarif Hidyatullah Jakarta :
1. Admin PUSKOM
a. Memiliki
menu
add
event,
module,
users,
groups,
categories, member.
b. View, Input, edit dan delete jadwal event ke kalender
akademik Pusat, semua fakultas dan jurusannya.
c. View, Input, edit, delete, dan setting data user yang akan
mengelola kalender. Hal ini berdasarkan strata kedudukan
organisasi UIN Syarif Hidyatullah.
d. View, Input, edit dan delete semua group (groups).
e. View, Input, edit dan delete semua kategori (categories).
f. View, Input, edit dan delete semua anggota (member)
berdasarkan group (groups).
2. Admin Pusat
a. Memiliki menu add event, profil, groups, categories,
member.
4.4.2.
DFD
Data flow diagram (DFD) merupakan alat perancangan sistem yang
berorientasi pada alur data dengan konsep dekomposisi dapat digunakan
untuk penggambaran analisa maupun rancangan sistem yang mudah
adalah
entitas
diluar
sistem
yang
dan
mengelola
kegiatan
akademik
akademik
universitas.
Akses
publik
menjadi
pihak
penerima
informasi
dijelaskan
proses
yang
dirancang
dari
ini
digunakan
untuk
membuat
model
user_to_categoies
(hak
akses
user
dalam
kategori).
8. Data modules (modul kalender).
9. Data member (pihak penerima informasi).
10. Data Outbox (jadwal pengiriman SMS reminder).
11. Data sentitem (laporan pengiriman SMS).
4.4.2.4. Komponen Alur Data
Alur data digunakan untuk menerangkan perpindahan data
atau paket data dari satu bagian ke bagian lainnya.
Berikut dijelaskan Komponen alur Data yang dirancang
dari Pengembangan Aplikasi SMS Reminder dalam Kalender
Akademik UIN Syarif Hidyatullah Jakarta :
dengan
mengambil
data
dari
Penjelasan :
1. Super Admin melakukan pengaturan user
melalui form setting admin/user.
2. Pengaturan username (nama user), password
(password
user),
view
calendar
(melihat
akan
disimpan
ke
data
user_to_groups.
4. Pengaturan akses terhadap kategori, seperti view
(dapat melihat kategori yang ada), post (dapat
memasukkan data kedalam kategori yang ada),
moderate (kemampuan masukkan data/pilihan
kategori dalam form event). Pengaturan akan
disimpan kedalam data user_to_categories.
Penjelasan :
1. Admin/User memasukkan data kategori melalui
form categories yang telah disediakan sistem.
2. Data masukkan kategori akan disimpan kedalam
data categories.
(tema,
jadwal
dan
keterangan
pengingat,
serta
jadwal
pengiriman
jadwal
pengiriman
pesan
pengingat
oleh
aplikasi
gammu,
Aliran Data
dengan
memungkinkan
menggambarkan
sistem
profesional
sebagai
suatu
sistem
untuk
jaringan
proses
referensi
yang
ada
secara
garis
besar
langkah
sesuai
hak
akses
yang
telah
diberikan.
4. Customer
menerima
informasi
berupa
Penjelasan :
Proses
Aplikasi
SMS
Reminder
dalam
SMS
Reminder
dalam
Kalender
4.4.3.
ERD
Entity Relationship Diagram (ERD) adalah suatu penyajian data
dengan menggunakan Entity dan Relationship. Berikut akan
digambarkan bentuk Conceptual Data Model (CDM) ERD Aplikasi
SMS Reminder dalam Kalender Akademik Universitas :
dalam
Sistem
kalender
(pengembangan
dari
akses
setiap
group),
dan
data
untuk
memudahkan
pengguna
dalam
untuk
memudahkan
pengguna
dalam
mengelompokkan member.
h. Untuk
aksi
terhadap
pengiriman
pesan
pengingat,
4.4.3.1. Entity
Berikut dijelaskan Entitas dan atributnya dalam Aplikasi
SMS Reminder dalam Kalender Akademik Universitas
sebagai pengembangan komponen data store pada DFD dan
pembentuk
database
sistem.
Penulis
menggabungkan
(waktu
penerimaan
penjadwalan
4. Data groups.
a. group_id (primary key dari data group).
b. name (nama group).
c. sub_of (relasi ke tabel user_to_groups, digunakan
untuk hak akses group oleh user).
d. sequence (posisi group pada tampilan data group).
Entity Gammu.
1. Data Outbox (data pengiriman SMS reminder melalui
aplikasi gammu).
a. ID (primary key outbox)
b. UpdateInDB (jadwal update data)
(foreign
key
id_member
dari
data
member).
i. SendingTimeOut (batas akhir pengiriman, dalam
bentuk tanggal dan jam).
j. CreatorID (foreign key dari id_event).
(foreign
key
id_member
dari
data
member).
i. SendingTimeOut (batas akhir pengiriman).
j. Status (status pengiriman).
k. StatusError (status gagal pengiriman).
l. CreatorID (foreign key dari id_event).
atribut-atribut
data
dengan
cara
pesan
reminder
kepada
member
(anggota) :
Tabel 4.2. Data Pengiriman Pesan
Penjelasan :
Didalam pengiriman SMS reminder diperlukan
data event (event_id, title, group_id, category_id, dan
description)
dan
data
outbox
(ID
Send,
pesan
dan
data
events.
Bentuk
Penjelasan :
Pengurangan data event (title event) dilakukan
untuk menghilangkan penggunaan data yang tidak
terlalu dibutuhkan, sehingga data pengiriman dapat
lebih
fleksibel.
Penggunaan
data
title
event
Penjelasan :
Tabel events dibuat secara lebih detil. Penjelasan
Entitas
dapat
dilihat
pada
penjelasan
entitas
database.
status_id
merupakan
status
Penjelasan :
tabel outbox merupakan tabel yang dikelola oleh
gammu
untuk
melakukan
pengiriman
pesan.
Penjelasan :
Dari pengembangan tabel Data Pengiriman Pesan
II diperoleh data member yang akan digunakan
dalam operasi sistem kalender dan aplikasi gammu.
Berikut dijelaskan data Member yang lebih
Kompleks dengan entitas sebagai berikut :
a. member_id (primary key member).
(penunjuk
posisi
group
4.4.3.3. Relationship
Relationship adalah hubungan yang terjadi antara satu
atau lebih entity. Berikut digambarkan gambar relasi entity
Aplikasi SMS Reminder dalam Kalender Akademik
Kampus :
Kalender Akademik
Gammu
Gambar 4.19. Relational Database
Berikut dijelaskan masing relasi tabel dengan data
dictionary (kamus data) setiap tabel.
1. Tabel Admin/User
Nama Tabel : users
Primary Key : user_id
Foreign key : user_id
4. Tabel Modul
Nama Tabel : module
Primary key : module_id
Foreign key : Tabel 4.10. Modules
5. Tabel Group
Nama Tabel : groups
Primary key : group_id
Foreign key : group_id, sub_of (khusus untuk sub_of
yang digunakan pada tabel member menjadi identitas
group_id_child)
Tabel 4.11. Groups
6. Tabel Kategori
Nama Tabel : cetegories
Primary key : category_id
Foreign key : category_id, sub_of
Tabel 4.12. Categories
9. Tabel Dates
Nama Tabel : dates
Primary key : Foreign key : event_id.
Tabel 4.15. Dates
TextDecoded,
ID,
SendingTimeOut, DestinationNumber.
Tabel 4.16. outbox
SenderID,
4.4.4.
Module Week :
Module Upcoming :
Untuk admin AIS memiliki semua sub menu. Admin pusat diatur tidak
memiliki menu users. Admin fakultas tidak memiliki menu users dan
groups. Admin jurusan tidak memiliki menu users, groups, dan
category/member. Berikut dijelaskan tampilan layar masing-masing
menu :
1. Add/Edit Events, Send massage, View Member : halaman
untuk melakukan proses input dan edit kegiatan, menerima
pengajuan jadwal kegiatan, dan melihat jadwal reminder serta
member yang akan dikirim pesan. Halaman bentuk small
window.
Add/Edit groups :
Add/Edit Category :
4.
kepada
member-member
yang
ingin
diberi
informasi
pengingat.
State Transition Diagram (STD) Menu Add/Edit/Hapus
Event
4.5.2. Gammu-win32
Gammu digunakan untuk melakukan pengiriman sms dengan
inputan melalui computer. Gammu bukanlah suatu aplikasi jadi. Tapi
merupakan suatu module yang dapat digabungkan dengan bahasa
pemrograman apa saja.
Kelebihan Gammu dari tool sms gateway lainnya adalah :
4.5.3. Pengkodean
Setelah melakukan intalasi maka tahap selanjutnya adalah
pembuatan program. Dalam membuat program (coding) dapat
mempermudah penulisan kode program khususnya yang berbasis web
(hypertext), aplikasi tersebut diantaranya : Notepad, wordpad,
Dreamweaver, ultraedit, Frontpage, dan lain sebagainya. Pada tahap ini
dapat dilihat pada lampiran C.
pendekatan
black-box
testing.
Dengan
menggunakan
No. Modul
1.
Tambah User
Hasil Uji
Coba
OK
Edit User
OK
menambah ataupun
database
3.
Hapus User
OK
database
4.
Melihat User
melihat/view
database
OK
6.
Update
Module
meng-update module
Hapus Module
OK
OK
Tambah
Groups
8.
Hapus Groups
OK
OK
database
9.
Edit Groups
OK
database
10.
Melihat
Groups
database
OK
11.
Tambah
Categories
12.
13.
14.
Admin PUSKOM
OK
menambah Categories
Edit
Categories
mengubah data
database
Categories
Hapus
Categories
menghapus data
database
Categories
Melihat
Categories
OK
OK
OK
database
15.
Tambah Links
OK
Edit Links
OK
database
17.
Hapus Links
OK
database
18.
Melihat Links
OK
database
19.
Tambah Event
OK
Edit Event
Kegiatan
OK
konfigurasi user
21.
Hapus Event
OK
Kegiatan
konfigurasi user
22.
Send Message
OK
23.
24.
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Hapus Data
Sending
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Melihat Data
Send
sesuai konfigurasi
yang tersedia
OK
OK
user
2. Admin Pusat
Tabel 4.20. Testing Admin Pusat
No. Modul
Prasyarat
1.
Melihat Profil
Hasil yang
Hasil Uji
Diharapkan
Coba
OK
melihat profil
konfigurasi
2.
Tambah
Groups
OK
3.
Hapus Groups
OK
database
4.
Edit Groups
OK
database
5.
Melihat
Groups
OK
database
6.
Tambah
Categories
7.
8.
9.
Admin Pusat
OK
menambah Categories
Edit
Categories
mengubah data
database
Categories
Hapus
Categories
menghapus data
database
Categories
Melihat
Categories
OK
OK
OK
database
10.
Tambah Links
OK
Edit Links
OK
database
12.
Hapus Links
OK
database
13.
Melihat Links
OK
database
14.
Tambah Event
OK
Edit Event
Kegiatan
OK
konfigurasi user
16.
Hapus Event
Kegiatan
OK
konfigurasi user
17.
Send Message
OK
18.
19.
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Hapus Data
Sending
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Melihat Data
Send
sesuai konfigurasi
yang tersedia
user
OK
OK
3. Admin Fakultas
a. Admin Tarbiyah
b. Admin Adab
c. Admin Ushuluddin
d. Admin Syariah
e. Admin Dakwah
f. Admin Dirasat
g. Admin Psikologi
h. Admin Ekonomi
i. Admin Saintek
j. Admin Kedokteran
k. Admin Pasca
Tabel 4.21. Gammu Testing Admin Fakultas
No. Modul
1
Melihat Profil
Prasyarat
Login sebagai admin
Hasil yang
Hasil Uji
Diharapkan
Coba
OK
melihat profil
konfigurasi
2
Tambah
Categories
3
OK
menambah Categories
Edit
Categories
mengubah data
database
Categories
Hapus
Categories
menghapus data
database
Categories
OK
OK
Melihat
Categories
OK
database
6
Tambah Links
dan sesuai
OK
konfigurasi user
7
Edit Links
OK
Hapus Links
OK
Melihat Links
OK
Tambah Event
OK
Edit Event
Kegiatan
OK
konfigurasi user
12
Hapus Event
Kegiatan
OK
konfigurasi user
13
Send Message
OK
14
15
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Hapus Data
Sending
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Melihat Data
Send
sesuai konfigurasi
yang tersedia
OK
OK
user
4. Admin Jurusan
User yang digunakan oleh penulis berupa user jurusan Bahasa Arab,
fakultas Adab.
Tabel 4.22. Admin Jurusan
No. Modul
1.
Melihat Profil
Prasyarat
Login sebagai admin
Hasil yang
Hasil Uji
Diharapkan
Coba
OK
melihat profil
konfigurasi
2.
Tambah
Categories
3.
OK
menambah Categories
Edit
Categories
mengubah data
database
Categories
OK
4.
5.
Hapus
Categories
menghapus data
database
Categories
Melihat
Categories
OK
OK
database
6.
Melihat Links
OK
Tambah Event
OK
Edit Event
Kegiatan
OK
konfigurasi user
9.
Hapus Event
Kegiatan
OK
konfigurasi user
10.
Send Message
OK
11.
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Hapus Data
Sending
pengiriman pengingat
sesuai konfigurasi
OK
12.
user
tersedia
Melihat Data
Send
sesuai konfigurasi
yang tersedia
OK
user
Melihat
Prasyarat
-
Hasil yang
Hasil Uji
Diharapkan
Coba
OK
Jadwal
pegawai dapat
Kalender
mengetahui jadwal
kegiatan
2.
Menerima
Terdaftar sebagai
Informasi
member
pegawai dapat
Akademik
mengetahui jadwal
dalam bentuk
pengingat
OK
Pengujian dilakukan
Pengujian
Penilaian
1.
Baik
2.
Baik
3.
Baik
4.
Tampilan aplikasi
Baik
5.
Kestabilan aplikasi
Baik
6.
Keamanan aplikasi
Baik
7.
Baik
8.
Baik
BAB V
KESIMPULAN DAN SARAN
Kesimpulan
Dari penelitian dan penulis yang telah penulis uraikan, maka dapat
ditarik kesimpulan sebagai berikut:
1. Aplikasi SMS Reminder dalam Kalender Akademik UIN Syarif
Hidyatullah merupakan pengembangan dari framework supercali
calendar sebagai pembentuk tampilan utama kalender, dan aplikasi
gammu sebagai SMS Gateway untuk pengiriman SMS informasi
pengingat.
2. Sistem penjadwalan yang dibuat dapat menjadi pertimbangan untuk
digunakan di PUSKOM untuk membantu sistem akademik yang sudah
ada, yaitu Academic System Information (AIS).
135
5.2.
Saran
Sistem ini tentu saja masih belum sempurna. Masih banyak hal yang
dapat dilakukan untuk mengembangkan sistem ini agar menjadi lebih baik
lagi, antara lain:
1. Diharapkan sistem ini dapat dikembangkan pihak PUSKOM bukan
hanya sebatas informasi pengingat, akan tetapi dapat dikembangkan
menajadi informasi melalui saluran telepon (Information Call) untuk
lebih membantu kinerja dalam kegiatan akademik UIN Syarif
Hidyatullah.
2. Diharapkan pengembangan sistem menggunakan aplikasi Gammu yang
dirancang sendiri dan terintegrasi didalam sistem kalender, sehingga
dapat lebih mudah digunakan oleh user apabila sistem berjalan dimulai
dari awal kembali, tanpa adanya pengaturan awal aplikasi Gammu lagi.
3. Diharapkan skripsi ini dapat digunakan sebagai bahan masukan dan
saran pemikiran yang konstruktif bagi penulis skripsi yang lain dalam
136
137
LAMPIRAN-LAMPIRAN
1. LAMPIRAN A : HASIL WAWANCARA
2. LAMPIRAN B : HASIL TAMPILAN ANTARMUKA
3. LAMPIRAN C : SOURCE CODE
4. LAMPIRAN D : INSTALASI SOFTWARE
5. LAMPIRAN E : PENGUJIAN PENERIMAAN SISTEM
LAMPIRAN A
HASIL WAWANCARA
LAMPIRAN B
HASIL TAMPILAN ANTARMUKA
LAMPIRAN C
SOURCE CODE
LAMPIRAN D
INSTALASI SOFTWARE
LAMPIRAN E
PENGUJIAN PENERIMAAN SISTEM
dosen atau pegawai yang gagap teknologi (gaptek). Hal ini berakibat
aliran informasi kurang berjalan dengan baik.
3. Menurut Saya sebaiknya sistem ini memiliki sistem penyampaian
informasi yang baik dan dapat disampaikan secara menyeluruh
kesemua pihak yang dikenai kegiatan atau yang memiliki kepentingan
dengan penjadwalan akademik ini.
2. Tampilan Module
3. Tampilan Navigasi
7. Tampilan Login
Config.php
<?php
$h = "localhost";
$d = "kalender_uin";
$u = "root";
$calendar_title = "Kalender UIN Syahid";
$calendar_email = "akmal";
$calendar_url = "http://localhost";
$week_titles_s[] = "Fri";
$week_titles_s[] = "Sat";
//view year
$week_titles_ss[] = "S";
$week_titles_ss[] = "M";
$week_titles_ss[] = "T";
$week_titles_ss[] = "W";
$week_titles_ss[] = "T";
$week_titles_ss[] = "F";
$week_titles_ss[] = "S";
$table_prefix = "";
$default_module = 2;
// menayangkan peristiwa kategori sub seiring
dengan peristiwa pada kategori terpilih
$include_child_categories = true;
// tayangkan peristiwa di kategori induk seiring
dengan peristiwa pada kategori terpilih
$include_parent_categories = true;
// Bagaimana caranya menayangkan judul pada
header dari kalender
$week_titles[] = "Sunday";
$week_titles[] = "Monday";
$week_titles[] = "Tuesday";
$week_titles[] = "Wednesday";
$week_titles[] = "Thursday";
$week_titles[] = "Friday";
$week_titles[] = "Saturday";
//view quarter
$week_titles_s[] = "Sun";
$week_titles_s[] = "Mon";
$week_titles_s[] = "Tue";
$week_titles_s[] = "Wed";
$week_titles_s[] = "Thu";
function
grabDates($start,$end,$category_array) {
$cats = implode(",",$category_array);
global $table_prefix, $supergroup;
global $title, $niceday, $start_time,
$end_time, $venue, $city, $state, $cat,$ed,
$usr, $color, $background,$lang, $w, $ap,
$status, $send;
/* peroleh peristiwa bisa diterapkan */
$superedit = false;
if (!$supergroup) {
$q = "select moderate from
".$table_prefix."users_to_groups where
group_id = ".$w." and user_id =
".$_SESSION["user_id"];
$query = mysql_query($q);
if (mysql_num_rows($query)
> 0) {
$mod =
mysql_result($query,0,0);
if ($mod > 2) {
$superedit = true;
}
}
} else {
$superedit = true;
}
if (($mod > 0) || ($superedit)) {
$q = "select
DATE_FORMAT(".$table_prefix."dat
es.date, '%Y%m%d'),
DATE_FORMAT(".$table_prefix."dat
es.date, '%H%i'),
".$table_prefix."events.event_id,
".$table_prefix."events.title,
DATE_FORMAT(".$table_prefix."dat
es.date, '%W, %M %e, %Y'),
DATE_FORMAT(".$table_prefix."dat
es.date, '%l:%i %p'),
DATE_FORMAT(".$table_prefix."dat
es.end_date, '%l:%i %p'),
".$table_prefix."links.name,
".$table_prefix."links.city,
".$table_prefix."links.state,
".$table_prefix."events.category_id,
".$table_prefix."events.user_id,
".$table_prefix."dates.date,
".$table_prefix."categories.color,
".$table_prefix."categories.background,
".$table_prefix."events.status_id,
".$table_prefix."events.send_id
from
".$table_prefix."events,
".$table_prefix."dates,
".$table_prefix."links,
".$table_prefix."categories,
".$table_prefix."groups
where
".$table_prefix."dates.date >= '$start'
and
".$table_prefix."dates.date < '$end'
and
".$table_prefix."dates.event_id =
".$table_prefix."events.event_id
and
".$table_prefix."events.category_id in
(".$cats.")
and
".$table_prefix."events.category_id =
".$table_prefix."categories.category_id
and
".$table_prefix."events.group_id =
".$table_prefix."groups.group_id
and
".$table_prefix."events.group_id = ".$w."
order by
".$table_prefix."dates.date";
$query = mysql_query($q);
//echo $q."<br>";
while ($row =
mysql_fetch_row($query)) {
$edit = false;
if ($row[11] ==
$_SESSION["user_id"]) {
$edit =
true;
} elseif ($superedit)
{
$edit =
true;
}
if ($edit==true)
$ed[$row[2]]=true;
if ($superedit==true)
$ap[$row[2]]=true;
$title[$row[2]]=strip_tags($row[3]);
$niceday[$row[0]][$row[12]][$row[2]
]=$row[4];
if (($row[5] ==
"12:00 AM") && ($row[6] == "11:59 PM")) {
$start_time[$row[0]][$row[12]][$row[
2]]=$lang["all_day"];
} elseif (($row[5]
== "12:00 AM") && ($row[6] == "12:00
AM")) {
$start_time[$row[0]][$row[12]][$row[
2]]=$lang["tba"];
} else {
$start_time[$row[0]][$row[12]][$row[
2]]=$row[5];
if ($row[6])
$end_time[$row[0]][$row[12]][$row[2]]=$row
[6];
}
if ($row[7])
$venue[$row[2]]=$row[7];
if ($row[7] &&
$row[8]) $city[$row[2]]=$row[8];
if ($row[7] &&
$row[8] && $row[9])
$state[$row[2]]=$row[9];
$cat[$row[2]]=$row[10];
//echo $q."<br>";
$query =
$usr[$row[2]]=$row[11];
mysql_query($q);
$color[$row[2]]=$row[13];
if
(mysql_num_rows($query) > 0) {
$background[$row[2]]=$row[14];
while
($row = mysql_fetch_row($query)) {
$status[$row[2]]=$row[15];
$category_permissions[] = $row[0];
$send[$row[2]]=$row[16];
}
}
}
function grab($start,$end,$category) {
global $include_child_categories,
$include_parent_categories,
$category_array,$supercategory,$supergroup,$
category_permissions,$w,$table_prefix;
$canview = false;
$groupview = false;
if (!$supergroup) {
$q = "SELECT * from
".$table_prefix."users_to_groups where
group_id = ".$w." and user_id =
".$_SESSION["user_id"];
$query = mysql_query($q);
if (mysql_num_rows($query)
> 0) $groupview = true;
} else {
$groupview = true;
}
if ($groupview) {
if (!$supercategory) {
//build permission
array
$q = "SELECT
category_id from
".$table_prefix."users_to_categories where
user_id = ".$_SESSION["user_id"];
}
}
if
(in_array($category,$category_permissions))
$canview = true;
} else {
$canview = true;
}
if ($canview) {
$category_array[] =
$category;
if
($include_child_categories)
grab_child($start,$end,$category,true);
if
($include_parent_categories)
grab_parent($start,$end,$category,true);
global $table_prefix,
$category_array,$supercategory,$category_per
missions;
$canview = false;
if (!$supercategory) {
if ($category_permissions) {
if
(in_array($category,$category_permissions))
$canview = true;
}
} else {
$canview = true;
}
if ($canview) {
if (!$starter)
$category_array[] = $category;
$q = "select category_id from
".$table_prefix."categories where sub_of =
".$category;
$query = mysql_query($q);
if (!$query) $msg =
"Database Error : ".$q;
else {
while ($row =
mysql_fetch_row($query)) {
grab_child($start,$end,$row[0],false);
}
}
}
grabDates($start,$end,$category_array
);
}
}
}
}
function
grab_child($start,$end,$category,$starter=false
){
function
grab_parent($start,$end,$category,$starter=fals
e) {
global $table_prefix, $category_array,
$supercategory,$category_permissions;
$canview = false;
if (!$supercategory) {
if ($category_permissions) {
if
(in_array($category,$category_permissions))
$canview = true;
}
} else {
$canview = true;
}
if ($canview) {
if (!$starter)
$category_array[] = $category;
$q = "select sub_of from
".$table_prefix."categories where category_id =
".$category;
//echo $q."<br>";
$query = mysql_query($q);
if (!$query) $msg =
"Database Error : ".$q;
else {
while ($row =
mysql_fetch_row($query)) {
$canview = true;
if ($supergroup) {
$canview = true;
}
if ($supercategory) {
$canview = true;
}
}
}
if (!$supercategory) {
$canview = false;
$q = "select * from
".$table_prefix."users_to_categories where
category_id = ".$c." and user_id =
".$_SESSION["user_id"];
//echo $q;
$qu = mysql_query($q);
if (mysql_num_rows($qu) >
0) {
$canview = true;
} else {
$msg .=
"<p>".$lang["no_permission_to_view_categor
y"]."</p>";
$canview = false;
include "includes/start.php";
$canview = false;
//if no access, then kick them out!
if (!$superview) {
mysql_close($link);
$msg = $lang["must_log_in"];
header("Location:
login.php?msg=".$msg."&".$common_get);
}
}
}
if ((!$supergroup) && $canview) {
$q = "select * from
".$table_prefix."users_to_groups where
group_id = ".$w." and user_id =
".$_SESSION["user_id"];
//echo $q;
$qu = mysql_query($q);
if (mysql_num_rows($qu) >
0) {
}
}
$msg .=
"<p>".$lang["no_permission_to_view_group"].
"</p>";
$canview = false;
else {
grab_parent($start,$end,$row[0],false)
;
} else {
}
if (($canview == true)&& $script) {
include "modules/".$script;
} else {
include "includes/header.php";
include "includes/footer.php";
}
?>
start.php
<?
if (!file_exists("config.php"))
header("Location: install.php");
error_reporting(E_ALL & ~E_NOTICE );
include "config.php";
include "includes/session_start.php";
include $language;
$msg = $_REQUEST["msg"];
if (!$_SESSION['user_id'])
$_SESSION['user_id'] = 1;
// establish database connection
$link = mysql_connect ($h, $u, $p) or die
("Could not connect to database, try again
later");
mysql_select_db($d,$link);
//
this area to set superpermission levels
$query = mysql_query("SELECT view, post,
add_categories, add_groups, add_users, email
from ".$table_prefix."users where user_id =
".$_SESSION["user_id"]." limit 1");
$row = mysql_fetch_row($query);
$supergroup = false;
$supercategory = false;
$email = $row[5];
if ($row[4]) $supergroup = true;
if ($row[4]) $supercategory = true;
if ($row[4]) $superpost = true;
if ($row[4]) $superview = true;
if ($row[3]) $supergroup = true;
if ($row[3]) $superpost = true;
if ($row[3]) $superview = true;
if ($row[2]) $supercategory = true;
if ($row[2]) $superpost = true;
if ($row[2]) $superview = true;
if ($row[1]) $superpost = true;
if ($row[1]) $superview = true;
if ($row[0]) $superview = true;
}
if (strlen($m) == 1) $m = "0".$m;
}
}
if ((is_numeric($_REQUEST["a"]))&&
($_REQUEST["a"]!= 0)) {
$_SESSION["a"] =
$_REQUEST["a"];
$a = $_REQUEST["a"];
} elseif ($_SESSION["a"]) {
$a = $_SESSION["a"];
} else {
$a = date(d);
}
if (strlen($a) == 1) $a = "0".$a;
if ((is_numeric($_REQUEST["y"]))&&
($_REQUEST["y"]!= 0)) {
$_SESSION["y"] =
$_REQUEST["y"];
$y = $_REQUEST["y"];
} elseif ($_SESSION["y"]) {
$y = $_SESSION["y"];
} else {
$y = date(Y);
}
if ($_POST["godate"]) {
if (ereg ("([0-9]{1,2})[\/-]+([09]{1,2})[\/-]+([09]{4})",$_POST["godate"],$dater)) {
$_SESSION["m"] =
$dater[1];
$_SESSION["a"] = $dater[2];
$_SESSION["y"] =
$dater[3];
$m = $dater[1];
$a = $dater[2];
$y = $dater[3];
if ((is_numeric($_REQUEST["o"]))&&
($_REQUEST["o"]!= 0)) {
$_SESSION["o"] =
$_REQUEST["o"];
$o = $_REQUEST["o"];
} elseif ($_SESSION["o"]) {
$o = $_SESSION["o"];
} elseif ($default_module) {
$o = $default_module;
} else {
$o =
mysql_result(mysql_query("SELECT
module_id from ".$table_prefix."modules
where active = 1 order by sequence limit
1"),0,0);
}
if (!$o) {
$msg .= "<p
class=\"warning\">".$lang["no_modules_install
ed"]."</p>\n";
} else {
$q = "SELECT * from
".$table_prefix."modules where module_id =
".$o;
$query = mysql_query($q);
if (!$query) $msg = "Database Error :
".$q;
else {
$row =
mysql_fetch_array($query);
if (!$page_title) $page_title =
$row["name"];
$script = $row["script"];
$ly = $row["year"];
$lm = $row["month"];
$la = $row["day"];
$le = $row["week"];
}
}
$common_get =
"o=".$o."&c=".$c."&m=".$m."&a=".$a."&y=".
$y."&w=".$w;
?>
day_weak_function.php
<?
function showGrid($date) {
global $title, $niceday, $start_time,
$end_time, $venue, $city, $state, $cat, $color,
$background, $ed, $usr, $o, $c, $m, $a, $y, $w,
$lang,$scale,$ap,$status,$send,$day_week_star
t_hour, $day_week_end_hour;
$threshold_hour =
$day_week_start_hour ? $day_week_start_hour
: 0;
$threshold_min =
$day_week_start_hour ? 0 : 30;
$txi = ($threshold_hour * 60) +
$threshold_min;
if ($start_time[$date]) {
ksort($start_time[$date]);
$scale = 1;
$wait = 1;
while (list($t) =
each($start_time[$date])) {
//filter string
$value,$parse_start_time
while
(list($id,$value) = each($start_time[$date][$t]))
{
if (eregi
("([0-9]{1,2}):([0-9]{2})[
]?([a|p]m)",$value,$parse_start_time)) {
$parse_end_time[1] = "00";
}
if
((eregi("am",$parse_start_time[3])) &&
($parse_start_time[1] == 12))
$parse_start_time[1] = $parse_start_time[1] 12;
if
((eregi("pm",$parse_start_time[3])) &&
($parse_start_time[1] < 12))
$parse_start_time[1] = $parse_start_time[1] +
12;
$parse_end_time[2] = "30";
else {
}
$parse_end_time[1] =
$parse_start_time[1] + 1;
$event_id[]
= $id;
$sxi =
($parse_start_time[1] * 60) +
$parse_start_time[2];
if ($parse_end_time[1] == 24)
$parse_end_time[2] = "00";
$exi =
($parse_end_time[1] * 60) +
$parse_end_time[2];
if
(strlen($parse_start_time[1]) == 1)
$parse_start_time[1] =
"0".$parse_start_time[1];
if ($sxi <
}
$txi) {
$sxi = 0;
if
if
($end_time[$date][$t][$id]) {
eregi ("([0-9]{1,2}):([0-9]{2})[
]?([a|p]m)",$end_time[$date][$t][$id],$parse_e
nd_time);
$parse_start_time[1] = "00";
if ((eregi("am",$parse_end_time[3]))
&& ($parse_end_time[1] == 12))
$parse_end_time[1] = $parse_end_time[1] - 12;
$parse_end_time[1] = "24";
$exi = 30;
}
else {
$parse_start_time[2] = "00";
$exi = $exi - $txi + 30;
}
}
$parse_end_time[2] = "00";
else {
if ((eregi("pm",$parse_end_time[3]))
&& ($parse_end_time[1] < 12))
$parse_end_time[1] = $parse_end_time[1] +
12;
}
$sxi = $sxi - $txi + 30;
elseif($value == "TBA") {
$parse_start_time[1] = "00";
if (strlen($parse_end_time[1]) == 1)
$parse_end_time[1] = "0".$parse_end_time[1];
$parse_start_time[2] = "00";
$sh[] =
$exi - $sxi - 2;
$sx[] =
$sxi;
$start_fill[$r][] = $sx[$k];
$start_event[$indent][0] =
$event_id[$k];
$ex[] =
$exi;
$end_fill[$r][] = $ex[$k];
$len = $exi
- $sxi;
$event_length[$indent][0] = $v;
$start_event[$r][] = $event_id[$k];
$sta[] =
$sta_e[$indent][0] = $sta[$k];
$value;
$sta_e[$r][] = $sta[$k];
$end[] =
$end_time[$date][$t][$id];
$end_e[$r][] = $end[$k];
}
$event_length[$r][] = $v;
}
$found = true;
arsort($sh);
$start_empty[0][0] = 0;
$end_empty[0][0] = 1440;
$indent = 0;
while (list($k,$v) =
break 2;
each($sh)) {
$found = false;
reset($start_empty);
while (list($r) =
each($start_empty)) {
}
}
}
if (!$found) {
$indent++;
reset($start_empty[$r]);
while
(list($kk,$vv) = each($start_empty[$r])) {
$start_empty[$indent][0] = 0;
if
$end_empty[$indent][0] = $sx[$k];
$start_empty[$indent][1] = $ex[$k];
$end_empty[$r][] =
$end_empty[$r][$kk];
$end_empty[$indent][1] = 1440;
$end_empty[$r][$kk] = $sx[$k];
$start_fill[$indent][0] = $sx[$k];
$start_empty[$r][] = $ex[$k];
$end_fill[$indent][0] = $ex[$k];
$end_e[$indent][0] = $end[$k];
}
}
$columns = $indent+1;;
$per = 100 / $columns;
$wide =
number_format($per,0);
$notsowide = $wide-1;
reset($start_fill);
while (list($r) =
each($start_fill)) {
while (list($k,$v) =
each($start_fill[$r])) {
$v =
$v+30;
$left =
$wide * $r;
// wrap fix
from Vepr
echo "<div
class=\"wrap\"><div class=\"date\" style=\"";
echo
"height: ".$event_length[$r][$k]."px; top:
".$v."px; width: ".$notsowide."%;
left:".$left."%;";
//background category propose
if
($color[$start_event[$r][$k]]) echo "color:
".$color[$start_event[$r][$k]]."; background:
".$background[$start_event[$r][$k]].";";
//tampilan
border propose
echo
"</span>\n";
if
(($status[$start_event[$r][$k]] == 2) ||
($status[$start_event[$r][$k]] == 3))
echo "
filter:alpha(opacity=80); opacity:.80; -mozopacity:.80; zoom: 1; border: 1px dashed
".$color[$start_event[$r][$k]].";";
echo "\">
//tampilan
border setelah approve
if
($ed[$start_event[$r][$k]]==true) {
echo
" &
nbsp; <span class=\"edit\">";
<div
class=\"inner\">";
if
echo "<div
class=\"title\"><a
href=\"show_event.php?id=".$start_event[$r][$
k]."&o=".$o."&c=".$c."&m=".$m."&a=".$a."
&y=".$y."&w=".$w."\"
onClick=\"openPic('show_event.php?id=".$star
t_event[$r][$k].$status2[$start_event[$r][$k]]."
&size=small','pop','600','400');
window.newWindow.focus(); return false\"";
//background category
if
($color[$start_event[$r][$k]])
echo "
style=\"color: ".$color[$start_event[$r][$k]].";
background:
".$background[$start_event[$r][$k]].";\"";
echo
">".$title[$start_event[$r][$k]]."</a>
</div>\n";
echo
"<span class=\"time\">".$sta_e[$r][$k];
if
($end_e[$r][$k]) echo " - ".$end_e[$r][$k];
elseif
(($ap[$start_event[$r][$k]]==true) &&
($send[$start_event[$r][$k]] == 6)) {
(($ap[$start_event[$r][$k]]==true) &&
(($status[$start_event[$r][$k]] == 2) ||
($status[$start_event[$r][$k]] == 3))) {
echo "<img src='./images/Insert
Record.gif' /> <a
href=\"admin_actions.php?id=".$start_event[$r
][$k]."&o=".$o."&c=".$c."&m=".$m."&a=".$a
."&y=".$y."&w=".$w."&mode=".approve."\">"
.$lang["approve"]."</a>
";
}
if
(($ap[$start_event[$r][$k]]==true) &&
($send[$start_event[$r][$k]] == 1)) {
echo "<img src='./images/massage.gif'
/> <a
href=\"send.php?id=".$start_event[$r][$k]."&o
=".$o."&c=".$c."&m=".$m."&a=".$a."&y=".$y
."&w=".$w."\"
onClick=\"openPic('send.php?id=".$start_event
[$r][$k]."&size=small','pop','650','600');
window.newWindow.focus(); return
false\">".$lang["send massage to
member"]."</a> &
nbsp; ";
echo "<img
src='./images/massage.GIF' /> <a
href=\"send.php?id=".$start_event[$r][$k]."&o
=".$o."&c=".$c."&m=".$m."&a=".$a."&y=".$y
."&w=".$w."\"
onClick=\"openPic('view_link.php?id=".$start_
event[$r][$k]."&size=small','pop','650','600');
window.newWindow.focus(); return
false\">".$lang["view_link"]."</a> &nbs
p; ";
}
echo "<img
src='./images/ctxwiz_cls.gif' /> <a
href=\"edit_event.php?id=".$start_event[$r][$k
]."&o=".$o."&c=".$c."&m=".$m."&a=".$a."&
y=".$y."&w=".$w."\"
onClick=\"openPic('edit_event.php?id=".$start
_event[$r][$k]."&size=small','pop','650','600');
window.newWindow.focus(); return
false\">".$lang["edit"].
"</a> &n
bsp; <img src='./images/DELETE.gif'
/> <a
href=\"delete_event.php?id=".$start_event[$r][
$k]."&o=".$o."&c=".$c."&m=".$m."&a=".$a."
&y=".$y."&w=".$w."\">".$lang["delete"]."</a
></span>\n";
}
echo
$h = $i;
$ap = "am";
"</div></div></div>\n";
}
}
}
}
function showHours() {
global $day_week_start_hour,
$day_week_end_hour;
// build day
echo "<td class=\"timex\"><table
class=\"day\"><tr><td width=\"100%\"><div
class=\"time_frame\">\n";
echo "<div
class=\"cell_top\">Time</div>\n";
echo "<div class=\"cell\">12:00 am
".$day_week_start_min."</div>\n";
$i = $day_week_start_hour ?
$day_week_start_hour : 0;
$j = $day_week_start_hour ? 0 : 30;
$max = $day_week_end_hour ?
$day_week_end_hour : 24;
while ($i < $max) {
if ($j < 10) {
$j = "0".$j;
}
if ($i == 0) {
$h = 12;
$ap = "am";
} elseif ($i == 12) {
$h = $i;
$ap = "pm";
} elseif ($i > 12) {
$h = $i - 12;
$ap = "pm";
} else {
}
echo "<div
class=\"cell\">".$h.":".$j." ".$ap."</div>\n";
$j = $j+30;
if ($j >= 60) {
$j = "0";
$i++;
}
}
echo
"</div></td></tr></table></td>";
}
function showDay($dy,$dm,$da,$caption="") {
global $la, $w, $c,
$day_week_start_hour, $day_week_end_hour;
// build day
echo "<div
class=\"single_day_frame\">";
echo "<div class=\"cell_top\">";
if($caption) echo $caption;
else {
echo '<a
href="index.php?o=',$la,'&w=',$w,'&c=',$c,'&
m=',$dm,'&a=',$da,'&y=',$dy,'">';
echo date('l, F j',
mktime(0,0,0,$dm,$da,$dy));
echo '</a>';
}
echo "</div>";
echo "<div class=\"cell\"
id=\"0:00:".$dm."/".$da."/".$dy."\"></div>\n";
$i = $day_week_start_hour ?
$day_week_start_hour : 0;
$j = $day_week_start_hour ? 0 : 30;
$max = $day_week_end_hour ?
$day_week_end_hour : 24;
$sdate = $dy.$dm.$da;
echo "<div id=\"dates\">\n";
showGrid($sdate);
echo "</div>";
echo "</div>";
if ($superpost) {
$javascript = '<script type="text/javascript">
function getElementsByClassName(oElm,
strTagName, strClassName){
var arrElements = (strTagName ==
"*" && oElm.all)? oElm.all :
oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName =
strClassName.replace(/-/g, "\-");
var oRegExp = new RegExp("(^|\s)" +
strClassName + "(\s|$)");
var oElement;
for(var i=0; i<arrElements.length;
i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)
){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
var start;
var end;
var flagged = Array();
window.onload = function () {
var x = getElementsByClassName(document,
"div", "cell")
for (var i=0;i<x.length;i++) {
//x[i].onmousedown = function ()
{this.style.backgroundColor="#cccccc"}
x[i].onmousedown = startup
x[i].onmouseout = flag
x[i].onmouseover = whatadrag
x[i].onmouseup = endup
//x[i].onmouseout = function ()
{this.style.backgroundColor="#ffffff"}
//x[i].onclick = function ()
{this.innerHTML = this.id}
//x[i].onclick = click
}
/*
var x = getElementsByClassName(document,
"div", "date")
for (var i=0;i<x.length;i++) {
x[i].onmouseout = contract
x[i].onmouseover = expand
}
function expand () {
this.oldheight = this.style.height
this.style.height ="auto"
this.style.zIndex = 2
}
function contract () {
this.style.height = this.oldheight
this.style.zIndex = 1
}
*/
}
function startup () {
start = this.id
end = this.id
this.style.backgroundColor="#cccccc"
}
function flag() {
var next = Math.abs(start - end)
var cur = Math.abs(start - this.id)
}
function whatadrag() {
if (start) {
this.style.backgroundColor="#cccccc"
var cur = Math.abs(start this.id)
var next = Math.abs(start end)
if (cur < next) {
document.getElementById(end).style.
backgroundColor="#ffffff";
}
end = this.id;
}
}
function getdatestring(i,j) {
var h
var ap
if (i == 0) {
h = 12;
ap = "am";
} else if (i == 12) {
h = i;
ap = "pm";
} else if (i > 12) {
h = i - 12;
ap = "pm";
} else {
h = i;
ap = "am";
}
if (j < 30) j = "00";
var stringy = h + ":" + j + " " + ap;
return(stringy);
}
function endup() {
end = this.id
if (start.substring(2,3) == ":") {
var i = start.substring(0,2)
var j = start.substring(3,5)
var ddate = start.substring(6)
} else {
var i = start.substring(0,1)
var j = start.substring(2,4)
var ddate = start.substring(5)
}
j = parseInt(j);
i = parseInt(i);
var sstart = getdatestring(i,j);
if (end.substring(2,3) == ":") {
var i = end.substring(0,2)
var j = end.substring(3,5)
} else {
var i = end.substring(0,1)
var j = end.substring(2,4)
}
j = parseInt(j);
i = parseInt(i);
j = j + 30;
if (j == 60) {
j = "00";
i++;
}
var eend = getdatestring(i,j);
var adfield =
"add_event.php?size=small&next_date=" +
ddate + "&next_start=" + sstart +
"&next_end=" + eend;
x=openPic(adfield,"pop","650","600")
x.focus();
start = null;
end = null;
flagged = Array()
var x =
getElementsByClassName(document, "div",
"cell")
for (var i=0;i<x.length;i++) {
x[i].style.backgroundColor="#ffffff"
//x[i].blur()
}
}
</script>';
}
?>
day.php
<?php
include "modules/day_week_functions.php";
include "includes/header.php";
?>
<?php
$thisday = $y."-".$m."-".$a;
$nextday = $next["day"]["y"]."".$next["day"]["m"]."-".$next["day"]["a"];
grab($thisday,$nextday,$c);
echo "<div class=\"frame\">\n";
echo '<div class="cal_top"><a
href="',$PHP_SELF,'?o=',$o,'&w=',$w,'&c=',$
c,'&m=',$prev["day"]["m"],'&a=',$prev["day"][
"a"],'&y=',$prev["day"]["y"],'">
testpopup5.hidePopup();
}
function null_out(t,i) {
if ((t.value == "all") || (t.value ==
"tba")){
eval("t.form.start_time_" + i
+".disabled=true");
eval("t.form.end_time_" + i
+".disabled=true");
eval("t.form.start_time_" + i
+".value=\'12:00 am\'");
if (t.value == "all") {
eval("t.form.end_time_" + i
+".value=\'11:59 pm\'");
} else {
eval("t.form.end_time_" + i
+".value=\'12:00 am\'");
}
eval("turn_off(\'anchor_time_start_" +
i +"\')");
eval("turn_off(\'anchor_time_end_" +
i +"\')");
} else {
eval("t.form.start_time_" + i
+".disabled=false");
eval("t.form.end_time_" + i
+".disabled=false");
eval("turn_on(\'anchor_time_start_" +
i +"\')");
eval("turn_on(\'anchor_time_end_" + i
+"\')");
}
}
function turn_on(whichLayer) {
if (document.getElementById) {
// this is the way the
standards work
var style2 =
document.getElementById(whichLayer).style;
style2.visibility = "visible";
} else if (document.all) {
// this is the way old msie
versions work
var style2 =
document.all[whichLayer].style;
style2.visibility = "visible";
} else if (document.layers) {
// this is the way nn4 works
var style2 =
document.layers[whichLayer].style;
style2.visibility = "show";
}
}
function turn_off(whichLayer) {
if (document.getElementById) {
// this is the way the
standards work
var style2 =
document.getElementById(whichLayer).style;
style2.visibility = "hidden";
} else if (document.all) {
// this is the way old msie
versions work
var style2 =
document.all[whichLayer].style;
style2.visibility = "hidden";
} else if (document.layers) {
// this is the way nn4 works
var style2 =
document.layers[whichLayer].style;
style2.visibility = "hide";
}
}
</script>';
include "includes/start.php";
$page_title = $lang["title_add_event"];
function category_tree($category_id) {
global $table_prefix, $indent,
$supercategory, $scategory;
$q = "SELECT category_id, name
from ".$table_prefix."categories where sub_of
= ".$category_id." order by name";
$query = mysql_query($q);
if (!$query) echo "Database Error :
".$q;
else {
while
($row=mysql_fetch_row($query)) {
$mod = 0;
if (!$supercategory)
{
$q = "select
moderate from
".$table_prefix."users_to_categories where
category_id = ".$row[0]." and user_id =
".$_SESSION["user_id"];
$qu =
mysql_query($q);
if
(mysql_num_rows($qu) > 0) $mod =
mysql_result($qu,0,0);
}
else {
$mod = 3;
}
if ($mod > 0) {
echo
"<option value=\"".$row[0]."\"";
if($mod <=
2) echo " disabled";
if
($scategory == $row[0]) echo " SELECTED";
echo
">".$indent.$row[1]."</option>\n";
}
$indent .= "__";
category_tree($row[0]);
$indent =
substr($indent, 2);
}
}
}
function group_tree($group_id) {
global $table_prefix, $indent,
$supergroup, $sgroup;
$q = "SELECT group_id, name from
".$table_prefix."groups where sub_of =
".$group_id." order by name";
$query = mysql_query($q);
if (!$query) echo "Database Error :
".$q;
else {
while
($row=mysql_fetch_row($query)) {
$mod = 0;
if (!$supergroup) {
$q = "select
moderate from
".$table_prefix."users_to_groups where
$indent .= "__";
group_tree($row[0]);
$indent =
substr($indent, 2);
}
echo "<p
class=\"warning\">".$lang["not_authorized_ev
ents"]."</p>\n";
}
else {
if ($_POST["mode"]
== $lang["add_event"]) {
if(get_magic_quotes_gpc()) {
$title =
mysql_real_escape_string(stripslashes($_POST
["title"]));
$description =
mysql_real_escape_string(stripslashes($_POST
["description"]));
$category_id =
mysql_real_escape_string(stripslashes($_POST
["category"]));
$group_id =
mysql_real_escape_string(stripslashes($_POST
["group"]));
$propose =
mysql_real_escape_string(stripslashes($_POST
["propose"]));
}
}
}
if (!$superview) {
header("Location:
".$path."login.php?return_to=".$PHP_SELF);
}
elseif (!$superpost) {
include
"includes/header.php";
else {
$title =
mysql_real_escape_string($_POST["title"]);
$description =
mysql_real_escape_string($_POST["descriptio
n"]);
$category_id =
mysql_real_escape_string($_POST["category"]
);
$group_id =
mysql_real_escape_string($_POST["group"]);
else {
$propose =
mysql_real_escape_string($_POST["propose"])
;
}
if
if
($propose == "propose") $status_id = 2;
else
$status_id = 1;
header("Location:
".$path."add_event.php?msg=".$lang["not_auth
orized_events_group"]."&size=".$_REQUEST[
"size"]);
}
if ($group_id) {
$gmod =
mysql_result(mysql_query($q),0,0);
$send_id =
1; //sending massage to member
$q =
"INSERT into ".$table_prefix."events (title,
category_id, description, user_id, group_id,
status_id, send_id, quick_approve) values
('".$title."', ".$category_id.", '".$description."',
".$_SESSION["user_id"].", ".$group_id.",
".$status_id.", ".$send_id.", '".$sauce."')";
(!$supergroup) {
$sauce =
md5(time());
if
$query =
(!$supercategory) {
mysql_query($q);
$q
= "select moderate from
".$table_prefix."users_to_categories where
category_id = ".$category_id." and user_id =
".$_SESSION["user_id"];
$event_id =
mysql_insert_id();
if (!$query)
$msg .= "Database Error : ".$q;
else {
if ($gmod < 2) {
header("Location:
".$path."add_event.php?msg=".$lang["not_auth
orized_events_group"]."&size=".$_REQUEST[
"size"]);
}
else {
if ($gmod == 2)
$propose = "propose";
}
$j
$mod =
mysql_result(mysql_query($q),0,0);
= 0;
while ($_POST["date_".$j]) {
if
($mod < 2) {
header("Location:
".$path."add_event.php?msg=".$lang["not_auth
orized_events_category"]."&size=".$_REQUE
ST["size"]);
}
}
if (!$_POST["delete_".$j]) {
if ($_POST["all_day_".$j] ==
"all") {
$_POST["start_time_".$j] = "12:00
am";
$_POST["end_time_".$j] = "11:59
pm";
}
if ((eregi("pm",$start_time[3])) &&
($start_time[1] < 12)) $start_time[1] =
$start_time[1] + 12;
}
else if
($_POST["all_day_".$j] == "tba") {
$_POST["start_time_".$j] = "12:00
am";
else {
if
(($_POST["end_time_".$j])&&(!eregi ("([09]{1,2}):([0-9]{2})[
]?([a|p]m)",$_POST["end_time_".$j],$end_tim
e))) {
$_POST["end_time_".$j] = "12:00
am";
if ((eregi("pm",$end_time[3])) &&
($end_time[1] < 12)) $end_time[1] =
$end_time[1] + 12;
if (strlen($start_time[1]) == 1)
$start_time[1] = "0".$start_time[1];
if (!ereg ("([0-9]{1,2})[\/-]+([09]{1,2})[\/-]+([09]{4})",$_POST["date_".$j],$date)) {
if (strlen($end_time[1]) == 1)
$end_time[1] = "0".$end_time[1];
else {
$msg2 .= "Bad Date
: ".$_POST["date_".$j];
if (strlen($date[1]) == 1) $date[1] =
"0".$date[1];
if (strlen($date[2]) == 1) $date[2] =
"0".$date[2];
else {
if (!eregi ("([09]{1,2}):([0-9]{2})[
]?([a|p]m)",$_POST["start_time_".$j],$start_ti
me)) {
$msg2 .=
"Bad Start Time : ".$_POST["start_time_".$j];
if ((eregi("am",$start_time[3])) &&
($start_time[1] == 12)) $start_time[1] =
$start_time[1] - 12;
if ((eregi("am",$end_time[3])) &&
($end_time[1] == 12)) $end_time[1] =
$end_time[1] - 12;
if ($_POST["end_time_".$j]) {
$end_date = $date[3]."".$date[1]."-".$date[2]."
".$end_time[1].":".$end_time[2];
$_POST["end_time_add"] = "12:00
if
(($end_time[1].$end_time[2]) >=
($start_time[1].$start_time[2])) {
$q = "INSERT into
".$table_prefix."dates (event_id, date,
end_date) values (".$event_id.",
'".$start_date."', '".$end_date."')";
am";
$query =
}
if
(!ereg ("([0-9]{1,2})[\/-]+([0-9]{1,2})[\/-]+([09]{4})",$_POST["date_add"],$date)) {
if (!$query)
mysql_query($q);
}
}
else {
}
}
else {
if (!eregi ("([0-9]{1,2}):([0-9]{2})[
]?([a|p]m)",$_POST["start_time_add"],$start_ti
me)) {
}
}
$q = "INSERT into
".$table_prefix."dates (event_id, date) values
(".$event_id.", '".$start_date."')";
$j++;
}
}
if
else {
($_POST["date_add"]) {
if
($_POST["all_day_add"] == "all") {
}
$_POST["start_time_add"] = "12:00
am";
$_POST["end_time_add"] = "11:59
if
(($_POST["end_time_add"])&&(!eregi ("([09]{1,2}):([0-9]{2})[
]?([a|p]m)",$_POST["end_time_add"],$end_ti
me))) {
$msg2 .= "Bad End
Time : ".$_POST["end_time_add"];
pm";
}
else {
}
else if ($_POST["all_day_add"] ==
"tba") {
$q = "INSERT into
".$table_prefix."dates (event_id, date) values
(".$event_id.", '".$start_date."')";
$_POST["start_time_add"] = "12:00
am";
else {
if (strlen($date[1]) == 1)
$date[1] = "0".$date[1];
if (strlen($date[2]) == 1)
$date[2] = "0".$date[2];
$q
events
$juno = 0;
$r = $_POST["recurring"];
if
((eregi("am",$start_time[3])) &&
($start_time[1] == 12)) $start_time[1] =
$start_time[1] - 12;
if
((eregi("am",$end_time[3])) && ($end_time[1]
== 12)) $end_time[1] = $end_time[1] - 12;
}
if (!$r) $r = 0;
}
$int = $_POST["interval"];
else {
if
((eregi("pm",$start_time[3])) &&
($start_time[1] < 12)) $start_time[1] =
$start_time[1] + 12;
($_POST["end_time_add"]) {
if
((eregi("pm",$end_time[3])) && ($end_time[1]
< 12)) $end_time[1] = $end_time[1] + 12;
$end_date
= $date[3]."-".$date[1]."-".$date[2]."
".$end_time[1].":".$end_time[2];
if (strlen($start_time[1]) ==
1) $start_time[1] = "0".$start_time[1];
if (strlen($end_time[1]) == 1)
$end_time[1] = "0".$end_time[1];
$start_date = $date[3]."".$date[1]."-".$date[2]."
".$start_time[1].":".$start_time[2];
$q =
"INSERT into ".$table_prefix."dates (event_id,
date) values (".$event_id.",
DATE_ADD('".$start_date."', INTERVAL
".$next." DAY))";
}
if
(($end_time[1].$end_time[2]) >=
($start_time[1].$start_time[2])) {
$query =
mysql_query($q);
$q
= "INSERT into ".$table_prefix."dates
(event_id, date, end_date) values
(".$event_id.", DATE_ADD('".$start_date."',
INTERVAL ".$next." DAY),
DATE_ADD('".$end_date."', INTERVAL
".$next." DAY))";
if (!$query) $msg2
.= "Database Error : ".$q;
$juno++;
}
}
}
}
else {
<?php
category_tree(0); ?>
if($msg2){
</select>
$query =
</td>
mysql_query("DELETE from
".$table_prefix."events where event_id =
".$event_id);
$javascript
.= "\n<script language=\"JavaScript\"
type=\"text/javascript\">
<!--\n
alert('$msg2 Please Try Again');\n
// ->\n</script>\n";
}
else{
$msg =
$lang["add_event"];
}
}
}
include "includes/header.php";
$scategory = $_POST["category"] ?
$_POST["category"] : $c;
$sgroup = $_POST["group"] ?
$_POST["group"] : $w;
?>
<form action="add_event.php" id="event"
name="event" method="post">
<?php include "includes/hidden_fields.php"; ?>
<table>
</tr>
<tr>
<td><?php echo
$lang["title"];?>:</td>
<td>:</td>
<td><input type="text"
name="title" id="title" value="<?php echo
$_POST["title"]; ?>" size="40"></td>
</tr>
<tr>
<td><?php echo
$lang["group"];?>:</td>
<td>:</td>
<td>
<select
name="group" id="group">
<?php
group_tree(0); ?>
</select>
<select
name="propose" id="propose"><option
value="post"<? if ($_POST["propose"] ==
"post") echo " selected"; ?>><?php echo
$lang["post"];?></option><option
value="propose"<? if ($_POST["propose"] ==
"propose") echo " selected"; ?>><?php echo
$lang["propose"];?></option></select>
</td>
</tr>
<tr>
<td><?php echo
$lang["category"];?>:</td>
<td>:</td>
<td>
<select
name="category" id="category">
</table>
<table>
<tr>
<th><?php echo
$lang["delete?"];?></th>
<th><?php echo
$lang["date"];?></th><th><?php echo
$lang["all_day"];?> / <?php echo
$lang["tba"];?> / <?php echo
$lang["enter_time"];?></th><th><?php echo
$lang["start_time"];?></th>
<th><?php echo
$lang["end_time"];?></th>
</tr>
<?php
$i = 0;
$j = 0;
while ($_REQUEST["date_".$j]) {
if (!$_REQUEST["delete_".$j]) {
$disabled = "";
$hidden = "";
$checked= "";
$checked_tba= "";
$checked_enter= " checked";
if
($_REQUEST["all_day_".$j] == "all") {
$_REQUEST["start_time_".$j] =
"12:00 am";
$disabled = "
$_REQUEST["end_time_".$j] =
"11:59 pm";
$disabled = "
disabled";
$hidden = "
style=\"visibility: hidden;\"";
$checked= "
checked";
$checked_enter= "";
} elseif
(($_REQUEST["start_time_".$j] == "12:00
am") && ($_REQUEST["end_time_".$j] ==
"11:59 pm")) {
$disabled = "
disabled";
$hidden = "
style=\"visibility: hidden;\"";
$checked= "
checked";
$checked_enter= "";
} elseif
($_REQUEST["all_day_".$j] == "tba") {
$_POST["start_time_".$j] = "12:00
am";
$_POST["end_time_".$j] = "12:00
am";
$disabled = "
disabled";
$hidden = "
style=\"visibility: hidden;\"";
$checked_tba = "
checked";
$checked_enter= "";
} elseif
(($_REQUEST["start_time_".$j] == "12:00
am") && ($_REQUEST["end_time_".$j] ==
"12:00 am")) {
disabled";
$hidden = "
style=\"visibility: hidden;\"";
$checked_tba= "
checked";
$checked_enter= "";
}
?>
<tr>
<td><input type="checkbox"
name="delete_<?php echo $i; ?>"
id="delete_<?php echo $i; ?>" value="yes"
/></td>
<td><input type="text"
name="date_<?php echo $i; ?>"
id="date_<?php echo $i; ?>" value="<?php
echo $_REQUEST["date_".$j]; ?>"size="10">
<a href="#"
onclick="cal.select(document.event.date_<?ph
p echo $i; ?>,this.name,'MM/dd/yyyy'); return
false;" NAME="anchor_date_<?php echo $i;
?>" ID="anchor_date_<?php echo $i;
?>"><img src="images/calendar.png"
border="0" /></a></td>
<td><input type="radio"
onClick="null_out(this,<?php echo $i; ?>);"
name="all_day_<?php echo $i; ?>"
id="all_day_<?php echo $i; ?>"
value="all"<?php echo $checked; ?>/> / <input
type="radio" onClick="null_out(this,<?php
echo $i; ?>);" name="all_day_<?php echo $i;
?>" id="all_day_<?php echo $i; ?>"
value="tba"<?php echo $checked_tba; ?>/> /
<input type="radio"
onClick="null_out(this,<?php echo $i; ?>);"
name="all_day_<?php echo $i; ?>"
id="all_day_<?php echo $i; ?>" value=""<?php
echo $checked_enter; ?>/></td>
<td><input type="text"
name="start_time_<?php echo $i; ?>"
id="start_time_<?php echo $i; ?>"
value="<?php echo
$_REQUEST["start_time_".$j]; ?>"
size="10"<?php echo $disabled; ?>/> <a
href="#"
onclick="test5popupactivate(document.event.st
art_time_<?php echo $i; ?>,this.name);return
false;" NAME="anchor_time_start_<?php echo
$i; ?>" ID="anchor_time_start_<?php echo $i;
?>"<?php echo $hidden; ?>><img
src="images/time.png" border="0" /></a></td>
<td><input type="text"
name="end_time_<?php echo $i; ?>"
id="end_time_<?php echo $i; ?>"
value="<?php echo
$_REQUEST["end_time_".$j]; ?>"
size="10"<?php echo $disabled; ?>/> <a
href="#"
onclick="test5popupactivate(document.event.e
nd_time_0,this.name);return false;"
NAME="anchor_time_end_<?php echo $i; ?>"
ID="anchor_time_end_<?php echo $i;
?>"<?php echo $hidden; ?>><img
src="images/time.png" border="0" /></a></td>
</tr>
<?php
$i++;
}
$j++;
}
if ($_POST["date_add"]) {
$disabled = "";
$hidden = "";
$checked= "";
$checked_tba= "";
ereg ("([0-9]{1,2})[\/-]+([09]{1,2})[\/-]+([09]{4})",$_POST["date_add"],$date);
$juno = 0;
$r = $_POST["recurring"];
if (!$r) $r = 0;
$int = $_POST["interval"];
while ($juno <= $r) {
$next = $juno * $int;
$show_date = date( "m/d/Y",
mktime( 0, 0, 0, $date[1], $date[2]+$next,
$date[3] ) );
?>
<tr>
<td><input type="checkbox"
name="delete_<?php echo $i; ?>"
id="delete_<?php echo $i; ?>" value="yes"
/></td>
<td><input type="text"
name="date_<?php echo $i; ?>"
id="date_<?php echo $i; ?>" value="<?php
echo $show_date; ?>"size="10"> <a href="#"
onclick="cal.select(document.event.date_<?ph
p echo $i; ?>,this.name,'MM/dd/yyyy'); return
false;" NAME="anchor_date_<?php echo $i;
?>" ID="anchor_date_<?php echo $i;
?>"><img src="images/calendar.png"
border="0" /></a></td>
<td><input type="radio"
onClick="null_out(this,<?php echo $i; ?>);"
name="all_day_<?php echo $i; ?>"
id="all_day_<?php echo $i; ?>"
value="all"<?php echo $checked; ?>/> / <input
type="radio" onClick="null_out(this,<?php
echo $i; ?>);" name="all_day_<?php echo $i;
?>" id="all_day_<?php echo $i; ?>"
value="tba"<?php echo $checked_tba; ?>/> /
<input type="radio"
onClick="null_out(this,<?php echo $i; ?>);"
name="all_day_<?php echo $i; ?>"
<?php
$juno++;
$i++;
}
}
?>
<tr>
<td><?php echo
$lang["add"];?> =>></td>
<td>
<input type="text"
name="date_add" id="date_add" value="<?php
echo $_REQUEST["next_date"]; ?>"
size="10"> <a href="#"
onclick="cal.select(document.event.date_add,th
is.name,'MM/dd/yyyy'); return false;"
NAME="anchor_date_add"
ID="anchor_date_add"><img
src="images/calendar.png" border="add"
/></a></td>
<td><input type="radio"
onClick="null_out(this,'add');"
name="all_day_add" id="all_day_add"
value="all" /> / <input type="radio"
onClick="null_out(this,'add');"
name="all_day_add" id="all_day_add"
value="tba" /> / <input type="radio"
onClick="null_out(this,'add');"
name="all_day_add" id="all_day_add"
value="" checked /></td>
<td><input type="text" name="start_time_add"
id="start_time_add" value="<?php echo
$_REQUEST["next_start"]; ?>" size="10"> <a
href="#"
onclick="test5popupactivate(document.event.st
art_time_add,this.name);return false;"
NAME="anchor_time_start_add"
ID="anchor_time_start_add""><img
src="images/time.png" border="add" /></a>
</td>
<td><input type="text"
name="end_time_add" id="end_time_add"
value="<?php echo $_REQUEST["next_end"];
?>" size="10"> <a href="#"
onclick="test5popupactivate(document.event.e
nd_time_add,this.name);return false;"
NAME="anchor_time_end_add"
ID="anchor_time_end_add""><img
src="images/time.png" border="add" /></a>
</td>
</tr>
<tr>
<td colspan="4"><?php echo
$lang["recurring"];?> <input type="text"
name="recurring" size="3"> X <select
name="interval"><option
value="1">1</option><option
value="7">7</option></select> <?php echo
$lang["days"];?></td>
</tr>
</table>
<div id="timelayer"
STYLE="position:absolute;visibility:hidden;ba
ckground-color:white;layer-backgroundcolor:white;top:0px;z-index: 1;">
<form id="time" name="time">
<select id="hour" size="18"
onChange="testpopup5pick(this.options[this.se
lectedIndex].value);">
<option value="12:00 am"
class="midnight">Midnight</option>
<option value="01:00 am"
class="evening">01:00 am</option>
<option value="02:00 am"
class="evening">02:00 am</option>
<option value="03:00 am"
class="evening">03:00 am</option>
<option value="04:00 am"
class="evening">04:00 am</option>
<option value="05:00 am"
class="evening">05:00 am</option>
<option value="06:00 am"
class="morning">06:00 am</option>
<option value="07:00 am"
class="morning">07:00 am</option>
<option value="07:30 am"
class="morning">07:30 am</option>
1. XAMPP-WIN32
versi xampp-win32 yang penulis
gunakan
adalah
versi
1.6.4
MySql,
FileZilla,
dan
server
mercury.
Sehingga
2. Gammu-win32
Gammu digunakan untuk melakukan pengiriman sms dengan
inputan melalui computer. Gammu bukanlah suatu aplikasi jadi. Tapi
merupakan suatu module yang dapat digabungkan dengan bahasa
pemrograman apa saja.
Kelebihan Gammu dari tool sms gateway lainnya adalah :
1. Gammu bisa di jalankan di Windows maupun Linux
2. Banyak device yang kompatibel oleh gammu
3. Gammu menggunakan database MySql
4. Baik kabel data USB maupun SERIAL, semuanya kompatibel
di Gammu
Penulis mencoba menggunakan Gammu dengan Handphone
Nokia 6630 menggunakan kabel data USB. Perangkat keras yang
digunakan untuk menggunakan Gammu :
1. Gammu for windows, download di
http://dl.cihar.com/MIRROR/gammu
2. HP atau Modem GSM + Kabel Data (penulis menggunakan
Nokia 6630)
3. Driver HP/Modem
Setelah mendapatkan file gammu_win32, ekstrak semua file
kedalam c:\gammu. Buka file gammurc, edit file menggunkan
software editor. Ubah port=com.. sesuai nama port yang digunakan
Peserta :
No.
1 . Admin PUSKOM
No. Modul
Prasyarat
1.
Login sebagai
admin
Tambah User
Edit User
Login sebagai
ada dalam
database
3.
Hapus User
Login sebagai
ada dalam
database
4.
5.
Melihat User
Update Module
Login sebagai
melihat/view
ada dalam
database
Login sebagai
admin, data
tersedia
Hasil Uji
Coba
dalam database
6.
Hapus Module
Login sebagai
admin
7.
8.
Hapus Groups
admin
Login sebagai
ada dalam
database
9.
Edit Groups
Login sebagai
ada dalam
database
10.
Melihat Groups
Login sebagai
data groups
ada dalam
database
11.
12.
Tambah
Login sebagai
Categories
admin
Categories
Edit Categories
Login sebagai
ada dalam
database
13.
Hapus
Login sebagai
Categories
ada dalam
database
14.
Melihat
Login sebagai
Categories
data Categories
ada dalam
database
15.
16.
Tambah
Login sebagai
Member
admin
Edit Member
Login sebagai
ada dalam
database
17.
Hapus Member
Login sebagai
ada dalam
database
18.
Melihat
Login sebagai
Member
data Member
ada dalam
database
19.
20.
Tambah Event
Edit Event
Login sebagai
admin
Login sebagai
ada dalam
database, dan
sesuai konfigurasi
user
21.
Hapus Event
Login sebagai
ada dalam
database, dan
sesuai konfigurasi
user
22.
Send Message
Login sebagai
admin, data
dalam database,
tersedia
dan sesuai
konfigurasi user
23.
Hapus Data
Login sebagai
Sending
admin, data
dalam database,
tersedia
dan sesuai
konfigurasi user
24.
Melihat Data
Login sebagai
Send
admin, data
dalam database,
dan sesuai
konfigurasi user
ACCEPTANCE TESTING
Pengujian Penerimaan Sistem
Jabatan
1.
2.
Menurut anda bila dilihat dari segi pemilihan warna Layout, jenis, maupun
ukuran Font, bagaimana tampilan sistem ini secara keseluruhan?
a. Bagus
b. Cukup bagus, karena ..............................................................................
..................... .........................................................................................
c. Kurang bagus, karena .............................................................................
..................... .........................................................................................
3.
4.
Menurut anda, apakah sistem ini telah cukup baik dalam menjawab
permasalahan yang ada khususnya mengenai Manajemen Penjadwalan Kegiatan
Akademik?
a. Baik
b. Cukup baik, karena ................................................................................
.............................. ................................................................................
c. Kurang baik, karena ...............................................................................
.............................. ................................................................................
5.
6.
Menurut anda, apakah sistem ini bila dikembangkan akan lebih membantu anda?
a. Sangat membantu
b. Kurang membantu, karena .....................................................................
....................... .......................................................................................
c. Tidak membantu, karena ........................................................................
....................... .......................................................................................
Keterangan Penilaian:
Sangat Baik : 80-100
Baik
: 70-80
Cukup
: 60-70
Buruk
: 50-60
Peserta :
No.
2. Admin Pusat
No. Modul
Prasyarat
1.
Melihat Profil
Hasil yang
Hasil Uji
Diharapkan
Coba
2.
Tambah
Groups
3.
Hapus Groups
database
4.
Edit Groups
database
5.
Melihat
Groups
database
6.
Tambah
Categories
7.
Edit
Admin Pusat
menambah Categories
Categories
8.
9.
mengubah data
database
Categories
Hapus
Categories
menghapus data
database
Categories
Melihat
Categories
database
10.
Tambah
Member
11.
Edit Member
database
12.
13.
Hapus
Member
menghapus data
database
Member
Melihat
Member
database
14.
Tambah Event
15.
Edit Event
Kegiatan
konfigurasi user
16.
Hapus Event
Kegiatan
konfigurasi user
17.
Send Message
18.
19.
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Hapus Data
Sending
pengiriman pengingat
sesuai konfigurasi
user
tersedia
Melihat Data
Send
sesuai konfigurasi
yang tersedia
user
ACCEPTANCE TESTING
Pengujian Penerimaan Sistem
Jabatan
1.
2.
Menurut anda bila dilihat dari segi pemilihan warna Layout, jenis, maupun
ukuran Font, bagaimana tampilan sistem ini secara keseluruhan?
a. Bagus
b. Cukup bagus, karena ..............................................................................
..................... .........................................................................................
c. Kurang bagus, karena .............................................................................
..................... .........................................................................................
3.
4.
Menurut anda, apakah sistem ini telah cukup baik dalam menjawab
permasalahan yang ada khususnya mengenai Manajemen Penjadwalan Kegiatan
Akademik?
a. Baik
b. Cukup baik, karena ................................................................................
.............................. ................................................................................
c. Kurang baik, karena ...............................................................................
.............................. ................................................................................
5.
6.
Menurut anda, apakah sistem ini bila dikembangkan akan lebih membantu anda?
a. Sangat membantu
b. Kurang membantu, karena .....................................................................
....................... .......................................................................................
c. Tidak membantu, karena ........................................................................
....................... .......................................................................................
Keterangan Penilaian:
Sangat Baik : 80-100
Baik
: 70-80
Cukup
: 60-70
Buruk
: 50-60
Peserta :
No.
3. Admin Fakultas Saintek
No. Modul
Prasyarat
1.
Login sebagai
admin
melihat profil
Melihat Profil
konfigurasi
2.
3.
Tambah
Login sebagai
Categories
admin
menambah Categories
Edit
Login sebagai
Categories
mengubah data
ada dalam
Categories
database
4.
Hapus
Login sebagai
Categories
menghapus data
ada dalam
Categories
database
5.
Melihat
Login sebagai
Categories
ada dalam
database
Hasil Uji
Coba
6.
Tambah Links
Login sebagai
konfigurasi user
7.
Edit Links
Login sebagai
ada dalam
database, dan
sesuai konfigurasi
user
8.
Hapus Links
Login sebagai
ada dalam
database, dan
sesuai konfigurasi
user
9.
Melihat Links
Login sebagai
ada dalam
database, dan
sesuai konfigurasi
user
10.
Tambah Event
Login sebagai
admin
11
Edit Event
Login sebagai
ada dalam
Kegiatan
database, dan
sesuai konfigurasi
user
12
Hapus Event
Login sebagai
ada dalam
Kegiatan
database, dan
sesuai konfigurasi
user
13
Send Message
Login sebagai
memasukkan data
pengiriman pengingat
database, dan
sesuai konfigurasi
tersedia
user
14
Hapus Data
Login sebagai
Sending
menghapus data
pengiriman pengingat
database, dan
sesuai konfigurasi
tersedia
user
15
Melihat Data
Login sebagai
Send
database, dan
yang tersedia
sesuai konfigurasi
user
ACCEPTANCE TESTING
Pengujian Penerimaan Sistem
Jabatan
1.
2.
Menurut anda bila dilihat dari segi pemilihan warna Layout, jenis, maupun
ukuran Font, bagaimana tampilan sistem ini secara keseluruhan?
a. Bagus
b. Cukup bagus, karena ..............................................................................
..................... .........................................................................................
c. Kurang bagus, karena .............................................................................
..................... .........................................................................................
3.
4.
Menurut anda, apakah sistem ini telah cukup baik dalam menjawab
permasalahan yang ada khususnya mengenai Manajemen Penjadwalan Kegiatan
Akademik?
a. Baik
b. Cukup baik, karena ................................................................................
.............................. ................................................................................
c. Kurang baik, karena ...............................................................................
.............................. ................................................................................
5.
6.
Menurut anda, apakah sistem ini bila dikembangkan akan lebih membantu anda?
a. Sangat membantu
b. Kurang membantu, karena .....................................................................
....................... .......................................................................................
c. Tidak membantu, karena ........................................................................
....................... .......................................................................................
Keterangan Penilaian:
Sangat Baik : 80-100
Baik
: 70-80
Cukup
: 60-70
Buruk
: 50-60
Peserta :
No.
4. Admin Jurusan TI
Hasil yang
Hasil Uji
Diharapkan
Coba
No.
Modul
Prasyarat
1.
Melihat Profil
Login sebagai
admin
melihat profil
konfigurasi
2.
Tambah
Login sebagai
Categories
admin
menambah
Categories
3.
mengubah data
ada dalam
Categories
database
4.
Hapus
Login sebagai
Categories
menghapus data
ada dalam
Categories
database
5.
Melihat
Login sebagai
Categories
melihat data
ada dalam
Categories
database
6.
Melihat Links
Login sebagai
ada dalam
database, dan
sesuai konfigurasi
user
7.
Tambah Event
Login sebagai
admin
menambah data
jadwal Kegiatan
8.
Edit Event
Login sebagai
ada dalam
Kegiatan
database, dan
sesuai konfigurasi
user
9.
Hapus Event
Login sebagai
menghapus data
ada dalam
jadwal Kegiatan
database, dan
sesuai konfigurasi
user
10.
Send Message
Login sebagai
memasukkan data
pengiriman
database, dan
pengingat kepada
sesuai konfigurasi
user
11.
Hapus Data
Login sebagai
Sending
menghapus data
pengiriman
database, dan
pengingat kepada
sesuai konfigurasi
user
12.
Melihat Data
Login sebagai
Send
melihat data
pengiriman
database, dan
pengingat kepada
sesuai konfigurasi
user
ACCEPTANCE TESTING
Pengujian Penerimaan Sistem
Jabatan
1.
2.
Menurut anda bila dilihat dari segi pemilihan warna Layout, jenis, maupun
ukuran Font, bagaimana tampilan sistem ini secara keseluruhan?
a. Bagus
b. Cukup bagus, karena ..............................................................................
..................... .........................................................................................
c. Kurang bagus, karena .............................................................................
..................... .........................................................................................
3.
4.
Menurut anda, apakah sistem ini telah cukup baik dalam menjawab
permasalahan yang ada khususnya mengenai Manajemen Penjadwalan Kegiatan
Akademik?
a. Baik
b. Cukup baik, karena ................................................................................
.............................. ................................................................................
c. Kurang baik, karena ...............................................................................
.............................. ................................................................................
5.
6.
Menurut anda, apakah sistem ini bila dikembangkan akan lebih membantu anda?
a. Sangat membantu
b. Kurang membantu, karena .....................................................................
....................... .......................................................................................
c. Tidak membantu, karena ........................................................................
....................... .......................................................................................
Keterangan Penilaian:
Sangat Baik : 80-100
Baik
: 70-80
Cukup
: 60-70
Buruk
: 50-60
Peserta :
No.
5.
Mahasiswa/Dosen/Pegawai
Prasyarat
Hasil yang
Hasil Uji
Diharapkan
Coba
No.
Modul
1.
Melihat Jadwal -
Mahasiswa, Dosen,
Kalender
2.
Menerima
Terdaftar sebagai
Mahasiswa, Dosen,
Informasi
member
Akademik
mengetahui jadwal
dalam bentuk
pengingat
melihat jadwal
kegiatan
ACCEPTANCE TESTING
Pengujian Penerimaan Sistem
Jabatan
1.
2.
Menurut anda bila dilihat dari segi pemilihan warna Layout, jenis, maupun
ukuran Font, bagaimana tampilan sistem ini secara keseluruhan?
a. Bagus
b. Cukup bagus, karena ..............................................................................
..................... .........................................................................................
c. Kurang bagus, karena .............................................................................
..................... .........................................................................................
3.
4.
Menurut anda, apakah sistem ini telah cukup baik dalam menjawab
permasalahan yang ada khususnya mengenai informasi Akademik?
a. Baik
b. Cukup baik, karena ................................................................................
.............................. ................................................................................
c. Kurang baik, karena ...............................................................................
.............................. ................................................................................
5.
Keterangan Penilaian:
Sangat Baik : 80-100
Baik
: 70-80
Cukup
: 60-70
Buruk
: 50-60