• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PENGUJIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV IMPLEMENTASI DAN PENGUJIAN"

Copied!
23
0
0

Teks penuh

(1)

52

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4. 1

Implementasi

Implementasi merupakan tahapan setelah melakukan anilisis dan

perancangan sistem, dimana aplikasi siap dioperasikan pada keadaan sebenarnya

sehingga dari sini akan diketahui apakah program atau aplikasi atau sistem yang

telah di buat benar-benar dapat menghasilkan output yang diinginkan.

Implementasi dan pengujian aplikasi helpdesk mobile berbasis android ini

menggunakan emualtor Android pada Eclipse Juno dan smartphone Android LG

Nexus 4.

4. 1. 1 Lingkungan Pengembangan

Aplikasi ini dikembangkan dengan spesifikasi perangkat keras dan

perangkat lunak sebagai berikut :

1. Laptop Apple Macbook Pro 13 inch 2009

2. Prosesor Intel Pentium Core 2 Duo

3. Memori RAM 8GB 1067Mhz DDR3

4. VGA NVIDIA Geforce 9400M 256MB

5. HDD 160GB

6. System Operasi Mac OSX Mountain Lion 10.8.4

7. IDE Eclipse Juno

8. Espresso Text Web Editor

9. Java Version 7 for Mac OS X

10. Android Standar Development Kit ( SDK ) versi 22

4. 2

Implementasi Phonegap

Dalam tahapan implementasi pada Android menggunakan framework

phonegap dibutuhkan beberapa paket aplikasi yang dibutuhkan untuk mendukung

berjalannya aplikasi diantaranya Java, Android SDK, Eclipse, ADT Plugin untuk

Eclipse dan juga Phonegap itu sendiri. Berikut penjelasan dari instalasinya:

(2)

4. 2. 1

Java

Mac OS X secara default sudah menyertakan Java, baik itu JDK maupun

JRE (Java Runtime Environment) sebagai virtual machinenya dengan versi yang

sudah cukup untuk dapat digunakan oleh aplikasi Eclipse. Tapi alangkah baiknya

jika dapat mengetahui proses instalasinya sebagai berikut:

