## IMPLEMENTASI DATATABLES SERVER-SIDE UNTUK MEMPERCEPAT LOAD HALAMAN PADA APLIKASI E-COMMERCE
Ardian Dwi Praba 1) , Maryanah Safitri 2) , Faridi 3)
1 Program Studi Sistem Informasi, Universitas Nusa Mandiri, Jln. Jatiwaringin Raya No.02 Jakarta Timur
2 Program Studi Teknik Informatika, Universitas Nusa Mandiri, Jln. Jatiwaringin Raya No.02 Jakarta Timur
3 Program Studi Teknik Informatika, Universitas Muhammadiyah Tangerang, Jl. Perintis Kemerdekaan I Babakan No. 33 Cikokol, Tangerang, Indonesia Co Responden Email : 1* ardian.ddw@nusamandiri.ac.id, 2 maryanah.msf@nusamandiri.ac.id,
3 faridi@umt.ac.id
Article history Received April 14, 2021 Revised June 12, 2021 Accepted June 20, 2021 Available online June 20, 2021
Keywords Bigdata,
datatable, website,
serverside,
clientside

## Abstract
Large amounts of data are a new challenge in Industry 4.0 at this time, where the data must be accessed and processed quickly by computers. Large data causes the data presentation process to be very long because all data must be  processed  in  one  go.  So  that  we  need  a  special  technique  so  that  the presentation of information runs quickly even though the data that must be subject  to  the  number  is  very  large.  In  general,  the  website  requsets  the server, if the server data system exists, the data will be sent by the server to the client according to the number of existing data processes. The more data sent by the server, the longer it will take the client to display existing data. In this research, we will try to use server-side processing datatables where all  processes  will  be  carried  out  on  the  server  side  and  data  is  sent periodically  to  the  client  according  to  the  input  request  or  keyword.  The conclusion of this research is that the data speed using server side processing techniques is 79% better than client side processing.
Riwayat Diterima 14 April 2021
Revisi 12 Juni 2021 Disetujui 20 Juni 2021 Terbit 20 Juni 2021
Kata Kunci Bigdata, datatable,
website,
serverside, clientside

## Abstrak
Data  dalam  jumlah  besar  merupakan  tantangan  baru  pada  industri  4.0  saat ini, dimana data tersebut harus bisa ditampilkan dan diolah secara cepat oleh komputer.  Data  yang  besar  menyebabkan  proses  penyajian  data  menjadi sangat  lama  karena  semua  data  harus  ditampilkan  dalam  sekali  proses. Sehingga  diperlukan  sebuah  teknik  khusus  agar  penyajian  informasi  bisa berjalan  dengan  cepat  walaupun  data  yang  harus  ditampilkan  jumlanya sangat  banyak.  Secara  Umum  website  melakukan  proses  request  kepada server, jika pada sisi server data tersebut ada, maka data akan dikirimkan oleh server  kepada  client  sesuai dengan jumlah data yang ada. Semakin banyak data  yang  dikirim  oleh  server  maka  akan  semakin  lama  waktu  yang dibutuhkan  client  dalam  menampilkan  data  yang  ada.  Penelitian  ini menggunakan  datatables  server-side  processing,  dimana  semua  proses dilakukan pada sisi server dan data dikirimkan secara berkala kepada client sesuai  dengan  permintaan  atau  kata  kunci  yang  dimasukan.  Hasil  dari penelitian ini yaitu kecepatan pemrosesan data dengan menggunakan teknik server-side  processing 79%  lebih  baik  dibandingkan  dengan client-side processing.

