Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt...

174
Program Aplikasi Diagram Gantt Pada Sistem Informasi Manajemen Proyek Berbasis Web Studi Kasus: Odyssey Digital Development Community TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Disusun Oleh: Susetyo Aribowo 005314085 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007 i

Transcript of Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt...

Page 1: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Program Aplikasi Diagram Gantt Pada

Sistem Informasi Manajemen Proyek Berbasis Web

Studi Kasus: Odyssey Digital Development Community

TUGAS AKHIR

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana TeknikProgram Studi Teknik Informatika

Disusun Oleh:Susetyo Aribowo

005314085

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2007

i

Page 2: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gantt Chart Application On

Web Based Project Management Information System

Case Study: Odyssey Digital Development Community

Final Project

Presented as Partial Fullfilment of the RequirementsTo Obtain the Sarjana Teknik Degree

In Informatics Engineering

By:Susetyo Aribowo

005314085

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2007

ii

Page 3: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

iii

Page 4: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

iv

Page 5: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

PERNYATAAN KEASLIAN KARYA

Dengan ini saya menyatakan bahwa dalam tugas akhir ini tidak terdapat

karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu

Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau

pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara

tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Yogyakarta, .......................................

Penulis,

Susetyo Aribowo

v

Page 6: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

ABSTRAKSI

Suatu proyek merupakan pekerjaan atau tugas yang waktunya sudah

ditentukan dan dengan tujuan yang telah ditetapkan di awal perencanaan. Untuk

mencapai tujuan-tujuan yang diharapkan oleh pihak yang terkait dalam proyek

tersebut, diperlukan suatu media untuk merencanakan, menjadwalkan dan

mengawasi perkembangan agar pelaksanaan pekerjaan proyek secara keseluruhan

dapat berjalan terarah dan terkendali dalam memenuhi waktu kerja, pembiayaan,

fasilitas yang tersedia, serta sesuai dengan spesifikasi teknis yang ditetapkan.

Aplikasi diagram gantt ini diharapkan bisa mendukung sistem informasi

manajemen proyek dalam hal merencanakan sub-proyek yang harus dikerjakan

untuk menyelesaikan proyek, memberikan dasar penjadwalan proyek dan sub-

proyek, dan memonitor perkembangan pengerjaan proyek. Aplikasi ini dibangun

dengan menggunakan perangkat lunak PHP dan MySQL sebagai basis datanya.

vi

Page 7: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

ABSTRACT

Project is an activity or tasks which it’s time has been scheduled and it’s

purposes have been determined on the first time it planned. To accomplish the

desired purposes by the company related in thus project, it needs a media for

planning, scheduling, and progress monitoring so it runs successfully and fullfill

the schedule, budget, available facility, and suitable to the determined

specification.

This gantt chart application hopefully could support the project

management information system on planning the sub-projects to work on, gives a

basis for scheduling when the tasks will be carried out, and it helps to monitor the

progress of the underway project. This application developed using PHP

programming language and MySQL as database.

vii

Page 8: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

….dedicated to my beloved mother Sri “Menik” Sukarsih

viii

Page 9: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

perbaikan-perbaikan kecil yang berkelanjutan

akan mendatangkan kemajuan besar

ix

Page 10: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Susetyo Aribowo

Nomor Mahasiswa : 005314085

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

Program Aplikasi Diagram Gantt Pada Sistem Informasi Manajemen Proyek

Berbasis Web (Studi Kasus: Odyssey Digital Development Community).

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan

dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data,

mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain

untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan

royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal : 29 Maret 2008

Yang Menyatakan

(Susetyo Aribowo)

Page 11: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa, atas karunia dan rahmat-Nya,

sehingga penulis dapat menyelesaikan Tugas Akhir dengan judul “PROGRAM

APLIKASI DIAGRAM GANTT PADA SISTEM INFORMASI

MANAJEMEN PROYEK BERBASIS WEB (Studi kasus: Odyssey Digital

Development Community).

Penyusunan Tugas Akhir ini dimaksudkan guna memenuhi salah satu

persyaratan mencapai derajat S-1. Gelar kesarjanaan dalam Jurusan Teknik

Informatika pada Fakultas Teknik Universitas Sanata Dharma Yogyakarta.

Tugas Akhir ini dapat tersusun berkat adanya bimbingan, petunjuk,

bantuan maupun saran – saran dari berbagai pihak. Oleh karena itu penulis ingin

mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Ir. Gregorius Heliarko S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan

Teknik Universitas Sanata Dharma.

2. Agnes Maria Polina, S.Kom, M.Sc, selaku Ketua Jurusan Teknik

Informatika Universitas Sanata Dharma.

3. Andy Prasetyo, selaku pemimpin Odyssey Digital Development

Community.

4. Albertus Agung Hadhiatma, S.T, M.T. selaku Dosen Pembimbing Utama.

5. Staf Dosen Jurusan Teknik Informatika Universitas Sanata Dharma

Yogyakarta.

6. Seluruh Staff Unit Teknik Informatika yang telah membantu saya.

7. Semua petugas di Sekretariat Teknik Universitas Sanata Dharma.

x

Page 12: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

8. Mbah Kandar yang selalu memberi dorongan, semangat, doa dan materi

hingga terselesaikannya tugas akhir ini.

9. Maya dan Wida yang selalu memberi dukungan dan dorongan dalam

menyelesaikan tugas akhir ini.

10. Teman-teman yang telah memberikan dorongan moril terutama Danang,

Krisna, Topo, Agus, Dion, Gina, Gundhul, Dewa, Santos, Pande, Rixo,

Adem, Ima dan Widi.

11. Semua pihak yang telah membantu penulis dalam penyusunan Tugas

Akhir ini.

Penulis sangat menyadari bahwa penyusunan dari Tugas Akhir ini masih

jauh dari sempurna, adanya kritik saran maupun petunjuk sangat membantu demi

perbaikan dan penyempurnaan Tugas Akhir ini. Namun besar harapan penulis

kiranya dapat bermanfaat bagi kita semua.

Yogyakarta, ..........................

Penulis

xi

Page 13: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

DAFTAR ISI

Halaman Judul ............................................................................................... i

Halaman Judul dalam Bahasa Inggris ........................................................... ii

Halaman Persetujuan ..................................................................................... iii

Halaman Pengesahan ..................................................................................... iv

Halaman Pernyataan Keaslian Karya ............................................................ v

Halaman Abstraksi ........................................................................................ vi

Halaman Abstract .......................................................................................... vii

Halaman Persembahan .................................................................................. viii

Halaman Motto .............................................................................................. ix

Kata Pengantar .............................................................................................. x

Daftar Isi ........................................................................................................ xii

Daftar gambar ................................................................................................ xvi

BAB I PENDAHULUAN …………………………………………….. 1

I.1 Latar Belakang Masalah …………………………………. 1

I.2 Rumusan Masalah ……………………………………….. 2

I.3 Asumsi dan Batasan Masalah ……………………………. 3

I.4 Tujuan Penelitian ………………………………………… 4

I.5 Metode Penelitian ………………………………………... 4

I.6 Sistematika Penulisan ……………………………………. 7

BAB II DASAR TEORI ………………………………………………. 9

II.1 Sistem Informasi …………………………………………. 9

II.2 Database………………………………………………….. 9

xii

Page 14: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.2.1 Single User …………………………………… 11

II.2.2 Multi User Klasik ……………………………… 11

II.2.3 Client/Server …………………………………… 12

II.3 HTML …………………………………………………. 14

II.4 PHP …………………………………………………. 15

II.4.1 Sejarah PHP ……………………………………. 15

II.4.2 Kelebihan-kelebihan PHP……………………… 15

II.4.3 Alasan Menggunakan PHP ……………………. 17

II.4.4 Cara Kerja PHP ………………………………. 17

II.5 Database dengan MySQL ……………………………… 18

II.5.1 MySQL ………………………………………… 18

II.5.2 PhpMyAdmin ………………………………….. 19

II.5.3 Aplikasi PHP dan MySQL …………………….. 20

II.6 WWW …………………………………………………. 20

II.6.1 Skema Kerja WWW …………………………… 21

II.6.2 Browser Web ………………………………… 23

II.6.3 Server Web …………………………………….. 23

II.7 HTTP …………………………………………………. 23

II.8 Web Database ……………………………………………. 24

II.9 Server Side dan Client Side ……………………………… 25

II.10 Intranet dan Aplikasi Web ……………………………….. 26

II.11 Web Dinamis PHP dan Three-Tier Architecture………… 28

II.12 Web Scripting ……………………………………………. 29

II.13 SDLC(System Development Life Cycle)………………… 30

xiii

Page 15: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.14 Virtual Office…………………………………………….. 30

BAB III ANALISA DAN PERANCANGAN SISTEM ......................... 32

III.1 Analisa Sistem …………………………………………… 32

III.2 Deskripsi Sistem …………………………………………. 32

III.3 Perancangan Sistem………………………………………. 33

III.3.1 Use Case Diagram……………………………… 34

III.3.2 Activity Diagram ………………………………. 35

III.3.3 Relasi Tabel ……………………………………. 36

III.3.4 Perancangan Basis Data ……………………… 37

III.3.5 Perancangan Antarmuka ……………………….. 46

BAB IV IMPLEMENTASI PROGRAM……………………………… 58

IV.1 Struktur Menu Progam…………………………………… 58

IV.2 Tampilan Program dan Penjelasan……………………….. 59

IV.2.1 Koneksi Basi Data……………………………… 59

IV.2.2 Halaman Login ………………………………… 59

IV.2.3 Halaman Home ………………………………… 63

IV.2.4 Addressbook……………………………………. 66

IV.2.5 Daftar Kegiatan………………………………… 73

IV.2.6 Pesan …………………………………………… 87

IV.2.7 Project Manager………………………………… 94

IV.2.8 Admin ………………………………………….. 112

IV.2.9 Polls ……………………………………………. 122

IV.2.10 Artikel …………………………………………. 135

IV.2.11 Informasi Sistem ……………………………….. 145

xiv

Page 16: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

IV.2.12 Password ………………………………………. 146

BAB V ANALISA HASIL ……………………………………………. 148

BAB VI PENUTUP …………………………………………………….. 152

VI.1 Kesimpulan ……………………………………………… 152

VI.2 Saran ………………………………………….............. 152

DAFTAR PUSTAKA ……………………………………………………. 153

xv

Page 17: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

DAFTAR GAMBAR

Gambar II.1 Model sistem single user…………………………………… 11

Gambar II.2 Model sistem multiuser klasik……………………………… 12

Gambar II.3 Model sistem client/server …………………………………. 14

Gambar II.4 Cara kerja PHP……………………………………………… 17

Gambar II.5 Skema kerja World Wide Web ……………………………. 22

Gambar II.6 Arsitektur three-tiered …………………………………….. 27

Gambar II.7 Web Dinamis PHP pada arsitektur three-tier………………. 28

Gambar III.1 Form login …………………………………………………. 46

Gambar III.2 Header……………………………………………………… 47

Gambar III.3 Header menu ……………………………………………….. 47

Gambar III.4 Footer ………………………………………………………. 47

Gambar III.5 Home ………………………………………………………. 48

Gambar III.6 Daftar addressbook ………………………………………… 48

Gambar III.7 Form input addressbook …………………………………… 49

Gambar III.8 Daftar kegiatan proyek……………………………………… 49

Gambar III.9 Form input kegiatan pribadi dan daftarnya………………… 50

Gambar III.10 Kotak masuk ……………………………………………….. 50

Gambar III.11 Tulis pesan ………………………………………………… 51

Gambar III.12 Baca pesan …………………………………………………. 51

Gambar III.13 Halaman utama …………………………………………….. 52

Gambar III.14 Hasil pencarian proyek …………………………………….. 52

Gambar III.15 Form input proyek baru ……………………………………. 52

xvi

Page 18: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.16 Lihat detil proyek ………………………………………….. 52

Gambar III.17 Form input bagian proyek………………………………….. 53

Gambar III.18 Halaman depan bagian admin……………………………… 54

Gambar III.19 Form input pengguna sistem baru …………………………. 54

Gambar III.20 Konfigurasi grup pengguna sistem ………………………… 54

Gambar III.21 Polls dan hasilnya ………………………………………….. 55

Gambar III.22 Setting atau konfigurasi poll ………………………………. 55

Gambar III.23 Halaman utama dan hasil pencarian artikel………………… 56

Gambar III.24 Form input artikel baru …………………………………….. 56

Gambar III.25 Administrasi artikel………………………………………… 57

Gambar III.26 Informasi sistem ………………………………………........ 57

Gambar IV.1 Struktur menu program…………………………………….. 58

Gambar IV.2 Halaman login……………………………………………… 60

Gambar IV.3 Halaman home……………………………………………… 65

Gambar IV.4 Lihat addressbook …………………………………………. 67

Gambar IV.5 Tambah data addressbook …………………………………. 67

Gambar IV.6 Lihat kegiatan proyek ……………………………………… 73

Gambar IV.7 Form update progress dan isi dokumentasi………………… 74

Gambar IV.8 Form input kegiatan pribadi ……………………………….. 74

Gambar IV.9 Form edit kegiatan pribadi ………………………………… 75

Gambar IV.10 Form update progress kegiatan pribadi ……………………. 75

Gambar IV.11 Kotak masuk dalam menu pesan ………………………….. 87

Gambar IV.12 Tulis pesan ………………………………………………… 88

Gambar IV.13 Baca pesan ………………………………………………… 88

xvii

Page 19: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.14 Halaman utama pada project manager …………………….. 94

Gambar IV.15 Input proyek baru ………………………………………….. 95

Gambar IV.16 Input bagian-bagian proyek ……………………………….. 95

Gambar IV.17 Lihat detil proyek dan gantt-chart …………………………. 96

Gambar IV.18 Pencarian proyek…………………………………………… 97

Gambar IV.19 Halaman utama, form update pengumuman ………………. 112

Gambar IV.20 Konfigurasi pengguna sistem ……………………………… 113

Gambar IV.21 Setting grup pengguna sistem ……………………………… 113

Gambar IV.22 Lihat poll-poll dan hasil-hasilnya ………………………….. 123

Gambar IV.23 Setting poll ………………………………………………… 123

Gambar IV.24 Halaman depan artikel dan hasil pencarian………………… 135

Gambar IV.25 Form input artikel ………………………………………….. 136

Gambar IV.26 Setting artikel yang belum dipublikasikan ………………… 136

Gambar IV.27 Baca artikel ………………………………………………… 137

Gambar IV.28 Informasi sistem …………………………………………… 145

Gambar IV.29 Form ganti password …………………………………… 147

xviii

Page 20: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

BAB I

PENDAHULUAN

I.1 Latar Belakang Masalah

Suatu proyek merupakan pekerjaan atau tugas yang waktunya sudah

ditentukan dan dengan tujuan yang telah ditetapkan di awal perencanaan. Yang

dimaksud dengan pekerjaan disini adalah kegiatan yang harus dilaksanakan dan

dipelihara sesuai dengan kontrak. Suatu proyek biasanya dibuat untuk memenuhi

kinerja tertentu dan dalam rangka memenuhi kinerja tersebut terdapat batasan-

batasan yang harus ditaati agar tujuan yang diinginkan dapat dicapai pada akhir

periode proyek.

Untuk mencapai tujuan-tujuan yang diharapkan oleh pihak-pihak yang

terkait dalam proyek tersebut, diperlukan suatu media untuk merencanakan,

menjadwalkan dan mengawasi perkembangan agar pelaksanaan pekerjaan proyek

secara keseluruhan dapat berjalan terarah dan terkendali dalam memenuhi waktu

kerja, pembiayaan, fasilitas yang tersedia, serta sesuai dengan spesifikasi teknis

yang ditetapkan. Dengan media ini kita dapat melakukan beberapa hal, seperti:

1. Merencanakan sub proyek yang harus dikerjakan untuk menyelesaikan

suatu proyek.

2. Memberikan dasar untuk jadwal pengerjaan sub proyek dalam suatu

proyek.

3. Merencanakan penempatan sumber daya manusia yang dibutuhkan untuk

menyelesaikan proyek.

1

Page 21: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

4. Ketika proyek sedang dikerjakan, aplikasi ini membantu kita dalam

memonitor perkembangan pengerjaan proyek apakah sudah sesuai dengan

jadwal yang telah ditentukan atau tidak.

Demi keharmonisan kerja yang baik dan kelancaran pelaksanaan seluruh

kegiatan, suatu proyek mutlak memerlukan keterbukaan dari berbagai pihak yang

terkait. Masing-masing pihak hendaknya dapat mengetahui tugas dan wewenang

sesuai dengan yang telah diprogramkan.

Dalam pelaksanaan organisasi proyek, masing-masing unit atau divisi

yang ada harus saling mendukung dan dapat bekerja sama secara baik agar

diperoleh hasil kerja yang optimal.

I.2 Rumusan Masalah

Sehubungan dengan adanya kendala maupun tantangan sebagaimana

tertulis pada Latar Belakang Masalah, maka Tugas Akhir ini akan mencoba untuk

memecahkan masalah yang dapat dirumuskan sebagai berikut:

Bagaimana cara menyediakan sebuah solusi teknologi informasi yang handal

dan dapat dikembangkan secara berkesinambungan untuk keperluan

penanganan data proyek, data sub proyek, data pesan antar anggota, data

artikel, menjadwalkan proyek dan sub proyeknya, dan memonitor

perkembangan dari pekerjaan yang dikerjakan pada suatu proyek?

Apa saja faktor dan aspek yang harus dipertimbangkan dalam membangun

sebuah solusi, sehingga solusi tersebut akhirnya dapat memenuhi kebutuhan

yang diperlukan?

2

Page 22: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

I.3 Asumsi dan Batasan Masalah

Pada penelitian ini, seluruh pembahasan masalah beserta solusinya

mengacu pada beberapa asumsi dan batasan masalah, yaitu:

Untuk keperluan monitoring proyek, disajikan dalam bentuk diagram gantt.

Sub proyek – sub proyek dalam suatu proyek bersifat nondependent.

Pengerjaan suatu sub proyek tidak tergantung pada terselesaikannya sub

proyek yang lain.

Hal-hal yang berhubungan dengan keamanan sistem dari gangguan pihak

dalam atau pihak luar sama sekali bukan pokok bahasan dalam tugas akhir ini.

Untuk masalah penanganan data yang berkaitan dengan perencanaan alokasi

dana dan detil spesifikasi sub proyek(misal: diagram-diagram UML dalam

sebuah proyek pengembangan perangkat lunak) tidak ditangani dalam aplikasi

ini.

Sebagai tambahan, seluruh pengguna solusi ini diasumsikan sudah terbiasa

dengan pengoperasian perangkat lunak komputer yang telah menggunakan

GUI (Graphical User Interface).

3

Page 23: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

I.4 Tujuan Penelitian

Tujuan utama dari Tugas Akhir ini adalah membangun aplikasi diagram

gantt untuk mendukung proses penjadwalan dan monitoring perkembangan

pengerjaan proyek pada sistem informasi manajemen proyek berbasis web.

I.5 Metode Penelitian

Pada saat pengerjaan Tugas Akhir ini, penulis menerapkan serangkaian

metode penelitian yang dilaksanakan sesuai dengan kebutuhan pengembangan

solusi, yaitu:

I.5.1 Metode Pengumpulan Data

Metode ini dilaksanakan oleh penulis untuk mengetahui

secara langsung kebutuhan yang ada, kendala dan tantangan apa

saja yang dihadapi, dan seberapa jauh kesiapan infrastruktur

maupun sumber daya manusia yang tersedia untuk penerapan

solusi teknologi informasi secara umum. Adapun metode

pengumpulan data yang dilaksanakan adalah:

a) Observasi

Pada pengerjaan Tugas Akhir ini, observasi dilaksanakan oleh

penulis dengan mengadakan kunjungan ke sebuah software

house di magelang yaitu Odyssey Digital. Selama mengadakan

survey penulis tidak terlalu mendapatkan kesulitan untuk

mendapatkan dan mengakses informasi dari institusi tersebut

b) Wawancara/Interview

4

Page 24: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Metode wawancara dilaksanakan dengan melakukan tanya

jawab secara langsung dengan pegawai atau staff Komunitas

Pengembang Odyssey Digital. Dengan menggunakan metode

ini dapat diketahui kegiatan-kegiatan khusus yang tidak selalu

terjadi dan lebih banyak informasi lebih dari orang yang

terlibat langsung.

c) Studi Literatur

Studi literatur dilaksanakan dengan melakukan studi

literatur/kepustakaan dengan melalui buku-buku referensi dan

media elektronik yang relevan dengan materi pembahasan.

I.5.2 Metode Pengembangan Sistem

Sistem ini dikembangkan dengan menggunakan metodologi

pengembangan sistem SDLC (System Development Life Cycle)

(Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Richardo

Torlone,”Database Systems concepts, language & architectures”,

NY:The McGraw-Hill Company,2000) yang terbagi dalam

beberapa fase, yaitu:

a) Fase Studi kelayakan (Feasibility study)

Menetapkan prioritas dalam pembuatan berbagai macam

komponen data sistem. Memperhitungkan biaya yang

dibutuhkan untuk solusi yang diberikan.

b) Fase Analisa kebutuhan (Collection and analysis of

requirements)

5

Page 25: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Fase ini digunakan untuk mempelajari fungsi – fungsi yang

dimiliki sistem. Dapat dilakukan dengan teknik wawancara

dengan user yang akan menggunakan aplikasi tersebut.

Menetapkan kebutuhan software dan hardware untuk

mendukung sistem informasi tersebut.

c) Fase Rancangan (Design)

Merupakan langkah multiproses yang memusatkan kerja pada

perancangan sistem secara umum misalnya perancangan basis data,

user interface dan report/output. Pada tahap ini, beberapa aktivitas

yang dilaksanakan adalah:

Perancangan Use Case Diagram untuk merekam

persyaratan fungsional sistem.

Perancangan Activity Diagram untuk menggambarkan

logika prosedural, proses bisnis, dan jalur kerja.

Perancangan basis data dan pengujian relasi antar tabel

pada basis data.

Perancangan input dan output pada aplikasi.

Fase implementasi (Implementation).

Setelah dianalisis, dirancang secara rinci dan pemilihan

teknologi maka pada intinya tahap ini merupakan tahap untuk

meletakkan sistem supaya siap untuk dioperasikan. Pada tahap

ini juga termasuk kegiatan peng-kodean program.

d) Fase pengujian (Validation and Testing)

6

Page 26: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Pengujian ini dimaksudkan untuk menguji apakah hasil sudah

sesuai dengan rancangan yang diinginkan dan mencari segala

kesalahan yang mungkin terjadi.

e) Fase operasi (Operation)

Tahap ini hanya digunakan untuk me-maintenance sistem atau

berhubungan dengan perawatan sistem.

I.6 Sistematika Penulisan

Sistematika dalam penulisan laporan Tugas Akhir menggambarkan secara

garis besar hal-hal yang akan dibahas dalam laporan ini.

Berikut sistematika dari laporan ini :

BAB I : PENDAHULUAN

Berisi uraian tentang latar belakang masalah, rumusan masalah, batasan

masalah, tujuan dan manfaat penelitian, metodologi penelitian dan sistematika

penulisan.

BAB II : LANDASAN TEORI

Berisi uraian tentang sistem, sistem informasi, sistem informasi basis data

dan sistem informasi berbasis web baik konsep dasar maupun definisi sistem

informasi serta kaitannya dengan sistem informasi berbasis web yang akan

diterapkan pada sistem yang akan dibangun.

Bab ini juga menjelaskan tentang arsitektur client/server, arsitektur

aplikasi berbasis web, perancangan sistem informasi berbasis web sehubungan

dengan perancangan aplikasi berbasis web serta konsep dasar PHP sebagai tools

yang digunakan untuk tampilan aplikasinya.

7

Page 27: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

BAB III : ANALISA DAN PERANCANGAN SISTEM

Berisi uraian tentang tahap-tahap pembuatan sistem yaitu studi kelayakan,

analisa sistem, perancangan sistem yang meliputi perancangan fasilitas yang

disediakan oleh aplikasi berupa rancangan fasilitas data input, rancangan fasilias

data view dan rancangan laporan serta perancangan menu.

BAB IV : IMPLEMENTASI SISTEM

Berisi penjelasan tentang hasil implementasi rancangan sistem dan proses-

prosesnya.

BAB V : ANALISA HASIL

Berisi hasil-hasil yang diperoleh serta membahas kekurangan dan

kelebihan dari sistem yang telah dibuat.

BAB VI : PENUTUP

Berisi kesimpulan dan saran dari sistem yang telah dirancang dan

diimplementasikan.

8

Page 28: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

BAB II

DASAR TEORI

II.1 Sistem Informasi

Sistem informasi adalah suatu sistem di dalam suatu organisasi yang

mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi,

bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan

pihak luar tertentu dengan laporan-laporan yang diperlukan (K. Leitch dan K.

Roscoe Davis, “Accounting Information Systems”, Prentice-Hall, New Jersey,

1983).

II.2 Database (Basis Data)

Data merupakan sumber yang sangat berguna bagi hampir semua

organisasi. Di dalam aspek kehidupan, database memegang peranan yang sangat

penting sekali terutama dalam aktivitas komputasi. Banyak sekali perangkat lunak

yang memanfaatkan database sebagai jantungnya, baik itu perangkat lunak

berskala kecil maupun besar, berbasis web maupun non web.

Seiring dengan semakin bertambahnya data dalam jumlah yang cukup

banyak, maka masalah pengaturan data secara efektif menjadi suatu hal yang

sangat penting pada pengembangan sistem informasi manajemen. Database dapat

dinyatakan sebagai suatu sistem yang memiliki karakteristik sebagai berikut :

f) Merupakan suatu kumpulan interelasi data yang disimpan bersama

tanpa mengganggu satu sama lain atau membentuk duplikat data.

9

Page 29: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

g) Kumpulan data dalam database dapat digunakan oleh sebuah program

aplikasi secara optimal.