1. Download Java (http://www.java.com/en/)

2. Setelah proses download selesai, jalankan file executeablenya dengan cara

klik dua kali untuk memulai instalasi java SE.

4. 2. 2

Android SDK

Android SDK adalah tools API ( Application Programing Interfaces ) yang

di perlukan untuk membangun, menguji, dan debug aplikasi pada platform

android Android SDK sendiri. Sebenarnya Android SDK sendiri sebenarnya

tidak perlu di install hanya mencopykan saja pada folder di komputer, caranya

sebagai berikut:

1. Download Android SDK (http://developer.android.com/sdk/index.html)

2. Kemudian simpan di komputer anda, setelah selesai download silahkan

ekstrak ke folder lokal misalnya : /Applications. Hasil ekstrak dirubah

nama foldernya menjadi /Applications/adt-bundle-mac agar lebih mudah

mengaksesnya.

4. 2. 3

Install Eclipse

Eclipse digunakan untuk mengedit file-file script dari phonegap dan

melakukan debuging. Berikut cara install Eclipse:

1. Masuk ke link (http://www.eclipse.org/downloads/)

2. Eclipse disini akan digunakan sebagai editornya, dan yang disarankan

adalah eclipse classic.

3. Install Eclipse cukup mudah, cukup extrack file yang di download

kemudian klik eclipse aplikasi yang ada dalam folder tersebut.

4. 2. 4

Eclipse ADT (Android Development Tools) Plugin

Android menyediakan custom plugin untuk Eclipse IDE, disebut Android

Development Tools (ADT), yang dirancang untuk memberikan lingkungan yang

(3)

terintegrasi untuk membangun aplikasi Android. Ini meningkatkan kemampuan

Eclipse untuk menjadikan dengan cepat membangun aplikasi Android baru,

membuat aplikasi UI, menambahkan komponen berdasarkan Android framework

API dan men-debug aplikasi menggunakan Android SDK. Berikut proses instalasi

ADT Plugin:

1. Buka aplikasi Eclipse, klik Help > Install New Software

Gambar 4. 1 Install ADT Plugin

2. Setelah itu maka akan muncul pop up dengan tampilan dibawah ini

Gambar 4. 2 Link ADT Plugin

3. Di bagian work with isi dengan https://dl-ssl.google.com/android/eclipse/

4. Centang bagian Developer Tool, klik Next, kemudian ada beberapa

(4)

5. Kemudian masuk ke Preferences, caranya klik Eclipse > Preferences.

Akan muncul bagian Android, bukalah bagian tersebut, pilih Browse,

kemudian pilih folder SDK yaitu /Applications/adt-bundle-mac/sdk

6. Apabila sudah selesai dan benar-benar teratur, maka akan ada “Manage

Android SDK Manager and AVD Manager, seperti gambar dibawah ini

Gambar 4. 3 Menu Android SDK Managaer dan AVD Manager

7. Setelah OK, maka restart aplikasi Eclipse, kemudian pilih Windows >

Android SDK Manager, kemudian pilih SDK yang ingin di install,

sesuaikan saja dengan kebutuhan saat ini yaitu Jelly Bean 4.2.2

Gambar 4. 4

Install Android SDK

8. Kemudian pilih Windows > Android Virtual Device Manager, pilih new

lalu buat Emulator sesuai spesifikasi yang diinginkan.

(5)

Gambar 4. 5 Membuat AVD Emulator

9. Untuk mengecek apakah sudah terinstall dengan benar, silahkan buka new

project, maka disana akan ada Android sebagai pilihan project

4. 3

 Implementasi Kode Pemrograman

Pada sistem operasi Android, setelah aplikasi di di install maka aplikasi

dapat dijalankan dengan beberapa langkah sebagai berikut:

(6)

4. 3. 1 Tampilan Splash Screen

Gambar 4. 6 Tampilan Splash Screen

Berdasarkan gambar diatas tampilan splash screen hanya muncul saat

aplikasi pertama kali dijalankan.

Kode 4. 1 Kode Lengkap Halaman Splash Screen

<!DOCTYPE  html>  

<html>  

<head>  

   <meta  content="text/html;  charset=utf-­‐8"  http-­‐equiv="Content-­‐Type">      <meta  content="telephone=no"  name="format-­‐detection">  

   <meta  content="user-­‐scalable=no,  initial-­‐scale=1,  maximum-­‐scale=1,   minimum-­‐scale=1,  width=device-­‐width,  height=device-­‐height,  target-­‐ densitydpi=device-­‐dpi"  name="viewport">  

   <link  href="css/index.css"  rel="stylesheet"  type="text/css">      <title>Hello  World</title>  

(7)

<body>  

   <div  class="app">  

       <h1>Apache  Cordova</h1>  

       <div  class="blink"  id="deviceready">  

           <p  class="event  listening">Connecting  to  Device</p>              <p  class="event  received">Device  is  Ready</p>          </div>  

   </div><script  src="cordova-­‐

2.4.0.js"  type="text/javascript"></script>  <script  src="js/index.js"  t ype="text/javascript"></script>  <script  type="text/javascript">   app.initialize();  

   </script>  

</body>  

</html>  

4. 3. 2 Tampilan Halaman Login

(8)

Berdasarkan gambar diatas adalah halaman untuk member dan operator

melakukan login ke halaman histori tiket.

Kode 4. 2 Kode Lengkap Halaman Login

 

 <div  data-­‐role="page"  id="loginPage">    

   <div  data-­‐role="content">          <div  class="login">  

           <form  autocomplete="off"  id="loginForm"  name="loginForm">                  <ul  data-­‐inset="true"  data-­‐role="listview">  

 

                   <li  data-­‐role="fieldcontain">  

                       <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">                              <label  for="username">Username:</label>  <input  id="usern ame"  name="username"  placeholder="Username"  type="text">  

                       </div>                      </li>    

                   <li  data-­‐role="fieldcontain">  

                       <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">                              <label  for="password">Password:</label>  <input  id="passw ord"  name="password"  placeholder="Password"  type="password">  

                       </div>                      </li>                        <li  data-­‐role="fieldcontain">                          <fieldset  class="ui-­‐grid-­‐a">                              <div  class="ui-­‐block-­‐a">  

                               <a  id="loginButton"  type="button">Login</a>                              </div>  

 

                           <div  class="ui-­‐block-­‐b">                                  <a  data-­‐theme="b"  data-­‐

transition="slide"  href="#registerPage"  id="registerButton"  type="butt on">Register</a>  

                           </div>                          </fieldset>                      </li>                  </ul>              </form>          </div>      </div>   </body>   </html>    

(9)

4. 3. 3 Tampilan Halaman Register

Gambar 4. 8 Tampilan Halaman Register

Berdasarkan gambar diatas adalah halaman untuk calon member agar dapat

mendaftar sebagai member.

Kode 4. 3 Kode Lengkap Halaman Register

 

   <div  data-­‐add-­‐back-­‐btn="true"  data-­‐back-­‐btn-­‐text="Cancel"  data-­‐ role="page"  id="registerPage">  

       <div  data-­‐id="my-­‐persistent-­‐header"  data-­‐position="fixed"  data-­‐ role="header"  data-­‐tap-­‐toggle="false">  

           <h1>Register  Page</h1>          </div>  

 

       <div  data-­‐role="content">  

           <form  autocomplete="off"  id="registerForm"  method="post"  name="r egisterForm">  

 

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">  

                   <label  for="fullname">Fullname:</label>  <input  id="fullname"  name="fullname"  placeholder="Fullname"  type="text">  

               </div>  

 

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">  

                   <label  for="regUsername">Username:</label><label  class="erro r"  id="usernameError"></label>  <input  id="regUsername"  name="regUserna

(10)

me"  placeholder="Username"  type="text">                  </div>  

 

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">  

                   <label  for="regPassword">Password:</label>  <input  id="regPas sword"  name="regPassword"  placeholder="Password"  type="password">                  </div>  

 

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">                      <label  for="cregPassword">Confirm  

Password:</label>  <input  id="cregPassword"  name="cregPassword"  placeho lder="Confirm  Password"  type="password">  

               </div>  

 

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">  

                   <label  for="regEmail">Email:</label><label  class="error"  id= "emailError"></label>  <input  id="regEmail"  name="regEmail"  placeholder ="Email"  type="text">  

               </div>  

 

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">                      <label  for="birthdate">Date  of  Birth  (YYYY/MM/DD)   :</label>  <input  class="i-­‐

txt"  id="birthdate"  name="birthdate"  placeholder="Birthdate">                  </div>  

 

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">                      <label  for="gender">Please  

choose:</label>  <select  id="gender"  name="gender">                          <option  selected="selected"  value="1">                              Male                          </option>                          <option  value="2">                              Female                          </option>                      </select>                  </div>    

               <div  class="ui-­‐hide-­‐label"  data-­‐role="fieldcontain">  

                   <label  for="phone">Phone:</label>  <input  id="phone"  name="ph one"  pattern="[0-­‐9]*"  placeholder="Phone"  type="number">  

               </div><button  data-­‐

theme="b"  id="registerSubmitButton"  type="button">Submit   Register</button>  

           </form>          </div>      </div>    

(11)

4. 3. 4 Tampilan Halaman Histori Tiket

Gambar 4. 9 Tampilan Halaman Histori Tiket

Berdasarkan gambar diatas adalah halaman histori tiket setelah member atau

operato melakukan login, maka akan menuju ke halaman histori tiket berisi daftar

tiket dari member atau operator.

Kode 4. 4 Kode Lengkap Halaman Histori Tiket

<div  data-­‐role="page"  id="homePage">  

       <div  data-­‐id="my-­‐persistent-­‐header"  data-­‐position="fixed"  data-­‐ role="header"  data-­‐tap-­‐toggle="false">  

           <button  id="logoutButton">Logout</button>    

           <h1>Your  Tickets</h1><a  data-­‐icon="add"  data-­‐theme="b"  data-­‐

transition="slideup"  href="#newTicketPage"  id="newTicket"  type="button">New</a>          </div>  

 

       <div  data-­‐role="content">  

           <ul  data-­‐inset="true"  data-­‐role="listview"  id="ticketList"></ul>          </div>  

(12)

4. 3. 5 Tampilan Halaman Detail Tiket

Gambar 4. 10 Tampilan Halaman Detail Tiket

Berdasarkan gambar diatas adalah halaman detail tiket, halaman ini muncul

setelah member atau operator memilih tiket.

Kode 4. 5 Kode Lengkap Halaman Detail Tiket

 <div  data-­‐icon-­‐back="back"  data-­‐role="page"  id="ticketDetailPage">          <div  data-­‐id="my-­‐persistent-­‐header"  data-­‐position="fixed"  data-­‐ role="header"  data-­‐tap-­‐toggle="false">  

           <a  data-­‐icon="arrow-­‐l"  data-­‐rel="back"  href="#">Back</a>    

           <h1  id="ticketDetailPageHeader">Ticket  Detail</h1><a  class="ui-­‐ btn-­‐right"  data-­‐theme="b"  data-­‐

transition="slideup"  href="#replyTicketPage"  id="replyButton">Reply</a>          </div>  

 

       <div  data-­‐role="content">  

           <ul  data-­‐role="listview"  id="ticketListDetail"></ul>          </div>  

(13)

4. 3. 6 Tampilan Halaman Reply Tiket

Gambar 4. 11 Tampilan Halaman Reply Tiket

Berdasarkan gambar diatas adalah halaman form untuk mereply tiket setelah

form disimpan otomatis akan mengupdate halaman detaik tiket.

Kode 4. 6 Kode Lengkap Halaman Reply Tiket

<div  data-­‐add-­‐back-­‐btn="true"  data-­‐back-­‐btn-­‐text="Cancel"  data-­‐icon="false"  data-­‐role="page"  id="replyTicketPage">          <div  data-­‐id="my-­‐persistent-­‐header"  data-­‐position="fixed"  data-­‐role="header"  data-­‐tap-­‐toggle="false">  

           <a  data-­‐rel="back"  href="#">Cancel</a>  

           <h1>Reply  Ticket</h1><button  class="ui-­‐btn-­‐right"  data-­‐theme="b"  id="sendReplyTicket">Send</button></div>          <div  data-­‐role="content"  style="padding:  0px;">  

           <form  action=""  method="post"></form><input  id="hth_id"  name="hth_id"  type="hidden">  <input  id="hth_head_id"  name="hth_head_id"  type="hidden">  <input  id="hth_user_id_klien"  name="hth_user_id_klien"  type="hidden">  <input  id="hth_user_id_staf"  name="hth_user_id_staf"  type="hidden">

 <input  id="hth_date"  name="hth_date"  type="hidden">  <input  id="hth_status_ticket"  name="hth_status_ticket"  type="hidden">                <textarea  class="newTextArea"  id="hth_isi"  name="hth_isi"  placeholder="Click  here">  

</textarea>            </div>      </div>  

(14)

Gambar 4. 12 Halaman Membuat Tiket Baru

Berdasarkan gambar diatas adalah halaman form untuk membuat tiket baru

setelah form disimpan otomatis akan mengupdate halaman daftar tiket.

Kode 4. 7 Kode Lengkap Halaman Tiket Baru

<div  data-­‐add-­‐back-­‐btn="true"  data-­‐back-­‐btn-­‐text="Cancel"  data-­‐icon="false"  data-­‐ role="page"  id="newTicketPage">  

       <div  data-­‐role="header">  

           <a  data-­‐rel="back"  href="#">Cancel</a>    

           <h1>Make  New  Ticket</h1><button  class="ui-­‐btn-­‐right"  data-­‐ theme="b"  id="sendNewTicket">Submit</button>  

       </div>    

       <div  data-­‐role="content"  style="padding:  0px;">  

           <form  action=""  method="post"></form><select  id="kategori"  name="kategori">                  </select>    

           <textarea  class="newTextArea"  id="hth_isi_tiket_baru"  name="hth_isi_tiket_baru"  placeholder="Click   here">  

</textarea>            </div>      </div>  

(15)

Fungsi ceklogin() merupakan fungsi yang digunakan pada aplikasi untuk

melakukan validasi username dan password user. Apabila user berhasil login

maka data akan di simpan di local storage agar suatu waktu dapat digunakan

kembali tanpa harus melakukan koneksi ke server.

Kode 4. 8 Kode Lengkap Fungsi Cek Login

function  cekLogin()  {  

   var  uname  =  $("#username").val();      var  pass  =  $("#password").val();  

   $("#loginButton").attr("disabled",  "disabled");      $("#registerButton").attr("disabled",  "disabled");      if  (uname  ==  ""  ||  pass  ==  "")  {  

       alert("You  must  enter  a  username  and  password");          $("#loginButton").removeAttr("disabled");  

       $("#registerButton").removeAttr("disabled");          return  false;  

   }  else  {  

       $.mobile.showPageLoadingMsg("a",  "Please  wait...",  true);          $.ajax(  type:  'GET',  url:  url,  

           contentType:  "application/json",              dataType:  'jsonp',              data:  {                  username:  uname,                  password:  pass              },              crossDomain:  true,  

           success:  function(data)  {                  if  (data.status  ==  1)  {  

               window.localStorage.setItem("username",  uname);                  window.localStorage.setItem("password",  pass);  

               window.localStorage.setItem("user_id",  data.user_id);                  window.localStorage.setItem("fullname",  data.fullname);                  window.localStorage.setItem("email",  data.email);  

               window.localStorage.setItem("birthdate",  data.birthdate);                  window.localStorage.setItem("gender",  data.gender);                  window.localStorage.setItem("phone",  data.phone);  

               window.localStorage.setItem("is_active",  data.is_active);                  $.mobile.hidePageLoadingMsg();  

               document.location.href  =  'home.html';                  }  

           },  

           error:  function(e)  {  

               alert("Invalid  username  and/or  password.");                  $.mobile.hidePageLoadingMsg();  

           },  

           complete:  function(data)  {}          });          $("#loginButton").removeAttr("disabled");          $("#registerButton").removeAttr("disabled");      }      return  false;   }  

4. 3. 9 Fungsi register()

(16)

Fungsi register() merupakan fungsi yang digunakan pada aplikasi untuk

melakukan proses registerasi calon member. Di halaman ini terdapat

pemberitahuan atau notifikasi jika user salah dalam mengisi beberapa field form.

Apabila user berhasil melakukan proses registrasi maka aplikasi akan kembali ke

halaman login.

Kode 4. 9 Kode Lengkap Fungsi Register

function  register()  {  

   var  fname  =  $("#fullname").val();      var  uname  =  $("#regUsername").val();      var  regPass  =  $("#regPassword").val();      var  cregPass  =  $("#cregPassword").val();      var  regEmail  =  $("#regEmail").val();      var  bDate  =  $("#birthdate").val();      var  regGender  =  $("#gender").val();      var  regPhone  =  $("#phone").val();      if  (cekFullname(fname))  {  

       if  (cekUsername(uname))  {  

           if  (cekPassword(regPass,  5,  12))  {                  if  (cekCPassword(regPass,  cregPass))  {                      if  (cekEmail(regEmail))  {                          if  (statusUsername  ==  0)  {                              $("#regUsername").focus();                              return  false;                          }  else  if  (statusEmail  ==  0)  {                              $("#regEmail").focus();                              return  false;                          }  else  {                              disableButtonReg();                              var  form_regData  =  {                                  fullname:  fname,                                  username:  uname,                                  password:  regPass,                                  email:  regEmail,                                  birthdate:  bDate,                                  gender:  regGender,                                  phone:  regPhone,                                  is_ajax:  1                              };  

                           $.mobile.showPageLoadingMsg("a",  "Please   wait...",  true);  

                           var  url  =  'http://hafiz.me/hd/cekregister.php';                              $.ajax({                                  type:  'GET',                                  url:  url,                                  contentType:  "application/json",                                  dataType:  'jsonp',                                  data:  form_regData,                                  crossDomain:  true,                                  success:  function(res)  {                                      if  (res.status  ==  1)  {  

                                       alert("Successful  register.");                                          $("#fullname").val("");  

(17)

                                       $("#regUsername").val("");                                          $("#regPassword").val("");                                          $("#cregPassword").val("");                                          $("#regEmail").val("");                                          $("#birthdate").val("");                                          $("#gender").val("");                                          $("#phone").val("");                                          $.mobile.hidePageLoadingMsg();                                          $.mobile.changePage("#loginPage",  {                                              transition:  "flip"                                          });                                      }                                  },                                  error:  function(e)  {  

                                   $alert("Register  error");                                      $.mobile.hidePageLoadingMsg();                                  },  

                               complete:  function(data)  {}                              });                              enableButtonReg();                          }                      }                  }              }          }      }   }   $("#registerButton").removeAttr("disabled");   }   return  false;   }  

