Anda di halaman 1dari 15

Tujuan Project

Mahasiswa mampu mengembangkan sebuah aplikasi berbasis web dinamis yang


memanfaatkan database, session/cookie, image handling, class, dan memperhatikan unsur
keamanan web.

Kelompok
Tugas dikerjakan berkelompok dengan maksimal 3 orang anggota (tidak boleh lintas KP). Ingat,
tugas dapat dikerjakan secara individu akan tetapi bobot penilaian tetap menganggap bahwa
tugas dikerjakan berkelompok. Setiap anggota kelompok wajib memahami setiap bagian yang
dikerjakan sesama anggota kelompoknya.
Batas Waktu
Tugas didemokan saat perkuliahan minggu ke-14 dan mengumpulkan juga seluruh
pekerjaanmu di dalam sebuah CD/DVD. Isi CD/DVD: semua file php/html/css dan image yang
digunakan, serta file database (.sql) yang didapat dengan cara mengekspornya melalui
phpMyAdmin

Detil Tugas
Berikut ini akan dijelaskan secara terperinci detil tugas yang wajib dikerjakan. Penjelasan
melingkupi gambaran umum, database dan modul.

Gambaran Umum

Buatlah sebuah website input perwalian di sebuah Universitas. Website ini memiliki fitur antara
lain:
Administrator dapat login ke halaman admin untuk menambah data mahasiswa, mata kuliah
dan data kelas
Mahasiswa dapat login untuk melakukan proses input perwalian. Mahasiswa mencari mata
kuliah yang ingin diambil dan mendaftarkan dirinya untuk ikut mata kuliah tersebut. Setiap
mahasiswa memiliki jatah sks yang berbeda.
Mahasiswa dapat mencetak file PDF hasil input perwalian.
Administrator dapat mencetak daftar mahasiswa pada sebuah mata kuliah per kelas.

Detil Database
Website input perwalian memiliki empat buah tabel antara lain: tabel admin, tabel mahasiswa,
tabel matakuliah, tabel kelas, dan tabel mahasiswakelas. Berikut masing-masing penjelasan
dari tabel:

Tabel admin
Field

Tipe

Keterangan

username

varchar(9)

Primary Key

password

char(32)

password md5

Tabel mahasiswa
Field

Tipe

Keterangan

nrp

varchar(9)

Primary Key

nama

varchar(30)

nama mahasiswa

password

char(32)

password md5

jatah_sks

int

jumlah sks yang boleh diambil

foto_profil

varchar(100)

nama file foto profil mahasiswa (extension jpg)

hapuskah

bool

jika true maka data mhs dianggap terhapus

Field

Tipe

Keterangan

kode_periode

int

Primary Key, Auto Increment

nama

varchar(30)

Contoh: GASAL 2014/2015, GENAP 2014/2015

status

bool

jika true maka periode aktif, sebaliknya tidak aktif

hapuskah

bool

jika true maka periode dianggap terhapus

tanggal_buka

date

tanggal awal periode perwalian

tanggal_akhir

date

tanggal akhir periode perwalian

Tabel periode

Tabel matakuliah

Field

Tipe

Keterangan

kode_mk

varchar(8)

Primary Key

nama

varchar(30)

nama mata kuliah

jumlah_sks

smallint

jumlah sks untuk mata kuliah ini

deskripsi

text

deskripsi tentang mk

hapuskah

bool

jika true maka mata kuliah dianggap terhapus

Field

Tipe

Keterangan

kode_kelas

int

Primary Key, Auto Increment

kode_mk

varchar(8)

FK ke tabel Mata kuliah

kode_periode

int

FK ke tabel periode

nama_kelas

varchar(8)

nama kelas, contoh: KP A, KP B

kapasitas

smallint

jumlah kapasitas kelas

hapuskah

bool

jika true maka kelas dianggap terhapus

Tabel Kelas

Tabel mahasiswa_kelas
Field

Tipe

Keterangan

nrp

varchar(9)

Primary Key

kode_kelas

int

Primary Key

Detil Modul
Terdapat dua modul yang dibuat, yakni modul Administrator dan modul Perwalian

Modul Administrator
Modul ini hanya bisa diakses oleh administrator yang digunakan untuk menambah data
mahasiswa dan kelas. Serta mencetak laporan pdf isi sebuah kelas. Pastikan setidaknya ada

satu user admin yang tersimpan di dalam tabel Administrator. Berikut beberapa detil modul
admin yang harus dikerjakan:

Buatlah halaman loginadmin.php untuk memfasilitasi admin agar dapat masuk ke dalam
halaman administrator

Pada halaman admin home (beranda admin) adminhome.php, terdapat beberapa link yang
bisa diakses. Yakni master periode, master mata kuliah, master kelas, master mahasiswa, dan
laporan. Terdapat juga link logout untuk keluar dari halaman admin menuju halaman login
administrator.

Berikut adalah penjelasan dari masing-masing halaman.

