0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan9 halaman

Rancang Bangun Database Mytra dengan ORM

1. Dokumen tersebut membahas tentang rancang bangun database dan migrasi data menggunakan teknik ORM untuk aplikasi dashboard pemantauan mytra. 2. Dibahas pula pengertian database, PostgreSQL, ORM, Python, dan proses bisnis yang terkait dengan pembangunan sistem tersebut. 3. Database baru dibuat untuk memenuhi kebutuhan dashboard serta migrasi data dari database lama menggunakan metode SQLAlchemy.

Diunggah oleh

wawan771
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan9 halaman

Rancang Bangun Database Mytra dengan ORM

1. Dokumen tersebut membahas tentang rancang bangun database dan migrasi data menggunakan teknik ORM untuk aplikasi dashboard pemantauan mytra. 2. Dibahas pula pengertian database, PostgreSQL, ORM, Python, dan proses bisnis yang terkait dengan pembangunan sistem tersebut. 3. Database baru dibuat untuk memenuhi kebutuhan dashboard serta migrasi data dari database lama menggunakan metode SQLAlchemy.

Diunggah oleh

wawan771
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd

Rancang Bangun Database dan Migrasi Data

Melalui teknik ORM untuk Aplikasi Dashboard


Pemantauan Mytra
Maratul Muthi’ah1
1
Jurusan Teknik Informatika dan Komputer, Program Studi Teknik Informatika, Konsentrasi Teknik Komputer dan Jaringan,
Politeknik Negeri Jakarta
1
Kota Depok, Jawa Barat, Indonesia
Email : 1maratulmuthiah8@[Link]
Abstract - Information technologies and means of Perkembengan teknologi pada saat ini
telecommunication is evolving very quickly along berkembang sangat pesat. Banyak hal yang dapat
with human needs. The technology at this time dipesan dan dibeli melalui sistem pemesanan online.
greatly facilitate to human life. Such goods/services PT. Astragraphia Information Technology bekerja
online business that allows people in buying or sama dengan PT. Sigap Prima Astrea yang
renting service. Storage on the online business merupakan anak perusahaan dari PT. Astra
requires a database, the database is useful for Internasional membuat suatu inovasi sistem
storing data customer, booking, as well as an pemesanan jasa guard (satpam) secara online yang
invoice. At the moment lots of databases that can be disebut mytra. Pada aplikasi mytra tidak disediakan
used to create a database of the online sales system halaman untuk memantau pemesanan, customer serta
has advantages and disadvantages of each. One of pemasukan dari invoice. Sulitnya untuk melihat
them is PostgreSQL, a relational database perkembangan penyewaan satpam dari sistem
management system (RDBMS) developed by a team tersebut sehingga akan mempersulit untuk membuat
of volunteers that exists around the world that are laporan sistem pemesanan mytra jika sudah melebihi
open source. The most fundamental difference 50 penyewa perhari. Sulitnya untuk membagi waktu
between postgres relational system standard is, the pekerja jika melakukan pembuatan laporan serta
ability of postgres that allows the user to pantauan secara manual pada sistem pemesanan
mendefinisikanSQL his own, especially for mytra. Maka dibuatlah dashboard untuk bisa
manufacturing function. PostgreSQL database can memantau proses pemesanan, customer serta invoice.
also perform data migration using the ORM Bisnis pemesanan jasa guard (satpam) secara
through the SQLAlchemy method. online yang dimiliki oleh PT. Astragraphia yaitu
mytra memiliki database yang berbasis PostgreSQL,
Keywords: database, postgresql, sqlalchemy, orm. pada database yang baru juga menggunakan
Abstrak – Teknologi informasi dan sarana PostgreSQL untuk memudahkan dalam hal migrasi
telekomunikasi berkembang sangat cepat seiring data. Untuk menunjang dashboard tersebut juga
dengan kebutuhan manusia. Teknologi pada saat dibuat database baru, karena database lama tidak bisa
ini sangat memudahkan bagi kehidupan manusia. untuk memenuhi kebutuhan yang ada pada
Seperti contohnya bisnis online barang/jasa yang dashboard. Database lama dibuat hanya untuk
memudahkan manusia dalam membeli barang menunjang aplikasi mytra. Database baru juga dibuat
atau menyewa jasa. Penyimpanan pada bisnis untuk memenuhi proses bisnis yang baru. Agar dapat
online tersebut memerlukan database, database menunjang dashboard mytra.
berguna untuk menyimpan data customer,
booking, serta invoice. Pada saat ini banyak sekali II. METODE PENELITIAN
database yang bisa digunakan untuk membuat
suatu database sistem penjualan online yang A. Pengertian Basis Data
memiliki kelebihan dan kekurangan masing-
masing. Salah satunya adalah PostgreSQL, Definisi Basis Data menurut Gordon C. Everest
Database atau basis data merupakan sebuah koleksi
sebuah relational database manajemen system
atau kumpulan dari data yang bersifat mekanis,
(RDBMS) yang dikembangkan oleh tim relawan
terbagi, terdefinisi secara formal serta terkontrol.
yang ada di seluruh dunia yang bersifat open Pengontrolan dari sistem database tersebut adalah
source. Perbedaan yang paling mendasar antara terpusat, yang biasanya dimiliki dan juga dipegang
postgres dengan sistem relasional standar adalah, oleh suatu organisasi [1].
kemampuan postgres yang memungkinkan user
untuk mendefinisikanSQL-nya sendiri, terutama B. Pengertian PostgreSQL
untuk pembuatan function. Database PostgreSQL
juga bisa melakukan migrasi data menggunakan
ORM melalui metode SQLAlchemy.