4. 3. 10 Fungsi getUserTikets()

Fungsi getUserTikets() merupakan fungsi yang digunakan pada aplikasi

untuk melakukan mengambil daftar tiket dari user yang berada di server. Jika

tidak ada data, maka halaman histori tiket adalah kosong.

Kode 4. 10 Kode Lengkap Fungsi Get User Tickets

function  getUserTickets()  {  

   $.getJSON(serviceURL  +  'user-­‐ticket.php?user_id='  +  user_id,  function(data)  {          $('#ticketList  li').remove();  

       userTickets  =  data.items;          var  i  =  userTickets.length  +  1;  

       $.each(userTickets,  function(index,  ticket)  {              i-­‐-­‐;  

           var  ht_status_pic  =  ticket.ht_status_pic;              var  sum_message  =  parseInt(ticket.sum_message);              sum_message  =  sum_message  +  1;  //  Set  status  style              var  statusColor;  

           if  (ht_status_pic  ==  0)  {                  ht_status_pic  =  'Process';                  statusColor  =  'Process';              }  else  if  (ht_status_pic  ==  1)  {  

(18)

               ht_status_pic  =  'Pending';                  statusColor  =  'Pending';              }  else  if  (ht_status_pic  ==  2)  {                  ht_status_pic  =  'Done';  

               statusColor  =  'Done';  

           }  else  if  (ht_status_pic  ==  3)  {                  ht_status_pic  =  'Cancel';                  statusColor  =  'Cancel';              }  

           var  isi_pesan;  

           var  hth_isi  =  ticket.hth_isi;  

           var  ht_isi_pesan  =  ticket.ht_isi_pesan;              if  (hth_isi  ==  "")  {  

               isi_pesan  =  ht_isi_pesan;              }  else  {  

               isi_pesan  =  hth_isi;              }  

           isi_pesan  =  isi_pesan.substr(0,  80);              var  regex  =  /(<([^>]+)>)/ig;  

           isi_pesan  =  isi_pesan.replace(regex,  "  ");              var  ht_date_create  =  ticket.ht_date_create;              ht_date_create  =  ht_date_create.substr(0,  16);  

           $('#ticketList').append('<li  data-­‐role="divider"  id="ticketKode">#'  +  i  +  '  '  +  ticket.ht_kode  +  '<span  

id="statusColor'  +  statusColor  +  '">'  +  ht_status_pic  +  '</span>'  +  '</li>'  +  '<li  ticket-­‐id="'  +  ticket.ht_id  +  '"><a  

href="">'  +  '<h3>'  +  ticket.hkt_permasalahan  +  '</h3>'  +  '<p><strong>'  +  '<span>'  +  ht_date_create  +  '</span></strong>&nbsp;&nbsp;'  +  ticket.hd_nama  +  '</p>'  +  '<span   class="ui-­‐li-­‐count">'  +  sum_message  +  '</span>'  +  '<p    style="white-­‐space:normal;">'  +  isi_pesan  +  '  ...</p>'  +  '</a></li>');  

       });  

       $('#ticketList').listview('refresh');  

       $('#ticketList').children('li').bind('touchstart  mousedown',  dataTicketDetail);      });  

}  

4. 3. 11 Fungsi Reply Tiket

Fungsi reply tiket merupakan fungsi yang digunakan pada aplikasi untuk

melakukan mengirim form reply di halaman reply tiket.

Kode 4. 11 Kode Lengkap Fungsi Reply Tiket

$("#sendReplyTicket").on("click",  function()  {  

   $('#hth_isi').html(tinymce.get('hth_isi').getContent());      var  hth_isi_reply  =  $("#hth_isi").val();  

   if  (hth_isi_reply  ==  "")  {  

       alert("Reply  minimun  5  characters.");          return  false;  

   }  else  {  

       var  hth_id  =  "";  

       var  hth_head_id  =  window.localStorage.getItem("ticket_id");          var  hth_user_id_klien  =  window.localStorage.getItem("user_id");          var  hth_user_id_staf  =  "";          var  hth_date  =  "";          var  hth_status_ticket  =  "2";          var  form_replyData  =  {              rhth_head_id:  hth_head_id,              rhth_user_id_klien:  hth_user_id_klien,  

(19)

           rhth_status_ticket:  hth_status_ticket,              rhth_isi:  hth_isi_reply,  

           is_ajax:  1          };  

       $.mobile.showPageLoadingMsg("a",  "Please  wait...",  true);          var  url  =  'http://hafiz.me/hd/ticket-­‐reply.php';  

       $.ajax({              type:  'GET',              url:  url,              contentType:  "application/json",              dataType:  'jsonp',              data:  form_replyData,              crossDomain:  true,              success:  function(res)  {                  if  (res.status  ==  1)  {  

                   $.mobile.hidePageLoadingMsg();                      history.back();  

                   $('#hth_isi').html(tinymce.get('hth_isi').setContent(''));                  }  

           },  

           error:  function(e)  {                  alert("Reply  error");  

               $.mobile.hidePageLoadingMsg();              },  

           complete:  function(data)  {}          });  

   }  

});  

4. 4

Pengujian

Agar hasil implementasi benar-benar memenuhi kebutuhan maka dilakukan

pengujian terhadap system. Pengujian dilakukan dengan metode pengujian black

box yang berfokus pada persyaratan fungsional aplikasi mobile.

4. 4. 1 Rencana Pengujian Black Box

Metode yang diambil adalah metode pengujian Black Box. Pengujian

Black Box adalah pengujian yang systemnya tanpa memperhatikan struktur

logika internal perangkat lunak. Metode ini digunakan untuk mengetahui

apakah perangkat lunak berfungsi dengan benar. Berikut ini adalah rencana

pengujian yang dilakukan dengan menggunakan metode black box :

(20)

Tabel 4. 1 Tabel Skenario Pengujian Aplikasi Seluler Sistem Meja Bantu

Item Uji

Sifat

Pengujian

Hasil yang diharapkan

Login

Normal

Pengguna mengisi

form login

Menampilkan halaman

histori tiket

Register Member

Normal

Pengguna pilih menu

register

Aplikasi menampilkan

halaman register

Register Member

Normal

Validasi form register

Aplikasi menampilkan

pemberitahuan

Register Member

Normal

Pengguna

menyimpan form

register

Aplikasi memberikan

pemberitahuan

Histori Tiket

Normal

Tampilkan daftar

tiket user

Aplikasi menampilkan

daftar tiket pengguna

Detail Tiket

Normal

Pengguna memilih

tiket

Aplikasi menampilkan

detail tiket

Tiket Baru

Normal

Pengguna memilih

menu tiket baru

Aplikasi menampilkan

halaman buat tiket baru

Tiket Baru

Normal

Pengguna memilih

kategori tiket

Aplikasi menampilkan

kategori tiket

Tiket Baru

Normal

Pengguna memilih

submit form

Aplikasi menampilkan

pemberitahuan

Reply Tiket

Normal

Pengguna memilih

tombol reply setelah

memilih tiket

Aplikasi menampilkan

form reply tiket

Reply Tiket

Normal

Pengguna memilih

tombol submit form

Aplikasi menampilkan

pemberitahuan

Logout

Normal

Pengguna memilih

menu logout

Menghapus local

storage dan keluar

aplikasi kembali ke

halaman login

Tabel 4. 2 Tabel Hasil Pengujian Aplikasi Seluler Sistem Meja Bantu

Skenario

Sifat

Pengujian

Hasil yang

diiginkan

Hasil

pengujian

Hasil

pengujian

Status

akhir

(21)

yang sesuai

yang tidak

sesuai

Login

Normal

Pengguna

mengisi

form login

Menampilkan

halaman login

Dapat

menampilkan

halaman

login

Sukses

Tidak

Normal

Pengguna

mengisi

form login

Tidak dapat

menampilkan

halaman login

Tidak dapat

menampilkan

halaman login

Tidak

Sukses

Register

Member

Normal

Pengguna

pilih menu

register

Aplikasi

menampilkan

halaman

register

Dapat

menampilkan

halaman

register

Sukses

Tidak

Normal

pilih menu

register

Tidak dapat

menampilkan

halaman

register

Tidak dapat

menampilkan

halaman

register

Tidak

Sukses

Register

Member

Normal

Validasi

form

register

Aplikasi

menampilkan

pemberitahuan

field

bermasalah

Tidak dapat

menampilkan

validasi form

register

Sukses

Tidak

Normal

Validasi

form

register

Aplikasi tidak

menampilkan

pemberitahuan

Tidak dapat

menampilkan

validasi form

register

Tidak

Sukses

Register

Member

Normal

Pengguna

menyimpan

form

register

Aplikasi

memberikan

pemberitahuan

bahwa form

berhasil

disimpan

Menampilkan

pesan

Sukses

Tidak

Normal

Pengguna

menyimpan

form

register

Aplikasi tidak

dapat

memberikan

pemberitahuan

pemberitahuan

form berhasil

disimpan

Tidak dapat

Menampilkan

pesan

Tidak

Sukses

Histori

Tiket

Normal

Tampilkan

daftar tiket

user

Aplikasi

menampilkan

daftar tiket

pengguna

Aplikasi

menampilkan

daftar tiket

pengguna

Sukses

Tabel 4.2 (Lanjutan ) Tabel Hasil Pengujian Aplikasi Seluler Sistem Meja Bantu

Skenario

Sifat

Pengujian

Hasil yang

diiginkan

Hasil

pengujian

yang sesuai

Hasil

pengujian

yang tidak

Status

akhir

(22)

sesuai

Histori

Tiket

Tidak

Normal

Tampilkan

daftar tiket

user

Aplikasi tidak

menampilkan

daftar tiket

pengguna

Aplikasi tidak

menampilkan

daftar tiket

pengguna

Tidak

Sukses

Detail

Tiket

Normal

Pengguna

memilih

tiket

Aplikasi

menampilkan

detail tiket

Aplikasi

menampilkan

detail tiket

Sukses

Tidak

Normal

Pengguna

memilih

tiket

Aplikasi tidak

dapat

menampilkan

detail tiket

Aplikasi tidak

dapat

menampilkan

detail tiket

Tidak

Sukses

Tiket Baru

Normal

Pengguna

memilih

menu tiket

baru

Aplikasi

menampilkan

halaman tiket

baru

Aplikasi

menampilkan

halaman buat

tiket baru

Sukses

Tidak

Normal

Pengguna

memilih

menu tiket

baru

Aplikasi tidak

dapat

menampilkan

halaman tiket

baru

Aplikasi tidak

dapat

menampilkan

halaman buat

tiket baru

Tidak

Sukses

Tiket Baru

Normal

Pengguna

memilih

kategori

tiket

Aplikasi

menampilkan

kategori tiket

Aplikasi

menampilkan

kategori tiket

Sukses

Tidak

Normal

Pengguna

memilih

kategori

tiket

Aplikasi tidak

dapat

menampilkan

kategori tiket

Aplikasi tidak

dapat

menampilkan

kategori tiket

Sukses

Tiket Baru

Normal

Pengguna

memilih

submit form

Aplikasi

menampilkan

pemberitahuan

Aplikasi

menampilkan

pemberitahua

n form

berhasil

disimpan

Sukses

Tidak

Normal

Pengguna

memilih

submit form

Aplikasi tidak

menampilkan

pemberitahuan

form berhasil

disimpan

Aplikasi tidak

dapat

menampilkan

pemberitahuan

form berhasil

disimpan

Tidak

Sukses

Tabel 4.2 (Lanjutan ) Tabel Hasil Pengujian Aplikasi Seluler Sistem Meja Bantu

Skenario

Sifat

Pengujian

Hasil yang

diiginkan

Hasil

pengujian

yang sesuai

Hasil

pengujian

yang tidak

sesuai

Status

akhir

(23)

Reply

Tiket

Normal

Pengguna

memilih

tombol

reply

setelah

pilih tiket

Aplikasi

menampilkan

form reply

tiket

Aplikasi

menampilkan

form reply

tiket

Sukses

Tidak

Normal

Pengguna

memilih

tombol

reply

setelah

memilih

tiket

Aplikasi tidak

dapat

menampilkan

form reply

tiket

Aplikasi tidak

dapat

menampilkan

form reply

tiket

Tidak

Sukses

Reply

Tiket

Normal

Pengguna

memilih

tombol

submit

form

Aplikasi

menampilkan

pemberitahuan

Aplikasi

menampilkan

pemberitahuan

Sukses

Tidak

Normal

Pengguna

memilih

tombol

submit

Aplikasi tidak

dapat

menampilkan

pemberitahuan

Aplikasi tidak

menampilkan

pemberitahuan

Tidak

Sukses

Logout

Normal

Pengguna

memilih

menu

logout

Menghapus

local storage

dan keluar

aplikasi

kembali ke

halaman login

Keluar aplikasi

Sukses

Tidak

Normal

Pengguna

memilih

menu

logout

Tidak dapat

menghapus

local storage

dan keluar

aplikasi

kembali ke

halaman login

Tidak keluar

dari aplikasi

Tidak

Sukses

Gambar

Gambar 4. 1 Install ADT Plugin
Gambar 4. 3 Menu Android SDK Managaer dan AVD Manager  7.  Setelah OK, maka restart aplikasi Eclipse, kemudian pilih Windows &gt;
Gambar 4. 5 Membuat AVD Emulator
Gambar 4. 6 Tampilan Splash Screen
+7

Referensi

Dokumen terkait

Memberi sumbangan pemikiran bagi Jemaat GPID Betlehem Buanasari agar memiliki pemahaman tentang relasi antara manusia dengan tanah dan seluruh alam semesta sebagai

Simpanan Dana Pihak Ketiga adalah dana yang berasal dari masyarakat baik perorangan maupun badan usaha yang diperoleh bank dengan menggunakan berbagai instrument

PERUBAHAN MUTU MINYAK SAWIT SELAMA PENYIMPANAN CODEX Alimentarius Comission (CAC) (2005) dalam panduan penyimpanan dan transportasi lemak dan minyak pada skala besar

Karyawan Puskesmas Ponorogo Utara yang merawat pasien menular melalui udara harus mendapatkan pelatihan mengenai cara penularan dan penyebaran, tindakan pencegahan

Pengertian tanggung jawab juga dikemukakan oleh Kemendiknas (2010 :10) bahwa tanggung jawab adalah sikap dan perilaku seseorang untuk melaksanakan tugas dan

Suatu beban sembarang p(t) yang bekerja pada struk- tur, dapat dianggap sebagai penjumlahan dari beban-beban impuls pendek yang tak terhingga jumlahnya (lihat Gambar X.3).

Tanaman sirih merah dapat dijadikan tanaman yang multifungsi yang bermanfaat baik untuk kesehatan maupun perawatan kecantikan kulit dan wajah. Sirih merah dapat

Ketika dilarutkan dalam atau dicampur dengan bahan lain dan dalam kondisi yang menyimpang dari yang disebutkan dalam EN374 silahkan hubungi suplier sarung tangan CE-resmi