BAB 2 Tinjauan Pustaka BAB 2 TINJAUAN PUSTAKA 2.1 Internet Internet, disebut juga Net, merupakan suatu kumpulan jaringan dari seluruh dunia yang menghubungkan jutaan bisnis, agensi pemerintah, institusi pendidikan, dan individu (Shelly & Vermaat, 2012, p. 74). Internet dapat diakses melalui komputer di berbagai tempat seperti rumah, tempat kerja, sekolah, restoran, pesawat, maupun taman. World Wide Web atau Web dan email merupakan dua layanan internet yang paling banyak digunakan. Beberapa layanan lain yang paling banyak digunakan adalah chat rooms, instant messaging, dan VoIP (Voice over Internet Protocol). Pengguna internet di rumah atau pada bisnis kecil biasanya menggunakan layanan high-speed broadband internet. Melalui layanan tersebut, komputer atau perangkat mobile dapat terhubung dengan internet setiap kali layanan tersebut dinyalakan.
2.2 Web Browser Web browser merupakan sebuah aplikasi yang memungkinkan pengguna untuk mengakses dan melihat halaman Web atau mengakses program Web 2.0 (Shelly & Vermaat, 2012, p. 81). Untuk browse di Web, pengguna membutuhkan komputer atau perangkat mobile yang terhubung dengan internet dan memiliki web browser. Beberapa web browser yang banyak digunakan pada personal computer antara lain Internet Explorer, Firefox, Opera, Safari, dan Google Chrome.
2.3 Komunikasi Komunikasi (West & Turner, 2010) adalah sebuah proses sosial yang setiap individunya menggunakan simbol untuk membuat dan mengartikan makna dari lingkungan mereka. Menurut Robbins dan Coulter (2012), komunikasi merupakan aksi transfer dan memahami sebuah arti. Berdasarkan teori–teori para ahli tersebut, penulis dapat menyimpulkan bahwa komunikasi merupakan proses interaksi yang terjadi diantara dua individu atau lebih dan 7
8 terjadi pertukaran informasi antar individu, individu tersebut akan mencoba menafsirkan dan memahami informasi yang didapat.
2.4 Instant Messaging (IM) Instant Messaging (IM) merupakan sebuah layanan komunikasi internet real-time dengan pemberitahuan ketika terdapat satu atau lebih orang yang online dan memungkinkan pengguna bertukar pesan atau files atau bergabung ke dalam chat room. Real-time berarti pengguna dan lawan bicaranya online pada saat yang sama. Beberapa layanan IM mendukung voice dan video conference. Layanan IM lainnya juga dapat menginformasikan pengguna untuk informasi seperti catatan pada kalender, harga saham, cuaca atau bahkan skor pertandingan olahraga, mengirim foto atau dokumen kepada penerima, mendengarkan musik secara langsung dari internet, dan juga bermain games dengan orang lain dalam IM tersebut (Shelly & Vermaat, 2012, pp. 104-105).
2.5 Interaksi Manusia dan Komputer Menurut Shneiderman (2010), Interaksi Manusia dan Komputer merupakan ilmu yang mempelajari cara merancang interface yang dapat membantu pengguna agar darobbinpat digunakan secara efektif dan efisien. Ada dua pedoman yang dipakai sebagai panduan dalam merancang (Shneiderman & Plaisant, 2010) interface yang baik yaitu delapan aturan emas dan 5 faktor manusia terukur. 2.5.1 Delapan Aturan Emas Delapan aturan yang dapat digunakan sebagai pedoman dalam merancang interface yang baik (Shneiderman & Plaisant, 2010, pp. 8889) yaitu: 1. Strive for consistency Konsistensi dibutuhkan pada situasi–situasi yang sama seperti istilah yang identik pada informasi, menu, dan layar bantuan. Konsistensi dalam warna, layout, penggunaan huruf besar dalam kata dan sebagainya.
9 2. Cater to universal usability Merancang interface dengan menyesuaikan kebutuhan pengguna yang beragam. Perbedaan kemampuan pengguna, perbedaan umur, keterbatasan pengguna, dan perbedaan teknologi membuat ketentuan rancangan interface semakin bertambah. 3. Offer informative feedback Setiap tindakan yang dilakukan oleh pengguna harus diberi timbal balik dari sistem untuk menginformasikan pengguna akibat dari aksinya tersebut. 4. Design dialog to yield closure Urutan aksi sebaiknya dikelompokkan menjadi awal, pertengahan, dan akhir. Timbal balik yang informatif setelah menyelesaikan suatu rangkaian aksi membuat pengguna merasa puas dan lega. 5. Prevent errors Semampu mungkin merancang sistem yang menyebabkan pengguna tidak dapat membuat kesalahan yang serius. Seperti contohnya, tidak menampilkan huruf dalam input data numerik. Jika pengguna membuat kesalahan, interface harus mendeteksi kesalahan dan memberikan instruksi yang sederhana, konstruksi, dan spesifik untuk perbaikan. 6. Permit easy reversal of actions Aksi yang sudah dilakukan oleh pengguna sebaiknya dapat dikembalikan. Hal ini dapat mengurangi rasa cemas pengguna dan membuat pengguna lebih berani untuk melakukan eksplorasi. 7. Support internal locus of control Memberikan kesan bahwa pengguna bertindak sebagai initiator dengan memberi pengguna kontrol atas interface dan interface memberikan respons kepada pengguna. 8. Reduce short-term memory load Keterbatasan manusia untuk mengingat menyebabkan rancangan interface harus sederhana, menyediakan bantuan online yang dapat membantu pengguna.
10 2.5.2 Lima Faktor Manusia Terukur Selain delapan aturan emas, faktor manusia juga harus masuk dalam pertimbangan. Lima faktor manusia terukur tersebut (Shneiderman & Plaisant, 2010, p. 32) adalah: 1. Time to learn Kemampuan pengguna dalam belajar untuk menggunakan atau mempelajari suatu perintah. 2. Speed of performance Kemampuan pengguna dalam menyelesaikan suatu perintah. 3. Rate of errors Seberapa banyak dan jenis kesalahan yang dilakukan oleh pengguna. 4. Retention over time Kemampuan pengguna dalam mempertahankan pengetahuan mereka dalam menggunakan sistem selama jangka waktu tertentu. 5. Subjective satifsaction Kepuasan pengguna dalam menggunakan suatu aspek dari sistem. Hal ini dapat diketahui dengan menggunakan metode survei kepada beberapa pengguna yang menggunakan.
2.6 Rational Unified Process (RUP) Rational Unified Process adalah suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practices terbaik yang terdapat dalam pengembangan perangkat lunak (Gibbs, 2007). Metode ini menggunakan pendekatan untuk membagi tugas dan tanggung jawab pada organisasi yang melakukan pengembangan perangkat lunak. Tujuannya adalah memastikan organisasi tersebut menghasilkan perangkat lunak berkualitas tinggi yang sesuai dengan kebutuhan pengguna, sesuai dengan jadwal dan anggaran yang telah ditentukan. RUP menggunakan konsep object–oriented dengan aktivitas yang berpusat pada pengembangan model menggunakan Unified Model Language (UML). UML berfungsi untuk mengkomunikasikan kebutuhan, arsitektur, serta rancangan secara jelas kepada pengguna.
11 2.6.1 Proses RUP Proses RUP dapat dibagi menjadi 2 dimensi, yaitu: a. Dimensi pertama digambarkan secara horizontal. Dimensi ini merepresentasikan waktu dan digambarkan dalam beberapa fase. Setiap fase memiliki major milestone yang menandakan akhir dari suatu fase, dan awal dari fase selanjutnya. Dimensi ini terdiri dari Inception, Elaboration, Construction, dan Transition. b. Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek–aspek statis dari pengembangan perangkat lunak yang dikelompokkan menjadi beberapa bagian. Dimensi ini terdiri dari Business
Modeling,
Requirement,
Analysis
dan
Design,
Implementation, Test, Deployment, Configuration dan Change Management, Project Management, dan Environment.
Gambar 2.1 Arsitektur RUP (Sumber: Gibbs, 2007)
2.6.2 Proses RUP berdasarkan Dimensi Waktu (Sumbu Horizontal) RUP membagi 1 siklus pengembangan perangkat lunak menjadi 4 fase berdasarkan dimensi waktu. Adapun fase–fase tersebut yaitu: 1. Insepsi Pada fase insepsi, pengembang akan merancang business case untuk sistem yang akan dibangun dan membatasi ruang lingkup projek. Pengembang harus mengidentifikasi semua entitas
12 eksternal yang akan berinteraksi dengan sistem. Business case yang dirancang meliputi kriteria sukses, penilaian resiko, estimasi sumber daya yang dibutuhkan, serta rencana yang menunjukan tanggal– tanggal dari hal penting. Hasil akhir dari fase ini adalah tujuan– tujuan yang ingin dicapai dengan perancangan sistem. 2. Elaborasi Tujuan yang ingin dicapai pada fase elaborasi adalah menganalisa berbagai masalah, menghasilkan arsitektur dasar, kebutuhan, serta rencana yang stabil dari sistem, dan mengeliminasi resiko–resiko tinggi yang dapat terjadi pada projek. Hal ini dilakukan
agar
dapat
menentukan
biaya
dan
melakukan
penjadwalan untuk menyelesaikan pengembangan sistem. Hasil akhir dari fase ini adalah arsitektur dasar dari sistem yang akan dibangun. 3. Konstruksi Fase konstruksi adalah fase pembangunan sistem. Pada fase ini pengembang akan mengatur sumber daya yang ada serta operasi yang akan dilakukan untuk mengoptimalkan biaya, jadwal, dan kualitas. Pada fase konstruksi, semua rencana yang telah dirancang akan diimplementasikan menjadi suatu produk yang siap untuk digunakan oleh pengguna. Pada projek yang besar, fase pembangunan dapat dikerjakan secara pararel. Pembangunan secara pararel ini dapat mempercepat proses peluncuran produk. Namun, pembangunan secara pararel dapat meningkatkan kompleksitas pengaturan sumber daya, serta alur kerja. Oleh sebab itu dibutuhkan arsitektur dasar yang kuat. 4. Transisi Tujuan utama dari fase transisi adalah agar produk yang telah dibangun dapat sampai dan digunakan langsung oleh pengguna. Biasanya dalam fase ini, seringkali ditemukan masalah– masalah yang membutuhkan pengembang untuk memperbaiki kesalahan–kesalahan yang ada pada produk. Pada fase ini, pengembang akan menentukan apakah produk yang telah selesai
13 dibangun memenuhi kriteria yang diinginkan, dan apakah perlu untuk melakukan pengembangan berikutnya.
2.6.3 Proses RUP berdasarkan Dimensi Aktivitas/Proses Sumbu vertikal merepresentasikan disciplines (aktivitas) ke dalam beberapa bagian. Ada 9 aktivitas utama dalam RUP yang dibagi menjadi Core Process Disciplines dan Core Supporting Disciplines. Core Process Disciplines terdiri dari business modelling, requirement, analysis and design, implementation, test, dan deployment. Core Supporting Disciplines terdiri dari Configuration and Change Management, Project Management, dan Environment. Dalam membuat BeeMessenger, penulis hanya menggunakan proses yang terdapat pada Core Process Disciplines.
Tabel 2.1 RUP Disciplines Proses
Deskripsi
Business Modelling
- Memahami struktur dan dinamika organisasi tempat
sistem
akan
digunakan
(organisasi
target). - Memahami masalah di organisasi sasaran saat ini dan mengidentifikasi potensi perbaikan. - Memastikan bahwa pelanggan, pengguna akhir, dan pengembang memiliki pemahaman umum dari organisasi target. Requirements
- Membangun dan memelihara perjanjian dengan pelanggan dan stakeholder lainnya tentang apa yang harus dilakukan sistem. - Memberikan pemahaman
pengembang yang
lebih
sistem baik
dari
dengan system
requirements. - Menentukan batas-batas sistem. - Memberikan dasar untuk perencanaan isi teknis iterasi.
14 Proses
Deskripsi - Memberikan dasar untuk memperkirakan biaya dan waktu untuk mengembangkan sistem.
Analysis and Design
- Mengubah persyaratan (requirements) ke dalam desain dari sistem yang akan dihasilkan. - Mengembangkan sebuah arsitektur yang kuat untuk sistem - Mengadaptasi desain sehingga cocok dengan lingkungan implementasi.
Implementation
- Mendeskripsikan implementasi organisasi. - Menerapkan elemen desain. - Menguji implementasi. - Mengintegrasikan hasil yang dihasilkan oleh pelaksana individu (atau tim), sehingga sistem bisa dijalankan.
Test
- Mencari
segala
kekurangan
dan
mendokumentasikannya dalam software quality. - Memberikan saran umum tentang software quality yang dirasakan. - Membuktikan keabsahan asumsi yang dibuat dalam desain dan persyaratan spesifikasi melalui demonstrasi konkret. - Memvalidasi bahwa fungsi produk yang dibuat sesuai dengan desain. - Memvalidasi bahwa fungsi produk perangkat lunak sesuai dengan yang dibutuhkan. Deployment
- Memastikan bahwa produk perangkat lunak tersedia untuk pengguna akhir (end user).
2.7 Unified Modelling Language (UML) Menurut Whitten dan Bentley (2007), Unified Modelling Language (UML) adalah sekumpulan aturan pemodelan yang digunakan untuk menentukan dan menggambarkan sistem software yang berkaitan dengan objek
15 (Whitten & Bentley, 2007, p. 371). Diagram UML sama halnya dengan blueprint pada saat pembangunan rumah. Kumpulan blueprint tersebut memberikan pembangun dengan suatu sudut pandang untuk pipa air, listrik, pemanas, air conditioning, dan lain-lain. Diagram UML juga memberikan tim pengembang dengan berbagai sudut pandang yang berkaitan dengan sistem informasi. UML versi 1.0 dirilis pada tahun 1997 dan UML yang digunakan saat ini adalah UML versi 2.0. Diagram UML 2.0 terdiri dari 13 macam diagram (Whitten & Bentley, 2007, p. 382), antara lain: 1. Use Case Diagram Diagram ini menggambarkan interaksi antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, use case diagram secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna berharap untuk berinterkasi dengan sistem. Use case narrative digunakan untuk mendeskripsikan urutan setiap interaksi secara tekstual. 2. Activity Diagram Diagram ini menggambarkan urutan aliran dari aktivitas use case atau proses bisnis. 3. Class Diagram Diagram ini menggambarkan struktur objek yang terdapat pada sistem dan menunjukkan kelas objek yang dimiliki beserta hubungan antar kelas objek tersebut. 4. Object Diagram Diagram ini mirip dengan class diagram tetapi lebih memodelkan objek aktual instances dengan nilai atribut saat ini dibanding menggambarkan kelas objek. 5. State Machine Diagram Diagram ini menggambarkan bagaimana suatu kejadian dapat mengubah status objek selama masa hidupnya. 6. Composite Structure Diagram Diagram ini menguraikan struktur internal dari class, komponen atau use case. 7. Sequence Diagram
16 Diagram ini menggambarkan bagaimana objek berinteraksi satu sama lain melalui pesan dalam pelaksanaan use case atau operasi. 8. Communication Diagram Diagram ini menggambarkan interaksi objek melalui pesan, seperti pada sequence diagram. Sequence diagram fokus pada waktu atau urutan pesan, sementara communication diagram fokus pada organisasi struktural objek dalam format jaringan. 9. Interaction Overview Diagram Diagram ini menggabungkan fitur sequence dan activity diagram untuk menunjukkan bagaimana objek berinteraksi dalam setiap aktivitas dari use case. 10. Timing Diagram Interaction diagram lain yang berfokus pada kendala waktu dalam perubahan status dari satu objek atau sekumpulan objek. 11. Component Diagram Diagram ini menggambarkan organisasi kode pemrograman dibagi menjadi komponen-komponen dan bagaimana komponen berinteraksi. 12. Deployment Diagram Diagram ini menggambarkan konfigurasi dari komponen software dengan arsitektur fisik dari sistem hardware. 13. Package Diagram Diagram ini menggambarkan bagaimana pembangunan kelas-kelas atau UML lain diatur menjadi sebuah package.
Pada dasarnya, tidak semua UML harus digunakan dalam perancangan. Jika perancang menggunakan beberapa UML tertentu saja dan sistem dapat digambarkan dengan baik, maka tujuan perancangan dengan UML sudah terpenuhi.ini adalah: 2.7.1 Use Case Diagram Use Case Diagram menggambarkan interaksi antara sistem dan pengguna. Dengan kata lain, use case diagram secara visual menggambarkan siapa yang akan menggunakan sistem tersebut dan bagaimana pengguna berinteraksi dengan sistem. Use case diagram
17 menggambarkan sistem sebagai kumpulan dari use case, actors (user), dan relationship (Whitten & Bentley, 2007, p. 246).
Gambar 2.2 Contoh Use Case Diagram (Sumber: Whitten & Bentley, 2007: 246)
a. Actors Use case dimulai atau dipicu oleh eksternal pengguna yang disebut actor. Seorang actor dapat menginisiasi aktivitas sistem, sebuah use case, dengan tujuan untuk memenuhi beberapa tugas bisnis yang memproduksi suatu nilai yang terukur.
Gambar 2.3 Simbol actor (Sumber: Whitten & Bentley, 2007: 247)
Terdapat 4 jenis actor, yaitu:
18 i. Primary business actor : stakeholder yang mendapatkan manfaat utama dari pelaksanaan use case dengan menerima suatu nilai terukur atau nilai yang dapat diobservasi. ii. Primary system actor : stakeholder yang secara langsung berhadapan dengan sistem untuk memacu terjadinya sistem atau business event. iii. External server actor : stakeholder yang merespon permintaan dari use case. iv. External receiver actor : stakeholder yang bukan merupakan actor utama tetapi menerima suatu nilai terukur atau nilai yang dapat diobservasi (output) dari use case. b. Relationship Sebuah relationship digambarkan dengan sebuah garis yang terdapat diantara dua simbol pada use case diagram. Beberapa relationship berbeda yang ditemukan pada use case diagram: i. Associations Merupakan relationship antara actor dan use case yang muncul setiap kali use case mendeskripsikan interaksi diantara keduanya.
Gambar 2.4 Relationship dalam use case diagram (Sumber: Whitten & Bentley, 2007: 248)
ii. Extends Suatu use case mungkin saja memiliki fungsi yang kompleks yang menyebabkan langkah-langkah pada use case tersebut sulit dimengerti. Untuk menyederhanakan dan
19 membuatnya mudah dimengerti, langkah-langkah yang kompleks tadi dapat di-extract ke dalam use case-nya sendiri. Hasil dari use case tersebut disebut extension use case yang dapat meng-extends fungsionalitas dari use case aslinya.
Gambar 2.5 Contoh extends (Sumber: Whitten & Bentley, 2007: 249)
iii. Uses (atau Includes) Suatu use case yang mengurangi redudansi antara dua atau lebih use case dengan menggabungkan langkah yang hampir sama dalam use case tersebut. Relationship antara abstract use case dan use case yang menggunakannya disebut uses relationship (atau includes relationship).
Gambar 2.6 Contoh uses (Sumber: Whitten & Bentley, 2007: 249)
20 iv. Depends On Relationship diantara use case mengindikasi bahwa sebuah use case tidak dapat dijalankan sampai use case lainnya selesai dijalankan.
Gambar 2.7 Contoh depends on (Sumber: Whitten & Bentley, 2007: 250)
v. Inheritance Pada use case, relationship antara actor dibuat untuk menyederhanakan gambar ketika suatu abstract actor mewarisi role dari beberapa real actor.
Gambar 2.8 Contoh inheritance (Sumber: Whitten & Bentley, 2007: 250)
21 2.7.2 Use Case Narrative Use Case Narrative adalah sebuah deskripsi tekstual dari aktivitas bisnis dan bagaimana pengguna akan berinteraksi dengan sistem untuk menyelesaikan tugas (Whitten & Bentley, 2007, p. 246). Ketika membuat use case narrative, akan lebih bijak ketika mendokumentasikannya dalam high-level sehingga pemahaman tentang aktivitas dan sistem dapat lebih cepat didapat. High-level use case narrative mendeskripsikan aktivitas melalui beberapa hal, yaitu: 1. Author: diisi dengan nama seseorang yang menulis use case dan bersedia untuk dihubungi untuk semua yang informasi dari use case yang dibuat. 2. Date: tanggal terakhir use case tersebut dimodifikasi. 3. Version: versi use case yang digunakan 4. Use-case
name:
nama
dari
sebuah
use
case,
harus
menggambarkan tujuan yang ingin dicapai dari use case tersebut. Sebaiknya nama use case menggunakan kata kerja. 5. Use-case type: merupakan penggambaran keinginan dari perilaku sistem. 6. Use-case ID: identitas yang unik dari use case. 7. Priority: tingkat prioritas dari use case terdapat high, medium atau low. 8. Source: mendefinisikan entitas yang memicu pembuatan use case. 9. Primary business actor: stakeholder yang paling diuntungkan dari terlaksananya use case dengan menerima sesuatu yang dapat diukur. 10. Other participating actors: aktor lain yang terlibat dalam use case tersebut, aktor inisitor, aktor fasilitator, aktor sampingan ataupun aktor penerima. 11. Interested bertanggung
stakeholder(s): jawab
dalam
pengolahan sistem software.
pemangku
kepentingan
yang
proses
pengembangan
dan
22 12. Description: ringkasan singkat yang terdiri dari beberapa kalimat yang menggambarkan tujuan dari use case beserta aktivitasnya.
Gambar 2.9 Contoh High-Level Use Case Narrative (Sumber: Whitten & Bentley, 2007: 257)
Setiap high level use case narrative yang diidentifikasi, dapat diperluas menjadi lebih detail dengan typical course of events dan alternate courses. Beberapa tambahan yang perlu diperhatikan antara lain: 1. Precondition: keadaan sistem sebelum pengeksekusian use case. Biasanya mengacu pada use case lain yang harus dieksekusi terlebih dahulu. 2. Trigger: kejadian yang menjadi pemicu untuk pengeksekusian use case. 3. Typical course of events: urutan aktivitas antara aktor dan sistem untuk memenuhi tujuan use case. 4. Alternate courses: alternatif perilaku lain dari use case bila terdapat pengecualian atau pemilihan dari kejadian yang ada. 5. Conclusion: menentukan waktu sebuah use case selesai dijalankan. Dengan kata lain ketika primary business actor menerima sesuatu yang dapat diukur.
23 6. Postcondition: keadaan dari sistem setelah pengeksekusian use case selesai. 7. Business rules: menentukan kebijakan dan prosedur dari proses bisnis yang harus ada di sistem yang baru. 8. Implementation constraints and specifications: menentukan non functional requirement yang mempengaruhi realisasi dari use case tersebut, dan mungkin membantu dalam perencanaan arsitektural dan pembatasan ruang lingkup. 9. Assumptions: semua asumsi yang dibuat oleh penyusun ketika mendokumentasikan use case. 10. Open issues: semua pertanyaan atau permasalahan yang butuh penyelesaian atau investigasi sebelum use case dapat diakhiri.
24
Gambar 2.10 Contoh Expanded Use Case Narrative (Sumber: Whitten & Bentley, 2007: 259)
2.7.3 Class Diagram Class Diagram memberi gambaran secara grafis sebuah struktur objek statis dari sebuah sistem yang menunjukkan objek class yang membentuk sistem tersebut dan juga hubungan antar objek class tersebut. Pada class diagram, terdapat garis yang menghubungkan objek dan class yang satu dengan lainnya. Hubungan yang terjadi antara satu atau lebih objek dan class ini disebut relationship. Terdapat beberapa jenis relationship pada class diagram, yaitu (Whitten & Bentley, 2007, p. 376):
25 2.7.3.1 Association Garis penghubung antara customer dan order pada Gambar 2.11 menunjukkan relationship antar class yang disebut association.
Gambar 2.11 Contoh Association (Sumber: Whitten & Bentley, 2007: 377)
Pada Gambar 2.11 juga menunjukkan kompleksitas atau derajat dari setiap association. Konsep ini disebut multiplicity. Multiplicity menunjukkan jumlah minimal dan maksimal sebuah kejadian di satu objek class untuk suatu kejadian dari objek class yang terkait.
Tabel 2.2 Notasi Multiplicity (Sumber: Whitten & Bentley, 2007: 377) Notasi Multiplicity
Arti
1
tepat satu
0…1
nol atau satu
0…*
nol atau lebih
*
nol atau lebih
1…*
satu atau lebih
7…9
Tujuh sampai sembilan (kisaran spesifik)
2.7.3.2 Aggregation Beberapa objek dapat terbuat dari objek yang lain. Sebuah class yang lebih besar mungkin saja berisi satu atau lebih bagian class yang lebih kecil sehingga class yang lebih kecil merupakan bagian dari class yang lebih besar.
26 Relationship ini disebut aggregation yang ditunjukkan dengan kata “whole-part” dan “is part of” (Whitten & Bentley, 2007, p. 378).
Gambar 2.12 Contoh Aggregation (Sumber: Whitten & Bentley, 2007: 379)
2.7.3.3 Composition Composition adalah bentuk yang lebih kuat dari aggregation. Pada composition, class yang lebih besar bertanggung jawab untuk pembuatan dan penghapusan class yang lebih kecil di dalamnya. Apabila class yang lebih besar tersebut mati, maka class yang lebih kecil tersebut akan mati juga (Whitten & Bentley, 2007, p. 378).
27
Gambar 2.13 Contoh Composition (Sumber: Whitten & Bentley, 2007: 379)
2.7.4 Sequence Diagram Sequence Diagram merupakan sebuah diagram UML yang memodelkan logika dari sebuah use case dengan menggambarkan interaksi pesan antar objek dengan waktu yang berurutan. Notasi yang ada pada sequence diagram adalah (Whitten & Bentley, 2007, p. 659): a. Actor: actor yang berinteraksi dengan user interface ditunjukkan dengan simbol actor pada use case. b. Interface Class: untuk memastikan tidak adanya kebingungan tentang class apakah itu, ditulis <
>. c. Controller Class: setiap use case akan memiliki satu atau lebih controller class, digambar dengan notasi yang sama seperti interface class, ditulis <>. d. Entity Classes: menambah kotak untuk setiap entity yang membutuhkan kolaboraasi pada urutan langkah. e. Messages: panah horizontal mengindikasikan input pesan dikirim ke class.
28 f. Activation Bars: bar yang dibuat sepanjang lifelines mengindikasi periode waktu selama setiap objek instance ada. g. Return Messages: panah putus-putus horizontal mengembalikan pesan. h. Self-call: sebuah objek dapat memanggil method-nya sendiri. i. Frame: menunjukkan bahwa sebuah controller perlu mengulang semua item.
Gambar 2.14 Contoh Sequence Diagram (Sumber: Whitten & Bentley, 2007: 659)
Sistem berorientasi objek dibuat paling sedikit dengan tiga tipe object class yang berbeda. a. Entity Class Entity Class biasanya sesuai dengan item yang terdapat dalam kehidupan nyata (seperti member atau order) dan mengandung informasi yang disebut attribute, yang mendeskripsikan instance yang berbeda dari suatu entitas. Entity class juga mengenkapsulasi perilaku (behavior) yang menjaga informasi atau attribute-nya. b. Interface Class Pengguna berkomunikasi dengan sistem melalui user interface, diimplementasikan sebagai interface class. Fungsionalitas use case yang
29 mendeskripsikan interaksi pengguna dengan sistem secara langsung diletakkan pada interface class. c. Control Class Control Class berisi logika pengoperasian aplikasi atau aturan bisnis. Contohnya aturan bisnis dan perhitungan yang melibatkan beberapa entity object class. d. Persistence Class Persistence class merupakan sebuah class objek yang menyediakan fungsi untuk read dan write attribute dalam database. e. System Class System class merupakan sebuah class objek yang
menangani
operating system, memiliki fungsionalitas yang spesifik.
2.8 Database Database adalah sekumpulan data yang secara logis berhubungan yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi (Connolly & Begg, 2015, p. 63). 2.8.1 Data Modelling Data
modelling
merupakan
sebuah
teknik
untuk
pengorganisasian dan dokumentasi data dari sebuah sistem. Data modelling terkadang disebut database modelling karena suatu model data karena nantinya akan diimplementasikan ke dalam sebuah database (Whitten & Bentley, 2007, p. 270). Terdapat beberapa notasi yang digunakan untuk data modelling. Model nyata biasanya disebut Entity Relationship Diagram karena menggambarkan data dalam hal entity dan relationship yang dideskripsikan oleh data. Beberapa konsep dasar dalam data modelling, antara lain: a. Entities Semua sistem terdiri dari data, dan biasanya terdapat banyak data. Data mendeskripsikan “hal”. Misalnya sebuah sistem sekolah, terdapat data yang mendeskripsikan hal seperti STUDENTS, TEACHER,
COURSES,
dan CLASSROOM. Setiap data tersebut
mendeskripsikan instance. Contohnya, data yang mendeskripsikan
30 STUDENT
bisa terdiri dari Name, Address, Phone Number, Date of
Birth, Gender, Race, Major, dan Grade Point Average. Entity adalah sebuah kelas dari orang, tempat, objek, kejadian, atau konsep tentang
apa yang dibutuhkan untuk
menangkap dan menyimpan data. Entity digambarkan sebagai sebuah persegi panjang dengan sudut yang bulat. Bentuk ini merepresentasikan semua instance dari entity tersebut.
STUDENT
Gambar 2.15 Contoh Entity (Sumber: Whitten & Bentley, 2007: 270)
b. Attributes Attribute adalah properti deskriptif atau karakteristik dari sebuah entity. Sinonimnya terdiri dari element, property, dan field. Seperti yang dijelaskan sebelumnya, setiap instance dalam entity STUDENT
mungkin dideskripsikan dengan atribut-atribut seperti
Name, Address, Phone Number, Date of Birth, Gender, Race, Major, dan Grade Point Average. Beberapa attribute dapat dikelompokkan secara logis ke dalam sebuah super attribute yang disebut compound attribute. Misalnya Name dari STUDENT sebenarnya adalah sebuah compound attribute yang terdiri dari Last Name, First Name, dan Middle Initial.
31 STUDENT Name .Last Name .First Name .Middle Initial Address .Street Address .City .State of Province .Country .Postal Code Phone Number .Area Code .Exchange Number .Number Within Exchange Date of Birth Gender Race Major Grade Point Average
Gambar 2.16 Contoh Attribute dan Compound Attribute (Sumber: Whitten & Bentley, 2007: 271)
Data type dari sebuah attribute mendefinisikan tipe data yang dapat disimpan dalam attribute tersebut. Sebuah tipe data constraint dari attribute adalah domain. Domain mendefinisikan nilai yang dapat diterima oleh suatu attribute. Sebuah entity memiliki banyak instance sehingga dibutuhkan cara untuk mengidentifikasi setiap instance secara unik berdasarkan nilai data dari satu atau lebih attribute. Oleh karena itu, setiap entity harus memiliki key. Key adalah sebuah attribute atau kelompok attribute yang memberikan nilai unik untuk setiap instance dalam entity. Sering kali, sebuah entity memiliki lebih dari satu key. Terdapat beberapa key dalam sebuah entity, antara lain: i.
Concatenated key: kelompok attribute yang secara unik mengidentifikasi sebuah instance dalam suatu entity.
ii. Candidate key: satu dari banyak key yang mungkin menjadi primary key, disebut juga candidate identifier. iii. Primary key: sebuah candidate key yang kemungkinan besar akan digunakan untuk mengidentifikasi sebuah instance dari suatu entity secara unik.
32 iv. Alternate key: sebuah candidate key yang tidak dipilih menjadi primary key. Identifikasi subset dari instance suatu entity juga diperlukan sebagai pembeda dari sebuah instance. Sebagai contoh, suatu saat dibutuhkan cara sederhana untuk mengidentifikasi semua siswa pria dan semua siswa wanita. Subsetting criteria adalah attribute yang nilainya terbatas membagi instance dari entity menjadi subset. c. Relationship Relationship adalah asosiasi bisnis alami yang ada diantara satu atau lebih entity. Relationship dapat merepresentasi suatu kejadian yang menghubungkan entity yang ada diantara entity. Misalnya entity STUDENT dan CURRICULUM: i. STUDENT is enrolled in one or more CURRICULA ii. CURRICULUM is being studied by zero, one or mode STUDENTS.
Dua kata kerja yang digaris bawahi mendefinisikan hubungan bisnis yang ada diantara kedua entity. Beberapa konsep penting dalam relationship: 1. Cardinality adalah sebuah konsep yang mendefinisikan angka minimum dan maksimum dari kejadian satu entity yang mungkin berhubungan dengan kejadian dari entity lainnya. Karena semua relationship bidirectional, cardinality harus didefinisikan pada kedua arah untuk setiap relationship. 2. Degree adalah jumlah entity yang berpartisipasi dalam sebuah relationship.
STUDENT
CURRICULUM
Gambar 2.17 Contoh Relationship (Many-to-Many) (Sumber: Whitten & Bentley, 2007: 275)
3. Foreign Key adalah sebuah primary key dari suatu entity yang digunakan pada entity lainnya untuk mengidentifikasi instance
33 dari sebuah relationship. Sebuah foreign key (selalu pada child entity) selalu cocok dengan primary key (pada parent entity).
Gambar 2.18 Contoh Foreign Key (Sumber: Whitten & Bentley, 2007: 278)
2.8.2 Database Schema Menurut Whitten dan Bentley (2007), desain database digambarkan sebagai model khusus yang disebut database schema. Database schema merupakan physical model atau blueprint dari sebuah database yang merepresentasikan implementasi teknis dari sebuah logical data model. Pada buku karangan Whitten dan Bentley, digunakan istilah logical dan physical. Tidak seperti buku database pada umumnya, buku karangan Whitten dan Bentley menggunakan istilah logical untuk menyebut “conceptual” dan physical untuk menyebut “logical” (Whitten & Bentley, 2007, p. 530). Sebuah database schema mendefinisikan struktur database dalam bentuk table, key, index, dan aturan integritas. Transformasi dari sebuah logical data model ke dalam physical relational database schema diatur oleh beberapa aturan dan pilihan umum. Aturan tersebut meliputi: 1. Setiap entitas dasar, asosiatif, dan lemah diimplementasikan sebagai tabel terpisah.
34 a. Primary key diidentifikasi dan diimplementasi sebagai indeks ke dalam tabel. b. Setiap secondary key diimplementasi sebagai indeks sendiri ke dalam tabel. c. Sebuah indeks harus dibuat untuk semua attribute nonkey yang diidentifikasi sebagai subsetting criteria requirements. d. Setiap foreign key akan diimplementasikan. Penyertaan foreign key ini mengimplementasikan relationship pada data model dan memperbolehkan tabel untuk di-join pada SQL dan program aplikasi. e. Attribute akan diimplementasi dengan fileds. Fields ini bersesuaian dengan kolom pada tabel. 2. Supertype/subtype entity menyajikan pengaturan tambahan, antara lain: a. Setiap supertype dan subtype dapat diimpementasikan dengan tabel terpisah (semua memiliki primary key yang sama). b. Jika subtype memiliki ukuran dan konten data yang mirip, seorang database administrator dapat memilih untuk melebur subtype ke dalam supertype untuk dijadikan sebuah tabel. c. Attribute dari supertype dapat diduplikasi dalam sebuah tabel untuk setiap subtype. d. Beberapa kombinasi dari pengaturan di atas dapat digunakan. 3. Evaluasi dan spesifikasi referential integrity constraints.
2.8.3 Data Dictionary (Kamus Data) Data dictionary (kamus data), atau system catalog, adalah gudang informasi yang mendeskripsikan data yang terdapat dalam database, merupakan “data tentang data” atau metadata (Connolly & Begg, 2015, p. 98).
35 Tabel 2.3 Contoh Kamus Data StaffClient (Sumber: Connolly & Begg, 2015: 516) Entity name Attributes
staffNo
Staff
Description
Data type & Nulls
Multi-
Length
valued
Secara unik
5
No
mengidentifikasi
characters
variable No
member dari staff name fName
Nama depan staff
5
variable No
No
characters lName
Nama belakang staff
5
variable No
No
characters position
sex
DOB
PropertyFo
propertyNo
rRent
Judul pekerjaan dari
5
variable No
member staff
characters
Jenis kelamin
5
member dari staff
characters
Tanggal lahir
1
member dari staff
(M or F) Date
Secara unik
5
mengidentifikasi
characters
variable Yes
character Yes
variable No
No
No
No
No
property untuk disewakan
2.9 Smartphone Istilah smartphone awalnya dicetuskan oleh seorang ahli pemasaran untuk menunjuk suatu kelas perangkat mobile yang baru yang dapat digunakan untuk mengakses data dan pemrosesan dengan komputer (Zheng & Ni, 2006). Selain digunakan untuk komunikasi suara dan berkirim pesan, sebuah smartphone biasanya menyediakan aplikasi Personal Information Management (PIM) serta kemampuan untuk komunikasi wireless. Sebuah smartphone biasanya mendukung satu atau lebih teknologi wireless seperti Bluetooth, infrared, yang membuatnya dapat mengirim data melalui koneksi wireless selain mengirimnya dengan koneksi data. Selain aplikasi PIM yang ada pada
36 perangkat mobile tradisional, aplikasi khas pada smartphone antara lain adalah games, built-in camera, audio/video playback dan perekam suara, instant messaging, e-mail, wireless Internet.
2.10 Windows Phone 8 Windows Phone 8 adalah sistem operasi mobile yang dikembangkan oleh Microsoft. Sistem operasi ini diluncurkan pada 29 Oktober 2012. Sistem operasi Windows Phone memiliki tampilan muka yang dikenal dengan Modern UI. Berbeda dengan sistem operasi lainnya, Windows Phone memiliki tampilan daftar ikon yang berbeda. Ikon–ikon tersebut dapat berisi informasi tentang aplikasi tersebut, seperti banyaknya notifikasi yang belum dilihat, dan preview pesan atau foto. User experience merupakan fitur yang sangat penting pada Windows Phone (Wildermuth, 2013). Oleh sebab itu, Windows Phone menggunakan pendekatan yang memungkinkan aplikasi dapat diberi jeda (paused), diaktifkan kembali (made dormant), dan ditunda (suspended), tanpa memberitahukan kepada pengguna bahwa aplikasi sedang diberi jeda. Siklus hidup aplikasi Windows Phone yang disebut juga dengan tombstoning ini terdiri dari 5 bagian, yaitu: 1. Activated Pada kondisi ini, aplikasi yang disimpan pada background akan diaktifkan kembali. 2. Running Pada kondisi ini, aplikasi akan tampil pada perangkat telepon yang kemudian dapat dilihat langsung oleh pengguna. 3. Deactivated Pada kondisi ini, aplikasi yang sedang berjalan disimpan pada background. 4. Dormant Pada kondisi ini, aplikasi telah selesai melalui fase deactivated yang menyebabkan semua thread akan ditunda dan tidak ada proses yang berjalan.
37 5. Suspended Pada kondisi ini, aplikasi akan dihapus dari memori jika sistem operasi membutuhkan memori yang digunakan aplikasi pada siklus dormant. Pada fase ini, semua data pada fase deactivation akan disimpan. Pengembangan aplikasi Windows Phone dapat dilakukan dengan menggunakan aplikasi Visual Studio 2013, dengan Windows Phone 8.0 SDK. Bahasa pemrograman yang digunakan adalah dengan C#, dan XAML untuk merancang tampilan aplikasi.
2.10.1 Local Databases Ketika membangun sebuah aplikasi yang memerlukan data yang harus di-query dan bisa diperbarui, sebuah local database adalah cara terbaik untuk mencapainya. Windows Phone mendukung database yang tersedia langsung di dalam phone. Ketika membangun sebuah aplikasi Windows Phone, pengembang tidak akan memiliki akses ke dalam database secara langsung; tetapi pengembang dapat menggunakan LINQ untuk mengakses SQL untuk membangun dan mengakses database. Database yang digunakan pada Windows Phone adalah SQL Server Compact Edition (Wildermuth, 2013).
2.11 Uniform Resource Identifier (URI) Uniform Resource Identifier (URI) adalah sebuah protokol untuk mengidentifikasi sumber data yang ada di internet. Protokol ini membantu interaksi antara agen dan format untuk menginterpretasi sumber data. Identifikasi sumber data merupakan hal yang penting untuk membagi, mengerti, dan mengubah sumber data tersebut. URI menyediakan sistem untuk melakukan hal-hal tersebut (Berners-Lee, et al., 2006). Pada tahun awal pembahasan identifier web (awal hingga pertengahan 90-an), orang mengasumsikan bahwa jenis identifier akan menjadi satu atau dua class (atau mungkin lebih banyak). Sebuah identifier mungkin menentukan lokasi sumber daya (URL) atau namanya (URN). Jadi, URI bisa menjadi URL atau URN.
38 2.12 C# C# (See Sharp) merupakan bahasa pemrograman yang dikembangkan oleh Microsoft secara khusus untuk platform dot-Net. C# dikembangkan sebagai bahasa pemrograman yang dapat membuat developer berpindah ke dotNet dengan mudah. Perpindahan dapat dilakukan dengan mudah karena C# dikembangkan dengan mengambil keuntungan–keuntungan yang ada dari bahasa pemrograman C, C++, dan Java. Karena C# dikembangkan dari bahasa yang sudah banyak digunakan, developer dapat dengan mudah mempelajari C#. C# merupakan bahasa pemrogaman berbasis objek dan event-driven. Program menggunakan C# dibuat dengan menggunakan Integrated Development Environment (IDE). Dengan IDE developer dapat membuat, menjalankan, dan mencoba program C# dengan mudah. Aplikasi C# juga dapat berinteraksi melalui internet, dengan menggunakan Simple Object Access Protocol (SOAP) dan Extensible Markup Language (XML).
2.13 Extensible Messaging and Presence Protocol (XMPP) 2.13.1 Gambaran Umum XMPP XMPP adalah sebuah teknologi yang digunakan untuk melakukan komunikasi real-time antar aplikasi dengan menggunakan Extensible Markup Language (XML) sebagai format dasar dalam bertukar informasi (Saint-Andre, Smith, & Tronçon, 2009). Salah satu fitur utama dari XMPP adalah XML yang mudah untuk dikembangkan. Sangat mudah untuk menambahkan fitur baru kedalam protokol tersebut. Sampai saat ini sudah ada lebih dari 200 fitur yang sudah ditambahkan dan terdaftar dalam XMPP Standards Foundation yang memberikan kemudahan kepada developer (Moffitt, 2010).
2.13.2 XMPP Addressing Komunikasi XMPP berjalan dalam suatu jaringan sehingga seluruh entitas dari XMPP membutuhkan sebuah identitas atau alamat yang dinamakan JabberID (JID). JID ini memiliki bentuk yang mirip dengan
email
(contoh:
[email protected])
karena
format
[email protected] sudah dikenal oleh orang-orang (Saint-Andre, Smith,
39 & Tronçon, 2009). Setiap JID dapat dibagi menjadi tiga bagian yaitu, local part, domain, dan resource (Moffitt, 2010). Local part mengidentifikasi pengguna yang tergabung dari sebuah domain. Local part dapat ditemukan di awal bagian dari JID sebelum simbol ‘@’, seperti bagian dari alamat email. Domain mengidentifikasi nama server XMPP yang tersedia. JID yang hanya berisi domain-nya merupakan alamat dari server tersebut. Setiap stanza yang dikirimkan ke domain akan ditampung oleh server dan dialihkan ke komponen atau plug-in. Resource mengidentifikasi jenis koneksi yang digunakan oleh client. Setiap jenis koneksi diberikan resource oleh XMPP client. Jika [email protected] terhubung melalui mobile phone, maka alamat tersebut akan menjadi [email protected]/phone.
2.13.3 Metode Komunikasi di XMPP Dalam melakukan komunikasi antar client dan server, XMPP menggunakan XML Stanza sebagai bentuk utama dalam pengiriman informasi (Saint-Andre, Smith, & Tronçon, 2009). Beberapa faktor yang menentukan makna dari stanza yaitu: 1. Nama dari elemen stanza tersebut dapat dibagi menjadi tiga: message, presence, dan IQ. Setiap elemen tersebut memberikan makna yang berbeda. 2. Nilai dari atribut–atribut yang dimiliki oleh stanza. 3. Elemen anak yang mengidentifikasi nilai yang dimiliki oleh stanza tersebut.
40
Gambar 2.19 Contoh stanza (Sumber: Saint-Andre, Smith, & Tronçon, 2009)
Elemen dari stanza dibagi menjadi tiga yaitu: a. Message Elemen message merupakan sebuah metode push untuk menerima dan mengirimkan informasi dari satu tempat ke tempat yang lain. Pada umumnya message digunakan untuk IM, groupchat, peringatan, dan notifikasi. Elemen message memiliki beberapa atribut seperti to, from, dan type. Atribut “to” merupakan atribut yang menentukan kepada siapa stanza tersebut akan dikirim. Atribut “from” menentukan dari siapa stanza tersebut dikirim. Atribut “type” menentukan apa tipe dari stanza message tersebut. b. Presence Elemen presence mengontrol dan melaporkan availability dari suatu entitas. Elemen presence juga dapat digunakan untuk subscribe ataupun unsubscribe antar entitas atau client. Di dalam elemen presence terdapat beberapa elemen tambahan yang memberikan informasi–informasi tambahan yaitu elemen show dan
41 status. Elemen show berisi informasi mengenai availability dari suatu entitas. Elemen show memiliki empat jenis tipe, antara lain: i. Chat: Menginformasikan bahwa pengguna tertarik dan terbuka untuk melakukan chat. ii. DND: Merupakan singkatan dari Do Not Disturb yang menginformasikan
bahwa
pengguna
sedang
tidak
ingin
diganggu atau sibuk. iii. Away: Menginformasikan bahwa pengguna sedang tidak berada ditempat. iv. XA:
Merupakan
singkatan
dari
Extended
Away
yang
menginformasikan pengguna telah idle dalam jangka waktu yang panjang. c. IQ Info / Query (IQ) adalah sebuah XML Stanza yang digunakan untuk melakukan request-response antar entitas. Setiap request dan response dilacak dengan atribut ID yang dibuat oleh entitas yang melakukan request. Setiap entitas yang mengirimkan IQ request akan selalu menerima jawaban IQ response. IQ stanza memiliki empat tipe, antara lain: i. Set: Entitas yang melakukan request menyediakan informasi. ii. Get: Entitas yang melakukan request meminta informasi. iii. Result: Entitas yang melakukan response memberikan informasi yang di minta oleh entitas yang melakukan IQ-get atau mengakui entitas yang melakukan IQ-set. iv. Error: Entitas yang melakukan response memberikan informasi bahwa request tidak bisa dilakukan karena adanya kesalahan.
2.13.4 Roster Roster adalah daftar kontak pengguna, termasuk presence subcription pengguna pada setiap kontak. Roster disimpan pada server sehingga pengguna dapat mengaksesnya dari perangkat atau client apa saja (Saint-Andre, Smith, & Tronçon, 2009, p. 271).
42 2.14 Visual Studio 2013 Visual Studio 2013 merupakan aplikasi Integrated Development Environment (IDE) untuk developer yang membuat aplikasi untuk platform Microsoft Windows (Connecting Up, 2014) seperti aplikasi Windows Store, aplikasi Windows Phone, atau aplikasi yang dapat berjalan dikeduanya. Beberapa bahasa pemrograman yang dapat digunakan dalam Visual Studio 2013 adalah Visual Basic, C#, C/C++, F#, dan JavaScript (Microsoft Corporation, 2014). Dalam Visual Studio 2013 terdapat fitur baru yang dinamakan IntelliSense. IntelliSense merupakan fitur baru yang terdapat dalam Visual Studio 2013 yang dapat meningkatkan produktifitas developer dalam mengetik code. IntelliSense memberikan fitur auto-complete ketika menulis fungsi atau variable sehingga mengurangi kemungkinan kesalahan pengetikan dan waktu yang dibutuhkan untuk mengetik. IntelliSense juga mengecek potongan code yang sedang dikerjakan sehingga developer bisa mengetahui kesalahan sebelum code tersebut di compile.
2.15 XAML Extensible Application Markup Language (XAML) berasal dari bahasa Extensible Markup Language (XML) yang dikembangkan. XAML digunakan untuk merancang elemen visual dari halaman aplikasi (Petzold, 2013). XAML merupakan bagian dari Windows Presentation Foundation (WPF). WPF adalah kategori dari Microsoft .NET 3.5 yang berhubungan dengan sisi presentasi visual dari aplikasi berbasis Windows dan aplikasi client berbasis Web. WPF menggunakan XAML untuk membuat user interface (UI) dengan markup bukan dalam bahasa pemrograman seperti C#. Developer dapat membuat dokumen UI sepenuhnya menggunakan XAML dengan unsur–unsur seperti kontrol, teks, gambar, bentuk, animasi dan lainnya (Microsoft Corporation, 2008).
2.16 Web Service Web service adalah sistem perangkat lunak yang mendukung interaksi antar komputer melalui jaringan (Weerawarana, Curbera, Leymann, Storey, & Ferguson, 2005) Web service memiliki dua ketentuan penting yaitu
43 berkomunikasi melalui Internet Protocol (contohnya HTTP), dan mengirim dan menerima data dalam dokumen XML. Web services juga memiliki teknologi Simple Object Access Protocol (SOAP), Web Service Description Language (WSDL), dan Universal Description, Discovery, dan Integration (UDDI) untuk melakukan pengiriman data dan penerimaan permintaan oleh komputer. a. Simple Object Access Protocol (SOAP) SOAP adalah sekumpulan konvensi yang menspesifikasi sebuah format pesan dengan aturan untuk memprosesi pesan ketika dikirimkan. konvensi mendeskripsikan cara pesan tersebut dibuat dan interaksi yang dapat dilakukan di antara node node. b. Web Service Description Language (WSDL) WSDL adalah sebuah kosa kata XML untuk mendeskripsikan Web Services. hal ini memungkinkan pembuatnya untuk memberikan informasi penting agar dapat digunakan oleh sistem lain. WSDL di desain untuk mudah dikembangkan agar dapat digunakan oleh jenis sistem yang berbeda dan service yang berkomunikasi melalui SOAP dan protokol lainnya.
44