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.
1
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 pe laporan 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.
2.2.4
Review spesifikasi dan navigasi dengan calon pembaca laporan.
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 B usiness 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 B usiness 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 corecompetencenya, 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 B usiness 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 elemenelemen 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.
Roger S. Pressman, Ph.D. <judul>Software Engineering 75.000 Ir. Bambang Hariyanto, M.T.
II-10 <judul>Esensi-esensi Bahasa Pemrograman Java 50.000 Gambar II.5 Data Teks deng an 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
yang menunjukkan pengarang buku, <judul> yang menunjukkan judul buku, dan yang menunjukkan harga buku tersebut, serta 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 , 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 . 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 . 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
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.
Document Prolog Body Roger S. Pressman, Ph.D. <judul>Software Engineering 75.000 Ir. Bambang Hariyanto, M.T. <judul>Esensi-esensi Bahasa Pemrograman Java 50.000 Epilog Gambar II.6 Contoh Dokumen XML dengan prolog, body, dan epilog
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> … <message> <part> … … <service> <endpoint> … … …
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:Body> …
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. 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 : portType=”ins:ComputeInsurancePremiumPT” operation=”ComputerInsurancePremium” inputVariable=”InsuranceRequest” outputVariable=”InsuranceResonse”
2. Dipakai untuk menunggu klien saat membangkitkan business process melalui pengiriman pesan. Contoh atribut untuk aktivitas adalah createInstance, yang berguna untuk memerintahkan aplikasi pengolah BPEL untuk membuat instan baru dari sebuah proses. Berkut ini adalah contoh dari aktivitas : portType=”com:InsuranceSelectPT” operation=”SelectInsurance” variable=”InsuranceRequesnt” createInstance=”yes”
3. Dipakai untuk menghasilkan respon dari operasi. Reply selalu berhubungan dengan saat proses BPEL dimulai. Dibawah ini adalah contoh penggunaan reply : <portType=”com:InsuranceSelectionPT”/>
II-17
4. Dipakai untuk memanipulasi data dalam suatu variabel. Variabel dipakai oleh , , dan untuk menspesifikasikan pesan input dan output serta untuk membangkitkan operasi pada web service partner. Contoh penggunaan
5. Dipakai untuk mengindikasikan kesalahan dan exception. 6. <wait> Dipakai untuk menunggu untuk waktu pengeksekusian web service. 7. 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 platfor m.
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] <spasi> <spasi> , 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] <spasi> <user data>, seperti contoh format pesan untuk mengirimkan ringtone: //SCKL1581
yang
024A3A650995D1D195C93D999804144288F511610611624D30831445
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.