T1__Full text Institutional Repository | Satya Wacana Christian University: Implementasi Remote Method Invocation pada Perancangan dan Pembangunan Aplikasi Sistem Informasi Pergudangan: Studi Kasus Gudang Toko Distribusi Barang Restu Anda, Blora T1 Full

Implementasi Remote Method Invocation pada
Perancangan dan Pembangunan Aplikasi Sistem
Informasi Pergudangan
(Studi Kasus: Gudang Toko Distribusi Barang Restu
Anda, Blora)
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk Memperoleh Gelar
Sarjana Komputer

Peneliti:
Andy Kurniawan (672013003)
Christine Dewi

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Januari 2017

1


2

3

4

1.

Pendahuan

Informasi pada zaman sekarang ini merupakan suatu kebutuhan
yang penting untuk menunjang berbagai kebutuhan seperti halnya
pertukaran informasi rahasia yang hanya dilakukan oleh sebuah perusahaan
atau operasi kepada karyawannya sendiri (intranet), demi memenuhi
pertukaran informasi tersebut diperlukannya alat komunikasi atau aplikasi
sistem informasi yang mampu secara mudah dan cepat pengoperasiannya.
Saat ini sudah banyak dikembangkan aplikasi sistem informasi yang
membantu menyalurkan/pertukaran informasi dalam bentuk aplikasi stand
alone maupun penggabungan dari beberapa perangkat komputer

(client/server). Dalam perkembangan aplikasi sistem informasi
bergolongan intranet dapat memanfaatkan teknologi client/server.
Teknologi client/server, client berperan dalam mengambil data dari user
dan melakukan pengiriman ke server. Server berperan dalam proses
penerimaan data dari client, server melakukan pemrosesan berdasarkan
permintaan yang diminta oleh client dan mengembalikan hasil pemrosesan
yang sudah dilakukan. Server menyediakan layanan berupa method-method
yang akan di request oleh client untuk diteruskan ke database. Tekonlogi
client/server sendiri tidak menuntut dijalankan dalam satu perangkat,
namun dapat dijalankan dengan pergabungan beberapa perangkat yang
terhubung menjadi satu kesatuan, sehingga tidak heran teknologi ini
banyak digunakan sebagai media penyebaran informasi, mampu
menghadapi permasalaahn seperti letak geografis yang berbeda.
Toko Restu Anda merupakan salah satu tempat distribusi barang di
Randublatung Blora yang didirikan sejak tahun 1960 oleh Joyo Semito
yang kemudian dikelola oleh anaknya Budi Santoso. Toko Restu Anda
dalam sehari dapat melayani sekitar 70 konsumen. Jenis barang yang
didistribusikan oleh toko Restu Anda sekitar 4000 macam item berupa
bahan pokok/sembako, rokok dan makanan ringan. Dalam tiap minggunya
omset toko distribusi barang ini dapat mencapai 1 miliar, hasil tersebut

didapat hanya dari dintribusi rokok dan tidak termasuk jenis barang
lainnya. Toko Restu Anda dalam sistem bisninya masih menggunakan cara
manual dimana laporan ditulis di buku laporan gudang dan kemudian
disetorkan ke pemilik toko/owner untuk direkap setiap jam empat sore.
Selain masih menggunakan cara manual, letak kedua gudang dengan toko
tidak berada pada satu tempat, berbeda dengan kebanyakan toko distribusi
dimana gudang selalu terletak dibelakang toko, adapun masalah eksternal
yaitu daerah toko Restu Anda sering terjadi pemadaman listrik secara
bergantian sehingga hal ini juga mengganggu jalannya perekonomian.
Berkaitan dengan hal tersebut, terdapat beberapa permasalahan yang
muncul antara lain owner tidak selalu dapat mengetahui jumlah barang
perjenisnya dikarenakan jumlah item yang terlalu banyak untuk diingat,
sedangkan dalam perhari toko dapat melayani 70 pelanggan dan minimal
perminggu toko menerima barang baru dari pabrik, apabila owner tidak
dapat mengetahui secara realtime jumlah barang dari gudang, maka

5

pelanggan dapat dikecewakan karena jumlah barang yang dipesan tidak
terpenuhi atau pembengkakan barang karena barang baru yang datang dari