## PENDAHULUAN
Saat      ini      semenjak      maraknya penggunaan slogan   “ paperless ”  menjadikan permasalah    baru  bagi  dunia  digital.  Data
digital semakin bertumpuk, dari hari  ke  hari database berjumlah  ratusan,  ribuan bahkan jutaan.  Para  ahli,  pakar  maupun  organisasi mencari    alternatif    dan    pendekatan    terbaik untuk mengelola   data   besar . Tren penyajian
data  yang  paling  banyak  digunakan  para developer adalah library    datatable . Datatable menggunakan    tipe    koneksi half- duplex yaitu  dua arah    namum    tidak    bisa bersamaan  (Husen,  2018). Datatable merupakan library  jquery  javascript yang bertujuan      untuk      manipulasi      data      yang panjang  menjadi    data    pendek,    selain    itu mempunyai  fitur seperti  pencarian,  halaman, sorting  dan  tampilan data yang rapi, interaktif dan responsive (Alhaq, 2021). Namun  seiring dengan  waktu, datatable menuai  kontroversi bagi   web developer . Penggunaan datatable menyebabkan    kinerja    suatu  web  menjadi lambat,  hal  ini  dikarenakan datatable meload semua record yang    ada    pada    suatu    table dalam  database.  Ketika  data  masih  sedikit tidak  ada    permasalahan,    kinerja    penyajian data    berjalan  normal.    Namun    ketika    data besar    hal    ini    menjadi  kendala  dan mengurangi  kinerja  sehingga  performa    web menjadi sangat lama dalam menampilkan data (D.  Gope,  2017).  Untuk    mengatasi permasalahan    tersebut,  maka  dilakukan percobaan penerapan teknik server-side processing        sehingga        dengan menitikberatkan  semua      proses      pada      sisi server   akan   membuat proses  load  data  pada sisi  client  menjadi  ringan dan  cepat.  Karena dengan  teknik  ini  data  besar tidak    akan    di load    semua    secara    langsung, melainkan dibatasi     oleh     server     berdasarkan dengan request  yang  dilakukan  oleh  client.  Dengan demikian   berapapun   jumlah   record   yang akan disajikan  tidak  akan  menjadi  kendala lagi.    Maka  pada    penelitian    ini    dilakukan percobaan untuk  menguji  kinerja penggunaan teknik      server-side      processing      pada penyajian   big   data   sehingga   kinerja web lebih optimal.

## KAJIAN LITERATUR

## A. Datatable
Datatable merupakan plugin Jquery yang bersifat  opensource.  Datatable  mengkonversi tampilan  table  html  menjadi  format  dengan tampilan  datatable  dengan  antarmuka  yang intuitif.  Plugin  Datatable  menyediakan  fitur penting yang mendukung penyajian data. Gitur tersebut  meliputu  pencarian  data  dengan menggunakan keyword, paginasi, filter jumlah baris  data  yang  ditampilkan  per  halaman  dan juga sorting serta masih banyak beberapa fitur
yang bisa dimunculkan pada datatable (Alhaq & Sujarwo, 2021)

## B. Big Data
Big  Data  bukan  hanya  istilah  yang mengacu  pada  volume  data,  tetapi  juga mengacu  pada  kecepatan  data,  dan  variasi yang  jarang  terstruktur,  melainkan  tidak terstruktur.  Volumenya  berada  dalam  kisaran banyak  Terabyte  ke  Petabyte.  Volume menyajikan  tantangan  paling  cepat  bagi  TI konvensional struktur, panggilan untuk penyimpanan  yang  dapat  diskalakan,  dan pendekatan terdistribusi untuk kueri. Kecepatan  data  mengacu  pada  tingkat peningkatan  di  mana  data  mengalir  ke organisasi  dan  kecepatan  umpan  balik, mengambil  data  dari  masukan  hingga keputusan (Ghandour, 2015) .

## C. PHP
PHP  adalah  pemrograman  interpreter yaitu proses penerjemahan baris kode sumber menjadi kode mesin yang dimengerti komputer secara langsung pada saat baris kode dijalankan.
PHP (PHP: Hypertext Preprocessor) adalah sebuah bahasa pemrograman  yang  perintahnya  dilaksanakan server  dan  kemudian  hasilnya  ditampilkan pada  komputer  client.  PHP  juga  merupakan HTML  embedded,  yaitu  sintaks  PHP  yang dituliskan  bersamaan  dengan  sintaks  HTML. Jadi PHP dan HTML adalah sinergi dua bahasa pemrograman yang saling menguatkan. Walaupun sebagian orang berpendapat HTML bukan sebuah bahasa pemrograman (Haviluddin, 2016).

## D. JavaScript
JavaScript merupakan bahasa script yang dipakai untuk menciptakan halaman web yang dapat  berinteraksi  dengan  pengguna  dan  dan dapat  merespon  event  yang  terjadi  pada halaman.  JavaScript  merupakan  perekat  yang menyatukan halaman-halaman web (Sianipar, 2015). Saat ini hampir semua aplikasi berbasis web menggunakan javascript untuk mendukung  proses  bisnis  yang  ada  pada sebuah  aplikasi  web.  Saat  ini  ada  banyak library  javascript  yang  tersedia  diinternet  dan tersedia  secara  gratis  untuk  pengembangan sebuah aplikasi berbasis web. Diantara library yang  banyak  digunakan  adalah  Ajax  yang diperkenalkan  oleh  Jesse  James  Garret  dari
Adaptive  Path  pada  tahun  2005.    Ia mendeskripsikan bagaimana
mengembangkan  web  yang  berbeda  dengan metode  tradisional (Suryaningrat, 2016)

