• Tidak ada hasil yang ditemukan

MODEL KOMPUTASI OBYEK TERDISTRIBUSI PADA PERUSAHAAN RITEL

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODEL KOMPUTASI OBYEK TERDISTRIBUSI PADA PERUSAHAAN RITEL"

Copied!
5
0
0

Teks penuh

(1)

MODEL KOMPUTASI OBYEK TERDISTRIBUSI PADA

PERUSAHAAN RITEL

Yudhi Kusnanto, ST STMIK AKAKOM Yogyakarta

E-mail: vudhi@akakom.acid

ABSTRAK

Penelimn ini membahas tentang sunlit teknologi renirograman untuk mengeksploitasi sumber daya

2aringan komputer. Dengan teknik ini sekumpulan tomputer yang tergabung dalam suatu sistem jaringan dapat dimanjaatkan secara maksimal untuk

inengerjakan strati, aplikasi yang kompleks dan ornerapkan pola komputasi client :server. Teknologi prmrograman ini disebut CORBA (Common Object

quest Broker Architecture).

Pada penelitian, akan diimplementasikan konsep lamputasi obyek terdistribusi (KOT) penjualan barang

1t

a perusahaan rite!. Perusahaan ini mempunyai rapa toko (outlet). Semua komputer dalam setiap dilnibungkan dengan komputer pusat yang masok informasi seperti harga pokok, keterangan ng barang yang akan dicetak pada nota dll. puter pusat ini juga mengatur penjadwalan untuk ngisi stostoicpada setiap toko.

Hash l yang dicapai pada peneiltian ini adalah o CORBA sangat membantu dalam menciptakan 'ikasi obyek terdistribusi berbasis permrograman

orientasi obyek.

kunci Komputasi Obyek Terdistribusi (KOT), CORBA, ritel

LATAR BELAKANG MASALAH Hadirnya komputer dalam kehidupan ri-hari sekarang ini dirasakan semakin ruhkan. Masyarakat memanfaatkan puter untuk meringankan beban pekerjaan. iputer selalu terlibat dalam setiap jenis rjaan bahkan tuntutan kebutuhan sekarang th setiap komputer menjadi satu kesatuan

jaringan kompUter.

Kecenderungan teknologi komputer eser pada paradigma komputasi rientasi obyek. Hal ini merupakan implikasi berkembangnya pemrograman berorientasi k (PBO). PBO mendefinisikan sebuah sebagai suatu entitas yang berdiri sendiri. trur dari sebuah obyek hanya diketahui oleh si-fungsi yang ada pada obyek tersebut. ikian pula data-data pada sebuah obyek a boleh dimanipulasi oleh fungsi-fungsi mtu didalamnya. Kecenderungan ini

menyebabkan munculnya suatu teknologi baru dalam dunia komputasi yang disebut Komputasi Obyek Terdistribusi (KOT).

KOT merupakan pengembangan dari konsep client/server, yaitu adanya obyek yang berfungsi sebagai client dan adanya obyek yang berfungsi sebagai server. Perbedaan peran dari sebuah obyek, hanya didasarkan pada saat terjadinya permintaan layanan oleh sebuah obyek terhadap obyek yang lain (per-request basis). Oleh karena itu sebuah obyek dapat berfungsi sebagai client pada suatu saat namun pada saat lain dapat menajdi server bagi obyek yang lain. Pengertian ini berbeda dengan konsep client/server yang dikembangkan dengan teknik Remote Procedure Call (RPC), dimana peran sebuah fungsi/prosedur selalu tetap.

Untuk melihat pemanfaatan lebih jauh tentang KOT in akan dibuat implementasi KOT pada penjualan barang-barang di perusahaan ritel yang mempunyai beberapa toko (outlet). Sistem tersebut terdiri dari sebuah gudang bersama, beberapa toko terhubung dengan jaringan dan beberapa mesin Point Of Sales (POS) pada setiap toko. Setiap barang memiliki kode tertentu dan jumlah persediaan barang tercatat pada komputer di gudang. Setiap terminal POS memiliki perangkat pembaca kode bans dan masing-masing POS dihubungkan ke sebuah komputer yang berisi informasi yang khusus untuk toko tersebut (misalnya angka keberuntungan, tingkat pajak d11). Semua komputer dalam setiap toko dihubungkan dengan komputer pusat yang memasok informasi seperti harga pokok, keterangan tentang barang yang akan dicetak pada nota dll. Komputer pusat ini juga mengatur penjadwalan untuk mengisi stok pada setiap toko.

