4. implementasi sistem

26
35 Universitas Kristen Petra 4. IMPLEMENTASI SISTEM Pada bab ini dibahas tentang implementasi sistem sesuai dengan analisis dan desain sistem. Implementasi sistem meliputi pengaturan database MySQL dan implementasi aplikasi. 4.1 Implementasi Aplikasi 4.1.1 Software Pada bagian ini, akan dijelaskan software yang digunakan dalam pembuatan skripsi ini. berikut software yang digunakan : Notepad++ v7.1 : digunakan untuk membuat file HTML, PHP, Javascript, dan pembuatan script program. Google Chrome Version 54.0.2840.99m : digunakan untuk menampilkan dan menjalankan aplikasi Mozilla Firefox Version 50.0: digunakan untuk menampilkan dan menjalankan aplikasi XAMPP version 2.5: digunakan untuk menginstall PHP dan program dapat diakses melalui localhost FileZilla version 3.17.0 : digunakan untuk meng-upload file PHP untuk dapat diakses dari server PhoneGap Dekstop version 0.3.5 : digunakan untuk menampilkan dan menjalankan aplikasi pada handphone. MySQL 5.5 : digunakan untuk menyimpan database Android Studio 1.0 : digunakan untuk compile menjadi .apk Android 4.2 Implementasi Software Dalam pembuatan program skripsi ini, yang pertama dilakukan adalah menginstall XAMPP pada laptop, agar dapat menggunakan bahasa pemrograman PHP. Dalam pengerjaan skripsi ini, bahasa PHP digunakan untuk melakukan proses insert, update, view, dan delete data dari database, sedangkan bahasa HTML digunakan untuk mengatur tampilan program.

Upload: khangminh22

Post on 01-May-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

35 Universitas Kristen Petra

4. IMPLEMENTASI SISTEM

Pada bab ini dibahas tentang implementasi sistem sesuai dengan analisis dan desain

sistem. Implementasi sistem meliputi pengaturan database MySQL dan implementasi

aplikasi.

4.1 Implementasi Aplikasi

4.1.1 Software

Pada bagian ini, akan dijelaskan software yang digunakan dalam pembuatan

skripsi ini. berikut software yang digunakan :

Notepad++ v7.1 : digunakan untuk membuat file HTML, PHP, Javascript, dan

pembuatan script program.

Google Chrome Version 54.0.2840.99m : digunakan untuk menampilkan dan

menjalankan aplikasi

Mozilla Firefox Version 50.0: digunakan untuk menampilkan dan menjalankan

aplikasi

XAMPP version 2.5: digunakan untuk menginstall PHP dan program dapat diakses

melalui localhost

FileZilla version 3.17.0 : digunakan untuk meng-upload file PHP untuk dapat

diakses dari server

PhoneGap Dekstop version 0.3.5 : digunakan untuk menampilkan dan menjalankan

aplikasi pada handphone.

MySQL 5.5 : digunakan untuk menyimpan database

Android Studio 1.0 : digunakan untuk compile menjadi .apk Android

4.2 Implementasi Software

Dalam pembuatan program skripsi ini, yang pertama dilakukan adalah

menginstall XAMPP pada laptop, agar dapat menggunakan bahasa pemrograman

PHP. Dalam pengerjaan skripsi ini, bahasa PHP digunakan untuk melakukan proses

insert, update, view, dan delete data dari database, sedangkan bahasa HTML

digunakan untuk mengatur tampilan program.

36 Universitas Kristen Petra

Setelah itu menggunakan program Notepad++ sebagai text editor. Dengan

menggunakan Notepad++, file HTML, PHP, JavaScript dan Script pemrograman

dibuat. Setelah file HTML dibuat, digunakan program Google Chrome atau Mozilla

Firefox sebagai browser untuk melihat hasil dari pekerjaan.

Pada pengerjaan program skripsi ini, untuk mencoba meng-convert file

HTML menjadi apk, dibutuhkan PhoneGap Desktop, Android Studio pada

handphone untuk melihat hasilnya.

4.3 Implementasi Program

Implementasi program adalah tahap pembuatan program berdasarkan dari

proses aplikasi wedding planner yang telah ada. Program dibuat dengan

menggunakan bahasa pemrograman HTML, JavaScript, PHP dengan database

MySql. Pada Tabel 4.1 terdapat tabel segmen program yang berisi fitur-fitur pada