pabrik. Masalah lainnya owner dan pegawai toko kesulitan mengingat letak
barang, harga barang perjenisnya, informasi detail perbarang, sehingga
pihak toko dalam melayani konsumen sering mengalami process delay, hal
tersebut juga memengaruhi penilaian komsumen kepada kinerja toko dan
enggan untuk menjadi konsumen tetap. Permasalah lainnya apabila
terdapat hilangnya satu catatan barang, karyawan gudang wajib
membongkar ulang tatanan barang untuk melakukan perhitungan kembali.
Berdasarkan permasalahan yang dihadapi oleh Toko Distributor
Barang Restu Anda yang telah dijelaskan, maka toko Restu Anda perlu
membangun aplikasi sistem informasi menggunakan teknologi
client/server sebagai penghubung sekaligus penyelaras pengolahan data
barang antara komputer toko, gudang satu dan gudang dua. Selain itu
teknologi client/server juga dapat melakukan fungsi backup/replikasi data.
Pemodelan penghubung client/server akan dibuat menggunakan metode
remoting menggunakan teknologi RMI pada suatu jaringan LAN (Local
Area Network), selain itu RMI juga termasuk sistem terdistribusi yang
dapat mewujudkan fungsi backup/replikasi data dengan baik, mudah dan
murah. Tujuan utama penelitian ini adalah merancang sekaligus
membangun aplikasi sistem informasi pergudangan pada toko distributor
barang Restu Anda menggunakan teknologi client/server RMI yang

mampu menjawab permasalah toko Restu Anda dalam pengkomputerisasi
sistem, backup/replikasi data, dan penampilan data secara realtime pada
sebuah web untuk hanya diakses oleh komputer toko. Batasan aplikasi yang
akan dirancang ialah aplikasi yang dibuat tidak menggunakan sistem
aplikasi RMI/remote yang berskala besar (enterprise), tidak membahas
mengenai keamanan aplikasi yang akan dirancang, aplikasi ini hanya
membahas bagaimana informasi dapat tersalur dari satu komputer ke
komputer lain dengan layanan remote method server/client RMI sebagai
penyalurnya dan dapat melakukan replikasi data serta server pada aplikasi
ini hanya untuk client RMI bukan untuk client web.

2.

Kajian Pustaka

Beberapa penelitian terdahulu yang berkaitan menggunakan
teknologi sistem terdistribusi RMI dan menjadi referansi, antara lain
penelitian yang berjudul “Implementasi Remote Method Invocation (RMI)
untuk Tes Online Interaktif Multiuser pada Local Area Network (LAN)”
menjelaskan bahwa dengan penggunaan metode RMI beban komputasi

antar server RMI dan client RMI seimbang. Sistem kerja RMI tidak
semuanya harus dikerjakan oleh program server, sebagian proses dapat
dikerjakan oleh program client. Dalam penerapannya pada aplikasi tes
online tersebut dapat dilihat pembagian kinerja antar komputer atau
gambaran sistem terdistribusinya, sehingga dalam pengambilan data soal

6

peran server RMI menyalurkan/menyediakan method dari client untuk
diteruskan ke database. Setelah diolah maka data akan dikembalikan dari
server ke client sebagai hasil olahan berupa nilai tes [1]. Penelitian kedua
berjudul “Pengembangan Sistem Terdistribusi untuk Sistem Informasi
Administrasi Kependudukan dengan Integrasi Teknologi RMI dan Web
Service” menjelaskan pembagian kinerja dari beberapa komputer yang
menjadi server dan apabila dari beberapa komputer ada yang mengalami
permasalahan (server down) maka perangkat lainnya akan tetap berjalan
sekaligus dapat menggantikan peran perangkat yang bermasalah secara
sementara [2]. Penelitian terdahulu yang ketiga berjudul “Implementasi
Java RMI pada Rancang Bangun Tes Toefl Online Berbasis Web” juga
menjelaskan terdistribusinya sistem RMI dalam pembagian kinerja,

dijelaskan server dibagi menjadi tiga, dimana tiap-tiap server saling
terhubung dan hanya memiliki satu hingga dua method saja. Ketiga server
tersebut berjalan bersamaan dan tetap siaga untuk menunggu permintaan
client (request), permintaan yang diinginkan oleh client akan dilanjutkan
RMI registry untuk diarahkan ke server yang memiliki fungsi sesuai
permintaan [3].
Berdasarkan beberapa penelitian terdahulu yang sudah dijelaskan
terkait dengan penerapan teknologi RMI yang akan diimplementasikan
kepada sistem informasi pergudangan, pada penelitian ini terpusat kepada
proses penyampaian informasi dari gudang satu dan gudang dua ke toko
juga sebagai replikasi data secara terdistribusi. Aplikasi yang dirancang
menggunakan java RMI desktop dan sebuah web dengan framework Code
Igniter yang berguna untuk memudahkan pihak developer maupun
development untuk merancang maupun mengembangkan aplikasi.
Teknologi RMI adalah sebuah fasilitas standar Java dan merupakan salah
satu teknologi sistem terdistribusi yang menangani pemanggilan suatu
metode secara jarak jauh, metode yang digunakan ialah server/client
dengan server yang dipanggil dan clinet yang memanggil. Mekanisme
kerja aplikasi dalam menggunakan teknologi RMI dimulai saat server RMI
mendaftarkan remote objeknya ke RMI registry (bind). Setelah proses