h) Penambahan data baru, modifikasi, dan pengambilan data kembali dari

data dapat dilakukan dengan mudah dan terorganisasi.

Database merupakan suatu kumpulan data yang saling berhubungan dan

terorganisasi sedemikian rupa sehingga mudah untuk digunakan kembali.

Database adalah salah satu komponen yang penting sekali dalam sistem

informasi, karena merupakan dasar dalam menyediakan informasi bagi para

pemakainya.

Sistem manajemen database (Database Management System) merupakan

pengelolaan database dengan menggunakan perangkat lunak. Sistem manajemen

database merupakan suatu aplikasi yang sangat komplek. Pengelolaan yang

dilakukan meliputi pembuatan database, akses terhadap database, serta

penyimpanan data di dalam database. Hal penting yang tidak boleh diabaikan

dalam perancangan database adalah mengenai arsitektur, terutama arsitektur yang

akan digunakan nantinya.

Istilah arsitektur mengacu pada desain sebuah aplikasi, atau di mana

komponen yang membentuk suatu sistem ditempatkan dan bagaimana mereka

berkomunikasi. Secara umum arsitektur sistem database dapat digolongkan

menjadi 3 bagian yaitu :

Single user

Sistem multiuser klasik

Sistem Client / server

10

Page 30: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.2.1 Single User

Sistem single user merupakan sistem yang cukup tradisional, dan paling

sederhana di dalam pengaksesan suatu database. Dalam sistem ini, program

aplikasi dan file – file data diletakkan pada komputer yang sama. Jadi dengan

sistem ini, hanya akan terdapat satu user yang mengakses data dalam waktu yang

sama, hal ini karena komputer tersebut tidak dihubungkan dengan komputer lain

(stand-alone).

Meskipun merupakan sistem yang sederhana, pada model single user ini

pemrosesan data tetap dapat dilakukan dengan baik. Model sistem single user ini

dapat dilihat pada gambar II.1

Program Aplikasi

I/O

file - file database

Gambar II.1 Model sistem single user

II.2.2 Multi User Klasik

Sistem multi user klasik merupakan tahap pengembangan dari sistem

single user. Perbedaan utama sistem ini dengan sistem single user adalah pada

sistem ini file – file data (data source) diletakkan pada komputer lain yang biasa

disebut dengan komputer server.

11

Page 31: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Pemisahan aplikasi dengan file – file data bertujuan agar database dapat

diakses secara bersama dengan workstation lainnya. Model sistem ini sangat

cocok untuk dikembangkan pada organisasi kecil dengan jumlah workstation yang

tidak begitu banyak. Model multi user klasik dapat dilihat pada gambar II.2

Workstation

File-file databaseProgram aplikasi

Gambar II.2 Model sistem Multiuser klasik

II.2.3 Client/Server

Sistem client/server merupakan sebuah langkah maju karena

menggunakan beban pemrosesan dari komputer sentral ke komputer client.

Artinya semakin banyak user bertambah pada aplikasi client/server, kinerja server

file tidak akan menurun dengan cepat. Sistem client/server merupakan sistem

yang cukup baik untuk digunakan, sistem ini mampu menghasilkan aplikasi

database yang tangguh dalam hal sekuritas, serta mampu mengurangi kepadatan

lalu lintas jaringan. Perbedaan antara sistem multi user klasik dengan client/server

adalah bahwa pada sistem multi user klasik komputer yang berfungsi sebagai

penyimpan file – file database (komputer server) dapat juga berfungsi sebagai

12

Page 32: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

komputer user. Sedangkan pada sistem client/server, komputer server berfungsi

sebagai penyimpan file – file database dan pusat pemrosesan data.

Client merupakan sebuah komputer yang berisi aplikasi, dan memiliki

tanggung jawab untuk melakukan interaksi dengan user. Jadi apapun yang

dikehendaki para pemakai (user) akan ditangani terlebih dahulu oleh client.

Sebagai contoh adalah, client menerima masukan dari user yang dilakukan

melalui keyboard. Server sendiri merupakan sebuah komputer yang berisi DBMS

(Database Management System) serta database, dan menjadi pusat seluruh

kegiatan untuk menangani permintaan – permintaan yang dilakukan oleh client.

Kunci untuk memahami sistem ini adalah, aplikasi client membuat suatu

permintaan (make a request) kemudian server merespon permintaan (server

responding). Dengan adanya dua aplikasi yang terpisah ini, sebelum aplikasi

client dapat terhubung ke server, maka aplikasi server harus dijalankan terlebih

dahulu. Proses query pada sistem database client/server sangat sederhana, dimana

aplikasi client cukup mengirimkan pernyataan SQL ke server. Perintah yang telah

dikirim kemudian akan direspon oleh server dengan mengirimkan hasil perintah

yang diminta tersebut. Model client/server dapat dilihat pada gambar II.3

Workstation

File-file databaseProgram aplikasi

INTERNET

13

Page 33: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar II.3 Model sistem Client/server

II.3 HTML

HTML merupakan kependekan dari Hyper Text Markup Language.

Dokumen HTML adalah file teks murni yang dapat dibuat dengan editor teks

sembarang. Dokumen ini dikenal sebagai web page. Dokumen HTML merupakan

dokumen yang disajikan dalam browser web surfer. Dokumen ini umumnya berisi

informasi atau interface aplikasi di dalam Internet. Ada dua cara untuk membuat

sebuah web page yaitu dengan HTML editor atau dengan editor teks biasa

(misalnya notepad).

HTML dipakai dalam tugas akhir ini karena HTML dapat digunakan untuk

menyampaikan ide pada web browser. HTML menggunakan apa yang dinamakan

tag. Tag selalu ditulis diantara tanda lebih kecil dan tanda lebih besar (<tag>).

14

Page 34: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.4 PHP

II.4.1 Sejarah PHP

PHP diciptakan oleh Rasmus Lerdorf, seorang pemrogram C yang

andal. Semula PHP hanya digunakan untuk mencatat jumlah pengunjung

pada homepagenya. Rasmus adalah seorang pendukung opensource.

Karena itulah ia mengeluarkan Personal Home Page Tools versi 1.0 secara

gratis. Setelah mempelajari YACC dan GNU Bison, Rasmus menambah

kemampuan PHP 1.0 dan menerbitkan PHP 2.0.

PHP 2.0 mampu berhubungan dengan database dan dapat

diintegrasikan dengan HTML. Pada tahun 1996, PHP telah digunakan oleh

banyak web site di dunia. Sebuah kelompok pengembang software yang

terdiri dari Rasmus, Zeew Suraski, Andi Gutman, Stig Bakken, Shan

Caraveo dan Jim Winstead bekerja selama tujuh bulan untuk

menyempurnakan PHP 2.0. Akhirnya pada tanggal 6 Juni 1998, PHP 3.0

resmi dikeluarkan. PHP versi terbaru saat ini adalah PHP 4.0 yang terbit

pada tanggal 22 Mei 2000. Berdasar survei dari Netcraft

