JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika) Volume 02, Nomor 02, Desember 2017 : 88 - 93

## DESAIN DATABASE UNTUK OPTIMALISASI SISTEM PREDIKSI TRANSAKSI PENJUALAN
Sucipto 1) , Rini Indriati 2) , Fitra Bagoes Hariawaan 3)
1, 2,3) Sistem Informasi, Universitas Nusantara PGRI Kediri e-mail: sucipto@unpkediri.ac.id 1) , rini.indriati@unpkediri.ac.id 2 ) , fitrasetyabagoes@gmail.com 3)

## ABSTRAK
Kemajuan  teknologi  informasi  diharapkan  dapat  menjadi  alat  yang  membantu  proses  pengolahan  data. Pengelolaan  dan  penggunaan  data  yang  tersistematis  dapat  menghasilkan  informasi  yang  rinci.  Pentingnya pengelolaan  data  adalah  dapat  meningkatkan  kualitas  informasi  yang  diolah.  Pengelolaan  data  dimulai  dari sistem  penyimpanan  sebuah  data  yaitu  perancangan  database.  Pada  perancangan  database,  hal  yang  perlu diperhatikan  adalah  relasi  antar  tabel  yang  ada  di  dalamnya.  Relasi  antar  tabel  tersebut  menggambarkan keterkaitan data yang akan diolah menjadi sebuah informasi penting. Pada penelitian ini fokus pembahasannya adalah  optimalisasi  sebuah  tabel  untuk  pengolahan  lebih  lanjut  terhadap  sebuah  database  sistem  informasi penjualan.  Database  yang  akan  dioptimalisasi  nantinya  akan  digunakan  untuk  pengolahan  prediksi  penjualan. Pada tahap pengolahan prediksi data dalam database akan di ekspor kedalam 2 database yaitu PostgreSQL dan MariaDB.  Data  yang  digunakan  untuk  pengujian  sebesar  476619  data  penjualan  yang  diambil  dari  transaksi penjualan antara tahun 2015-2017. Data penelitian ini diolah menggunakan join tabel yang menghasilkan 374 data.  Data  tersebut  merupakan  informasi  yang  nantinya  digunakan  untuk  prediksi  penjualan.  Berdasarkan pengujian  kecepatan  pengolahan  data  penjualan  dengan  menggunakan  PostgreSQL  menunjukkan  selisih  yang sedikit  dengan  kisaran 0.26  detik  lebih  cepat  dari  MariaDB. Hasil  penelitian  rancangan optimalisasi  database yang  telah  dibuat  menunjukkan  bahwa  PostgreSQL  lebih  baik  dari  segi  kecepatan  pengolahan  data  dibanding MariaDB.
Kata Kunci : database; optimalisasi; transaksi.

## ABSTRACT
The  advance  of  informational  technology  is  expected  to  be  a  tool  which  helps  data  tabulating  process. Management  and  usage  of  the  data  systematically  can  produce  detailed  information.  The  important  of  data management is able to enhance the quality of information that is processed. Data management is started from the storage  system  of  data  namely  database  design.  In  the  database  design,  the  thing  that  should  be  heeded  is  the relation of each table inside of it. The relation among the table shows the linkages data that will be processed to be  essential  information.  In  this  research,  the  focused  discussion  is  optimalizing  a  table  for  further  tabulating towards  a  marketing  informational  system  database.    The  database  that  will  be  optimalized  will  be  used  to marketing  prediction  tabulation.  In  tabulating  stage,  data  prediction  in  database  will  be  exported  into  two databases  namely  PostgreSQL  and  MariaDB.  The  data  used  for  examining  amount  476619  marketing  data  is taken  from  marketing  transaction  among  2015-2017.  This  research  data  is  tabulated  using  join  table  that produce  374  data.  The  data  is  the  information  that  will  be  used  for  marketing  prediction.  Based  on  rapidity examination  of  marketing  data  tabulation  by  using  PostSQL  indicates  slight  difference  around  0.26  seconds faster  than  MariaDB.  The  research  result  of  database  optimalizing  design  which  has  been  made  shows  that PostgreSQL is better in data tabulating rapidity than MariaDB.
Keywords : database; optimalizing; transaction.