## E. Mysql
Pada perkembangannya, MYSQL disebut juga  SQL  yang  merupakan  singkatan  dari Structured Query Language. SQL merupakan Bahasa  terstruktur  yang  khusus  digunakan untuk  mengolah  database.    SQL  pertama  kali didefinisikan oleh American National Standards  Institute  (ANSI)  pada  tahun  1986. MYSQL  adalah  sebiah  system  manajemen database  yang  setbersifat  open  source. MYSQL  merupakan sistem  manajemen database yang bersifat relational.  Artinya, data yang  dikelola  dalam  database  yang  akan diletakkan  pada  beberapa  tabel  yang  terpisah sehingga  manipulasi    data    akan    jauh    lebih cepat  (Novendri,  2019).  Mysql  adalah  salah satu database yang sangat terkenal dan banyak digunakan  oleh  para  pengembang  karena kecepatan dan fitur yang lengkap serta gratis.

## F. Literatur Review
Penelitian yang pertama (Sulastri,
Rahmatulloh,  &  Hidayat,  2019)  menunjukan hasil  pengujian  tools  menggunakan  JMeter terhadap client-side processing dan server-side processing  didapat  presentase  98,6%  lebih cepat  server-side  processing  dibandingkan client-side processing. Sementara pada penggunaan  memory  server-side  processing lebih kecil 99,6% dibandingkan dengan client- side  processing.  Penelitian  yang  kedua (Rianto,
2019) menunjukan bahwa menggunakan pemrosesan sisi server, paging,
pencarian, pemesanan dilakukan dari server di mana  mesin  SQL  atau  sejenisnya  dapat mengambil tindakan pada data yang besar dan cepat. Sehingga akan menghasilkan permintaan ajax yang dibuat dengan permintaan  data  yang  diperlukan,  maka menggunakan  data  server-side  akan  lebih ringan dalam permintaan dan pemrosesan data. Pada penelitian yang ketiga (Alhaq & Sujarwo, 2021) menunjukan bahwa Dengan menggunakan  teknik  server-side  processing pada  datatable,  dapat  mengurangi  load  time pada  sebuah  halaman.  Hal  tersebut  karena beban  yang  ditanggung  oleh  client-side  tidak terlalu besar dan tidak perlu waktu lama untuk
menunggu  respon  server  saat  pertama  kali memuat halaman.

## G. Serverside Processing
Pemrosesan  sisi  server  berperan  ketika memiliki  jumlah  data  yang  sangat  besar, dimana  data  tersebut  ingin  di  tampilkan  pada sebuah tabel. Pada tahap ini proses pengiriman data  ke  klien  menggunakan  javascript  untuk mendapatkan  hasil  yang    bagus    pada    hasil akhir.  Pada  model  pemrosesan  sisi  server, semua  permintaan,    pencarian,    dan   lain-lain yang  berasal  dari  data  akan  diserahkan  ke server,    dengan    menggunakan    mesin pengelolaan    database    yang    ada.    Setiap halaman  data  akan  membuat  permintaan  ajax ke  server.    Meskipun  setiap  permintaan  ajax akan  membutuhkan  waktu  sepersekian  detik untuk menyelesaikannya (Rianto, 2019)

## METODE PENELITIAN

## A. Langkah-langkah pengujian
Pada pengujian ini penulis menggunakan pengujian  sebanyak  3  kali  pengujain  dengan jumlah record yang berbeda seperti pada table x di bawah ini
Tabel 1. Jumlah dataset dan metode yang
digunakan Dataset Pengujian 1  Pengujian 2  Pengujian 3 Client- side 10.000 50.000 100.000 Server- side 10.000 50.000 100.000 B. Rancangan Pengujian Rancangan  kinerja  pengujian  client-side dan server-side dilakukan dengan menampilkan  data  dalam  jumlah  banyak dengan  tiga  kali  pengujian  dengan  jumlah record  yang  berbeda  pada  masig-masing pengujian.  Pengukuran  dilakukan  dengan menghitung  waktu  yang  dibutuhkan  oleh aplikasi dalam menampilkan data.
Pada awal pengujian data akan ditampilkan  dengan  mengguakan  teknik client-side dan akan diukur waktu loading data sampai  selesai,  selanjutnya  pengujian  akan dilakukan dengan menggunakan teknik server- side  dan  akan  diukur  waktu  loading  data sampai  selesai.  Dari  hasil  pengukuran  diatas maka  akan  terlihat  teknik  mana  yang  akan
menghasilkan  waktu  yang  lebih  cepat  dalam menampilkan data dalam aplikasi.
Gambar 1. Alur Pengujian Data