Kata kunci : Database, PostgreSQL, SQLAlchemy,


ORM.

I. PENDAHULUAN
dan atau aturan tersendiri yang jelas berbeda dengan
bahasa pemrograman lainnya [4].
E. Pengertian PyCharm

Gambar 2.1 Icon PostgreSQL

PostgreSQL atau (Post-gress-SQL) adalah


sebuah relational database manajemen system
(RDBMS) yang dikembangkan oleh tim relawan
yang ada di seluruh dunia yang bersifat open source.
Gambar 2.4 Icon PyCharm
PostgreSQL tidak di kontrol oleh perusahaan atau
badan swasta lainnya sehingga source code (kode PyCharm merupakan IDE terbaik untuk
sumber) yang tersedia bisa di dapatkan secara gratis pemrograman python. PyCharm dibuat oleh
[2]. JetBrains. JetBrains merupakan perusahaan yang
memproduksi beragam IDE (Integrated Development
C. Pengertian Object Relational Mapping (ORM)
Environment) untuk beragam bahasa pemrograman
seperti IntelliJ Java, PhpStorm untuk PHP,
RubyMine untuk Ruby, WebStorm untuk JavaScript,
PyCharm untuk Python, dll. Dan beberapa waktu
yang lalu JetBrains resmi merilis IDE yang mereka
buat khusus untuk belajar Python. Selain digunakan
untuk belajar Python IDE ini juga dapat digunakan
oleh intruktur untuk membuat panduan Python versi
Gambar 2.2 Object Relationl Mapping mereka sendiri untuk penggunaan didalam kelas
(perkuliahan, kursus, dll) [5]
Secara umum ORM merupakan sebuah tools
yang akan membentuk tabel di sebuah database F. Proses Bisnis
berdasarkan class yang didefinisikan oleh developer.
Proses bisnis merupakan sekumpulan perkerjaan
ORM memiliki method yang dapat digunakan untuk
atau aktivitas yang terstruktur dan saling berkaitan
berinteraksi dengan tabel tanpa harus melakukan
untuk menyelesaikan suatu masalah atau untuk
SQL secara langsung. Dapat membentuk field
menghasilkan produk ataupun layanan (untuk meraih
relasional tanpa melakukan alter pada tabel yang
sebuah tujuan tertentu). Proses bisnis dapat
dituju. Apabila Anda melakukan perpindahan mesin
dipecahkan menjadi beberapa subproses yang masih-
database pun dapat dengan mudah dilakukan tanpa
masih proses memiliki atribut sendiri namun juga
perlu merombak banyak data definition language
memiliki kontribusi untuk mencapai sebuah tujuan
pada cara biasa. ORM juga bias disebut sebuah
dari subprosesnya [6].
teknik pemrograman yang memetakan sebuah objek
dengan database [3]. III. HASIL PEMBAHASAN
D. Pengertian Python
Pada pertemuan pertama terlebih dahulu
menentukan user requirement bersama perusahaan,
diketahui bahwa kegiatan Praktik Kerja Lapangan ini
adalah membuat sebuah aplikasi, untuk membuat
aplikasi maka diperlukan metodologi yang sesuai
agar hasil yang diharapkan dapat tercapai.
Gambar 2.3 Icon Python Metodologi yang dipilih yaitu sebagai berikut :
Python adalah bahasa pemrograman komputer, A. Tahapan Perancangan Database
sama layaknya seperti bahasa pemrograman lain,
misalnya C, C++, Pascal, Java, PHP, Perl, danlain- Untuk merancang database harus melalui fase
lain. Sebagai bahasa pemrograman, Python tentu sebagai berikut:
memiliki dialek, kosakata atau kata kunci(keyword), 1. Pengumpulan data dan analisis
2. Perancangan database secara konseptual instalasi PostgreSQL pada laptop atau pc yang
3. Pemeliharaan DBMS digunakan untuk membuat database, jika sudah
4. Perancangan database secara fisik melakukan instalasi PostgreSQL bisa membuat
5. Implementasi sistem database database di pgadmin ataupun psql.
B. Proses Pengumpulan data dan analisis
1. Entity Relational Diagram
1. Wawancara
Melakukan analisis dengan cara mewawancarai
karyawan mytra apa yang ingin dikerjakan oleh anak
magang sehingga menghasilkan user requirement.
2. Studi Literatur
Studi literatur digunakan untuk pengumpulan data
dari penelitian penelitian sebelumnya. Pembelajaran
melalui buku, jurnal, ataupun teori yang mendukung
dalam pemahaman materi ataupun tools yang
digunakan untuk penunjang pembuatan tugas dari
user requirement yang diberikan perusahaan.
Gambar 3.1 Entity Relational Diagram
3. Bisnis Proses dashboard dan database mytra
D. Pemeliharaan DBMS
Tabel I Database yang dipilih menggunakan database
Bisnis Proses PostgreSQL.
E. Perancangan database secara fisik
Bisnis Proses lama Bisnis Proses Baru
Tabel II
1. Web dan aplikasi dapat 1. Dibutuhkan web untuk Tabel Struktur Data
memesan jasa guard memantau pemesanan jasa
Nama Tabel Type Data Length
online mytra
2. Pihak mytra tidak bisa
TABEL Booking_id Uuid
memantau pemesanan jasa 2. Diperlukan database baru BOOKING
online untuk menyimpan data Address Character Varying (400)