bind, RMI registry akan memberikan referensi kepada RMI client,
referensi tersebut berfungsi sebagai remote RMI client untuk memanggil
method-method yang ada pada RMI server dan kemudian dari server akan
diolah maupun disalukan kepada database [4]. RMI juga pemrograman
berorientasi obyek (OOP) yang memungkinkan kita untuk mengirim obyek
sebagai parameter dari remote method. RMI dapat mengembangkan
aplikasi java yang terdistribusi pada jaringan, sehingga pada penelitian ini
RMI akan dimanfaatkan ke replikasi database dengan cara me-remote
server backup/dua untuk menyalin data dari server satu saat dinyalakan.
Sistem informasi merupakan seperangkat komponen yang saling
berhubungan dan berfungsi mengumpulkan, memproses, menyimpan dan
mendistribusikan informasi untuk mendukung pembuatan [5]. Sedangkan
web aplikasi ini menggunakan framework, yang mana framework adalah

7

kumpulan perintah atau fungsi dasar yang membentuk aturan-aturan
tertentu dan saling berinteraksi satu sama lain sehingga dalam pembuatan
aplikasi website, kita harus mengikuti aturan dari framework tersebut.
Dengan framework tidak perlu memikirkan kode perintah perintah/fungsi

dasar dari aplikasi website[6].

3.

Perancangan Sistem dan Motode Penelitian

Pada peneliatian ini akan dilakukan dan diselesaikan dengan 5
tahapan yaitu: 1) Analisis Kebutuhan dan Pengumpulan Data. 2)
Perancangan Sistem. 3) Perancangan Aplikasi. 4) Pengujian Aplikasi. 5)
Penulisan Laporan. Gambar 1 akan menampilkan gambaran dari tahapantahapan penelitian yang digunakan.
Analisis Kebutuhan dan Pengumpulan Data
Perancangan Sistem berupa UML, Database, dan
Tampilan
Perancangan Aplikasi
Pengimplementasian sekaligus pengujian Aplikasi
Penulisan Laporan
Gambar 1 Tahapan-tahapan Penelitian

Tahapan-tahapan penelitian berdasarkan Gambar 1 diatas dapat
dijelaskan bahwa tahap pertama Analisis Kebutuhan dan Pengempulan

Data, pihak peneliti menganalisis permasalahan sekaligus mencari datadata mengenai permasalahan yang berhubungan dengan aplikasi. Pada
tahap pertama didapat SOP dari toko Restu Anda yang menjelaskan urutan
langkah-lah pegawai gudang saat menerima nota dari pemasok maupun
dari pembeli yang akan ditunjukan pada gambar 2.

8

Gambar 2 Flowchart tahapan-tahapan Standard Operating Procedure

Pada gambar 2 dijelaskan bahwa saat pegawai gudang menerima
nota maka pegawai akan menghitung jumlah sesuai nama barang yang
tertera pada nota, apabila jumlah barang tidak sesuai jumlah yang ada pada
nota pegawai akan melaporkan ke owner. Apabila jumlah barang sesuai
maka transaksi selesai dan pegawai menghitung kembali jumlah barang.
Pada tahap kedua hingga keempat dilakukan perancangan sistem informasi
pergudangan sekaligus pengujian aplikasi menggunakan metode
pengembangan sistem prototype. Tahap terakhir dilakukan penulisan
laporan ilmiah dan artikel ilmiah.
Metode pengembangan sistem pada penelitian ini adalah metode
prototype, metode prototype dalam proses pembuatan atau pengembangan

sebuah aplikasi dilakukan komunikasi secara intensif antar pihak developer
dengan client atau owner. Metode ini membantu proses pengembangan
suatu software dengan cara membuat model dari perangkat lunak yang
akan dibuat. Pengembangan software dengan metode ini dilakukan secara
bertahap mulai dari membuat prototype yang sederhana, selanjutnya
prototype akan dikembangkan dari waktu ke waktu hingga pembuatan
software selesai dikembangkan atau sudah sesuai dengan kebutuhan
maupun kesepakatan awal dari owner. Tahap-tahap yang dilakukan pada
metode prototype ditunjukan pada Gambar 3.

9

Gambar 3 Metode Prototype