2. TEORI

KOT adalah suatu konsep yang memung-kinkan satu proses dijalankan pada beberapa mesin dengan tidak memandang letak mesin-mesin tersebut. Konsep ini didasarkan pada teknologi pemrograman berorientasi obyek.

(2)

Untuk tnendukung KOT, dibutuhkan sistem operasi yang melayani layanan dasar multitasking dan komunikasi layanan jaringan komputer.

IPC merupakan implementasi awal Kompu-tasi Terdistribusi. Yang menjadi dasar IPC ada-lah mekanisme yang disebut socket. Beberapa tipe domain socket adalah Unix domain, Internet Domain, dan Xerox Network System domain. Masing-masing tipe socket ini dihubungkan dengan protokol tertentu yang sesuai.

RPC dapat dipahami sebagai suatu pola komunikasi aras tinggi yang digunakan di dalam sistem operasi. RPC dikembangkan untuk mewujudkan sistem komunikasi antara client dan server guna mendukung aplikasi jaringan. RPC menganggap keberadaan mekanisme networking aras rendah (seperti TCP/IP dan UDP/IP) disediakan oleh sistem operasi.

CORBA merupakan model obyek abstract yang dikembangkan oleh OMG, dau tidak didasarkan pada teknologi tertentu. Sebuah sistern obyek adalah kumpulan obyek-obyek yang memisahkan client dari server dengan menggunakan interface yang telah didefiniskan. 3. IMPLEMENTASI KOT

Definsi Obyek Pada Sistem

Setiap obyek dianalogikan ke dalam sistem komputer sebagai berikut:

Obyek InputMedia

Obyek ini mensimulasikan perangkat papan ketik dan pembaca kode bans khusus untuk keperluan program contoh mi. Perangkat-perangkat tersebut akan disimulasikan dengan jalan mengirimkan karakter-karakter ke

"Barcodelnput" atau "KeypadInput" Obyek OutputMedia

Obyek ini mensimulasikan fungsi pencetak slip/nota pembelian dan layar penampil untuk menunjukkan status transaksi. Dalam contoh program, hal ini ditampilkan pada layar monitor. Obyek POSTerminal

POS menangani interaksi antara piranti InputMedia dan OutputMedia, mencatat keadaan penjualan, mengijikan kasir baru login dan memberikan laporan POS dan toko.

Obyek Store

Stote menangani sejumlah POS, mejaga data-data penjualan dan melaporkan total penjualan.

Obyek StoreAccess

StoreAccess adalah penghubung antara POS dan depot pusat mengenai akses ke pusat basis data item. Obyek ini dibuat untuk setiap POS yang login ke Store.

Obyek Tax

Obyek ini menentukan apakah sebuah item bernilai pajak dan melakukan perhitungan pajak atas item tersebut. Dalam melakukan perhitungan pajak adalah item pakaian dan makanan selainnya memiliki nilai pajak tertentu. Obyek Depot

Obyek ini adalah obyek yang mengatur dan mengelola stok perusahaan. Obyek ini juga merupakan sumber informasi tentang item yang dijual oelh semua toko.

Obyek PseudoNameService

Melayani query dan pendaftaran obyek.

Dalam mendukung aplikasi mi. Digunakan juga sebuah fungsi yang umum untuk semua obyek yaitu fungsi yang bertugas mencari PseudoNameService (berdasarkan object reference-nya). Fungsi tersebut adalah FindPNS() dengan konstruksi:

// //(Util/FindPNS.h] '- include <PNS.n> PseudoNameSevice_ptr FindPNS (CORBA_ORB_ptr orb);

Deklarasi Obyek CORBA (IDL)

Deklarasi obyek yang dibentuk adalab PseudoNameService, CentalOffice, Store, StoreAccess, Tax, POSTerminal, InputMedia, dan OutputMedia. Dibawah ini akan disajikan 2 (dua) IDL yaitu PseudoNameService di CentalOffice.

PseudoNameService

Obyek ini merupakan gudang informasi dari semua obyek yang disusun dalam suatu struktur:

struct PNSTruct (

CORBA_Object_var obj; Char name[80];

);

Dan i stuktur diatas tampak bahwa informasi yang diismpan adlah nama obyek serta obyek reference-nya. Sedangkan struktur datanya dibentuk dengan membuat senarai berantai :

(3)

