bab ii dasar teori - · pdf filemembuat template laporan meliputi layout dan isi dari laporan...
TRANSCRIPT
1
BAB II
DASAR TEORI
Pada Bab II ini akan dibahas mengenai dasar teori yang digunakan untuk mengerjakan Tugas
Akhir. Dasar teori tersebut dimulai dari penjelasan mengenai pengertian Business process,
konsep tentang pelaporan yang akan menjadi output dari sistem, Business Process
Outsourcing untuk mendapatkan gambaran implementasi sistem yang akan dibuat, Business
Process Excecution Language untuk merepresentasikan aturan pembuatan laporan, dan
penjelasan mengenai protokol yang digunakan untuk mengumpulkan data mentah, dalam hal
ini adalah Short Message Service.
2.1 Business process
Business process adalah sebuah himpunan aktifitas atau proses yang ditujukan untuk
menghasilkan keluaran yang spesifik pada customer atau pasar tertentu [DAV93]. Definisi
lain dari business process adalah: sebuah langkah-langkah untuk menghasilkan sebuah produk
atau service [RUM95], dan sebuah kumpulan dari pekerjaan-pekerjaan yang saling
berhubungan untuk menyelesaikan suatu permasalahan [WIB07]. Business process
merupakan inti dari seluruh aktivitas pada suatu perusahaan atau organisasi. Untuk mencapai
tujuan perusahaan, business process lah yang akan memberdayakan seluruh sumber daya
yang ada pada perusahaan. Tapi yang perlu diketahui adalah bahwa setiap bisnis memiliki
proses masing-masing yang unik, sesuai dengan karakteristik dari perusahaan dan bidang
usahanya, seperti proses pembuatan produk ataupun layanan baru, pengadaan supply,
menjawab pertanyaan pelanggan, ataupun rekruitasi karyawan baru, yang tentunya memiliki
perbedaan karekteristik tersendiri untuk setiap perusahaan. Pembuatan laporan merupakan
salah satu business process yang terdapat pada setiap perusahaan karena dengan pelaporan
tersebut, perusahaan dapat menganalisis pelaksanaan bisnisnya.
2.2 Laporan
Report atau biasa disebut dengan laporan adalah suatu dokumen yang menyajikan informasi
tertentu tentang suatu keadaan atau berita yang memiliki nilai informasi bagi pembaca laporan
tersebut [WON07]. Tujuan dari laporan adalah untuk menginformasikan sesuatu. Laporan
dapat berisi elemen persuasif, seperti rekomendasi, saran atau kesimpulan lain yang
memungkinkan pengambilan keputusan untuk pelaksanaan ke depan [WIK07]. Laporan juga
bisa bersifat publik atau privat.
II-2
Sebuah laporan dapat mempunyai bentuk yang sederhana namun bisa juga kompleks,
tergantung kebutuhan pembaca laporan tersebut. Laporan yang kompleks bisa memiliki
elemen-elemen berupa gambar, grafik, bagan, tabel dan lain sebagainya. Elemen-elemen
tersebut digunakan untuk mempermudah pembaca laporan dalam mengerti apa yang ingin
diinformasikan dalam laporan tersebut.
Laporan merupakan suatu dokumen penting yang harus dipunyai oleh setiap pelaku bisnis,
karena dengan laporan, setiap pelaku bisnis akan dapat menganalisis kemajuan bisnisnya
berdasarkan data-data yang terdapat dalam laporan tersebut.
2.2.1 Jenis Laporan
Ada dua jenis laporan berdasarkan kompleksitas informasi yang ditampilkan [IOR99]:
1. Laporan sederhana
Laporan sederhana merupakan laporan yang menyajikan informasi rekapitulasi data
mengenai keadaan sebuah area bisnis tertentu. Contoh dari laporan ini adalah laporan
bulanan penjualan dan pembelian, laporan penjualan dan pembelian pada waktu
tertentu, laporan inventaris perusahaan dan sebagainya.
2. Laporan kompleks
Laporan jenis ini lebih kompleks dari jenis laporan diatas karena laporan jenis ini
lebih bersifat menganalisis dan meramalkan keadaan dibanding melihat keadaan yang
sedang terjadi. Untuk membuat laporan jenis ini, diperlukan algoritma yang cukup
rumit dan data mining yang melibatkan banyak data dari laporan sederhana.
Pembuatan laporan pada Tugas Akhir ini difokuskan pada pembuatan laporan dengan jenis
laporan sederhana karena hasil pengolahan laporan pada tugas akhir ini berupa laporan
rekapitulasi data mentah seperti laporan bulanan penjualan dan pembelian yang termasuk ke
dalam jenis laporan ini.
2.2.2 Peranan Laporan
Laporan memiliki peran yang cukup penting. Berikut adalah alasan kenapa laporan memiliki
peranan yang penting [IOR99]:
1. Accountability Reasons, laporan memudahkan kita dalam melakukan penghitungan
data.
2. Program Monitoring Reasons, laporan memudahkan kita untuk memonitor program
yang sedang dijalankan.
II-3
3. Program Evaluation Reasons, laporan memudahkan evaluasi pengerjaan program.
4. Program Improvement Reasons, laporan memudahkan improvisasi pengerjaan
program.
5. Sharing the Lessons Learned with Others, laporan memudahkan setiap pembaca
laporan untuk bertukar pengalaman.
6. To Check on Progress¸laporan memudahkan kita untuk melakukan cek progress
setiap pekerjaan.
7. To Identify Needed Program Changes, laporan memudahkan kita untuk
mengidentifikasi perubahan.
8. To Assess Productivity and Results, laporan memudahkan penaksiran produktivitas
dan hasil.
9. To Monitor Resource Utilization, laporan digunakan untuk memonitor penggunaan
sumber daya.
10. To Decide Future Support, laporan digunakan untuk mendukung pemilihan putusan
di masa depan.
11. To Document Program Impacts, laporan digunakan untuk mendokumentasikan efek
dari program yang dikerjakan.
2.2.3 Proses Pembuatan Laporan
Pembuatan laporan bisa dilakukan secara manual dan menggunakan aplikasi. Pembuatan
laporan secara manual memerlukan sumber daya manusia yang akan mengumpulkan data dan
mengolah data tersebut. Untuk level data yang tidak besar, proses ini masih relevan dan
memungkinkan untuk dilakukan, namun dengan jumlah data besar yang sangat banyak dan
proses pengolahan dengan algoritma yang kompleks , aplikasi pembuatan laporan berupa
report generator sangat diperlukan.
Report generator didapatkan dengan dua cara, membeli atau membangun sendiri. Terdapat
beberapa kebutuhan yang harus dimiliki oleh report generator, di antaranya adalah
kemudahan customisasi, karena business process perusahaan yang sewaktu-waktu bisa
berubah, dan, kemampuan menangani aneka ragam data mentah yang masuk. Untuk itulah
aplikasi report generator haruslah mudah dikustomisasi proses pembuatan laporannya.
Berikut adalah beberapa langkah untuk membangun sebuah sistem pelaporan di sebuah
perusahaan atau organisasi [ENP07]:
1. Membuat daftar laporan yang akan dibuat.
2. Membuat template laporan meliputi layout dan isi dari laporan tersebut.
3. Membuat spesifikasi dan dokumentasi dari setiap laporan.
II-4
4. Membuat navigasi untuk mempermudah pembaca membaca informasi yang terdapat
di laporan.
5. Review spesifikasi dan navigasi dengan calon pembaca laporan.
2.2.4 Pembuatan Laporan Sebagai Business Process
Salah satu business process yang terdapat pada setiap perusahaan adalah pembuatan laporan.
Pembuatan laporan ini diperlukan karena hasilnya akan digunakan sebagai bahan analisis
pelaksanaan bisnisnya. Hasil dari pembuatan laporan dapat berupa laporan mengenai
penjualan produk, laporan jumlah barang yang berada di dalam gudang, maupun laporan
keuangan.
Pada umumnya, laporan yang harus dibuat oleh perusahaan didapatkan dari data mentah yang
perlu dilakukan pengolahan lebih lanjut. Salah satunya adalah data mentah yang didapatkan
melalui media File Transfer Protocol (FTP), maupun melalui Short Message Service (SMS)
dari telepon selular.
2.3 Business Process Outsourcing
2.3.1 Definisi
Business Process Outsourcing (BPO) didefinisikan sebagai perpindahan business process
suatu perusahaan dari dalam perusahaan ke penyedia layanan di luar perusahaan tersebut
[DUT05]. Secara umum, BPO menyediakan sebuah layanan untuk melakukan sebagian
business process dari perusahaan tanpa harus menjadi bagian dari perusahaan itu sendiri.
Pelaksanaan BPO didukung sedikitnya dua pelaku utama [DUT05], yaitu:
1. Penyedia layanan BPO.
Penyedia layanan ini biasanya berupa perusahaan atau aplikasi yang berjalan dengan
menggunakan konsep outsourcing.
2. Pengguna layanan.
Pengguna layanan pada umumnya adalah perusahaan yang menginginkan adanya
outsourcing business process yang bukan merupakan core-competence dari
perusahaan itu.
Karena BPO merupakan suatu konsep di mana business process perusahaan dijalankan secara
outsourcing, arsitektur dari aplikasi yang menggunakan konsep BPO dapat menjadi berbeda
antara satu dengan yang lain dikarenakan perbedaan dalam penanganan business process-nya
maupun penanganan outsourcing-nya. Oleh karena itu, diperlukan suatu gambaran umum
II-5
mengenai arsitektur dari BPO yang didapatkan dari contoh-contoh aplikasi BPO yang sudah
lebih dulu ada seperti berikut:
1. ColdFusion dari Macromedia.
Sebagai sebuah aplikasi perangkat lunak pendukung konsep outsourcing yang cukup
terkenal, Macromedia ColdFusion mendefinisikan outsourcing sebagai sebuah proses
di mana suatu organisasi melakukan kontrak dengan organisasi lain untuk mengurusi
satu atau beberapa proses bisnisnya[CFS07]. ColdFusion dimiliki oleh Macromedia.
Gambar umum mengenai BPO berdasarkan ColdFusion [CFS07] dapat dilihat pada
Gambar II.1 :
Gambar II.1 Business Process Outsourcing
Pada Gambar II.1 diperlihatkan bahwa beberapa business process perusahaan yang
bukan merupakan core-competence-nya seperti HR/Payroll, Benefits, Information
Technology, dan Accounting&Finance dapat dipindahkan keluar perusahaan tersebut
untuk di outsource kepada pihak lain.
2. MachroTech.
Salah satu contoh penyedia layanan BPO lain adalah MachroTech . MachroTech
merupakan salah satu penyedia layanan outsourcing yang cukup terkenal di dunia dan
mempunyai banyak client perusahaan-perusahaan besar yang melakukan outsourcing
terutama di bagian Offshore Software Development dan Ecommerce Consulting.
II-6
Gambar umum mengenai BPO berdasarkan MachroTech [MCR07] dapat dilihat pada
Gambar II.2 :
Gambar II.2 Business Process Outsourcing
Sebuah perusahaan yang menggunakan layanan outsourcing biasanya disebut
sebagai client. Dari Gambar II.2 , client mempunyai dua jenis business process yaitu:
proses yang merupakan core-competence-nya (core process) dan proses yang bukan
core-competence-nya (non-core process). Untuk setiap proses bisnis yang menjadi
core-competence-nya, perusahaan akan menjalankan proses bisnisnya dalam
perusahaan sendiri (in-house). Sedangkan untuk proses bisnis yang bukan core-
competencenya, seperti data processing, administrative operations, dan contact
centers, dapat dilakukan outsource kepada pihak lain, dalam hal ini adalah
MachroTech.
II-7
3. SourceLynx
SourceLynx merupakan perusahaan outsourcing proses bisnis yang memberikan jasa
berupa outsourcing mailroom, scanning, image repository, pemberian harga PPO
(Preferred Provider Organization), dan EDI clearinghouse [SRC07].
Gambar umum mengenai BPO berdasarkan SourceLynx [SRC07] dapat dilihat pada
Gambar II.3:
Gambar II.3 Business Process Outsourcing pada SourceLynx
Pada Gambar II.3, bagian yang berada dalam garis persegi bagian kanan atas adalah
business process yang dikerjakan oleh pihak SourceLynx. Perusahaan pengguna
layanan SourceLynx dapat dilihat sebagai aktor yaitu claim sources.
2.3.2 Jenis BPO
Jenis BPO berdasarkan jenis business process adalah sebagai berikut:
1 Back Office, BPO meliputi business process yang berada dalam (internal) perusahaan
seperti billing, purchasing.
2 Front Office, BPO meliputi business process yang berada di luar (eksternal)
perusahaan misalnya servis yang berhubungan dengan customer seperti marketing
dan technical support.
II-8
Sedangkan jenis BPO berdasarkan lokasi penyedia layanan adalah sebagai berikut:
1. Offshore outsourcing, penyedia layanan adalah perusahaan lain di luar negeri.
2. Nearshore outsourcing, penyedia layanan adalah perusahaan di negara tetangga.
3. Onshore outsourcing, penyedia layanan adalah perusahaan dalam negeri.
2.3.3 Keuntungan BPO
Berikut adalah keuntungan dari melakukan outsourcing proses bisnis, diterjemahkan sesuai
dari sumber [ENG06]:
1. Cost savings, dengan BPO maka pengeluaran untuk melakukan business process akan
dapat dihemat.
2. Cost restructuring, pengeluaran perusahaan akan dapat di restrukturisasi dengan
menggunakan BPO.
3. Improve quality, business process yang biasa dilakukan oleh perusahaan akan dapat
ditingkatkan kualitasnya dengan BPO, karena kualitas penyedia layanan BPO
biasanya lebih baik daripada ditangani sendiri.
4. Knowledge, dengan melakukan BPO, maka pengetahuan mengenai dunia outsourcing
akan bertambah sehingga menambah pengalaman.
5. Contract, BPO akan terjamin keamanannya karena menggunakan kontrak.
6. Operational expertise, Pihak penyedia layanan BPO biasanya lebih expert dalam
bidangnya.
7. Staffing issues, permasalahan-permasalahan yang biasanya terdapat di bagian staff
akan dapat terselesaikan dengan BPO.
8. Capacity management, dengan BPO, dapat dilakukan manajemen kapasitas
pemeliharaan barang.
9. Catalyst for change, BPO akan dapat mempercepat perubahan bisnis pada
perusahaan.
10. Reduce time to market, BPO akan dapat mempercepat waktu tunggu peluncuran
produk ke pasar.
11. Commodification, BPO akan memperluas jangkauan layanan perusahaan.
12. Risk management, karena penyedia layanan BPO bertanggung jawab secara penuh
mengenai business process yang ditanganinya, maka risk management akan menjadi
lebih baik.
13. Time zone, BPO dijalankan sesuai dengan daerah waktu BPO tersebut berada dan
tidak terpengaruh oleh tempat dimana ia berada.
II-9
2.4 Extensible Markup Language (XML)
Extensible Markup Language (XML) merupakan subset sederhana dari Standard General
Markup Language (SGML), yaitu sebuah bahasa untuk memberi tanda pada struktur suatu set
data, dan ditujukan sebagai meta-language – sebuah bahasa yang dapat digunakan untuk
mendeskripsikan bahasa lain, termasuk tata bahasa dan perbendaharaan katanya.
Pendeskripsian tersebut, dilakukan dengan menambahkan markup berupa tag yang
memberikan batasan pada isi data teks, sekaligus memberikan makna pada data tersebut.
Markup tersebut tidak mendeskripsikan format tampilan elemen dalam suatu halaman
[HAR04].
Tag dalam XML harus diorganisir menurut prinsip-prinsip umum tertentu, tapi arti yang
dikandung cukup fleksibel. Karena itu, pengguna dapat mendeskripsikan tag sendiri sesuai
dengan keperluannya.
Roger S. Pressman, Ph.D.
Software Engineering, A Practitioner’s Approach
75.000
Ir. Bambang Hariyanto, M.T.
Esensi-esensi Bahasa Pemrograman Java
50.000
Gambar II.4 Data Teks tanpa Tag
Pada Gambar II.4 terdapat teks yang tidak memiliki deskripsi data yang dikandung. Walaupun
setiap elemen data ditulis dalam baris baru, tidak ada keterangan yang membedakan elemen-
elemen data tersebut. Karena itu, komputer atau mesin akan sulit untuk menginterpretasikan
makna yang dimilikinya. Hal ini akan berbeda jika teks pada Gambar II.4 diubah ke dalam
format XML seperti pada Gambar II.5.
<?xml version=”1.0”?>
<katalog>
<buku kategori=”software engineering”>
<penulis>Roger S. Pressman, Ph.D.</penulis>
<judul>Software Engineering</judul>
<harga mata_uang=”rupiah”>75.000</harga>
</buku>
<buku kategori=”programming”>
<penulis>Ir. Bambang Hariyanto, M.T.</penulis>
II-10
<judul>Esensi-esensi Bahasa Pemrograman Java</judul>
<harga mata_uang=”rupiah”>50.000</harga>
</buku>
</katalog>
Gambar II.5 Data Teks dengan Format XML
Pada Gambar II.5, terdapat beberapa tag yang membentuk sebuah dokumen XML. Tag
tersebut membatasi dan memberikan makna pada bagian yang berbeda dari isi dokumen,
misal tag <penulis> yang menunjukkan pengarang buku, <judul> yang menunjukkan
judul buku, dan <harga> yang menunjukkan harga buku tersebut, serta <buku> yang
memisahkan buku yang satu dengan lainnya. Dengan format XML, data teks akan lebih
mudah diolah oleh komputer dengan cara melakukan parsing terhadap teks tersebut..
Baris pertama pada Gambar II.5 adalah XML declaration. Baris tersebut bersifat opsional dan
berguna untuk menunjukkan versi XML yang digunakan. Selain itu, XML declaration bisa
mengandung spesifikasi character-encoding yang digunakan dan kebergantungan eksternal
yang lain [WIK05].
Baris sisa dari Gambar II.5 tersebut terdiri dari elements bersarang, yang beberapa
diantaranya memiliki attributes dan contents. Element biasanya terdiri dari dua tags (start-tag
dan end-tag) dan isi (content) yang diapit oleh kedua tags tersebut. Start-tag terdiri dari nama
elemen yang diapit oleh tanda ’kurang dari’ dan ’lebih dari’ , misal <penulis>, sedangkan
end-tag terdiri dari nama yang sama dengan start-tag tapi diawali oleh garis miring sebelum
diapit oleh tanda ’kurang dari’ dan ’lebih dari’ , misal </penulis>. Content dari sebuah
elemen adalah segala sesuatu yang muncul diantara start-tag dan end-tag [WIK05]. Content
tersebut dapat berupa data karakter, misal “Roger S. Pressman, Ph.D.” pada elemen
penulis, maupun elemen yang lain, misal elemen penulis, judul, dan harga pada
elemen <buku>. Akan tetapi, tidak tertutup kemungkinan suatu elemen tidak memiliki isi.
Elemen ini ditandai dengan empty element tag, yaitu dengan menambahkan garis miring
setelah nama elemen, misalnya <hair color=”black” />. Suatu elemen dapat
memiliki attribute yang berguna untuk memberikan informasi tambahan bagi elemen
tersebut. Contoh atribut pada Gambar II.5 adalah atribut kategori pada elemen buku dan
atribut mata_uang pada elemen harga.
II-11
Dokumen XML yang baik terdiri dari tiga bagian utama. Ketiga bagian tersebut adalah
[AND00]:
1. Prolog: bersifat opsional, terdiri dari deklarasi XML, komentar, deklarasi DTD eksternal
dan internal, dan sebagainya.
2. Body: terdiri dari beberapa elemen, dalam bentuk pohon hierarki yang mungkin
mengandung data karakter.
3. Epilog: bersifat opsional dan tambahan, terdiri dari komentar, instruksi pemrosesan, dan
atau spasi yang mengikuti akhir pohon elemen.
Contoh dokumen XML yang lengkap tersebut dapat dilihat pada Gambar II.6.
Gambar II.6 Contoh Dokumen XML dengan prolog, body, dan epilog
Document
Prolog
<?xml version=”1.0”?>
<!-comments and processing instructions allowed here->
<!DOCTYPE books SYSTEM “http://rpl.if.itb.ac.id/buku.dtd”>
<!-comments and processing instructions allowed here->
Body
<books>
<buku kategori=”software engineering”>
<penulis>Roger S. Pressman, Ph.D.</penulis>
<judul>Software Engineering</judul>
<harga>75.000</harga>
</buku>
<buku kategori=”programming”>
<penulis>Ir. Bambang Hariyanto, M.T.</penulis>
<judul>Esensi-esensi Bahasa Pemrograman Java</title>
<harga>50.000</harga>
</buku>
</books>
Epilog
<!- comments and processing instructions allowed here ->
II-12
2.5 Web Services
Web services adalah sistem pertukaran informasi berbasis XML yang menggunakan internet
untuk interaksi antara aplikasi [ION07]. Teknologi ini merupakan standar yang diadopsi oleh
banyak vendor perangkat lunak, karena memiliki standar terbuka. Standar terbuka ini yang
memungkinkan aplikasi web service yang diimplementasi oleh vendor berbeda dapat
berkomunikasi satu sama lain.
2.5.1 Konsep Web Services
Konsep dasar dari web services adalah adanya interaksi sistem satu dengan yang lain dengan
menggunakan dokumen berformat XML dan protokol pengiriman pesan SOAP (Simple
Object Access Protocol) melalui HTTP. Format XML, SOAP, dan HTTP ini juga merupakan
standar terbuka yang dapat diadopsi.
Sebuah aplikasi web service tentunya tidak dapat langsung diketahui bagaimana
penggunaannya. Oleh karena itu, aplikasi ini harus menyediakan deskripsi service. Untuk
deskripsi ini, web service juga memiliki standar terbuka yaitu WSDL (Web Service
Description Language).
Standard web service juga menyediakan mekanisme pencarian aplikasi web service, yaitu
UDDI (Universal Description Discovery and Integration). UDDI ini dapat dianalogikan
sebagai catalog web service di dunia maya, sehingga memungkinkan sebuah aplikasi web
service dapat menemukan aplikasi lain yang dibutuhkan. Namun penggunaan UDDI sendiri
saat ini belum banyak diadopsi. Gambaran umum dari standar-standar tersebut dapat dilihat
pada Gambar II.7.
Gambar II.7 Keterhubungan Antar Komponen Web Services [ERL04]
II-13
2.5.1.1 Web Service Description Language
Web Services Description Language (WSDL) adalah bahasa berbasis XML yang digunakan
untuk mendeskripsikan web services [ERL04]. Adanya WSDL memungkinkan kita
mengatahui jenis deskirpisi layanan yang disediakan dan fungsi-fungsi apa saja yang dimiliki
sebuah aplikasi web service.
Struktur umum dari WSDL adalah sebagai berikut [ERL04]:
<definitions>
<interface>
<operation>
…
</operation>
</interface>
<message>
<part>
…
</part>
…
</message>
<service>
<endpoint>
…
</endpoint>
…
</service>
<binding>
…
</binding>
</definitions>
Penjelasan dari elemen-elemen yang ada di dalam bahasa ini dijelaskan sebagai berikut
1. Elemen interface merepresentasikan interface dari web service, dan terdiri atas
operasi-operasi yang dimiliki oleh web service dengan tag operation
2. Elemen message merepresentasikan semua input dan output message dari operation.
Sebuah message dapat terdiri atas satu parameter atau lebih. Untuk itu digunakan
komponen part
3. Elemen service menyimpan koleksi dari endpoint, yang menyimpan alamat fisik dan
informasi protokol. Setiap komponen endpoint dapat mereferensi elemen binding, dan
lalu dihubungkan dengan informasi endpoint pada operasi tertentu
4. Elemen binding mengasosiasikan dirinya dengan konstruksi operation
2.5.1.2 Simple Object Access Protocol
Simple Object Access Protocol merupakan protokol untuk menukarkan pesan berbasis XML
dalam jaringan komputer [ERL04]. Umumnya SOAP melalui protokol HTTP. Struktur pesan
SOAP adalah sebagai berikut [ERL04].
II-14
<env:Envelope xmlns:env=”http://www.w3.org/2003/05/soap-envelope”>
<env:Header>
…
</env:Header>
<env:Body>
…
</env:Body>
</env:Envelope>
Elemen envelope membentuk dokumen pesan terdiri atas bagian body dan header. Elemen
header sifatnya opsional. Penggunaan header umumnya adalah untuk implementasi ekstensi
SOAP dan data-data tambahan, sementara body bertujuan untuk menyimpan pesan.
2.5.1.3 Universal Description Discovery and Integration
Universal Description Discovery and Integration (UDDI) adalah registry berbasis XML yang
bersifat platform-independent [ERL04]. UDDI merupakan insiatif dunia industri disponsori
oleh OASIS. UDDI memungkinkan sebuah bisnis untuk mempublikasikan service mereka
sehingga aplikasi mereka dapat digunakan oleh aplikasi lainnya.
UDDI mengorganisasikan registry dalam enam tipe data [ERL04]:
1. Business Entity, direpresentasi sebagai elemen businessEntity, menyimpan informasi
profil mengenai bisnis yang disimpan, termasuk nama, deskripsi, dan unique
identifier.
2. Business Service, merepresentasikan layanan aktual yang ditawarkan oleh bisnis
terdaftar, disimpan dalam elemen businessEntity
3. Specification Pointers, menyimpan alaman dari business service ke informasi
implementasi, disebut juga binding components
4. Service types, menyediakan informasi dari definisi inter
5. Business relationships, direpresentasi dengan publisherAssertion, menyimpan
hubungan antara entitas bisnis dengan yang lainnya
6. Subscriptions, direpresentasi dengan elemen subscription, memungkinkan subscriber
mendapatkan notifikasi saat profil business entity diperbaharui.
2.6 Business Process Execution Language (BPEL)
2.6.1 Definisi BPEL
BPEL merupakan sebuah bahasa yang mendeskripsikan proses ekseskusi business process
melalui web service [BPL07]. BPEL menggunakan XML untuk mendefinisikan komposisi
fungsi-fungsi web service yang akan dieksekusi.
II-15
Web service yang digunakan untuk memproses business process sendiri dapat disusun dalam
dua cara [WSL07] :
1. Orchestration
Di dalam orkestrasi, terdapat sebuah proses terpusat yang mengatur semua web
service yang terlibat. Web service tidak perlu tahu bahwa sebenarnya ia terlibat dalam
bagian dari business process yang lebih tinggi tingkatannya karena hanya proses
terpusat yang yang mengetahui hal ini.
2. Choreography
Pada koreografi, proses tidak dijalankan secara terpusat. Setiap web service yang
terlibat dalam koreografi mengetahui kapan harus mengeksekusi opreasi dan dengan
siapa web service tersebut akan berinteraksi. Susunan koreografi mempunyai fokus
pada pertukaran pesan. Semua web service pada susunan ini harus tahu business
process apa yang sedang dijalankan, operasi apa yang dieksekusi, pesan apa yang
akan dipertukarkan, dan kapan waktunya web service harus berjalan.
Menurut perspektif penyusunan web service menjadi sebuah business process, pendekatan
orkestrasi lebih fleksibel dibandingkan dengan koreografi dengan alasan :
1. Pendekatan orkestrasi memungkinkan untuk mengetahui siapa yang
bertanggungjawab dalam pengeksekusian business process.
2. Pendekatan orkestrasi dapat menyatukan beberapa web service yang ada tanpa harus
mengetahui bahwa web service tersebut merupakan bagian dari sebuah business
process.
3. Pendekatan orkestrasi menyediakan skenario alternatif ketika terjadi error.
Dalam perusahaan, peran BPEL adalah untuk melakukan standardisasi integrasi aplikasi
enterprise dan membantu mengintegrasikan dengan s istem yang terisolasi sebelumnya. BPEL
akan memudahkan integrasi dan membuat kerja sama menjadi lebih efektif dengan partner
bisnis. Definis business process yang ada di BPEL tidak memberi dampak pada sistem yang
telah dibangun sebelumnya. BPEL adalah teknologi kunci dalam lingkungan dimana
fungsionalitas web service sudah atau belum dimplementasikan.
2.6.2 Konsep BPEL
Sesuai dengan konsepnya, proses BPEL terdiri dari beberapa langkah. Setiap langkah disebut
activity. BPEL mendukung aktivitas dasar dan terstruktur. Aktivitas dasar merepresentasikan
II-16
konstruksi dasar dan dipakai untuk tugas-tugas yang bersifat umum, di antaranya adalah
sebagai berikut:
1. <invoke>
Dipakai untuk memanggil web service. Operasi invoke mendukung dua atribut yang
lain. Ketika business process memanggil sebuah operasi web service, maka invoke
akan mengirim sejumlah parameter seperti parameter pesan masukan inputVariable
dan outputVariable sebagai keluaran.
Dibawah ini adalah contoh penggunaan tag invoke :
<invoke partnerLink=”insuranceA”>
portType=”ins:ComputeInsurancePremiumPT”
operation=”ComputerInsurancePremium”
inputVariable=”InsuranceRequest”
outputVariable=”InsuranceResonse”
</invoke>
2. <receive>
Dipakai untuk menunggu klien saat membangkitkan business process melalui
pengiriman pesan. Contoh atribut untuk aktivitas <receive> adalah createInstance,
yang berguna untuk memerintahkan aplikasi pengolah BPEL untuk membuat instan
baru dari sebuah proses.
Berkut ini adalah contoh dari aktivitas <receive> :
<receive partnerLinks=”clients”>
portType=”com:InsuranceSelectPT”
operation=”SelectInsurance”
variable=”InsuranceRequesnt”
createInstance=”yes”
</receive>
3. <reply>
Dipakai untuk menghasilkan respon dari operasi. Reply selalu berhubungan dengan
<receive> saat proses BPEL dimulai.
Dibawah ini adalah contoh penggunaan reply :
<reply partnerLink=”client”>
<portType=”com:InsuranceSelectionPT”/>
<operation=”SelectInsurance”/>
<variable=”InsuranceSelectionResponse”/>
</reply>
II-17
4. <assign>
Dipakai untuk memanipulasi data dalam suatu variabel. Variabel dipakai oleh
<invoke>, <receive>, dan <reply> untuk menspesifikasikan pesan input dan output
serta untuk membangkitkan operasi pada web service partner.
Contoh penggunaan <assign>
<assign>
<copy>
<from variable=”InsuranceAResponse”/>
<to variable=”InsuranceSelectionResponse”/>
<copy>
</assign>
5. <throw>
Dipakai untuk mengindikasikan kesalahan dan exception.
6. <wait>
Dipakai untuk menunggu untuk waktu pengeksekusian web service.
7. <terminate>
Dipakai untuk mengakhiri suatu proses.
Pada Tugas Akhir ini, BPEL yang digunakan tidak sepenuhnya mengikuti standar tag BPEL
seperti diatas, namun disesuaikan dengan kemudahan pertukaran data dalam sistem besar
Business Process Reporting Service. Oleh karena itu, didefinisikan beberapa tag BPEL-like
yang akan dibahas dalam subbab 3.4.1.
2.6.3 Peranan BPEL dalam BPO
Dalam BPO, business process dari suatu perusahaan akan ditangani oleh penyedia layanan di
luar perusahaan tersebut. Jika BPO akan dibuat dalam bentuk aplikasi, dibutuhkan suatu
bahasa yang dapat memodelkan business process perusahaan agar lebih mudah ditangani oleh
tim implementasi pada penyedia layanan. BPEL adalah solusi dari permasalahan diatas.
Untuk membuat sebuah aplikasi dengan konsep BPO, dibutuhkan suatu layanan yang
independen dan dapat berinteraksi tanpa kendala perbedaan sistem operasi maupun bahasa
implementasi. Oleh karena itu, biasanya digunakan web service sebagai dasar dari aplikasi
BPO. BPEL berguna untuk memodelkan business process perusahaan melalui web service.
BPEL akan berperan sebagai pengatur proses dengan melibatkan banyak web services.
II-18
Dengan adanya BPEL ini, kondisi percabangan, aliran proses secara parallel, subproses
bersarang, dan berbagai fitur lain sebagaimana yang ada pada bahasa pemograman, sangat
memungkinkan untuk diimplementasikan sebagai business process dari suatu perusahaan.
Selain itu, karena BPEL didefinisikan dalam format XML, ia dapat diimplementasikan untuk
mengintegrasikan berbagai sistem yang ada, walaupun berbeda platform.
2.7 Short Message Service
2.7.1 Konsep Dasar
Short Message Service atau biasa dikenal dengan pesan teks singkat adalah suatu mekanisme
pengiriman pesan teks singkat dari dan ke telepon seluler [SMS07]. Pesan yang dikirimkan
(berbentuk teks) dari telepon selular yang melakukan pengiriman disimpan dalam Short
Message Center yang terpusat, kemudian akan diteruskan kepada telepon selular penerima.
Hal ini berarti jika penerima sedang tidak ada, pesan akan disimpan dan dapat dikirimkan di
lain waktu. Setiap pesan tidak dapat berisi lebih dari 160 karakter (Jika karakter non-latin
digunakan, misal huruf cina atau arab, maka pesan hanya dapat berisi 70 karakter). Karakter
tersebut dapat berupa teks atau binary Non Text. Sebuah fitur menarik dari SMS adalah report
penerimaan. Ini berarti, pengirim dapat mendapatkan pesan kecil yang berisi informasi bahwa
pesan telah diterima oleh penerima.
2.7.2 Cara kerja SMS
Untuk memahami cara kerja SMS, dapat dilihat pada Gambar II.8 [SMS07].
Gambar II.8 Cara kerja S MS
II-19
SMC (Short Message Center) adalah entitas yang melakukan pekerjaan untuk menyimpan dan
mengirimkan pesan dari dan kepada telepon selular atau sejenisnya. SME (Short Message
Entity) yang berada di jaringan yang fixed ataupun pada telepon selular, menerima dan
mengirimkan pesan singkat.
SMS GWMS (SMS gateway Mobile Switching Center) adalah gateway Mobile Switching
Center (MSC) yang dapat menerima pesan singkat. Gateway MSC adalah titik kontak antara
mobile network point satu dengan yang lain. Saat menerima pesan singkat dari SMC, GMSC
menggunakan jaringan SS7 untuk menentukan posisi telepon selular atau sejenisnya dari HLR
(Home Location Register).
HLR adalah basis data utama dalam mobile network. HLR menangani informasi subscription
profile dari telepon selular atau sejenisnya dan dapat melakukan routing informasi dari
subscripber. Sebagai contoh adalah daerah (yang dilayani oleh sebuah MSC) dimana telepon
selular atau sejenisnya sekarang berada. GMSC kemudian akan meneruskan pesan kepada
MSC yang sesuai.
MSC (Mobile Switching Center) adalah entitas dari jaringan GSM yang melakukan pekerjaan
switching koneksi dari telepon selular satu dengan yang lain pada fixed network.
VLR (Visitor Location Register) berkorespondensi pada setiap MSC dan berisi informasi
sementara mengenai telepon selular seperti informasi identifikasi telepon selular atau
sejenisnya dimana benda tersebut berada. Dengan menggunakan informasi dari VLR, MSC
akan dapat untuk melakukan switching indormasi (pesan singkat) kepada BSS yang
berkorespondensi (Base Station System, BSC+BTSs), yang mengirimkan pesan singkat ke
telepon selular atau sejenisnya. BSS terdiri dari transceivers, yang mengirimkan dan
menerima informasi dari air interface, dari dan menuju mobile station. Informasi ini akan
diteruskan melalui signaling channels, jadi telepon selular atau sejenisnya dapat menerima
pesan walaupun sedang menggunakan voice atau data call.
2.7.3 Format Pesan SMS
Sesuai dengan dokumen GSM 03.40 dan GSM 03.38, format pesan SMS adalah 160 karakter,
dimana setiap karakter berisi 7-bit yang sesuai dengan alphabet standar. Pesan yang
panjangnya 8-bit (maksimal 140 karakter) tidak ditampilkan oleh telepon selular sebagai
pesan singkat, karena digunakan untuk membawa data seperti gambar dan ringtone.
Sedangkan pesan yang panjangnya 16-bit (maksimal 70 karakter) digunakan untuk membawa
pesan flash SMS, atau alert SMS [GSM07].
II-20
Karena keterbatasan panjang karakter yang dikirimkan melalui SMS (maksimal 160 karakter),
maka pesan yang akan dikirimkan melalui SMS haruslah singkat dan jelas. Beberapa aplikasi
perusahaan mendefinisikan sendiri format pesan yang dikirimkan melalui SMS, seperti
Twitter dari Google Calendar dan SCKL pada telepon selular buatan Nokia. SCKL
merupakan format yang digunakan untuk mengirimkan gambar dan ringtone melalui media
SMS.
Format pesan Twitter adalah [TWT08] <kode identitas> <spasi> <perintah>
<spasi> <pesan>, seperti contoh format pesan untuk menambahkan event pada google
calendar:
d gcal meeting with paul tomorrow at 7pm yang artinya adalah
membuat Google Calendar menyimpan record meeting dengan paul esok hari pada
pukul 7 malam.
d gcal meeting with fred on monday, 25th of june at 9am
yang artinya adalah membuat Google Calendar menyimpan record meeting dengan
fred pada hari senin tanggal 25 juni pukul 9 pagi.
Sedangkan format pesan SCKL adalah [SCK08] <header> <spasi> <user data>,
seperti contoh format pesan untuk mengirimkan ringtone:
//SCKL1581 024A3A650995D1D195C93D999804144288F511610611624D30831445
yang mempunyai arti bahwa ringtone dengan data
024A3A650995D1D195C93D999804144288F511610611624D30831445 akan dikirimkan
dengan menggunakan header //SCKL1581.
2.7.4 Keuntungan dan Kerugian SMS
Sebagai sebuah service yang digunakan oleh banyak orang, tentunya SMS mempunyai
kelebihan dan kekurangan. Kelebihan-kelebihan SMS di antaranya yaitu [SMG07][SMT07]:
1. Harganya yang murah.
2. Menjangkau setiap pengguna telepon seluler.
3. Dapat dijangkau sesuai dengan jangkauan operator serta beroperasi 24 jam setiap
hari.
4. Banyak perusahaan menggunakan service ini untuk berhubungan dengan
konsumennya sehingga bayak supporting dari pihak luar.
Sedangkan kekurangannya sebagai berikut:
1. Keterbatasan karakter setiap kali pengiriman, maks 160 karakter setiap kali mengirim
sehingga jika mengirim lebih dari itu akan dianggap mengirim lebih dari satu kali.
II-21
2. Karena keterbatasan isi pesan tersebut, banyak pihak menggunakan definisi
bahasanya sendiri untuk mengirimkan pesan, sehingga tidak ada standar pengiriman
pesan.
2.7.5 Peranan SMS dalam BPO
SMS mempunyai beberapa peranan dalam BPO di antaranya sebagai berikut [VBJ06]:
1. Sebagai penghubung antara business process perusahaan dengan business process
yang sedang ditangani oleh penyedia layanan BPO.
2. Sebagai media pembawa data mentah untuk kemudian diproses oleh aplikasi BPO.
3. Sebagai sarana untuk mengirimkan pesan kepada perusahaan mengenai business
process yang sedang dijalankan oleh penyedia layanan BPO.