Tahap pertama dalam metode prototype adalah requirement, pada
tahap ini pengumpulan informasi mengenai bagaimana bentuk program
atau aplikasi akan dibangun. Pengumpulan tersebut dilakukan oleh pihak
peneliti dengan pihak owner toko Restu Anda yang nantinya akan
dijadikan sebagai gambaran aplikasi yang akan dibangun. Berdasarkan
analisa kebutuhan sistem didapatkan bahwa sistem dapat menyimpan
sekaligus menampilkan data, dapat melakukan CRUD (create, read,
update, delete) dengan baik, dan melakukan replika data. Berdasarkan
aplikasi yang dibangun pengguna pada aplikasi ini dibagi menjadi dua
yaitu pemilik toko “Owner” dan karyawan “Operator”. Kewenangan owner
pada aplikasi ini ialah mengelola atau melakukan CRUD data karyawankaryawan termasuk operator, hal lainya yaitu dapat melihat laporan barang
dari tiap gudang. Sedangkan kewenangan dari operator ialah mengelola
atau melakukan CRUD data barang di gudang.
Tahap kedua adalah Build/revise mock-up, pada tahap ini dilakukan
perancangan dan pembuatan prototype sistem. Prototype yang dibuat
disesuaikan dengan kebutuhan atau kesepakatan yang telah didiskusikan
sebelumnya dengan owner. Perancangan sistem dalam penelitian ini dibuat
dalam bentuk diagram UML. Diagram UML meliputi use case diagram,
activity diagram, class diagram dan arsitektur sistem. Use Case
menggambarkan aktor (pengguna aplikasi) dan relasi/interaksi antar
elemen pada aplikasi yang akan dibangun [7]. Perancangan use case
diagram dapat dilihat pada Gambar 4.

10

Hapus Data

Tambah Data

Ubah Data

Pengolahan Data Pegawai

Pengolahan Transakasi Barang

Operator

Pengolahan Data Barang

Pemilik

Melihat Hasil Transaksi Barang

Tambah Data
Ubah Data
Cetak Data
Hapus Data

Gambar 4 Use Case Diagran Aplikasi Sistem Informasi Pergudangan

Gambar 4 Menunjukkan pada Aplikasi Sistem Informasi
Pergudangan terdapat dua aktor yaitu Pemilik yang mengambarkan peran
Owner toko Restu Anda dan Operator yang menggambarkan karyawan
yang bertugas pada gudangnya. Pemilik dapat mengelola data semua
pegawai toko, monitoring data transaksi barang masuk dan keluar,
mencetak hasil laporan transaksi barang. Sedangkan Operator melakukan
penginputan barang yang masuk maupun keluar dari masing-masing
gudang. Bagian UML yang selanjutnya ialah Activity Diagram, activity
diagram menggambarkan alur akitivitas yang dapat dilakukan tiap aktor
dalam melakukan tugas atau wewenangnya dalam aplikasi yang dirancang.

11

Gambar 5 Activity Diagram Owner/Pemilik pada Aplikasi Sistem informasi Pergudangan

Pada Gambar 5 merupakan activity diagram pemilik yang
menjelaskan urutan aktivitas apa saja yang dapat dilakukan dalam
pengaksesan sistem informasi. Aktivitas dimulai dari Login ke aplikasi,
apabila username dan password terdaftar maka akan ke tampilan
home/beranda, aktor dapat memutus tindakan apa yang akan diambil
berdasarkan tiga pilihan yaitu melihat hasil transaksi barang, mencetak
transaksi barang, mengolah data pegawai, mengolah data barang. Pada
Gambar 6 menggambarkan Activity Diagram aktor lainnya yaitu Operator.

12

Gambar 6 Activity Diagram Operator pada Aplikasi Sistem Informasi Pergudangan

Gambar 6 merupakan activity diagram operator yang mejelaskan
urutan apa saja yang dapat dilakukan oleh operator dalam menjalankan
wewenangnya pada aplikasi yang akan dirancang. Aktivitas dimulai dari
Login ke aplikasi, apabila username dan password terdaftar maka akan
langsung ke form data barang, dalam form data barang tersebut operator

13

dapat secara langsung melakukan proses input data baru maupun merubah
data sesuai kebutuhan.
Class Diagram membantu dalam visualisasi struktur semua kelas
yang ada dari suatu sistem. Class Diagram memperlihatkan relasi antar
kelas dan penjelasan secara detail dari tiap – tiap kelas di dalam model
desain dari suatu sistem [8].

Gambar 7 Class Diagram Aplikasi Sistem Informasi Pergudangan

Gambar 7 merupakan penggambaran class diagram dari aplikasi
yang akan dibangun. Didalam Class Diagram terdapat tiga jenis class yang
digunakan yaitu class boundary, class controller, dan class entity. Class
boundary merupakan tampilan user interface, class controller berisi
method-method yang digunakan untuk mengolah data dari model dan
menampilkannya pada user interface, dan class entity digunakan untuk
melakukan komunikasi antara aplikasi dengan database.
Arsitektur sistem menjelaskan konsep desain arsitektur aplikasi
yang akan dirancang dan dibangun. Program apa saja yang digunakan serta
arus alur yang terjadi pada program serta relasi antar program tersebut.
Berikut gambar 8 akan menjelaskan mengenai arsitektur sistem.