(http://www.netcraft.com), PHP adalah salah satu bahasa server-side yang

paling populer, yang mana jumlah pemakaian setara dengan mod_perl,

walaupun masih di bawah CGI dan ASP.

II.4.2 Kelebihan – kelebihan PHP

Sebagian besar orang mungkin menganggap bahwa Perl dan CGI

telah cukup membuat situs mereka interaktif. Ketika e-commerce semakin

berkembang, situs yang statis semakin ditinggalkan. Situs harus dinamis

15

Page 35: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

dan tetap berjalan selama 24 jam sehari dan tujuh hari dalam seminggu.

Perl dan CGI yang digunakan sebelumnya sudah ketinggalan jaman.

Saatnya digunakan PHP yang lebih baik dari keduanya. PHP memiliki

beberapa kelebihan yang tidak dimiliki oleh bahasa – bahasa sejenisnya.

PHP mudah dibuat dan cepat dijalankan. PHP dapat berjalan dalam

web server yang berbeda dan dalam sistem operasi yang berbeda pula.

PHP dapat berjalan di sistem operasi UNIX, Windows 98 ke atas,

Macintosh.

PHP diterbitkan secara gratis. Source kode PHP dapat di download

tanpa perlu mengeluarkan uang. PHP juga dapat berjalan pada web server

Microsoft Personal Web Server, Apache, IIS, dan sebagainya. PHP juga

termasuk bahasa yang embedded (bisa diletakkan dalam tag HTML).

PHP yang ditulis dengan menggunakan bahasa C dapat

dikembangkan sendiri. Jika programmer telah menguasai bahasa C dapat

dengan mudah menambahkan fungsi – fungsi baru. PHP adalah bahasa

yang sangat populer. Sebagian sintaks PHP mirip dengan sintaks dalam

bahasa C atau Perl. Programmer dapat menggunakan kemampuan PHP

yang di miliki untuk mempelajari kedua bahasa di atas dengan cepat.

Sebaliknya jika programmer telah menguasai bahasa C atau Perl maka

akan cepat menguasai PHP.

16

Page 36: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.4.3 Alasan menggunakan PHP

PHP merupakan salah satu bahasa pemrograman yang digunakan

untuk membuat aplikasi web yang dinamis dimana hal tersebut akan

sejalan dengan judul yang diambil oleh penulis yang membuat aplikasi

sistem informasi berbasis web. Selain itu PHP juga mampu berinteraksi

dengan hampir semua teknologi web

II.4.4 Cara kerja PHP

Cara kerja PHP dapat dilihat pada gambar II.4 di bawah ini:

w e b s e r v e r

c l i e n t

H T T P r e q u e s tH T T P r e s p o n s e

G e t s p a g e

< H T M L >< ? p h pe c h o ( " H e l l o " ) ;? >< / H T M L >

H e l l oB r o w s e r a k a n m e m b e n t u kh a l a m a n w e b

< H T M L >< B > H e l l o< / B >< / H T M L >

S e r v e rR e s p o n s e

I n t e r p r e t e s P H P C o d e

gambar II.4 Cara Kerja PHP

Saat ada permintaan suatu halaman dari browser klien, server web

akan melakukan 4 langkah:

Membaca permintaan browser.

Mencari halaman html yang diminta pada server.

17

Page 37: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Mengeksekusi perintah PHP sehingga halaman html

termodifikasi

Mengirim halaman html yang diminta ke browser klien melalui

media internet atau intranet. Setelah halaman html diterima

oleh klien, browser klien akan menerjemahkan halaman html

tersebut ke bentuk web.

II.5 Database dengan MySQL

II.5.1 MySQL

MySQL (My Structure Query Language) atau yang biasa dibaca

“mai-se-kuel” adalah sebuah program pembuat database yang bersifat

open source, artinya siapa saja boleh menggunakannya tanpa harus

dicekal. MySQL juga merupakan program pengakses database yang dapat

berjalan pada jaringan sehingga dapat digunakan untuk aplikasi Multi User

(Banyak Pengguna).

Kelebihan dari MySQL adalah menggunakan bahasa Query standar

yang dimiliki SQL(Structure Query Language). SQL adalah suatu bahasa

permintaan yang terstruktur yang telah distandarkan untuk semua program

pengakses database seperti Oracle, Posgres SQL, SQL Server, dan lain-

lain. Sebagai sebuah program penghasil database, MySQL tidak dapat

berjalan sendiri tanpa adanya sebuah aplikasi lain (interface). MySQL

dapat didukung oleh hampir semua program aplikasi baik yang open

source seperti PHP maupun tidak, yang ada pada platform Windows

seperti Visual Basic, Delphi, dan lainnya.

18

Page 38: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

MySQL memiliki layar utama yang seperti layar DOS yaitu

memiliki prompt utama yang disebut mysql>. Selain itu MySQL juga

memiliki suatu program dump yang dibuat seperti web dan berjalan di

bawah server database yang disebut dengan PHPMyAdmin.

II.5.2 PhpMyAdmin

PhpMyAdmin adalah suatu program open source yang berbasis

web yang dibuat menggunakan aplikasi PHP. Program ini digunakan

untuk mengakses database MySql. Program ini mempermudah dan

mempersingkat kerja. Dengan kelebihannya, para pengguna awam tidak

harus paham syntax-syntax SQL dalam pembuatan database dan tabel.

1. DDL (Data Definition Language)

Data Definition Language (DDL) adalah suatu bahasa SQL yang

berguna dalam pendefinisian data, yaitu pembuatan dan pemanipulasian

table maupun database. Adapun beberapa bahasa SQL yang termasuk

didalamnya adalah CREATE, ALTER, dan DROP (Buat, Ubah, dan

Hapus).

2. DML (Data Manipulation Language)

DML adalah suatu metode manipulasi data yang berkenaan dengan

isi sebuah table database tertentu. Yang termasuk dalam bahasa

pemanipulasian data adalah INPUT, UPDATE, dan DELETE. Artinya di

sini akan memasukkan data (Input), mengubah data (Update), dan

melakukan penghapusan data (Delete).

19

Page 39: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.5.3 Aplikasi PHP dan MySQL

Ada beberapa fungsi yang digunakan dalam aplikasi antara PHP

dan MySql. Fungsi-fungsi tersebut sangat erat kaitannya dengan Query

SQL. Di sini fungsi MySQL-lah yang digunakan sebagai penghubung

antarSQL sehingga Query tersebut dapat dijalankan pada server dan dapat

dilihat hasilnya oleh klien. Fungsi MySQL dapat juga dikatakan sebagai

interpreter Query karena setiap menggunakan Query SQL maka query

tersebut harus diletakkan di dalam fungsi tersebut. Dengan kata lain,

Query SQL tidak dapat dijalankan tanpa adanya fungsi MySQL.

II.6 WWW(World Wide Web)

WWW atau dapat juga disebut web adalah sistem informasi komunikasi

hypertext yang popular digunakan pada jaringan komputer internet, di mana

komunikasi datanya menggunakan model client/server.

Penjelasan yang lebih lengkap sebagai berikut :

Web didasarkan pada konsep hypertext, konsep hypertext ini sangat mirip

dengan teks biasa kecuali satu aspek penting, yaitu mempunyai kemampuan

untuk melakukan koneksi (link) di dalam dokumen itu sendiri atau koneksi ke

dokumen yang lain penggunaanya.

Web adalah sistem informasi dan komunikasi. Web tidak hanya tempat untuk

penyebaran informasi tetapi juga memungkinkan untuk komunikasi interaktif

untuk pengumpulan atau mendapat informasi. Dengan teknologi web,

informasi yang tersaji dapat mencapai area yang luas dari berbagai kalangan

baik perorangan maupun perusahaan.

20

Page 40: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Web telah diadopsi oleh perusahaan sebagai sebagian dari strategi teknologi

informasinya karena beberapa alasan, antara lain :

a. akses informasi mudah,

b. setup server lebih mudah,

c. informasi mudah didistribusikan, dan

d. multi platform; informasi dapat disajikan oleh browser web pada

sistem operasi mana saja karena adanya standar dokumen berbagai tipe

data dapat disajikan.

II.6.1 Skema Kerja WWW (World Wide Web)

Skema kerja dari WWW dapat dilihat pada gambar II.5

Skema gambar II.5 diatas dijelaskan sebagai berikut :

21

Page 41: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

1. Browser web seperti Explorer atau Navigator berkomunikasi melalui

jaringan (termasuk jaringan Internet) dengan server web,

menggunakan HTTP.

2. Browser akan mengirimkan request kepada server untuk meminta

dokumen tertentu atau layanan lain yang disediakan oleh server.

3. Server memberikan dokumen atau layanan komunikasi jika tersedia

protokol HTTP.

4. Browser menampilkan halaman web dengan membaca instruksi-

instruksi dalam web page. Instruksi yang paling umum untuk

menampilkan disebut dengan tag HTML.

22

Page 42: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.6.2 Browser Web

Browser web adalah software yang digunakan untuk menampilkan

informasi dari server web. Software ini kini telah dikembangkan dengan

menggunakan user interface-grafis, sehingga dari segi tampilan pemakai

akan lebih tertarik menggunakannya. Kemudian dari segi fasilitas,

kemampuan yang dimiliki browser saat ini dapat dengan mudah

melakukan ‘point dan click’ untuk pindah antar dokumen.

II.6.3 Server Web

Server web adalah komputer yang digunakan untuk menyimpan

dokumen-dokumen web, komputer ini akan melayani permintaan

dokumen web dari kliennya.

II.7 HTTP (Hypertext Transfer Protocol)

HTTP merupakan suatu protokol atau aturan yang dirancang

khusus untuk mendukung implementasi web dan harus diikuti oleh web

browser dalam meminta atau mengambil suatu dokumen dan oleh

webserver dalam menyediakan dokumen yang diminta oleh web browser.

Dengan kata lain saat koneksi dengan HTTP, browser akan melakukan

hubungan dengan mesin yang dituju, mengambil dokumen dan menutup

koneksi. Server HTTP akan memberitahukan tipe dari dokumen/berkas

kepada web browser sehingga web browser dapat menampilkan informasi

yang benar.

23

Page 43: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Protokol ini adalah protokol standar yang digunakan untuk

mengakses HTML sehingga banyak digunakan untuk melayani dokumen

yang terletak pada web.

II.8 Web Database

Web database suatu penyajian informasi berbasis elektronik yang

saat ini sedang menduduki tangga teratas dalam dunia internet. Hal ini

disebabkan karena web database berperan sebagai ujung tombak bagi

aplikasi website modern yang mana database dapat dijalankan pada web

server (Gregorius Agung,2001)

Sebagai contoh adalah database sanggup menyimpan banyak data,

mulai dari produk, biografi manusia, daftar telepon dan berbagai macam

data lainnya. Bila database ini digabungkan dengan website dan

diplubikasikan lewat jaringan internet maka akan sangat powerfull.

Ada dua macam pilihan arsitektur Web-DBMS (Wimmie, 2000),

yaitu :

1. Arsitektur tradisional “Two Tier”, di mana client berlaku sebagai tier 1

yang bertanggung jawab terhadap persentasi data kepada para

pengguna, sedangkan server berlaku sebagai tier 2 yang bertanggung

jawab untuk menyuplai layanan data kepada client.

2. Arsitektur “Three Tier”, di mana client berlaku sebagai tier 1 yang

bertanggung jawab terhadap presentasi data kepada para pengguna,

application server berlaku sebagai tier 2 yang mengerjakan

pemrosesan data dengan logika atau prosedur yang telah ditentukan,

24

Page 44: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

sedangkan database server berlaku sebagai tier 3 yang bertanggung

jawab untuk menyuplai layanan data kepada application server.

II.9 Server Side dan Client Side

Teknologi internet yang dipakai sekarang ini secara umum dibedakan

menjadi dua, yaitu server side dan client side. Pada server side adalah teknologi

dimana proses dilakukan di web server sedangkan client hanya menerima

hasilnya dalam bentuk HTML, sebagai contoh teknologi internet berbasis server

side adalah CGI/Perl, ASP, Java Server Pages (JSP) dan lain-lain. Sedangkan

client side adalah teknologi di mana proses dilakukan di web browser (Andy

Kurniawan, 2002;2). Biasanya client side digunakan untuk hal-hal yang

membutuhkan banyak interaksi user dan menggunakan jenis informasi yang pasti

dan seragam.

Server side digunakan untuk memproses segala sesuatu yang berhubungan

dengan server, seperti manipulasi data pada database. Client side digunakan

untuk mengadakan interaksi dengan user yang frekuensinya tinggi, namun data

yang diperlukan relative sedikit atau telah tersedia sebelumnya. Tidak dianjurkan

untuk membangun cliet side pada aplikasi web yang membutuhkan data yang

banyak dan selalu berubah-ubah, atau menggunakannya untuk keperluan verifasi

user dan password.

II.10 Intranet dan Aplikasi Web

25

Page 45: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Aplikasi web tidak saja digunakan di internet namun juga dapat digunakan

untuk keperluaan intra-organisasi. Jaringan aplikasi web yang terpasang dalam

intra-organisasi ini dikenal dengan intranet (Andy Kurniawan, 2003:3).

Sebelum teknologi web banyak digunakan, dulu telah muncul teknologi

jaringan multi user dan client/server. Teknologi multi user terdapat satu atau lebih

server yang bertugas melayani banyak user. Proses kerja multi user seluruh beban

kerja dilakukan oleh server. Kelemahan pada teknologi ini adalah pada masalah

performa. Server bekerja dengan beban kerja yang tinggi, apalagi untuk user yang

jumlahnya sangat banyak. Sedangkan keuntungan adalah mudah instalasi dan

pemeliharaan, baik dari segi aplikasi maupun data karena terletak di server saja.

Berikutnya adalah teknologi client / server. Teknologi ini berkembang

karena user yang terlalu banyak dianggap sangat membebani server pada

teknologi multi user. Pada client / server, server hanya menangani database saja

sedang aplikasi terpasang pada masing-masing user. Dengan sistem client/server,

beban kerja dibagi dengan lebih baik dan meningkatkan performa.

Kelemahan dari sistem ini muncul saat maintain aplikasi dan biaya yang

cukup tinggi untuk me-maintain user terminal. Kelemahan yang lain adalah

mengenai manajemen resource untuk server. Saat user membuat koneksi ke

server, server akan memblok satu bagian resource di server khusus untuk user.

Koneksi ini akan terus terbentuk selama user belum keluar (logout) dari server.

Teknologi web mencoba menggabungkan kedua kekuatan teknologi

tersebut. Teknologi web mempunyai kapasitas yang tidak dimiliki teknologi

sebelumnya. Teknologi web tidak terangkum pada satu lingkungan lokasi kerja

tertentu, namun informasi dapat diakses dari tempat mana saja.

26

Page 46: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Teknologi web dibangun pada teknologi three-tier. Tier yang pertama

adalah web database server. Database server bertugas mengatur lalu lintas pada

database, menyediakan metode untuk meminta data, sorting, pengindeksian dan

sebagainya.

Tier yang kedua adalah business object atau disebut application server.

Aplikasi server bertugas mengatur segala sesuatu yang berhubungan dengan

aplikasi, seperti manajemen resource di server, maintain setiap session yang

terbentuk dan lain-lain. Koneksi yang terbentuk hanya saat user mengirimkan data

ke server dan pada saat server mengirimkan data ke user.

Tier yang ketiga adalah presentation layer atau disebut dengan client.

Tugas utamanya adalah sebagai user terminal, yang bersifat aktif dan mampu

mengolah informasi yang diperolehnya. User hanya memerlukan web browser

seperti internet explorer, netscape navigator untuk menjalankan aplikasi web.

Gambar II.6 Arsitektur Three-tiered

27

Page 47: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.11 Web Dinamis PHP pada Three-Tier Architecture

Gambar II.7 Web Dinamis PHP pada Arsitektur Three-tier

1. Persistent Data Storage, merupakan tier yang pertama, digunakan

untuk menyediakan data-data dan juga berfungsi sebagai tempat

menyimpan data.

2. Database abstraction layer, merupakan class php ataupun fungsi yang

digunakan untuk mengakses database.

3. Bussinees Logic, merupakan tier yang kedua, digunakan untuk

menyimpan script-script php yang telah dibuat. Yang nantinya

digunakan untuk aplikasi web.

4. Presentation merupakan tier yang ketiga, pada bagian ini script-script

php telah digenerate menjadi file html, dan pada bagian ini

28

Page 48: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

memungkinkan para user untuk melihat hasil dari business logic yang

telah mengakses data dari tempat penyimpanan.

5. Browser merupakan perangkat lunak yang digunakan untuk

menampilkan dokumen html.

II.12 Web Scripting

Untuk membuat sebuah website yang dinamis dapat menggunakan teknik

web scripting. Web scripting adalah pemakaian kode program (sebuah script)

sehingga sebuah halaman bisa menjadi lebih interaktif dan tidak lagi statis seperti

halaman web yang ditulis dengan HTML murni. Biasanya bahasa untuk scripting

adalah bahasa pemrograman yang tidak harus di-compile dulu, tetapi bisa

dianalisis dan dijalankan langsung (diinterpret).

Web scripting ini dibagi dalam 2 macam, yaitu :

1. Client Side Scripting

Client Side Script adalah tipe scripting yang menampilkan web

dinamis melalui sisi client (browser), atau script yang digunakan dan

dijalankan di komputer pengguna. Contoh teknologi untuk Client Side

Scripting adalah Javascript, Java Applets dan ActiveX.

2. Server Side Scripting

Server Side Scripting adalah tipe scripting yang dijalankan pada web

sendiri, kemudian hasil dari perhitungan script itu akan dikirim ke

komputer pengguna. Contoh untuk teknologi Server Side Scripting

adalah Common Gateway Interface (CGI), ASP, PHP dan JSP/Java

Servlets.

29

Page 49: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

II.13 SDLC (System Development Life Cycle)

Pengembangan sistem informasi yang berbasis komputer dapat merupakan

tugas kompleks yang membutuhkan banyak sumber daya dan dapat memakan

waktu berbulan-bulan bahkan bertahun-tahun untuk menyelesaikannya. Proses

pengembangan sistem melewati beberapa tahapan dari mulai sistem itu

direncanakan sampai dengan sistem itu diterapkan, dioperasikan dan dipelihara.

Bila operasi sistem yang sudah dikembangkan masih timbul kembali

permasalahan-permasalahan yang kritis serta tidak dapat diatasi dalam tahap

pemeliharaan sistem, maka perlu dikembangkan kembali suatu sistem untuk

mengatasinya dan proses ini kembali ke tahap pertama. Daur atau siklus hidup

dari pengembangan sistem merupakan suatu bentuk yang digunakan untuk

menggambarkan tahapan utama dan langkah – langkah di dalam tahapan tersebut

dalam proses pengembangannya (Jogiyanto HM., MBA.,Akt., PhD., “Analisis &

Desain Sistem Informasi Pendekatan Terstruktur Teori dan Praktek Aplikasi

Bisnis”, Yogyakarta: Andi, 2005).

II.14 Virtual Office

Virtual Office adalah aplikasi yang menyediakan berbagai macam

informasi dalam lingkup lingkungan kantor. Hal-hal yang berkaitan erat dengan

virtual office adalah perencanaan kerja, proses bisnis, kolaborasi, komunikasi

jarak jauh, home office, home workers, infrastruktur, intranet, middleware, mobile

workers, mobile office, nomadicity, pekerja jarak jauh, dan virtual team.

30

Page 50: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system
Page 51: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

BAB III

ANALISA DAN PERANCANGAN SISTEM

III.1 Analisa Sistem

Analisa sistem dapat didefinisikan sebagai pengurai dari suatu sistem

informasi yang utuh ke dalam bagian-bagian komponennya yang bertujuan agar

dapat mengenali serta mengevaluasi permasalahan-permasalahan dan hambatan-

hambatan yang terjadi, serta memenuhi kebutuhan yang diharapkan sehingga

dapat diusulkan perbaikannya. Hambatan-hambatan yang ada pada Odyssey

Digital pada saat ini adalah :

Tidak tersedianya sistem informasi yang handal untuk keperluan media

berinteraksi bagi para personel yang terlibat pada proyek tersebut, media

untuk mengorganisir dan mengkoordinir sumber daya, dan media untuk

mengevaluasi perkembangan dari pekerjaan.

Memiliki banyak pegawai tidak tetap dan tersebar di berbagai daerah.

Sangat sulit sekali mengorganisasikan sebuah tim karena para anggota tim

terpisah secara geografis.

Hal ini mengakibatkan proses pengerjaan suatu proyek berjalan tidak lancar.

III.2 Deskripsi Sistem

Sistem informasi manajemen proyek ini bertujuan untuk memudahkan

pengguna dalam hal berkomunikasi dan berkoordinasi. Sistem ini memfokuskan

pada penyediaan virtual office bagi seluruh anggota tim, sehingga pelaksanaan

pekerjaan proyek secara keseluruhan dapat berjalan terarah dan terkendali dalam

32

Page 52: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

memenuhi waktu kerja, pembiayaan, fasilitas yang tersedia, serta sesuai dengan

spesifikasi teknis yang ditetapkan.

III.3 Perancangan Sistem

Perancangan sistem dapat didefinisikan sebagai pembuatan sketsa atau

kerangka dalam membentuk kesatuan sistem yang berfungsi atau dengan kata lain

penggabungan dari elemen-elemen yang terpisah ke dalam satu kesatuan yang

utuh dan berguna.

33

Page 53: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

III.3.1 Use Case Diagram

Koordinator

Admin

Anggota

Input data proyek

Mendelegasikan pekerjaan

Monitoring Proyek

Melihat ToDo List

Mengupdate perkembangan pekerjaan

Dokumentasi Proyek

<<include>>

Konf. User

Konf. Grup User

Input Pengumuma

Konf. Polling

Input Artikel

Konf. Artikel

Input Artikel

34

Page 54: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

III.3.2 Activity Diagram

Input data proyek

Mendelegasikan Tugas-tugas

Mengirimkan spesifikasi, UML, Catatan, ToDo List

Mengevaluasi hasil

Mengupdate Perkembangan Proyek

Menerima tugas

Meminta spesifikasi

Mengerjakan tugas

Mengirim berkas hasil kerja

[else]

[else]

Job Offer

Cek dan koreksi

35

Page 55: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

III.3.3 Relasi Tabel

36

Page 56: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

bo_addressbook

add_id *add_nameadd_addressadd_emailadd_officeadd_faxadd_mobileadd_homeadd_statusadd_orc **

bo_articles

art_idart_titleart_keywordart_contentart_creator **art_createdart_status

bo_individual_act

in_id *in_actin_startdatein_enddatein_finishedin_progressin_orcin_lastupdate

bo_message

msg_id *msg_content

bo_poll_answers

pa_id *pa_question **pa_answer

bo_poll_questions

pq_id *pq_questionpq_creator **pq_createdpq_status

bo_poll_vote

pv_id *pv_orc **pv_vote **

bo_registered_access

access_id *access_orc **access_app **access_status

bo_registered_access_menu

am_id *am_menu **am_orc **am_status

bo_registered_application

app_id *app_nameapp_prefixapp_labelapp_iconapp_priorityapp_status

bo_registered_menu

menu_id *menu_app **menu_action_filemenu_labelmenu_default

bo_registered_orc

orc_id *orc_usernameorc_passwordorc_firstnameorc_lastnameorc_lastloginorc_group **orc_emailorc_status

bo_registered_orc_group

group_id *group_name

bo_user_messages

um_id *um_titleum_contentum_to **um_from **um_inputum_read

1 ~

1

~

1~

1

1

~

~

1 ~

~

1 1

~

~

1

1

~

~

11

~

1

~

~

1

37

Page 57: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

III.3.4 Perancangan Basis Data

Tabel bo_addressbook

Nama Field Tipe Data Panjang Keteranganadd_id Smallint 5 Primary Keyadd_name Varchar 64 Nama

add_address Varchar 64 Alamatadd_email Varchar 64 Alamat Emailadd_office Varchar 64 Nomor Kantoradd_fax Varchar 64 Nomor Fax

add_mobile Varchar 64 Nomor HPadd_home Varchar 64 Nomor Rumahadd_status Tinyint 3 Status dataadd_orc Smallint 5 ID user

Tabel bo_articles

Nama Field Tipe Data Panjang Keterangan

bo_project_element

el_id *el_project **el_startdateel_enddateel_finishedel_progressel_orc **el_acceptedel_lastupdate

bo_project

p_id *p_titlep_startdatep_enddatep_finishedp_lastupdatep_orc **

bo_documentation

doc_datetime (*)doc_element (*)**doc_notes

bo_registered_orc

orc_id *orc_usernameorc_passwordorc_firstnameorc_lastnameorc_lastloginorc_group **orc_emailorc_status

1

1

1

1

bo_registered_orc_group

group_id *group_name

~

~

~

~

~

1

38

Page 58: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

art_id Smallint 5 Primary Keyart_title Varchar 255 Judulart_keyword Varchar 255 Kata kunciart_content Text Isiart_creator Smallint 5 ID Userart_created Datetime Waktu dibuatart_status tinyint 3 Status publikasi

Tabel bo_documentation

Nama Field Tipe Data Panjang Keterangandoc_datetime datetime Primary Keydoc_element int 10 Primary Keydoc_notes text Isi dokumentasi

39

Page 59: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tabel bo_individual_act

Nama Field Tipe Data Panjang Keteranganin_id int 10 Primary Keyin_act text Kegiatanin_startdate date Tgl mulaiin_enddate date Tgl akhirin_finished date Tgl selesaiin_progress tinyint 3 Prosen progressin_orc smallint 5 ID Userin_lastupdate datetime Terakhir update

Tabel bo_message

Nama Field Tipe Data Panjang Keteranganmsg_id tinyint 1 Primary Keymsg_content text Isi pengumuman

Tabel bo_poll_answers

Nama Field Tipe Date Panjang Keteranganpa_id smallint 5 Primary Keypa_question smallint 5 ID pertanyaanpa_answer text Isi jawaban

40

Page 60: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tabel bo_poll_questions

Nama Field Tipe Date Panjang Keteranganpq_id smallint 5 Primary Keypq_question text Isi pertanyaanpq_creator smallint 5 ID Userpq_created datetime Waktu dibuatpq_status tinyint 1 Status ditampilkan

Tabel bo_poll_vote

Nama Field Tipe Date Panjang Keteranganpv_id int 10 Primary Keypv_orc smallint 5 ID Userpv_vote smallint 5 ID jawaban

41

Page 61: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tabel bo_project

Nama Field Tipe Date Panjang Keterangan

p_id varchar 10 Primary Key

p_title varchar 64 Nama proyek

p_startdate date Tgl mulai

p_enddate date Tgl akhir

p_finished date Tgl selesai

p_lastupdate datetime Terakhir diupdate

p_orc smallint 5 ID User

Tabel bo_project_element

Nama Field Tipe Date Panjang Keteranganel_id int 10 Primary Keyel_project varchar 10 ID proyekel_startdate date Tgl mulaiel_enddate date Tgl akhirel_finished date Tgl selesaiel_progress tinyint 3 Progressel_orc smallint 5 ID Userel_accepted tinyint 1 Status diterimael_lastupdate datetime Terakhir diupdate

42

Page 62: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tabel bo_registered_access

Nama Field Tipe Date Panjang Keteranganaccess_id smallint 5 Primary Keyaccess_orc smallint 5 ID Useraccess_app tinyint 3 ID Aplikasiaccess_status tinyint 1 Status data

Tabel bo_registered_access_menu

Nama Field Tipe Date Panjang Keteranganam_id smallint 5 Primary Keyam_menu smallint 5 ID menuam_orc smallint 5 ID Useram_status tinyint 1 Status data

43

Page 63: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tabel bo_registered_application

Nama Field Tipe Date Panjang Keteranganapp_id tinyint 3 Primary Keyapp_name varchar 64 Nama aplikasiapp_prefix varchar 64 Prefix aplikasiapp_label varchar 64 Labelapp_icon varchar 64 Iconapp_priority tinyint 3 Urutan tampilapp_status tinyint 1 Status data

Tabel bo_registered_menu

Nama Field Tipe Date Panjang Keteranganmenu_id smallint 5 Primary Keymenu_app tinyint 3 ID aplikasimenu_action_file varchar 255 File tujuanmenu_label varchar 32 Label

menu_default tinyint 1 Status default

44

Page 64: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tabel bo_registered_orc

Nama Field Tipe Date Panjang Keteranganorc_id smallint 5 Primary Keyorc_username varchar 32 Usernameorc_password varchar 32 Passwordorc_firstname varchar 64 Nama awalorc_lastname varchar 64 Nama akhirorc_lastlogin datetime Waktu loginorc_group tinyint 1 ID grup userorc_email varchar 100 Alamat emailorc_status tinyint 1 Status aktif

Tabel bo_registered_orc_group

Nama Field Tipe Date Panjang Keterangangroup_id tinyint 3 Primary Keygroup_name varchar 64 Nama grup

45

Page 65: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tabel bo_user_messages

Nama Field Tipe Date Panjang Keteranganum_id int 10 Primary Keyum_title varchar 64 Judul pesanum_content text Isi pesanum_to smallint 5 ID Userum_from smallint 5 ID Userum_input datetime Waktu dibuatum_read datetime Waktu dibaca

46

Page 66: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

III.3.5 Perancangan Antarmuka

Aplikasi ini secara garis besar terbagi menjadi empat bagian(frame) yaitu

header, header menu, footer dan contents. Antarmuka yang akan ditampilkan pada

bagian contents yaitu Login, Home, Addressbook, Daftar Kegiatan, Pesan, Project

Manager, Admin, Polls, Artikel dan Informasi Sistem. Berikut ini akan dibahas

perancangan antarmuka dari masing-masing bagian tersebut.

Halaman Login

Muncul pertama kali pada saat aplikasi diaktifkan. Halaman Login memiliki

item username dan password ini dibuat agar aplikasi ini hanya dapat diakses

oleh para pengguna sistem yang sudah terdaftar dalam basis data saja.

Gambar III.1 Form Login

Header

Bagian ini hanya berisi logo, tombol password dan tombol logout. Logo dari

aplikasi ini adalah gambar cumi-cumi biru dan tulisan nama dari aplikasi ini

yaitu “blueOctopus”. Tombol password digunakan untuk mengganti password

sedangkan tombol logout digunakan untuk keluar dari sistem dan kembali ke

halaman login.

47

LOGO

Username

Password

Login >>

Logo Password Logout

Page 67: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.2 Header

Header Menu

Bagian ini akan berisi link Home dan menu-menu sesuai dengan hak akses

yang diberikan oleh administrator sistem.

Gambar III.3 Header Menu

Footer

Bagian ini terletak di bagian bawah aplikasi. Pada bagian ini ditampilkan

nama belakang, nama depan, username, dan waktu login dari user. Selain

itu juga akan ditampilkan tanggal dan jam.

Gambar III.4 Footer

Home

Halaman Home berisi data individu pengguna sistem yang login, jumlah pesan

yang belum dibaca di kotak masuk, pengumuman halaman depan, semua

daftar pekerjaan yang ditawarkan, daftar semua pekerjaan yang diterima dan

belum selesai dikerjakan. Di halaman ini pula tempat para pengguna sistem

menerima atau menolak pekerjaan-pekerjaan yang ditawarkan.

48

Data individu Pengguna sistem yang Login.

Jumlah pesan belum dibaca dalam kotak masuk.

Pengumuman halaman depan.

Daftar pekerjaan yang ditawarkan.[terima] [tolak]

Daftar pekerjaan yang diterima dan belum selesai.

Home Menu 1 Menu 2 Menu 3 Menu 4 Menu 5 Menu 6 Menu 7 Menu 8

Nama belakang, nama depan | username, waktu login(tgl+jam) | tgl+jam sekarang

Page 68: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.5 Home

Addressbook

Gambar dibawah ini adalah fasilitas yang digunakan untuk menampilkan

daftar semua contact person yang diinput oleh user yang bersifat private

dan public. Private maksudnya adalah semua data yang khusus untuk user

yang memasukkan dan Public adalah semua data yang bersifat umum.

Gambar dibawahnya adalah form untuk memasukkan data-data contact

person.

Gambar III.6 Daftar Addressbook

49

Tambah AddressbookNamaAlamatE-mailNo. Telepon KantorNo. FaxNo. Telepon GenggamNo. Telepon RumahStatus?Pruvat/Publik

Navigasi User

Penjelasan halaman ini

Simpan

NoNamaAlamatE-mailStatus

Navigasi User

Penjelasan halaman ini

Huruf awal A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Semua

Page 69: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.7 Form input Addressbook

Daftar Kegiatan

Gambar III.8 dibawah ini menampilkan semua kegiatan yang berhubungan

dengan proyek yang sudah diterima dan belum selesai dikerjakan pada

suatu tanggal tertentu. Gambar III.9 berisi form input kegiatan pribadi dan

semua daftar kegiatan pribadi yang belum selesai dikerjakan.

Gambar III.8 Daftar kegiatan proyek

50

ProyekBagian Tgl mulaiTgl akhirLamaProgressPerintah

Navigasi User

Penjelasan halaman ini

Navigasi User

Penjelasan halaman ini

Form input kegiatan pribadi Item:

KegiatanTgl mulai Tgl akhir

Daftar kegiatan pribadi

Page 70: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.9 Form input kegiatan probadi dan daftarnya

Pesan

Berikut ini melupakan antarmuka pada yang ada dalam menu Pesan.

Gambar yang pertama adalah antarmuka pada bagian kotak masuk. Disini

akan ditampilkan semua pesan yang sudah masuk. Gambar dibawahnya

adalah Form yang digunakan untuk menulis pesan. Gambar yang terakhir

adalah antarmuka pada saat menampilkan salah satu pesan yang masuk.

Gambar III.10 Kotak Masuk

51

Navigasi User

Penjelasan halaman ini

Pesan 1 Pengirim, judul, tanggal dibuat, dan isi pesan

Status baca

Pesan 2 dst Pengirim, judul, tanggal dibuat, dan isi pesan

Status baca

Navigasi User

Penjelasan halaman ini

Form input pesan. Item:Penerimajudulisi

Kirim Pesan

Page 71: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.11 Tulis pesan

Gambar III.12 Baca Pesan

Project Manager

Inilah menu inti dari aplikasi ini. Antarmuka halaman utama akan

menampilkan semua proyek yang belum selesai dikerjakan dan informasi

pengguna system beserta statusnya. Antarmuka hasil pencarian proyek akan

menampilkan hasil pencarian proyek berdasarkan suatu katakunci tertentu.

Untuk memasukkan data proyek baru beserta bagian-bagian proyek,

digunakan form seperti gambar-gambar dibawah ini(gambar III.15 untuk data

proyek dan III.17 untuk data bagian proyek). Data lengkap sebuah

proyek(termasuk Gantt Chart) pada gambar III.16.

52

Navigasi User

Penjelasan halaman ini

Informasi proyek yang belum selesai dikerjakan

Informasi pengguna system beserta statusnya

Pengirim dan tanggal dibuat

Balas Pesan Tutup Halaman Ini

Judul dan isi pesan

Page 72: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.13 Halaman utama

Gambar III.14 Hasil pencarian proyek

Gambar III.15 Form input proyek baru

Gambar III.16 Lihat detil proyek

53

KodeNamaTgl mulaiTgl akhirLamaPICSelesai

Navigasi User

Penjelasan halaman ini

Navigasi User

Penjelasan halaman ini

Form input proyek baru.Item:Nama proyekTgl mulaiTgl akhir

Navigasi User

Penjelasan halaman ini

Informasi proyek

Daftar elemen proyek yang sudah disimpan dalam basis data

Gantt Chart Proyek

Link kembali ke halaman sebelumnya

Navigasi User

Penjelasan halaman ini

Informasi proyek

Form input elemen proyekItem:

Nama elemenPIC elemenTgl mulaiTgl akhir

Informasi semua pengguna sistem dan statusnya

Daftar elemen proyek yang sudah disimpan dalam basis data

Page 73: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.17 Form input bagian proyek

Admin

Gambar dibawah ini adalah antarmuka yang terdapat dalam menu Admin.

Gambar III.18 adalah antarmuka halaman depan yang didalamnya terdapat

sebuah form yang digunakan untuk memperbaharui pengumuman.

Pengumuman ini akan ditampilkan pada halaman home setiap pengguna

sistem. Gambar III.19 adalah antarmuka untuk mengisi data pengguna system

baru. Gambar berikutnya, gambar III.20, adalah antarmuka pada menu admin

untuk mengkonfigurasi grup pengguna sistem.

Gambar III.18 Halaman depan

54

PengumumanPengumuman sekarangPengumuman baru:

Navigasi User

Penjelasan halaman ini

Perbarui pengumuman

Navigasi User

Penjelasan halaman ini

Simpan data

Daftar Semua Pengguna Sistem

Form Input Pengguna Sistem Baru.Item:Data diriHak akses aplikasi

Page 74: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.19 Form input pengguna sistem baru

Gambar III.20 Konfigurasi grup pengguna sistem

55

Navigasi User

Penjelasan halaman ini

Simpan data

Daftar Grup Pengguna Sistem

Form Input Grup Pengguna Sistem.Item:Nama Grup

Page 75: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Polls

Berikut ini merupakan rancangan antarmuka menu Polls. Gambar yang

pertama merupakan antarmuka yang menampilkan semua poll berikut hasilnya

untuk semua poll yang dipublikasikan. Gambar berikutnya adalah rancangan

antarmuka untuk mengkonfigurasi poll.

Gambar III.21 Polls dan hasilnya

Gambar III.22 Setting atau konfigurasi poll

56

Navigasi User

Penjelasan halaman ini

Pertanyaan poll 2.Jawaban 1 (prosentase) (pemilih)Jawaban 2 (prosentase) (pemilih)Dst..

Navigasi User

Penjelasan halaman ini

Pertanyaan poll 2. [Tambah Jawaban] [Edit] [Hapus]Jawaban 1 [ubah] [hapus]Jawaban 2 [ubah] [hapus]Dst..Status poll [level 1] [level 2] [level 3]

Page 76: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Artikel

Berikut ini merupakan rancangan antarmuka pada menu Artikel. Gambar

III.23 adalah antarmuka pada halaman utama(hanya untuk 30 artikel

terbaru yang sudah dipublikasikan) dan pencarian artikel(berdasar

katakunci tertentu). Gambar III.24 adalah antarmuka untuk memasukkan

artikel baru. Gambar III.25 adalah antarmuka untuk meng-administrasi

artikel-artikel yang belum dipublikasikan.

Gambar III.23 Halaman utama dan hasil pencarian artikel

Gambar III.24 Form input artikel baru

57

Navigasi User

Penjelasan halaman ini

Pengarang ArtikelTanggal input artikelIsi artikel

Pengarang ArtikelTanggal input artikelIsi artikel

Navigasi User

Penjelasan halaman ini

Form input artikel baru.Item:Judul artikelKata kunci pencarianIsi artikel

Simpan Data

Page 77: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar III.25 Administrasi artikel

Informasi Sistem

Berikut ini merupakan rancangan antarmuka menu Informasi Sistem yang

berisi beberapa informasi tentang plaform yang dipakai.

Gambar III.26 Informasi Sistem

58

Navigasi User

Penjelasan halaman ini

Informasi Utama

Informasi Perangkat keras

Status Penggunaan Jaringan

Status Penggunaan Memori

Status Penggunaan Media Penyimpanan dan Filesystem

Navigasi User

Penjelasan halaman ini

Pengarang ArtikelTanggal input artikelPerintah : [Publikasikan] [Ubah] [Hapus]Isi artikel

Page 78: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system
Page 79: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

BAB IV

IMPLEMENTASI PROGRAM

IV.1 Struktur Menu Program

Struktur menu menggambarkan menu-menu dan proses dari

program yang dapat dilakukan oleh user sesuai dengan hak akses masing-

masing.

Gambar IV.1 Struktur menu program

58

Pengguna Sistem

Home

Addressbook

Daftar Kegiatan

Pesan

Project Manager

Admin

Polls

Artikel

Lihat Addressbook

Tambah Data

Kegiatan Proyek

Kegiatan PribadiTambah Data

Lihat DataBaca Pesan

Tulis Pesan

Edit Pengumuman

Input Data User

Konfigurasi Grup User

Lihat Data Proyek

Input Proyek Baru

Pencarian Data Proyek

Input Elemen

Edit Elemen

Baca Artikel

Input Artikel

Konfigurasi ArtikelTambah Data

Edit Data

Publikasi

Informasi Sistem

Password

Logout

Lihat Poll dan Hasilnya

Setting PollTambah Data

Edit Data

Pilih Pilihan

Ganti Password

Edit Progress

Edit Progress

Lihat Data

Page 80: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

IV.2 Tampilan Program Dan Penjelasan

Bagian ini akan menjelaskan jalannya program disertai potongan-

potongan yang dibutuhkan.

IV.2.1 Koneksi Basis Data

Sebelum mampu mengakses basis data server, harus

dilakukan koneksi ke basis data. Untuk koneksi ke mysql server

digunakan perintah :

$dbhost = 'localhost';$dbuser = 'root';$dbpass = '';$db_core = 'blueoctopus';/* ---- Direct MySQL Database access ----- */$dbcnnx = mysql_connect($dbhost,$dbuser,$dbpass);$dbused = mysql_select_db($db_core,$dbcnnx);

Basis data yang digunakan adalah blueoctopus. Perintah

diatas disimpan dengan nama config.inc.php. File ini akan

disertakan dalam setiap file php yang membutuhkan koneksi ke

basis data.

IV.2.2 Halaman Login

Untuk masuk ke dalam sistem aplikasi ini semua user

harus melakukan login. Halaman ini akan muncul saat pertama

kali user mengunjungi root directory dari aplikasi(index.php).

Setelah username dan password dimasukkan, maka halaman ini

akan melakukan pengecekan data yang dimasukkan. Jika data

benar maka sistem akan mengecek hak akses menu-menu dari

59

Page 81: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

username dan password tersebut sehingga user akan dapat masuk

ke sistem sesuai dengan hak aksesnya masing-masing. Tampilan

dari halaman login adalah seperti berikut ini:

Gambar IV.2 Halaman login

Kode program dari halaman ini disimpan dalam file

index.php yang didalamnya berisi perintah-perintah seperti

dibawah ini:

<?phpsession_start();if(isset($_GET['system_logout'])){ session_unset(); session_destroy();}require_once 'core/config/config.inc.php';if($_POST['update_password'] == '1'){

$chp_useridx = $_SESSION['xorc_id'];$chp_passwdx = md5($_POST['neu_password']);$sqxchp = mysql_query("UPDATE bo_registered_orc SET

orc_password = '$chp_passwdx' WHERE orc_id = '$chp_useridx' LIMIT 1");

session_unset();session_destroy();}// ===============================================================if($dbused!=1) {

$smarty->display('trulogix_login/fe_nodb_cnnx.tpl');}if($dbused==1) {

if(!isset($_POST['system_login'])) {$smarty->display('trulogix_login/init_login.tpl');

60

Page 82: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

} else {$usernamex = $_POST['username'];$passwordx = md5($_POST['password']);$sqx_aa = mysql_query("SELECT * FROM bo_registered_orc WHERE

orc_username = '$usernamex' AND orc_status = '1' LIMIT 1");if(mysql_num_rows($sqx_aa)!=1) {

$smarty->display ('trulogix_login/failed_no_username.tpl');

}if(mysql_num_rows($sqx_aa)==1) {

while($sqr_aa = mysql_fetch_array($sqx_aa)) {$xuser_idx = $sqr_aa['orc_id'];$xusername = $sqr_aa['orc_username'];$xpassword = $sqr_aa['orc_password'];if($passwordx != $xpassword) {

$smarty->assign('username',$usernamex);$smarty->display

('trulogix_login/failed_wrong_password.tpl');}if($passwordx == $xpassword) {

$seedx = make_seed();$sessxid = md5(strval($xuser_idx.$seedx));$_SESSION['xsessid'] = $sessxid;$_SESSION['xorc_id'] = $xuser_idx;$_SESSION['xusername'] = $sqr_aa['orc_username'];$_SESSION['xpassword'] = $sqr_aa['orc_password'];$_SESSION['xfirstname'] = $sqr_aa['orc_firstname'];$_SESSION['xlastname'] = $sqr_aa['orc_lastname'];$_SESSION['xorcgroup'] = $sqr_aa['orc_group'];$_SESSION['xlastlogin'] = $sqr_aa['orc_lastlogin'];$_SESSION['xtimelogin'] = date('Y-m-d H:i:s');$sqx_bb = mysql_query("SELECT * FROM

bo_registered_access WHERE access_orc = '$xuser_idx' AND access_status = '1'");

if(mysql_num_rows($sqx_bb) <= 0){$smarty->assign

('username',$sqr_aa['orc_username']);$smarty->display

('trulogix_login/noactive_application.tpl');} else {

$smarty->assign('session_target',$sessxid);$smarty->display

('trulogix_login/application_holder.tpl');}mysql_free_result($sqx_bb);

}}

}mysql_free_result($sqx_aa);$sqlupdlastlogin = mysql_query("UPDATE bo_registered_orc SET

orc_lastlogin = NOW() WHERE orc_id = '$xuser_idx'");}

}?>

61

Page 83: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Pada kode perintah diatas, pertama-tama akan diperiksa

apakah aplikasi sudah terhubung dengan basis data atau tidak.

Apabila aplikasi terhubung dengan basis data, kemudian akan

dibandingkan antara data username (variable $usernamex) dan

password(variable $passwordx) dengan data yang ada di basis

data dalam table bo_registered_orc. Apabila username dan

password cocok semua, kemudian semua data user tersebut akan

disimpan dalam session, termasuk kode user(variable

$xuser_idx). Setelah itu akan dilakukan penghitungan jumlah

data menu-menu dari aplikasi berdasar kode user tersebut. Hal ini

dilakukan untuk menampilkan menu pada frame header menu.

Dari hal diatas dapat diketahui bahwa hak akses setiap pengguna

sistem bisa berbeda-beda tergantung dari administrator sistem

saat data user tersebut dibuat. Jika diketahui user tersebut

memiliki satu atau lebih hak akses atas menu dari aplikasi ini,

maka program akan menampilkan file aplication_holder.tpl. File

tersebut akan membagi sebuah window menjadi beberapa

bagian(frame) yang memuat logo gambar, logo tulisan, link ganti

password, link untuk logout, menu-menu sesuai dengan hak

akses user tersebut, halaman home dan footer yang berisi nama

dan waktu login.

IV.2.3 Halaman Home

Halaman home berisi data diri user, jumlah pesan yang

belum dibaca dalam kotak masuk pesan, pengumuman dari

62

Page 84: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

administrator sistem, daftar pekerjaan yang ditawarkan dan daftar

perkerjaan yang sudah diterima dan belum selesai dikerjakan.

Tampilan dari halaman home adalah seperti gambar dibawah ini:

Perintah-perintah untuk menampilkan halaman home

dimuat dalam file home_index.php, kode perintahnya dapat kita

lihat seperti dibawah ini.

<?phpsession_start();require_once 'core/config/config.inc.php';require_once 'core/config/core.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

if(isset($_GET['acceptoffer'])) {$el_id = $_GET['acceptoffer'];$updacc = mysql_query("UPDATE bo_project_element SET

el_accepted = '1' WHERE el_id = '$el_id'");}if(isset($_GET['rejectoffer'])) {

$el_id = $_GET['rejectoffer'];$updrej = mysql_query("UPDATE bo_project_element SET

el_accepted = '2' WHERE el_id = '$el_id'");}$xorcid = $_SESSION['xorc_id'];$smarty->display('globals/page_begin.tpl');// pesan admin$sqlx = mysql_query("SELECT * FROM bo_message LIMIT 1");

$rowx = mysql_num_rows($sqlx); if($rowx < 1) { $xmsg = "Tidak ada pengumuman";

} else { $resx = mysql_fetch_array($sqlx); $xmsg = $resx['msg_content'];

} mysql_free_result($sqlx); $smarty->assign('xmsg',$xmsg); // --------- // data user dari session

$xorcid = sprintf("%05s",$_SESSION['xorc_id']);$xorcgroup = group_translator($_SESSION['xorcgroup']);

$smarty->assign('xsessid',$_SESSION['xsessid']);$smarty->assign('xorc_id',$xorcid);$smarty->assign('xusername',$_SESSION['xusername']);$smarty->assign('xpassword',$_SESSION['xpassword']);$smarty->assign('xfirstname',$_SESSION['xfirstname']);

63

Page 85: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->assign('xlastname',$_SESSION['xlastname']);$smarty->assign('xorcgroup',$xorcgroup);$smarty->assign('xlastlogin',$_SESSION['xlastlogin']);$smarty->assign('xtimelogin',$_SESSION['xtimelogin']);// ---------// pesan belum terbaca dalam inbox$sqlinbox = mysql_query("SELECT COUNT(um_id) AS newmsg FROM

bo_user_messages WHERE um_read = '0000-00-00 00:00:00' AND um_to = '$xorcid'");

$resinbox = mysql_fetch_array($sqlinbox);$unreadmsg = $resinbox['newmsg'];mysql_free_result($sqlinbox);$smarty->assign('unreadmsg',$unreadmsg);// ---------// kegiatan ditawarkan & diterima$arroffered = array();$sqly = mysql_query("SELECT

p_id,p_title,el_id,el_title,el_startdate,el_enddate,TO_DAYS(el_enddate) - TO_DAYS(el_startdate) AS jml FROM bo_project,bo_project_element WHERE p_id = el_project AND el_accepted = '0' AND el_orc = '$xorcid' ORDER BY p_id,p_title,el_startdate,el_enddate");

$jmloffered = mysql_num_rows($sqly);while($resy = mysql_fetch_array($sqly)) {

array_push($arroffered,$resy);}mysql_free_result($sqly);$smarty->assign('jmloffered',$jmloffered);$smarty->assign('offeredjob',$arroffered);$arraccepted = array();$sqlz = mysql_query("SELECT

p_id,p_title,el_id,el_title,el_startdate,el_enddate,TO_DAYS(el_enddate) - TO_DAYS(el_startdate) + 1 AS jml,el_progress FROM bo_project,bo_project_element WHERE p_id = el_project AND el_accepted = '1' AND el_progress < '100' AND el_orc = '$xorcid' ORDER BY p_id,p_title,el_startdate,el_enddate");

$jmlaccepted = mysql_num_rows($sqlz);while($resz = mysql_fetch_array($sqlz)) {

array_push($arraccepted,$resz);}mysql_free_result($sqlz);$smarty->assign('jmlaccepted',$jmlaccepted);$smarty->assign('acceptedjob',$arraccepted);// ---------

$smarty->display('home/contents.tpl');$smarty->display('globals/page_end.tpl');

}} else {

$smarty->display('trulogix_login/empty_page.tpl');}?>

64

Page 86: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.3 Halaman home

Data diri user diambil dari variabel-variabel yang telah

disimpan dalam session pada saat login. Jumlah pesan yang

belum dibaca dapat diketahui dengan menghitung semua data

dalam tabel bo_user_messages yang kolom um_to sama dengan

kode user tersebut dan um_read sama dengan “0000-00-00

00:00:00”. Isi dari pengumuman diambil dari tabel bo_message.

Apabila dalam tabel bo_message tidak ada data maka secara

otomatis akan ditampilkan tulisan “Tidak ada pengumuman”.

Daftar pekerjaan yang ditawarkan diambil dari tabel

bo_project_element yang kolom el_orc sama dengan kode user

tersebut dan kolom el_accepted sama dengan “0”. Keputusan

menerima atau menolak suatu tawaran pekerjaan dapat dilakukan

65

Page 87: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

dengan menekan link accept(jika menerima) atau reject(jika

menolak). Apabila user menerima suatu tawaran, maka kolom

um_accepted akan di-update menjadi “1”, sebaliknya akan di-

update menjadi “2”. Daftar semua pekerjaan yang diterima dan

belum selesai dikerjakan diambil dari tabel bo_project_element

yang kolom el_orc sama dengan kode user tersebut, kolom

el_accepted sama dengan “1” dan el_progress kurang dari 100.

IV.2.4 Addressbook

Addressbook adalah menu yang digunakan untuk

menyimpan dan melihat nama, alamat dan nomor-nomor contact

person. Berikut ini merupakan tampilan, kode perintah dan

penjelasan dari tiap-tiap bagian yang ada di dalam menu ini.

Gambar IV.4 Lihat Addressbook

66

Page 88: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.5 Tambah data addressbook

Berikut ini merupakan kode perintah yang ada dalam file

address_index.php.

<?phpsession_start();require_once 'core/config/config.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

$smarty->assign('app_id',$_GET['app_id']);$smarty->assign('app_label',$_GET['app_label']);// cari label menu default dari aplikasi ini untuk

ditampilkan$appid = $_GET['app_id'];$sqlx = mysql_query("SELECT * FROM bo_registered_menu

WHERE menu_default = '1' AND menu_app = '$appid' LIMIT 1");$resx = mysql_fetch_array($sqlx);$smarty->assign('menu_label',$resx['menu_label']);$smarty->display('addressbook/index.tpl');

}if(isset($_GET['app_nav'])) {

$xorcid = $_SESSION['xorc_id'];

67

Page 89: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$appid = $_GET['app_id'];$arrmenukb = array();$sqlx = mysql_query("SELECT

menu_id,menu_action_file,menu_label FROM bo_registered_menu,bo_registered_access_menu WHERE menu_id = am_menu AND am_orc = '$xorcid' AND am_status = '1' AND menu_app = '$appid' ORDER BY menu_id");

while($resx = mysql_fetch_array($sqlx)) {array_push($arrmenukb,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrmenukb',$arrmenukb);$smarty->assign('app_label',$_GET['app_label']);$smarty->display('addressbook/navigator.tpl');

}// daftar temanif(isset($_GET['peoples'])) {

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Berikut ini merupakan seluruh daftar <i>contact person</i> anda. Daftar Addressbook anda tidak hanya berisi data private anda, tapi juga berisi semua data publik milik setiap pengguna sistem ini."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arrawalan = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); if(isset($_GET['awalan'])) { $xawalan = $_GET['awalan']; } else { $xawalan = '%'; } $smarty->assign('arrawalan',$arrawalan); $smarty->assign('xawalan',$xawalan); $smarty->display('addressbook/find_address.tpl'); $xorcid = $_SESSION['xorc_id']; $arradd = array(); $sqlx = mysql_query("SELECT * FROM bo_addressbook WHERE add_name LIKE '$xawalan%' AND ((add_orc = '$xorcid' AND add_status = '1') OR add_status = '2') ORDER BY add_name"); while($resx = mysql_fetch_array($sqlx)) { array_push($arradd,$resx); }

68

Page 90: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

mysql_free_result($sqlx); $smarty->assign('arradd',$arradd); $smarty->display('addressbook/address_list.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// tambah data temanif(isset($_GET['add_peoples'])) {

if(isset($_POST['submit_new_people'])) { $xorcid = $_SESSION['xorc_id']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $emailadd = $_POST['emailadd']; $nomorkantor = $_POST['nomorkantor']; $nomorfax = $_POST['nomorfax']; $nomorhandphone = $_POST['nomorhandphone']; $nomorrumah = $_POST['nomorrumah']; $xprivate = $_POST['xprivate']; $insadd = mysql_query("INSERT INTO bo_addressbook(add_name,add_address,add_email,add_office,add_fax,add_mobile,add_home,add_status,add_orc) VALUES('$nama','$alamat','$emailadd','$nomorkantor','$nomorfax','$nomorhandphone','$nomorrumah','$xprivate','$xorcid')"); }

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Gunakan form dibawah ini untuk menambah data teman atau <i>contact person</i> untuk anda. Hasil memasukkan data pada form dibawah akan tampak pada menu &quot;Lihat Addressbook&quot;. Pilihlah &quot;Private&quot; jika anda menghendaki data yang anda masukkan hanya muncul pada daftar <i>contact person</i> anda saja. Jika anda menginginkan data tersebut muncul untuk setiap pengguna sistem ini, pilihlah &quot;Public&quot;."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $smarty->display('addressbook/address_form.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}

} else {$smarty->display('trulogix_login/empty_page.tpl');

}?>

69

Page 91: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Dengan mengamati kode program diatas dapat dilihat

bahwa menu addressbook ini terbagi menjadi empat bagian yaitu

bagian yang membagi frame tengah menjadi dua secara vertikal,

bagian yang memuat sub-menu, bagian yang digunakan untuk

melihat isi addressbook, dan bagian yang digunakan untuk

menyimpan data baru. Berikut ini merupakan penjelasan dari

bagian-bagian yang telah disebutkan diatas:

Bagian pembagi frame.

Bagian ini akan dijalankan apabila variabel

$_GET[‘app_start’] di-set. Bagian ini bertugas membagi

frame yang berada di tengah menjadi dua secara vertikal.

Bagian frame yang pertama adalah bagian yang memuat sub-

menu dari menu yang dipilih(variabel $app_id) dan bagian

yang kedua akan memuat sub-menu default dari menu yang

dipilih. Bagian ini terdapat dalam setiap menu yang

tersimpan dalam basis data dan melakukan hal yang sama,

karena itu penulis hanya akan membahas bagian ini satu kali

saja.

Bagian yang memuat sub-menu.

Bagian ini akan dijalankan apabila variabel

$_GET[‘app_nav’] di-set. Pada bagian ini perintah yang

paling utama adalah membaca dan menampilkan semua sub-

menu dari menu yang dipilih(variabel $appid) dan user

tersebut(variabel $xorcid) mempunyai hak akses atas sub-

70

Page 92: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

menu tersebut. Data-data yang berhubungan dengan hak

akses user atas suatu sub-menu terdapat di dalam tabel

bo_registered_access_menu. Apabila user berhak atas suatu

sub-menu kolom am_menu akan bernilai sama dengan ID

sub-menu, kolom am_orc akan bernilai sama dengan user-ID

tersebut dan am_status akan bernilai sama dengan “1”.

Bagian ini terdapat dalam setiap menu yang tersimpan dalam

basis data dan melakukan hal yang sama, karena itu penulis

hanya akan membahas bagian ini satu kali saja.

71

Page 93: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Lihat isi addressbook.

Variabel $arrawalan adalah variabel array yang berisi

huruf dari A sampai Z. Variabel ini berfungsi untuk

menampilkan huruf-huruf tersebut yang nantinya digunakan

sebagai link-link untuk mencari daftar contact person dengan

nama yang huruf awalnya sama dengan huruf yang dipilih.

Huruf awal yang dipilih tersebut berada dalam variabel

$xawalan. Saat pertama kali membuka halaman ini, dimana

variabel $awalan belum diberi nilai, variabel $xawalan diberi

nilai sama dengan “%”(nilai default). Query yang dijalankan

untuk menampilkan daftar contact person adalah memilih

semua data dalam tabel bo_addressbook dimana huruf awal

namanya seperti variabel $xawalan dan status datanya sama

dengan “1”(private) dan pemilik datanya sama dengan user-

ID tersebut atau huruf awal namanya seperti variabel

$xawalan dan status datanya sama dengan “2”(public), data

diurutkan berdasarkan nama.

Form isi data baru.

Dalam bagian ini akan ditampilkan form untuk

mengisi data contact person baru. Setelah tombol submit

pada form tersebut ditekan, maka query untuk memasukkan

data dalam tabel bo_addressbook akan dijalankan.

IV.2.5 Daftar Kegiatan

72

Page 94: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Daftar kegiatan terbagi menjadi dua yaitu kegiatan yang

berhubungan dengan proyek dan kegiatan pribadi. Dua kegiatan

tersebut tidak saling berkaitan. Tampilan, kode perintah dan

penjelasan dari menu ini adalah seperti dibawah ini.

Gambar IV.6 Lihat kegiatan proyek

73

Page 95: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.7 Form update progress dan isi dokumentasi

Gambar IV.8 Form input kegiatan pribadi dan daftar kegiatan pribadi

74

Page 96: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.9 Form edit kegiatan pribadi

Gambar IV.10 Form update progress kegiatan pribadi

75

Page 97: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Berikut ini merupakan kode perintah menu kegiatan yang

disimpan dalam file todo_index.php.

<?phpsession_start();require_once 'core/config/config.inc.php';require_once 'core/config/core.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

$smarty->assign('app_id',$_GET['app_id']);$smarty->assign('app_label',$_GET['app_label']);// cari label menu default dari aplikasi ini untuk

ditampilkan$appid = $_GET['app_id'];$sqlx = mysql_query("SELECT * FROM bo_registered_menu

WHERE menu_default = '1' AND menu_app = '$appid' LIMIT 1");$resx = mysql_fetch_array($sqlx);$smarty->assign('menu_label',$resx['menu_label']);$smarty->display('todo/index.tpl');

}if(isset($_GET['app_nav'])) {

$xorcid = $_SESSION['xorc_id'];$appid = $_GET['app_id'];$arrmenukb = array();$sqlx = mysql_query("SELECT

menu_id,menu_action_file,menu_label FROM bo_registered_menu,bo_registered_access_menu WHERE menu_id = am_menu AND am_orc = '$xorcid' AND am_status = '1' AND menu_app = '$appid' ORDER BY menu_id");

while($resx = mysql_fetch_array($sqlx)) {array_push($arrmenukb,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrmenukb',$arrmenukb);$smarty->assign('app_label',$_GET['app_label']);$smarty->display('todo/navigator.tpl');

}// lihat kegiatan pada tanggal tttif(isset($_GET['lihat_tgl'])) {

$xorcid = $_SESSION['xorc_id']; if(isset($_GET['hari_ini'])) { $tgl = date('Y-m-d'); $xrange = "tanggal ".date_translator($tgl);

} else {if(isset($_GET['lihat_hari'])) {

$tgl = $_GET['tgl'];$xrange = "tanggal

".date_translator($tgl);}if(isset($_GET['lihat_mgu'])) {

76

Page 98: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$tglx = $_GET['tgl'];$sqly = mysql_query("SELECT

DATE_ADD('$tglx', INTERVAL 6 DAY) AS tgly");$resy = mysql_fetch_array($sqly);$tgl = $resy['tgly'];mysql_free_result($sqly);$xrange = "tanggal

".date_translator($tglx)." sampai dengan tanggal ".date_translator($tgl);

}if(isset($_GET['lihat_bln'])) {

$tglx = $_GET['tgl'];$tmptgl = explode("-",$tglx);$dd = end_of_month($tmptgl[1],$tmptgl[0]);$tgl =

strval($tmptgl[0]."-".$tmptgl[1]."-".$dd);$xrange = "tanggal

".date_translator($tglx)." sampai dengan tanggal ".date_translator($tgl);

}}// lets begin

$smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Berikut ini merupakan semua kegiatan anda pada ".$xrange." yang <b>sudah anda terima</b> dan kegiatan yang <b>belum selesai dikerjakan</b>. Untuk melihat semua kegiatan yang <b>ditawarkan</b> kepada anda, klik &quot;Home&quot;. Kegiatan yang jatuh temponya pada hari ini akan berwarna kuning pada kolom tanggal akhirnya. Kegiatan yang jatuh temponya sudah lewat akan berwarna merah pada kolom tanggal akhirnya. Kegiatan yang sudah selesai tidak akan ditampilkan. Untuk mengubah data perkembangan sebuah kegiatan, tekanlah <i>link</i> &quot;Edit Progress&quot;."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arrtodo = array(); $sqlx = mysql_query("SELECT p_id,p_title,el_id,el_title,el_startdate,el_enddate,el_progress,TO_DAYS(el_enddate) - TO_DAYS(el_startdate) + 1 AS jml FROM bo_project,bo_project_element WHERE p_id = el_project AND el_orc = '$xorcid' AND el_startdate <= '$tgl' AND el_progress < '100' ORDER BY el_project,el_startdate,el_enddate"); while($resx = mysql_fetch_array($sqlx)) { array_push($arrtodo, $resx);

}

77

Page 99: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

mysql_free_result($sqlx);$smarty->assign('acceptedjob',$arrtodo);

$smarty->assign('xtoday',date('Y-m-d')); $smarty->display('todo/todo_list.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// personal organizer (simple!)if(isset($_GET['kegiatan_pribadi'])) {

$xorcid = $_SESSION['xorc_id'];if(isset($_POST['submit_new_act'])) {

$act = $_POST['actx'];$ddx = $_POST['ddx'];$mmx = $_POST['mmx'];$yyx = $_POST['yyx'];$ddy = $_POST['ddy'];$mmy = $_POST['mmy'];$yyy = $_POST['yyy'];$insact = mysql_query("INSERT INTO

bo_individual_act(in_act,in_startdate,in_enddate,in_orc,in_lastupdate) VALUES('$act','$yyx-$mmx-$ddx','$yyy-$mmy-$ddy','$xorcid',NOW())");

}if(isset($_GET['editindact'])) {

$in_id = $_GET['in_id'];$sqly = mysql_query("SELECT * FROM

bo_individual_act WHERE in_id = '$in_id'");while($resy = mysql_fetch_array($sqly)) {

$in_act = $resy['in_act'];$tglx =

explode("-",$resy['in_startdate']);$tgly = explode("-",$resy['in_enddate']);

}mysql_free_result($sqly);$smarty->assign('in_act',$in_act);$ddx = $tglx[2];$mmx = $tglx[1];$yyx = $tglx[0];$ddy = $tgly[2];$mmy = $tgly[1];$yyy = $tgly[0];$smarty->assign('ddx',$ddx);$smarty->assign('mmx',$mmx);$smarty->assign('yyx',$yyx);$smarty->assign('ddy',$ddy);$smarty->assign('mmy',$mmy);$smarty->assign('yyy',$yyy);$smarty->assign('in_id',$in_id);$smarty->assign('editact','enable');

}if(isset($_POST['submit_upd_act'])) {

$act = $_POST['actx'];$ddx = $_POST['ddx'];$mmx = $_POST['mmx'];$yyx = $_POST['yyx'];$ddy = $_POST['ddy'];

78

Page 100: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$mmy = $_POST['mmy'];$yyy = $_POST['yyy'];$in_id = $_POST['in_id'];$updact = mysql_query("UPDATE bo_individual_act

SET in_act = '$act', in_startdate = '$yyx-$mmx-$ddx', in_enddate = '$yyy-$mmy-$ddy', in_lastupdate = NOW() WHERE in_id = '$in_id' LIMIT 1");

}if(isset($_POST['submit_prog_act'])) {

$in_id = $_POST['in_id'];$in_progress = $_POST['in_progress'];$updprog = mysql_query("UPDATE bo_individual_act

SET in_progress = '$in_progress', in_lastupdate = NOW() WHERE in_id = '$in_id' LIMIT 1");

if($in_progress == '100') {$updisdone = mysql_query("UPDATE

bo_individual_act SET in_finished = CURDATE(), in_lastupdate = NOW() WHERE in_id = '$in_id' LIMIT 1");

} else {$updundone = mysql_query("UPDATE

bo_individual_act SET in_finished = '0000-00-00', in_lastupdate = NOW() WHERE in_id = '$in_id' LIMIT 1");

}}// lets begin

$smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Berikut ini merupakan fasilitas untuk mengorganisasi kegiatan pribadi anda. Gunakan form dibawah ini untuk menambah kegiatan pribadi anda. Untuk mengubah data perkembangan, klik kode kegiatan anda. Kegiatan yang sudah selesai tidak akan ditampilkan.";

$smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $smarty->display('globals/new_table.tpl'); $smarty->display('globals/new_row.tpl'); $smarty->display('globals/new_column.tpl'); if(!isset($_GET['editprogress'])) {

// add or editif(!isset($_GET['editindact'])) { $smarty-

>assign('editact','disable'); }$dd = date('d');$mm = date('m');$yy = date('Y');$smarty->assign('dd',$dd);

79

Page 101: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->assign('mm',$mm);$smarty->assign('yy',$yy);$smarty-

>display('todo/individual_activity_form.tpl');} else {

// edit progress$in_id = $_GET['in_id'];$sqly = mysql_query("SELECT

*,TO_DAYS(in_enddate) - TO_DAYS(in_startdate) + 1 AS jml FROM bo_individual_act WHERE in_id = '$in_id'");

while($resy = mysql_fetch_array($sqly)) {$in_act = $resy['in_act'];$tglx = $resy['in_startdate'];$tgly = $resy['in_enddate'];$jml = $resy['jml'];$prog = $resy['in_progress'];

}mysql_free_result($sqly);$smarty->assign('in_id',$in_id);$smarty->assign('in_act',$in_act);$smarty->assign('tglx',$tglx);$smarty->assign('tgly',$tgly);$smarty->assign('jml',$jml);$smarty->assign('prog',$prog);$smarty-

>display('todo/individual_activity_progress.tpl');}

$smarty->display('globals/end_column.tpl'); $smarty->display('globals/new_column.tpl'); // list $arract = array(); $sqlx = mysql_query("SELECT *,TO_DAYS(in_enddate) - TO_DAYS(in_startdate) + 1 AS jml FROM bo_individual_act WHERE in_orc = '$xorcid' AND in_progress < '100' ORDER BY in_enddate,in_startdate,in_act"); $rowact = mysql_num_rows($sqlx);

while($resx = mysql_fetch_array($sqlx)) { array_push($arract,$resx);

}mysql_free_result($sqlx);$smarty->assign('arract',$arract);$smarty->assign('rowact',$rowact);$smarty->display('todo/individual_activity_list.tpl');

$smarty->display('globals/end_column.tpl'); $smarty->display('globals/end_row.tpl'); $smarty->display('globals/end_table.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// edit progressif(isset($_GET['edit_progress'])) {

$el_id = $_GET['el_id'];if(isset($_POST['submit_upd_progress'])) {

$el_progress = $_POST['el_progress'];if($el_progress > 100) { $el_progress = 100; }

80

Page 102: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$updx = mysql_query("UPDATE bo_project_element SET el_progress = '$el_progress', el_lastupdate = NOW() WHERE el_id = '$el_id' LIMIT 1");

// determine if an element was finishedif($el_progress == '100') {

$updy = mysql_query("UPDATE bo_project_element SET el_finished = CURDATE(), el_lastupdate = NOW() WHERE el_id = '$el_id' LIMIT 1");

} else {$updy = mysql_query("UPDATE

bo_project_element SET el_finished = '0000-00-00', el_lastupdate = NOW() WHERE el_id = '$el_id' LIMIT 1");

}// determine if a project was finished$sqly = mysql_query("SELECT el_project FROM

bo_project_element WHERE el_id = '$el_id' LIMIT 1");$resy = mysql_fetch_array($sqly);$p_id = $resy['el_project'];mysql_free_result($sqly);$sqlz = mysql_query("SELECT

p_id,ROUND(SUM(el_progress)/COUNT(el_id)) AS total_progress FROM bo_project,bo_project_element,bo_registered_orc WHERE p_id = el_project AND p_id = '$p_id' GROUP BY p_id");

$resz = mysql_fetch_array($sqlz);$prog = $resz['total_progress'];if($prog == '100') {

$updz = mysql_query("UPDATE bo_project SET p_finished = CURDATE(), p_lastupdate = NOW() WHERE p_id = '$p_id' LIMIT 1");

} else {$updz = mysql_query("UPDATE bo_project SET

p_finished = '0000-00-00', p_lastupdate = NOW() WHERE p_id = '$p_id' LIMIT 1");

}// insert documentation on an elementif(strlen($_POST['docx']) > 0) {

$docx = $_POST['docx'];$insdoc = mysql_query("INSERT INTO

bo_documentation(doc_datetime,doc_element,doc_notes) VALUES(NOW(),'$el_id','$docx')");

}}// lets begin

$smarty->display('globals/page_begin.tpl'); // navigation $user_position = strval($_GET['current_pos']." >> Ubah Data Perkembangan"); $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Untuk mengubah perkembangan proyek, isilah form dibawah ini kemudian tekanlah tombol &quot;Perbaharui Data&quot;. Data perkembangan sebuah proyek yang mungkin adalah diantara 0 s.d 100."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%');

81

Page 103: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->display('globals/clues_box.tpl'); // main content $smarty->assign('current_pos',$_GET['current_pos']); $sqlx = mysql_query("SELECT p_id,p_title,el_title,el_startdate,el_enddate,el_progress FROM bo_project,bo_project_element WHERE p_id = el_project AND el_id = '$el_id'"); while($resx = mysql_fetch_array($sqlx)) { $p_id = $resx['p_id']; $p_title = $resx['p_title']; $el_title = $resx['el_title']; $el_startdate = $resx['el_startdate']; $el_enddate = $resx['el_enddate']; $el_progress = $resx['el_progress'];

}mysql_free_result($sqlx);$arrdoc = array();$sqldoc = mysql_query("SELECT * FROM bo_documentation

WHERE doc_element = '$el_id' ORDER BY doc_datetime DESC");$rowdoc = mysql_num_rows($sqldoc);while($resdoc = mysql_fetch_array($sqldoc)) {

array_push($arrdoc,$resdoc);}mysql_free_result($sqldoc);$smarty->assign('rowdoc',$rowdoc);$smarty->assign('arrdoc',$arrdoc);

$smarty->assign('p_id',$p_id); $smarty->assign('p_title',$p_title); $smarty->assign('el_id',$el_id); $smarty->assign('el_title',$el_title); $smarty->assign('el_startdate',$el_startdate); $smarty->assign('el_enddate',$el_enddate); $smarty->assign('el_progress',$el_progress); $smarty->display('globals/new_table.tpl'); $smarty->display('globals/new_row.tpl'); $smarty->display('globals/new_column.tpl'); $smarty->display('todo/edit_progress.tpl'); $smarty->display('globals/end_column.tpl'); $smarty->display('globals/new_column.tpl'); $smarty->display('todo/doc_list.tpl'); $smarty->display('globals/end_column.tpl'); $smarty->display('globals/end_row.tpl'); $smarty->display('globals/end_table.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}

} else {$smarty->display('trulogix_login/empty_page.tpl');

}?>

Dengan mengamati kode program diatas dapat dilihat

bahwa menu Daftar Kegiatan ini terbagi menjadi lima bagian

yaitu: bagian yang membagi frame tengah menjadi dua secara

82

Page 104: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

vertikal, bagian yang memuat sub-menu, bagian yang digunakan

untuk melihat kegiatan proyek pada tanggal tertentu, bagian yang

berhubungan dengan kegiatan pribadi dan bagian yang

digunakan untuk mengupdate progress dari kegiatan proyek.

Berikut ini merupakan penjelasan dari bagian-bagian yang telah

disebutkan diatas:

Lihat kegiatan proyek pada tanggal tertentu.

Dalam bagian ini variabel yang menentukan data-data

yang ditampilkan adalah variabel $tgl. Variabel tersebut

bernilai tanggal dalam format yyyy-mm-dd. Saat pertama kali

membuka halaman ini, secara default, variabel $tgl akan

bernilai sama dengan tanggal hari ini. Apabila kita

menggunakan fasilitas kalender yang berada di bawah link-

link sub-menu maka variabel $tgl akan bernilai sama dengan

tanggal yang dipilih atau tanggal akhir dari suatu minggu

yang yang dipilih atau tanggal akhir dari suatu bulan yang

dipilih. Query yang dijalankan untuk mengambil data

kegiatan proyek pada tanggal tertentu adalah memilih semua

data pada tabel bo_project dan bo_project_element dimana

petugas yang berwenang sama dengan user-ID tersebut dan

tanggal mulai dari kegiatan tersebut kurang dari sama dengan

variabel $tgl dan kegiatan tersebut belum selesai dan kolom

el_project sama dengan p_id, data-data yang dipilih akan

diurutkan berdasar kode proyek kemudian tanggal mulai

83

Page 105: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

kegiatan kemudian tanggal jatuh tempo kegiatan. Kegiatan

yang jatuh temponya tepat pada hari ini, kolom tanggal

akhirnya akan berwarna kuning. Apabila ada kegiatan yang

tanggal akhirnya sudah lalu, kolom tanggal akhirnya akan

berwarnya merah. Pada setiap kegiatan proyek yang tampil,

disediakan link dengan label “Edit Progress” yang berfungsi

menampilkan form untuk mengubah kemajuan atau

perkembangan dan mengisi dokumentasi atau catatan dari

kegiatan tersebut. Penjelasan setelah link ini ditekan akan

dibahas lebih lanjut pada bagian berikutnya.

Update progress dari kegiatan proyek.

Bagian ini akan dijalankan setelah link “Edit

Progress” ditekan(variabel $_GET[‘edit_progress’] di-set).

Link tersebut menyertakan variabel $el_id yang bernilai ID

dari bagian proyek sebagai parameter untuk mengambil data-

data yang berhubungan dalam tabel bo_project_element,

bo_project dan bo_documentation. Setelah data-data tersebut

diambil, perintah berikutnya adalah menampilkan form yang

mempunyai kegunaan untuk mengubah nilai perkembangan

dari suatu kegiatan dan mengisi dokumentasi. Perintah-

perintah yang dijalankan setelah tombol submit pada form

tersebut ditekan adalah memasukkan nilai kemajuan/progress

dalam variabel $el_progress. Setelah itu nilai $el_progress

akan dibandingkan dengan “100”, apabila lebih besar maka

84

Page 106: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

variabel ini akan diberi nilai sama dengan “100”. Hal ini

dimaksudkan untuk mengantisipasi kesalahan dari pengguna

sistem yang mengisi perkembangan kegiatan dengan nilai

yang lebih tinggi daripada “100”(nilai perkembangan yang

mungkin adalah 0 sampai dengan 100). Setelah itu perintah

yang dijalankan adalah mengupdate kolom el_progress pada

tabel bo_project_element sama dengan nilai variabel

$el_progress. Setelah itu akan dibandingkan nilai variabel

$el_progress dengan “100”, apabila sama(berarti sudah

selesai) maka kolom el_finished akan diupdate sama dengan

tanggal hari ini. Selain itu(belum selesai) kolom el_finished

akan diupdate sama dengan “0000-00-00”. Karena

pengubahan prosentase perkembangan kegiatan akan

berpengaruh terhadap prosentase perkembangan dari proyek

secara keseluruhan maka setelah proses-proses diatas selesai

dijalankan perintah yang dijalankan selanjutnya adalah

menghitung prosentase perkembangan dari proyek secara

keseluruhan. Apabila nilainya sama dengan “100”, maka

kolom p_finished akan diupdate sama dengan tanggal hari

ini, selain itu kolom p_finished akan diupdate menjadi sama

dengan “0000-00-00”. Perintah selanjutnya adalah

membandingkan panjang karakter dari nilai yang tersimpan

dalam variabel $_POST[‘docx’] dengan “0”. Apabila lebih

besar, maka akan dijalankan query untuk menyimpan

85

Page 107: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

dokumentasi pada sebuah elemen yang diketikkan pada form

edit progress kegiatan proyek tersebut di dalam tabel

bo_documentation.

Kegiatan pribadi.

Bagian ini merupakan bagian yang berhubungan

dengan kegiatan pribadi yang diinputkan oleh pengguna

sistem dan tidak berhungan dengan kegiatan proyek. Pada

bagian ini akan ditampilkan form untuk memasukkan

kegiatan pribadi pada sebelah kiri dan disebelah kanan form

tersebut akan ditampilkan seluruh kegiatan yang belum

selesai dikerjakan. Perintah yang dijalankan setelah tombol

submit form input ini ditekan adalah menjalankan query

untuk menyimpan data yang diketikkan dalam tabel

bo_individual_act. Form untuk memasukkan data kegiatan

pribadi tersebut akan diganti dengan form untuk mengubah

data kegiatan setelah link “Ubah kegiatan” ditekan. Perintah

yang dijalankan setelah tombol submit pada form ubah

kegiatan adalah mengupdate data kegiatan, tanggal mulai dan

tanggal jatuh tempo sama dengan nilai-nilai yang

dimasukkan melalui form tersebut. Setelah link “Ubah

Progress” ditekan akan ditampilkan form ubah progress yang

berguna untuk mengupdate progress dari kegiatan pribadi

yang dipilih. Kegiatan pribadi yang sudah selesai tidak akan

ditampilkan.

86

Page 108: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

IV.2.6 Pesan

Menu Pesan digunakan untuk mengirim dan menerima

pesan dari dan ke sesama pengguna sistem saja. Data-data pesan

ini disimpan dalam tabel bo_user_messages. Identifikasi

pengirim dan penerima berdasarkan user-ID masing-masing.

Tampilan, kode perintah dan penjelasan dari menu ini adalah

seperti dibawah ini.

Gambar IV.11 Kotak masuk dalam menu pesan

87

Page 109: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.12 Tulis pesan

Gambar IV.13 Baca pesan

88

Page 110: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Berikut ini merupakan kode perintah menu Pesan yang

disimpan dalam file email_index.php.

<?phpsession_start();require_once 'core/config/config.inc.php';require_once 'core/config/core.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

$smarty->assign('app_id',$_GET['app_id']);$smarty->assign('app_label',$_GET['app_label']);// cari label menu default dari aplikasi ini untuk

ditampilkan$appid = $_GET['app_id'];$sqlx = mysql_query("SELECT * FROM bo_registered_menu

WHERE menu_default = '1' AND menu_app = '$appid' LIMIT 1");$resx = mysql_fetch_array($sqlx);$smarty->assign('menu_label',$resx['menu_label']);$smarty->display('e_mail/index.tpl');

}if(isset($_GET['app_nav'])) {

$xorcid = $_SESSION['xorc_id'];$appid = $_GET['app_id'];$arrmenukb = array();$sqlx = mysql_query("SELECT

menu_id,menu_action_file,menu_label FROM bo_registered_menu,bo_registered_access_menu WHERE menu_id = am_menu AND am_orc = '$xorcid' AND am_status = '1' AND menu_app = '$appid' ORDER BY menu_id");

while($resx = mysql_fetch_array($sqlx)) {array_push($arrmenukb,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrmenukb',$arrmenukb);$smarty->assign('app_label',$_GET['app_label']);$smarty->display('e_mail/navigator.tpl');

}// inboxif(isset($_GET['inbox_page'])) {

$xorcid = $_SESSION['xorc_id'];if(isset($_POST['after_read_msg'])) {

$um_id = $_POST['um_id']; $updmsg = mysql_query("UPDATE bo_user_messages SET um_read = NOW() WHERE um_id = '$um_id' AND um_read = '0000-00-00 00:00:00' LIMIT 1");

} // lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else {

89

Page 111: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Disinilah tempat anda melihat pesan-pesan untuk anda dari sesama pengguna sistem ini."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arrmsg = array(); $sqlx = mysql_query("SELECT * FROM bo_user_messages WHERE um_to = '$xorcid' ORDER BY um_input DESC"); while($resx = mysql_fetch_array($sqlx)) { $pengirim = user_translator($resx['um_from']); $arrpengirim = array("pengirim" => $pengirim); $arrx = array_merge($resx,$arrpengirim); array_push($arrmsg,$arrx); } mysql_free_result($sqlx); $smarty->assign('arrmsg',$arrmsg); $smarty->display('e_mail/msg_list.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// read messageif(isset($_GET['readmsg'])) {

$um_id = $_GET['um_id']; // lets begin $smarty->display('globals/page_begin.tpl'); // main content $user_position = $_GET['current_pos']; $smarty->assign('user_position',$user_position); $sqlx = mysql_query("SELECT * FROM bo_user_messages WHERE um_id = '$um_id'"); $resx = mysql_fetch_array($sqlx); $smarty->assign('um_id',$um_id); $smarty->assign('xcreatorid',$resx['um_from']); $smarty->assign('xcreator',user_translator($resx['um_from'])); $smarty->assign('xcreated',$resx['um_input']); $smarty->assign('xtitle',$resx['um_title']); $smarty->assign('xcontent',$resx['um_content']); mysql_free_result($sqlx); $smarty->display('e_mail/baca_pesan.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// composeif(isset($_GET['compose_email'])) {

$xorcid = $_SESSION['xorc_id']; if(isset($_POST['submit_usr_msg'])) { $msg_resipient = $_POST['msg_resipient']; $msg_title = $_POST['msg_title'];

90

Page 112: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$msg_content = $_POST['msg_content']; $insusr = mysql_query("INSERT INTO bo_user_messages(um_title,um_content,um_to,um_from,um_input) VALUES('$msg_title','$msg_content','$msg_resipient','$xorcid',NOW())"); if($insusr == 1) { $smarty->assign('xnote','Pesan terkirim'); } else { $smarty->assign('xnote','Pesan gagal terkirim, silakan ulangi mengirim pesan dengan menggunakan form dibawah ini.'); } }

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Gunakan form dibawah ini untuk menulis pesan kepada sesama pengguna sistem ini. Pesan yang anda kirim akan muncul di <i>inbox</i> si-penerima."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content if(isset($_POST['reply_msg'])) { $um_id = $_POST['um_id']; $updmsg = mysql_query("UPDATE bo_user_messages SET um_read = NOW() WHERE um_id = '$um_id' AND um_read = '0000-00-00 00:00:00' LIMIT 1"); $smarty->assign('xtujuan',$xcreatorid); $smarty->assign('xtitle',$xtitle); $smarty->assign('xcontent',$xcontent); } $arrusr = array(); $sqlx = mysql_query("SELECT orc_id,orc_lastname,orc_firstname,orc_username FROM bo_registered_orc WHERE orc_id != '$xorcid' AND orc_status = '1' ORDER BY orc_lastname, orc_firstname"); while($resx = mysql_fetch_array($sqlx)) { array_push($arrusr,$resx); } mysql_free_result($sqlx); $smarty->assign('arrusr',$arrusr); $smarty->display('e_mail/compose_form.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}

} else {

91

Page 113: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->display('trulogix_login/empty_page.tpl');}?>

Dengan mengamati kode program diatas dapat dilihat

bahwa menu Pesan ini terbagi menjadi lima bagian yaitu: bagian

yang membagi frame tengah menjadi dua secara vertikal, bagian

yang memuat sub-menu, bagian yang digunakan untuk melihat

kotak masuk, bagian yang digunakan untuk membaca pesan dan

bagian yang digunakan untuk menulis pesan. Berikut ini

merupakan penjelasan dari bagian-bagian yang telah disebutkan

diatas:

Lihat kotak masuk.

Perintah inti yang terdapat pada bagian ini adalah

menjalankan query yang membaca semua data dalam tabel

bo_user_messages dimana penerima pesan sama dengan

user-ID tersebut, data-data yang diambil akan diurutkan

berdasarkan tanggal dibuatnya pesan secara descending. Pada

pesan yang sudah pernah dibaca, kolom yang paling kanan

akan berwarna oranye dan didalamnya berisi keterangan

bahwa pesan tersebut sudah dibaca dan tanggal dibacanya

pesan tersebut. Pada setiap baris pesan yang tampil, terdapat

tombol untuk memunculkan halaman baru berisi pesan secara

lengkap.

92

Page 114: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Baca pesan.

Bagian ini akan dijalankan setelah tombol “Baca

Pesan” pada daftar pesan-pesan dalam kotak masuk pesan

ditekan. Tombol tersebut memunculkan halaman baru untuk

membuka bagian ini dengan menyertakan ID pesan sebagai

parameter. Perintah yang dijalankan dalam bagian ini adalah

menjalankan query untuk mengambil data pesan yang ID-nya

sama dengan nilai dari variabel $um_id. Pada akhir halaman

ini terdapat dua tombol yaitu tombol untuk menutup halaman

tersebut dan membalas pesan tersebut. Kedua tombol tersebut

setelah ditekan akan menutup halaman tersebut dan

mengupdate status baca atau kolom um_read dalam tabel

bo_user_messages sama dengan waktu sekarang dengan

memanfaatkan fungsi NOW(). Apabila tombol untuk

menutup halaman yang ditekan maka yang kemudian

ditampilkan setelahnya adalah kotak masuk, tetapi jika

tombol untuk membalas pesan yang ditekan maka yang akan

ditampilkan setelahnya adalah form untuk menulis pesan

dimana drop-down penerima sudah bernilai si-pengirim

pesan.

Tulis pesan.

Bagian ini berisi perintah untuk menampilkan form

yang digunakan untuk menulis pesan dan perintah

menjalankan query untuk menyimpan pesan yang diinputkan

93

Page 115: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

melalui form tersebut dalam tabel bo_user_messages. Selain

itu perintah selanjutnya adalah menjalankan query untuk

mengambil data-data pengguna sistem aktif yang akan

ditampilkan sebagai isi dari drop-down penerima dalam form.

IV.2.7 Project Manager

Menu ini merupakan menu inti dari aplikasi blueOctopus.

Tabel-tabel dalam basis data yang digunakan untuk menu ini

adalah bo_project, bo_project_element dan bo_documentation.

Tampilan, kode perintah dan penjelasan dari menu ini adalah

seperti dibawah ini.

Gambar IV.14 Halaman utama

94

Page 116: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.15 Input proyek baru

Gambar IV.16 Input bagian-bagian proyek

95

Page 117: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.17 Lihat detil proyek dan gantt chart

96

Page 118: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.18 Pencarian proyek

Berikut ini merupakan kode perintah menu Pesan yang

disimpan dalam file email_index.php.

<?phpsession_start();require_once 'core/config/config.inc.php';require_once 'core/config/core.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

$smarty->assign('app_id',$_GET['app_id']);$smarty->assign('app_label',$_GET['app_label']);// cari label menu default dari aplikasi ini untuk

ditampilkan$appid = $_GET['app_id'];$sqlx = mysql_query("SELECT * FROM bo_registered_menu

WHERE menu_default = '1' AND menu_app = '$appid' LIMIT 1");$resx = mysql_fetch_array($sqlx);$smarty->assign('menu_label',$resx['menu_label']);$smarty->display('project_manager/index.tpl');

}if(isset($_GET['app_nav'])) {

$xorcid = $_SESSION['xorc_id'];$appid = $_GET['app_id'];$arrmenukb = array();$sqlx = mysql_query("SELECT

menu_id,menu_action_file,menu_label FROM bo_registered_menu,bo_registered_access_menu WHERE menu_id =

97

Page 119: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

am_menu AND am_orc = '$xorcid' AND am_status = '1' AND menu_app = '$appid' ORDER BY menu_id");

while($resx = mysql_fetch_array($sqlx)) {array_push($arrmenukb,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrmenukb',$arrmenukb);$smarty->assign('app_label',$_GET['app_label']);$smarty->assign('findmenu','Pencarian Proyek');$smarty->display('project_manager/navigator.tpl');

}// halaman utamaif(isset($_GET['app_home'])) {

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Halaman ini berisi informasi proyek yang belum selesai dikerjakan. Anda juga dapat melihat daftar semua pengguna sistem besera statusnya. Untuk mencari informasi yang lebih detil tentang suatu proyek, gunakan fasilitas pencarian proyek disamping kiri anda.";

$smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arractiveproject = array(); $sqlx = mysql_query("SELECT p_id,p_title,p_startdate,p_enddate,ROUND(SUM(el_progress)/COUNT(el_id)) AS total_progress,orc_firstname,orc_lastname,orc_username, TO_DAYS(p_enddate) - TO_DAYS(p_startdate) + 1 AS jml FROM bo_project,bo_project_element,bo_registered_orc WHERE p_id = el_project AND p_orc = orc_id GROUP BY p_id HAVING total_progress < 100;"); while($resx = mysql_fetch_array($sqlx)) { array_push($arractiveproject,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrproject',$arractiveproject);$smarty->assign('back_to','app_home');

$smarty->display('project_manager/search_result.tpl'); // orc status $arrorc = array(); $sqlorc = mysql_query("SELECT * FROM bo_registered_orc WHERE orc_status = '1' ORDER BY orc_lastname,orc_firstname,orc_username"); while($resorc = mysql_fetch_array($sqlorc)) { $orc = $resorc['orc_id'];

98

Page 120: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$sqlm = mysql_query("SELECT COUNT(el_id) AS jml FROM bo_project_element WHERE el_orc = '$orc' AND el_accepted = '0' AND el_progress < 100"); $resm = mysql_fetch_array($sqlm); $jmlm = $resm['jml']; mysql_free_result($sqlm); $arrm = array("jmlm" => $jmlm); $sqln = mysql_query("SELECT COUNT(el_id) AS jml FROM bo_project_element WHERE el_orc = '$orc' AND el_accepted = '1' AND el_progress < 100"); $resn = mysql_fetch_array($sqln); $jmln = $resn['jml']; mysql_free_result($sqln); $arrn = array("jmln" => $jmln); $arro = array_merge($resorc,$arrm,$arrn); array_push($arrorc,$arro);

} mysql_free_result($sqlorc); $smarty->assign('arrorc',$arrorc); $smarty->display('globals/line_break.tpl'); $smarty->display('project_manager/orc_status.tpl'); // end of page

$smarty->display('globals/page_end.tpl'); }

// Proyek baruif(isset($_GET['new_project'])) {

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Disinilah tempat anda menambah data proyek baru beserta elemen-elemennya. Pastikan data yang anda masukkan sudah valid sebelum menekan tombol &quot;Simpan Data&quot;."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $dd = date('d'); $mm = date('m'); $yy = date('Y'); $smarty->assign('dd',$dd); $smarty->assign('mm',$mm); $smarty->assign('yy',$yy); $smarty->display('project_manager/add_new_project.tpl'); // end of page

$smarty->display('globals/page_end.tpl');

99

Page 121: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

}// inputkan elemen-elemen proyekif(isset($_GET['add_new_project'])) {

if(isset($_POST['submit_add_project'])) { $p_title = $_POST['p_title']; $ddx = $_POST['ddx']; $mmx = $_POST['mmx']; $yyx = $_POST['yyx']; $ddy = $_POST['ddy']; $mmy = $_POST['mmy']; $yyy = $_POST['yyy']; $xorcid = $_SESSION['xorc_id']; $ins_p = 0; while($ins_p != 1) { $sqla = mysql_query("SELECT MAX(SUBSTRING(p_id,6,5)) AS jml FROM bo_project WHERE p_id LIKE '$yyx%'"); $resa = mysql_fetch_array($sqla); $p_id = strval($yyx."-".(sprintf("%05s",$resa['jml']+1))); mysql_free_result($sqla); $ins_p = mysql_query("INSERT INTO bo_project(p_id,p_title,p_startdate,p_enddate,p_lastupdate,p_orc) VALUES('$p_id','$p_title','$yyx-$mmx-$ddx','$yyy-$mmy-$ddy',NOW(),'$xorcid')"); } $smarty->assign('current_pos',$_GET['current_pos']); $user_position = strval($_GET['current_pos']." >> Tambah Elemen Proyek"); } if(isset($_POST['submit_add_element'])) { $p_id = $_POST['p_id']; $el_title = $_POST['el_title']; $ddx = $_POST['ddx']; $mmx = $_POST['mmx']; $yyx = $_POST['yyx']; $ddy = $_POST['ddy']; $mmy = $_POST['mmy']; $yyy = $_POST['yyy']; $pic = $_POST['pic']; $ins_el = mysql_query("INSERT INTO bo_project_element(el_project,el_title,el_startdate,el_enddate,el_orc,el_lastupdate) VALUES('$p_id','$el_title','$yyx-$mmx-$ddx','$yyy-$mmy-$ddy','$pic',NOW())"); $smarty->assign('current_pos',$_GET['current_pos']); $user_position = strval($_GET['current_pos']." >> Tambah Elemen Proyek");

} if(isset($_GET['editelement'])) { $p_id = $_GET['p_id']; $el_id = $_GET['el_id']; $user_position = strval($_GET['current_pos']." >> Ubah Elemen Proyek"); $smarty->assign('current_pos',$_GET['current_pos']); $smarty->assign('editelement','enable');

100

Page 122: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$sqly = mysql_query("SELECT * FROM bo_project,bo_project_element WHERE p_id = el_project AND el_id = '$el_id' LIMIT 1"); $resy = mysql_fetch_array($sqly); $smarty->assign('xel_title',$resy['el_title']); $smarty->assign('xel_orc',$resy['el_orc']); $tglx = explode("-",$resy['el_startdate']); $tgly = explode("-",$resy['el_enddate']); $smarty->assign('ddx',$tglx[2]); $smarty->assign('mmx',$tglx[1]); $smarty->assign('yyx',$tglx[0]); $smarty->assign('ddy',$tgly[2]); $smarty->assign('mmy',$tgly[1]); $smarty->assign('yyy',$tgly[0]); $smarty->assign('xel_id',$el_id);

}if(isset($_POST['submit_upd_element'])) {

$p_id = $_POST['p_id'];$el_id = $_POST['el_id'];$el_title = $_POST['el_title'];

$ddx = $_POST['ddx']; $mmx = $_POST['mmx']; $yyx = $_POST['yyx']; $ddy = $_POST['ddy']; $mmy = $_POST['mmy']; $yyy = $_POST['yyy']; $pic = $_POST['pic']; $user_position = strval($_GET['current_pos']." >> Tambah Elemen Proyek"); $smarty->assign('current_pos',$_GET['current_pos']); $updel = mysql_query("UPDATE bo_project_element SET el_title = '$el_title', el_startdate = '$yyx-$mmx-$ddx', el_enddate = '$yyy-$mmy-$ddy', el_orc = '$pic', el_lastupdate = NOW(), el_progress = '0', el_accepted = '0' WHERE el_id = '$el_id' LIMIT 1");

}if(isset($_GET['add_elementx'])) {

$p_id = $_GET['p_id'];$user_position = strval($_GET['current_pos']."

>> Tambah Elemen Proyek"); $smarty->assign('current_pos',$_GET['current_pos']);

} // lets begin $smarty->display('globals/page_begin.tpl'); // navigation $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Data proyek sudah disimpan. Tambahkan elemen-elemen proyek dengan mengisi form dibawah ini. Pastikan data-data yang anda masukkan adalah data yang benar."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content

101

Page 123: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$sqlx = mysql_query("SELECT *,TO_DAYS(p_enddate) - TO_DAYS(p_startdate) + 1 AS durasi FROM bo_project,bo_registered_orc WHERE p_orc = orc_id AND p_id = '$p_id' LIMIT 1");

$resx = mysql_fetch_array($sqlx);$p_title = $resx['p_title'];$p_startdate = $resx['p_startdate'];$p_enddate = $resx['p_enddate'];$p_finished = $resx['p_finished'];$p_orcid = $resx['p_orc'];$p_orcname = strval($resx['orc_lastname'].",

".$resx['orc_firstname']."@".$resx['orc_username']);$p_lastupdate = $resx['p_lastupdate'];$durasi = $resx['durasi'];mysql_free_result($sqlx);if($p_orcid == $_SESSION['xorc_id']) {

$smarty->assign('editmode','enable');} else {

$smarty->assign('editmode','disable');}

$smarty->assign('p_id',$p_id);$smarty->assign('p_title',$p_title);$smarty->assign('p_startdate',$p_startdate);$smarty->assign('p_enddate',$p_enddate);$smarty->assign('p_finished',$p_finished);$smarty->assign('p_orcname',$p_orcname);$smarty->assign('p_lastupdate',$p_lastupdate);$smarty->assign('durasi',$durasi);$smarty->display('globals/new_table.tpl');$smarty->display('globals/new_row.tpl');$smarty->display('globals/new_column.tpl');

$smarty->display('project_manager/project_detail.tpl'); $dd = date('d'); $mm = date('m'); $yy = date('Y'); $smarty->assign('dd',$dd); $smarty->assign('mm',$mm); $smarty->assign('yy',$yy); $arrorc = array(); $sqlorc = mysql_query("SELECT * FROM bo_registered_orc WHERE orc_status = '1' ORDER BY orc_lastname,orc_firstname,orc_username"); while($resorc = mysql_fetch_array($sqlorc)) { $orc = $resorc['orc_id']; $sqlm = mysql_query("SELECT COUNT(el_id) AS jml FROM bo_project_element WHERE el_orc = '$orc' AND el_accepted = '0' AND el_progress < 100"); $resm = mysql_fetch_array($sqlm); $jmlm = $resm['jml']; mysql_free_result($sqlm); $arrm = array("jmlm" => $jmlm); $sqln = mysql_query("SELECT COUNT(el_id) AS jml FROM bo_project_element WHERE el_orc = '$orc' AND el_accepted = '1' AND el_progress < 100"); $resn = mysql_fetch_array($sqln);

102

Page 124: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$jmln = $resn['jml']; mysql_free_result($sqln); $arrn = array("jmln" => $jmln); $arro = array_merge($resorc,$arrm,$arrn); array_push($arrorc,$arro); } mysql_free_result($sqlorc); $smarty->assign('arrorc',$arrorc); $smarty->display('project_manager/add_new_element.tpl'); $smarty->display('globals/end_column.tpl'); $smarty->display('globals/new_column.tpl'); // list of orc with their status $smarty->display('project_manager/orc_status_help.tpl'); $smarty->display('project_manager/orc_status.tpl'); //------------------------------ $smarty->display('globals/end_column.tpl'); $smarty->display('globals/end_row.tpl'); $smarty->display('globals/end_table.tpl'); $smarty->display('globals/line_break.tpl'); $arrelement = array();

$sqly = mysql_query("SELECT *,TO_DAYS(el_enddate) - TO_DAYS(el_startdate) + 1 AS durasi FROM bo_project_element,bo_registered_orc WHERE el_orc = orc_id AND el_project = '$p_id' ORDER BY el_startdate,el_enddate");

while($resy = mysql_fetch_array($sqly)) {array_push($arrelement,$resy);

}mysql_free_result($sqly);$smarty->assign('arrelement',$arrelement);$smarty-

>display('project_manager/element_detail.tpl'); // end of page $smarty->display('globals/page_end.tpl');

}// Sumber daya/*if(isset($_GET['resources'])) {

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Disinilah tempat anda dapat melihat daftar sumber daya dan anda juga dapat menambahkan sumber daya hanya dengan mengisi form dibawah ini."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content

103

Page 125: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->display(''); // end of page

$smarty->display('globals/page_end.tpl');}*/// pencarian proyekif(isset($_GET['find_project'])) {

$katakunci = $_POST['katakunci'];// lets begin

$smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Tabel dibawah ini merupakan hasil pencarian berdasar nama proyek dengan kata kunci &quot;".$katakunci."&quot;. Untuk melihat detil dari proyek yang anda cari, silakan klik kode proyek yang bersangkutan."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arrproject = array(); $sqlx = mysql_query("SELECT p_id,p_title,p_startdate,p_enddate,ROUND(SUM(el_progress)/COUNT(el_id)) AS total_progress,orc_firstname,orc_lastname,orc_username, TO_DAYS(p_enddate) - TO_DAYS(p_startdate) + 1 AS jml FROM bo_project,bo_project_element,bo_registered_orc WHERE p_id = el_project AND p_orc = orc_id AND p_title LIKE '%$katakunci%' GROUP BY p_id"); while($resx = mysql_fetch_array($sqlx)) { array_push($arrproject,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrproject',$arrproject);$smarty->assign('katakunci',$katakunci);$smarty->assign('back_to','find_project');

$smarty->display('project_manager/search_result.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}if(isset($_GET['see_details'])) {

$current_pos = $_GET['current_pos'];$p_id = $_GET['p_id'];$katakunci = $_GET['katakunci'];// lets begin

$smarty->display('globals/page_begin.tpl'); // navigation $user_position = strval($_GET['current_pos']." >> Lihat Detil Proyek"); $smarty->assign('user_position',$user_position);

104

Page 126: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Berikut ini merupakan seluruh detil dari proyek dengan kode <b>".$p_id."</b>. Apabila anda adalah <i>PIC</i> dari proyek yang dipilih, anda dapat mengubah data bagian proyek(selain dengan status &quot;Accepted&quot;) dengan meng-klik nama bagian proyek. Untuk kembali ke halaman sebelumnya tekanlah gambar kembali di bagian bawah-kanan halaman ini."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $smarty->assign('current_pos',$current_pos);

$sqlx = mysql_query("SELECT *,TO_DAYS(p_enddate) - TO_DAYS(p_startdate) + 1 AS durasi FROM bo_project,bo_registered_orc WHERE p_orc = orc_id AND p_id = '$p_id' LIMIT 1");

$resx = mysql_fetch_array($sqlx);$p_title = $resx['p_title'];$p_startdate = $resx['p_startdate'];$p_enddate = $resx['p_enddate'];$p_finished = $resx['p_finished'];$p_orcid = $resx['p_orc'];$p_orcname = strval($resx['orc_lastname'].",

".$resx['orc_firstname']."@".$resx['orc_username']);$p_lastupdate = $resx['p_lastupdate'];$durasi = $resx['durasi'];mysql_free_result($sqlx);$smarty->assign('p_id',$p_id);$smarty->assign('p_title',$p_title);$smarty->assign('p_startdate',$p_startdate);$smarty->assign('p_enddate',$p_enddate);$smarty->assign('p_finished',$p_finished);$smarty->assign('p_orcname',$p_orcname);$smarty->assign('p_lastupdate',$p_lastupdate);$smarty->assign('durasi',$durasi);$smarty-

>display('project_manager/project_detail.tpl');if($p_orcid == $_SESSION['xorc_id']) {

$smarty->assign('editmode','enable');$smarty-

>display('project_manager/link_add_element.tpl');} else {

$smarty->assign('editmode','disable');}// ---------------------$arrelement = array();$sqly = mysql_query("SELECT *,TO_DAYS(el_enddate) -

TO_DAYS(el_startdate) + 1 AS durasi FROM bo_project_element,bo_registered_orc WHERE el_orc = orc_id AND el_project = '$p_id' ORDER BY el_startdate,el_enddate");

while($resy = mysql_fetch_array($sqly)) {array_push($arrelement,$resy);

}mysql_free_result($sqly);$smarty->assign('arrelement',$arrelement);

105

Page 127: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->display('project_manager/element_detail.tpl');

$smarty->display('project_manager/view_chart.tpl');// back to search result

$smarty->assign('katakunci',$katakunci); $smarty->assign('current_pos',$_GET['current_pos']); $smarty->assign('back_to',$_GET['back_to']); $smarty->display('project_manager/back_to_search_result.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}if(isset($_GET['view_chart'])) {

include ("./trulogix/jpgraph/src/jpgraph.php");include ("./trulogix/jpgraph/src/jpgraph_gantt.php");// gantt chart begin here$graph = new GanttGraph (0,0, "auto");// ----------------------------------------------$mp = array(); // main project$mc = array(); // main constraint$ep = array(); // element progress$i = 0;$p_id = $_GET['p_id'];$sqlx = mysql_query("SELECT *,TO_DAYS(p_enddate) -

TO_DAYS(p_startdate) + 1 AS durasi FROM bo_project WHERE p_id = '$p_id' LIMIT 1");

$resx = mysql_fetch_array($sqlx);$p_title = $resx['p_title'];$p_startdate = $resx['p_startdate'];$p_enddate = $resx['p_enddate'];$p_finished = $resx['p_finished'];$p_orcid = $resx['p_orc'];$p_lastupdate = $resx['p_lastupdate'];$durasi = $resx['durasi'];mysql_free_result($sqlx);// title$thetitle = strval("Kode : ".$p_id);$graph->title->Set($thetitle);$graph->subtitle->Set($p_title);$graph->SetMarginColor('#f4f4f4');$graph->SetBox(true,'#f4f4f4',1);$graph->SetFrame(true,'#f4f4f4',1);$graph->scale->divider->SetColor('#000000');$graph->scale->dividerh->SetColor('#000000');$graph->scale->tableTitle->Set('Proyek');$graph->scale->SetTableTitleBackground('#cccccc');$graph->scale->tableTitle->Show(true);$graph->ShowHeaders(GANTT_HDAY|GANTT_HWEEK|

GANTT_HMONTH);$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY2);$graph->scale->week->SetFont(FF_FONT0);$graph->scale->month-

>SetStyle(MONTHSTYLE_LONGNAMEYEAR4);$graph->scale->month->SetFontColor("white");$graph->scale->month->SetBackgroundColor("#456aac");// add main project

106

Page 128: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$mpx = array($i,ACTYPE_GROUP,$p_title,$p_startdate,$p_enddate,"");

array_push($mp,$mpx);$i++;//elemen proyek$sqly = mysql_query("SELECT * FROM bo_project_element

WHERE el_project = '$p_id'");$rowy = mysql_num_rows($sqly);while($resy = mysql_fetch_array($sqly)) {

$arrelement = array($i,ACTYPE_NORMAL," ".$resy['el_title'],$resy['el_startdate'],$resy['el_enddate'],$resy['el_progress']."%");

array_push($mp,$arrelement);$arrep = array($i,($resy['el_progress']/100));array_push($ep,$arrep);$i++;

}mysql_free_result($sqly);// add milestone(today)if($p_enddate >= date('Y-m-d')) {

$arrtoday = array($i,ACTYPE_MILESTONE,"",date('Y-m-d'),"Hari ini");

array_push($mp,$arrtoday);$i++;

}if($p_finished != "0000-00-00") {

$arrfinished = array($i,ACTYPE_MILESTONE," Selesai",$p_finished,date_translator($p_finished));

array_push($mp,$arrfinished);$i++;

}$graph->CreateSimple($mp,$mc,$ep);// Display the gantt chart$graph->Stroke();

}} else {

$smarty->display('trulogix_login/empty_page.tpl');}?>

Dengan mengamati kode program diatas dapat dilihat

bahwa menu Project Manager ini terbagi menjadi delapan bagian

yaitu: bagian yang membagi frame tengah menjadi dua secara

vertikal, bagian yang memuat sub-menu, bagian yang digunakan

untuk menampilkan halaman depan, bagian yang digunakan

untuk memasukkan data proyek baru, bagian yang digunakan

untuk memasukkan data elemen-elemen proyek, bagian yang

digunakan untuk menampilkan hasil pencarian proyek, bagian

107

Page 129: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

untuk melihat detil proyek dan bagian yang digunakan untuk

melihat detil proyek yang digambarkan dengan gantt chart.

Berikut ini merupakan penjelasan dari bagian-bagian yang telah

disebutkan diatas:

Halaman utama.

Perintah-perintah yang terdapat pada bagian ini

adalah menjalankan dan menampilkan hasil dari query yang

mengambil semua data proyek yang belum selesai(prosentase

perkembangan proyek secara keseluruhan kurang dari 100%)

dan semua data pengguna sistem aktif beserta beban

kegiatannya(jumlah kegiatan dalam status ditawarkan dan

status diterima).

Proyek baru.

Bagian ini berisi perintah untuk memunculkan form

untuk memasukkan data proyek baru. Data-data yang diisikan

dalam form tersebut adalah judul proyek, tanggal mulai dan

tanggal jatuh tempo proyek. Setelah tombol submit dalam

form ini ditekan, akan dimunculkan form untuk memasukkan

data-data elemen/bagian proyek dari proyek inti yang baru

saja disimpan dalam tabel bo_project tersebut.

108

Page 130: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Elemen-elemen proyek.

Bagian ini akan dijalankan setelah tombol submit

dalam form input proyek baru ditekan atau link tambah

elemen pada lihat detil proyek ditekan. Perintah-perintah

yang terdapat dalam bagian ini adalah:

Menjalankan query untuk menyimpan data proyek inti

yang dimasukkan melalui form input proyek baru ke

dalam tabel bo_project. Kode proyek yang menjadi

primary-key akan dihasilkan secara otomatis dengan

format [tahun tanggal mulai]–[urutan masuk proyek

dalam tahun tersebut](yyyy-#####).

Menjalankan query untuk mengambil data pengguna

sistem aktif beserta beban kegiatannya. Hasil dari query

ini akan ditampilkan sebagai drop-down dalam form

input elemen/bagian proyek dan daftar pengguna sistem

yang ditampilkan disebelah kiri form tersebut. Daftar

tersebut berguna sebagai acuan pertimbangan dalam

memberikan pekerjaan kepada seorang pengguna sistem

karena didalamnya juga ditampilkan jumlah kegiatan

yang masih dalam status ditawarkan dan jumlah kegiatan

yang sudah diterima dan belum selesai dikerjakan.

Menampilkan form input elemen/bagian dari proyek.

Data-data yang dimasukkan adalah pengguna sistem yang

109

Page 131: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

ditunjuk, nama kegiatan, tanggal mulai dan tanggal jatuh

tempo.

Menjalankan query untuk menyimpan data bagian proyek

baru yang diisikan melalui form input data bagian proyek

ke dalam tabel bo_project_element.

Menjalankan query untuk mengambil data-data elemen

proyek tersebut yang sudah disimpan dalam tabel

bo_project_element. Baris bagian proyek yang status

diterimanya bernilai offered atau rejected, kolom “Bagian

Proyek” berisi link untuk mengedit data. Baris elemen

proyek yang status diterimanya sudah bernilai accepted

tidak bisa dirubah datanya(selain progress kegiatan

melalui menu kegiatan oleh pengguna sistem yang

ditunjuk).

Menampilkan form untuk mengubah data bagian proyek

yang dipilih melalui link untuk mengubah data bagian

proyek.

Menjalankan query untuk mengupdate data bagian proyek

yang diedit melalui form edit bagian proyek.

Pencarian proyek.

Bagian ini dijalankan apabila pengguna sistem

menggunakan form pencarian proyek yang terletak di

samping kiri. Perintah yang terdapat dalam bagian ini adalah

menjalankan kemudian menampilkan hasil dari query yang

110

Page 132: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

mengambil semua data dari tabel bo_project yang namanya

seperti nilai variabel $katakunci. Data yang ditampilkan

diurutkan berdasarkan kode proyek. Kolom “Kode Proyek”

pada hasil pencarian berisi link yang digunakan untuk melihat

secara detil dari proyek yang dipilih.

Lihat detil proyek.

Bagian ini berisi perintah yang menjalankan query

yang mengambil data dari tabel bo_project dan

bo_project_element dimana ID proyek sama dengan nilai

variabel $p_id. Link-link untuk menambah bagian proyek

dan mengedit data bagian proyek hanya akan muncul jika

user-ID dari pengguna sistem tersebut sama dengan nilai dari

kolom p_orc dalam tabel bo_project.

Gantt-chart proyek.

Perintah-perintah dalam bagian ini pada hakikatnya

adalah sama dengan perintah-perintah yang terdapat dalam

bagian lihat detil proyek, perbedaan yang ada diantara

keduanya adalah pada outputnya. Bagian lihat detil proyek

menghasilkan data-data tentang sebuah proyek dengan basis

text sedangkan bagian ini menghasilkan informasi tersebut

dengan basis gambar gantt-chart. Untuk menghasilkan

gambar tersebut penulis menggunakan plug-in jpgraph yang

terletak di ./bluoctopus/trulogix/jpgraph. Dalam proses

pembangunan aplikasi ini penulis menggunakan PHP versi 5

111

Page 133: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

maka plug-in yang digunakan tersebut hanya akan berjalan

pada PHP versi 5 dan tidak akan berkerja pada PHP versi 4.

IV.2.8 Admin

Menu ini digunakan untuk memasukkan dan meng-

konfigurasi pengguna sistem, grup pengguna sistem dan

pengumuman yang akan ditampilkan pada halaman home setiap

pengguna sistem. Tampilan, kode perintah dan penjelasan dari

menu ini adalah seperti dibawah ini.

Gambar IV.19 Halaman utama, Form update pengumuman

112

Page 134: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.20 Konfigurasi pengguna sistem

Gambar IV.21 Seting grup pengguna sistem

Berikut ini merupakan kode perintah menu Admin yang

disimpan dalam file admin_index.php.

<?phpsession_start();require_once 'core/config/config.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

113

Page 135: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->assign('app_id',$_GET['app_id']);$smarty->assign('app_label',$_GET['app_label']);// cari label menu default dari aplikasi ini untuk

ditampilkan$appid = $_GET['app_id'];$sqlx = mysql_query("SELECT * FROM bo_registered_menu

WHERE menu_default = '1' AND menu_app = '$appid' LIMIT 1");$resx = mysql_fetch_array($sqlx);$smarty->assign('menu_label',$resx['menu_label']);$smarty->display('admin/index.tpl');

}if(isset($_GET['app_nav'])) {

$xorcid = $_SESSION['xorc_id'];$appid = $_GET['app_id'];$arrmenukb = array();$sqlx = mysql_query("SELECT

menu_id,menu_action_file,menu_label FROM bo_registered_menu,bo_registered_access_menu WHERE menu_id = am_menu AND am_orc = '$xorcid' AND am_status = '1' AND menu_app = '$appid' ORDER BY menu_id");

while($resx = mysql_fetch_array($sqlx)) {array_push($arrmenukb,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrmenukb',$arrmenukb);$smarty->assign('app_label',$_GET['app_label']);$smarty->display('admin/navigator.tpl');

}// halaman utama :: Admin's Home + Mainscreen Message

settingif(isset($_GET['app_home'])) {

if(isset($_POST['submit_new_msg'])) { $content = $_POST['msg_content']; $sqly = mysql_query("SELECT * FROM bo_message LIMIT 1"); $rowy = mysql_num_rows($sqly); if($rowy < 1) { $insmsg = mysql_query("INSERT INTO bo_message(msg_content) VALUES('$content')"); } else { $insmsg = mysql_query("UPDATE bo_message SET msg_content = '$content'"); } mysql_free_result($sqly); }

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl');

114

Page 136: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

// some clues $clues = "Selamat datang di menu aplikasi Admin. Gunakan menu-menu disamping kiri anda sebijaksana mungkin, karena kalau tidak akan berakibat fatal pada sistem anda secara keseluruhan. Form dibawah ini digunakan untuk mengisi pesan dan akan ditampilkan di <b>Home</b> setiap <i>user</i> yang login ke sistem anda.<br>Selamat bekerja."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $sqlx = mysql_query("SELECT * FROM bo_message LIMIT 1"); $rowx = mysql_num_rows($sqlx); if($rowx < 1) { $xmsg = "Tidak ada pengumuman"; } else { $resx = mysql_fetch_array($sqlx); $xmsg = $resx['msg_content']; } mysql_free_result($sqlx); $smarty->assign('xmsg',$xmsg); $smarty->display('admin/mainscreen_msg_form.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// kofigurasi userif(isset($_GET['user_accounts'])) {

if(isset($_GET['resetpswd'])) { $orc_id = $_GET['orc_id']; $resetx = mysql_query("UPDATE bo_registered_orc SET orc_password = MD5('qwerty') WHERE orc_id = '$orc_id' LIMIT 1"); } if(isset($_GET['xstat'])) { $orc_id = $_GET['orc_id']; $orc_stat = $_GET['xstat']; $resetx = mysql_query("UPDATE bo_registered_orc SET orc_status = '$orc_stat' WHERE orc_id = '$orc_id' LIMIT 1"); } if(isset($_POST['submit_new_user'])) { $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $emailaddr = $_POST['emailaddr']; $usrgroup = $_POST['usrgroup']; $usrname = $_POST['usrname']; $usrpswd1 = $_POST['usrpswd1']; $usrpswd2 = $_POST['usrpswd2']; $app_add = $_POST['app_add']; $menu_add_1 = $_POST['menu_add_1']; $menu_add_2 = $_POST['menu_add_2']; $app_todolist = $_POST['app_todolist']; $menu_todo_1 = $_POST['menu_todo_1']; $menu_todo_2 = $_POST['menu_todo_2']; $app_email = $_POST['app_email']; $menu_email_1 = $_POST['menu_email_1']; $menu_email_2 = $_POST['menu_email_2'];

115

Page 137: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$app_file = $_POST['app_file']; $menu_file_1 = $_POST['menu_file_1']; $menu_file_2 = $_POST['menu_file_2']; $app_project = $_POST['app_project']; $menu_project_1 = $_POST['menu_project_1']; $menu_project_2 = $_POST['menu_project_2']; $menu_project_3 = $_POST['menu_project_3']; $app_admin = $_POST['app_admin']; $menu_admin_1 = $_POST['menu_admin_1']; $menu_admin_2 = $_POST['menu_admin_2']; $menu_admin_3 = $_POST['menu_admin_3']; $menu_admin_4 = $_POST['menu_admin_4']; $menu_admin_5 = $_POST['menu_admin_5']; $menu_admin_6 = $_POST['menu_admin_6']; $app_poll = $_POST['app_poll']; $menu_poll_1 = $_POST['menu_poll_1']; $menu_poll_2 = $_POST['menu_poll_2']; $app_artikel = $_POST['app_artikel']; $menu_artikel_1 = $_POST['menu_artikel_1']; $menu_artikel_2 = $_POST['menu_artikel_2']; $menu_artikel_3 = $_POST['menu_artikel_3']; $app_system = $_POST['app_system']; // cek apakah sudah ada yang menggunakan username tersebut. $sqlx = mysql_query("SELECT * FROM bo_registered_orc WHERE orc_username = '$usrname' LIMIT 1"); $rowx = mysql_num_rows($sqlx); if($rowx < 1) { $insorc = mysql_query("INSERT INTO bo_registered_orc(orc_username,orc_password,orc_firstname,orc_lastname,orc_group,orc_email,orc_status) VALUES('$usrname',MD5('$usrpswd1'),UCASE('$firstname'),UCASE('$lastname'),'$usrgroup','$emailaddr','1')"); $xorcid = mysql_insert_id(); $ins_app_1 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','1','$app_admin')"); $ins_app_2 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','2','$app_add')"); $ins_app_3 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','3','$app_todolist')"); $ins_app_4 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','4','$app_email')"); $ins_app_5 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','5','$app_file')"); $ins_app_6 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','6','$app_artikel')"); $ins_app_7 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','7','$app_poll')");

116

Page 138: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$ins_app_8 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','8','$app_project')"); $ins_app_9 = mysql_query("INSERT INTO bo_registered_access(access_orc,access_app,access_status) VALUES('$xorcid','9','$app_system')"); $ins_menu_11 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','6','$menu_admin_1')"); $ins_menu_12 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','7','$menu_admin_2')"); $ins_menu_13 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','8','$menu_admin_3')"); $ins_menu_14 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','9','$menu_admin_4')"); $ins_menu_15 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','10','$menu_admin_5')"); $ins_menu_16 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','11','$menu_admin_6')"); $ins_menu_21 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','21','$menu_add_1')"); $ins_menu_22 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','22','$menu_add_2')"); $ins_menu_31 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','19','$menu_todo_1')"); $ins_menu_32 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','20','$menu_todo_2')"); $ins_menu_41 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','17','$menu_email_1')"); $ins_menu_42 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','18','$menu_email_2')"); $ins_menu_51 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','15','$menu_file_1')"); $ins_menu_52 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','16','$menu_file_2')"); $ins_menu_61 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','1','$menu_artikel_1')"); $ins_menu_62 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','2','$menu_artikel_2')");

117

Page 139: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$ins_menu_63 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','3','$menu_artikel_3')"); $ins_menu_71 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','4','$menu_poll_1')"); $ins_menu_72 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','5','$menu_poll_2')"); $ins_menu_81 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','12','$menu_project_1')"); $ins_menu_82 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','13','$menu_project_2')"); $ins_menu_83 = mysql_query("INSERT INTO bo_registered_access_menu(am_orc,am_menu,am_status) VALUES('$xorcid','14','$menu_project_3')"); } }

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Disinilah tempat anda mengkonfigurasi pengguna sistem Anda. Isilah form dibawah ini untuk memasukkan data pengguna sistem baru. Anda dapat melihat seluruh data pengguna sistem anda pada tabel dibawah ini.<br>Gunakan fasilitas ini sebijaksana mungkin dan selamat bekerja."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arrorc = array(); // daftar pengguna sistem $sqly = mysql_query("SELECT bo_registered_orc.*,bo_registered_orc_group.* FROM bo_registered_orc,bo_registered_orc_group WHERE orc_group = group_id"); while($resy = mysql_fetch_array($sqly)) { array_push($arrorc,$resy); } mysql_free_result($sqly); $smarty->assign('arrorc',$arrorc); $smarty->display('admin/daftar_user.tpl');

$arrgroup = array(); // dd group user $sqlx = mysql_query("SELECT * FROM bo_registered_orc_group");

118

Page 140: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

while($resx = mysql_fetch_array($sqlx)) { array_push($arrgroup,$resx); } mysql_free_result($sqlx); $smarty->assign('arrgroup',$arrgroup); $smarty->display('admin/user_account_form.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// konfigurasi grup userif(isset($_GET['user_groups'])) {

if(isset($_POST['submit_new_group'])) { $group_name = $_POST['group_name']; $insgroup = mysql_query("INSERT INTO bo_registered_orc_group(group_name) VALUES('$group_name')"); } if(isset($_POST['submit_upd_group'])) { $group_name = $_POST['group_name']; $group_id = $_POST['group_id']; $updgroup = mysql_query("UPDATE bo_registered_orc_group SET group_name = '$group_name' WHERE group_id = '$group_id'"); } if(isset($_GET['delete_group'])) { $group_id = $_GET['delete_group']; $delgroup = mysql_query("DELETE FROM bo_registered_orc_group WHERE group_id = '$group_id'"); } if(isset($_GET['edit_group'])) { $xgroup_id = $_GET['edit_group']; $xgroup_name = $_GET['group_name']; $smarty->assign('xgroup_id',$xgroup_id); $smarty->assign('xgroup_name',$xgroup_name); $smarty->assign('form_mode','edit_form'); } else { $smarty->assign('form_mode','input_form'); }

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Disinilah tempat anda men-seting data grup pengguna sistem. Gunakan form dibawah ini untuk memasukkan data. Data yang sudah ada saat pertama kali adalah &quot;Sistem Administrator&quot;"; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl');

119

Page 141: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

// main content $smarty->display('admin/group_form.tpl'); $arrgroup = array(); $sqlx = mysql_query("SELECT * FROM bo_registered_orc_group ORDER BY group_id"); while($resx = mysql_fetch_array($sqlx)) { array_push($arrgroup,$resx); } mysql_free_result($sqlx); $smarty->assign('arrgroup',$arrgroup); $smarty->display('admin/group_list.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}

} else {$smarty->display('trulogix_login/empty_page.tpl');

}?>

Dengan mengamati kode program diatas dapat dilihat

bahwa menu Admin ini terbagi menjadi lima bagian yaitu:

bagian yang membagi frame tengah menjadi dua secara vertikal,

bagian yang memuat sub-menu, bagian yang digunakan untuk

menampilkan halaman utama, bagian yang digunakan untuk

mengkonfigurasi pengguna sistem dan bagian yang digunakan

untuk mengkonfigurasi grup pengguna sistem. Berikut ini

merupakan penjelasan dari bagian-bagian yang telah disebutkan

diatas:

Halaman utama.

Perintah-perintah yang terdapat dalam bagian ini

adalah menampilkan form untuk mengubah pengumuman

yang ditampilkan pada halaman home setiap pengguna

sistem, menjalankan query untuk mengupdate kolom

msg_content sama dengan nilai variabel $content pada tabel

bo_message dan menjalankan query untuk melihat isi tabel

120

Page 142: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

bo_message dan ditampilkan sebagai pengumuman yang ada

di dalam basis data. Apabila tabel bo_message tidak ada

isinya maka pengumuman akan diberi nilai default sama

dengan “Tidak ada pengumuman”.

Konfigurasi pengguna sistem.

Bagian ini akan menampilkan semua pengguna sistem

yang ada dalam tabel bo_registered_orc dan form untuk

memasukkan pengguna sistem baru beserta hak akses menu

dan sub-menunya. Dalam daftar pengguna sistem terdapat

link untuk me-reset password, fasilitas ini digunakan untuk

mengantisipasi apabila ada pengguna sistem yang lupa

dengan passwordnya. Apabila link ini ditekan maka password

dari pengguna sistem yang dipilih akan bernilai sama dengan

“qwerty”. Selain itu ada link untuk mengubah status aktif

atau non-aktif dari pengguna sistem. Pengguna sistem dengan

status non-aktif tidak akan bisa login ke sistem. Data diri

pengguna sistem yang dimasukkan melalui form input

pengguna sistem baru tersebut akan disimpan dalam tabel

bo_registered_orc. Seorang administrator atau pengguna

sistem yang mempunyai hak akses atas menu ini bisa

menentukan hak akses dari pengguna sistem baru yang

dimasukkannya dengan menekan checkbok menu dan sub-

menu yang terdapat pada form.

Konfigurasi grup pengguna sistem.

121

Page 143: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Perintah-perintah yang terdapat dalam bagian ini

adalah manampilkan form untuk memasukkan data grup

pengguna sistem baru, menyimpan data grup pengguna

sistem yang dimasukkan melalui form tersebut diatas,

menjalankan query untuk mengambil seluruh data grup

pengguna sistem yang terdapat dalam tabel

bo_registered_orc_group, menjalankan query untuk

mengupdate data grup pengguna sistem dan menjalankan

query untuk menghapus data grup pengguna sistem dari tabel

bo_registered_orc_group.

IV.2.9 Polls

Menu Polls digunakan sebagai fasilitas untuk

pemungutan suara. Disini pengguna sistem dapat memberikan

suaranya dengan memilih salah satu jawaban yang tersedia pada

sebuah pertanyaan. Pengguna sistem yang sudah memilih

jawaban tidak bisa memilih jawaban lagi. Tabel yang digunakan

dalam basis data adalah bo_poll_questions, bo_poll_answers dan

bo_poll_vote. Tampilan, kode perintah dan penjelasan dari menu

ini adalah seperti dibawah ini.

122

Page 144: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.22 Lihat poll-poll dan hasil-hasilnya

Gambar IV.23 Seting poll

123

Page 145: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Berikut ini merupakan kode perintah menu Polls yang

disimpan dalam file polls_index.php.

<?phpsession_start();require_once 'core/config/config.inc.php';require_once 'core/config/core.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

$smarty->assign('app_id',$_GET['app_id']);$smarty->assign('app_label',$_GET['app_label']);// cari label menu default dari aplikasi ini untuk

ditampilkan$appid = $_GET['app_id'];$sqlx = mysql_query("SELECT * FROM bo_registered_menu

WHERE menu_default = '1' AND menu_app = '$appid' LIMIT 1");$resx = mysql_fetch_array($sqlx);$smarty->assign('menu_label',$resx['menu_label']);$smarty->display('polls/index.tpl');

}if(isset($_GET['app_nav'])) {

$xorcid = $_SESSION['xorc_id'];$appid = $_GET['app_id'];$arrmenukb = array();$sqlx = mysql_query("SELECT

menu_id,menu_action_file,menu_label FROM bo_registered_menu,bo_registered_access_menu WHERE menu_id = am_menu AND am_orc = '$xorcid' AND am_status = '1' AND menu_app = '$appid' ORDER BY menu_id");

while($resx = mysql_fetch_array($sqlx)) {array_push($arrmenukb,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrmenukb',$arrmenukb);$smarty->assign('app_label',$_GET['app_label']);$smarty->display('polls/navigator.tpl');

}// Poll dan Hasilnyaif(isset($_GET['polls_and_results'])) {

if(isset($_POST['submitanswer'])) { $xorcid = $_SESSION['xorc_id']; $answer = $_POST['answer']; $insans = mysql_query("INSERT INTO bo_poll_vote(pv_orc,pv_vote) VALUES('$xorcid','$answer')"); }

$smarty->display('globals/page_begin.tpl');if(isset($_GET['current_pos'])) {

$user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); }

124

Page 146: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl');

$arrpoll = array(); // create tabel temp untuk menampung data hasil polling $create_a = mysql_query("CREATE TABLE `poll_temp_a` ( `a_id` smallint(5) unsigned NOT NULL, `a_question` smallint(6) NOT NULL default '0', `a_answer` text NOT NULL, `a_vote` smallint(6) NOT NULL default '0', PRIMARY KEY (`a_id`)) TYPE=MyISAM;"); $create_b = mysql_query("CREATE TABLE `poll_temp_b` ( `b_id` smallint(5) unsigned NOT NULL auto_increment, `b_answer` smallint(6) NOT NULL default '0', `b_vote` smallint(6) NOT NULL default '0', PRIMARY KEY (`b_id`)) TYPE=MyISAM;"); $ins_a = mysql_query("INSERT INTO poll_temp_a(a_id,a_question,a_answer) SELECT pa_id,pa_question,pa_answer FROM bo_poll_questions,bo_poll_answers WHERE pq_id = pa_question AND (pq_status = '2' OR pq_status = '3')"); $ins_b = mysql_query("INSERT INTO poll_temp_b(b_answer,b_vote) SELECT pa_id,COUNT(pv_vote) FROM bo_poll_questions,bo_poll_answers,bo_poll_vote WHERE pq_id = pa_question AND (pq_status = '2' OR pq_status = '3') AND pa_id = pv_vote GROUP BY pa_id"); $upd_a = mysql_query("UPDATE poll_temp_a,poll_temp_b SET a_vote = b_vote WHERE a_id = b_answer"); // data pertanyaan yang masih dipublikasikan

$sqlx = mysql_query("SELECT bo_registered_orc.*,bo_poll_questions.* FROM bo_poll_questions,bo_registered_orc WHERE orc_id = pq_creator AND (pq_status = '2' OR pq_status = '3') ORDER BY pq_id DESC");

while($resx = mysql_fetch_array($sqlx)) { $poll_id = $resx['pq_id']; $sqlz = mysql_query("SELECT SUM(a_vote) FROM poll_temp_a WHERE a_question = '$poll_id'"); $resz = mysql_fetch_row($sqlz); $jmlz = $resz[0]; mysql_free_result($sqlz); $result_box = "<table cellspacing='1' cellpadding='1'>"; $sqly = mysql_query("SELECT * FROM poll_temp_a WHERE a_question = '$poll_id'"); while($resy = mysql_fetch_array($sqly)) { $persen = round(($resy['a_vote']/$jmlz) * 100); $barx = "<img height='16' src='trulogix/phpsysinfo/templates/bulix/images/bar_left.gif'>"; for($i = 0;$i <= $persen; $i++) { $barx = strval($barx."<img height='16' src='trulogix/phpsysinfo/templates/bulix/images/bar_middle.gif'><img height='16' src='trulogix/phpsysinfo/templates/bulix/images/bar_middle.gif'><img height='16' src='trulogix/phpsysinfo/templates/bulix/images/bar_middle.gif'>"); }

125

Page 147: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$barx = strval($barx."<img height='16' src='trulogix/phpsysinfo/templates/bulix/images/bar_right.gif'>"); $result_box = strval($result_box."<tr><td width='200' nowrap class='f4f4f4'>".$resy['a_answer']."</td><td nowrap align='' class='ffffff'>".$barx."</td><td nowrap align='right' class='ffffff'>(".number_format((($resy['a_vote']/$jmlz) * 100),1,",",".")." %)</td><td nowrap align='right' class='ffffff'>".number_format($resy['a_vote'],0,",",".")." Pemilih</td></tr>"); } mysql_free_result($sqly); $result_box = strval($result_box."</table>"); $arr_result = array("pq_result" => $result_box); $arr_x = array_merge($arr_result,$resx); array_push($arrpoll,$arr_x);

}mysql_free_result($sqlx);$smarty->assign('arrpoll',$arrpoll);$smarty->display('polls/daftar_poll.tpl');// drop temp table

$droptemptable = mysql_query("DROP TABLE poll_temp_a,poll_temp_b");

$smarty->display('globals/page_end.tpl');}// vote pollif(isset($_GET['vote_poll'])) {

$xorcid = $_SESSION['xorc_id']; $poll_id = $_GET['vote_poll']; $user_position = strval($_GET['current_pos']." >> Pilih Pilihan"); $smarty->display('globals/page_begin.tpl'); $smarty->assign('user_position',$user_position); $smarty->assign('current_pos',$_GET['current_pos']); $smarty->display('globals/navigation_box.tpl'); // cek apakah sudah pernah memilih $sqlx = mysql_query("SELECT pv_vote FROM bo_poll_questions,bo_poll_answers,bo_poll_vote WHERE pq_id = pa_question AND pa_id = pv_vote AND pv_orc = '$xorcid' AND pq_id = '$poll_id'"); $rowx = mysql_num_rows($sqlx); mysql_free_result($sqlx); // data pertanyaan $arrquestion = array(); $sqly = mysql_query("SELECT * FROM bo_poll_questions WHERE pq_id = '$poll_id'"); $resy = mysql_fetch_array($sqly); array_push($arrquestion,$resy); mysql_free_result($sqly); // data jawaban $arranswers = array(); $sqlz = mysql_query("SELECT * FROM bo_poll_answers WHERE pa_question = '$poll_id'"); while($resz = mysql_fetch_array($sqlz)) { array_push($arranswers,$resz); }

126

Page 148: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

mysql_free_result($sqlz); if($rowx > 0) { // sudah memilih $smarty->assign('formx','disable'); } else { // belum memilih $smarty->assign('formx','enable'); } $smarty->assign('arrquestion',$arrquestion); $smarty->assign('arranswers',$arranswers); $smarty->display('polls/vote_form.tpl'); $smarty->display('globals/page_end.tpl');

}// Poll setting -> Show and add questions with their answersif(isset($_GET['polls_setting'])) {

if(isset($_POST['submitupdatequestion'])) { $poll_id = $_POST['poll_id']; $question = $_POST['question']; $updquestion = mysql_query("UPDATE bo_poll_questions SET pq_question = '$question' WHERE pq_id = '$poll_id' LIMIT 1"); optimize_table($db_core,'bo_poll_questions'); } if(isset($_POST['submitupdateanswer'])) { $answer_id = $_POST['answer_id']; $answer = $_POST['answer']; $updanswer = mysql_query("UPDATE bo_poll_answers SET pa_answer = '$answer' WHERE pa_id = '$answer_id' LIMIT 1"); optimize_table($db_core,'bo_poll_answers'); } if(isset($_GET['delete_answer'])) { $answeridtodelete = $_GET['delete_answer']; $delanswer = mysql_query("DELETE FROM bo_poll_answers WHERE pa_id = '$answeridtodelete' LIMIT 1"); optimize_table($db_core,'bo_poll_answers'); } if(isset($_GET['set_poll'])) { $poll_id_to_upd = $_GET['set_poll']; $x = $_GET['set_to']; $updstat = mysql_query("UPDATE bo_poll_questions SET pq_status = $x WHERE pq_id = '$poll_id_to_upd' LIMIT 1"); optimize_table($db_core,'bo_poll_questions'); } $smarty->display('globals/page_begin.tpl'); if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); $clues = 'Tabel dibawah ini adalah daftar pertanyaan yang belum dihapus dari basis data. Pada baris &quot;Status&quot;, yang aktif akan berwarna hijau, anda dapat mengaturnya dengan menekan link yang tersedia.<br><b>Level 1</b> adalah status dari pertanyaan yang baru dibuat dan belum dipublikasikan.<br><b>Level

127

Page 149: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

2</b> adalah status pertanyaan yang sudah dipublikasikan.<br><b>Level 3</b> adalah status pertanyaan yang sudah tidak menerima jawaban lagi tapi masih dipublikasikan.<br>Untuk menambahkan pertanyaan gunakan form dibawah daftar pertanyaan.'; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // data semua pertanyaan

$arrpoll = array(); $sqlx = mysql_query("SELECT bo_registered_orc.*,bo_poll_questions.* FROM bo_poll_questions,bo_registered_orc WHERE orc_id = pq_creator AND pq_status != '4' ORDER BY pq_id DESC");

while($resx = mysql_fetch_array($sqlx)) { $poll_id = $resx['pq_id']; $result_box = "<table cellspacing='1' cellpadding='1'>"; $sqly = mysql_query("SELECT * FROM bo_poll_answers WHERE pa_question = '$poll_id'"); while($resy = mysql_fetch_array($sqly)) { $result_box = strval($result_box."<tr><td nowrap class='ffffff' valign='top'>&#149;</td><td width='200' nowrap class='ffffff' valign='top'>".$resy['pa_answer']."</td><td valign='top' class='f4f4f4' width='50' align='center'><a href='polls_index.php?edit_answer=1&amp;xpoll_id=".$resx['pq_id']."&amp;xquestion=".$resx['pq_question']."&amp;xanswer_id=".$resy['pa_id']."&amp;xanswer=".$resy['pa_answer']."&amp;current_pos=".$user_position."'>Ubah</a></td><td valign='top' class='f4f4f4' width='50' align='center'><a href='polls_index.php?polls_setting=1&amp;delete_answer=".$resy['pa_id']."&amp;current_pos=".$user_position."'>Hapus</a></td></tr>"); } mysql_free_result($sqly); $result_box = strval($result_box."</table>"); $arr_result = array("answers" => $result_box); $arr_x = array_merge($arr_result,$resx); array_push($arrpoll,$arr_x);

}mysql_free_result($sqlx);$smarty->assign('arrpoll',$arrpoll);

$smarty->display('polls/daftar_poll_to_maintain.tpl'); $smarty->display('polls/question_form.tpl');

$smarty->display('globals/page_end.tpl');}// Add answer on a questionif(isset($_GET['add_answer'])) {

if(isset($_POST['submitquestion'])) { $question = $_POST['question']; $xorcid = $_SESSION['xorc_id']; $insquestion = mysql_query("INSERT INTO bo_poll_questions(pq_question,pq_creator,pq_created) VALUES('$question','$xorcid',NOW())"); $poll_id = mysql_insert_id(); }

128

Page 150: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

if(isset($_POST['submitanswer'])) { $poll_id = $_POST['poll_id']; $question = $_POST['question']; $answer = $_POST['answer']; $insanswer = mysql_query("INSERT INTO bo_poll_answers(pa_question,pa_answer) VALUES('$poll_id','$answer')"); } if(isset($_GET['xpoll_id'])) { $poll_id = $_GET['xpoll_id']; $question = $_GET['xquestion']; } $smarty->display('globals/page_begin.tpl'); $user_position = strval($_GET['current_pos']." >> Tambah Jawaban"); $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); $smarty->assign('current_pos',$_GET['current_pos']); $sqlx = mysql_query("SELECT * FROM bo_poll_answers WHERE pa_question = '$poll_id'"); $rowx = mysql_num_rows($sqlx); if($rowx > 0) { $arranswer = array(); while($resx = mysql_fetch_array($sqlx)) { array_push($arranswer,$resx); } mysql_free_result($sqlx); $smarty->assign('arranswer',$arranswer); $smarty->assign('datajawaban',$rowx); } else { $smarty->assign('datajawaban','0'); } $smarty->assign('poll_id',$poll_id); $smarty->assign('question',$question); $smarty->display('polls/answer_form.tpl'); $clues = 'Form diatas adalah form untuk menambah data jawaban pada pertanyaan. Tekanlah tombol &quot;Simpan Data Jawaban&quot; untuk menyimpan data yang anda isikan pada form diatas.'; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','400'); $smarty->display('globals/clues_box.tpl'); $smarty->display('globals/page_end.tpl');

}// edit questionif(isset($_GET['edit_question'])) {

$poll_id = $_GET['poll_id']; $question = $_GET['question']; $smarty->display('globals/page_begin.tpl'); $user_position = strval($_GET['current_pos']." >> Ubah Pertanyaan"); $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); $smarty->assign('current_pos',$_GET['current_pos']); $smarty->assign('poll_id',$poll_id); $smarty->assign('question',$question);

129

Page 151: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

// Data jawaban $sqlx = mysql_query("SELECT * FROM bo_poll_answers WHERE pa_question = '$poll_id'"); $rowx = mysql_num_rows($sqlx); if($rowx > 0) { $arranswer = array(); while($resx = mysql_fetch_array($sqlx)) { array_push($arranswer,$resx); } mysql_free_result($sqlx); $smarty->assign('arranswer',$arranswer); $smarty->assign('datajawaban',$rowx); } else { $smarty->assign('datajawaban','0'); } $smarty->display('polls/edit_question_form.tpl'); $clues = 'Form diatas adalah form untuk mengubah data pertanyaan. Tekanlah tombol &quot;Simpan Data Pertanyaan&quot; untuk menyimpan data yang anda isikan pada form diatas.'; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','400'); $smarty->display('globals/clues_box.tpl'); $smarty->display('globals/page_end.tpl');

}// edit answerif(isset($_GET['edit_answer'])) {

$poll_id = $_GET['xpoll_id']; $question = $_GET['xquestion']; $answer_id = $_GET['xanswer_id']; $answer = $_GET['xanswer']; $smarty->display('globals/page_begin.tpl'); $user_position = strval($_GET['current_pos']." >> Ubah Jawaban"); $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); $smarty->assign('current_pos',$_GET['current_pos']); $smarty->assign('poll_id',$poll_id); $smarty->assign('question',$question); $smarty->assign('answer_id',$answer_id); $smarty->assign('answer',$answer); // Data jawaban $sqlx = mysql_query("SELECT * FROM bo_poll_answers WHERE pa_question = '$poll_id'"); $rowx = mysql_num_rows($sqlx); if($rowx > 0) { $arranswer = array(); while($resx = mysql_fetch_array($sqlx)) { array_push($arranswer,$resx); } mysql_free_result($sqlx); $smarty->assign('arranswer',$arranswer); $smarty->assign('datajawaban',$rowx); } else { $smarty->assign('datajawaban','0'); } $smarty->display('polls/edit_answer_form.tpl');

130

Page 152: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$clues = 'Form diatas adalah form untuk mengubah data jawaban. Tekanlah tombol &quot;Simpan Data Jawaban&quot; untuk menyimpan data yang anda isikan pada form diatas.'; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','400'); $smarty->display('globals/clues_box.tpl'); $smarty->display('globals/page_end.tpl');

}} else {

$smarty->display('trulogix_login/empty_page.tpl');}?>

Dengan mengamati kode program diatas dapat dilihat

bahwa menu Polls ini terbagi menjadi delapan bagian yaitu:

bagian yang membagi frame tengah menjadi dua secara vertikal,

bagian yang memuat sub-menu, bagian yang digunakan untuk

menampilkan polls dan hasil-hasilnya, bagian yang digunakan

untuk menampilkan form pengambilan suara, bagian untuk

setting polls, bagian untuk menambah jawaban pada suatu

pertanyaan, bagian untuk mengedit pertanyaan dan bagian untuk

mengedit jawaban. Sebelum melangkah lebih lanjut perlu

dijelaskan bahwa setiap pertanyaan poll mempunyai empat status

yaitu:

Level 1, berarti pertanyaan belum dipublikasikan.

Pertanyaan beserta jawabannya tidak ditampilkan.

Level 2, adalah status pertanyaan dimana pertanyaan

tersebut dipublikasikan dan kesempatan untuk memilih

salah satu dari jawaban yang tersedia masih dibuka.

Level 3, pertanyaan tersebut masih dipublikasikan

tetapi sudah tidak menerima pemilihan jawaban. Para

pengguna sistem hanya bisa melihat hasilnya saja.

131

Page 153: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Berikut ini merupakan penjelasan dari bagian-bagian

yang telah disebutkan diatas:

Polls dan hasil-hasilnya.

Perintah yang terdapat dalam bagian ini adalah

membaca semua data pertanyaan yang mempunyai status

level 2 atau level 3 kemudian menghitung jumlah pemilih

atas jawaban pada setiap pertanyaannya. Hasil dari

pengambilan suara ini ditampilkan dalam bentuk diagram bar

yang bernilai sama dengan prosentase jumlah pemilih suatu

jawaban dibanding jumlah pemilih keseluruhan atas jawaban-

jawaban yang tersedia untuk pertanyaan tersebut. Pada setiap

pertanyaan yang mempunyai status level 2, disediakan link

untuk memberikan pilihan.

Pengambilan suara.

Bagian ini akan dijalankan setelah link untuk memilih

jawaban pada pertanyaan yang mempunyai status level 2

ditekan. Setelah link tersebut ditekan akan ditampilkan form

untuk memilih jawaban atas pertanyaan yang dipilih. Pilihan

yang diberikan akan disimpan dalam tabel bo_poll_vote.

Seorang user yang sudah pernah memberikan pilihan tidak

bisa memberikan pilihan kembali karena saat pengguna

sistem tersebut memberikan pilihan, user-ID dan ID jawaban

yang dipilih disimpan dalam tabel bo_poll_vote.

Seting polls.

132

Page 154: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Perintah-perintah yang terdapat dalam bagian ini

adalah menjalankan query untuk membaca dan menampilkan

semua data pertanyaan yang ada dalam basis data dan

menampilkan form untuk memasukkan data pertanyaan baru.

Pada setiap pertanyaan akan ditampilkan statusnya dan

pengguna bisa menekan status-status tersebut untuk

mengupdate status pertanyaan yang dipilih. Pengguna juga

dapat menghapus atau mengubah data pertanyaan atau

jawaban-jawabannya dengan menekan link-link yang

tersedia. Pada setiap link yang terdapat pada halaman ini,

disertakan ID pertanyaan atau ID jawaban sebagai parameter.

Setelah tombol submit pada form untuk memasukkan data

pertanyaan baru ditekan, data pertanyaan tersebut akan

disimpan dalam tabel bo_poll_questions dan akan

ditampilkan form untuk menambah jawaban pada pertanyaan

tersebut.

Tambah jawaban pertanyaan.

Bagian ini dijalankan setelah tombol submit pada

form untuk menambah pertanyaan ditekan atau setelah link

tambah jawaban pada daftar pertanyaan yang terdapat dalam

basis data ditekan. Perintah yang terdapat pada bagian ini

adalah perintah menampilkan form untuk menambah jawaban

dan perintah menjalankan query untuk membaca semua data

jawaban dari pertanyaan yang dipilih. Jawaban yang diisikan

133

Page 155: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

melalui form tambah jawaban akan disimpan dalam tabel

bo_poll_answers setelah tombol submit pada form tersebut

ditekan.

Edit pertanyaan.

Bagian ini dijalankan setelah link edit pertanyaan

dalam daftar pertanyaan yang terdapat dalam basis data

ditekan. Perintah yang terdapat dalam bagian ini adalah

membaca data pertanyaan dan jawaban dari pertanyaan yang

dipilih dan menampilkan form untuk mengubah data

pertanyaan. Setelah tombol submit pada form tersebut

ditekan maka akan dijalankan query untuk mengupdate data

pertanyaan yang dimaksud dan kembali ke bagian seting

polls.

Edit jawaban.

Bagian ini dijalankan setelah link edit jawaban dalam

daftar jawaban pada suatu pertanyaan yang terdapat dalam

basis data ditekan. Perintah yang terdapat dalam bagian ini

adalah membaca data pertanyaan dan jawaban dari

pertanyaan yang dipilih dan menampilkan form untuk

mengubah data jawaban. Setelah tombol submit pada form

tersebut ditekan maka akan dijalankan query untuk

mengupdate data jawaban yang dimaksud dan kembali ke

bagian seting polls.

134

Page 156: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

IV.2.10 Artikel

Menu artikel mempunyai kegunaan utama sebagai basis

pengetahuan. Tampilan, kode perintah dan penjelasan dari menu

ini adalah seperti dibawah ini.

Gambar IV.24 Halaman depan artikel dan hasil pencarian

Gambar IV.25 Form input artikel

135

Page 157: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.26 Seting artikel yang belum dipublikasikan

Gambar IV.27 Baca artikel

Berikut ini merupakan kode perintah menu Artikel yang

disimpan dalam file knowledge_index.php.

136

Page 158: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

<?phpsession_start();require_once 'core/config/config.inc.php';require_once 'core/config/core.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

$smarty->assign('session_target',$_SESSION['xsessid']);if(isset($_GET['app_start'])) {

$smarty->assign('app_id',$_GET['app_id']);$smarty->assign('app_label',$_GET['app_label']);// cari label menu default dari aplikasi ini untuk

ditampilkan$appid = $_GET['app_id'];$sqlx = mysql_query("SELECT * FROM bo_registered_menu

WHERE menu_default = '1' AND menu_app = '$appid' LIMIT 1");$resx = mysql_fetch_array($sqlx);$smarty->assign('menu_label',$resx['menu_label']);$smarty->display('knowledge_base/index.tpl');

}if(isset($_GET['app_nav'])) {

$xorcid = $_SESSION['xorc_id'];$appid = $_GET['app_id'];$arrmenukb = array();$sqlx = mysql_query("SELECT

menu_id,menu_action_file,menu_label FROM bo_registered_menu,bo_registered_access_menu WHERE menu_id = am_menu AND am_orc = '$xorcid' AND am_status = '1' AND menu_app = '$appid' ORDER BY menu_id");

while($resx = mysql_fetch_array($sqlx)) {array_push($arrmenukb,$resx);

}mysql_free_result($sqlx);$smarty->assign('arrmenukb',$arrmenukb);$smarty->assign('app_label',$_GET['app_label']);$smarty->assign('findmenu','Pencarian Artikel');$smarty->display('knowledge_base/navigator.tpl');

}// halaman utamaif(isset($_GET['app_home'])) {

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Berikut ini adalah daftar 30 artikel terbaru. Klik link &quot;Baca&quot; untuk membaca artikel selengkapnya. Apabila artikel yang anda maksud tidak ada dalam daftar dibawah, gunakan fasilitas pencarian yang ada disamping kiri anda. Selamat membaca, semoga bermanfaat bagi anda.";

137

Page 159: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arrart = array(); // daftar seluruh artikel $sqlx = mysql_query("SELECT bo_articles.*,bo_registered_orc.* FROM bo_articles,bo_registered_orc WHERE art_creator = orc_id AND art_status = '1' ORDER BY art_id DESC LIMIT 30"); $jmlartikel = mysql_num_rows($sqlx); while($resx = mysql_fetch_array($sqlx)) { array_push($arrart,$resx); } mysql_free_result($sqlx); $smarty->assign('arrart',$arrart); $smarty->assign('jmlartikel',$jmlartikel); $smarty->display('knowledge_base/daftar_artikel.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// artikel baru dan ubah artikelif(isset($_GET['articles'])) {

if(isset($_POST['submit_new_article'])) { $xorcid = $_SESSION['xorc_id']; $xtitle = $_POST['title']; $xkeyword = $_POST['keyword']; $xcontent = $_POST['content']; $insart = mysql_query("INSERT INTO bo_articles(art_title,art_keyword,art_content,art_creator,art_created) VALUES('$xtitle','$xkeyword','$xcontent','$xorcid',NOW())"); if($insart == 1) { $clues = 'Data berhasil disimpan. Hubungi pihak yang berwenang untuk mempublikasikan artikel anda.'; } else { $clues = 'Data gagal disimpan. Silakan mengulangi memasukkan data artikel anda dengan klik menu disamping kiri anda.'; } $smarty->assign('form_mode','confirmx');

}if(isset($_GET['show_form_new_article'])) {

$clues = 'Isilah form dibawah ini untuk menambah data artikel. Setelah anda mengisi judul dan isi artikel, tekanlah tombol &quot;Simpan Artikel&quot; untuk menyimpan dalam basis data. Artikel yang anda muat tidak akan ditampilkan sebelum di-publikasi-kan.'; $smarty->assign('form_mode','inputx');

}if(isset($_GET['show_form_edit_article'])) {

$clues = 'Setelah anda selesai mengubah data artikel, tekanlah tombol &quot;Simpan Artikel&quot; untuk menyimpan dalam basis data. Artikel yang anda muat tidak akan ditampilkan sebelum di-publikasi-kan.'; $art_id = $_GET['art_id']; $sqlx = mysql_query("SELECT * FROM bo_articles WHERE art_id = '$art_id' LIMIT 1");

138

Page 160: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$resx = mysql_fetch_array($sqlx); $smarty->assign('xartid',$art_id); $smarty->assign('xtitle',$resx['art_title']); $smarty->assign('xkeyword',$resx['art_keyword']); $smarty->assign('xcontent',$resx['art_content']); mysql_free_result($sqlx); $smarty->assign('form_mode','editx');

}// lets begin

$smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $smarty->display('knowledge_base/form_article.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// administrasi artikelif(isset($_GET['maintains'])) {

if(isset($_GET['publish'])) { $art_id = $_GET['art_id']; $updart = mysql_query("UPDATE bo_articles SET art_status = '1' WHERE art_id = '$art_id' LIMIT 1"); } if(isset($_GET['deletearticle'])) { $art_id = $_GET['art_id']; $delart = mysql_query("DELETE FROM bo_articles WHERE art_id = '$art_id' LIMIT 1"); optimize_table($db_core,'bo_articles'); } if(isset($_POST['submit_upd_article'])) { $art_id = $_POST['art_id']; $xtitle = $_POST['title']; $xkeyword = $_POST['keyword']; $xcontent = $_POST['content']; $updart = mysql_query("UPDATE bo_articles SET art_title = '$xtitle', art_keyword = '$xkeyword', art_content = '$xcontent' WHERE art_id = '$art_id' LIMIT 1"); }

// lets begin $smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos']; } else {

139

Page 161: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

$user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']); } $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Tabel dibawah ini adalah daftar semua artikel baru yang belum di-publikasi-kan. Klik link &quot;Publikasi&quot; untuk mempublikasikannya. Subelum dipublikasikan, artikel-artikel dibawah ini tidak akan muncul di halaman utama atau hasil pencarian artikel. Anda juga bisa mengubah atau bahkan menghapus dengan mengklik link-link yang bersangkutan."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl'); // main content $arrart = array(); // daftar seluruh artikel yang belum dipublikasi. $sqlx = mysql_query("SELECT bo_articles.*,bo_registered_orc.* FROM bo_articles,bo_registered_orc WHERE art_creator = orc_id AND art_status = '0' ORDER BY art_id DESC LIMIT 30"); $jmlartikel = mysql_num_rows($sqlx); while($resx = mysql_fetch_array($sqlx)) { array_push($arrart,$resx); } mysql_free_result($sqlx); $smarty->assign('arrart',$arrart); $smarty->assign('jmlartikel',$jmlartikel); $smarty->assign('xcommand','1'); $smarty->display('knowledge_base/daftar_artikel.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// pencarian artikelif(isset($_GET['find_articles'])) {

$katakunci = $_POST['katakunci'];// lets begin

$smarty->display('globals/page_begin.tpl'); // navigation if(isset($_GET['current_pos'])) { $user_position = $_GET['current_pos'];

} else { $user_position = strval($_GET['app_label']." >> ".$_GET['menu_label']);

} $smarty->assign('user_position',$user_position); $smarty->display('globals/navigation_box.tpl'); // some clues $clues = "Berikut ini adalah hasil pencarian artikel berdasar kata kunci &quot;<b><i>".$katakunci."</i></b>&quot;. Klik link &quot;Baca&quot; untuk membaca artikel selengkapnya. Selamat membaca, semoga bermanfaat bagi anda."; $smarty->assign('clues',$clues); $smarty->assign('boxwidth','100%'); $smarty->display('globals/clues_box.tpl');

140

Page 162: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

// main content $arrart = array(); // daftar seluruh artikel $sqlx = mysql_query("SELECT bo_articles.*,bo_registered_orc.* FROM bo_articles,bo_registered_orc WHERE art_creator = orc_id AND art_status = '1' AND art_keyword LIKE '%$katakunci%' ORDER BY art_id DESC"); $jmlartikel = mysql_num_rows($sqlx); while($resx = mysql_fetch_array($sqlx)) { array_push($arrart,$resx);

} mysql_free_result($sqlx); $smarty->assign('arrart',$arrart); $smarty->assign('jmlartikel',$jmlartikel); $smarty->display('knowledge_base/daftar_artikel.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}// baca artikelif(isset($_GET['readarticle'])) {

$art_id = $_GET['art_id']; $sqlx = mysql_query("SELECT orc_lastname,orc_firstname,art_title,art_created,art_content FROM bo_articles,bo_registered_orc WHERE art_creator = orc_id AND art_id = '$art_id' LIMIT 1"); $resx = mysql_fetch_array($sqlx); $creator = strval($resx['orc_lastname'].", ".$resx['orc_firstname']); $smarty->assign('xcreator',$creator); $smarty->assign('xtitle',$resx['art_title']); $smarty->assign('xcreated',$resx['art_created']); $smarty->assign('xcontent',$resx['art_content']); mysql_free_result($sqlx); $user_position = strval($_GET['current_pos']." >> Baca Artikel"); $smarty->assign('xwindowtitle',$user_position); // lets begin $smarty->display('globals/page_begin.tpl'); // main content $smarty->display('knowledge_base/baca_artikel.tpl'); // end of page

$smarty->display('globals/page_end.tpl');}

} else {$smarty->display('trulogix_login/empty_page.tpl');

}?>

Dengan mengamati kode program diatas dapat dilihat

bahwa menu Artikel ini terbagi menjadi tujuh bagian yaitu:

bagian yang membagi frame tengah menjadi dua secara vertikal,

bagian yang memuat sub-menu, bagian yang digunakan untuk

141

Page 163: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

menampilkan halaman utama, bagian yang memunculkan form

input artikel baru, bagian yang digunakan untuk administrasi

artikel, bagian yang digunakan untuk melakukan pencarian

artikel dan bagian yang digunakan untuk membaca artikel.

Berikut ini merupakan penjelasan dari bagian-bagian yang telah

disebutkan diatas:

Halaman utama.

Bagian ini memuat perintah untuk menampilkan tiga

puluh artikel terbaru. Untuk menampilkan hal tersebut

dijalankan query yang membaca semua data artikel dalam

tabel bo_articles yang sudah dipublikasikan, data yang

diambil diurutkan berdasar waktu dibuatnya artikel secara

descending sebanyak tiga puluh baris. Untuk setiap artikel

yang isinya lebih dari dua ratus karakter, disediakan tombol

untuk mambaca artikel selengkapnya. Tombol ini akan

membuka halaman baru dengan menyertakan ID artikel

sebagai parameter.

Input artikel baru.

Perintah-perintah yang berada dalam bagian ini

adalah perintah menampilkan form untuk memasukkan data

artikel baru dan perintah untuk menyimpan data artikel yang

dimasukkan tersebut. Data artikel baru tersebut secara default

status publikasinya akan bernilai sama dengan “0” atau

142

Page 164: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

belum dipublikasikan sehingga tidak ditampilkan sebelum

statusnya diubah menjadi “1” atau sudah dipublikasikan.

Administrasi artikel.

Bagian ini adalah bagian yang berisi perintah-perintah

untuk membaca semua artikel yang belum dipublikasikan,

mempublikasikan artikel, mengubah data artikel, dan

menghapus data artikel. Perintah untuk membaca artikel yang

belum dipublikasikan adalah memilih semua data dalam tabel

bo_articles yang statusnya sama dengan “0”. Untuk setiap

artikel yang ditampilkan tersebut, disediakan link untuk

mempublikasikan, mengubah data dan menghapus data.

Setelah link untuk mempublikasikan ditekan, akan dijalankan

query yang mengubah data status publikasi artikel yang

dipilih menjadi “1”. Setelah link ubah data artikel ditekan,

ditampilkan form untuk mengubah data dari artikel yang

dipilih. Setelah tombol submit pada form tersebut ditekan

akan dijalankan query yang mengupdate data artikel yang

dipilih sesuai dengan data-data yang dimasukkan melalui

form tersebut. Link hapus digunakan untuk menghapus artikel

yang dipilih.

Pencarian artikel.

Perintah yang terdapat pada bagian ini adalah

menjalankan dan menampilkan hasil query yang mengambil

143

Page 165: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

data artikel dimana kata kunci pencariannya seperti variabel

$katakunci dan sudah dipublikasikan.

Baca artikel.

Perintah dalam bagian ini adalah menjalankan query

yang membaca data artikel dalam tabel bo_articles yang ID

artikelnya sama dengan variabel $art_id. Pada bagian bawah

halaman ini tersedia sebuah tombol yang digunakan untuk

menutup halaman yang memuat data lengkap artikel ini.

IV.2.11 Informasi Sistem

Menu ini digunakan untuk melihat informasi-informasi

pada platform yang digunakan. Untuk menghasilkan informasi

ini, penulis menggunakan plug-in phpsysinfo yang terletak

dalam folder ./blueoctopus/trulogix/phpsysinfo. Tampilan, kode

perintah dan penjelasan dari menu ini adalah seperti dibawah ini.

Gambar IV.28 Informasi sistem

144

Page 166: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Berikut ini merupakan kode perintah menu Informasi

Sistem yang disimpan dalam file system_index.php.

<?phpsession_start();require_once 'core/config/config.inc.php';if((isset($_SESSION['xsessid'])) && (isset($_SESSION['xorc_id']))) {

if(isset($_GET['app_start'])) {include "trulogix/phpsysinfo/index.php";

}} else {

$smarty->display('trulogix_login/empty_page.tpl');}?>

Dari kumpulan kode perintah diatas dapat dilihat bahwa

saat variabel $_GET[‘app_start’] di-set, maka akan dipanggil file

index.php yang ada dalam folder phpsysinfo. File index.php yang

ada dalam folder phpsysinfo tersebut melakukan penghitungan

dan kemudian menampilkan informasi-informasi tentang sistem

yang digunakan.

IV.2.12 Password

Fasilitas ini tersedia bagi setiap pengguna sistem.

Fasilitas ini digunakan untuk mengubah password. Password

pengguna sistem tersimpan dalam tabel bo_registered_orc pada

kolom orc_password. Data yang disimpan tersebut di-encrypt

dengan menggunakan metode MD5(). Tampilan, kode perintah

dan penjelasan dari menu ini adalah seperti dibawah ini.

Berikut ini merupakan cuplikan kode perintah menu

Password yang disimpan dalam file core.php dan index.php.

145

Page 167: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

// show change password form :: core.phpif($_GET['change_password'] == '1') {

$smarty->assign('change_passwd_msg','Please enter your new password'); $smarty->assign('bottom_msg','Notice: You will be automatically logged-out after you change your password. Please re-login with your new password.'); $smarty->display('trulogix_login/change_password.tpl');}// update password and back to login form :: index.phpif($_POST['update_password'] == '1'){