HALAMAN MASTER PERIODE

Jika admin mengakses halaman master periode, maka tampilkan semua data periode dalam
bentuk tabel (halaman masterperiode.php). Data periode diambil dari tabel periode. Data ini
menunjukkan periode input perwalian yang mana yang sedang aktif. Untuk menandai periode
yang sedang aktif gunakan field status. Dari semua periode hanya boleh ada satu periode yang
sedang statusnya aktif.

Admin dapat menambahkan periode baru dengan menggunakan form tambah periode. Jika
status periode baru diset menjadi AKTIF maka, ubah status periode yang saat ini aktif menjadi
NON AKTIF. Misal: data awal terdapat periode GASAL 2014/2015 yang AKTIF. Kemudian
terdapat data baru ditambahkan yakni periode GENAP 2014/2015 AKTIF. Maka data periode
GASAL 2014/2015 diubah menjadi NON AKTIF. Karena tidak boleh ada dua periode yang
memiliki status AKTIF bersamaan.
Admin juga dapat mengedit sebuah periode dengan mengklik icon/tombol edit
Admin juga dapat menghapus periode yang statusnya NON AKTIF dengan menekan tombol
hapus. Ingat tidak boleh melakukan proses delete. Melainkan ubahlah field hapuskah dari
tabel periode menjadi true untuk menunjukkan bahwa status periodenya terhapus. (Hal ini
sudah pernah dibahas di mata kuliah Basis Data)
Untuk periode yang terhapus jangan tampilkan dalam tabel.

HALAMAN MASTER MATA KULIAH

Jika admin mengakses halaman master mata kuliah, maka tampilkan semua data mata kuliah
dalam bentuk tabel (halaman mastermk.php). Data mata kuliah diambil dari tabel mata kuliah.
Admin dapat menambah dan mengedit mata kuliah. Tambah dan edit menggunakan form yang
sama pada halaman yang sama. (perhatikan gambar + tambahkan jumlah sks)

Admin juga dapat menghapus mata kuliah tertentu dengan menekan tombol hapus. Ingat tidak
boleh melakukan proses delete. Melainkan ubahlah field hapuskah dari tabel mata kuliah
menjadi true untuk menunjukkan bahwa status mata kuliah terhapus.

HALAMAN MASTER MAHASISWA

Jika admin mengakses halaman master mahasiswa, maka tampilkan semua data mahasiswa
dalam bentuk tabel (halaman mastermhs.php). Data mata mahasiswa diambil dari tabel
mahasiswa.
Admin dapat menambah dan mengedit data mahasiswa. Tambah dan edit menggunakan form
yang sama pada halaman yang sama. (perhatikan gambar)
Password hanya terdiri dari 8 angka.
Password dan ulangi password harus sama.
Admin dapat mengupload gambar foto profil user. Harus berformat .jpg. File foto diberi nama
(rename) dengan 10 digit karakter acak dan disimpan pada folder propic. Contoh:
y456fewgte.jpg
Nama file foto acak tersebut disimpan juga di tabel Mahasiswa pada field foto_profil.
Admin juga dapat menghapus mahasiswa tertentu dengan menekan tombol hapus. Ingat tidak
boleh melakukan proses delete. Melainkan ubahlah field hapuskah dari tabel mahasiswa
menjadi true untuk menunjukkan bahwa status mahasiswa terhapus.
Untuk mahasiswa yang terhapus jangan tampilkan dalam tabel.

HALAMAN MASTER KELAS

Jika admin mengakses halaman master kelas, maka tampilkan semua data kelas dalam bentuk
tabel (halaman masterkelas.php). Data kelas diambil dari tabel mata kelas.
Admin dapat menambahkan kelas baru dengan mengisi form tambah kelas di atas tabel.
Beberapa data yang diisi adalah nama kelas, mata kuliah (combo box) dan kapasitas kelas.
Periode tidak diisi, melainkan secara otomatis diset ke periode aktif saat ini.
Jika tidak ada periode aktif sama sekali, maka admin tidak dapat mengakses halaman
masterkelas.php (munculkan peringatan yang informatif)
Admin dapat mengedit dan menghapus kelas. Perhatikan aturan penghapusan data seperti
contoh sebelumnya.

HALAMAN LAPORAN

Jika admin mengakses halaman laporan, maka admin dapat mencetak laporan daftar
mahasiswa yang mengambil mata kuliah tertentu (laporan.php).
Admin terlebih dahulu harus mengisi form filter data untuk mencetak laporan. Perhatikan
gambar.

Form filter laporan mengharuskan admin untuk menentukan periode, mata kuliah, dan kelas.
Admin dapat menekan tombol cetak laporan untuk menampilkan PDF preview laporan yang
sesuai dengan kriteria pada form filter.

Contoh laporan PDF untuk mata kuliah Pemrograman Interaktif pada GASAL 2014/2015 untuk
KP A adalah sebagai berikut:

Tanggal cetak pada laporan diisi tanggal hari ini