aplikasi yang telah dibuat.

Tabel 4.1 Daftar Segmen Program

N

o Keterangan Segmen

Flowchart

1 Register 4.1, 4.2, 4.3, 4.4 Gambar 3.3

3

2 Login 4.5

Gambar 3.6

3 Chat 4.6, 4.7, 4.8, 4.9, 4.10 Gambar 3.9

4 Request Event 4.11, 4.12 Gambar 3.11

5 Search Vendor 4.13, 4.14 Gambar 3.8

6 Detail Event 4.15, 4.16 Gambar 3.12

7 To Do List 4.17, 4.18 Gambar 3.13

8 Profile EO 4.19, 4.20 Gambar 3.16

9 Edit Profile 4.21, 4.22, 4.23, 4.24 Gambar 3.17

37 Universitas Kristen Petra

4.4 Implementasi pada Interface

Desain interface yang digunakan dibedakan menurut jenis status username

pada saat sign in (user, EO, vendor). Disetiap username yang sign in terdapat menu

yang berbeda-beda, berikut dijelaskan pada Tabel 4.2. Semua menu tersedia dan

dibuat pada Index.HTML.

Tabel 4.2. Tabel Menu

Status Pengguna Tabel Menu

Klien Login

View Event

Request Event

View Profile EO

Search Vendor

Chat

Log Out

Status Pengguna Tabel Menu

EO Sign in

Edit Profile EO

Chat

View Event_EO

Detail Event(approve,pending,decline)

To Do List(View to do list,Choose Vendor)

Sign Out

Status Pengguna Tabel Menu

Vendor Sign In

Edit Profile Vendor

Chat

Sign Out

38 Universitas Kristen Petra

$("#buttonDaftar").click(function()

{

daftar();

});

4.5 Proses Registrasi Klien

Registrasi atau pendaftaran harus dilakukan apabila ingin menggunakan

aplikasi wedding planner. Dengan memiliki account pada aplikasi ini, user/klien

dapat mengakses fitur-fitur yang ada pada aplikasi wedding planner. Pada saat

registrasi awal, user/klien diminta untuk memasukkan data pribadi sebagai keperluan

pendataan sistem, sebagai berikut dapat diperhatikan pada Segmen Program 4.1.

Segmen 4.1 JavaScript Register

Segmen Program 4.1 menunjukkan bagian data yang perlu untuk dilengkapi

oleh Klien pada saat masuk ke halaman Register.

Segmen 4.2 JavaScript Register (2)

Pada Segmen Program 4.2 menunjukkan bagian Register pada javascript

memanggil fungsi Register.

Segmen 4.3 JavaScript Register Klien (3)

function daftar()