$chp_useridx = $_SESSION['xorc_id'];$chp_passwdx = md5($_POST['neu_password']);$sqxchp = mysql_query("UPDATE bo_registered_orc SET

orc_password = '$chp_passwdx' WHERE orc_id = '$chp_useridx' LIMIT 1");

session_unset();session_destroy(); }Dari kode perintah diatas dapat dilihat bahwa form ganti

password akan tampil saat variabel $_GET[‘change_password’]

di-set(dalam file core.php). Form untuk mengganti password ini

mempunyai action di file index.php dan akan mengeksekusi

semua perintah yang ada berada dalam klausa

if($_POST[‘update_password’] == ‘1’). Perintah-perintah yang

dieksekusi adalah meng-encrypt password yang di-isi-kan,

berada dalam variabel $chp_passwordx, dengan menggunakan

fungsi MD5(). Setelah itu menjalankan query untuk mengupdate

tabel bo_registered_orc kolom orc_password menjadi password

baru(sudah ter-encrypt) yang kolom orc_id sama dengan user-ID

yang tersimpan dalam session.

Berikut ini merupakan gambar tampilan dari form untuk

mengganti password. Setelah tombol submit ditekan akan

ditampilkan halaman login.

146

Page 168: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Gambar IV.29 Form ganti password