Class TreeNode ( public:

TreeNode #m_l eft , #m_ri ght; PNStruct m_item;

TreeNode() m_l eft (0) ,

m_ri ght (0) () );

Fungsi untuk proses penggabungan (binding) sebuah obyek serta fungsi mengetahui atribut sebuah obyek adalah:

'include <PNS_skel.h> 'include "PNSData.h"

class pname_i : vi rtual public

PesudoNameServi ce_skel (PNData

ill...data); public:

pname_i (CORBA_ptr orb) ;

vi rtual void Bi ndName (const char

4'cobjectName , CORBA_Object_ptr

rib

jectRef);

. rtual void CORBA_Object_ptr

solveName (const char

jectName) ;

sehingga client dalam hal ini obyek Store mengakses nama tersebut. Deklarasi dalam bentuk IDL adalah sebagai berikut :

#include "POS.idl" #include "Store.idl" module Cent ralOffi ce (

interface Depot ( void Find (

void Fi ndItemInfo( in Astore: :Astored StoredId,

in POS : :Barcode Item, in long

Quantity, out Astore::ItemInfo

Iinfo)

raises (Astore::BarcodeNotFound); ) ;

) ;

Obyek Depot memiliki fungsi FindltemInfo() yang akan memberikan informasi tentang suatu barang. Apabila gagal dalam memberikan infortriasi yang diminta maka akan membang-kitkan eksepsi yang didefiniaikan dalam obyek lain (Astore::BarcodeNotFound).

larasi obyek ini diwujudkan dalam bentuk sebagai berikut :

terface PseudoNameServi ce

void Bi ndName(in string

lectName , in ObjectRef) ;

lect ResolveName(i n string

riectName) ;

rat Office (Depot)

t merupakan obyek yang mengelola semua tntaan informasi tentang barang baik dalam Lh stok maupun harp dasarnya. Struktur

