1
Implementasi Data Template dengan Melakukan Migrasi
Menggunakan Format JSON (JavaScript Object Notations)
(Studi Kasus: PT. Asuransi Sinar Mas, Jakarta)
Artikel Ilmiah
Peneliti:
Jekry Tehe (672014126)
Dr. Sri Yulianto Joko Prasetyo, S.Si., M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Januari 2018
2
3
4
5
6
7
1
1. Pendahuluan Setiap perusahaan membutuhkan struktur data dalam mengolah basis data
internal. JavaScript Object Notation (JSON) Formatter merupaka solusi dari model
struktur data perusahaan dalam melakukan pertukaran data. Saat ini banyak
perusahaan yang beralih menggunakan JSON formatter diantaranya Twitter, semua
data melalui tweets dan penulisan nama, ID unik, dan postingan semua
menggunakan JSON formatter [1]. PT. Asuransi Sinar Mas juga beralih
menggunakan JSON formatter menggantikan XML formatter. Alasan utama
perusahaan beralih menggunakan JSON formatter karena, JSON formatter memliki
fungsi json_encode yang berfungsi untuk menyediakan sebuah kolom untuk
menampung array yang diubah dalam bentuk JSON sehingga memudahkan
administrator database dalam melakukan update tabel [2]. JSON memiliki ukuran
file yang lebih kecil dibandingkan dengan XML [3]. Ukuran file yang lebih kecil
membantu perusahaan ASM dalam mengakses data lebih cepat, sehingga
perusahaan berharap agar semua data yang terintegrasi dengan proses bisnis dapat
diakses lebih cepat. Pertukaran data yang sebelumnya menggunakan XML formatter masih belum
memenuhi kriteria perusahaan yang mengharapkan akses data yang cepat meskipun
dengan data cukup besar. XML formatter tidak dapat meminimalkan proses
pembuatan kolom tabel sehingga banyak memakan spaces memori yang
mengakibatkan pertukaran data menjadi lebih lama serta dengan data yang cukup
banyak maka akan sangat merepotkan jika harus membuat tabel dengan kolom
sesuai jumlah data bisnis dari perusahaan. Berdasarkan latar belakang yang ada, maka dilakukan penelitian yang
bertujuan untuk melakukan migrasi data template menggunakan format JSON. Data
template ini berisikan data bisnis yang akan menjadi acuan dalam pembuatan
proposal bisnis berdasarkan jenis bisnis dari perusahaan. Dengan JSON formatter
diharapkan dapat membuat pertukaran data menjadi lebih cepat karena data
template dapat ditampung dalam satu kolom tabel dan tidak banyak memakan
banyak space memori sehingga membuat akses data menjadi lebih cepat serta
arsitektur pengolahan data menjadi lebih efisien. Hasil dari penelitian didapatkan
jumlah kolom tabel yang lebih sedikit dikarenakan semua data ditampung dalam
satu kolom tabel JSONDATA, sehingga membuat arsitektur pengolahan data
menjadi lebih terstruktur dan membuat ukuran file menjadi lebih kecil.
2
2. Tinjauan Pustaka Penelitian yang berjudul Implementasi JSON Untuk Minimasi Penggunaan
Jumlah Kolom Suatu Tabel Pada Database Postgresql memanfaatkan teknologi
JavaScript Object Notation (JSON) dalam hal ini fungsi json_encode dengan
bahasa pemrograman PHP untuk menyederhanakan penggunaan kolom sehingga
ketika ada kebutuhan penambahan kolom tidak perlu lagi membuat kolom baru di
tabel tersebut, Dari hasil penelitian menunjukkan bahwa JSON dapat
menyederhanakan tabel suatu basis data, tabel yang sebelumnya membutuhkan
banyak kolom menjadi satu kolom yang berisi string JASON [3]. Pada penelitian yang berjudul Optimalisasi Query Data dengan Javascript
Object Notation (JSON) Pada Aplikasi Penerimaan Mahasiswa Baru Online Stmik
Akba bertujuan untuk melakukan optimalisasi query data pada aplikasi Penerimaan
Mahasiswa Baru Online STMIK AKBA, sehingga proses pencarian dan
menampilkan data dapat dilakukan dengan waktu yang relatif cepat. Teknik yang
diterapkan adalah dengan menggunakan JavaScript Object Notation (JSON)
sebagai format pertukaran data pada saat proses query. JSON memiliki format
penulisan yang sederhana sehingga ukuran file yang dihasilkan lebih kecil yang
secara otomatis berdampak pada peningkatan kecepatan waktu tampil data. Hasil
penelitian ini menunjukkan bahwa JSON mampu mereduksi ukuran file data dalam
format XML (Extensible Markup Language) sebesar 40,52% dan mereduksi waktu
query data sebesar 66,80% [4].
Penelitian yang berjudul Analisis Komunikasi Data dengan XML dan JSON
pada Webservice Penilitian ini bertujuan untuk mengetahui Ukuran data pada
proses komunikasi data menggunakan web service dalam jaringan akan sangat
memengaruhi kecepatan proses transfer. XML dan JSON merupakan format data
yang digunakan pada saat komunikasi data pada web service. JSON akan
menghasilkan ukuran data yang lebih kecil jika dibandingkan dengan format XML
[5]. Berdasarkan penelitian-penelitian yang pernah dilakukan terkait fleksibilitas
sebuah data menggunakan format JSON, maka akan dilakukan penelitian yang
membahas tentang migrasi data template menggunakan format JSON. Perbedaan
penelitian ini dengan penelitian-penelitian sebelumnya adalah pada proses
penelitian yang mengarah pada peralihan data dimana data dari database dan tabel
lama akan di migrasi ke tabel dan databse baru dengan menggunakan format JSON.
Dengan digunakannya format JSON maka proses pertukaran data akan menjadi
lebih efisien dan terstruktur.
Migrasi adalah perpindahan penduduk dari satu daerah ke daerah lain, yang
terjadi karena adanya perbedaan kondisi kedua daerah tersebut. Menurut Martin,
perbedaan terbesar yang mendorong terjadinya migrasi adalah kondisi ekonomi dan
non Migrasi Internasional : Tenaga Kerja Wanita & Human Trafficking Page 4
ekonomi [6]. Migrasi yang dimaksud dalam penelitian ini adalah perpindahan data
template dari tabel lama ke tabel baru, semua data yang berada pada tabel lama akan
di migrasi ke tabel baru.
3
Template dapat diartikan sebagai sebuah alat bantu yang berfungsi untuk
memastikan bahwa semua dokumen memiliki layout yang standar. Secara
sederhana, keberadaan template memungkinkan kita untuk menghasilkan dokumen
yang seragam secara cepat [7]. Data template yang dimaksud dalam penilitian ini
adalah sekumpulan dokumen atau data yang berada didalam database perusahaan.
Format JSON (JavaScript Object Notations) merupakan suatu syntax atau
format untuk menyimpan data atau digunakan dalam sebuah proses pertukaran data.
JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman
apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer
keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena
sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data [8].
3. Metode Penelitian Secara umum penelitian terbagi ke dalam empat tahap, yaitu: (1) tahap
identifikasi masalah, (2) perancangan modul, (3) implementasi modul, (4) pengujian modul.
Gambar 1 Tahapan Penelitian
Tahapan penelitian dimulai dari Analyze and Optimize data terkait dengan
implementasi data template dengan melakukan migrasi menggunakan format JSON
(Javascript Object Notation). Analisis data berisikan sumber data template yang
akan di migrasi. Data template diambil dari tabel lama perusahaan yaitu
New_underwriting.t_template_general kemudian akan dimigrasi kedalam tabel
baru yaitu m_template. Optimasi dilakukan untuk menentukan jumlah kolom pada
tabel m_template sehingga mengurangi pemakaian spaces memori pada database.
Pada tahap ini telah ditentukan kolom apa saja yang akan digunakan untuk
4
menampung hasil migrasi berupa data template yaitu, kolom ID, kolom OLDID,
dan kolom JSONDATA.
Tahap model and design sistem. Tahap desain meliputi identifikasi proses dan desain proses, identifikasi proses menentukan elemen utama apa saja yang
saling terkait dalam proses perancangan sistem yaitu tabel lama New_underwriting.t_template_general, tabel baru m_template, Procedure,
kemudian akan di desain dengan menghubungkan elemen utama yang telah diidentifikasi diatas dalam satu aliran proses mulai dari awal sampai dengan akhir
proses. Tahap pemodelan dimulai merancang desain seperti pada diagram Activity dibawah.
Perancangan Diagram Activity Diagram Activity secara visual menyajikan serangkaian tindakan atau aliran
kontrol dalam sistem yang mirip dengan flowchart atau diagram alir data. Diagram
activity sering digunakan dalam pemodelan proses bisnis. Mereka juga bisa menggambarkan langkah-langkah dalam use case diagram. Aktivitas yang
dimodelkan bisa berurutan dan bersamaan. Dalam kedua kasus diagram aktivitas akan memiliki permulaan dan an [9]. Berikut perancangan diagram activity
terhadap penelitian ini.
Gambar 2 Diagram Activity
Gambar 2 diatas menunjukkan proses migrasi data template menggunakan
procedure dengan format JSON untuk menarik data dari tabel lama
(New_underwriting.t_template_general) ke tabel baru (m_template). Procedure
5
berisikan query insert menggunakan format JSON dengan mengambil value data
template berdasarkan nama kolom dari tabel lama kemudian memasukkan value
tersebut ke tabel baru. Semua data hasil migrasi akan ditampung pada tabel baru
dalam format JSON berdasarkan OLDID dari tabel lama dan ID dari tabel baru. Tahap configure and deploy. Tahap konfigurasi merupakan tahap dalam
menyiapkan semua elemen-elemen dari elemen utama pada tahap pemodelan dan
desain diatas, pada diagram Sequence dibawah terdapat semua elemen-elemen yang dibutuhkan dalam proses migrasi data template.
Konfigurasi Sistem Dalam Migrasi Data Template
Perancangan konfigurasi sistem dalam migrasi data template pada
penelitian ini adalah dengan menggunakan diagram Sequence. Diagram Sequence adalah solusi pemodelan dinamik yang populer di UML karena secara khusus
berfokus pada " lifelines " objek dan bagaimana berkomunikasi dengan objek lain untuk melakukan fungsi sebelum lifelines berakhir [10]. Berikut perancangan
diagram Sequence.
Gambar 3 Diagram Sequence
Gambar 3 diatas merupakan konfigurasi sistem dengan membuat elemen-
elemen yang dibutuhkan dalam melakukan migrasi data template mulai dari
membuat tabel baru sampai dengan membuat procedure. Berikut penjelasan tiap-
tiap elemen diatas: (1) membuat tabel m_template. Langkah pertama dalam migrasi
data template adalah membuat tabel baru yang berguna untuk menampung data dari
tabel lama ke tabel baru yang akan dibuat. (2) Membuat Procedure yang digunakan
sebagai penghubung antara tabel lama dan tabel baru untuk mengambil dan
menginputkan data yang dibutuhkan kedalam tabel baru. (3) Proses penarikan data
6
dari tabel New_underwriting.t_template_general ke tabel baru m_template dengan
format JSON. (4) Data template akan ditampung dalam tabel m_template
berdasarkan OLDID dari tabel lama dan ID dari tabel baru. (5) Insert data to tabel
m_template menggunakan procedure yang diisi dengan query select OldID FROM
tabel lama, dimana data template akan diambil berdasarkan OldID yang ada
didalam database berdasarkan data yang akan di inputkan. Data yang menuju ke
tabel m_template merupakan data template dalam format JSON yang akan
ditampung dalam kolom JSONDATA.
Tahap Execute merupakan tahap testing dimana dalam penelitian ini
pengujian dilakukan dengan pengujian unit / unit testing. Unit testing merupkan
tahap pengujian suatu unit program layak untuk di gunakan atau tidak. Dalam
proses migrasi data template terdapat banyak unit-unit atau subproses didalamnya
sehingga jika dilakukan testing disetiap unit tersebut maka akan mengurangi
terjadinya kesalahan dalam melakukan migrasi serta mendapatkan hasil yang
maksimal. Dalam penelitian ini pengujian unit testing akan dilakukan mulai dari
pembuatan tabel baru m_template sampai dengan proses penginputan data template
menggunakan procedure dengan format JSON.
Maintenance and Monitoring. Data template akan digunakan oleh pihak
underwriting (UW) dalam pembuatan proposal bisnis asuransi. Pihak underwriting
sering kali mengalami masalah dalam proses pembuatan proposal bisnis karena data
yang diinputkan tidak sesuai dengan template yang telah disiapkan, sehingga pada
tahap akhir pembuatan proposal bisnis asuransi akan terjadi error yang
mengharuskan data diinputkan berdasarkan dengan template yang telah ditentukan
dari awal pembuatan proposal bisnis. sehingga sangat dibutuhkan proses
maintenance and monitoring dari developer agar data yang mengalami masalah
dapat langusung diatasi dengan melakukan update data template atau mencocokan
data yang diinputkan underwriting dengan data template.
7
4. Hasil dan Pembahasan
Melakukan migrasi data template dengan menggunakan format JSON ke tabel m_template maka yang pertama harus dilakukan adalah menganalisis sumber
data template yang akan dimigrasi, data template awalnya berada pada tabel t_template_general yang disimpan dalam database server perusahaan.
Gambar 4 New_Underwriting.t_template_general
Hasil analisis data yang menunjukkan sumber data template yang berada pada tabel ”New_Underwriting.t_template_general” memiliki 500 data dengan 250
jumlah kolom dalam satu baris data atau satu nomor template yang akan dimigrasi
kedalam tabel baru m_template dengan menggunakan format JSON. Data template masih bisa mengalami perubahan dan penambahan data terkait dengan proses bisnis
perusahaan.
Gambar 5 Tabel m_template
Proses pembuatan tabel m_template atribut yang digunakan adalah ID,
OldID, dan JSONDATA. ID digunakan untuk menampung nomor template yang
baru, OldID digunakan untuk menampung nomor template yang lama agar tabel
t_template_general dan m_template dapat dihubungkan dalam melakukan proses
pertukaran data. Data dalam satu nomor template memiliki ribuan data sehingga
dalam proses pembuatan tabel atribut JSONDATA menggunaka type data CLOB
yang bisa menampung data hingga 4GB.
8
Atribut JSONDATA digunakan untuk menampung semua data hasil dari
migrasi berdasarkan setiap nomor template. Data yang berada pada kolom
JSONDATA merupkan data dalam format JSON sehingga data dalam satu nomor
template dapat ditampung pada satu kolom tabel tanpa perlu membuat kolom tabel
yang banyak sesuai dengan data template. Untuk melakukan proses migrasi data
template kedalam tabel m_template dari tabel t_template_general dibutuhkan
procedure. Procedure ini digunakan untuk melakukan query insert data dalam
format JSON. Procedure juga sekaligus menjadi penghubung antara tabel
t_template_general dan m_template dalam melakukan migrasi data. Berikut ini
adalah pseudo-code dari procedure migrasi data template menggunakan format JSON.
Baris 1 merupakan fungsi pembuatan procedure dalam database Pooldata.
Baris 2 terdapat parameter ID, OLID, JSONDATA yang akan menampung value
dari hasil migrasi. Baris 3 berisi Template_No ysng merupakan ID dari tabel lama
yang disimpan dengan nama ID dan OLDID pada tabel m_template. Untuk
menginputkan data template ke tabel m_template pada kolom JSONDATA dengan
type data CLOB maka membutuhkan fungsi SQL seperti pada baris 4 yaitu
TO_CLOB untuk mengkonversi karakter string dan karakter lainya ke nilai CLOB
seperti CHAR, VAR, CHAR2, atau CLOB agar dapat terbaca pada kolom
JSONDATA yang memiliki type data CLOB. Untuk membuat hasil migrasi data
template dalam format JSON maka dibutuhkan format JsonObjectWriter yang
digunakan untuk menginputkan suatu data kedalam suatu objek seperti
(JsonObjectWriter ('ID', b.template_no,',')). ID merupakan objek dan
b.template_no merupakan data, sehingga ID akan terisi dengan value b.template_no
dari tabel t_template_general. Hasil dari migrasi data template dengan
menggunakan format JSON ditampung dalam satu kolom JSONDATA pada tabel
m_template. Baris 5 merupakan fungsi untuk menyimpan data template dalam satu
kolom JSONDATA. Baris 6 digunakan untuk mendeklarasikan alamat tabel dan
database pengambilan data template yang diinputkan kedalam tabel m_template.
Baris 7 Digunakan untuk menyetujui transaksi dari serangkaian perintah yang telah
berhasil dilakukan sebelumnya.
9
Gambar 5 Data Template in m_template
Kolom ID dan OLDID telah terisi dengan value Template_No dari tabel
New_underwriting.t_template_general. Untuk menghubungkan kedua tabel antara
m_template dan New_underwriting.t_template_general adalah dengan
menggunakan kolom ID dan OLDID dengan menyamakan kedua value kolom
tersebut. Pada kolom JSONDA terdapat HUGECLOB yang merupakan karakter
dari type data CLOB yang menunjukkan bahwa terdapat banyak data didalmnya.
Denggan menampung data template dalam satu kolom tabel membaut akses data
menjadi lebih cepat, terstruktur dan efisien.
Gambar 6 Data Template in Format JSON
10
Gambar 7 Data Template in JSON formatter
Baris 1 terdapat simbol “{” yang merupakan karakter utama format JSON
yang berarti bahwa data template berhasil di migrasi kedalam tabel m_template
dengan format JSON. karakter utama yang membedakan format JSON adalah
diawali dengan kurung kurawal dilanjutkan dengan tanda petik (“”) sebagai objek
yang merupakan kolom dan value dari tabel yang hendak akan di inputkan. Baris 2
sampai dengan baris 33 merupakan value data template. Untuk menampilkan data
template seperti pada gambar diatas maka harus menggunakan query select seperti
“select a.JSONDATA from m_template a” dengan memilih kolom JSONDATA
yang berisikan semua data template hasil dari migrasi. Data dalam format JSON ini
membuat akses data lebih cepat karena tabel m_template yang digunakan tidak
memakan banyak spaces memori dengan hanya menggunakan satu kolom tabel
untuk menampung data template yaitu kolom JSONDATA yang dapat menampung
hingga 4GB data. Dengan format JSON maka membuat data template lebih
terstruktur sehingga mudah untuk dibaca oleh administrator database dalam
mengolah dan melakukan perbaikan data template yang sewaktu-waktu dapat berubah dan bertambah berdasarkan proses bisnis dari perusahaan.
11
5. Simpulan Berdasarkan penelitian yang telah di uraikan dalam penelitian ini, maka dapat
disimpulkan: (1) Migrasi data template dengan menggunakan format JSON pada
PT. Asuransi Sinar Mas sangat membantu pihak developer dalam mengolah data
bisnis asuransi yang cukup banyak, serta untuk memudahkan pihak underwriting
perusahaan (user) dalam mengakses data lebih cepat meskipun dengan jumlah data
yang cukup banyak. (2) Data template yang sangat banyak membuat proses
pertukaran data menjadi lebih lama dan membutuhkan tabel dengan kolom yang
banyak sehingga memakan banyak spaces dalam proses pembuatan tabel. Dengan
menggunakan format JSON maka file data akan memiliki ukuran yang kecil
sehingga membuat proses pertukaran data menjadi lebih cepat dan semua data dapat
ditampung dengan terstruktur dalam satu kolom JSONDATA pada tabel
m_template, sehingga tidak membuat banyak spaces terbuang dan mempermudah
developer dalam melakukan pengolahan data. (3) Dengan menggunakan format
JSON maka untuk menampilkan data template menjadi lebih cepat dan mudah
karena format penulisan yang sederhana hanya dengan memanggil nama kolom
JSONDATA dengan value yang akan digunakan maka data template dapat
ditampilkan.
6. Daftar Pustaka
[1] Developer Twitter. 2010. Intorduction to Tweet JSON.
https://developer.twitter.com/en/docs/tweets/datadictionary/overview/intr
o-to-tweet-json. Diakses 23 November 2017 [2] Rosid, M.A. 2016. Implementasi JSON untuk Minimasi Penggunaan Jumlah
Kolom Suatu Tabel Pada Database PostgreSQL [3] Surendra, M.R.S. 2014. Implementasi PHP Web Service Sebagai Penyedia Data
Aplikasi Mobile.
[4] Pasnur, P. 2013. Optimalisasi Query Data Dengan JavaScript Object
Notation (JSON) Pada Aplikasi Penerimaan Mahasiswa Baru Online
STMIK AKBA.
[5] Sudirman. 2016. Analisis Komunikasi Data Dengan Xml Dan Json
PadaWebservice.http://download.portalgaruda.org/article.php?article=4
43695&val=8273&title=analisis%20komunikasi%20data%20dengan%2
0xml%20dan%20%20json%20pada%20webservice. Diakses online 29
Agustus 2017.
[6] Martin, Philip. 2003. Sustainable Labor Migration Policies in a
GlobalizingWorld.http://www.ilo.org/wcmsp5/groups/public/--greports/
inst/documents/publication/wcms_193625.pdf. Diakses 13 November
2017.
[7] Didik, Irianto, Patmanthara. 2016. Desain Template Buku Digital Epub.
http://sentia.polinema.ac.id/index.php/SENTIA2016/article/viewFile/27/22.
Diakses 13 November 2017
[8] JSON Team. 2013. ECMA-404 The JSON Data Interchange Standard.
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-
\404.pdf. Diakses 27 Juli 2017
12
[9] Activty Diagram. https://www.smartdraw.com/activity-diagram/.
Diakses 13 Januari 2018
[10] UML Sequence Diagram Tutorial. https://www.lucidchart.com/pages/uml-
sequence-diagram. Diakses 13 Januari 2018