147

Page 169: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

BAB V

ANALISA HASIL

Pembuatan sistem informasi untuk menyediakan sebuah solusi teknologi

informasi yang handal dan dapat dikembangkan secara berkesinambungan untuk

keperluan penanganan data, menjadwalkan pekerjaan-pekerjaan yang terkait, dan

memonitor perkembangan dari pekerjaan yang dikerjakan pada suatu proyek

dibuat untuk mengatasi masalah yang ada di Odyssey Digital Development

Community, dimana institusi tersebut mengalami kesulitan karena mempunyai

banyak pekerja lepas dan inventaris yang terpisah secara geografis namun terlibat

dalam suatu proyek yang sama. Hal ini menyebabkan proses komunikasi,

organisasi, koordinasi, dan evaluasi pegerjaan proyek menjadi terhambat.

Adapun kendala-kendala yang yang dihadapi dalam pembuatan sistem ini

diantaranya adalah:

1. Sulitnya memperoleh data yang diperlukan untuk uji coba program dalam

pemasukkan data.

2. Sulitnya pembuatan antar muka yang lebih user friendly dan sederhana.

3. Sulitnya mengintegrasikan berbagai macam teknologi multifungsi ke

dalam sebuah sistem.

Sistem ini memiliki beberapa kekurangan dan kelebihan, antara lain:

Kekurangan:

Data masukan yang berhubungan dengan suatu proyek sangat minimal,

hanya terdiri dari nama proyek, tanggal mulai dan tanggal jatuh tempo.

Tidak ada fasilitas untuk mengadministrasi inventaris perusahaan.

Page 170: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Tidak ada fasilitas untuk melakukan back-up dan restore basis-data.

Tidak ada fasilitas untuk mengorganisasi berkas-berkas.

Penjadwalan pengerjaan sebuah proyek dilakukan secara manual.

Minimalnya error-handling pada setiap form yang digunakan untuk

memasukkan data.

Dokumentasi pengerjaan kegiatan hanya dapat dilihat oleh pengguna

sistem yang menangani bagian tersebut saja.

Kelebihan:

Pengguna sistem dapat berkomunikasi melalui pengiriman pesan tanpa

harus dibatasi ruang dan waktu.

Pengaturan hak akses atas menu-menu yang dibuat sedemikian rupa

sehingga penggunaannya sangat fleksibel dan tidak terbatas pada golongan

tertentu.

Data-data sebuah proyek disajikan dengan gantt-chart sehingga

memudahkan dalam memantau dan mengambil keputusan mengenai

proyek yang dijalankan atau dikerjakan.

Pengerjaan proyek oleh seorang pengguna sistem tidak dilakukan dengan