mirip dengan PNS yaitu : s TreeNode (

ic:

TreeNode "m_left, #m_right; Astore_ItemInfo m_item;

7reeNode() m_left(0),

;ht(0) ()

contoh program ini, informasi tentang disimulasikan dengan sebuah file, namun plikasi sesuangguhnya informasi tersebut dari suatu sistem manajemen basis data.

Depot meregistrasikan din i kepada NameService dengan nama Depot

Deklarasi Obyek dengan RPC

Obyek PNS tidak diperlukan dalam teknik RPC karena client harus mengetahui letak dan keberadaan fungsi-fungsi yang diinginkan. Oleh karena itu hanya fungsi Depot, Store, Tax dan POSTerminal yang diimplementasikan pada sisi server dan sisi client. Pada sisi server langkah yang dilakukan adalah

I. Inisialisasi soket, menggunakan fungsi svctcp_create(RPC_ANYSOCK,0,0) 2. Registrasi fungsi Depot, menggunakan

fungsi svc_register()

3. Siap menerima koneksi, menggunakan fungsi svc_run().

Sedangkan langkah yang dilakukan pada sisi client adalah :

I. Inisialisasi client.

Client perlu mengetahui lokasi (mesin) yang menjalankan server. lnformasi ini dapat diperoleh pada saat kompilasi

Membangun koneksi dengan server, menggunakan fungsi cInttcp_create() dan cInt_call().

lnteraksi dengan pemakai (kasir)

Tugas kasir adalah menerima transaksi dan memasukkan informasi kodebaris barang. Ini berarti rutin-rutin yang menangani pembacaan kode bans dan pencetakkan slip transaksi , perlu disediakan.

(4)

4. HASIL

Dalam menjalankan program digunakan dua buah komputer yang terhubung jaringan untuk membuktikan konsep KOT. Komputer yang pertama berbasis omput operasi Linux sedangkan yang kedua FreeBSD.

Obyek PNS dijalankan pertama kali karena obyek inilah yang akan mencatat pendaftaran obyek lain serta memberikan informasi tentang suatu obyek bila ada yang meminta. (bani dengan tanda merupakan keluaran dilayar monitor).

$ ./PNSServer

Pseudo Name Server up

Kemudian menjalankan obyek Depot yaitu : $ ./CentralServer

pname::BindName — registering Depot

Selanjutnya men jalankan obyek Store

$ ./StoreServer 1 30; StoreServer <StoreNumber> <Markup>

pname_i::BindName — registering Store_1 pname_ir:BindName — registering Tax_1

Angka 1 memberikan identifikasi yang berarti omp nomor 1, sedangkan angka 30 berarti omp tersebut menjual dengan harga 30 X harga pokok.

Obyek berikutnya adalah obyek yang melayani keluaran transaksi :

$ ./outServer 1; outServer <POSNumber>

PNS:--> pname_i::BindName — registering OutputMedia_1

Obyek ini dijalankan dengan parameter 1 yang berarti obyek ini melayani POS terminal nomor I. Yang terakhir dijalankan adalah

$ ./POScIt 1 1; POScIt <StoreNumber> <POSNumber>

pname_i:ResolveName — looking up Tax_1 pname_i::ResolveName — looking up Store_1

pname_i::ResolveName — looking up OutputMedia_1

Arti parameter diatas adalah terminal nomor 1 yang berada dibawah toko nomor L pada layar monitor akan tampil menu seperi dibawah mi.

Command Summary :- L : Login

P : POS Sales Summary T : Total

Q : Quantity X : Exit

Enter code, command(L,P,Q,S,T) or X to exit:

Kasir hams melakukan login terlebih dulu untuk

mendapatkan akses ke menu yang lain. Anggap kasir telah melakukan login dan kemudian terjadi transaksi:

Enter code, command(L,P,Q,S,T) or X to exit: 1 Enter code, command(L,P,Q,S,T) or X to exit: 234234 Enter code, command(L,P,Q,S,T) or X to exit:q2 Enter code, command(L,P,Q,S,T) or X to exit:423552 Enter code, command(L,P,Q,S,T) or X to exit:q10 Enter code, command(L,P,Q,S,T) or X to exit:78971e Enter code, command(L,P,Q,S,T) or X to exit:t Keluarannya pada ompu obyek OuputMedin

adalah 1 234234 Pen 415.40 415.50 ' 2 423552 Pencil 117.50 235.00 ' 10 789789 Peas 367.50 3675.00 ' Taxable Sub_Total := 650.50 Taxes := 32.53 Total := 4358.02

Selanjutnya file PNS.dat (object reference

obyek PNS) disalinkan ke omputer

(FreeBSD). Pada omputer ini tidak di

obyek Store baru, namun hanya OutputMedia dan POS.

5. PENUTUP

Berdasarkan pembahasan diatas dapat bahwa:

1. CORBA sangat membantu pen . menciptakan aplikasi obyek berbasis PBO

(5)

ling dengan metode 1PC maupun RPC, A lebih mudah dihnplementasikan

Siegel, CORBA Fundamentals and imming, John Wiley & Sons, Inc, Management Group, The Common Request Broker : Architecture and .ation, September 1997

[3] Sun Microsystem Inc, Remote Procedure Call Programming Guide, 4.4BSD Programmer Suplement Documentational. [4] Steve Vinoski, CORBA: Integrating

Diverse Application Within Distributed Heterogenous Environments, Majalah IEEE Communication, Vol. 14 no. 2, Februari

Referensi

Dokumen terkait

Teknik pengumpulan data dilakukan melalui observasi dan skala sikap peserta didik.Hasil penelitian yang diperoleh dari lembar observasi aktivitas guru pada siklus

Emotional autonomy atau kemandirian emosional yaitu kemampuan remaja untuk mengatur diri sendiri dan mengekspresikan perilaku yang tidak bergantung pada orang lain,

Hasil penelitian menunjukkan (1) citra Landsat 8 dan SIG menghasilkan tingkat ketelitian tertinggi 99,94% pada Qp, (2) C DAS Bogowonto tinggi dan Qp sebesar 1123,522 m 3 /detik,

Berdasarkan analisis SWOT, alternatif strategi pengembangannya adalah: (1) Mengaplikasikan Teknologi Budidaya dengan CBIB (Cara Budidaya Ikan Baik), (2) Pembenihan

Begitu juga dengan senyawa kompleks inti ganda yang tertera pada Gambar 4.9 transisi yang terjadi tidak hanya dipengaruhi oleh transisi d-d, namun besar kemungkinan dipengaruhi

17 Pada block diagram ini, high period yang berasal dari block diagram otomatis/manual rudder menjadi parameter high period untuk membangkitkan sinyal PWM yang

Beberapa pertimbangan yang harus diperhatikan pada sebuah reaktor agar dapat berjalan secara optimal antara lain kondisi operasi, reaksi yang terjadi dalam reaktor, jenis reaktor

Teknik pengambilan sampel dilakukan dengan cara teknik sampel kelas acak (cluster random sampling), karena populasi tidak terdiri atas individu namun terdiri dari kelompok