## HASIL DAN PEMBAHASAN
Tahap    implementasi    sistem    ( system implementation ) merupakan tahap
meletakkan    sistem    supaya    siap    untuk diopersikan.    Tahap    ini    termasuk    juga kegiatan  menulis    kode    program    jika    tidak digunakan    paket    perangkat    lunak    aplikasi
. Implementai  juga  merupakan  penerapan  dari elemen-elemen  yang  telah  didesain  dalam bentuk  pemograman  untuk    menghasilkan suatu    tujuan  yang    dibuat  berdasarkan kebutuhan.
Pada pengujian ini penulis menggunakan tools  yang  sama  untuk  membandingkan kecepatan  dalam  antara  client-side  dan  juga server-side  dalam  menampilkan  data  dalam jumlah  yang  sangat  banyak.  Spesifikasi hardware dan system operasi yang digunakan digunakan pada penelitian ini sebagai berikut:.
Intel Core i3-4310 @3.40 GHz Ram 4 GB System Type 64-bit Sistem Operasi Windows 10 Server Apache Database MariaDB
Denngan menggunakan tools yang sama diharapkan hasil yang diperoleh dari pengujian ini  bisa  lebih  komperhensif  dibandingkan penulis  melakukan  pengujian  dengan  tools yang  berbeda.  Untuk  menampilkan  data  kita harus  menuliskan  url  atau  alamat  situs  yang akan  dijadikan  sebagai  pengujian.  Disini
alamat yang digunakan adalah http://127.0.0.1/uji.
Dalam penelitian ini penulis melakukan perbandiangan dari kedua metode yaitu clien- side  dan  server-side.  Pengukuran  dilakukan dengan  menghitung  jumlah  waktu  yang dibutuhkan  oleh  masing-masing  metode dengan  jumlah  data  yang  berbeda.  Semakin sedikit waktu yang dibutuhkan untuk menampilkan data maka akan semakin bagus. Pengukuran  dilakukan  dengan  menambahkan baris  kode  dari  pemrograman  PHP  dimasing- masing  halaman  pengujian.  Baris  kode  yang digunakan  untuk  menghitung  kecepatan sebuah  halaman  dalam  menampilkan  data antara  client-side  dan  server-side  sebagai berikut:
<?php $starttime = explode(' ', microtime()); $starttime = $starttime[1] + $starttime[0]; $load = microtime();
$loadtime = explode(' ', microtime()); $loadtime = $loadtime[0]+$loadtime[1]- $starttime; echo "Page generated in ".number_format($load,2)." seconds"; echo "Peak memory usage:
".round(memory_get_peak_usage()/1048576, 2), "MB"; ?>
Berikut  ini  pengujian  yang  dilakukan dengan  menggunakan  tiga  jenis  dataset  yang berbeda  dengan  masing-masing  pengujian mulai  dari  10.000,  50.000.  100.000  record data.
Gambar 2. Pengujian client-side
Pengujian
dilakukan dengan menggunakan metode client-side, pada pengujian  ini  browser  menampilkan  data dengan cepat saat jumlah record masih sedikit, namun  semakin  banyak  jumlah  record  maka
Analisa Dataset
Client- side
Server- side
Pengujian Hasil
Pengujian
browser  menjadi  semakin  lambat  dan  bisa sampai  melebihi  30  detik.  Hal  ini  terjadi karena client-side mengambil semua data yang ada  untuk  selanjutnya  ditampilkan  dalam browser  sehingga  semakin  banyak  data  maka semakin lama waktu yang dibutuhkan.
Gambar 3 . Pengujian dengan server-side
Pengujian dilakukan dengan menggunakan metode server-side, pada pengujian  ini  browser  menampilkan  data dengan  cepat  pada  saat  jumlah  data  masih sedikit.  Namun  dengan  pengujian  data  yang banyak  hal  ini  tidak  teralalu  banyak berpengaruh
pada browser dalam menampilkan data dengan  waktu yang sangat cepat.  Hal  ini  dikarenakan  server-side  hanya memanggil  sebagian  data  dari  seluruh  data yang  ada  sehingga  berapapun  jumlah  record yang  ingin  ditampilkan  tidak  akan  menjadi masalah.
Table 2. Waktu yang dibutuhkan browser dalam menampilkan data
Data 10 ribu 50 ribu 100 ribu Server- side 0,0031s 0,0055s 0,033s Client- side 0,2404s 3,8018s 3,939s
Berdasarkan tabel diatas maka bisa dijelaskan bahwa:
1. Percobaa  dengan  10  ribu  record pada server-side membutuhkan waktu
0,0031s sedangkan  pada  client-side
membutuhkan waktu 0,2404s terdapat  selisih  0,2373s  lebih  cepat server-side.
2. Percobaa  dengan  50  ribu  record pada server-side membutuhkan waktu 0,0055s sedangkan  pada  client-side membutuhkan waktu 3,8018s terdapat  selisih  3,7963s  lebih  cepat server-side. 3. Percobaa dengan 100 ribu record pada server-side membutuhkan waktu 0,033s sedangkan  pada  client-side membutuhkan  waktu 3,939s terdapat selisih 3,906s lebih cepat server-side