metode penunjukan tetapi dengan metode penawaran sehingga keputusan

untuk menerima atau menolak pekerjaan dapat diputuskan oleh pengguna

sistem. Hal tersebut dapat meningkatkan efisiensi pelaksanaan proyek

karena pelaku pekerjaan adalah orang yang benar-benar bersedia dan

mempunyai kemampuan untuk menyelesaikannya.

149

Page 171: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Sesuai dengan judul yang dibuat teknologi yang dipakai dalam pembuatan

aplikasi ini adalah :

Kate memberikan kemudahan dalam proses coding karena fitur – fitur

yang dimiliki salah satu tools pembuatan aplikasi berbasis web ini lengkap

dan dapat di-setting sesuai dengan kebutuhan. Misalnya tampilan huruf

dapat diganti warnanya, hal ini yang mengakibatkan programmer akan

merasa nyaman apabila menggunakan dalam waktu yang cukup lama.

Apache, web server.

MySql, database.

Keberadaan web server dan database merupakan sarat yang harus dipenuhi

jika membuat program aplikasi berbasis web yang memiliki tempat untuk

menyimpan data. Salah satu tools yang dipakai adalah Apache dan MySql.

Kedua tools ini merupakan satu paket dan sangat cocok dengan bahasa

pemrograman PHP versi apapun. Di sisi lain konfigurasi ketiganya mudah

