Abstrak —Kemajuan  teknologi  informasi  saat  ini  membuat seseorang tidak perlu  melakukan tatap muka dengan orang lain dalam  melakukan  transaksi  tertentu.  Begitu  pula  dalam  hal melakukan  pencetakan  album  foto.  Aplikasi  Fotokita  adalah aplikasi dibangun untuk memudahkan proses pencetakan album foto.  Terdiri  dari  2  jenis  aplikasi  yang  memiliki  fungsi  masing- masing, aplikasi desktop sebagai editor album foto dan aplikasi web sebagai  penghubung  antara  pelanggan  dan  percetakan.  Pada aplikasi web ,  diperlukan  sebuah  penyimpanan  yang  memadai untuk  menyimpan  data  yang  berhubungan  dengan  pelanggan, percetakan,  dan file yang  akan  dicetak.  Selain  untuk mempermudah  proses  transaksi,  aplikasi web juga  berfungsi sebagai converter file metadata milik pelanggan menjadi file yang siap  dicetak  oleh  percetakan.  Oleh  karena  itu,  diperlukan  basis data  yang  memadai  sehingga  dapat  memudahkan  fungsi pencarian,  penyimpanan,  dan  pengolahan file .  Dari  hasil pengujian,  basis  data  yang  dirancang  dan  diimplementasikan telah memenuhi segala kebutuhan penyimpanan data yang terjadi pada aplikasi web dan fungsi konversi file metadata menjadi PDF telah berjalan dengan baik.
Kata Kunci —Basis Data, Converter, Fotokita, Metadata , PDF

## I. PENDAHULUAN
ERFOTO  kini  telah  menjadi  agenda  wajib  pada  setiap acara, baik acara formal ataupun non-formal. Selain untuk keperluan dokumentasi,  foto juga dapat  menjadi  sarana untuk mengabadikan momen-momen penting, seperti acara pernikahan,  kelahiran,  ulang  tahun,  perayaan  hari  raya,  dan momen  penting  yang  lain.  Selain  foto  yang  disimpan  dalam bentuk soft  file ,  foto  juga  biasa  dicetak  dan  disusun  dalam pigura atau album foto.
Saat  ini,  jika  ingin  mencetak  foto,  pelanggan  harus mendatangi percetakan dan  melakukan transaksi, hal  ini tentu menjadi kendala tersendiri bagi seseorang yang memiliki waktu terbatas. Namun, dengan kemajuan teknologi informasi saat ini, pelanggan tidak perlu melakukan tatap muka dengan orang lain dalam  melakukan  transaksi  tertentu.  Begitu  pula  saat melakukan pencetakan album foto.
Aplikasi  Fotokita  dirancang  untuk  memenuhi  kebutuhan pencetakan album foto. Aplikasi ini terdiri menjadi dua bagian, yaitu  aplikasi  berbasis desktop (offline) dan  aplikasi  berbasis web  (online). Pada  aplikasi web yang  berfungsi  sebagai jembatan antara pelanggan dan percetakan, diperlukan sebuah penyimpanan  yang  memadai  untuk  menyimpan  data  yang berhubungan dengan pelanggan, percetakan, dan file yang akan dicetak. Selain untuk mempermudah proses transaksi, aplikasi
web juga  berfungsi  sebagai  pengolah  hasil output aplikasi desktop dengan  melakukan  konversi  terhadap file ,  sehingga pelanggan  hanya dapat  mencetak album  foto pada percetakan yang  bekerja  sama  dengan  aplikasi  Fotokita.  Oleh  karena  itu, aplikasi web harus memiliki fungsi untuk mengelola metadata . Metadata adalah  informasi  terstruktur  yang  mendeskripsikan, menjelaskan,  atau  menjadikan  suatu  informasi  mudah  untuk ditemukan kembali, digunakan, atau dikelola. Metadata sering disebut  sebagai  data  tentang  data  atau  informasi  tentang informasi. Metadata ini  mengandung  informasi  mengenai  isi dari  suatu  data  yang  dipakai  untuk  keperluan  manajemen file /data  dalam  suatu  basis  data.  Dengan  adanya  aplikasi  ini, diharapkan  proses  pencetakan  album  foto  dapat  dilakukan dengan mudah dan praktis.

## II. TINJAUAN PUSTAKA