## I. P ENDAHULUAN
Database  secara  umum  dapat  diartikan  sebuah  tempat  penyimpanan  data  dan  sebagai  pengganti  dari  sistem konvensional yang berupa dokumen file. Database didefinisikan sebagai kumpulan data yang dihubungkan secara bersama-sama  dan  gambaran  dari  data  yang  dirancang  untuk  memenuhi  kebutuhan  informasi  dari  suatu organisasi [1]. Pencarian strategi dalam pemrosesan database ditentukan oleh query agar dapat dilakukan secara optimal.  Pada  beberapa  DataBase  Management  System  (DBMS),  pemrosesan query dipilih  dari  sekumpulan strategi yang berdasarkan heuristik tertentu. Bahasa query SQL masih memiliki beberapa kekurangan diantaranya bahasa tersebut harus terintegrasi menggunakan suatu bahasa pemrograman tertentu[2]. Optimalisasi merupakan

## JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika)
Volume 02, Nomor 02, Desember 2017 : 88 - 93
suatu  langkah  untuk  mengoptimalkan  waktu  menjadi  lebih  efisien.  Ketika  sebuah query diberikan  pada  sistem basis  data,  optimasi  penting  dilakukan  untuk  memilih  strategi  yang  efisien  untuk  mengevaluasi  ekspresi  relasi yang ditentukan.
Optimalisasi database dapat dilakukan dengan beberapa cara diantaranya memalui DDL dan DML. DDL (Data Definition  Language) merupakan  perintah  SQL  yang  digunakan  untuk  mendefinisikan  atau  mendeklarasikan objek  database,  menciptakan  objek  database  atau  bahkan  menghapus  objek  database.  Objek  database  dapat berupa  tabel  atau  database  itu  sendiri.  DDL  juga  dapat  digunakan  untuk  membuat  koneksi  antar  tabel  database beserta batasannya dengan menentukan indeks sebagai kuncinya. DDL yang umum digunakan adalah CREATE, DROP,  ALTER.  DML (Data  Manipulation  Language) merupakan query yang  digunakan  untuk  memanipulasi data, seperti untuk menampilkan data, mengubah data, atau mengisi data[3].
Penelitian yang membahas mengenai database  telah dilakukan oleh Riana Kuswandi pada tahun 2007 dengan judul “Konsolidasi Database Kependudukan Nasional.” Penelitian tersebut membahas mengenai hubungan antara pertukaran  data  antara  database  yang  berbeda  dan  sistem  operasi  yang  berbeda  pada  kasus  data  kependudukan. Hasil  dari  penelitian  tersebut  dibuat  web  service  untuk  menjebatani  platform  yang  berbeda  [4].  Konsep  pada penelitian  tersebut  sama  dengan  konsep  peneliti  yaitu  mengenai  pengolahan  data  antar  database  yang  berbeda pada  MariaDB  dengan  PostgreSQL.  Penelitian  lain  dilakukan  oleh  Sucipto  pada  tahun  2015  dengan  judul “Representasi  Fuzzy  Tsukamoto  Menggunakan  Fungsi  Pl/Pgsql  dan  Check  Constraint”  yang  membahas mengenai  Implementai Query database  PostgreSQL  terhadap  logika  fuzzy  untuk  mempermudah  dalam pengolahan  data  fuzzy.  Terdapat  beberapa  kegunaan  yang  sama  terhadap  penelitian  yang  dilakukan  dengan peneliti  yaitu  menggunakan  database  PostgreSQL  sebagai  pengolahan  data.  Hasil  yang  diperoleh  dalam penelitian  tersebut  adalah  penggunaan  fungsi  fuzzy  dengan  pemrograman  PL/PgSQL  dapat  menjadi  alternatif dalam  pembuatan  sistem  pendukung  keputusan[5].  Penelitian  lain  juga  dilakukan  oleh  Mohammad  Arief  Faizal Rachman  pada  tahun  2017  dengan  judul  penelitian  “ Database  Integration  Based  on  Combination  Schema Matching Approach ” yang membahas mengenai salah satu metode integrasi database logis. Hasil yang diperoleh dari  beberapa  percobaan  yang  telah  dilakukan  dengan  mempertimbangkan  unsur-unsur  konflik  semantik  pada identifikasi  skema  adalah  pencocokan  skema  kombinasi  hibrida  dapat  digunakan  untuk  penulisan  ulang query pada multi-database[6].