14

Gambar 8 Arsitektur Aplikasi Sistem Informasi Pergudangan

Gambar 8 merupakan penggambaran dari arsitektur aplikasi yang
akan dibangun. Pemakai aplikasi dibagi menjadi tiga, yaitu owner/pemilik
toko yang dapat mengakses segala informasi dari database memaluli
tampilan web, sedangkan aktor lainnya yaitu dua operator yang
mengoperasikan aplikasi desktop/RMI client yang akan melakukan
request/remote kepada RMI server untuk mengambil data dari database.
Setelah perancangan sistem yang digambarkan melalui UML yang
sudah dijelaskna mengenai aplikasi yang akan dibangun, maka SOP dari
kinerja karywan gudang akan mengalami perubahan seperti pada gambar 9.

Gambar 9 Flowchart tahapan-tahapan Standard Operating Procedure setalah adanya
Aplikasi Sistem Informasi Pergudangan

Pada gambar flowchart diatas dijelaskan bahwa ada perubahan
beberapa tahap dari SOP sebelumnya sebelum adanya aplikasi, pada SOP
sebelum adanya aplikasi pegawai menghitung dua kali setiap ada nota

15

masuk/transaksi barang. Flowchart SOP gambar 9 dijelaskan pegawai tidak
perlu menghitung jumlah barang sebelum dan sesudah transaksi, tetapi
pegawai cukup menginputkan perubaha stock barang pada aplikasi, disisi
lain owner tidak ada akan memberi jumlah yang salah dikarenakan owner
sudah dapat melihat jumlah barang dari toko melalui web. Adapun validasi
yang ada pada flowchart ditujukan hanya untuk pengoreksian barang
datang dari pemasok.

4.

Hasil dan Pembahasan

Hasil dari sistem yang dibangun adalah aplikasi desktop java RMI
berupa client/server RMI yang dihubungkan dengan jaringan LAN dan web
dengan framework CI yang natinya hanya diakses oleh owner. Aplikasi
desktop terdiri dari empat program, yaitu client gudang satu dan dua,
server satu dan dua. Server dua berperan sebagai backup dari server satu
dan tiap server mempunyai method replikasi data database guna
menghindari kehilangan data penting juga mengantisipasi jikalau ada
pemadaman listrik proses penginputan akan tetap berjalan biasa karena ada
server backup/dua. Aplikasi web yang dibangun tidak terlibat dengan RMI,
sehingga segala method yang ada pada web tidak berhubungan dengan
method server RMI.
Pengguna aplikasi sistem informasi pergudangan di bagi menjadi
dua, yaitu operator yang berperan menginputkan data barang dan data
pemasok barang, sedangkan owner dapat monitoring seluruh informasi dari
data barang, pemasok, dan data karyawan. Pada gambar 10 merupakan
form utama dari aplikasi dimana seluruh fungsi CRUD akan dikerjakan di
form tersebut, dari menampilkan semua barang di gudang, proses input
data baru, mengolah jumlah, termasuk mencari data barang yang
diinginkan.

Gambar 11 Form Barang Aplikasi Sistem Informasi Pergudangan

16

Gambar 11 Form Pemasok Aplikasi Sistem Informasi Pergudangan

Gambar 11 adalah form data pemasok yang memperlihatkan
seluruh data pemasok yang memasok barang pada toko Restu Anda. Fungsi
penampilan data secara realtime pada aplikasi desktop seperti gambar 10
dan 11 terdapat pada setiap button yang telah disisipkan fungsi request
menampilkan data pada server, sehingga owner tidak perlu waktu lama dan
akurat dalam memberikan keputusan berdasarkan sistem informasi yang
telah ada. Alur RMI pada aplikasi sistem aplikasi pergudangan terdiri dari
tiga projek yaitu BarangInterface, ClientBarang, ServerBarang, seperti
pada gambar 12.

Gambar 12 Printscreen 4 projek yang yang digunakan pada aplikasi

Berikut penjelasan potongan kode-kode RMI yang
penggambungan aplikasi sistem informasi pergudangan.

ada

Kode Program 1 Bind RMI pada Aplikasi Sistem Informasi Gudang
1.
2.
3.
4.
5.
6.
7.