{

if (inputvalid())

function inputvalid()

{

var password=$("#inputpassword").val();

var password2=$("#inputpassword2").val();

var email=$("#inputemail").val();

var alamat=$("#inputalamat").val();

var nama=$("#inputnama").val();

var telepon=$("#inputtelepon").val();

39 Universitas Kristen Petra

{

var email=$("#inputemail").val();

var password=$("#inputpassword").val();

var alamat=$("#inputalamat").val();

var nama=$("#inputnama").val();

var telpon=$("#inputtelepon").val();

$.ajax({

url: server+"register_klien.php",

type: 'GET',

data:{email:email,

password:password,

alamat:alamat,

nama:nama,

telpon:telpon},

dataType:'json',

success: function(retVal) {

if (retVal.hasil=="ok")

{

alert("Register klien berhasl dilakukan");

window.location="index.html";

}

else if (retVal.hasil=="kembar")

{

$("#warningAll").show();

$("#containerWarning").html("Email yang anda masukkan sudah

digunakan");

}

else {

alert("Register gagal dilakukan");

}

},

40 Universitas Kristen Petra

error: function(e) {

}

});

console.log("finish");

Pada Segmen Program 4.3 menunjukkan bagian lanjutan Register pada

javascript memanggil fungsi Register pada lembar kerja PHP.

Segmen 4.4 PHP Register

Pada Segmen Program 4.4, berisi fungsi sign up pada server, dimana data

yang dikirimkan oleh JavaScript, diambil dan dilakukan insert data user ke dalam

database.

4.6 Proses Login

Fungsi ini membutuhkan alamat email dan password dari pengguna yang

sudah terdaftar. Email dan password yang diisi oleh pengguna akan disesuaikan

dengan email dan password yang ada di database. Jika sesuai maka penggguna

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$email=mysqli_real_escape_string($db,$_GET["email"]);

$password=mysqli_real_escape_string($db,$_GET["password"]);

$nama=mysqli_real_escape_string($db,$_GET["nama"]);

$alamat=mysqli_real_escape_string($db,$_GET["alamat"]);

$telpon=mysqli_real_escape_string($db,$_GET["telpon"]);

$result["hasil"]="ok";

$q="SELECT * FROM user WHERE email='$email'";

$res=mysqli_query($db,$q);

if ($row=mysqli_fetch_assoc($res))

{

$result["hasil"]="kembar";

}

else {

$q="INSERT INTO user (nama,alamat,telpon,email,tipe,password)".

"VALUES('$nama','$alamat','$telpon','$email','klien','$passw

ord')";

?>

41 Universitas Kristen Petra

berhasil login dan jika tidak sesuai maka akan muncul alert yang menampilkan

ketidaksesuaian email dan password.

Segmen 4.5 Fungsi Login

$(document).ready(function(){

$("#buttonLogin").click(function()

{

$.ajax({

url: server+"login.php",

type: 'GET',

data: { email:email,password:password},

dataType:'json',

success: function(data) {

if (data.login_ok)

{

localStorage.setItem("user",

JSON.stringify(data.user));

console.log(data.user);

if (data.user.tipe=="klien")

{

window.location="home.html";

}

else if (data.user.tipe=="eo")

{

window.location="home_eo.html";

}

else

{

alert("Username dan password yang anda masukkan

salah");

}

42 Universitas Kristen Petra

4.7 Proses Chat

Fungsi ini dapat dilakukan bila klien, vendor, ataupun EO mempunyai data

atau contact dari salah satu user yang ada. Fitur ini akan di refresh beberapa detik

sekali agar dapat melihat pesan yang terkirim dan yang diterima.

Segmen 4.6 Fungsi Send Chat

var user=null;

function sendchat()

{

if (user!=null)

{

var chat=$("#textchat").val();

$.ajax({

url: server+"send_chat.php",

type: 'GET',

data:{chat:chat,id:user.Id_user},

dataType:'json',

success: function(retVal) {

$("#textchat").val("");

},

error: function(e) {

Pada Segmen Program 4.6 berisi fungsi Javascript send chat yang akan

mengirimkan pesan dari pihak pengirim ke penerima pesan.

Segmen 4.7 PHP Send Chat

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$chat=mysqli_real_escape_string($db,$_GET["chat"]);

$id=mysqli_real_escape_string($db,$_GET["id"]);

$q="INSERT INTO chat (C_From,C_To,Isi_Chat,Tanggal,R_Flag) ".

43 Universitas Kristen Petra

"VALUES ($id,-1,'$chat',SYSDATE(),'u')";

mysqli_query($db,$q);

$hasil["hasil"]="sukses";

echo json_encode($hasil);

?>

Pada Segmen Program 4.7 berisi fungsi PHP send chat yang akan

dimasukkan ke dalam table chat.

Segmen 4.8 Fungsi Get Chat

var chatSebelum=new Array();

function getchat()

{

if (user!=null)

{

$.ajax({

url: server+"get_chat.php",

type: 'GET',

data:{id:user.Id_user},

dataType:'json',

success: function(retVal) {

if (retVal.length!=chatSebelum.length)

{

var chtml="";

for (var i=0;i<retVal.length;i++)

{

var detail=retVal[i];

var uhtml="";

if (detail.C_From=="-1")

{

uhtml=$("#chat1").html();

uhtml=uhtml.replace("xWaktu",detail.keterangan);

44 Universitas Kristen Petra

uhtml=uhtml.replace("xChat",detail.Isi_Chat);

}

else {

uhtml=$("#chat2").html();

uhtml=uhtml.replace("xWaktu",detail.keterangan);

uhtml=uhtml.replace("xChat",detail.Isi_Chat);

}

chtml=chtml+uhtml;

}

$("#ct").html(chtml);

var d = $('#pbody');

d.animate({ scrollTop: d.prop('scrollHeight') },

1000);

$("#ct").scrollTop($("#ct")[0].scrollHeight);

chatSebelum=retVal;

}

Pada Segmen Program 4.8 berisi fungsi Javascript get chat yang akan

menerima pesan dari pengirim pesan dilihat berdasarkan waktu penerimaan pesan.

Segmen 4.9 Javascript Get Chat(2)

$(document).ready(function()

{

user=JSON.parse(localStorage.getItem("user"));

setInterval(function() {

getchat();

}, 1000);

});

Pada Segmen Program 4.9 menunjukkan bagian pada fungsi chat pada

javascript memanggil fungsi get_chat .

Segmen 4.10 PHP Get Chat

45 Universitas Kristen Petra

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$dataChat=array();

$id=mysqli_real_escape_string($db,$_GET["id"]);

$q="SELECT c.*,DATE_FORMAT(c.Tanggal,'%d-%M-%Y %h:%i:%s')

as k_tgl,TIME_TO_SEC(TIMEDIFF(SYSDATE(),c.Tanggal)) as diff_t ".

"FROM chat c "."WHERE c.C_From=$id OR c.C_To=$id ".

"ORDER BY c.Tanggal ASC";

$res=mysqli_query($db,$q);

while ($row=mysqli_fetch_assoc($res))

{

$keterangan="";

if ($row["diff_t"]<3600)

{

$minute=round($row["diff_t"]/60);

$keterangan=$minute." menit yang lalu";

}

else if ($row["diff_t"]>=3600 && $row["diff_t"]<=86400)

{

$minute=round($row["diff_t"]/3600);

$keterangan=$minute." jam yang lalu";

}

else {

$keterangan=$row["k_tgl"];

}

$row["keterangan"]=$keterangan;

array_push($dataChat,$row);

}

echo json_encode($dataChat);

46 Universitas Kristen Petra

?>

Pada Segmen Program 4.10 menunjukkan PHP dari fungsi Get_chat dimana

dapat dilihat berupa keterangan yang berisi waktu atau tanggal diterima pesan yang

ada.

4.8 Proses Request Event

Fungsi ini dilakukan oleh Klien dalam mengajukan acara yang akan

diselenggarakan kepada pihak EO.

Segmen 4.11 Fungsi Request Event

function savedata()

{

$.ajax({

url: server+"save_event.php",

type: 'GET',

data:{ namaevent:namaevent,

tanggalmulai:tanggalmulai,

tanggalselesai:tanggalselesai,

tipe:tipe,

id:user.Id_user,

budget:budget},

dataType:'json',

success: function(data) {

if (data.result=="success")

{

window.location="event.html";

}

else {

$("#containerWarning").show();

$("#containerWarning").html(data.result);

}

47 Universitas Kristen Petra

},

error: function(e) {

}

Pada Segmen Program 4.11 berisi fungsi Javascript request event yang

berisi form event yang dapat diisi oleh klien.

Segmen 4.12 PHP Request Event

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$hasil=array();

$event=mysqli_real_escape_string($db,$_GET["namaevent"]);

$tanggalmulai=mysqli_real_escape_string($db,$_GET["tanggalmulai"]

);

$tanggalselesai=mysqli_real_escape_string($db,$_GET["tanggalseles

ai"]);

$tipe=mysqli_real_escape_string($db,$_GET["tipe"]);

$id=mysqli_real_escape_string($db,$_GET["id"]);

$budget=mysqli_real_escape_string($db,$_GET["budget"]);

$q="SELECT * FROM Event WHERE Nama='$event' AND UserID='$id' AND

TanggalMulai='$tanggalmulai'";

$res=mysqli_query($db,$q);

if ($row=mysqli_fetch_assoc($res))

{

$hasil["result"]="Request data tersebut telah dilakukan";

}

else {

$q="INSERT INTO Event

(Nama,TanggalMulai,TanggalSelesai,Budget,

Id_jenis_acara,UserID,Status) ".

48 Universitas Kristen Petra

"VALUES ('$event','$tanggalmulai','$tanggalselesai',

'$budget','$tipe','$id','a')";

mysqli_query($db,$q);

$hasil["result"]="success";

}

echo json_encode($hasil);

?>

Pada Segmen Program 4.12 berisi fungsi PHP request event yang akan

menyimpan event yang sudah diajukan

4.9 Proses Search Vendor

Fungsi ini dilakukan oleh Klien untuk mencari vendor yang dibutuhkan

dalam mempersiapkan pernikahan. Klien dapat mencari berdasarkan nama, kota,

dan jenis vendor yang tersedia.

Segmen 4.13 Fungsi Search Vendor

function fetchdata()

{

$.ajax({

url: server+"vendor.php",

type: 'GET',

data:{nama:nama,tipe:tipe,kota:kota},

dataType:'json',

success: function(data) {

var bodyHTML="";

for (var i=0;i<data.length;i++)

{

var detail=data[i];

bodyHTML=bodyHTML+"<tr><td>"+detail.nama+"</td>"+

"<td>"+detail.alamat+"</td>"+

"<td>"+detail.range_harga+"</td>"+

"<td>"+detail.nama_kota+"</td>"+

49 Universitas Kristen Petra

"<td>"+detail.Item+"</td>"+

"<td><ahref='detailvendor.html?id="+detail.VendorID+"'>

Detail</a></td>"+"</tr>";

}

$("#bodyEvent").html(bodyHTML);

},

error: function(e) {

}

Pada Segmen Program 4.13 berisi fungsi Javascript search vendor yang

menjalankan fungsi pencarian berdasarkan attribute yang telah ditentukan .

Segmen 4.14 PHP Search Vendor

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$bkg="";

$tipe="";

if (isset($_GET["tipe"]))

{

$tipe=mysqli_real_escape_string($db,$_GET["tipe"]);

}

$kota="";

if (isset($_GET["kota"]))

{

$kota=mysqli_real_escape_string($db,$_GET["kota"]);

}

$nama="";

if (isset($_GET["nama"]))

{

$nama=mysqli_real_escape_string($db,$_GET["nama"]);

50 Universitas Kristen Petra

}

if ($tipe!="")

{

$bkg=" AND v.id_to_do='$tipe' ";

}

if ($kota!="")

{

$bkg=$bkg." AND k.id_kota='$kota' ";

}

if ($nama!="")

{

$bkg=$bkg." AND v.nama LIKE '%$nama%' ";

}

$hasil=array();

$q="SELECT v.VendorID,v.nama,v.alamat,v.harga,v.hargaakhir,

tdi.Item,v.deskripsi,k.nama_kota ".

"FROM vendor v ".

"INNER JOIN kota k ON (k.id_kota=v.kota) ".

"INNER JOIN to_do_item tdi ON (tdi.Id_to_do=v.id_to_do) ".

"WHERE TRUE ".$bkg;

$res=mysqli_query($db,$q);

while ($row=mysqli_fetch_assoc($res))

{

$row["range_harga"]=number_format($row["harga"]).

"-".number_format($row["hargaakhir"]);

array_push($hasil,$row);

};

echo json_encode($hasil);

?>

51 Universitas Kristen Petra

Pada Segmen Program 4.14 berisi fungsi PHP search vendor yang

menjalankan fungsi sesuai pencarian klien dan diambil melalui database seperti

attribute yang ada .

4.10 Proses Detail Event

Fungsi ini tersedia pada menu event pada EO dimana EO dapat melihat

detail event yang diajukan oleh klien dan dapat merubah status (Pending ,Accept,

Decline).

Segmen 4.15 Fungsi Detail Event

var id="";

function fetchDetailData(id)

{

$.ajax({

url: server+"detail_event.php",

type: 'GET',

data: { id:id},

dataType:'json',

success: function(retVal) {

var data=retVal.event;

console.log(data);

$("#budget").val(data.Budget);

$("#status").val(data.Status);

$("#tipe").val(data.JenisAcara);

$("#tanggalselesai").val(data.TanggalSelesai);

$("#tanggalmulai").val(data.TanggalMulai);

$("#namaevent").val(data.Nama);

$("#request").val(data.nama_u);

var jenisHTML="";

var jenis=retVal.jenis;

for (var i=0;i<jenis.length;i++)

{

52 Universitas Kristen Petra

jenisHTML=jenisHTML+"<option

value='"+jenis[i].Id_jenis_acara+"'>"+jenis[i].Nama+"</option>";

}

$("#tipe").html(jenisHTML);

$("#tipe").val(data.Id_jenis_acara);

Pada Segmen Program 4.15 berisi fungsi Javascript Detail event yang dapat

digunakan EO untuk melihat dan mengubah status event yang ada .

Segmen 4.16 PHP Detail Event

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$id=mysqli_real_escape_string($db,$_GET["id"]);

$q="SELECT e.*,u.nama as nama_u ".

"FROM Event e ".

"INNER JOIN user u ON (e.UserID=u.Id_user) ".

"WHERE e.EventID='$id'";

$res=mysqli_query($db,$q);

$row=mysqli_fetch_assoc($res);

$returnValue["event"]=$row;

$jnsAcara=array();

$q="SELECT * FROM jenis_acara";

$res=mysqli_query($db,$q);

while ($row=mysqli_fetch_assoc($res))

{

array_push($jnsAcara,$row);

}

$returnValue["jenis"]=$jnsAcara;

echo json_encode($returnValue);

?>

53 Universitas Kristen Petra

Pada Segmen Program 4.16 berisi fungsi PHP detail event yang

menjalankan pengambilan attribute dari database event dan user berdasarkan

attribute yang ada .

4.11 Proses To Do List

Fungsi ini tersedia pada menu event pada EO dimana EO dapat melihat to

do list hal apa saja yang dibutuhkan oleh klien dalam mempersiapkan pernikahan.

Segmen 4.17 Fungsi To Do List

var user=null;

var id=null;

function fetchdata()

{

$.ajax({

url: server+"event_to_do.php",

type: 'GET',

data:{id:id},

dataType:'json',

success: function(retVal) {

var data=retVal.event;

var bodyHTML="";

for (var i=0;i<data.length;i++)

{

var detail=data[i];

bodyHTML=bodyHTML+"<tr><td>"+detail.Item+"</td>

<td>"+detail.Urutan+"</td><td>

<a href='pilihvendor.html?id="+detail.EventTodoID+"'>

Pilih Vendor</a></td></tr>";

}

$("#bodyEvent").html(bodyHTML);

$("#namaevent").html(retVal.header.Nama);

$("#request").html(retVal.header.requester);

54 Universitas Kristen Petra

var status="";

if (retVal.header.Status=="a")

{

status="Pending";

}

else if (retVal.header.Status=="b")

{

status="Approve";

}

else if (retVal.header.Status=="c")

{

status="Reject";

}

$("#status").html(status);

},

error: function(e) {

}

Pada Segmen Program 4.17 berisi fungsi Javascript To Do List yang dapat

digunakan EO untuk melihat dan memberi tanda hal-hal apa saja yang telah

terlaksana.

Segmen 4.18 PHP To Do List

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$id=mysqli_real_escape_string($db,$_GET["id"]);

$event=array();

$q="SELECT et.*,ti.Item ".

"FROM event_to_do et ".

"INNER JOIN to_do_item ti ON (ti.Id_to_do=et.id_to_do) ".

"WHERE et.EventID='$id'";

55 Universitas Kristen Petra

$res=mysqli_query($db,$q);

while ($row=mysqli_fetch_assoc($res))

{

array_push($event,$row);

}

$q="SELECT e.*,u.nama as requester ".

"FROM Event e ".

"INNER JOIN user u ON (u.Id_user=e.UserID) ".

"WHERE e.EventID='". $id ."'";

$res=mysqli_query($db,$q);

$header=mysqli_fetch_assoc($res);

$data["header"]=$header;

$data["event"]=$event;

$data["result"]="ok";

echo json_encode($data);

?>

Pada Segmen Program 4.18 berisi fungsi PHP To Do List yang menjalankan

pengambilan attribute dari tabel item dan to_do_item serta pengambilan nama dari

tabel event dan id_user dari tabel user berdasarkan attribute yang ada .

4.12 Proses Profile EO

Fungsi ini tersedia pada menu EO, dimana EO dapat memberi deskripsi

pada halaman profile serta menghapus event yang telah terlaksana dan melihat

jadwal kosong dari EO.

Segmen 4.19 Fungsi Profile EO

function refreshCalendar(arrObject,tgl)

{

$('#calendar').fullCalendar({

header: {

left: 'prev,next today',

center: 'title',

56 Universitas Kristen Petra

right: 'month,basicWeek,basicDay'

},

defaultDate: tgl,

navLinks: true,

editable: true,

eventLimit: true,

events: arrObject

});

}

$(document).ready(function()

{

$.ajax({

url: server+"event_j.php",

type: 'GET',

dataType:'json',

success: function(data) {

var arrObject=new Array();

for (var i=0;i<data.event.length;i++)

{

var event=data.event[i];

console.log(event);

var obj=new Object();

obj.title=event.Nama;

obj.start=event.TanggalMulai;

obj.end=event.ts;

arrObject.push(obj);

}

refreshCalendar(arrObject,data.tgl);

},

57 Universitas Kristen Petra

Pada Segmen Program 4.19 berisi fungsi Javascript Pilih profile EO yang

dapat digunakan EO untuk melihat jadwal kosong event yang ada.

Segmen 4.20 PHP Profile EO

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$hasil=array();

$q="SELECT e.*,DATE_ADD(TanggalSelesai, INTERVAL 1 DAY) as ts ".

"FROM Event e ".

"WHERE e.Status<>'a'";

$res=mysqli_query($db,$q);

while ($row=mysqli_fetch_assoc($res))

{

array_push($hasil,$row);

};

$kembalian["event"]=$hasil;

$q="SELECT SYSDATE() as skg";

$res=mysqli_query($db,$q);

$row=mysqli_fetch_assoc($res);

$kembalian["tgl"]=$row["skg"];

echo json_encode($kembalian);

?>

Pada Segmen Program 4.20 berisi fungsi PHP profile EO yang menjalankan

data dari kalender berdasarkan status, dimana kalender akan ditandai bila status

event adalah approve.

4.13 Proses Edit Profile

Fungsi ini tersedia pada menu klien, dimana klien dapat mengubah profile

atau identitas pribadi yang telah di daftarkan.

Segmen 4.21 Fungsi load profile

58 Universitas Kristen Petra

function loadProfile()

{

var vid=dataUser.Id_user;

console.log(dataUser);

console.log("id :"+vid);

$.ajax({

url: server+"detail_klien_edit.php",

type: 'GET',

data:{id:vid},

dataType:'json',

success: function(retVal) {

console.log(retVal);

$("#inputemail").val(retVal.email);

$("#inputalamat").val(retVal.alamat);

$("#inputnama").val(retVal.nama);

$("#inputtelepon").val(retVal.telpon);

},

error: function(e) {

}

});

}

Pada Segmen Program 4.21 berisi fungsi javascript load profile dimana

akan menampilkan data klien yang sudah di simpan di dalam database.

Segmen 4.22 Fungsi simpan profile

function simpan()

{

$.ajax({

url: server+"update_klien.php",

type: 'GET',

data:{

id:id,

59 Universitas Kristen Petra

email:email,

password:password,

alamat:alamat,

nama:nama,

telpon:telpon},

dataType:'json',

success: function(retVal) {

if (retVal.hasil=="ok")

{

alert("Edit Profile berhasil dilakukan");

}

else if (retVal.hasil=="kembar")

{

$("#warningAll").show();

$("#containerWarning").html("Email yang anda

masukkan

sudah digunakan");

}

else {

alert("Edit gagal dilakukan");

}

}

Pada Segmen Program 4.22 berisi fungsi javascript simpan profile dimana

akan menjalankan fungsi yang akan menyimpan profile yang telah di edit kedalam

database.

Segmen 4.23 PHP Load Profile

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$id="";

60 Universitas Kristen Petra

if (isset($_GET["id"]))

{

$id=mysqli_real_escape_string($db,$_GET["id"]);

}

$q="SELECT * FROM user WHERE Id_user='$id'";

$res=mysqli_query($db,$q);

$dataKlien=mysqli_fetch_assoc($res);

echo json_encode($dataKlien);

?>

Pada Segmen Program 4.23 berisi fungsi PHP load profile dimana data

diambil dari tabel user berdasarkan id.

Segmen 4.24 PHP Simpan Profile

<?php

header('Access-Control-Allow-Origin: *');

include "conn_db.php";

$email=mysqli_real_escape_string($db,$_GET["email"]);

$nama=mysqli_real_escape_string($db,$_GET["nama"]);

$alamat=mysqli_real_escape_string($db,$_GET["alamat"]);

$telepon=mysqli_real_escape_string($db,$_GET["telpon"]);

$id=mysqli_real_escape_string($db,$_GET["id"]);

$q="UPDATE user SET email='$email', nama='$nama',

alamat='$alamat',

telpon='$telepon' WHERE Id_user='$id'";

mysqli_query($db,$q);

?>

Pada Segmen Program 4.24 berisi fungsi PHP simpan profile klien dimana

data akan disimpan ke tabel user berdasarkan attribute yang ada.