customer, booking dan Pic Character Varying (255)


3. Tidak dapat melihat
invoice
jumlah customer Booking_from Timestamp without
3. Dibutuhkan dashboard untuk timezone (0)
4. Tidak dapat melihat
menampilkan data laporan Booking_until Timestamp without
jumlah booking
customer, booking, dan timezone (0)
5. Tidak dapat melihat pemasukan Price Numeric (18,2)
jumlah pemasukan
4. Dibutuhkan user manual Qty Int4 (32)
6. Tidak adanya user manual untuk panduan customer dan
Status Character (3)
untuk panduan guard (satpam) dalam
penggunaan aplikasi dan penggunaan aplikasi Geolocation Character varying (255)
web Payment_id Uuid
5. Dibutuhkan video untuk
7. Tidak adanya video panduan penggunaan bagi Payment_name Character varying (255)
panduan untuk customer dan guard
Product_id Uuid
penggunaan aplikasi (satpam) dalam aplikasi
Product_name Character varying (200)

Booking_num Bigint/int8
ber
C. Perancangan Database secara konseptual
Partners_id Uuid
Database dibuat di PostgreSQL, sebelum
membuat database harus terlebih dahulu melakukan Partners_name Character varying (255)
Username Character varying (200) Username Character varying (100)

Sys_user_id Uuid Created_date Timestamp without