public interface remote extends Remote{
public Boolean getInfo(String id, String password) throws
RemoteException,SQLException;
public Boolean insertData (modelbarang b) throws
RemoteException,SQLException;
public List getall() throws
RemoteException,SQLException;
public List getcari(String cari) throws
RemoteException,SQLException;
public Boolean deletedata(String kode) throws
RemoteException,SQLException;
public Boolean updatedata(modelbarang b) throws

17

dalam

Bind pada kode program 1 merupakan nama remote-remote yang
digunakan oleh client untuk me-request sebuah method ke server. Methodmethod yang disediakan oleh server dijelaskan dari baris 2 hingga 7
diamana berisi request getInfo, insert, getaAll, getcari, delete, dan update.
Kode Program 2 Controller Server RMI
1.
2.
3.
4.
5.
6.
7.

@Override
public Boolean getInfo(String id, String password) throws
RemoteException, SQLException{
boolean dongo = false; dongo = new dao(new
koneksi().getConnection()).getInfo(id, password);
return dongo; }
@Override
public Boolean insertData(modelbarang b) throws RemoteException,
SQLException {
boolean cek = false; cek = new dao(new
koneksi().getConnection()).insertdata(b); return cek; } }

}

Controller Server RMI berperan sebagai penerima pemancar dari
remote client, seperti pada baris 3 dongo = new dao(new koneksi().getConnection()).getInfo(id,
password); menjelaskan variabel dongo dengan membawa data (id, password) untuk
diteruskan ke DAO/tempat method server berada. Begitupula hal tersebut
berfungsi sama seperti method insertData.
Kode Program 3 DAO Server RMI
1.
2.
3.
4.
5.
6.
7.
8.
9.