## A. Photobook
Photobook adalah  buku  yang  berisi  foto-foto  yang  saling berkaitan satu sama  lain. Kaitan antara foto-foto tersebut bisa memiliki  satu  atau  beberapa  tema.  Tema  yang  dipakai  untuk pembuatan photobook bermacam-macam  seperti  pernikahan, ulang tahun, liburan, dan lain lain [1].
B. Skema Basis Data
Basis  data  atau database merupakan  kumpulan  informasi yang  disimpan  dalam  komputer  secara  sistematik  sehingga dapat  diperiksa  menggunakan  suatu  program  komputer  untuk memperoleh informasi dari basis data tersebut [2]. Sebuah basis data  mempunyai  penjelasan  terstruktur  dari  jenis  fakta  yang tersimpan di dalamnya yang disebut sebagai skema basis data. Skema  menggambarkan  objek  yang  diwakili  suatu  basis  data dan  hubungan  di  antara  objek  tersebut.  Model  yang  umum digunakan  sekarang  adalah  model  relasional  yang  mewakili semua  informasi  dalam  bentuk  tabel-tabel  yang  saling berhubungan dimana setiap tabel terdiri dari baris dan kolom.
Skema database haruslah  merepresentasi  model  dari database tersebut. Struktur skema database terbagi menjadi 3 yaitu:  konseptual,  logika  dan  fisik.  Setiap  struktur  skema database memiliki  fungsi,  kelebihan,  dan  kekurangannya masing-masing.
C. Conceptual Data Model
Conceptual  Data  Model (CDM) merupakan  model  yang merepresentasikan  tabel  yang  merupakan  entitas  yang  berisi atribut. Setiap entitas memiliki  satu primary key yang bersifat

## Perancangan dan Implementasi Basis Data Aplikasi Web Fotokita
Dwi Oktafiyah Sumadya, R.V. Hari Ginardi, dan Rizky Januar Akbar Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS)
Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia
e-mail : hari@its.ac.id
B
unik (nilainya tidak sama dengan nilai yang lainnya) dan setiap entitas  berhubungan  dengan  entitas  lain  yang  disebut relationships.
Pada  satu  tabel  dengan  tabel  lain  dihubungkan  dengan relationships yang digambarkan dengan garis. Pada relationships terdapat  beberapa  jenis  yaitu: one  to  one (hubungan  satu  tabel  yang  memiliki  nilai  satu  dengan  tabel lain) ,  one  to  many (hubungan  satu  tabel  yang  memiliki  nilai yang banyak pada tabel lain) dan many to many (hubungan satu tabel yang saling memiliki nilai yang banyak dengan tabel lain). Pada masing-masing atribut penamaannya tidak boleh sama dan nilainya boleh null atau bersifat mandatory (wajib diisi). Selain itu, untuk masing-masing atribut harus mendeklarasi tipe data dari atribut tersebut [3].

## D. Physical Data Model
Physical  Data  Model (PDM)  merupakan  model  yang merepresentasikan  tabel  yang  terstruktur,  termasuk  nama kolom,  tipe  data  kolom, primary  key,  foreign  key dan relationships yang  menghubungkan  satu  tabel  dengan  tabel lainnya.
PDM dan CDM memiliki kemiripan dari segi entitas, atribut dan relationships .  Perbedaannya  yaitu  pada  CDM  tidak terdapat foreign key , sedangkan pada PDM terdapat foreign key dimana  satu tabel  bergantung  pada  tabel  lainnya  [4] .  Foreign key yaitu primary  key yang  berada  pada  tabel  yang  memiliki hubungan dengan tabel tersebut.
E. Extensible Markup Language
Extensible Markup Language merupakan bahasa yang dapat mengindentifikasi  struktur  data  dengan  cara  yang  sederhana [5]. Struktur data dalam XML  bisa  berupa kata-kata, gambar, dan yang lainnya. Pada file XML menjelaskan nama file yang dibaca, pembuat file , tanggal pembuatan file dan proses apa saja yang dibaca oleh file XML tersebut.

## III. ANALISIS DAN PERANCANGAN SISTEM
A. Analisis Sistem
Aplikasi web Fotokita  digunakan  untuk  menangani  proses yang terjadi antara pelanggan dan percetakan dalam pencetakan album foto. Secara garis besar, aplikasi ini dapat dibagi menjadi 3 bagian antara lain:
1. Manajemen user Pada bagian  manajemen user atau user level , aplikasi web Fotokita  dibagi  menjadi  3  level,  antara  lain  administrator, percetakan,  dan  pelanggan.  Masing-masing user  level memiliki  hak  akses  yang  berbeda  terhadap  aplikasi, tergantung kewenangan yang diberikan.
2. Manajemen transaksi
Pada bagian ini, aplikasi web Fotokita menangani segala hal mengenai  proses  pemesanan  album  foto,  mulai  dari pendaftaran, pemesanan, pembayaran, dan pencetakan.
3. Manajemen metadata
Pada  bagian  manajemen metadata ,  aplikasi web Fotokita berfungsi  sebagai  pengelola file metadata yang  berisi  XML, foto, dan frame yang telah dihasilkan oleh aplikasi desktop . File metadata yang  diunggah  oleh  pelanggan  akan  diekstrak  dan diolah  menjadi file yang  siap  dicetak oleh  percetakan.  Fungsi
ini diperlukan agar pelanggan hanya dapat mencetak album foto di percetakan yang telah bekerja sama dengan aplikasi Fotokita.