## II. M ETODE P ENELITIAN
Metodologi  yang  akan  digunakan  adalah  dengan  melakukan  tinjauan  teori query pemrograman  database  dan kajian penelitian terdahulu dengan studi literatur yang  telah dipaparkan sebelumnya serta  menggunakan analisis untuk menghitung kecepatan  waktu  eksekusi query yang dijalankan menggunakan database  transaksi penjualan. Adapun  penambahan  kolom  pada  database  penjualan  bertujuan  untuk  mengetahui  informasi  yang  lebih  rinci mengenati  informasi  transaksi  penjualan  yang  akan  digunakan  sebagai  prediksi  penjualan.  Eksport  data  hasil database kemudian di transformasikan ke dalam database PostgreSQL dan MariaDB yang akan digunakan untuk pengolahan  data  prediksi  penjualan,  Database  yang  mempunyai  waktu  maksimal  dalam  pengolahan  bahasa pemrograman akan digunakan dalam pengolahan data prediksi. Bentuk query yang digunakan adalah : 1. Penggunaan Select *
2. Penggunaan Aritmatika Database
3. Penggunaan Inner Join
4. Penggunaan Group
5. Penggunaan Ekstrak Kolom
JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika) Volume 02, Nomor 02, Desember 2017 : 88 - 93

## III. H ASIL DAN P EMBAHASAN
Penelitian ini dilakukan dengan mengembangkan perancangan database pada obyek penelitian. Pengembangan perancangan  database  ditujukan  untuk  mengoptimalkan  analisa  data  yang  digunakan  untuk  optimalisasi  sistem pendukung  keputusan  dengan  metode  prediksi.  Berikut  ini  ditampilkan  desain  utama  database  pada  sistem informasi penjualan yang telah dirubah :

## Gambar 1. Desain Database
Gambar  1  merupakan  desain  optimal  database  yang  digunakan  untuk  pengembangan  pengolahan  prediksi transaksi penjualan pada obyek penelitian. Terdapat dua tabel pada Gambar 1, tabel yang dioptimalkan terdapat pada  tabel  pjtransaksi  dengan  menambahkan  kolom  pjttotal.  Kolom  pjttotal  ditambahkan  untuk  mengetahui perubahan  harga  yang  ada  pada  sistem  informasi  penjualan.  Sedangkan,  pada  tabel  barang  terdapat  harga  bbeli pada kolom beli dan harga jual pada  kolom bjual. Kedua  kolom pada database tersebut  merupakan  kolom yang dinamis  dan  ketika  dirubah  akan  membuat  proses  prediksi  untuk  mengetahui  riwayat  perubahan  harga  ketika terjadi perubahan harga sulit dilakukan. Berdasarkan data dari kedua tabel pada Gambar 1 akan dibuat rancangan tabel  untuk  pengolahan  data  prediksi  transaksi  penjualan.  Pengolahan  data  menggunakan  2  perbandingan pengolahan  database  yang  berbeda.  Database  yang  digunakan  yaitu  PostgreSQL  dan  MariaDB.  Berikut rancangan desain yang akan digunakan:
T ABEL 1. T ABEL P ENGOLAHAN D ATABASE Name Type barang table transaksi Table
Tabel  1  merupakan  tabel  yang  akan  dibuat  untuk  pengolahan  data  penjualan,  tabel  yang  digunakan  sama  dengan  tabel yang terdapat  pada  sistem  informasi  penjualan  pada  Gambar  1.    Tabel  yang  dibuat  terdiri  dari  tabel  barang  dan tabel transaksi dengan rinc ian terdapat pada Tabel 2 untuk tabel barang dan 4.3 untuk tabel transaksi penjualan.
T ABEL 2. D ESAIN P ENGOLAHAN T ABEL B ARANG Column Type Modifiers bid (PK) integer not null Bnama character varying(32) not null bjual integer

## JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika)
Volume 02, Nomor 02, Desember 2017 : 88 - 93
Tabel  2  merupakan  detail  tabel  barang  yang  terdapat  pada  Tabel  1.  Tabel  2  merupakan  ringkasan  dari  tabel barang  yang  terdapat  pada  Gambar  1.  Desain  pengolahan  transaksi  untuk  prediksi  yang  terdapat  pada  Tabel  1 dibuat lebih sedikit karena hanya kolom data pokok yang akan diolah. Seperti halnya pada Tabel 3 yang lebih ringkas dibandingkan tabel transaksi penjualan pada Gambar 1.
T ABEL 3. T ABEL T RANSAKSI P ENJUALAN Column Type Modifiers pid (PK) character(14) not null Bid Integer Tanggal Date Qty Integer Tot Integer
Data  dari  tabel  sistem  informasi  penjualan  akan  di  ekspor  kedalam  tabel  pengolahan  yang  telah  dibuat  pada Tabel  1.  Selanjurnya,  dilakukan  proses  ekspor  data  sistem  informasi  pada  tabel  barang  dan  transaksi  kedalam bentuk  csv.  Data  yang  berbentuk  csv  kemudian  disesuaikan  dan  di  ekspor  ke  dalam  database  yang  telah dirancang ulang pada Tabel 2 dan Tabel 3. Berikut ini perintah ekspor data:
“copy transaksi from '/home/cipto pjtransaksi.csv' DELIMITER ',';”
Data  transaksi  penjualan  yang  diekspor  berjumlah  476619  data.  Data  yang  berhasil  diekspor  kemudian dilanjutkan ke tahap data cleaning yang merupakan pembersihan data-data yang tidak memiliki relasi antar tabel. Tahap pembersihan data menggunakan query delete dengan perintah sebagai berikut:
“delete from transaksi where bid not in ( select bid from barang);”
Adapun data yang berhasil dihapus dalam proses pembersihan data sebesar 475 data. Total data yang diperoleh setelah  proses  pembersihan  sebesar  476144  data.  Tahap  selanjutnya  membuat  tampilan  yang  rinci  untuk memperoleh  data  yang  digunakan  untuk  memprediksi  transaksi  penjualan.  Tampilan  rinci  database  dibuat menggunakan query yang terdiri dari sub query , join, group, aritmatika dan ekstrak pada kolom tabel. Query akan diterapkan  pada  kedua  database  yaitu  database  PostgreSQL  dan  MariaDB.  Berikut  ini query PostgreSQL  yang diterapkan:
select t.bid, b.bnama, t.bulan, t.tahun, t.jumlah, t.tharga, t.tharga/t.jumlah as harga  from ( select extract (month from tanggal) as bulan, extract (year from tanggal) as tahun, bid, sum(qty) as jumlah, sum(tot) as tharga from transaksi group by bid, bulan, tahun ) t join barang b using(bid) order by tahun, bulan, bid asc;
Berikut ini query MariaDB yang diterapkan:
select t.bid, b.bnama, t.bulan, t.tahun, t.jumlah, t.tharga, t.tharga/t.jumlah as harga from ( select month (pjtgl) as bulan, year (pjtgl) as tahun, bid, sum(pjtqty) as jumlah, sum(pjttotal) as tharga
JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika) Volume 02, Nomor 02, Desember 2017 : 88 - 93
from pjtransaksi group by bid, bulan, tahun ) t join barang b using(bid) order by tahun, bulan, bid asc;
Pada  pemaparan  di  atas,  terdapat  perbedaan  penulisan query pada  PostgreSQL  dan  MariaDB,  namun  makna yang  dituliskan  sama.  Perbedaan  tergambar  pada  saat  ekstrak  tanggal  dari  kolom  pjtgl,  namun  perbedaan  tidak terdapat pada query yang lain.  Hasil perintah select pada query sebagai berikut:

## Gambar 2. Hasil Tabel Transaksi Penjualan
Gambar  2  merupakan  data  yang  ditampilkan  dari  tabel  transaksi  yang  terdapat  pada  Tabel  3.  Tabel  transaksi akan diolah menggunakan query yang ditentukan sehingga menghasilkan tampilan pada Gambar 3. Pada Gambar 3  terdapat  informasi  lebih  rinci  hasil  relasi  dan  ekstrak  antara  tabel  barang  dan  tabel  transaksi.  Informasi  yang diperoleh  pada  gambar  menampilkan  7  kolom  yaitu  bid,  bnama,  bulan,  tahun,  jumlah,  tharga,  harga, menghasilkan  data  sebanyak  374  data.  Gambar  3  menggambarkan  informasi  lebih  detail  mengenai  waktu penjualan  yang  dilihat  pada  kolom  bulan  dan  tahun  hasil  dari  ekstrak  kolom  tanggal  pada  tabel  transaksi.  Pada kolom lain juga terlihat data informasi yang penting yaitu harga jual pada bulan dan tahun saat itu yang terdapat pada  kolom  harga.  Kolom  harga  didapat  dari  hasil  pembagian  total  harga  pada  kolom  tharga  dengan  jumlah barang yang terjual pada kolom jumlah. Berdasarkan desain seperti ini penggalian informasi untuk prediksi akan dapat lebih optimal.

## JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika)
Volume 02, Nomor 02, Desember 2017 : 88 - 93
Selanjutnya  dilakukan  pengujian  terhadap  kecepatan query berdasarkan  database  yang  digunakan.  Hasil pengujian dilihat pada Tabel 4:
T ABEL 4. P ENGUJIAN P ENGOLAHAN D ATABASE Pengujian PostgreSQL MariaDB Ke-1 1.21 sec 1.38 sec Ke-2 1.11 sec 1.46 sec Ke-3 1.11 sec 1.39 sec
Berdasarkan pengujian pada Tabel 4 menunjukkan bahwa database PostgreSQL lebih cepat dalam memproses data  daripada  database  MariaDB.  Hasil  pada  Tabel  4  menjadikan  PostgreSQL  sebagai  pilihan  untuk  mengolah data transaksi penjualan yang optimal. Setelah data berhasil diperoleh, kemudian data di ekspor kedalam bentuk csv.

## IV. K ESIMPULAN
Berdasarkan  jumlah  data  sebesar  476144  data,  kemudian  dilakukan  proses  pembersihan  data  sehingga diperoleh data sebesar 476144 data. Data yang diolah menggunakan database PostgreSQL dan MariaDB dengan query yang sudah didefinisikan. Proses pengolahan data tersebut mampu menghasilkan tampilan data yang sama dengan  menampilkan  data  informasi  yang  rinci  dan    menampilkan  7  kolom  yaitu  bid,  bnama,  bulan,  tahun, jumlah,  tharga,  harga,  serta  menghasilkan  data  sebanyak  374  data.  Data  yang  ditampilkan  oleh  database PostgreSQL dan MariaDB diuji kecepatan maksimal dalam pemrosesan query dan diperoleh kesimpulan bahwa rata-rata  pengujian  menunjukkan  PostgreSQL  lebih  cepat  0.26  detik  daripada  MariaDB.  Penelitian  selanjutnya akan  dibuat  skema  multi  database  penjualan  dan  database  pengolahan  prediksi  dengan  melibatkan  database MariaDB sebagai database penjualan dan database PostgreSQL sebagai database pengolahan prediksi penjualan.

## Ucapan Terima Kasih
Penulis  Mengucapkan  terimakasih  kepada  YLP-PT  PGRI  Kediri  karena  telah  memberikan  bantuan  dana penelitian  ini,  sehingga  penelitian  ini  dapat  terlaksana  dengan  baik  dan  memberikan  manfaat  terhadap perkembangan ilmu.

## Daftar Pustaka
[1]  T. M. Connolly and C. E. Begg, Database systems: a practical approach to design implementation and management , 5th ed. America: Pearson Education, 2010.
[2]  C. J. Date, “An Introduction to Database Systems,” 8th ed., International: Pearson, 2004.
[3]  A. Silberschatz, H. F. Korth, and S. Sudarshan, “Database System Concepts,” 4th ed., New York: McGraw-Hill, 2002.
[4]  R. Kuswandi, H. Fahmi, H. Faidah, H. Setiadi, and Z. Hasibuan, “Konsolidasi database kependudukan nasional,” in Seminar Nasional Aplikasi Teknologi Informasi , 2007, vol. 3, no. 1, pp. 28–34.
[5]  S. Sucipto, A. Suhartanto, and R. Firliana, “Representasi Fuzzy Tsukamoto Menggunakan Fungsi PL/PgSQL Dan Check Constraint,” in Seminar Nasional Teknologi Informasi dan Multimedia 2015 , 2015, p. 4.5-7-4.5-12.
[6]  M. Arief and F. Rachman, “Database Integration Based on Combination Schema Matching Approach ( case study : Multi-database of District Health Information System ),” in International Conferences on Information Technology, Information Systems and Electrical Engineering (ICITISEE), 2017, pp. 429–434.