public class dao {
private Connection conn;
public Boolean insertdata(modelbarang b) throws SQLException {
PreparedStatement pstm = conn.prepareStatement("INSERT INTO barang
VALUES (?,?,?,?,?,?,?)"); }
public List getData() {
List data = new ArrayList(); try{
PreparedStatement ps = conn.prepareStatement("SELECT * FROM barang
order by kode"); }} }

DAO Server RMI merupakan class yang berisi method-method
yang dibutuhkan aplikasi dalam sepanajng pengoperasian. Dijelaskan pada
baris 3 merupakan method boolean “inserdata”, method tersebut berfungsi
untuk menginputkan data baru dari request client yang akan diteruskan ke
database melalui kode baris ke-4. Pada baris 5 ada method “getData” dari
database ke user interface client.
Kode Program 4 Controller Client RMI
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.

public class controlclient {
public controlclient() throws RemoteException, NotBoundException {
try{
regis = LocateRegistry.getRegistry("localhost", 1234); rem =
(remote) regis.lookup("server");
} catch (Exception e) { System.out.println("Kesalahan pada Server/
Server belum menyala"); }}
public boolean getInfo(String id, String password) throws
RemoteException, SQLException { return rem.getInfo(id, password); }
public List getData() throws RemoteException,
SQLException {
List data = rem.getall(); return data; }
public boolean insertData(modelbarang b) throws RemoteException,
SQLException { return rem.insertData(b); }}

18

Controller Client RMI merupakan sarana remote untuk me-request
sebuah method controller server kemudian diteruskan ke DAO server
RMI. Pada class “controlclient” baris 3 merupakan registration ke alamat
server dan sekaligus port dari server tersebut dan juga remote server atau
nama server yang dituju yaitu “server”. Pada baris 5 hingga 14 dijelaskan
method-method yang berfungsi menyalurkan apa yang diminta client untuk
di remote kan kepada controller server sesuai alamat bind RMI yang telah
dibuat sebelumnya.
Kode Program 5 Back up/Replikasi Data
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

private boolean cekKoneksi() {
regis = LocateRegistry.getRegistry("alamar server",port);
rem = (remote) regis.lookup("server2"); )
private void backupbarang() throws RemoteException, SQLException {
if (cekKoneksi()) {
List temp = rem.getall();
List data = new dao(new
koneksi().getConnection()).getData();
for (modelbarang model : temp) {
for (modelbarang brng : data) {
if (brng.getKode().equals(model.getKode())) {
new dao(new koneksi().getConnection()).deletedata(brng.getKode());}}
new dao(new koneksi().getConnection()).insertdata(model); } } }

Saat server satu diaktifkan, pertama server akan melakukan
pengecekan apakah server dua menyala atau tidak. Seperti baris 5, jika
server dua menyala maka server satu akan mengambil semua data dari
server dua dan dapat diliat pada fungsi rem.getall() yang mana rem merupakan
remote untuk registry ke server dua. Pada baris 10 apabila ditemukan data
yang sama dengan beberapa entity yang berbeda maka data tersebut akan
dihapus dari server satu dengan fungsi deletedata(brng.getKode()) dan kemudian
diinputkan kembali dengan fungsi insertdata(model), teknik ini biasanya disebut
replace data. Demikian keseluruhan replikasi data dari databse dua ke
database satu melalui server dua direplikasi ke server satu.
Replikasi data pada aplikasi sistem informasi gudang Restu Anda
merupakan salah satu fungsi sangat penting dimana apabila ada
pemadaman listrik sepihak maupun hilangnya data pada database maka
proses kinerja aplikasi akan tetap dapat berjalan. Fungsi replikasi ialah
menyalin data database dari server satu ke server lainnya.

Gambar 13 Keadaan saat server satu dan server dua dinyalakan

19

Dalam menjalankan aplikasi ini pertama menghidupkan dahulu
server satu, server satu akan melakukan pengecekan apakah server dua
menyala atau tidak. Pada gambar 13 menunjukan server satu melakukan
pengecekan dan didapat server dua tidak menyala. Dan disisi lain saat
server dua dinyalakan sesudah server satu menyala maka server dua
melakukan backup/replikasi data dari server satu.

Gambar 14 Keadaan awal database sebelum server satu dan server dua dijalankan &
Gambar 15 Keadaan sesudah dilakukannya replikasi data

Pada gambar 14 dijelaskan bahwa nama database server satu ialah
“gudang”, sedangkan nama database server dua adalah “gudang3”.
Database gudang diasumsikan sudah memiliki data barang toko Restu
Anda, sedangkan database gudang3 belum memiliki data satupun. Pada
gambar 15 adalah hasil dimana setelah dilakukanya replikasi data yang
dilakukan oleh server dua dari database server satu.

Gambar 16 Replikasi data pada database server dua

Pada Gambar 16 dilakukan pengujian apabila pada server satu
sudah berjalan dan kemudian operator merubah jumlah stock pada barang

20

“Mie Sedaap Goreng”, maka akan ditemukan perbedaan jumlah stock
antara database server satu dan databse server dua. Pada gambar
selanjutnya merupakan hasil setelah dilakukannya replikasi data seperti
yang dijelaskan kore program 5, data “Mie Sedaap Goreng” pada database
server dua dihapus lalu inputkan kembali dengan data yang sama dengan
database server satu.
Perancangan web pada aplikasi sistem informasi pergudangan
menggunakan framework CI, dimana CI membantu dengan fitur-fitur yang
dimilikinya serta menggunakan arsitektur Model View Controller,
membuat susunan program lebih rapih dan terstruktur. Gambar 17 adalah
tampilan web laporan barang, laporan gudang berisi data barang yang ada
pada gudang 1 dan gudang 2 serta owner. Pada halaman ini sudah diatur
untuk melalukan pemuatan ulang halaman/auto refresh, sehingga owner
dapat melihat data barang secara realtime.

Gambar 17 Tampilan Web laporan barang di gudang
Kode Program 6 Auto Refresh pada tampilan Web data barang
1.
2.
2.




4.

5.

6.
function autoRefresh(){ $("#result").load("load.html"); }
7.
setInterval('autoRefresh()', 500);
8.

9.

10.
11.

Kode program 6 merupakan program untuk memuat ulang halaman
data barang. Fungsi refresh dimasukan kedalam “meta” pada baris 2,
kemudian pada pada baris 6 ada fungsi untuk memerintah “div” yang
memiliki nama id ‘result’ untuk meng-load ulang pada alamat yang dituju.
Pengujian aplikasi dilakukan dengan menggunakan metode
blackbox yaitu dengan menguji masing masing fungsi yang telah dibuat
dalam aplikasi untuk menemukan kesalahan/bug pada sistem. Pengujian
aplikasi dilakukan agar sistem yang sudah dirancang dapat berjalan sesuai
dengan apa yang diinginkan dan diharapkan oleh pengguna serta dapat
memenuhi kebutuhan user. Pengujian blackbox adalah pengujian yang

21

hanya memperhatikan input dan output-nya saja tanpa memperdulikan alur
proses yang ada pada sistem. Tabel 1 akan menjelaskan blackbox dari
sistem yang dirancang.
Tabel 1 Hasil Pengujian Blackbox
Fungsi yang diuji

Kondisi

Output yang
diharapkan

Output yang
dihasilkan Sistem

Status
Pengujian

Replikasi data dari
server satu ke server
dua
Replikasi data dari
server dua ke server
satu
Request menampilkan
data barang

Server satu sudah
menyala dan server dua
baru dinyalakan
Server dua sudah
menyala dan server satu
baru dinyalakan
Server satu menyala dan
server dua mati

Sukses
replikasi

Sukses replikasi

Valid

Sukses
replikasi

Sukses replikasi

Valid

Sukses tampil data
pada halaman data
barang

Valid

Request menampilkan
data barang

Server satu mati dan
server dua menyala

Sukses tampil data
pada halaman data
barang

Valid

Request menambah
data barang baru
Request edit data
barang dari database
server satu

Server satu menyala dan
server dua mati
Server satu dan server
dua menyala, kemudian
ditengah proses edit
sebul submit server satu
mati
Server satu dan server
dua menyala, kemudian
ditengah proses edit
sebul submit server satu
mati

Sukses tampil
data pada
halaman data
barang
Sukses tampil
data pada
halaman data
barang
Sukses tambah
data
Sukses edit
data barang ke
database
server dua

Sukses tambah
data
Sukses edit data
barang ke database
server dua

Valid

Sukses tampil data
pemasok dari
database server
dua pada halaman
data pemasok

Valid

Sukses edit data
pemasok tetapi
tersimpan pada
database server
satu

Valid

Sukses delete data
barang
Idetifikasi server
lain menyala,
sedangkan proses
repilkasi gagal

Valid

Sukses refresh

Valid

Request menampilkan
data pemasok

Request edit data
pemasok dari database
server dua

Server satu mati dan
server dua menyala,
kemudian server satu
menyala

Request delete data
barang
Replikasi data
database

Server satu menyala

Auto refresh laporan
data barang web

Server satu sudah
menyala dan server dua
baru dinyalakan, proses
cekkoneksi berhasil dan
kemudian proses replika
data server satu mati
Halaman refresh
otomatis

Sukses tampil
data pemasok
dari database
server dua
pada halaman
data pemasok
Sukses edit
data pemasok
tetapi
tersimpan pada
database
server satu
Sukses delete
data barang
Idetifikasi
server lain
menyala,
sedangkan
proses replikasi
gagal
Sukses refresh

Valid

Valid

Berdasarkan pengujian yang dilakukan pada aplikasi dapat dilihat
status pengujian dari setiap fungsi valid, maka disimpulkan bahwa aplikasi
ini berjalan dengan baik dan sesuai yang diharapkan.

5.

Simpulan

Berdasarkan dari penelitian yang dilakukan, maka dapat diambil
simpulan bahwa aplikasi desktop yang menggunakan teknologi
client/server dimana pemanggilan menggunakan metode remoting pada
suatu jaringan LAN dan dapat melakukan fungsi backup/replikasi data
dapat dirancang dengan mudah menggunakan teknologi java RMI. Fungsi

22

penampilan data secara realtime pada web dengan cara auto refresh dan
aplikasi desktop dengan cara menyisipkan fungsi tampil data pada setiap
button sudah mampu menjawab permasalah yang ada pada toko Restu
Anda sehingga pengguna aplikasi tidak direpotkan dengan pemuatan ulang
halaman secara manual dan juga mengurangi kesalahan informasi. Dengan
menggunakan teknologi RMI apabila ada penambahan media komputer
atau pengembangan aplikasi dapat dilakukan dengan mudah serta tanpa
perlu menghambat kinerja aplikasi yang sudah berjalan.

6.

Pustaka

[1]

Wikana, dkk. 2011. “Implementasi Rremote Method Invocation
(RMI) untuk Tes Online Interaktif Multiuser pada Local Area
Network (LAN)”. Yogyakarta: Jurnal Informastika UKDW.
Dharmasurya, dkk. “Pengembangan Sistem Terdistribusi untuk
Sistem Informasi Administrasi Kependudukan dengan Integrasi
Teknologi RMI dan Web Service”. Salatiga: Jurnal Teknologi
Informasi aiti UKSW volume 10 no 1.
Lestari, dkk. 2011. “Implementasi Java RMI pada Rancang Bangun
Tes Toefl Online Berbasis Web”. Semarang: Jurnal Undip volume
13 no 3.
Susanto, Budi. 2003, “Pemrograman Client/Server dengan Java 2”,
Jakarta, EIex Media Komputindo
Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Yogyakarta:
Andi
S.Hut, Wardana. 2010. “Menjadi Master PHP dengan Framework
CodeIgniter”. ISBN
9789792781892. Penerbit: Elex Media
Komputindo
Nugroho, Adi. 2005. “Rational Rose Untuk Pemodelan
Berorientasi Objek”. Bandung: Informatika.
Sulistyorini, Prastuti. “Pemodelan Visual dengan Menggunakan
UML dan Rational Rose”. Pekalongan: STMIK Widya Pratama.

[2]

[3]

[4]
[5]
[6]

[7]
[8]

23

Dokumen yang terkait

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

PENILAIAN MASYARAKAT TENTANG FILM LASKAR PELANGI Studi Pada Penonton Film Laskar Pelangi Di Studio 21 Malang Town Squere

17 165 2

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

PEMAKNAAN MAHASISWA TENTANG DAKWAH USTADZ FELIX SIAUW MELALUI TWITTER ( Studi Resepsi Pada Mahasiswa Jurusan Tarbiyah Universitas Muhammadiyah Malang Angkatan 2011)

59 326 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

STRATEGI KOMUNIKASI POLITIK PARTAI POLITIK PADA PEMILIHAN KEPALA DAERAH TAHUN 2012 DI KOTA BATU (Studi Kasus Tim Pemenangan Pemilu Eddy Rumpoko-Punjul Santoso)

119 459 25