PRAKTIKUM INTEGRASI SISTEM
Oleh: KELOMPOK I
I Gede Made Abhi Adityaksa
(1605551008)
Ni Putu Ratih Andini Putri
(1605551026)
Ni Putu Priyastini Dessy Safitri
(1605551031) (1605551031)
Desak Ayu Putu Savita Arsarini
(1605551053) (1605551053)
I Nyoman Arya Saputra
(1605551077)
Rizky Bagus Paramadani
(1605551079)
Ida Ayu Gede Ardiana Tintia P. S.
(1605551101) (1605551101)
Agung Dode Aditya
(1605552020) (1605552020)
PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2018
KATA PENGANTAR
Puji syukur terhadap Tuhan Yang Maha Esa, karena atas berkatnya penyusunan laporan
yang berjudul
“Praktikum
Integrasi
Sistem”
dapat
diselesaikan. Tujuan disusunnya laporan Praktikum Integrasi Sistem untuk memenuhi tugas akhir semester 4 dari mata kuliah Praktikum Integrasi Sis tem. Tak lupa ucapan terimakasih untuk pihak-pihak yang telah membantu kepada: 1.
Bapak I Nyoman Sukarsa, S.T., M.T. selaku dosen pengampu mata kuliah Praktikum Integrasi Sistem.
2.
Asisten dosen yang telah membimbing dalam melakukan proses penyusunan laporan Praktikum Integrasi Integrasi Sistem.
3.
Teman-teman yang telah bekerjasama dan memberikan ide, sehingga laporan Praktikum Integrasi Sistem dapat selesai tepat pada waktunya. Semoga laporan Praktikum Integrasi Sistem dapat menambah dan
memberikan informasi yang bermanfaat bagi masyarakat, agar wawasan dan pengetahuan dapat berkembang lebih luas lagi. lagi . Laporan Praktikum Integrasi Sistem masih jauh dari kata sempurna, oleh karena itu kritik dan saran yang bersifat membangun sangat diharapkan demi sempurnanya laporan.
Jimbaran, 28 Mei 2018
Tim Penyusun
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
BAB I PENDAHULUAN
Bab I merupakan pendahuluan dari laporan Praktikum Integrasi Sistem. Laporan Bab I membahas tentang latar belakang masala h, rumusan masalah, tujuan penelitian, manfaat penelitian, serta sistematika penulisan yang menjadikan awal dalam proses penulisan laporan Praktikum Integrasi Sistem. 1.1
Latar Belakang Masalah
Teknologi informasi yang semakin berkembang membuat suatu organisasi menjadi lebih maju. Pemanfaatan teknologi untuk mendapatkan informasi pun semakin mudah, cepat, efektif, karena pentingnya informasi untuk menciptakan sistem yang lebih efisien dan kompetitif. Perkembangan teknologi menimbulkan tantangan di bidang organisasi maupun suatu perusahaan yang bergerak dalam bidang informasi. Integrasi adalah proses menggabungkan data yang berasal dari sumber yang berbeda dan memudahkan pengguna untuk melihat maupun ma upun mengakses data yang diinginkan. Proses integrasi terjadi, jika salah satu cabang yang terdapat pada suatu organisasi maupun perusahaan membutuhkan informasi. Integrasi antara sistem satu dengan sistem lainnya terjadi jika adanya kerja sama antara suatu alat (mesin) dengan aplikasi yang berbeda-beda. Terdapat beberapa komponen yang mengalami proses integrasi, antara lain yaitu perangkat lunak ( software), software), middleware serta komponen basis data. Kendala yang terjadi dalam hal integrasi yaitu sistem yang dibangun memiliki perbedaan jenis basis data yang digunakan, perbedaan struktur dari atribut tabel, penamaan tabel maupun kolomnya, serta perbedaan arsitektur basis data. Solusi umum yang dijumpai yaitu dengan pembuatan s istem baru yang dimulai dari awal untuk menyeragamkan penamaan, asitektur serta struktur data yang dibuat maupun yang dibuat. Berdasarkan masalah tersebut, dibuat aplikasi yang dapat menunjang adanya pertukaran data lebih dari satu database. database. Kendala yang terjadi dalam sinkronisasi lebih dari satu database database atau dapat dikatakan sinkronisasi dua arah
adalah menggunakan time delay delay dan dikonfigurasikan secara manual dengan menggunakan bahasa pemrograman Python.
1.2
Rumusan Masalah
Berdasarkaan latar belakang yang telah dibuat, maka adapun perumusan masalah yang dirumuskan adalah, sebagai berikut. a.
Bagaimana perancangan
sinkronisasi database database 2 arah menggunakan
Bahasa pemrograman Python. b.
Bagaimana
perancangan
sinkronisasi
database database dalam
bentuk file
menggunakan Bahasa pemrograman Python. c.
Bagaimana perancangan sinkronisasi database dengan database dengan cloud menggunakan menggunakan Bahasa pemrograman Python.
1.3
Tujuan Penelitian
Melihat dari rumusan masalah yang ada, tujuan dari laporan Praktikum Integrasi Sistem, adalah sebagai berikut. a.
Agar bisa merancang sikronisasi database dalam bentuk file bentuk file menggunakan Bahasa pemrograman Python.
b.
Agar bisa merancang sikronisasi database dalam database dalam bentuk file bentuk file menggunakan Bahasa pemrogram Python.
c.
Agar merancangan sinkronisasi database database dengan cloud menggunakan Bahasa pemrograman Python.
1.4
Manfaat Penelitian
Manfaat yang dapat diambil setelah penelitian selesai dilaksanakan yaitu, diharapkan pada laporan Praktikum Integrasi Sistem dapat memberikan pemikiran terhadap pengembangan ilmu pengetahuan khususnya Teknologi Informasi dan mengasah keterampilan yang berkaitan dengan sinkronisasi database. database.
1.5
Batasan Masalah
Adapun beberapa masalah yang dapat membatasi masalah, diangkat pada laporan Praktikum Integrasi Sistem, meliputi perancangan bisnis proses yang terjadi di Toko Online yang Online yang berkaitan dengan sinkronisasi data dengan database di database di bank dan di integrasi.
1.6
Sistematika Penulisan
Sistematika penulisan yang digunakan pada laporan Praktikum Integrasi Sistem terdiri dari pembahasan umum secara teori disertai dengan pemaparan contoh dari penjelasan. Pengambilan teori menggunakan metode pengumpulan data seperti artikel yang nantinya dirangkum dari beberapa sumber. 1.6.1
BAB I PENDAHULUAN
Bab I merupakan pendahuluan dari laporan Praktikum Integrasi Sistem. Laporan pada Bab I mengenai latar belakang, rumusan masalah, tujuan penelitian, manfaat penelitian, batasan masalah dan sistematika penulisan yang digunakan dalam proses penulisan laporan Praktikum Integrasi Sistem.
1.6.2
BAB II TINJAUAN PUSTAKA
Bab II merupakan tinjauan pustaka dari laporan Praktikum Integrasi Sistem. Laporan Bab II membahas tentang landasan teori secara umum yang menjadikan dasar dalam proses penulisan laporan Praktikum Integrasi Sistem.
1.6.3
BAB III METODE DAN PERANCANGAN SISTEM
Bab III merupakan metode dan perancangan sistem dari laporan Praktikum Integrasi Sistem. Laporan Bab III membahas tentang tempat dan waktu penelitian, sumber data, metode pengumpulan data, gambaran umum sistem serta rancangan alur sistem.
1.6.4
BAB IV PEMBAHASAN
Bab IV merupakan pembahasan dari laporan Praktikum Integrasi Sistem. Laporan Bab IV membahas tentang modul-modul yang berisikan database, database, source
code code dan hasil uji coba berupa screenshoot dari program yang dipraktikan pada mata kuliah Praktikum Integrasi Sistem.
1.6.5
BAB V PENUTUP
Bab V merupakan penutup dari laporan Praktikum Integrasi Sistem. Laporan mengenai kesimpulan dari keseluruhan modul-modul Praktikum Integrasi Sistem serta saran atau masukan yang diberikan oleh dosen pengempu mata kuliah Praktikum Integrasi Sistem.
BAB II TINJAUAN PUSTAKA
Bab II merupakan tinjauan pustaka dari laporan Praktikum Integrasi Sistem. Laporan Bab II membahas tentang landasan teori secara umum yang menjadikan dasar untuk digunakan dalam proses penulisan laporan Praktikum Integrasi Sistem. 2.1
Integrasi Integrasi Sistem
Integrasi adalah proses penyatuan unsur dari hal yang beraneka ragam menjadi satu kesatuan dan pengendalian terhadap penyimpangan dari penyatuan unsur, sedangkan integrasi data adalah proses menggabungkan data yang berbeda di sumber data yang berbeda, dan menyediakan pengguna dengan pandangan yang seragam terhadap data tersebut[1]. Penyamaan data dapat berupa isi data maupun struktur datanya. Contoh integrasi adalah integrasi toko online dan online dan bank. Sistem adalah sekumpulan unsur atau elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan suatu kegiatan bersama untuk mencapai uatu tujuan[2]. Contoh dari sistem adalah sistem informasi inf ormasi akademik, sistem rumah sakit, sistem komputer. Integrasi sistem adalah proses untuk melakukan penyatuan data menjadi satu kesatuan agar dapat mempermudah pengolahan data dan proses untuk memindahkan data dari sistem lama ke sistem sis tem yang baru.
2.2
Python
Bahasa pemrograman Python pertama kali dibuat oleh Guido Van Rossum tahun 1991. Bahasa Python dikembangkan oleh Python Software Foundation [5]. Python adalah bahasa pemrograman interpretatif mutliguna yang lebih menekankan pada kode agar mudah dipahami sintaksnya. Interpretatif adalah program yang dibaca dan ditulis dengan bahasa tingkat tinggi dan menjalankannya secara langsung per-baris. Bahasa Python memiliki 2 cara interpretatif yaitu dengan menggunakan perintah mode baris dan mode script . Penggunaan perintah mode baris berarti memanggil program Python dan langsung menampilkannya,
sedangkan menggunakan mode script yaitu dengan menyimpan perintah-perintah Python dalam satu file. file. Beberapa fitur yang dimiliki oleh bahasa Python yaitu mempunyai kepustakaan yang luas, memiliki tata bahasa yang mudah dipelajari, memiliki aturan layout kode kode yang mudah dicek, berorientasi objek, memiliki sistem pengelolaan memori otomatis, modular modular mudah dikembangkan dan memiliki banyak fasilitas pendukung.
2.2.1
Konsep Dasar Penggunaan Python
Bahasa pemrograman Python memiliki keunggulan yang membedakannya dengan bahasa pemrograman lainnya yaitu aturan dalam penulisan kode program. Beberapa konsep dasar yang terdapat dalam bahasa pemrograman Python, yaitu sebagai berikut. 2.2.1.1 Tipe Data Python Tipe data adalah cara yang digunakan untuk menentukan jenis suatu data. Bahasa pemrograman Python mempunyai tipe data yang unik jika dibandingkan dengan bahasa pemrograman yang lain. Berikut adalah tipe data dari bahasa pemrograman Python yang yang terdapat pada Tabel 2.1.
Tabel 2.1 Tipe Data Python Tipe Data Boolean
Contoh True atau True atau False False
String
"Praktikum IMS"
Integer Float
12 atau 1998 7,95 atau 0.89
Hexadecimal
9a atau 1d3
Complex
1 + 5j
List
['xyz', 786, 2.23]
Tuple
('xyz', 768, 2.23)
Dictionary
{'nama': 'putu','id':7}
Penjelasan Tipe data boolean boolean menyatakan benar True True yang bernilai 1, atau salah False salah False yang yang bernilai 0. Tipe data string menyatakan karakter/kalimat bisa berupa huruf angka, dll (diapit tanda " atau '). Tipe data integer menyatakan menyatakan bilangan bulat. Tipe data float data float menyatakan menyatakan bilangan yang mempunyai koma Tipe data hexadecimal menyatakan bilangan dalam format heksa (bilangan berbasis 16) Tipe data complex complex menyatakan pasangan angka real dan imajiner Data untaian yang menyimpan berbagai tipe data dan isinya bisa diubah-ubah Data untaian yang menyimpan berbagai tipe data tapi isinya tidak bisa diubah Data untaian yang menyimpan berbagai tipe data berupa pasangan penunjuk dan nilai
Tabel 2.1 merupakan tipe data pada bahasa pemrograman P ython. Terdapat 9 tipe data yaitu boolean, boolean, string , integer , float , hexadesimal , complex, complex, list , tuple dan tuple dan
dictionary. dictionary. Contoh penggunaan tipe data pada bahasa pemrograman Python dapat dilihat pada Kode Program 2.1.
#tipe data Boolean print(True) #tipe data String print("Praktikum IMS") print('Laporan print('Laporan Praktikum IMS Kelompok 1') #tipe data Integer print(20) #tipe data Float print(3.14) #tipe data Hexadecimal print(3c) #tipe data Complex print(4i) #tipe data List print([1,2,3,4,5]) print(["satu", "dua", "tiga"]) #tipe data Tuple print((1,2,3,4,5)) print(("satu", "dua", "tiga")) #tipe data Dictionary print({"nama":"Nana", 'umur':20}) #tipe data Dictionary dimasukan ke dalam variabel biodata biodata = {"nama":"Dessy", 'umur':19} #proses inisialisasi variabel biodata print(biodata) #proses pencetakan variabel biodata yang berisi tipe data Dictionary type(biodata) #fungsi untuk mengecek jenis tipe data. akan tampil yang berarti dict adalah tipe data dictionary Kode Program 2.1 Contoh Penggunaan Tipe Data
Kode Program 2.1 merupakan contoh penggunaan tipe data pada bahasa pemrograman Python. Contoh penggunaan tipe data yaitu contoh penggunaan boolean, boolean, string , integer , float , hexadesimal , complex, complex, list , tuple dan tuple dan dictionary. dictionary.
2.2.1.2 Variabel Variabel adalah lokasi memori yang dicadangkan untuk menyimpan nilainilai. Variabel menyimpan data yang dilakukan selama program dieksekusi, isi dari variabel dapat diubah oleh operasi-operasi tertentu pada program yang menggunakan variabel. Variabel dalam bahasa pemrograman Python mempunyai sifat yang dinamis, artinya variabel Python tidak perlu didekralasikan tipe datanya tertentu dan variabel Python dapat diubah saat program dijalankan. Penulisan variabel Python memiliki aturan tertentu, yaitu karakter pertama berupa huruf, karakter, underscore atau underscore atau angka serta bersifat case sensitif case sensitif . Contoh penggunaan variabel v ariabel pada bahasa pemrograman Python dapat dilihat pada Kode Program 2.2
#proses memasukan data ke dalam variabel Nama_mahasiswa = "Savita" #proses mencetak variabel print(nama) namaDepan = "Priyastini" "Priyastini" namaBelakang = "Dessy" nama = namaDepan + " " + namaBelakang namaBelakang umur = 19 hobi = "Berenang" print("Biodata\n", nama, "\n", umur, "\n", hobi) Kode Program 2.2 Contoh Penggunaan Variabel
Kode Program 2.2 merupakan contoh penggunaan variabel pada bahasa pemrograman Python. Contoh pertama yaitu menggunakan variabel dengan nama nama_mahasiswa dan
isi variabelnya yaitu Savita. Contoh kedua yaitu
menggunakan nama variabel namaDepan, namaBelakang , umur, dan hobi.
2.2.1.3 Operator Operator adalah konstruksi yang dapat memanipulasi nilai dari operan. Contoh operasi 3 + 2 = 5, 3 dan 2 adalah operan dan + adalah operator. Bahasa pemrograman Python mendukung berbagai macam operator, yaitu operator aritmatika, operator perbandingan, operator penugasan, operator logika, operator bitwise, bitwise, operator keanggotaan dan operator identitas.
2.2.1.4 Kondisi Kondisi atau statement atau statement pada pada bahasa pemrograman Python terdapat 3 kondisi yaitu kondisi if , kondisi if else if else dan dan kondisi elif . Berikut ini merupakan penjelasan kondisi pada bahasa pemrograman Python. P ython. 1.
Kondisi If Kondisi If Pengambilan keputusan dengan kondisi if digunakan digunakan untuk mengantisipasi
kondisi yang terjadi saat jalannya program dan menentukan tindakan yang diambil sesuai dengan kondisi. Kondisi if merupakan merupakan kondisi yang dieksekusi oleh program jika bernilai benar (true (true). ). Contoh penggunaan kondisi if pada pada Kode Program 2.3.
nilaiAkhir = 8 #jika kondisi benar/TRUE maka program akan mengeksekusi perintah dibawahnya if(nilaiAkhir if(nilaiAkhir > 6): print("Selamat Anda Lulus") #jika kondisi salah/FALSE maka program tidak akan mengeksekusi perintah dibawahnya if(nilaiAkhir if(nilaiAkhir > 10): print("Selamat Anda Lulus") Kode Program 2.3 Contoh Penggunaan Kondisi If Kondisi If
Kode Program 2.3 merupakan contoh penggunaan kondisi if pada pada bahasa pemrograman Python. Contoh Contoh penggunaan penggunaan kondisi kondisi if jika jika program dijalankan maka mencetak string Selamat Anda Lulus Ujian sebanyak satu kali yaitu pada if pertama, sedangkan if kedua statement kedua statement bernilai bernilai salah, jadi perintah print("Selamat Anda Lulus") tidak akan dieksekusi.
2.
Kondisi If Kondisi If Else Pengambilan keputusan dengan kondisi if else digunakan else digunakan untuk menentukan
tindakan yang diambil sesuai dengan kondisi untuk menentukan tindakan yang diambil atau dijalankan jika kondisi tidak sesuai. Penggunaan kondisi if else jika else jika kondisi bernilai true maka true maka program mengeksekusi kode pada if dan dan jika bernilai false false maka program akan mengeksekusi kode pada else. else. Contoh penggunaan kondisi if else pada else pada Kode Program 2.4. nilaiAkhir = 5
#Jika pernyataan pada if bernilai TRUE maka if akan dieksekusi, tetapi jika FALSE kode pada else yang akan dieksekusi. if(nilaiAkhir if(nilaiAkhir > 7): print("Selamat Anda Lulus") else: print("Maaf Anda Tidak Lulus") Kode Program 2.4 Contoh Penggunaan Kondisi If Else
Kode Program 2.4 merupakan contoh penggunaan kondisi if else else pada bahasa pemrograman Python. Contoh penggunaan kondisi if jika program dijalankan maka akan mencetak string mencetak string Maaf Anda Tidak Lulus karena pernyataan pada if bernilai false bernilai false..
3.
Kondisi Elif Kondisi Elif Pengambilan keputusan dengan kondisi elif merupakan lanjutan atau
percabangan logika dari “kondisi if ”. ”. Penggunaan elif dapat dapat membuat kode program yang menyeleksi beberapa kondisi yang dapat terjadi, sama seperti kondisi else. else. Perbedaan kondisi elif dapat digunakan untuk banyak kondisi else. else. Contoh penggunaan kondisi kondisi elif pada pada Kode Program 2.5.
#Contoh penggunaan kondisi elif makan = "Malam" if(makan == "Pagi"): print("Saya sarapan roti dan susu") elif(makan == "Siang"): print("Saya makan nasi campur") elif(makan == "Sore"): print("Saya makan bakso") elif(hari_ini elif(hari_ini == "Malam"): print("Saya makan salad buah") Kode Program 2.5 Contoh Penggunaan Kondisi elif
Kode Program 2.5 merupakan contoh penggunaan kondisi elif pada pada bahasa pemrograman python. Contoh penggunaan kondisi elif jika program dijalankan maka mencetak string mencetak string Saya makan salad buah.
2.2.1.5 Perulangan Perulangan adalah pernyataan yang menjalankan pernyataan yang mengikutinya secara berulang sampai syarat tertertentu tertert entu terpenuhi. Perulangan pada
bahasa pemrograman pemrograman Python dibagi menjadi menjadi 3 bagian yaitu yaitu while loop, loop, for loop dan loop dan nested loop, loop, penjelasannya adalah sebagai berikut. 1.
While Loop Perulangan while dalam while dalam bahasa pemrograman Python dieksesusi statement dieksesusi statement
berkali-kali selama kondisi bernilai benar (true). true). Contoh penggunaan perulangan while pada while pada Kode Program 2.6.
#Contoh penggunaan While Loop count = 0 while (count < 3): print (count) count = count + 1 print ("selesai") Kode Program 2.6 Contoh Penggunaan Perulangan While
Kode Program 2.6 merupakan contoh penggunaan perulangan while pada bahasa pemrograman Python. Contoh penggunaan perulangan while pada Kode Program 2.6 jika dijalankan maka akan mencetak 1 2 3 selesai.
2.
For Loop Perulangan for pada baasa pemrograman Python memiliki kemampuan
untuk mengulangi item dari urutan apapun, seperti list atau string . Contoh penggunaan perulangan for perulangan for pada pada Kode Program 2.7.
#Contoh pengulangan for sederhana angka = [1,2,3,4,5] for x in angka: print(x) Kode Program 2.7 Contoh Penggunaan Perulangan For Perulangan For
Kode Program 2.7 merupakan contoh penggunaan perulangan for pada bahasa pemrograman Python. Contoh Contoh penggunaan perulangan perulangan pada Kode Program 2.7 jika dijalankan maka akan mencetak angka 1 2 3 4 5.
3.
Nested Loop
Nested loop loop atau perulangan bersarang adalah perulangan yang berada didalam struktur perulangan lainnya. Contoh penggunaan perulangan nested loop pada Kode Program 2.8.
#Contoh penggunaan Nested Loop i = 2 while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print(i, "bilangan prima") i = i + 1 print "Selesai" Kode Program 2.8 Contoh Penggunaan Perulangan Nested Loop
Kode Program 2.8 merupakan contoh penggunaan perulangan nested loop pada bahasa pemrograman python. Contoh perulangan tersebut digunakan untuk menentukan bilangan prima.
2.2.1.6 Akses Database Akses Database Standar interface interface bahasa pemrograman Python untuk database database adalah Python DB-API. API database database Python mendukung berbagai macam server database seperti database seperti MySQL, mSQL, SQLite, Oracle, GadFly, PostgreSQL dan lainlain. API DB menyediakan standar minimal untuk dijalankan yang menggunakan struktur dan sintaks Python yaitu meliputi mengimpor modul API, mendapatkan koneksi dengan database, database, menerbitkan pernyataan SQL dan prosedur tersimpan, serta menutup koneksi.
2.2.2
PyMySQL
PyMySQL adalah sebuah antarmuka untuk menghubungkan ke server database MySQL database MySQL dari Python. Installasi modul PyMySQL P yMySQL menggunakan menggunakan command atau perintah pada Kode Program 2.9 di command prompt .
pip install PyMySQL Kode Program 2.9 Command Installasi Installasi PyMySQL
Kode Program 2.9 merupakan command atau perintah yang digunakan untuk installasi modul PyMySQL. Command installasi tersebut dijalankan di command prompt . Contoh koneksi dengan database db_toko pada Kode Program 2.10.
import PyMySQL # Membuka koneksi database db = PyMySQL.connect('localhost', passwd='', db='db_toko')
port=3306,
user='root',
# Membuat objek cursor cursor = db.cursor() # Execute SQL query cursor.execute("SELECT VERSION()") # Fetch data data = cursor.fetchone() print ("Versi Database Database : %s " % data) #Menutup koneksi database db.close() dengan Database Kode Program 2.10 Contoh Koneksi dengan Database
Kode Program 2.10 merupakan contoh koneksi dengan database db_ims. Kode program diawali dengan mengimpor modul PyMySQL, membuka koneksi database, database, membuat objek cursor , SQL query, query, fetch fetch data dan menutup koneksi database. database. Kode program 2.10 jika dijalankan atau di – di – execute execute mencetak versi database. database. PyMySQL juga dapat menjalankan query insert , update update dan delete. delete. Sintaks yang digunakan untuk melakukan insert , update update dan delete delete pada bahasa pemrograman Python, adalah sebagai berikut.
2.2.2.1 Operasi Insert Operasi Insert Operasi insert merupakan merupakan operasi yang digunakan untuk memasukkan data pada tabel database tertentu database tertentu dengan menggunakan sintaks Python dan SQL query. query. Contoh kode program untuk melakukan operasi insert pada pada bahasa pemrograman Python yaitu pada Kode Program 2.11. import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_toko') myCursor = conn.cursor() myCursor.execute("insert into tb_transaksi(id_transaksi, id_barang, harga_barang, jumlah, total_harga) values (1,2,5000,1,5000);") print("Data berhasil masuk database") conn.commit() conn.close() Operasi Insert pada pada Python Kode Program 2.11 Contoh Operasi Insert
Kode Program 2.11 merupakan contoh operasi insert table insert table pada pada database db_toko dengan menggunakan bahasa pemrograman Python. Kode Program 2.11
jika dijalankan dan berhasil mencetakkan Data berhasil masuk database dan data yang diinputkan yaitu id_transaksi, id_barang, harga_barang , jumlah dan total harga ada di database. database.
2.2.2.2 Operasi Update Operasi update update merupakan operasi yang digunakan untuk melakukan update data update data pada tabel database tertentu database tertentu dengan menggunakan sintaks Python dan SQL query. query. Contoh kode program untuk melakukan operasi update update pada bahasa pemrograman Python yaitu pada Kode Program 2.12.
import pymysql conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_toko') myCursor = conn.cursor() myCursor.execute("update tb_transaksi SET id_barang='3' where id_transaksi=1;") print("Data di database berhasil di update ") conn.commit() conn.close() Kode Program 2.12 Contoh Operasi Insert Operasi Insert pada pada Python
Kode Program 2.12 merupakan contoh operasi update table pada table pada database db_toko dengan menggunakan bahasa pemrograman Python. Kode Program 2.12
jika dijalankan dan berhasil mencetakkan Data di database berhasil di update dan data yang di update berhasil update berhasil berubah.
2.2.2.3 Operasi Delete Operasi Delete Operasi delete merupakan delete merupakan operasi yang digunakan untuk menghapus data pada tabel database tertentu database tertentu dengan menggunakan sintaks Python dan SQL query. query. Contoh kode program untuk melakukan operasi delete pada delete pada bahasa pemrograman Python yaitu pada Kode Program 2.13.
import pymysql conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_toko') myCursor = conn.cursor() myCursor.execute("delete from tb_transaksi where id_transaksi=1;") print("Data print("Data berhasil dihapus") conn.commit() conn.close() Kode Program 2.13 Contoh Operasi Insert Operasi Insert pada pada Python
Kode Program 2.13 merupakan contoh operasi delete table pada table pada database db_toko dengan menggunakan bahasa pemrograman Python. Kode Program 2.13
jika dijalankan dan berhasil mencetakkan Data berhasil dihapus dan data yang dihapus tidak ada.
2.2.3
Kelebihan Python
Bahasa pemrograman Python mempunyai beberapa kelebihan dibandingkan dengan bahasa pemrograman lainnya. Kelebihan bahasa pemrograman Python yaitu tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat dan fleksibel serta pemrograman Python merupakan pemrograman berorientasi pada objek, terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar.
2.2.4
Kekurangan Python
Bahasa
pemrograman
Python
mempunyai
beberapa
kekurangan.
Kekurangan bahasa pemrograman Python yaitu waktu yang diperlukan untuk
proses running program lebih lama dibandingkan dengan bahasa pemrograman lain, karena bahasa pemrograman Python membaca tipe data pada setiap variabel ketika program dijalankan.
2.3
atabase se Sinkronisasi D ataba Sinkronisasi menurut KBBI (Kamus Besar Bahasa Indonesia) berarti
penyerentakan dan penyesuaian. Sinkronisasi merupakan suatu proses penyamaan dan penyerentakan data agar tidak terjadi inkonsistensi data. Tujuan sinkronisasi adalah untuk menghindari terjadinya inkonsitensi data, karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) exclusion) serta untuk mengatur urutan jalannya suatu proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock dan starvation. starvation. Penyelesaian terhadap masalah sangat penting, karena perkembangan teknologi sistem komputer menuju ke sistem multiprocessing , terdistribusi dan paralel yang mengharuskan adanya proses-proses kongkuren. Sinkronisasi sederhana adalah saling bertukar data agar memiliki jumlah data yang sama. Tujuan utama lebih ke arah back-up back-up (membuat cadangan) tetapi ada pula sinkronisasi jadwal kerja untuk menciptakan suatu event yang tepat secara bersamaan diantara pelaku sinkronisasi. Sinkronisasi umumnya dilakukan dengan bantuan perangkat sinkronisasi [6]. Sinkronisasi database database merupakan proses untuk menyamakan data dan struktur data antar dua database database yang berada diantara dua server , proses sinkronisasi menjadi kebutuhan yang harus dilakukan dalam mengelola sebuah database. database. Manfaat sinkronisasi adalah sebagai penyimpanan data sementara dan non sementara agar dapat mempermudah pekerjaan. Salah satunya menggunakan flash drive drive sebagai media sinkronisasi. Beberapa aplikasi juga menyediakan dukungan sinkronisasi untuk PC yang saling terhubung lewat jaringan komputer.
2.4
MySQL
MySQL adalah salah satu jenis database server yang banyak digunakan untuk membangun aplikasi web yang web yang menggunakan database sebagai database sebagai sumber dan pengolahan datanya. MySQL dikembangkan oleh perusahaan Swedia bernama
MySQL AB sekarang bernama Tcx DataKonsult AB, A B, pada awalnya Tcx merupakan perusahaan pengembang software software dan konsultan database database dan saat ini MySQL sudah diambil alih oleh Oracle Corp. Kelebihan MySQL antara lain karena MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses database sehingga database sehingga mudah untuk digunakan, kinerja query query cepat, dan mencukupi untuk kebutuhan database database perusahaan-perusahaan yang berskala kecil sampai menengah, MySQL juga bersifat open source source (tidak berbayar). MySQL merupakan database yang database yang pertama kali didukung oleh bahasa pemrograman script pemrograman script untuk untuk internet (PHP dan Perl).
2.5
JSON
JSON ( JavaScript JavaScript Object Notation) Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat ( generate) generate) oleh komputer. JSON merupakan format teks teks yang tidak bergantung pada bahasa pemrograman apapun, karena menggunakan gaya bahasa yang umum digunakan oleh programmer oleh programmer yaitu yaitu bahasa C, C++, C#, Java, JavaScript, Perl, Python dan lain-lain. JSON terbuat dari dua struktur yaitu kumpulan pasangan nama atau nilai dan daftar nilai terurutkan. Kumpulan pasangan nama atau nilai yang dinyatakan sebagai objek (object ( object ), ), rekaman (record (record ), ), struktur ( struct ), ), kamus (dictionary), dictionary), tabel hash (hash table), table), daftar berkunci (keyed (keyed list ) atau associative array. array. Daftar nilai terurutkan (an (an ordered list of values) values ) yang dinyatakan sebagai larik (array (array), ), vektor (vector (vector ), ), daftar (list (list ), ), atau urutan ( sequence). sequence). Struktur JSON disebut sebagai struktur data universal, karena semua bahasa pemrograman modern mendukung struktur data tersebut baik dalam bentuk yang sama maupun berlainan. Format berlainan. Format data data mudah dipertukarkan dengan bahasa-bahasa pemrograman juga berdasarkan pada struktur-struktur data ini[7]. Ada beberapa bentuk JSON yang akan di jelaskan sebagai berikut. 2.5.1
Objek
Objek merupakan sepasang nilai yang tidak terurutkan. Objek dimulai dengan kurung kurawal buka ({ ) dan kurung kurawal tutup ( } ). Setiap nama diikuti
dengan titik dua ( : ) dan setiap pasangan nama atau nilai dipisahkan oleh koma ( , ).
2.5.2
Larik
Larik merupakan kumpulan nilai yang terurutkan. Larik dimulai dengan kurung siku buka ( [ ) dan diakhiri dengan kurung siku tutup ( ] ). Setiap nilai pada larik dipisahkan oleh koma ( , ).
2.5.3
Nilai
Nilai dapat berupa sebuah angka, angka, string string dalam dalam tanda kutip ganda, null , objek ataupun sebuah larik. Struktur- struktur nilai tersebut dapat disusun bertingkat.
Stri ng 2.5.4 String String merupakan kumpulan dari angka nol atau lebih karakter univode, univode, yang dibungkus dengan kutip ganda. String dapat digunakan backslash escapes ( \ ) untuk membentuk karakter khusus.
2.6
lectrr onic ni c D Da ata I nte nter change change) EDI (E lect Pertukaran dokumen-dokumen bisnis langsung dari komputer ke komputer
melalui suatu jaringan komunikasi disebut dengan EDI ( Electonic ( Electonic Data Interchange) [9]. [9]. Jaringan atau sistem EDI memudahkan petukaran informasi transaksi bisnis dari sistem komputer satu perusahaan ke sistem komputer perusahaan lainnya [8]. EDI merupakan salah satu bentuk teknologi lewat cyberspace yang cyberspace yang dapat membangun supply membangun supply chain. chain. Cyberspace untuk berkomunikasi data tentang pesanan barang, tingkat sediaan, penjuaan, pengiriman atau penerimaan barang dan lainlain, sehingga dapat menghemat biaya, memberikan pelayanan yang baik, cepat, memuaskan serta akses ke supplier menjadi menjadi lebih luas. Keuntungan penggunaan EDI yaitu sebagai berikut [9]. 1.
Segi Biaya
EDI dapat menghemat banyak biaya. Contohnya yaitu dengan penggunaan EDI dapat menghemat biaya pemasaran seperti mengurangi biaya iklan baik maupun secara elektronik maupun cetak.
2.
Segi Efisiensi EDI sifanya sangat fleksibel dan efisien, karena setiap saat perusahaan dapat
berhubungan dengan supplier dengan supplier ataupun ataupun pesaing untuk memesan barang atau mencari informasi terbaru tentang usaha yang sedang dilakukan.
3.
Segi Ketelitian Penggunaan EDI di perusahaan dapat mempermudah pemberian informasi
produk secara rinci sesuai dengan kebutuhan pengguna. Pengguna juga dapat menginformasikan ke perusahaan berbagai hal yang diinginkan.
Kelemahan EDI yaitu dari segi keamanan karena p esan atau berita yang dikirimkan melalu internet. Data yang dikirimkan melalui jaringan internet sangat mudah disadap [8].
2.7
PyCharm
PyCharm adalah IDE ( Integrated Development Environment ) atau aplikasi perangkat lunak yang menyediakan fungsi untuk memudahkan pengembangkan perangkat lunak. Pycharm dapat digunakan untuk bahasa pemrograman Python. IDE Python menyediakan kemampuan untuk pengembangan Web Web profesional menggunakan framework Django. PyCharm tersedia untuk Linux, Windows, maupun Mac OSX.
BAB III METODE DAN PERANCANGAN SISTEM
Bab III merupakan metode dan perancangan sistem dari laporan Praktikum Integrasi Sistem. Laporan Bab III membahas tentang tempat dan waktu penelitian, sumber data, metode pengumpulan data, gambaran umum sistem, rancangan alur system, serta perancangan database pada database pada Praktikum Integrasi dan Migrasi Sistem. 3.1
Tempat dan Waktu Penelitian
Tempat pembuatan laporan Praktikum Integrasi Sistem bertempat di kampus Program Studi Teknologi Informasi Fakultas Teknik Universitas Udayana dan Kampus Sudirman yang bertempat di Bukit, Jimbaran dan Denpasar dengan rentangan waktu pembuatan selama dua bulan dari April-Mei 2018.
3.2
Sumber Data
Sumber data yang digunakan pada laporan Praktikum Integrasi Sistem berupa sebuah data baru yang yang dibuat sendiri (sumber data primer) dan sumber data yang diperoleh dari data yang sudah ada (sumber data sekunder), data yang dikumpulkan dalam laporan Praktikum Integrasi Sistem berasal dari berbagai sumber, yaitu sebagai berikut. a.
Data primer berasal dari hasil diskusi atau berbagi pengalaman dan pendapat dari diskusi kelompok.
b.
Data sekunder berasal dari hasil publikasi berbagai sumber yang ada di internet.
3.3
Metode Pengumpulan Data
Metode pengumpulan data yang di gunakan adalah dengan melakukan studi literature mengenai integrasi sistem dan data yang tersinkronisasi dua arah baik melalui file dan melalui cloud. Kemudian dilakukan perancangan sistem dan diimplementasikan dengan dibuatnya integrasi ini. Berikut merupakan langkah-
langkah dalam proses perancangan sistem dengan mengintegrasikan data yang terdapat di toko online ini.
3.4
Gambaran Umum Sistem
Gambaran umum sistem merupakan penjelasan mengenai bisnis proses dari sistem yang telah dibuat. Gambaran umum sistem dibagi menjadi tiga sesuai dengan jumlah modul pada Praktikum Integrasi Sistem, Sist em, meliputi modul 1 mengenai sinkronisasi dua arah, modul 2 mengenai sinkronisasi dalam bentuk file bentuk file,, dan modul 3 mengenai sinkronisasi menggunakan cloud . 3.4.1
Sinkronisasi Dua Arah
Sinkronisasi dua arah antara dua database dilakukan database dilakukan dengan menggunakan bahasa pemrograman Python. Sinkronisasi ini menggunakan satu database tambahan sebagai penghubung yaitu database db_integrasi. Program yang dibuat melakukan sinkronisasi dua arah pada database db_tokoonline dan database db_bank. Gambaran umum sistem dapat dilihat pada Gambar 3.1.
Gambar 3.1 Sinkronisasi
Dua Arah Gambar 3.1 merupakan gambaran umum sinkronisasi dua arah yang terdapat pada modul satu. Dalam mempermudah sinkronisasi data, maka database dari kedua host yang berbeda harus saling terhubung satu dengan lainnya. Sinkronisasi data dapat dilakukan saat terjadi proses insert , update maupun update maupun delete yang dilakukan pada salah satu database. database. Proses insert , update maupun update maupun delete yang delete yang dilakukan pada salah satu database database akan diteruskan ke database database lainnya yang dituju, sehingga data dari database yang database yang satu dengan yang lainnya menjadi sama.
3.4.2
Sinkronisasi dalam Bentuk File
Sinkronisasi dalam bentuk file file antara dua database database dilakukan dengan menggunakan bahasa pemrograman Python. Program engine engine yang dibuat
melakukan sinkronisasi dalam bentuk file bentuk file berupa berupa JSON. Gambaran umum sistem dapat dilihat pada Gambar 3.2.
Input
Input
(Insert/Update/Delete)
(Insert/Update/Delete)
db_tokoonline
write (Insert/Update/Delete)
read (Insert/Update/Delete)
JSON file toko.JSON
JSON file bank.JSON
read
db_bank
(Insert/Update/Delete)
write (Insert/Update/Delete)
Bentuk File Gambar 3.2 Sinkronisasi dalam Bentuk File
Gambar 3.2 menunjukkan gambaran umum sinkronisasi dalam bentuk file yang dilakukan pada modul dua dengan menggunakan JSON. User akan mengirimkan inputan berupa data pemesanan kepada db_tokoonline, kemudian inputan tersebut akan diteruskan ke JSON file JSON file toko.JSON. toko.JSON. Setelah inputan tersebut diterima oleh JSON file file toko.JSON, maka user akan melakukan inputan berupa pembayaran kepada db_bank. Inputan tersebut akan dibaca oleh JSON file toko.JSON kemudian akan di teruskan ke JSON file JSON file bank.JSON bank.JSON dan akan diproses.
3.4.3
Sinkronisasi Menggunakan Cloud
Sinkronisasi menggunakan cloud antara dua database database dilakukan dengan menggunakan bahasa pemrograman Python. Program engine engine yang dibuat akan menyimpan dan mengambil data yang akan disinkronkan di cloud drive. drive. Gambaran umum sistem dapat dilihat pada Gambar 3.3.
cloud
D o w
e l i F d a o l p U
Input (Insert/Update/Delete)
db_tokoonline
write (Insert/Update/Delete)
read (Insert/Update/Delete)
n lo a d F il e
JSON file toko.JSON
JSON file bank.JSON
read (Insert/Update/Delete)
db_bank
Input (Insert/Update/Delete)
write (Insert/Update/Delete)
D e l i F d a o l p U
o w n lo a d F il e
cloud
Gambar 3.3 Sinkronisasi Menggunakan Cloud
Gambar 3.3 menunjukkan gambaran umum sistem dengan menggunakan cloud . Sinkronisasi ini merupakan proses lanjutan dari sinkronisasi yang terdapat pada modul dua atau seperti yang terdapat te rdapat pada gambar 3.2. Tahap ini file akan file akan diunggah ke cloud agar jika terjadi perubahan terhadap database database toko online maupun di bank maka data tersebut akan di-write di- write di di JSON file dan file dan di-upload di-upload ke ke cloud drive cloud drive dan dan jika ingin mengambil data tersebut harus di- download JSON file JSON file-nya terlebih dahulu.
3.5
Rancangan Alur Sistem
Rancangan alur sistem merupakan alur kerja program dalam melakukan sinkronisasi data. Alur kerja program dibuat dalam bentuk flowchart . Rancangan alur sistem dari program yang dibuat dibagi menjadi tiga sesuai dengan jumlah modul pada Praktikum Integrasi Sistem. 3.5.1
Alur Sinkronisasi Dua Arah
Alur sinkronisasi data pada database Toko database Toko Online dan Online dan Bank digambarkan dengan flowchart dengan flowchart . Flowchart merupakan merupakan bagan yang menampilkan alir kerja atau proses dari suatu sistem dengan menggunakan simbol-simbol. Flowchart rancangan alur modul 1 dapat dilihat pada Gambar 3.2.
Mulai
Input Time Delay
Database db_tokoonline
Cek Database
Insert?
F
T
Insert
T
Update
T
Delete
F
Update?
Database db_integrasi
F
Delete?
Input (Insert/Update/Delete)
Database db_bank
Cek Database
Insert
T
Insert?
F
Database db_integrasi
Update
Update
T
F
Update?
F
Database db_tokoonline
Delete
T
Delete?
Selesai
Gambar 3.4 Alur Sinkronisasi Dua Arah
Gambar 3.4 menunjukkan rancangan alur sinkronisasi dua arah yang dilakukan pada pada modul satu. Sinkronisasi dilakukan dilakukan ketika terjadi proses insert , update maupun update maupun delete pada delete pada database db_tokoonline . Data baru yang masuk baik melalui insert , update, update, maupun delete delete tersebut akan tersimpan kedalam db_integrasi . Data baru tersebut akan di-read di-read oleh engine engine bank, jika terdapat
input baik baik berupa insert , update, update, maupun delete maka delete maka data tersebut akan di-update di-update statusnya di database db_bank. Setelah data dan statusnya tersimpan di database db_bank, maka engine bank engine bank akan mengecek database, database, jika terdapat insert , update, update,
maupun delete delete maka database database tersebut akan tersimpan kedalam database db_integrasi. Database db_integrasi akan di-read di-read kembali kembali oleh engine engine toko
untuk melakukan update update status di db_tokoonline sehingga data di database db_tokoonline dengan db_bank mejadi sinkron.
3.5.2
Alur Sinkronisasi dalam Bentuk File
Alur sinkronisasi data dengan pembacaan dan penulisan file menggunakan JSON digambarkan dengan flowchart . Flowchart merupakan bagan yang menampilkan alir kerja atau proses dari suatu sistem dengan menggunakan simbolsimbol. Flowchart simbol. Flowchart rancangan rancangan alur modul 2 dapat dilihat pada Gambar 3.4.
Mulai
Input (Insert/Update/Delete)
Database db_tokoonline
Cek Database
Insert?
F
T
Insert
T
Update
T
Delete
F
Update?
Create File JSON
JSON file
Input (Insert/Update/Delete)
F
Delete?
Database db_bank
Cek Database
Insert
T
Insert?
F
Database db_tokoonline
JSON file
Create File JSON
Update
T
F
Update?
F
Delete
T
Delete?
Selesai
Gambar 3.5 Alur Sinkronisasi dalam Bentuk File Bentuk File
Gambar 3.5 menunjukkan rancangan alur sinkronisasi dalam bentuk file yang dilakukan pada modul dua. Sinkronisasi dilakukan ketika terjadi proses proses insert , update maupun update maupun delete pada delete pada database db_tokoonline . Data baru yang masuk baik melalui insert , update, maupun update, maupun delete tersebut delete tersebut akan tersimpan kedalam JSON file JSON file toko. Data baru tersebut akan di-read di- read dari dari JSON file toko oleh engine bank, engine bank, jika terdapat input baik baik berupa insert , update, update, maupun delete maka delete maka data tersebut akan di-update di-update statusnya statusnya di database db_bank dan disimpan kedalam JSON file bank. file bank. Engine Engine toko kembali akan melakukan read terhadap JSON file file bank untuk melakukan update update status di db_tokoonline dan melakukan update update status pada
JSON file JSON file toko toko sehingga data di database db_tokoonline dengan db_bank mejadi sinkron.
3.5.3
Alur Sinkronisasi Menggunakan Cloud
Alur sinkronisasi data dengan menggunakan cloud digambarkan dengan flowchart . Flowchart merupakan merupakan bagan yang menampilkan alir kerja atau proses dari suatu sistem dengan menggunakan simbol-simbol. Flowchart rancangan rancangan alur modul 3 dapat dilihat pada Gambar 3.5.
Mulai
Input (Insert/Update/Delete)
Database db_tokoonline
Cek Database cloud
Insert?
F
T
Insert
T
Update
T
Delete
e l i F d a o l p U
F
Update?
Create File JSON
D o w n l o a d F i l e
JSON file
Input (Insert/Update/Delete)
F
Delete?
Database db_bank
Cek Database
cloud
e l i F d a o l p U
Database db_tokoonline
D o w n l o a d F i l e
JSON file
Insert
T
Insert?
F
Create File JSON
Update
T
F
Update?
F
Delete
T
Delete?
Selesai
Gambar 3.6 Alur Sinkronisasi Menggunakan Cloud
Gambar 3.6 menunjukkan rancangan alur sinkronisasi menggunakan cloud . Sinkronisasi dilakukan ketika terjadi proses insert , update update maupun delete delete pada database db_tokoonline. Data baru yang masuk baik melalui insert , update, maupun delete tersebut delete tersebut akan tersimpan kedalam JSON file toko dan di-upload di- upload ke ke cloud drive. drive. Engine bank yang akan melakukan read dari JSON file toko harus melakukan download JSON file dengan menggunakan akses token, jika terdapat input baik baik berupa insert , update, update, maupun delete maka delete maka data tersebut akan di-update di-update statusnya di database db_bank dan disimpan kedalam JSON file JSON file bank bank dan di-upload
ke cloud drive. drive. Engine toko Engine toko kembali akan melakukan read file dengan file dengan melakukan download JSON file file bank melalui cloud dan melakukan update update status di db_tokoonline dan melakukan update status update status pada JSON file JSON file toko toko sehingga data di
database db_tokoonline dengan db_bank menjadi sinkron.
3.6
Perancangan Database
Perancangan database database digunakan sebagai tempat penyimpanan data. Perancangan database database menghasilkan skema konseptual tergantung pada sebuah DBMS yang spesifik. Skema konseptual, harus merinci aplikasi-aplikasi database yang diketahui. Perancangan database database melalui tahapan Physical Data Physical Data Model (PDM) merupakan gambaran secara detail basis data dalam bentuk fisik. Perancangan database database pada laporan Praktikum Integrasi Sistem mempunyai 3 database, database, yaitu sebagai berikut. 3.6.1
Database Toko Online
Database toko Database toko online merupakan online merupakan database yang database yang berisikan tabel-tabel yang berkaitan mengenai transaksi penjualan, pembelian pembelian serta pembayaran dari pembeli. Berikut merupakan tampilan dari PDM database toko database toko online seperti online seperti pada Gambar 3.1.
Gambar 3.7 Database Toko Database Toko Online
Gambar 3.1 merupakan tampilan PDM dari database toko database toko online. online. Terdapat 4
tabel
yang
saling
terhubung,
yaitu
tb _ pembeli pembeli,
tb _ transaksi transaksi,
tb _ det_transaksi det_transaksi, serta tb _ barang barang, yang mana setiap tabel memiliki memil iki kolomnya pembeli, nama _ pembeli pembeli, no _ telp telp serta masing-masing. Tabel pembeli berisi id _ pembeli
alamat.
Tabel
transaksi
berisi
id _ transaksi transaksi,
id _ pembeli pembeli,
no _ rek rek,
tgl _ transaksi transaksi, total _ transaksi transaksi serta status. Tabel detail transaksi berisi id _ det det _ transaksi transaksi,
id _ transaksi transaksi serta id _ barang barang. Tabel barang berisi
id _ barang barang, nama _ barang barang serta stok.
3.6.2 Database Bank
Database bank merupakan database database yang berisikan tabel-tabel yang menyangkut tentang transaksi pembayaran yang dilakukan oleh nasabah dengan menggunakan nomor rekening yang nasabah punya. Berikut merupakan tampilan PDM dari database bank database bank seperti pada Gambar 3.2.
Gambar 3. 8 Database Bank
Gambar 3.2 merupakan tampilan PDM dari database bank. database bank. Terdapat 3 tabel yang
saling
terhubung,
yaitu
tb _ transaksi transaksi,
tb _ transaksi transaksi _ bank bank serta
tb _ nasabah nasabah, yang mana setiap tabel memiliki kolomnya masing-masing. Tabel transaksi, no _ rek rek, tgl _ transaksi transaksi, total _ transaksi transaksi serta transaksi berisi id _ transaksi status. Tabel transaksi bank berisi id _ transaksi transaksi _ bank bank, id _ transaksi transaksi, no _ rek rek, tgl _ transaksi transaksi, total _ transaksi transaksi serta status. Tabel nasabah berisi no _ rek rek, nama _ nasabah nasabah, no _ telp telp serta alamat.
3.3.2
Database Baru
Database Database baru merupakan database database yang dijadikan penghubung dari database database toko online online dan database database bank, yang mana tabel-tabel harus saling
berhubungan agar mudah diintegrasikan. Berikut merupakan PDM dari database baru yang dapat dilihat seperti pada Gambar 3.3.
Gambar 3. 9 Database Baru Database Baru
Gambar 3.3 merupakan tampilan tampilan PDM dari database database baru. Terdapat 1 tabel yaitu tabel transaksi. Tabel transaksi merupakan tabel yang berisikan kolom yang terhubung dengan gabungan kedua database yang database yang berada di dalam database database toko online online dengan database database bank yang mana di dalam tabel tersebut
terdapat
id_transaksi ,
id _ pembeli pembeli,
transaksi, total _ transaksi transaksi dan status. total _ transaksi
no_rek,
tgl _ transaksi transaksi,
BAB IV PEMBAHASAN
Bab IV merupakan pembahasan dari laporan Praktikum Integrasi Sistem. Laporan Bab IV membahas tentang modul-modul yang berisikan database, database, source code code dan hasil uji coba berupa screenshoot dari program yang dipraktikan pada mata kuliah Praktikum Integrasi Sistem. 4.1
Modul 1
Modul I merupakan modul pertama dari rangkaian soal Praktikum Integrasi Sistem. Modul 1 membahas mengenai sinkronisasi 2 arah dari toko online online agar dapat terhubung dengan bank untuk melakukan pembayaran. Toko online dan online dan bank memiliki database database yang sudah berjalan dan menjadi rahasia dari perusahaan masing-masing, maka toko online dan online dan bank harus membuat database baru database baru sebagai penghubung, penghubung, yang mana tabel tersusun secara struktural. Tugas dari toko online adalah membuat invoice, invoice, sedangkan tugas dari bank adalah mencatat dan mengubah status invoice invoice jika terjadi pembayaran yang dilakukan oleh pembeli. Database penghubung harus berada di masing-masing perusahaan dan data-datanya harus tersinkronisasi dengan baik. Berikut pembahasan yang dilakukan dalam hal sinkronisasi 2 arah pada Modul 1. 4.1.1
Pembuatan Program
Pembuatan program merupakan proses yang dilakukan dalam hal membuat program. Pembuatan program pada modul 1 terdapat source code code dari engineengineengine yang engine yang ada, yaitu sebagai berikut. 4.1.1.1 Source Code Source code merupakan code merupakan kode program yang dibuat menggunakan bahasa pemrograman Python dengan bantuan aplikasi bernama Pycharm. Versi bahasa pemrograman Python yang digunakan adalah 3.6. Source code code pada modul 1 memiliki 3 engine engine yaitu engine engine toko, engine engine bank dan engine engine integrasi. Berikut merupakan penjelasan masing-masing engine yang telah dibuat.
1.
Engine Toko Engine Toko Engine toko Engine toko merupakan engine pertama engine pertama untuk melakukan pemasukkan data
seperti,
id _ transaksi transaksi ,
no _ rekening rekening,
id _ barang barang,
id_pembeli
serta
total _ transaksi transaksi yang harus dibayarkan. Berikut merupakan engine engine dari toko
online seperti online seperti pada Kode Program 4.1.
import pymysql as sistem import time as waktu conn = sistem.connect(host='localhost', port=3306, user='root', passwd='', db='db_tokoonline') cinn = sistem.connect(host='localhost', port=3306, user='root', passwd='', db='db_intergrasi') curs = conn.cursor() cir = cinn.cursor() cinn.cursor() try : sistem = True while sistem: print("---- Selamat Datang Di Toko Online Kelompok 1 ---") print("------------ pilih menu di bawah ini ----------") menu = int(input("Masukkan input 1 atau 2 :")) if menu== 1: lanjut = True while lanjut: id_transaksi = int(input("Ma sukkan Id :")) no_rek = int(input("M asukkan NO REK :")) id_barang = int(input("Masukan Id Barang :")) id_pembeli = int(input("Ma sukkan Beli :")) total_transaksi total_transaksi = int(input("Masukkan int(input("Masukkan Total :")) #Untuk menginputkan id, no_rek, id_barang, id_pembeli, total_transaksi
sql = """insert into tb_transaksi(id_transaksi, id_pembeli, no_rek, tgl_transaksi, total_transaksi, status) values (%s, %s, %s, DATE(NOW()),%s,'Tidak Valid')""" % (id_transaksi, id_pembeli, no_rek, total_transaksi) total_transaksi) data = """insert into tb_det_transaksi(id_transaksi,id_barang) values (%s, %s)""" % (id_transaksi,id_barang) print("Berhasil Menginputkan") curs.execute(sql) #untuk mengexecute sql yang terdapat insert ke
tb_transaksi tb_transaksi di toko online curs.execute(data) #untuk mengexecute data yang terdapat insert ke tb_det_transaksi di toko online conn.commit() lanjut = False
if menu == 2: update = True while update: print("Update dari Intergrasi ke Toko") cir.execute("select id_transaksi from tb_transaksi tb_transaksi where status = 'valid'") intergrasi = cir.fetchone() #untuk mengecek id_transaksi yang sudah valid di db_intergrasi tb_transaksi print(intergrasi) curs.execute("update tb_transaksi set status='Valid' where id_transaksi='%s'" % (intergrasi)) conn.commit() # untuk mengexecute update valid di tb_transaksi di db_tokoonline print("suksesss lagi") update = False except: print("ERROR") Engine Toko Kode Program 4. 1 Engine Toko
Kode Program 4.1 merupakan engine dari engine dari toko online. online. Engine toko Engine toko online ini diberi nama toko.py, yang berfungsi untuk memasukkan atau menginputkan data ke tb_transaksi dan tb_det_transaksi saat melakukan transaksi.
2.
Engine Bank Engine bank Engine bank merupakan engine yang engine yang berguna untuk mengecek semua data
pembeli yang telah melakukan transaksi pembayaran menggunakan bank. Berikut merupakan engine dari engine dari bank seperti pada Kode Program 4.2.
import pymysql import time conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_intergrasi') cinn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_bank') db='db_bank') cur = conn.cursor() conn.cursor() cir = cinn.cursor() cinn.cursor()
try: cur.execute("select max(id_transaksi) from tb_transaksi") maxdatatransaksi = cur.fetchone() lanjut = True while lanjut: cur.execute("select cur.execute("select *from tb_transaksi") tb_transaksi") intergrasi = cur.fetchall() cur.fetchall() #untuk mengecek semua data di tb_transaksi integrasi cir.execute("select cir.execute("select *from tb_transaksi") tb_transaksi") bank = cir.fetchall() cir.fetchall() # untuk mengecek semua data di tb_transaksi bank lanjut = False if len(intergrasi)> len(bank): print("ada transaksi masuk bank") cur.execute("select id_transaksi, no_rek, total_transaksi from tb_transaksi where id_transaksi='%s'" % (maxdatatransaksi)) for row in cur.fetchall(): id_transaksi, no_rek, total_transaksi = row cir.execute("insert into tb_transaksi (id_transaksi, no_rek, tgl_transaksi, total_transaksi, status) VALUES ('%s', '%s', DATE(NOW()), '%s', 'valid')" % (id_transaksi, no_rek, total_transaksi)) cinn.commit() #untuk mengexecute insert tb_transaksi integrasi ke tb_integrasi tb_integrasi bank dan merubah status menjadi valid print("suksesss") # cur.close() # conn.close() conn.close() # cir.close() # cinn.close() cinn.close() cir.execute("select max(id_transaksi) from tb_transaksi") maxdatatransaksi1 maxdatatransaksi1 = cir.fetchone() cir.fetchone() lanjut = True while lanjut: cir.execute("select cir.execute("select *from tb_transaksi") tb_transaksi") bank = cir.fetchall() cir.fetchall() # untuk mengecek semua data di tb_transaksi integrasi cir.execute("select *from tb_transaksi_bank") bankk = cir.fetchall() # untuk mengecek semua data di tb_transaksi bank lanjut = False if len(bank) > len(bankk): print("ada transaksi masuk bank lagi") cir.execute("select id_transaksi, no_rek, total_transaksi, status from tb_transaksi where id_transaksi='%s'" % (maxdatatransaksi1)) for row1 in cir.fetchall(): id_transaksi, no_rek, total_transaksi, status = row1 cir.execute( "insert into tb_transaksi_bank(id_transaksi, no_rek, tgl_transaksi,
total_transaksi, status) VALUES ('%s', '%s', DATE(NOW()), '%s', '%s')" % (id_transaksi, no_rek, total_transaksi, status)) cinn.commit() # untuk mengexecute insert tb_transaksi bank ke tb_transaksi_bank print("suksesss") cir.close() cinn.close() except: print("ERROR") Kode Program 4. 2 Engine Bank Engine Bank
Kode Program 4.2 merupakan engine dari engine dari bank. Engine bank. Engine bank bank ini diberi nama konekbank.py, yang berfungsi untuk melakukan pengecekan tabel transaksi yang
ada pada database integrasi database integrasi dengan tabel transaksi yang ada di bank, maka di dalam engine bank engine bank dilakukan eksekusi insert pada pada tabel transaksi insert tb_transaksi yang ada di
db _ tokoonline tokoonline integrasi
transaksi yang ada di ke tb _ transaksi
db_intergrasi bank dengan merubah status menjadi valid database integrasi database integrasi
dengan tabel transaksi di bank untuk mengubah statusnya menjadi valid .
3.
Engine Integrasi Engine integrasi Engine integrasi merupakan engine yang engine yang dapat menghubungkan database
toko online dan online dan database bank. database bank. Berikut merupakan engine dari engine dari bank seperti pada Kode Program 4.3.
import pymysql import time conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_tokoonline') cinn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_intergrasi') cann = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_bank') db='db_bank') cur = conn.cursor() conn.cursor() cir = cinn.cursor() cinn.cursor() car = cann.cursor() cann.cursor() try: sistem = True while sistem: print("---- Selamat Datang Di Intergrasi Kelompok 1 ---") print("------------ pilih menu di bawah ini ----------")
sistem = False menu = int(input("Masukkan input 1 atau 2 :")) if menu == 1: print("Insert toko ke intergrasi") cur.execute("select max(id_transaksi) from tb_transaksi") maxdatatransaksi = cur.fetchone() #untuk mengecek 1 data tb_transaksi di db_tokoonline lanjut = True while lanjut: cur.execute("select cur.execute("select *from tb_transaksi") tb_transaksi") toko = cur.fetchall() cur.fetchall() #untuk mengecek semua data di tb_transaksi di db_tokoonline cir.execute("select cir.execute("select *from tb_transaksi") tb_transaksi") intergrasi = cir.fetchall() cir.fetchall() #untuk mengecek semua data di tb_transaksi di db_intergrasi lanjut = False if len(toko)> len(intergrasi): print("ada transaksi") cur.execute("select id_transaksi, id_pembeli, no_rek, total_transaksi from tb_transaksi where id_transaksi='%s'" % (maxdatatransaksi)) for row in cur.fetchall(): id_transaksi, id_pembeli, no_rek, total_transaksi = row cir.execute("insert into tb_transaksi (id_transaksi, id_pembeli, no_rek, tgl_transaksi, total_transaksi, status) VALUES ('%s','%s', '%s', DATE(NOW()), '%s', 'Tidak Valid')" % (id_transaksi, id_pembeli, no_rek, total_transaksi)) cinn.commit() # untuk memasukan data dari tb_transaksi tokoonline ke tb_transaksi tb_transaksi integrasi print("suksesss") insert = False # cur.close() # conn.close() conn.close() # cir.close() # cinn.close() cinn.close() if menu == 2: update = True while update: print("Update dari bank ke toko") car.execute("select id_transaksi from tb_transaksi_bank where status = 'Valid'") bank = car.fetchone() car.fetchone() #untuk mengecek 1 data di tb_transaksi db_bank yang berstatus valid print(bank)
sql = """update tb_transaksi tb_transaksi set status='Valid' status='Valid' where id_transaksi='%s'""" % (bank) cir.execute(sql) cinn.commit() #untuk menjalankan update status valid di tb_transaksi di db_intergrasi print("sukses Update") update = False except: print("ERROR") Kode Program 4. 3 Engine Integrasi
Kode program 4.3 merupakan engine engine dari integrasi. Engine Engine integrasi ini diberi nama konek.py, yang berfungsi untuk mengecek semua data yang terhubung dengan database yang database yang ada pada toko online dengan online dengan yang berada di bank, maka di dalam engine integrasi.
4.1.2
Pengujian Sinkronisasi 2 Arah
Pengujian sinkronisasi pada modul 1 merupakan hasil dari s creenshoot program atau tampilan dari program-program yang telah dibuat. Berikut tampilantampilan dari hasil pengujian sinkronisasi 2 arah. 4.1.2.1 Tampilan Menu Tampilan Menu Tampilan menu menu terdapat pada engine engine toko dan engine engine integrasi yaitu toko.py dan konek.py. Berikut merupakan tampilan tiap menu pada kedua engine. engine.
1.
Tampilan Memilih Menu Memilih Menu pada pada toko.py Tampilan memilih menu pada menu pada toko.py adalah tampilan ketika menjalankan
program di Python dengan engine toko.py. Terdapat 2 pilihan menu yang menu yang terdiri dari insert data data dan update data. update data. Tampilan memilih menu di menu di toko.py dapat dilihat seperti pada Gambar 4.1.
Gambar 4. 1 Tampilan Memilih Menu Memilih Menu pada pada toko.py
Gambar 4.1 merupakan tampilan dari hasil pengujian sinkronisasi 2 arah dalam memilih menu pada menu pada engine toko.py. Terdapat 2 pilihan menu yaitu menu yaitu menu 1 dan menu 2. Program yang ditampilkan selanjutnya adalah menu yang di- input kan, kan, dengan memasukkan pilihan yaitu 1 atau 2. Pilihan Menu 1 adalah tampilan untuk
memasukkan data (insert (insert ) secara statis ke dalam database database melalui Python. Tampilan memilih menu 1 di toko.py dapat dilihat seperti pada Gambar 4.2.
Gambar 4. 2 Tampilan Memilih Menu 1 toko.py
Gambar 4.2 merupakan tampilan ketika meng-input meng- input kan kan menu pilihan menu pilihan yaitu menu 1 di toko.py pada program Toko Online Online Kelompok 1. Selanjutnya,
ditampilkan beberapa data yang harus dimasukkan. Tampilan memasukkan data di menu 1 dapat dilihat seperti pada Gambar 4.3.
Gambar 4. 3 Tampilan Menu 1 toko.py
Gambar 4.3 merupakan tampilan dari menu 1 di toko.py, dengan transaksi, no _ rek rek, id _ barang barang, id_pembeli dan memasukkan data seperti id _ transaksi total _ transaksi transaksi. Selanjutnya, data yang sudah di-input di- input kan kan mendapatkan sebuah
notifikasi yang memberitahukan bahwa sudah Berhasil Menginputkan, maka tokoonline. Tampilan data tersebut telah berhasil di simpan ke dalam database db _ tokoonline tokoonline tepatnya di tb _ transaksi transaksi data yang tersimpan dalam database db _ tokoonline
dapat dilihat seperti pada Gambar 4.4.
Gambar 4. 4 Tampilan tb _ transaksi transaksi pada db_tokoonline
Gambar 4.4 merupakan tampilan dari data yang sudah di- input kan kan pada menu
1 sebelumnya di Python dan berhasil disimpan ke dalam database
db _ tokoonline tokoonline, yaitu dalam tb _ transaksi transaksi. Beberapa field yang terdapat pada tb _ transaksi transaksi untuk setiap row-nya transaksi adalah 1, id _ pembeli pembeli row-nya seperti, id _ transaksi
rek adalah 119 dan total _ transaksi transaksi adalah 25000. Field yang adalah 9, no _ rek transaksi secara otomatis terisi mengikuti tanggal terdapat pada row tanggal _ transaksi
saat peng-input peng-input an an data dan field yang yang terdapat pada row status otomatis masih tidak valid, karena belum menjalankan engine konek.py dan konekbank.py dan
harus melewati beberapa proses lagi. Data yang telah masuk ke dalam database db _ tokoonline tokoonline
tepatnya
di
tb _ transaksi transaksi
tersimpan
juga
pada
tb _ det det _ transaksi transaksi yang berada di db _ tokoonline tokoonline. Tampilan data yang tersimpan tokoonline tepatnya di tb _ det det _ transaksi transaksi dapat dilihat dalam database db _ tokoonline
seperti pada Gambar 4.5.
Gambar 4. 5 Tampilan tb _ det det _ transaksi transaksi pada db_toko
Gambar 4.5 merupakan tampilan dari data yang sudah di- input kan kan menu 1 di toko.py sebelumnya pada Python dan berhasil disimpan ke dalam database db _ tokoonline tokoonline, yaitu dalam tb _ transaksi transaksi, selanjutnya disimpan juga pada tb _ det det _ transaksi transaksi. Terdapat field det _ transaksi transaksi Terdapat field untuk untuk tiap row-nya row-nya seperti, id _ det transaksi adalah 1 dan id _ barang barang adalah 5. Sedangkan, untuk adalah 1, id _ transaksi
pilihan menu 2 adalah tampilan untuk memperbaharui data (update ( update)) secara statis ke dalam database melalui database melalui Python. Tampilan memperbaharui data saat memil ih menu 2 di engine toko.py dapat dilihat seperti pada Gambar 4.6.
Gambar 4. 6 Tampilan Memilih Menu 2 toko.py
Gambar 4.6 merupakan tampilan ketika meng-input meng- input kan kan menu pilihan menu pilihan yaitu menu 2 di toko.py pada program Toko Online Kelompok Online Kelompok 1. Pilihan Menu 2 dapat intergrasi sudah berstatus valid , jika tidak berjalan apabila database pada db _ intergrasi
maka data tersebut tidak dapat dibaca seperti sepert i pada Gambar 4.7.
Gambar 4. 7 Tampilan Menu 2 Status Belum Valid
Gambar 4.7 merupakan tampilan ketika meng-input meng- input kan kan menu pilihan menu pilihan yaitu menu 2 di toko.py pada program Toko Online Kelompok Online Kelompok 1. Pilihan Menu 2 hanya
menampilkan sebuah notifkasi bahwa data yang terdapat pada engine toko.py yang berisi Update dari integrasi ke Toko masih None. Pilihan Menu 2 pada engine toko.py hanya
membaca data, namun tidak masuk ke dalam
database
db _ tokoonline tokoonline, dikarenakan status awal masih tidak valid atau belum adanya intergrasi, apabila sudah ada data yang status yang valid di di dalam database db _ intergrasi
berstatus valid , maka tampilan menu 2 pada engine toko.py jika di-input di-input kan kan dapat dilihat seperti pada Gambar 4.8.
Gambar 4. 8 Tampilan Menu 2 Status Valid
Gambar 4.8 merupakan tampilan dari menu 2 apabila status sudah valid . Piliham Menu 2 di engine toko.py dapat valid , jika pada engine konekbank.py dan engine konek.py sudah dijalankan. Terdapat notifikasi (1,) dan suksesss lagi, apabila data pada menu 2 yang ada di toko.py berhasil dijalankan. Kemudian, data tokoonline tepatnya di tb _ transaksi transaksi tadi yang terdapat di database db _ tokoonline
statusnya sudah berubah menjadi valid . Tampilan data yang terdapat di database db _ tokoonline tokoonline tepatnya di tb _ transaksi transaksi yang sudah valid dapat dapat dilihat seperti
pada Gambar 4.9.
Gambar 4. 9 Tampilan tb _ transaksi transaksi pada db _ tokoonline tokoonline Status Valid
transaksi yang ada pada Gambar 4.9 merupakan tampilan dari tb _ transaksi tokoonline yang statusnya sudah diubah menjadi valid oleh engine database db _ tokoonline konekbank.py dan
konek.py.
id _ transaksi transaksi adalah total _ transaksi transaksi
1,
adalah
Terdapat field untuk tiap row-nya row-nya seperti,
id _ pembeli pembeli adalah 25000.
Field
9,
yang
no _ rek rek adalah
119,
terdapat
row
pada
tanggal _ transaksi transaksi secara otomatis terisi mengikuti tanggal saat peng-input peng- input an an
data dan field dan field yang yang terdapat pada row status otomatis sudah diubah oleh engine konek.py dan konekbank.py menjadi valid.
2.
Tampilan Memilih Menu Memilih Menu pada pada konek.py Tampilan
memilih
menu menu pada
konek.py adalah
tampilan
ketika
menjalankan program di Python dengan engine konek.py. Terdapat 2 pilihan menu yang terdiri dari insert data dan update update data. Tampilan memilih menu di engine konek.py dapat dilihat seperti pada Gambar 4.1-.
Gambar 4. 10 Tampilan Memilih Menu Memilih Menu pada pada konek.py
Gambar 4.10 merupakan tampilan ketika meng-input meng- input kan kan menu menu pilihan di konek.py pada program Toko Online Kelompok Online Kelompok 1. Terdapat 2 pilihan menu yaitu menu yaitu menu 1 dan menu 2. Program yang ditampilkan selanjutnya adalah menu yang menu yang di-
input kan kan dengan memasukkan pilihan yaitu 1 atau 2. Pilihan Menu 1 adalah tampilan untuk memasukkan data (insert ( insert ) secara statis ke dalam database melalui database melalui Python. Tampilan memilih menu 1 di engine konek.py dapat dilihat seperti pada Gambar 4.11.
Gambar 4. 11 Tampilan Menu 1 konek.py
Gambar 4.11 merupakan tampilan ketika meng-input meng- input kan kan menu pilihan menu pilihan yaitu menu 1 di konek.py pada program Toko Online Kelompok Online Kelompok 1. Terdapat notifikasi
yang berisi Insert toko ke intergrasi suksessss. Sedangkan, untuk menu 2 adalah tampilan untuk memperbaharui data (update (update)) secara statis ke dalam database melalui database melalui Python. Tampilan memilih menu 2 pada engine konek.py seperti pada Gambar 4.12.
Gambar 4. 12 Tampilan Menu 2 konek.py
Gambar 4.12 merupakan tampilan ketika meng-input meng- input kan kan menu pilihan menu pilihan yaitu menu 2 di konek.py pada program Toko Online Kelompok Online Kelompok 1. Terdapat notifikasi
yang berisi suksesss Update dari bank ke toko, (1,) sukses Update. Menu 2 pada konek.py dapat berjalan apabila engine pada engine pada konekbank.py sudah dijalankan.
4.1.2.2 Tampilan Mengubah Status Tampilan
mengubah
status
adalah
tampilan
ketika
engine engine pada
konekbank.py belum dijalankan. Pertama, status yang ada pada tb _ transaksi transaksi di tokoonline dan database db _ bank bank tidak valid , kemudian untuk database db _ tokoonline tokoonline dan db _ bank bank berubah membuat status yang ada di database db _ tokoonline
menjadi valid harus melewati proses yaitu menjalankan engine konekbank.py terlebih dahulu. Kedua, setelah menjalankan engine konek.py dengan pilihan menu 2 status pada semua database dapat database dapat berganti menjadi valid . Tampilan proses untuk
mengubah sattus pada engine konekbank.py dapat dilihat seperti pada Gambar 4.13.
Gambar 4. 13 Tampilan tb _ transaksi transaksi Status Tidak Valid
transaksi yang terdapat pada Gambar 4.13 merupakan tampilan dari tb _ transaksi bank yaitu dalam tb _ transaksi transaksi. Terdapat field Terdapat field untuk untuk tiap row-nya database db _ bank row-nya transaksi adalah 1, no _ rek rek adalah 1 dan total _ transaksi transaksi adalah seperti, id _ transaksi 25000. Untuk tanggal _ transaksi transaksi otomatis mengikuti tanggal saat peng-input peng-input an an
data dan untuk status otomatis masih tidak valid. Mengubah status valid pada bank menggunakan menggunakan engine konekbank.py dapat dilihat seperti pada Gambar 4.14.
Gambar 4. 14 Tampilan Engine Tampilan Engine konekbank.py
Gambar 4.14 merupakan tampilan dari engine konekbank.py yang sudah bank berubah menjadi valid . Engine dijalankan agar status pada database db _ bank konekbank.py dapat mengubah secara otomatis status yang terdapat pada tb _ transaksi transaksi dan tb _ transaksi transaksi _ bank bank menjadi valid . Terdapat notifikasi yang
berisi ada transaksi masuk bank suksessss dan ada transaksi masuk bank lagi
suksessss. Berikut merupakan tampilan status yang sudah valid pada
tb _ transaksi transaksi yang ada di database db _ bank bank seperti pada Gambar 4.15.
Gambar 4. 15 Tampilan tb _ transaksi transaksi Status Valid
transaksi yang ada pada Gambar 4.15 merupakan tampilan dari tb _ transaksi bank yang sudah diubah statusnya oleh engine konekbank.py menjadi database db _ bank valid. Selanjutnya, tampilan status yang sudah valid pada tb _ transaksi transaksi _ bank bank bank pada Gambar 4.16. yang ada di database db _ bank
Gambar 4. 16 Tampilan tb _ transaksi transaksi _ bank bank Status Valid
transaksi _ bank bank yang ada pada Gambar 4.16 merupakan tampilan dari tb _ transaksi bank yang sudah diubah statusnya oleh engine konekbank.py menjadi database db _ bank valid. Terdapat Selanjutnya, tampilan
tb _ transaksi transaksi yang terdapat pada
db _ intergrasi intergrasi yang statusnya oleh engine konekbank.py berubah menjadi valid
seperti pada Gambar 4.17.
Gambar 4. 17 Tampilan tb _ transaksi transaksi di db _ intergrasi intergrasi
transaksi yang ada pada Gambar 4.17 merupakan tampilan dari tb _ transaksi intergrasi yang statusnya sudah diubah menjadi valid juga oleh database db _ intergrasi
engine konekbank.py dan konek.py. Terdapat field untuk tiap row-nya row-nya seperti, id _ transaksi transaksi adalah
1,
id _ pembeli pembeli adalah
9,
no _ rek rek adalah
119,
total _ transaksi transaksi adalah 25000. Untuk tanggal _ transaksi transaksi otomatis mengikuti
tanggal saat peng-input peng-input an an data dan untuk status otomatis sudah diubah oleh transaksi pada db _ tokoonoline tokoonoline ikut engine konek.py menjadi valid. Lalu, tb _ transaksi
ke ubah statusnya menjadi valid seperti pada Gambar 4.18.
Gambar 4. 18 Tampilan tb _ transaksi transaksi Status Valid
Gambar 4.18 merupakan tampilan dari tb_transaksi yang ada pada database db _ tokoonline tokoonline yang statusnya sudah diubah menjadi valid juga oleh engine konekbank.py dan
konek.py.
id _ transaksi transaksi adalah total _ transaksi transaksi
1,
adalah
Terdapat field untuk tiap row-nya row-nya seperti,
id _ pembeli pembeli adalah 25000.
Field
9,
yang
no _ rek rek adalah
119,
terdapat
row
pada
tanggal _ transaksi transaksi secara otomatis terisi mengikuti tanggal saat peng-input peng- input an an
data dan untuk status otomatis sudah diubah oleh engine konek.py menjadi valid.
4.2
Modul 2
Modul 2 merupakan modul kedua dari rangkaian soal Praktikum Integrasi Sistem. Modul 2 membahas mengenai sinkronisasi dalam bentuk file, file, selain itu modul 2 merupakan lanjutan permasalahan dari Modul 1. Modul 2 dibuat untuk meningkatkan tingkat ketersediaan data, mencari solusi untuk menghadapi masalah sinkronasi apabila ada jaringan dari salah satu pihak terputus. Oleh karena itu, perubahan data yang terjadi saat offline dimasukkan offline dimasukkan ke dalam file dalam file pertukaran pertukaran data seperti JSON atau XML. Berikut pembahasan yang dilakukan berkaitan dengan sinkronisasi dalam bentuk file bentuk file.. 4.2.1
Pembuatan Program
Pembuatan program merupakan proses yang dilakukan dalam hal membuat program. Pembuatan program pada modul 1 terdapat source code code dari engineengineengine yang engine yang ada, yaitu sebagai berikut. 4.2.1.1 Source Code Source code merupakan code merupakan kode program yang dibuat menggunakan bahasa pemrograman Python dengan bantuan aplikasi bernama Pycharm. Versi bahasa pemrograman Python yang digunakan adalah 3.6. Source code code pada modul 2 memiliki 2 engine engine yaitu engine engine toko JSON dan engine engine bank JSON. Berikut merupakan penjelasan masing-masing engine yang telah dibuat. 1.
Engine Toko Engine Toko JSON Engine Engine toko JSON merupakan
engine engine pertama untuk melakukan
pemasukkan data seperti, id_transaksi , nomor rekening, id_pembeli, serta total yang harus dibayarkan ke dalam file json di toko_json.json . Berikut
merupakan engine dari engine dari toko online seperti online seperti pada Kode Program 4.4.
import json import pymysql conn = pymysql.connect(user="root", host="localhost", database="db_tokoonline")
cur = conn.cursor() conn.cursor() try: modul2 = True while modul2: print("----selamat datang di kelompok 1 -----") print("----- --- pilih menu di bawah ini ------------ ") menu = int(input(" Menu pilih 1 insert atau 2 update :")) with open("toko_json.json", "w", encoding='utf-8')as outfile: # untuk memulis ke dalam file json toko_json try: data = json.load(outfile) except: data = [] if menu == 1: def inserttoko(id_transaksi, id_pembeli, no_rek, tgl_transaksi, tgl_transaksi, total_transaksi, total_transaksi, status): # fungsi untuk membaca paramenter inserttoko list_data = [] with open("toko_json.json", "r", encoding='utf8')as outfile: # untuk membaca file json toko_json try: data = json.load(outfile) except: data = [] new_entry = {'id_transaksi': id_transaksi, 'id_pembeli': id_pembeli, 'no_rek': no_rek, 'tanggal': str(tgl_transaksi), 'total_transaksi': total_transaksi, 'status': status, 'flag': 'insert'} # untuk memasukan data ke json list_data.append(new_entry) with open("toko_json.json", "a", encoding='utf8')as outfile: # untuk menulis file json toko_json json.dump(data + list_data, outfile, indent=4) print("insert data ke JSON") # untuk memunculkan output tulisan ke program lanjut = True # untuk membuat perulangan while lanjut: # melakukan perulangan cur.execute("select max(id_transaksi) from tb_transaksi") # untuk mengambil data pada id_transaksi di tb_transaksi maxdatatransaksi = cur.fetchone() # untuk mengambil satu baris data print(maxdatatransaksi) # untuk mencetak data maxdatatransaksi
cur.execute("select *from tb_transaksi") # untuk menjalankan data dari tb_transaksi toko = cur.fetchall() cur.fetchall() # untuk mengambil semua baris data pada toko print(toko) # untuk mencetak data toko lanjut = False # untuk berhentikan perulangan with open("toko_json.json", "r", encoding='utf8')as outfile: # untuk membaca file json toko_json try: data = json.load(outfile) #untuk ngambil file json except: data = [] if (len(toko) > len(data)): # untuk mengecek pajang data toko dengan data print("Terdapat Penambahan Transaksi pada Toko") # untuk memcetak tulisan cur.execute("select id_transaksi, id_pembeli, no_rek, tgl_transaksi, total_transaksi, status from tb_transaksi where id_transaksi='%s'" % (maxdatatransaksi)) # untukk mengambil data pada tb_transaksi for row1 in cur.fetchall(): # untuk mengambil semua baris data id_transaksi, id_pembeli, no_rek, tgl_transaksi, tgl_transaksi, total_transaksi, status = row1 inserttoko(id_transaksi, id_pembeli, no_rek, tgl_transaksi, total_transaksi, status) print("suksess") # untuk mencetak tulisan if menu == 2: def updatestatustoko(): updatestatustoko(): bukajson = open("bank_json.json", open("bank_json.json", "r+") data = json.load(bukajson) json.load(bukajson) # untuk membuka file json dan melakukan update data for row in data: row['flag'] row['flag'] = 'update' #mengecek kondisi data bukajson.seek(0) json.dump(data, bukajson, indent=4) bukajson.truncate() print("Update Status") # mencetak tulisan openfile = open("bank_json.json", "r") data = json.load(openfile) json.load(openfile) # membuka file json for row in data: if row['flag'] == 'update':
# mengecek kondisi data print("Terdapat Perubahan Status Transaksi") # mencetak tulisan transaksi = row['id_transaksi'] status = row['status'] # mengambil status dalam row json cur.execute("update tb_transaksi set status='%s' where id_transaksi='%s'" % (status,transaksi)) # untuk melakukan update pada tb_transaksi conn.commit() updatestatustoko() def inserttoko(id_transaksi, id_pembeli, no_rek, tgl_transaksi, tgl_transaksi, total_transaksi, total_transaksi, status): # fungsi untuk membaca paramenter inserttoko list_data = [] with open("toko_json.json", "r", encoding='utf8')as outfile: # untuk membuka file json toko_json try: data = json.load(outfile) except: data = [] new_entry = {'id_transaksi': id_transaksi, 'id_pembeli': id_pembeli, 'no_rek': no_rek, 'tanggal': str(tgl_transaksi), 'total_transaksi': total_transaksi, 'status': status, 'flag': 'update'} # untuk memasukan data ke json list_data.append(new_entry) with open("toko_json.json", "w", encoding='utf8')as outfile: json.dump(data + list_data, outfile, indent=4) # untuk membuka file json toko_json lanjut = True while lanjut: cur.execute("select max(id_transaksi) from tb_transaksi") # untuk menyeleksi data maxdatatransaksi = cur.fetchone() # untuk ngambil satu baris data dari maxdatatransaksi cur.execute("select *from tb_transaksi") # untuk mengambil data dari tb_transaksi toko = cur.fetchall() cur.fetchall() # untuk mengambil semua data toko lanjut = False # untuk berhentikan perulangan with open("toko_json.json", "r", encoding='utf8')as outfile: # untuk membaca file json toko_json try: data = json.load(outfile)
# untuk memgambil file json toko_json except: data = [] # array data if (len(toko) > len(data)): # untuk mengecek pajang data toko dengan data cur.execute("select id_transaksi, id_pembeli, no_rek, tgl_transaksi, total_transaksi, status from tb_transaksi where id_transaksi='%s'" % (maxdatatransaksi)) # untukk mengambil data pada tb_transaksi for row1 in cur.fetchall(): id_transaksi, id_pembeli, no_rek, tgl_transaksi, tgl_transaksi, total_transaksi, status = row1 inserttoko(id_transaksi, id_pembeli, no_rek, tgl_transaksi, total_transaksi, status) print("Update status suksess sekali") # untuk mencetak tulisan except: print("ERROR") Kode Program 4. 4 Engine Toko Engine Toko JSON
Kode program 4.4 merupakan engine engine dari toko_json.json . Engine toko Engine toko JSON berfungsi untuk memback mem back -up up data, apabila database database integrasi tidak dapat dikoneksikan maka database dengan database dengan bantuan file bantuan file JSON JSON ditampilkan dan terjadilah proses sinkronisasi dari database toko database toko ke database bank. database bank.
2.
Engine Bank json Engine bank Engine bank json merupakan engine yang engine yang berfungsi untuk mengecek semua
data pembeli yang telah melakukan transaksi pembayaran menggunakan bank yang selanjutnya disinkronisasikan pada file.json. Berikut merupakan engine bank_json seperti pada Kode Program 4.5.
import json import pymysql
cinn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_bank') db='db_bank') cir try:
= cinn.cursor()
modul2 = True while modul2: print("---- Selamat Datang Di Bank Kelompok 1 ----") print("------------ pilih menu di bawah ini ----------") menu = int(input("Masukkan int(input("Masukkan 0:"))
with open("bank_json.json", "w", encoding='utf-8')as outfile: # untuk menulis file json bank_json try: data = json.load(outfile) # untuk memgambil file json bank_json except: data = [] # array data
if menu == 0: print("Insert Bank") def insertbank(id_transaksi): list_data = [] with open("bank_json.json", "r", encoding='utf8')as outfile: # untuk membaca file json bank_json try: databank = json.load(outfile) except: databank = [] new_entry = {'id_transaksi': id_transaksi, 'status': 'valid', 'flag': 'update'} # untuk memasukan data ke json list_data.append(new_entry) with open("bank_json.json", "w", encoding='utf8')as outfile: json.dump(databank + list_data, outfile, indent=4) # untuk membuka file json bank_json
buka = open("toko_json.json", "r") data = json.load(buka) json.load(buka) # membuka file json for row in data: if row['flag'] == 'insert': # mengecek kondisi data print("Masuk Data Toko Ke Bank") # mencetakan tulisan id_transaksi = row['id_transaksi'] no_rek = row['no_rek'] # mengambil no_rek dalam row json total_transaksi = row['total_transaksi'] print("pelanggan") cir.execute("insert into tb_transaksi (id_transaksi, no_rek, tgl_transaksi, total_transaksi) VALUES ('%s', '%s', DATE(NOW()), '%s')" % (id_transaksi, no_rek, total_transaksi)) # melakukan insert data ke tb_transaksi cinn.commit() cir.execute("update tb_transaksi set status='Valid' where id_transaksi='%s'" % (id_transaksi)) # melakukan update data tb_transaksi cinn.commit() cir.execute("insert into tb_transaksi_bank (id_transaksi, no_rek, tgl_transaksi, total_transaksi) VALUES ('%s', '%s',
DATE(NOW()), '%s')" % (id_transaksi , no_rek,
total_transaksi)) # melakukan insert data ke tb_transaksi_bank cinn.commit() cir.execute("update tb_transaksi_bank set status='Valid' where id_transaksi='%s'" % (id_transaksi)) # melakukan updata data tb_transaksi bank cinn.commit()
insertbank(id_transaksi)
openfile = open("toko_json.json", "r+")
data = json.load(openfile) json.load(openfile) # untuk membuka file json dan melakukan update data for row in data: row['flag']='execute' # mengecek kondisi data openfile.seek(0) json.dump(data, openfile, indent=4) openfile.truncate() print("suksess")
except : print("ERROR") Kode Program 4. 5 Engine Bank Engine Bank JSON
Kode program 4.5 merupakan engine engine dari bank_json. Engine Engine bank_json berfungsi untuk mem-backup mem-backup data pembayaran, apabila database database integrasi tidak dapat dikoneksikan maka database dengan database dengan bantuan dengan file dengan file JSON JSON ditampilkan dan terjadi proses sinkronisasi dari database bank database bank ke database toko. database toko.
4.2.2
Pengujian Sinkronisasi dalam Bentuk File
Pengujian sinkronisasi pada modul 2 merupakan hasil dari s creenshoot program atau tampilan dari program-program yang telah dibuat. Berikut tampilantampilan dari hasil pengujian sinkronisasi dalam bentuk file bentuk file.. 4.2.2.1 Tampilan Menu Tampilan Menu Tampilan menu menu terdapat pada engine engine toko dengan file.json yaitu toko _ json json.py. Berikut merupakan tampilan tiap menu pada engine toko _ json json.py.
1.
json.py Tampilan Memilih Menu Memilih Menu pada pada toko _ json
Tampilan memilih menu pada menu pada toko.py adalah tampilan ketika menjalankan json.py. Terdapat 2 pilihan menu program di Python dengan engine toko _ json menu yang
terdiri dari insert data data dan update data. update data. Tampilan memilih menu di menu di toko_json.py dapat dilihat seperti pada Gambar 4.19.
Gambar 4. 19 Tampilan Memilih Menu json.py Memilih Menu pada pada toko _ json
Gambar 4.19 merupakan tampilan dari hasil pengujian sinkronisasi dalam json.py. Terdapat 2 pilihan menu bentuk file bentuk file saat saat memilih menu pada menu pada engine toko _ json
yaitu menu 1 dan menu 2. Program yang ditampilkan selanjutnya adalah menu yang di-input di-input kan, kan, dengan memasukkan pilihan yaitu 1 atau 2. Pilihan Menu 1 adalah tampilan untuk memasukkan data (insert ( insert ) ke dalam file.json melalui Python. json.py dapat dilihat seperti pada Gambar 4.20. Tampilan memilih menu 1 di toko _ json
Memilih Menu 1 1 Gambar 4. 20 Tampilan Memilih Menu
Gambar 4.20 merupakan tampilan ketika meng-input meng- input kan kan menu pilihan menu pilihan yaitu menu 1 di toko_json.py pada program Toko Online Kelompok Online Kelompok 1. Pilihan menu 1
adalah tampilan menu insert data, yaitu tampilan data yang sudah di-input di- input kan kan sebelumnya pada engine toko.py yang ada di modul 1, kemudian di modul 2 data tersebut di insert untuk untuk dimasukkan ke dalam file.json. Tampilan menu insert data menu 1 di engine toko _json.py dapat dilihat seperti pada Gambar 4.21.
Gambar 4. 21 Tampilan Menu Tampilan Menu Insert Insert
Gambar 4.21 merupakan tampilan dari menu insert data. Data yang ada pada database sql di insert ke ke dalam file json, jika sudah semua data dimasukkan maka muncul notifikasi suksess.
Gambar 4. 22 Tampilan tb _ transaksi transaksi pada db_tokoonline
Gambar 4.22 merupakan tampilan dari data yang sudah di-input di- input kan kan pada menu
1 sebelumnya di Python dan berhasil disimpan ke dalam database
db _ tokoonline tokoonline, yaitu dalam tb _ transaksi, transaksi, Selanjutnya data pada database
akan di simpan pada file json toko_json.json. Beberapa field Beberapa field yang yang terdapat pada tb _ transaksi transaksi untuk setiap row-nya transaksi adalah 1, id _ pembeli pembeli row-nya seperti, id _ transaksi rek adalah 111 dan total _ transaksi transaksi adalah 10000. Field yang adalah 1, no _ rek transaksi secara otomatis terisi mengikuti tanggal terdapat pada row tanggal _ transaksi
saat peng-input peng-input an an data dan field yang yang terdapat pada row status otomatis masih tidak valid, karena belum menjalankan engine konek.py dan konekbank.py dan
harus melewati beberapa proses lagi. Data yang telah masuk ke dalam database db _ tokoonline tokoonline
tepatnya
di
tb _ transaksi transaksi
tersimpan
juga
pada
tb _ det det _ transaksi transaksi yang berada di db _ tokoonline tokoonline. Tampilan data yang tersimpan tokoonline tepatnya di tb _ det det _ transaksi transaksi dapat dilihat dalam database db _ tokoonline
seperti pada Gambar 4.23.
det _ transaksi transaksi Gambar 4. 23 Tampilan pada tb _ det
Gambar 4.23 merupakan tampilan dari data yang sudah di-input di- input kan kan menu 1 di toko.py sebelumnya pada Python dan berhasil disimpan ke dalam database db _ tokoonline tokoonline, yaitu dalam tb _ transaksi transaksi, selanjutnya disimpan juga pada tb _ det det _ transaksi transaksi. Terdapat field det _ transaksi transaksi Terdapat field untuk untuk tiap row-nya row-nya seperti, id _ det transaksi adalah 1 dan id _ barang barang adalah 1. Sedangkan, untuk menu adalah 1, id _ transaksi
2 adalah tampilan untuk memperbaharui data (update ( update)) secara statis ke dalam database melalui database melalui Python. Berikut merupakan tampilan data yang telah disimpan ke file.json seperti pada Gambar 4.24.
Gambar 4. 24 Tampilan pada toko_json.json
Gambar 4.24 merupakan tampilan dari data yang sudah di-input di- input kan kan pada menu
1 sebelumnya, di Python dan berhasil di simpan ke dalam database
db _ tokoonline tokoonline yang selanjutnya di simpan ke dalam file toko_json.json, yaitu transaksi. Beberapa field dalam tb _ transaksi Beberapa field yang yang terdapat pada toko_json.json untuk transaksi adalah 1, id _ pembeli pembeli adalah 1, no _ rek rek setiap row-nya row-nya seperti, id _ transaksi transaksi adalah 10000. Field yang terdapat pada row adalah 111 dan total _ transaksi tanggal _ transaksi transaksi secara otomatis terisi mengikuti tanggal saat peng-input peng- input an an
data dan field dan field yang yang terdapat pada row status otomatis masih tidak valid, karena belum menjalankan engine bank_json.py. Sedangkan, untuk pilihan menu
2
adalah tampilan untuk memperbaharui data (update (update)) secara statis ke dalam database melalui database melalui Python. Tampilan memperbaharui data saat memilih menu 2 di engine toko_json.py dapat dilihat seperti pada Gambar 4.6. Pilihan menu 2 adalah tampilan menu update update data, yaitu tampilan memperbaharui data untuk dimasukkan ke dalam database dan file json. Tampilan menu update data update data menu 2 di engine toko _ json json.py dapat dilihat seperti pada Gambar 4.25.
Gambar 4. 25 Tampilan Memilih Menu 2
Gambar 4.25 merupakan tampilan ketika meng-input meng-input kan kan menu pilihan menu pilihan yaitu Online Kelompok 1. Pilihan Menu menu 2 di toko_json.py pada program Toko Online Kelompok 2 dapat berjalan apabila bank_json.json
Gambar 4.26.
sudah berstatus valid seperti pada
Gambar 4. 26 Tampilan Menu 2
Gambar 4.26 merupakan tampilan dari menu update dari toko_json.py json, Tampilan ini berfungsi untuk meng-update meng- update data di database database pada bank _ json
setelah data pada databases db_bank di update update maka semua data dimasukkan bank_json.json maka muncul notifikasi update status Terdapat Perubahan Status Transaksi Update status suksess sekali. Pilihan Menu 2 dapat berjalan
apabila bank_json.json sudah berstatus valid seperti seperti pada Gambar 4.27.
Gambar 4. 27 Tampilan tb _ transaksi transaksi pada db _ tokoonline tokoonline Status Valid
transaksi yang ada pada Gambar 4.27 merupakan tampilan dari tb _ transaksi tokoonline yang statusnya sudah diubah menjadi valid oleh engine database db _ tokoonline bank_json.py dan toko_json.py. Terdapat field untuk tiap row-nya row-nya seperti, id _ transaksi transaksi adalah total _ transaksi transaksi
1,
adalah
id _ pembeli pembeli adalah 10000.
Field
1,
yang
no _ rek rek adalah
111,
terdapat
row
pada
tanggal _ transaksi transaksi secara otomatis terisi mengikuti tanggal saat peng-input peng- input an an
data dan field dan field yang yang terdapat pada row status otomatis sudah diubah oleh engine json.json yang ada pada file.json dapat dilihat menjadi valid. Tampilan toko _ json
seperti pada Gambar 4.28.
Gambar 4. 28 Tampilan File json.json Tampilan File toko _ json
Gambar 4.28 merupakan tampilan dari toko_json.json yang ada pada file json yang sudah diubah statusnya oleh engine toko_json.py menjadi valid . Tampilan update data update data bank adalah tampilan untuk mengubah data secara statis ke dalam database atau database atau secara langsung melalui Python.
4.2.2.2 Tampilan Mengubah Status Tampilan
mengubah
status
adalah
tampilan
ketika
engine engine pada
bank_json.py belum dijalankan. Pertama, status yang ada pada tb _ transaksi transaksi di tokoonline dan database db _ bank bank belum terdapat data, kemudian database db _ tokoonline tokoonline dan db _ bank bank berubah untuk membuat status yang ada di database db _ tokoonline
menjadi valid harus melewati proses yaitu menjalankan engine bank_json.py terlebih dahulu. Kedua, setelah menjalankan engine bank_json.py dengan memasukkan angka 0 status pada database bank dapat berganti menjadi valid . Tampilan proses untuk mengubah status pada engine bank_json.py dapat dilihat seperti pada Gambar 4.29.
Gambar 4. 29 Tampilan tb _ transaksi transaksi Status Tidak Valid
transaksi yang terdapat pada Gambar 4.29 merupakan tampilan dari tb _ transaksi bank yaitu dalam tb _ transaksi transaksi. Terdapat field database db _ bank Terdapat field untuk untuk tiap row-nya row-nya transaksi adalah 1, no _ rek rek adalah 111 dan total _ transaksi transaksi adalah seperti, id _ transaksi 10000. Untuk tanggal _ transaksi transaksi otomatis mengikuti tanggal saat peng-input peng-input an an
data dan untuk status otomatis masih tidak valid. Mengubah status valid pada bank menggunakan menggunakan engine bank_json.py dapat dilihat seperti pada Gambar 4.30.
Gambar 4. 30 Tampilan Memilih Menu pada bank_json.py
Gambar 4.30 merupakan tampilan dari hasil pengujian sinkronisasi 2 arah dalam menu pada bank_json.py. Terdapat 1 menu yaitu menu yaitu menu 0. Program yang ditampilkan selanjutnya adalah menu yang di-input di- input kan kan dengan memasukkan pilihan yaitu 0. Menu 0. Menu ini ini adalah tampilan untuk memasukkan data ( insert ) secara statis ke dalam database melalui database melalui Python. Berikut merupakan tampilan menu setelah menu setelah di masukkan seperti pada Gambar 4.31.
Gambar 4. 31 Tampilan Update Bank Update Bank
Gambar 4.31 merupakan tampilan dari menu utama dari bank_json.py Tampilan ini berfungsi untuk mem-update mem- update data data di database pada db_bank, setelah data pada databases db_bank di update maka semua data dimasukkan bank_json.json maka muncul notifikasi suksess.
Gambar 4. 32 Tampilan tb _ transaksi transaksi Status Valid
transaksi yang ada pada Gambar 4.32 merupakan tampilan dari tb _ transaksi bank yang sudah diubah statusnya oleh engine bank_json.py menjadi database db _ bank valid. Selanjutnya, tampilan status yang sudah valid pada tb _ transaksi transaksi _ bank bank bank pada Gambar 4.16. yang ada di database db _ bank
Gambar 4. 33 Tampilan tb _ transaksi transaksi _ bank bank Status Valid
transaksi _ bank bank yang ada pada Gambar 4.33 merupakan tampilan dari tb _ transaksi bank yang sudah diubah statusnya oleh engine bank_json.py menjadi database db _ bank valid.
4.3
Modul 3
Modul 3 merupakan modul ketiga atau modul terakhir dari rangkaian soal Praktikum Integrasi Sistem. Modul 3 membahas mengenai sinkronisasi menggunakan Cloud , selain itu modul 3 merupakan lanjutan permasalahan dari Modul 1 dan Modul 2. Modul 3 dibuat untuk mengunduh file mengunduh file JSON JSON atau XML yang terdapat pada Cloud . Selanjutnya, membaca file file dan menyesuaikan database dengan perubahan data dalam file file tersebut. Berikut pembahasan yang dilakukan berkaitan dengan sinkronisasi menggunakan Cloud . 4.3.1
Pembuatan Program
Pembuatan program merupakan proses yang dilakukan dalam hal membuat program. Pembuatan program pada modul 1 terdapat source code code dari engineengineengine yang engine yang ada, yaitu sebagai berikut. 4.3.1.1 Source Code Source code merupakan code merupakan kode program yang dibuat menggunakan bahasa pemrograman Python dengan bantuan aplikasi bernama Pycharm. Versi bahasa pemrograman Python yang digunakan adalah 3.6. Source code code pada modul 3 memiliki 2 engine yaitu engine yaitu engine toko engine toko Dropbox dan engine bank engine bank Dropbox. Dropbox Dr opbox adalah tempat penyimpanan data berbasis online. online. Berikut merupakan penjelasan masing-masing engine yang engine yang telah dibuat.
1.
Engine Toko Dropbox Engine Engine toko dropbox merupakan engine engine pertama untuk melakukan
pemasukkan data seperti, id
transaksi, nomor
rekening, id
barang,
id_pembeli serta total_transaksi yang harus dibayarkan kedalam file.json. file.json.
Berikut merupakan engine dari engine dari toko online seperti online seperti pada Kode Program 4.8.
import import import import
json pymysql dropbox pathlib
cinn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_bank') db='db_bank') cir = cinn.cursor() try: modul2 = True while modul2: print("---- Selamat Datang Di Bank Kelompok 1 ----") print("------------ pilih menu di bawah ini ----------") menu = int(input("Masukkan int(input("Masukkan 0:")) downloadd = pathlib.Path("C:/Users/Dode/PycharmProjects/Kelp1IMS/Modul3") # untuk menentukan alamat melatakan file json yang didownload buka = "toko_json.json" "toko_json.json" masuk = downloadd / buka dropdownload = dropbox.Dropbox("9EXUZ0tRCwAAAAAAAAAADFCMfVabePA38B8cUt6HZc2Tq7d GX_5fAMKlv30rJoIm") dropdownload.files_download_to_file(masuk, "/Aplikasi/toko_json.json") # untuk mendownload file json with open("bank_json.json", "w", encoding='utf-8')as outfile: #untuk menulis file json bank_json try: data = json.load(outfile) # untuk memgambil file json bank_json except: data = [] # array data if menu == 0: print("Insert Bank") def insertbank(id_transaksi): list_data = [] with open("bank_json.json", "r", encoding='utf8')as outfile: # untuk membaca file json bank_json try: databank = json.load(outfile) except: databank = [] new_entry = {'id_transaksi': id_transaksi, 'status': 'valid', 'flag': 'update'}
# untuk memasukan data ke json list_data.append(new_entry) with open("bank_json.json", "w", encoding='utf8')as outfile: json.dump(databank + list_data, outfile, indent=4) # untuk membuka file json bank_json buka = open("toko_json.json", "r") data = json.load(buka) json.load(buka) # membuka file json for row in data: if row['flag'] == 'insert': #mengecek kondisi data print("Masuk Data Toko Ke Bank") # mencetakan tulisan id_transaksi = row['id_transaksi'] no_rek = row['no_rek'] # mengambil no_rek dalam row json total_transaksi = row['total_transaksi'] # mengambil total_transaksi dalam row json print("pelanggan") cir.execute("insert into tb_transaksi (id_transaksi, no_rek, tgl_transaksi, total_transaksi) VALUES ('%s', '%s', DATE(NOW()), '%s')" % (id_transaksi, no_rek, total_transaksi)) #melakukan insert data ke tb_transaksi cinn.commit() cir.execute("update tb_transaksi set status='Valid' where id_transaksi='%s'" % (id_transaksi)) #melakukan update data tb_transaksi cinn.commit() cir.execute("insert into tb_transaksi_bank (id_transaksi, no_rek, tgl_transaksi, total_transaksi) VALUES ('%s', '%s', DATE(NOW()), '%s')" % (id_transaksi , no_rek, total_transaksi)) #melakukan insert data ke tb_transaksi_bank cinn.commit() cir.execute("update tb_transaksi_bank set status='Valid' where id_transaksi='%s'" % (id_transaksi)) #melakukan updata data tb_transaksi bank cinn.commit() insertbank(id_transaksi) openfile = open("toko_json.json", "r+") data = json.load(openfile) json.load(openfile) # untuk membuka file json dan melakukan update data for row in data: row['flag']='execute' #mengecek kondisi data openfile.seek(0) json.dump(data, openfile, indent=4) openfile.truncate() print("suksess")
drop = dropbox.Dropbox("9EXUZ0tRCwAAAAAAAAAADFCMfVabePA38B8cUt6HZc2Tq7d GX_5fAMKlv30rJoIm"); # untuk mengisi token dropbox with open("bank_json.json", "rb") as toko_dropbox: # untuk membaca binary file json toko_json drop.files_upload(toko_dropbox.read(), "/Aplikasi/bank_json.json",mode=dropbox.files.WriteMode("overwri te")); # untuk mengupload data ke dropbox print("berhasil Upload data bank_json ke Dropbox") # untuk mencetak tulisan except : print("ERROR") Kode Program 4. 6 Engine Toko Dropbox
Kode program 4.6 merupakan engine engine dari toko dropbox. Engine Engine toko Terdapat 2 menu di dalam engine yaitu engine yaitu menu insert data data dan update data. update data. Data dari menu insert dan dan update menghasilkan update menghasilkan sebuah data yang diubah menjadi file menjadi file JSON. JSON. Menu pertama Menu pertama toko mengirim data ke bank, tapi bank hanya dapat menerima data tanpa dapat mengubah datanya. Menu kedua Menu kedua bank harus mengunduh data terlebih dahulu lalu bank baru dapat mengubah data dari toko.
2.
Engine Bank Dropbox Dropbox Engine bank Engine bank dropbox merupakan engine yang engine yang berfungsi untuk mengecek
semua data pembeli yang telah melakukan transaksi pembayaran menggunakan bank
yang
selanjutnya
disinkronisasikan
pada
file.json
dan
juga
disinkronisasikan pada Cloud .
import import import import
json pymysql dropbox pathlib
cinn = pymysql.connect(host='localhost', port=3306, user='root', passwd='', db='db_bank') db='db_bank') cir = cinn.cursor() try: modul2 = True while modul2: print("---- Selamat Datang Di Bank Kelompok 1 ----") print("------------ pilih menu di bawah ini -----------
") menu = int(input("Masukkan int(input("Masukkan 0:")) downloadd = pathlib.Path("C:/Users/Dode/PycharmProjects/Kelp1IMS/Modul3") # untuk menentukan alamat melatakan file json yang didownload buka = "toko_json.json" "toko_json.json" masuk = downloadd / buka dropdownload = dropbox.Dropbox("9EXUZ0tRCwAAAAAAAAAADFCMfVabePA38B8cUt6HZc2Tq7d GX_5fAMKlv30rJoIm") dropdownload.files_download_to_file(masuk, "/Aplikasi/toko_json.json") # untuk mendownload file json with open("bank_json.json", "w", encoding='utf-8')as outfile: #untuk menulis file json bank_json try: data = json.load(outfile) # untuk memgambil file json bank_json except: data = [] # array data if menu == 0: print("Insert Bank") def insertbank(id_transaksi): list_data = [] with open("bank_json.json", "r", encoding='utf8')as outfile: # untuk membaca file json bank_json try: databank = json.load(outfile) except: databank = [] new_entry = {'id_transaksi': id_transaksi, 'status': 'valid', 'flag': 'update'} # untuk memasukan data ke json list_data.append(new_entry) with open("bank_json.json", "w", encoding='utf8')as outfile: json.dump(databank + list_data, outfile, indent=4) # untuk membuka file json bank_json buka = open("toko_json.json", "r") data = json.load(buka) json.load(buka) # membuka file json for row in data: if row['flag'] == 'insert': #mengecek kondisi data print("Masuk Data Toko Ke Bank") # mencetakan tulisan id_transaksi = row['id_transaksi'] no_rek = row['no_rek'] # mengambil no_rek dalam row json
total_transaksi = row['total_transaksi'] # mengambil total_transaksi dalam row json print("pelanggan") cir.execute("insert into tb_transaksi (id_transaksi, no_rek, tgl_transaksi, total_transaksi) VALUES ('%s', '%s', DATE(NOW()), '%s')" % (id_transaksi, no_rek, total_transaksi)) #melakukan insert data ke tb_transaksi cinn.commit() cir.execute("update tb_transaksi set status='Valid' where id_transaksi='%s'" % (id_transaksi)) #melakukan update data tb_transaksi cinn.commit() cir.execute("insert into tb_transaksi_bank (id_transaksi, no_rek, tgl_transaksi, total_transaksi) VALUES ('%s', '%s', DATE(NOW()), '%s')" % (id_transaksi , no_rek, total_transaksi)) #melakukan insert data ke tb_transaksi_bank cinn.commit() cir.execute("update tb_transaksi_bank set status='Valid' where id_transaksi='%s'" % (id_transaksi)) #melakukan updata data tb_transaksi bank cinn.commit() insertbank(id_transaksi) openfile = open("toko_json.json", "r+") data = json.load(openfile) json.load(openfile) # untuk membuka file json dan melakukan update data for row in data: row['flag']='execute' #mengecek kondisi data openfile.seek(0) json.dump(data, openfile, indent=4) openfile.truncate() print("suksess") drop = dropbox.Dropbox("9EXUZ0tRCwAAAAAAAAAADFCMfVabePA38B8cUt6HZc2Tq7d GX_5fAMKlv30rJoIm"); # untuk mengisi token dropbox with open("bank_json.json", "rb") as toko_dropbox: # untuk membaca binary file json toko_json drop.files_upload(toko_dropbox.read(), "/Aplikasi/bank_json.json",mode=dropbox.files.WriteMode("overwri te")); # untuk mengupload data ke dropbox print("berhasil Upload data bank_json ke Dropbox") # untuk mencetak tulisan except : print("ERROR") Kode Program 4. 7 Engine Bank Engine Bank Dropbox
Kode program 4.7 merupakan engine dari engine dari bank Dropbox. Engine Dropbox. Engine bank bank json berfungsi untuk untuk memasukkan atau menginputkan menginputkan data pembeli ke dalam file dalam file JSON, JSON, selanjutnya file selanjutnya file JSON JSON yang telah diinputkan tadi di upload ke ke dropbox.
4.3.2
Pengujian Sinkronisasi Menggunakan Cloud
Pengujian sinkronisasi pada modul 3 merupakan hasil dari s creenshoot program atau tampilan dari program-program yang telah dibust. Berikut tampilantampila ntampilan dari hasil pengujian sinkronisasi menggunakan Cloud . 4.3.2.1 Tampilan Menu Tampilan Menu Tampilan menu menu terdapat pada engine engine toko dengan Dropbox yaitu toko _ dropbox dropbox.py. Tampilan memilih menu menu pada toko_dropbox .py adalah dropbox.py. tampilan ketika menjalankan program di Python P ython dengan engine toko _ dropbox
Terdapat 2 pilihan menu menu yang terdiri dari insert data dan update update data. Tampilan memilih menu di menu di toko_dropbox .py dapat dilihat seperti pada Gambar 4.28.
Gambar 4. 34 Tampilan Memilih Menu Memilih Menu pada pada toko_dropbox .py
Gambar 4.34 merupakan tampilan dari hasil pengujian sinkronisasi 2 arah dalam memilih menu pada menu pada engine toko_dropbox .py. Terdapat 2 pilihan menu yaitu menu yaitu menu 1 dan menu 2. Program yang ditampilkan selanjutnya adalah menu yang di-
input kan, kan, dengan memasukkan pilihan yaitu 1 atau 2. Pilihan Menu 1 adalah tampilan hanya untuk memasukkan data (insert ( insert ) dari file.json lalu di unggah ke dropbox.py dapat dilihat seperti pada Dropbox. Tampilan memilih menu 1 di toko _ dropbox
Gambar 4.35.
Gambar 4. 35 Tampilan Memilih Menu 1 toko _ dropbox dropbox.py
Gambar 4.35 merupakan tampilan ketika meng-input meng-input kan kan menu pilihan menu pilihan yaitu menu 1 di toko_dropbox.py pada program Toko Online Online Kelompok 1. Pilihan
menu 1 adalah tampilan menu insert data, yaitu tampilan data yang sudah di-
input kan kan sebelumnya pada engine toko.py yang ada di modul 1, kemudian di modul 2 data tersebut di insert untuk untuk dimasukkan ke dalam file.json. Tampilan dropbox.py dapat dilihat seperti pada menu insert data menu 1 di engine toko _ dropbox
Gambar 4.36.
Gambar 4. 36 Tampilan Menu 1 toko _ dropbox dropbox.py
Gambar 4.36 merupakan tampilan dari menu 1 di toko_dropbox.py, yaitu menu insert data, yang mana data tersebut sudah di-input di- input kan kan sebelumnya pada engine toko.py. Data yang sudah di-input di-input kan kan mendapatkan sebuah notifikasi yang berisi insert data ke JSON, (1,), ((1, 9, 119, datetime.date(2018, 5, 26), 25000, ‘Tidak Valid’ )), terdapat penambahan Transaksi pada Toko suksess berhasil Upload data toko _ json json ke Dropbox, maka data tersebut telah berhasil tokoonline. Tampilan data yang tersimpan di simpan ke dalam database db _ tokoonline tokoonline tepatnya di tb _ transaksi transaksi dapat dilihat seperti dalam database db _ tokoonline
pada Gambar 4.37.
Gambar 4. 37 Tampilan tb _ transaksi transaksi pada db_tokoonline
Gambar 4.37 merupakan tampilan dari data yang sudah di-input di- input kan kan pada menu
1 sebelumnya di Modul 1 dan berhasil disimpan ke dalam database
db _ tokoonline tokoonline, yaitu dalam tb _ transaksi transaksi. Beberapa field yang terdapat pada tb _ transaksi transaksi untuk setiap row-nya transaksi adalah 1, id _ pembeli pembeli row-nya seperti, id _ transaksi rek adalah 119 dan total _ transaksi transaksi adalah 25000. Field yang adalah 9, no _ rek transaksi secara otomatis terisi mengikuti tanggal terdapat pada row tanggal _ transaksi
saat peng-input peng-input an an data dan field yang yang terdapat pada row status otomatis masih tidak valid, karena belum menjalankan engine konek.py dan konekbank.py dan
harus melewati beberapa proses lagi. Data yang telah masuk ke dalam database db _ tokoonline tokoonline
tepatnya
di
tb _ transaksi transaksi
tersimpan
juga
pada
tb _ det det _ transaksi transaksi yang berada di db _ tokoonline tokoonline. Tampilan data yang tersimpan tokoonline tepatnya di tb _ det det _ transaksi transaksi dapat dilihat dalam database db _ tokoonline
seperti pada Gambar 4.38.
Gambar 4. 38 Tampilan tb _ det det _ transaksi transaksi pada db_tokoonline
Gambar 4.38 merupakan tampilan dari data yang sudah di-input di- input kan kan menu 1 di toko.py sebelumnya pada Python dan berhasil disimpan ke dalam database db _ tokoonline tokoonline, yaitu dalam tb _ transaksi transaksi, selanjutnya disimpan juga pada tb _ det det _ transaksi transaksi. Terdapat field det _ transaksi transaksi Terdapat field untuk untuk tiap row-nya row-nya seperti, id _ det transaksi adalah 1 dan id _ barang barang adalah 5. Selanjutnya, data yang adalah 1, id _ transaksi json.toko. sudah masuk ke dalam database database tersimpan juga di dalam toko _ json json.json yang ada pada file.json dapat dilihat seperti pada Tampilan toko _ json
Gambar 4.39.
Gambar 4. 39 Tampilan File json.json Tampilan File toko _ json
Gambar 4.39 merupakan tampilan data yang terdapat di dalam file.json json.json, lalu data pada file dengan nama toko _ json pada file tersebut tersebut di unggah ke Dropbox.
json.json yang ada pada Dropbox dapat dilihat seperti pada Tampilan toko _ json
Gambar 4.40.
Gambar 4. 40 Tampilan File json.json upload Dropbox Tampilan File toko _ json Dropbox
Gambar 4.40 merupakan tampilan dari file yang file yang sudah diunggah ke dalam json.json yang sudah dijalankan pada Dropbox. Terdapat file Terdapat file dengan dengan nama toko _ json json.py. Sedangkan, untuk menu 2 adalah modul 2 tepatnya di engine toko _ json
tampilan untuk memperbaharui data (update (update), ), yang mana toko men-download men- download file file bank _ json json.json, lalu data tersebut dibaca oleh engine toko _ dropbox dropbox.py dalam tokoonline setelah masuk ke db _ tokoonline tokoonline di tulis kembali di database db _ tokoonline
ke Dropbox. toko _ json json.json setelah ditulis ke file.json langsung di upload ke dropbox.py seperti Tampilan pilihan menu 2 yang telah di update oleh update oleh engine toko _ dropbox
pada Gambar 4.41.
Gambar 4. 41 Tampilan Menu 2 toko_dropbox.py
Gambar 4.41 merupakan tampilan ketika meng-input meng-input kan kan menu pilihan menu pilihan yaitu Online Kelompok 1. Pilihan menu 2 di toko_dropbox.py pada program Toko Online menu 2 hanya menampilkan sebuah notifikasi yang berisi Update Status, Terdapat perubahan Status Transaksi, Update status suksess sekali, berhasil Upload Updatean data ke toko_json ke Dropbox, maka data tersebut tokoonline. Tampilan telah berhasil di simpan ke dalam database db _ tokoonline toko _ json json.json yang ada di download oleh oleh bank dapat dilihat seperti pada Gambar
4.42.
Gambar 4. 42 Tampilan File json.json Tampilan File Download Download toko _ json
Gambar 4.42 merupakan tampilan data yang di download pada Dropbox json.json. oleh bank yang terdapat di dalam file.json dengan nama toko _ json
4.3.2.2 Tampilan Mengubah Status Tampilan
mengubah
status
adalah
tampilan
ketika
engine engine pada
bank_dropbox.py belum dijalankan. Pertama, status yang ada pada tb _ transaksi transaksi tokoonline dan database db _ bank bank tidak valid , kemudian untuk di database db _ tokoonline tokoonline dan db _ bank bank berubah membuat status yang ada di database db _ tokoonline
menjadi valid harus harus melewati proses yaitu menjalankan engine bank_dropbox .py terlebih dahulu. Kedua, setelah menjalankan engine bank_dropbox .py dengan memasukkan angka 0 status pada semua database database dapat berganti menjadi valid . Tampilan proses untuk mengubah status pada engine bank_dropbox.py dapat dilihat seperti pada Gambar 4.43.
Gambar 4. 43 Tampilan Menu bank_dropbox .py
Gambar 4.43 merupakan tampilan ketika meng-input meng- input kan kan angka 0 di Online Kelompok 1. Terdapat notifikasi bank_dropbox.py pada program Toko Online Kelompok yang berisi Insert Bank, Masuk Data Toko ke Bank, pelanggan, suksesss, berhasil Upload data bank _ json json ke Dropbox, maka data tersebut telah berhasil
bank. Tampilan data yang tersimpan dalam di simpan ke dalam database db _ bank bank tepatnya di tb _ transaksi transaksi dapat dilihat seperti pada Gambar database db _ bank
4.44.
Gambar 4. 44 Tampilan tb _ transaksi transaksi Status Valid
transaksi yang ada pada Gambar 4.44 merupakan tampilan dari tb _ transaksi bank yang sudah diubah statusnya oleh engine konekbank.py menjadi database db _ bank valid. Selanjutnya, tampilan status yang sudah valid pada tb _ transaksi transaksi _ bank bank bank pada Gambar 4.45. yang ada di database db _ bank
Gambar 4. 45 Tampilan tb _ transaksi transaksi _ bank bank Status Valid
transaksi _ bank bank yang ada pada Gambar 4.16 merupakan tampilan dari tb _ transaksi bank yang sudah diubah statusnya oleh engine konekbank.py menjadi database db _ bank valid. Terdapat Selanjutnya, tampilan
tb _ transaksi transaksi yang terdapat pada
db _ intergrasi intergrasi yang statusnya oleh engine konekbank.py berubah menjadi valid
seperti pada Gambar 4.46.
Gambar 4. 46 Tampilan tb _ transaksi transaksi di db _ intergrasi intergrasi
transaksi yang ada pada Gambar 4.46 merupakan tampilan dari tb _ transaksi intergrasi yang statusnya sudah diubah menjadi valid juga oleh database db _ intergrasi
engine konekbank.py dan konek.py. Terdapat field untuk tiap row-nya row-nya seperti, id _ transaksi transaksi adalah
1,
id _ pembeli pembeli adalah
9,
no _ rek rek adalah
119,
total _ transaksi transaksi adalah 25000. Untuk tanggal _ transaksi transaksi otomatis mengikuti
tanggal saat peng-input peng-input an an data dan untuk status otomatis sudah diubah oleh
transaksi pada db _ tokoonoline tokoonoline ikut engine konek.py menjadi valid. Lalu, tb _ transaksi
ke ubah statusnya menjadi valid seperti pada Gambar 4.47.
Gambar 4. 47 Tampilan tb _ transaksi transaksi Status Valid
Gambar 4.47 merupakan tampilan dari tb_transaksi yang ada pada database db _ tokoonline tokoonline yang statusnya sudah diubah menjadi valid juga oleh engine konekbank.py dan
konek.py.
id _ transaksi transaksi adalah total _ transaksi transaksi
1,
adalah
Terdapat field untuk tiap row-nya row-nya seperti,
id _ pembeli pembeli adalah 25000.
Field
9,
yang
no _ rek rek adalah
119,
terdapat
row
pada
tanggal _ transaksi transaksi secara otomatis terisi mengikuti tanggal saat peng-input peng- input an an
data dan untuk status otomatis sudah diubah oleh engine konek.py menjadi valid. json.json yang ada pada file.json dapat dilihat seperti pada Tampilan bank _ json
Gambar 4.48.
json.json Tampilan File toko _ json Gambar 4. 48 Tampilan File
Gambar 4.48 merupakan tampilan data yang terdapat di dalam file.json json.json, lalu data pada file dengan nama bank _ json pada file tersebut tersebut di unggah ke Dropbox. json.json yang ada pada Dropbox dapat dilihat seperti pada Tampilan bank _ json
Gambar 4.49.
Gambar 4. 49 Tampilan File json.json upload Dropbox Tampilan File toko _ json Dropbox
Gambar 4.49 merupakan tampilan dari file yang file yang sudah diunggah ke dalam json.json yang sudah dijalankan pada Dropbox. Terdapat file Terdapat file dengan dengan nama bank _ json json.py. modul 2 tepatnya di engine bank _ json
BAB V PENUTUP
Bab V merupakan penutup dari laporan Praktikum Integrasi Sistem. Laporan mengenai kesimpulan dari keseluruhan modul-modul Praktikum Integrasi Sistem serta saran atau masukan yang diberikan oleh dosen pengampu mata kuliah Praktikum Integrasi Sistem. 5.1
Simpulan
Simpulan yang dapat ditarik dari penulisan laporan Praktikum Integrasi Sistem adalah
5.2
Saran
DAFTAR PUSTAKA
[1]
Budiman, Fikri, dkk. “Desain Integrasi Data Antar Database Epidemiologi untuk Mendukung Pusat Data Kesehatan Dengan Menggunakan SOA Webservice.”
https://media.neliti.com/media/publications/171687-IDhttps://media.neliti.com/media/publications/171687-ID-
desain-integrasi-data-antar-database-epi.pdf (diakses tanggal 20 Mei 2018) [2]
Trish Rose-Sandler, "Introduction to Data Migration." in Visual Resources Association Conference, Kansas, 2007 (diakses tanggal 20 Mei 2018)
[3]
Anonim.
"Sistem,
Informasi,
dan
Sistem
Informasi"
http://elib.unikom.ac.id/files/disk1/498/jbptunikompp-gdl-virgiawanl24857-2-unikom_v-i.pdf 24857-2-unikom_v-i.pdf (diakses tanggal 20 Mei 2018) [4]
Anonim. “Pendahuluan Python” https://belajarpython.com/tutorial/apa -itu python (diakses tanggal 21 Mei 2018) 2018)
[5]
War,
Anggit.
“Dasar
Teori
Python.”
https://id.scribd.com/doc/259356364/Dasar-Teori-Python (diakses tanggal 22 Mei 2018) [6]
Ariwibowo, Singgih. Singgih. “Sinkronisasi” https://www.academia.edu/5459557/Sinkronisasi(diakses https://www.academia.edu/5459557/Sinkron isasi(diakses tanggal 22 Mei 2018)
[7]
T. Albright, dan S. Davis, ”The Elements of Supply Chain Management,” International Journal of Strategic Cost Management Autumn, 1999, pp. 4965.
[8]
G. H. Bodnar, dan W. S. Hopwood, Accounting Information Systems, 9th Edition, New Jersey: Prentice Hall International, Inc., 2010.
[9]
R. M. Grant, ”The ResourceResource -Based Theory of Competitive Advantage,” California Management Review, vol. 33, 1999, pp. 10-20.