dilakukan. MySql sebagai database, mampu menampung proses

penyimpanan data-data penting walaupun dengan ukuran yang cukup

besar.

150

Page 172: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

Analisa metodologi yang digunakan dalam pembuatan aplikasi ini :

Fase studi kelayakan

Pada fase ini hanya berhubungan berapa lama waktu yang dibutuhkan

untuk pembuatan aplikasi ini. Proses pengerjaan yang dibutuhkan untuk

mengerjakan tahap ini adalah 2 – 3 bulan.

Fase analisa kebutuhan

Analisa kebutuhan dilakukan dengan cara langsung datang ke komunitas

pengembang perangkat lunak tersebut kemudian menanyakan hal – hal

yang berhubungan dengan aplikasi yang akan dibuat.

Fase rancangan

Tahap ini dikerjakan seperti pada Bab III.

Fase implementasi

Dengan melakukan kegiatan antara lain instalasi perangkat lunak (tools

yang digunakan), pembuatan program, pengujian program.

Fase pengujian

Aplikasi yang dibuat dicoba secara langsung di komunitas pengembang

perangkat lunak tersebut.

Fase operasi

Berhubungan dengan maintenance sistem. Tahap ini tidak dilakukan

karena sistem belum digunakan secara penuh. Pengujian secara langsung

hanya bertujuan apakah sistem yang dibangun sesuai dengan kebutuhan.

151

Page 173: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

BAB VI

PENUTUP

VI.1 Kesimpulan

Berdasarkan hasil analisis dan implementasi Sistem Informasi

Manajemen Proyek Berbasis Web, maka dapat diambil kesimpulan bahwa

sistem yang dibuat dapat menyediakan sebuah solusi teknologi informasi

yang handal dan dapat dikembangkan secara berkesinambungan untuk

keperluan penanganan data dan berkas, media berinteraksi bagi para

personel yang terlibat pada pengerjaan suatu proyek, media untuk

mengorganisir dan mengkoordinir sumber daya, dan media untuk

mengevaluasi perkembangan dari pekerjaan yang dikerjakan pada suatu

institusi yang menangani pengerjaan suatu atau beberapa proyek.

VI.2 Saran

Sistem yang dibuat masih terdapat kekurangan, seperti yang telah

disebutkan pada bab lima, oleh karena itu tidak menutup kemungkinan

sistem ini untuk dikembangkan menjadi sistem yang lebih lengkap

fasilitasnya.

152

Page 174: Program Aplikasi Diagram Gantt Padarepository.usd.ac.id/32027/2/005314085_Full.pdf · This gantt chart application hopefully could support the project management information system

DAFTAR PUSTAKA

Aziz, M.Farid , 2001, Belajar Sendiri Pemrograman PHP 4 , Elex Media

Komputindo, Jakarta

Jogiyanto, HM., 1995, Analisis dan Desain Sistem Informasi : Pendekatan

Terstruktur Teori dan Praktek Aplikasi Bisnis , Andi Offset, Yogyakarta

Kadir, Abdul, 2002, Dasar pemrograman Web Dinamis Menggunakan PHP, Andi

Offset, Yogyakarta

Kristanto, Andri , 2003, Perancangan Sistem Informasi dan Aplikasinya, Gaya

Media , Yogyakarta

Ramakrishnan,Raghu & Gehrke, Johanes, 2003, Sistem Manajemen Database

Edisi 3 , Andi Offset, -

Syafii, M, 2004, Membangun Aplikasi Berbasis PHP dan MySQL, Andi Offset,

Yogyakarta

153