## Gambar 1 Arsitektur Sistem

## B. Arsitektur Sistem
Seperti  yang ditunjukkan pada  Gambar  1, sistem  ini terdiri dari 3 bagian, yaitu:
1. Input
Merupakan bagian yang menangani sumber data yang akan dikirimkan. Input terdiri dari file metadata yang diunggah ke web . File metadata yang  diunggah  merupakan  hasil  dari aplikasi desktop dengan format FBK. 2. Process
Merupakan  bagian  yang  menangani  segala  hal  yang berhubungan  dengan  data.  Pada  bagian  ini, file  metadata yang  diunggah  di  aplikasi web diekstrak  ke  dalam  tabel relasional berdasarkan elemen atau atributnya menggunakan library XML  Parser.  XML  Parser  yang  digunakan  adalah Orchestral  Package  yang  dapat  mengurai  XML  menjadi array tanpa harus menulis logika yang kompleks. Setelah itu, data yang tersimpan diproses menjadi file PDF menggunakan TCPDF [6].
3. Output
Merupakan bagian  yang  menjadi keluaran dari proses  yang dilakukan  sebelumnya. Output pada  aplikasi  ini  adalah menampilkan data dalam bentuk file dengan format PDF.

## C. Perancangan Basis Data
Basis data yang digunakan pada sistem  yang  menggunakan sistem  manajemen  basis  data  relasional  PostgreSQL. Perancangan  basis  data  ini  berdasarkan  analisa  terhadap kelompok pengguna dan  hak aksesnya terhadap aplikasi  serta alur transaksi yang terjadi pada aplikasi web Fotokita, yaitu: 1. Manajemen user
Terdiri dari 4 tabel yaitu tabel User , Pelanggan, Percetakan, dan Administrator, seperti pada Gambar 2.
2. Manajemen transaksi Tabel-tabel untuk menyimpan proses transaksi dapat dilihat pada Gambar 3.
3. Manajemen metadata
Tabel-tabel  untuk  menyimpan  data  proyek  yang  diunggah pada aplikasi web Fotokita dapat dilihat pada Gambar 4.
Gambar 2 Entitas untuk Manajemen User
Gambar 3 Entitas untuk Manajemen Transaksi
Gambar 4 Entitas untuk Manajemen Proyek
Gambar 5 Struktur File dengan Format FBK

## D. Perancangan Proses
Proses  yang  terjadi  dibagi  menjadi  2,  yaitu  proses mengekstraksi metadata dan proses mengubah atribut menjadi file PDF.  Struktur file yang  akan  diolah  ditunjukkan  pada Gambar 5.

## IV. IMPLEMENTASI

## A. Lingkungan Implementasi
Dalam  merancang  basis  data  aplikasi web Fotokita  ini digunakan  beberapa  perangkat  pendukung  yang  terdiri  dari perangkat keras dan perangkat lunak.
Spesifikasi perangkat keras  yang digunakan  adalah sebagai berikut:
Tipe         : ASUS A451-LN Prosesor      : Intel Core i5-4200U 2.6 GHz Memori/RAM : 4GB Spesifikasi  perangkat  lunak  yang  digunakan  untuk pengembangan sistem adalah sebagai berikut:
1. Microsoft Windows 10 sebagai sistem operasi.
2. Sybase Power Designer 16.5 untuk merancang basis data.
3. PostgreSQL versi 9.5 sebagai sistem basis data.
4. pgAdmin  III  1.22.1  sebagai  antarmuka  pengolah  basis data PostgreSQL.