timezone (0)
Customer_nam Character varying (255)
e Id Integer
TABEL
Customer_mob Character varying (20) Username Character varying (20)
ADMIN1
ile
Password Text
Customer_ema Character varying (200)
il

Created_date Tamestamp without F. Implementasi sistem database


timezone (6)
1. Membuat pgAdmin terkoneksi ke server
Id Uuid Mytra

Number Character varying (45) Sebelum membuat database didalam server,


diharuskan terlebih dahulu untuk membuat koneksi
Invoice_date Timestamp without ke server agar dapat membuat database menggunakan
timezone (0) pc/laptop masing masing. Sehingga memudahkan
Invoice_duedat Timestamp without jika pengguna lain ingin melihat atau memakai
TABEL database tersebut.
e timezone (0)
INVOICE
Status Character varying (3)

Currency_code Character varying (3)

Total Numeric

Booking_id Uuid

Booking_num Bigint/int8 (64)


ber

Product_name Character varying (200)

Product_id Uuid

Account_usern Character varying (36)


ame

Sys_user_id Uuid
TABEL
INVOICE
Customer_nam Character varying (255)
e

Customer_mob Character varying (200)


ile

Customer_ema Character Varying (200)


il

Created_date Timestamp without Gambar 3.2 Flowchart pembuatan koneksi database


timezone (0)
2. Pembuatan database di server
TABEL Sys_user_id Uuid Untuk membuat database sebelumnya laptop ataupun
CUSTOMER
Name Character varying (200)
pc harus terkoneksi ke internet agar dapat masuk ke
dalam server. Dalam pembuatan database ini
Email Character varying (200) menggunakan database PostgreSQL, dan
membuatnya bisa melalui pgadmin4 ataupun psql.
Phone Character varying (20)

Mobile Character varying (20)


Gambar 3.5 Database mytra_dashboard
Keterangan:
Gambar 3.3 Flowchart Pembuatan database
= Database mytra_dashboard
3. Relasi database

5. Isi Database
Database telah diisi dengan migrasi data dari server
mytra ke database mytra_dashboard dengan
menggunakan dblink dari PostgreSQL

Gambar 3.4 Relasi Database

4. Hasil database di server


Pada gambar 3.5 diketahui bahwa database
mytra_dashboard sudah masuk ke server mytra.

Gambar 3.6 Isi Tabel Booking


Script from berfungsi untuk memasukan library ke
dalam source code.
Script class booking-mst service partner berfungsi
untuk memasukan tabel database ke dalam source
code.

Gambar 3.7 Isi Tabel Customer

Gambar 3.10 [Link] 1

Gambar 3.8 Isi Tabel Invoice

G. Proses migrasi data menggunakan metode Object


Relational Mapping dengan SQLAlchemy
Pada gambar 3.9 [Link] merupakan fungsi awal
untuk menjalankan script untuk migrasi data

Gambar 3.11 [Link] 2

Script def halopnj berfungsi untuk membuat koneksi


database pada source code.
Script session berfungsi untuk membuat session.
Script init_time berfungsi untuk fungsi inisialisasi
waktu pengambilan data.

Gambar 3.9 [Link]

Pada gambar 3.10, gambar 3.11, gambar 3.12,