Kapasitas diisi jumlah siswa / kapasitas kelas

Modul Perwalian
Modul ini hanya bisa di akses oleh mahasiswa apabila setidaknya ada satu data periode yang
sedang aktif (tabel periode). Modul perwalian di akses melalui halaman index.php. Ketika user
membuka halaman ini maka tampilkan halaman login seperti gambar di bawah ini.

Akan tetapi jika tidak ada satupun periode yang sedang aktif, maka tampilkan keterangan
berikut:

Setelah mahasiswa berhasil login, maka tampilkan halaman Input Perwalian dari modul
perwalian seperti tampak pada gambar berikut (inputperwalian.php). Foto profil mahasiswa
ditampilkan di sebelah kiri.

Terdapat bagian TAMBAH MATA KULIAH untuk memasukkan mata kuliah yang lain ke dalam
daftar mata kuliah yang akan diambil. Akan tetapi apabila tanggal hari ini di luar range
tanggal_awal dan tanggal_akhir pada tabel periode aktif, maka bagian TAMBAH MATA KULIAH
tidak ditampilkan. Tombol icon BATAL juga dihilangkan, karena dianggap input perwalian ditutup
dan mahasiswa hanya boleh melihat daftar mata kuliah yang sudah di input sebelumnya.
Contoh tampilan apabila mahasiswa login di luar range tanggal periode aktif adalah sebagai
berikut:

Ketika mahasiswa menambahkan mata kuliah baru ke dalam daftar mata kuliah yang akan
diambil, website dapat mengecek beberapa kemungkinan error berikut dan menampilkannya ke
layar. Error ditampilkan di halaman inputperwalian.php pada bagian atas form Tambah Mata
Kuliah. Berikut adalah beberapa kemungkinan error:
Jumlah sks mata kuliah tersebut melebihi sisa jatah sks mahasiswa
Mahasiswa sudah memasukkan mata kuliah yang sama sebelumnya ke dalam daftar
Jumlah pendaftar pada sebuah kelas melebihi kapasitas kelas
Apabila tidak ada satupun kriteria error diatas akan muncul, maka mata kuliah yang diinputkan
oleh mahasiswa langsung masuk ke dalam tabel daftar mata kuliah yang akan diambil
Kemudian apabila mahasiswa ingin membatalkan sebuah kuliah, mahasiswa dapat mengklik
icon batal pada mata kuliah yang bersangkutan. Setelah mengklik link icon batal tersebut, maka
kuliah hilang dari tabel daftar mata kuliah yang akan diambil

Halaman Info Mata Kuliah


Mahasiswa dapat mencari tahu terlebih dahulu mata kuliah, deskripsinya, KP dan kapasitas
pada halaman ini (matakuliah.php). Apabila halaman ini dibuka maka tampilkan daftar seluruh
mata kuliah dalam bentuk tabel.

KRITERIA PENILAIAN
Bagian ini menjelaskan kriteria penilaian dari project UAS pemrograman web:
NILAI TOTAL = NILAI KELOMPOK 70% + NILAI INDIVIDU 30%
KOMPONEN NILAI KELOMPOK
MODUL ADMINISTRATOR 40%
MODUL PERWALIAN 40%
BEBAS ERROR 10%
PRESENTASI 10%
KOMPONEN NILAI INDIVIDU
MEMAHAMI BAGIAN YANG DIBUAT 50%
MEMAHAMI SISTEM SECARA KESELURUHAN DAN UTUH 30%
TES PROGRAM 20%

KETENTUAN

Berikut ini adalah beberapa ketentuan tambahan:


Diperbolehkan menggunakan template CSS
Tidak diperbolehkan lintas KP
Tampilan layout form dan halaman secara keseluruhan boleh dikreasi sendiri, tidak perlu harus
sama persis dengan contoh di dokumen ini. Contoh tampilan di dokumen ini biasa disebut
wireframe mockup yang artinya adalah contoh tampilan/draft desain form yang akan dibuat,
sehingga belum dinyatakan sebagai tampilan final.
Dikerjakan bertiga, berdua atau bersatu.

PENGUMPULAN
Minggu keempatbelas project didemonstrasikan di depan kelas dan akan dinilai oleh dosen dan
asdos masing-masing.

PERTANYAAN
Segala pertanyaan terkait tugas mohon ditanyakan kepada dosen masingmasing.

CHECK LIST KOMPONEN PROJECT


Tabel berikut ini untuk membantu kelompok anda mengerjakan project website mata kuliah
pemrograman web. Beri tanda centang pada komponen yang sudah dibuat.

No

Komponen

Setup tabel dan database

Login administrator

Home/beranda administrator

Master periode

Master Mahasiswa

Master mata kuliah

Master kelas

Laporan PDF

Login Input Perwalian

10

Proses tambah mata kuliah

11

Proses batal mata kuliah

12

Informasi mata kuliah

Yang Mengerjakan

Sudah Dibuat (beri centang)