## Gambar 4. Diagram hasil pengujian

## KESIMPULAN
Dari  penelitian  yang  sudah  dilakuan terbukti  bahwa  serverside  lebih  unggul dibandingkan dengan clientside dalam menampilkan  data  dalam  jumlah  yang  besar. Dalam  sebuah  aplikasi  berbasis  web,  maka menampilkan  data  dalam  jumlah  besar  ada sebuah  tantangan  tersendiri  sehingga  aplikasi harus mampu menentukan metode yang paling tepat dalam melayani data dalam jumlah yang besar. Sebuah sistem membutuhkan kecepatan dalam pemrosesan, sistem yang berjalan dalam waktu  lama  akan  mengalami  penurunan kinerja  karena  data  yang    dimiliki    semakin besar.    Pengimplementasian    serverside datatables processing menjadi salah satu solusi untuk  sebuah  aplikasi  dalam  menampilkan data  sehingga  walaupun  data  yang  akan ditampilkan  sangat  banyak  tidak  terlalu berpengaruh  terhadap  aplikasi  karena  data akan  di  tampilkan  secara  berkala  sesuai dengan kebutuhan pengguna. Dengan demikian  untuk  pembuatan  aplikasi  berbasis
10k 50k 100k serverside clienside
web, maka serverside menjadi pilihan terbaik baik untuk data yang kecil maupun data dalam ukuran yang sangat besar.

## REFERENSI
Alhaq, M. B., & Sujarwo, A. (2021).
UTILISASI PENGOLAHAN PEMROSESAN DATA UNTUK MENINGKATKAN PERFORMA APLIKASI, 2 (1). Retrieved from https://journal.uii.ac.id/AUTOMATA/ar ticle/view/17358/10892
D. Gope, D. J. (2017). Architectural support for server-side PHP processin. Annual International Symposium on Computer Architecture .
Ghandour, A. (2015). BIG DATA DRIVEN E-COMMERCE ARCHITECTURE. International Journal of Economics .
Haviluddin, A. T. (2016). Aplikasi Program PHP & Mysql. Samarinda: Mulawarman University Press.
Husen, A. R. (2018). IMPLEMENTASI

## KOMUNIKASI FULL DUPLEX
MENGGUNAKAN WEB. Jurnal
SIMETRIS . Novendri, M. S. (2019). APLIKASI INVENTARIS BARANG PADA
MTS NURUL ISLAM . Lentera Dumai .
Rianto, R. (2019). Implementasi DataTables Sever-Side Processing Pada Aplikasi
Surat-Surat dan Iventaris Lab STTA Yogyakarta. Jurnal Dinamika Informatika , 8 (1), 15–29. Retrieved from https://www.researchgate.net/profile/Ria nto-Rianto- 2/publication/333161879_Implementasi _DataTables_Sever- Side_Processing_Pada_Aplikasi_Surat- Surat_dan_Iventaris_Lab_STTA_Yogya karta/links/5cde592fa6fdccc9ddb56346/ Implementasi-DataTables-Sever-Side- Processing-Pada-Aplikasi-Surat-Surat- dan-Iventaris-Lab-STTA- Yogyakarta.pdf
Sianipar, R. H. (2015). Pemrograman Javascript. BANDUNG: Informatika.
Sulastri, H., Rahmatulloh, A., & Hidayat, D. K. (2019). SERVER-SIDE PROCESSING TECHNIQUES FOR
OPTIMIZING THE SPEED. Jurnal
Pilar Nusa Mandiri , 15 (1), 47–52.
Retrieved from http://ejournal.nusamandiri.ac.id/index.p hp/pilar/article/view/62/56
Suryaningrat, I. G. N. J. (2016). Perancangan
Sistem Informasi Wisata Kuliner Berbasis Web Dengan Menggunakan Ajax dan Code Igniter. Jurnal Sistem Dan Informatika , 10 (2), 1–8. Retrieved from https://jsi.stikom- bali.ac.id/index.php/jsi/article/view/52