## B. Implementasi Proses
Implementasi proses dikembangkan menggunakan beberapa pustaka, yaitu:
1. Proses  mengekstrak metadata menggunakan  pustaka Orchestra Parser .
2. Proses mengubah atribut menjadi file PDF menggunakan TCPDF.
Implementasi dilakukan dengan berpedoman pada rancangan yang  telah  dibuat  sebelumnya.  Gambar  6  menunjukkan metadata yang  diolah  dan  Gambar  7  menunjukkan  hasil pengolahan metadata menjadi PDF.
Percetakan
ID Percetakan
ID Administrator ID User UUID UUID INT4 <pk> <fk1> <fk2> Pelanggan ID Pelanggan ID User UUID INT4 <pk> <fk> Administrator ID Administrator ID User UUID INT4 <pk> <fk> User ID User INT4 <pk> Percetakan ID Percetakan ID Administrator ID User UUID
UUID INT4 <pk> <fk1> <fk2> Pelanggan ID Pelanggan ID User UUID INT4 <pk> <fk> Mencetak ID Cetak
ID Alamat ID Kurir
ID Percetakan ID Projek
UUID INT4 INT4 UUID UUID <pk> <fk3> <fk4> <fk1> <fk2> Pembayaran ID Pembayaran ID Administrator ID Cetak
UUID UUID UUID <pk> <fk1> <fk2> Level Wilayah ID Level INT4 <pk> Wilayah ID Wilayah ID Level Wil_ID Wilayah
ID Tarif
INT4 INT4 INT4 INT4 <pk> <fk1> <fk2> <fk3> Alamat ID Alamat ID Wilayah ID Pelanggan INT4 INT4 UUID <pk> <fk2> <fk1> Komponen ID Komponen ID Percetakan Nama Komponen
Jenis Komponen INT4 UUID VARCHAR(100)
VARCHAR(100) <pk> <fk> Harga Komponen ID Harga ID Komponen INT4 INT4 <pk> <fk> Tarif ID Tarif ID Kurir INT4 INT4 <pk> <fk> Kurir ID Kurir INT4 <pk> Projek ID Projek UUID <pk> Halaman ID Halaman ID Projek INT4 UUID <pk> <fk> Fotoholder ID Fotoholder ID Holder INT4 INT4 <pk> <fk> Gambar ID Gambar ID Fotoholder INT4 INT4 <pk> <fk> Teks ID Teks ID Halaman INT4 INT4 <pk> <fk> Frameholder ID Frameholder ID Holder INT4 INT4 <pk> <fk> Frame ID Frame
ID Frameholder INT4 INT4 <pk> <fk> Holder ID Holder ID Halaman INT4 INT4 <pk> <fk>
Gambar 6 Struktur Metadata Gambar 7 Hasil Pengolahan Metadata Menjadi PDF

## V. PENGUJIAN DAN EVALUASI
Pengujian  yang  dilakukan  berupa  pengujian  fungsionalitas dan  pengujian  pada  pengguna.  Pengujian  fungsionalitas dilakukan  dengan  model black  box untuk  menguji  proses ekstrasi metadata dan  proses  mengubah  atribut  menjadi file PDF siap cetak. Pengujian ini dilakukan untuk menguji apakah fungsionalitas yang diidentifikasi pada tahap kebutuhan benar- benar diimplementasikan dan bekerja seperti yang diharapkan, sedangkan pengujian pada pengguna dilakukan untuk menguji apakah  fungsionalitas  yang  akan  dijalankan  oleh  masing- masing pengguna telah berjalan dengan baik. Kedua pengujian memberikan  hasil  yang  sesuai  dengan  skenario  yang  telah direncanakan.

## VI. KESIMPULAN
Selama  proses  perancangan,  implementasi,  dan  pengujian dapat diambil kesimpulan sebagai berikut:
1. Perancangan  basis  data  pada  aplikasi web Fotokita menggunakan  CDM/PDM  yang  dibuat  menggunakan PowerDesigner  dan  diimplementasikan  pada  basis  data PostgreSQL.
2. Pengelolaan file metadata dilakukan dengan menggunakan library XML Parser untuk ekstraksi metadata dan TCPDF untuk mengolah atribut menjadi file PDF.
DAFTAR PUSTAKA
[1]   I. Grafika, "Photobook," [Online]. Available: http://isagrafika.com/photobook. [Accessed 16 Desember 2015]. [2]   M. Rouse, "Search SQL Server: Database Definition," SQL Server, 2015. [Online]. Available: http://searchsqlserver.techtarget.com/definition/database.  [Accessed  20 April 2015]. [3]   1. Data, "1keydata," [Online]. Available: http://www.1keydata.com/datawarehousing/data-modeling-levels.html.
[Accessed 2 April 2016].
[4]   M. Nicewarner, "CDM and Foreign Keys," Sybase, [Online]. Available: http://sybase.public.powerdesigner.general.narkive.com/xPyI0TyL/cdm- and-foreign-keys. [Accessed 28 Juli 2016].
[5]   J. E. Refsnes, "XML Files," IT BUSINESS EDGE, 13 November 2000.
[Online]. Available: http://www.xmlfiles.com/xml/xml_intro.asp. [Accessed 17 Desember 2015]. [6]   TCPDF, "TCPDF," TCPDF, [Online]. Available:
http://www.tcpdf.org/index.php. [Accessed 20 Desember 2015].