gambar 3.13 merupakan script dari migrasi data
menggunakan metode sqlalchemy.
Script import berfungsi untuk memasukan library ke
dalam source code.
karena tidak ada data terbaru maka data tidak
ada yang masuk ke dalam database.
3. Untuk pembuatan ORM melalui metode
sqlalchemy masih minim referensi dari jurnal
dan internet sehingga menyulitkan untuk
mendapatkan referensi

B. Saran
1. Bisnis proses sebaiknya dapat digunakan
jangka panjang hingga 10 tahun ke depan,
sehingga jika ada perubahan masih bisa
dipergunakan.
Gambar 3.12 [Link] 3 2. Bisa ditambahkan tabel guard (satpam) agar
Script while true berfungsi untuk memfilter tabel bisa melihat jumlah satpam yang terdaftar
yang akan diambil datanya untuk proses migrasi data.
UCAPAN TERIMA KASIH
Script print berfungsi untuk menampilkan dan Penulis ingin mengucapkan terimakasih kepada :
menyimpan data ke tabel di mytra_dashboard. 1. Ibu Indri Neforawati, ST., M.T., selaku
dosen pembimbing yang telah menyediakan
waktu, tenaga, serta pikiran untuk
mengarahkan penulis dalam penyusunan
laporan Praktik Kerja Lapangan ini;
2. Ibu Gina Permana dan Bapak Abdurrahman
Muttaqin selaku pembimbing perusahaan
yang membantu penulis dalam menjalani
Praktik Kerja Lapangan di PT. Astragraphia
IT
3. Orang tua serta keluarga yang selalu
mendukung dan memberikan bantuan
dukungan material kepada penulis;
4. Teman-Teman serta sahabat yang telah
banyak membantu penulis dalam
Gambar 3.13 [Link] 4 menyelesaikan laporan Praktik Kerja
Lapangan ini;
Dari hasil Gambar 3.14 migrasi data berhasil
dilakukan, tetapi karena tidak ada data terbaru jadi REFERENSI
tidak ada data yang masuk.

[1] E. Pambudi, "Pengertian Sistem Basis Data


Menurut Para Ahli," 22 September 2015.
[Online]. Available: [Link]
Gambar 3.14 Hasil Migrasi Data
it/database/pengertian-sistem-basis-data-
IV. KESIMPULAN DAN SARAN menurut-para-ahli. [Accessed 10 Desember
2017].
A. Kesimpulan
Dari hasil Praktek Kerja Lapangan di PT. [2] "Apa itu PostgreSQL dan Sejarah
Astragraphia IT, maka dapat diambil kesimpulan Perkembangannya," 23 Desember 2016.
sebagai berikut: [Online]. Available:
1. Pembuatan database di PostgreSQL telah [Link]
berhasil dilakukan postgresql-dan-sejarah-perkembangannya/.
2. Proses migrasi data menggunakan metode [Accessed 10 12 2017].
SQLAlchemy telah berhasil dilakukan, tetapi
[3] R. Fajar, "Berkenalan dengan Object
[Relational | Document | Graph] Mapper," 17
May 2015. [Online]. Available:
[Link]
dengan-object-relationaldocumentgraph-
mapper. [Accessed 10 Desember 2017].

[4] B. Raharjo, Mudah Belajar Python untuk


Aplikasi Desktop dan Web, Bandung:
Informatika Bandung, 2015.

[5] "PyCharm Educational Edition, IDE untuk


Belajar Python," 3 Januari 2015. [Online].
Available:
[Link]
educational-edition-ide-untuk-belajar-python.
[Accessed 10 Desember 2017].

[6] A. Kurniawan, "Pengertian Proses Bisnis


Menurut Para Ahli Beserta Karakteristik, Tipe
Dan Contohnya," 13 02 2016. [Online].
Available:
[Link]
proses-bisnis-menurut-para-ahli-beserta-
karakteristik-tipe-dan-contohnya/. [Accessed 05
12 2017].

Anda mungkin juga menyukai