Anda di halaman 1dari 14

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/339662253

Web Service, Pengertian, Sejarah, dan Kegunaan

Article · March 2020

CITATIONS READS

0 1,595

2 authors:

Faisal Al Isfahani Fuji Nugraha


Siliwangi University Siliwangi University
6 PUBLICATIONS   12 CITATIONS    5 PUBLICATIONS   11 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Sistem Terdistribusi View project

All content following this page was uploaded by Faisal Al Isfahani on 03 March 2020.

The user has requested enhancement of the downloaded file.


Web Service

Pengertian Web Service


Web service adalah sekumpulan fungsi, logika, atau method sebagai
standar untuk pertukaran data antara aplkasi atau sistem dan dapat diakses secara
remote dari berbagai device dengan bahasa pemrograman , arsitektur , atau
platform yang berbeda-beda. Struktur dari sebuah web service bisa berbentuk
Simple Object Access Protocol (SOAP) atau Representational State Transfer
(REST), sedangkan fungsi tersebut direpresentasikan dalam bentuk text, XML
atau JSON [1], [2].
Secara umum semua yang kita akses dalam web browser disebut web
client, tapi web service mengharuskan kita untuk mengaksesnya dari web aplikasi
lain. Web aplikasi menyediakan data pada user secara teratur dan human
readable(dapat dibaca oleh manusia atau dalam format HTML) beserta style dan
scriptnya. Tapi web service mengembalikan data dalam bentuk XML atau JSON
karena program di sisi client menggunakan atau mengakses web service hanya
untuk konsumsi data [3].

Sejarah Web Service


Penemu situs web adalah Sir Timothy John ¨Tim¨ Berners-Lee, sedangkan
situs web yang tersambung dengan jaringan pertama kali muncul pada tahun
1991.Tujuandari Tim ketika merancang situs web adalah untuk memudahkan
tukar menukar dan memperbarui informasi pada sesama peneliti di tempat ia
bekerja. Pada tanggal 30 April 1993, CERN (tempat dimana Tim bekerja)
mengumumkan bahwa WWW dapat digunakan secara gratis oleh publik [4], [5].
Situs web biasanya ditempatkan pada server web. Sebuah server web
umumnya telah dilengkapi dengan perangkat-perangkat lunak khusus untuk
menangani pengaturan nama ranah, serta menangani layanan atas protokol HTTP
yang disebut sebagai Server HTTP, seperti Apache HTTP Server, atau Internet
Information Services (IIS) [6].
Berikut perkembangan teknologi web :
Web 1.0
Web 1.0 Adalah generasi pertama dari website. Pada tipe ini pengunjung
hanya bisa mencari (searching) dan melihat-lihat (browsing) data informasi yang
ada di web. Jadi, web tipe ini terlihat seperti papan pengumuman di dunia maya.
Dalam hal ini, pengunjung tidak dapat menginput data ke website.

World wide web pertama kali menemukan bentuknya di November 1990.


Hingga tahun 1993, jaringan internet berkembang demikian pesatnya.
Perkembangan jaringan internet up to (seperti promosi ISP saja ) 341,000% .
Layanan internet kala itu masih berkisar diantara web statis yang saling
dihubungkan dengan hyperlink. Umumnya website berformat “brosur online” –
website yang menyampaikan informasi satu arah – umumnya berbentuk profile,
portal berita, toko online, layanan email, dll. Web kala itu dihuni oleh website-
website yang di desain menggunakan table dan flash. Contohnya adalah DotCom
Bubble Burst, atau DotCom Crash, atau DotCOm Doom [4], [5].
Web 2.0
Web 2.0 adalah generasi kedua website yang muncul  di tahun 2003 atau
2004, para pengguna website-pun mulai dimanjakan dengan berbagai fasilitas,
yaitu komunikasi 2 arah, tidak hanya dengan webmaster namun dengan orang lain
di belahan dunia yang lain, kita dapat membuat suatu komunitas tanpa harus
bertemu secara fisik, informasi semakin mudah didapat dengan halaman web yang
menarik. Dalam perkembangannya ada beberapa karakteristik dari web 2.0, yaitu
The Web as Platform (Pengerjaan suatu aplikasi/tulisan dapat langsung dikerjakan
di media internet tanpa harus mengerjakannya terlebih dahulu di windows
desktop), Harnessing Collective Intelligence (Web 2.0 memiliki kinerja untuk
memanfaatkan tulisan orang lain untuk mengisi konten web secara kolektif (tidak
hanya webmaster yang mengisi konten sendiri), contohnya seperti youtube) ,Data
is the Next Intel Inside (merupakan suatu garansi kepercayaan dari para pemberi
data kepada pemilik website bahwa pada era web 2.0 data sangatlah penting dan
harus di update setiap waktu), End of the Software Release Cycle (pada web 2.0
aplikasi software dapat langsung digunakan lewat internet/internet menjadi
platform menjalankan program), dan Lightweight Programming Models
(pembuatan web 2.0 menggunakan bahasa yang ringan dan mendukung
pengembagan program) [4], [5].

Web 3.0
Web 3.0 juga sering disebut semantic web. Istilah semantic web sendiri
merupakan pengembangan web dimana konten web ditampilkan tidak hanya
dalam format bahasa manusia, tetapi juga dalam format yang dapat dibaca dan
digunakan oleh mesin. Maksudnya adalah misalkan kita sering menggunakan
Youtube dan sering menonton video yang berkaitan dengan masak. Saat kita
membuka Youtube, secara langsung video yang ditawarkan youtube pada halaman
home adalah video yang berkaitan dengan masak-memasak. Hal ini bisa terjadi
karena sistem youtube dapat membaca kebiasaan yang kita lakukan pada aplikasi
youtube itu sendiri, sehingga sistem youtube akan mencarikan konten yang sesuai
dengan kebiasaaan kita dan menyajikannya.

Perbedaan yang paling mencolok dari web 1.0, web 2.0, dan web 3.0
adalah kesan yang dirasakan pengguna. Pada web 1.0, pengguna seakan hanya
menjadi konsumen dari web. Sangat minim interaksi terjadi antara web dan
penggunanya. Pada generasi keduanya, pengguna sudah bisa mengalami
pengalaman ‘share’. Munculnya sosial media, interaksi beberapa orang melalui
messenger, dan lain-lain. Pada web 3.0, kesan yang ingin dirasakan pengguna
adalah sesuatu yang ‘live’. Web 3.0 seakan menghadirkan, atau dapat dibilang
menggantikan dunia pengguna yang sesungguhnya. Dapat dilihat semakin tinggi
intensitas pengguna internet zaman sekarang. Ini adalah dampak dari real-time
yang dihadirkan oleh web 3.0. Web 3.0 juga menghadirkan segala aspek yang ada
di sekeliling kita menjadi hanya dalam genggaman. Kita mulai mendengar istilah
‘one-touch living’, karena semua yang kita butuhkan dapat dipenuhi oleh gadget
yang kita miliki [7].

Software API, Rest(ful), Web Service


Di jaman sekarang sudah menjadi rahasia umum kalau ingin membuat
sebuah aplikasi yang keren kayaknya penggunaan web service berbasis REST Api
sudah menjadi wajib.

No rest api, no app!!



Yang ingin saya ceritakan di tulisan ini adalah, saya melihat rata-rata
developer sekarang sudah semakin lupa dengan konsep dasarnya. Bahkan ketika
saya iseng-iseng googling dengan keywoard nodejs api tutorialmaka hasil
pencariannya adalah :
Yang artinya adalah :

API == RESTFUL

Padahal yang saya maksud adalah :

Ini bukan masalah tentang hasil pencarian Google atau Wikipedia, tetapi
mencerminkan gaya hidup developer saat ini, ketika kita berbicara api maka itu
sama dengan restful api.
Bagi para developer yang keren saat ini, adakah di antara kalian yang
masih ingat dengan software api ? Kalau memang lupa tidak masalah, karena
memang manusia itu tempatnya salah dan lupa, jadi saya coba bantu copaskan
dari Wikipedia tadi :

In computer programming, an application programming interface (API) is a set


of subroutine definitions, protocols, and tools for building application software.
In general terms, it is a set of clearly defined methods of communication
between various software components. A good API makes it easier to develop a
computer program by providing all the building blocks, which are then put
together by the programmer.

Bagi programmer, menurut saya, hanya akan dua hal yang akan mereka
develop / buat :
1. Aplikasi utuh (bisa web, bisa cli, bisa mobile app, bisa desktop, dll)
2. Library (atau wrapper mungkin)
Rata-rata programmer jaman sekarang sudah lupa dengan definisi software
api itu sendiri. Entah mereka lupa, entah ga paham, atau entah ga peduli, yang
penting kerennn aja biar laku nanti kalau diundang sebagai speaker techtalk.

Dan bagi saya inilah awal mula derita programmer saat ini. Banyak sekali
aplikasi web/mobile/desktop base saat ini yang 100% mengandalkan arsitektur
restful api, dimana dari masing-masing client (web/mobile/desktop) berhubungan
dengan aplikasi di server untuk melakukan :
• CRUD terhadap resource object
• Queue object
• dll
Dan dilihat dari kebutuhan bisnisnya lagi, rata-rata dua aktivitas di atas ini
akan memiliki side effect yang bermacam-macam bentuknya. Dan puncak dari
semua ini adalah, yang terjadi saat ini adalah rata-rata programmer (khususnya
backend) menyediakan endpoint api berdasarkan:
• Request dari developer lainnya
• UI Design
Bukan berdasarkan core bisnis! Coba bayangkan kalau sistem api kita
menyediakan endpoint api berdasarkan UI design / request dari developer lain ?
Yang terjadi sistem kita akan ancur berantakan bin ruwet bin ribet bin remuk!
Otomatis yang terjadi adalah penumpukan endpoint dalam jumlah yang banyak
dan akan bertambah banyak seiring keperluan fitur. Oklah, ada versioning, yang
jadi masalah adalah antara V1 dan V2 ternyata sama saja caranya (cara
managenya), jadi ya tidak berguna.
Karena kita sendiri sudah lupa dengan apa itu software api terjadilah
seperti yang saya tulis barusan di atas.

Di dalam api development, akan selalu ada dua actor yaitu :

• Client (consumer)

• Provider (yang membuat api)

Client itu bisa siapa saja, bisa apa saja. Ketika client membutuhkan sebuah
aktivitas dari aplikasi lain, maka yang perlu dilakukan adalah client
mengkonsumsi API yang disediakan oleh Provider, dan Provider seharusnya
membuat api sesuai dengan core bisnis utama mereka sendiri.
...
Contoh kasus adalah, misal di aplikasi yang ingin kita buat, kita
membutuhkan payment gateway , apa yang perlu kita lakukan :
• Cari & pilih provider payment gateway
• Cek api doc dari payment gateway yang kita pilih
Dan di kasus ini, misal kita pilih Stripe. Stripe sudah menyediakan api doc
agar ketika ada consumer mereka ingin menggunakan service dari Stripe secara
programmatically, pihak consumer sudah tidak perlu repot-repot lagi, cukup
konsumsi saja api mereka. Simpel!
Pertanyaannya adalah, ketika di aplikasi kita ada komponen UI dimana
membutuhkan informasi dari pembayaran dan kebetulan tidak disediakan oleh
Stripe, apakah kita sebagai Client (consumer) bisa menelpon Stripe dan kemudian
minta (request) api baru ? Atau malah api lama minta dirubah? Mungkin ?

Atau mungkin bagi kita, response data dari Stripe tidak cocok, apakah
mungkin bagi kita untuk menghubungi Stripe dan kemudian minta untuk dirubah?

Stripe tidak mungkin merubah / menambah / menghapus api mereka hanya


gara-gara request dari pihak consumer! Karena api mereka mencerminkan core
bisnis mereka, merubah api mereka itu artinya sama dengan merubah bisnis
mereka. Stripe yang sudah dikenal dengan payment gateway, akan berubah
menjadi software agency, karena menerima perubahan alias custom terhadap api
mereka. Mungkin ?

Dari pengalaman development saya selama ini, rata-rata hampir semua


aplikasi itu berbasis restful api . Tapi proses developmentnya sangat berantakan.
Peran penting di proses development kita saat ini ada di UI Designer, dan
akhirnya seluruh engineer mengikuti apa yang ada di design.

Di setiap satu halaman, mungkin akan ada 3 komponen, dan masing-


masing komponen membutuhkan 1 endpoint api. Dan komponen antara mobile
Android & iOS berbeda, dan masing-masing programmer membutuhkan response
payload yang berbeda-beda pula, dan akhirnya ? Dibuatlah endpoint yang
berbeda-beda pula!

Ada yang merasa kalau ada sesuatu yang hilang ? Ya ada, yaitu core business nya!
Engineer sudah tidak peduli lagi dengan :

• Core business

• Business value

• Business flow

Apa yang mereka pedulikan ? Jawabannya singkat, yaitu komponen-


komponen di dalam satu halaman!
Dan kemudian engineer-engineer ini diundang ke suatu acara komunitas
khusus untuk programming untuk mengisi techtalk, dan kemudian dengan
bangganya berkata:

yes, we are using restful api for our products


Ketahuilah…mas, mbak, paman, mbah, om, kek, nek, dek…. API
Development itu tidak semudah dan tidak hanya begitu saja, seperti yang dirimu
bayangkan selama ini.

Bagi saya contoh api development yang bagus itu adalah seperti Google
yang menyediakan Google API Client Library. Dari homepage mereka :

Google APIs give you programmatic access to Google Maps, Google Drive,
YouTube, and many other Google products. To make coding against these APIs
easier, Google provides client libraries that can reduce the amount of code you
need to write and make your code more robust.

Point penting di sini adalah :

programmatic access to Google Maps, Google Drive, YouTube, and many other
Google products.

Dari contoh di atas, Google API Client Library , kita bisa melihat, kalau
Google API Client didesain (bukan design UI lho ya) dan dimanage dengan cukup
rapi, dan elegan. Tidak hanya asal develop by request.

Core sistem seharusnya mencerminkan core bisnis kita, bukan


mencerminkan UI design kita. UI design lah yang seharusnya mengikuti core
bisnis juga, jangan bisnis ekspektasi nya X, design Y dan kemudian sistem Z [8].

Kegunaan Web service


Web service dapat digunakan sebagai salah satu alternatif dalam
pengembangan aplikasi  N-tier, dimana dipisahkan antara server database, aplikasi
dan client. Beberapa keuntungan lain yang didapat dari penerapan web service
yaitu:
1. Dengan format XML yang telah menjadi salah satu standar pertukaran
data, penggunaan web service akan banyak memudahkan untuk pertukaran
data dalam berbagai sistem dengan berbeda platform. Apabila kita
membuat web service dengan teknologi Java, maka fungsi-fungsi yang ada
dalam web service tersebut dapat kita baca dengan menggunakan sistem
lain yang berbeda sama sekali dari Java, misalkan menggunakan .Net
ataupun PHP.
2. Web service di support oleh pemain utama dalam dunia TI seperti
Microsoft (NET), SUN (Open Net Environment – ONE), IBM (Web
Service Conceptual Architecture – WSCA), W3C (Web Service
Workshop), Oracle (Web Service Broker), Hewlett-Packard (Web Service
Platform)[4]
3. Dalam penerapan N-tier, untuk layer bisnis atau  apllication logic  dapat
diterapkan dengan web service, sehingga di sisi client kita tidak direpotkan
dengan instalasi layer bisnis seperti halnya  dll, corba, atau jenis  yang
lain. Dengan web service,  method atau function yang telah kita buat dapat
dipergunakan berulang kali bahkan untuk keperluan aplikasi yang  berbeda
(reusable function) [9]. Penerapan lebih jauh dari web service adalah 
Service Oriented Architecture (SOA) dengan web service sebagai
dasarnya.
4. Web service dibangun berdasarkan  text base document dengan format
XML, sehingga untuk komunikasi data relatif lebih ringan dibandingkan
dengan aplikasi yang mengakses langsung database melalui suatu jaringan.
Apabila kita menerapkan web service untuk aplikasi yang menggunakan 
desktop application  based, kita tidak perlu melakukan instalasi konektor
database seperti misalnya menggunakan ODBC, OLEDB, ataupun jenis 
data provider lain. Dengan jumlah client yang cukup banyak, tentunya
akan sangat merepotkan apabila kita harus melakukan instalasi satu
persatu untuk konektor database. Dengan menggunakan web service kita
cukup menambahkan  web service reference  di client, sedangkan untuk
koneksi databasenya hanya perlu dilakukan di server web servicenya [9].
5. Komunikasi data melalui web service dilakukan melalui  http  atau 
Internet protocol  terbuka lainnya. Hal ini sangat memudahkan karena 
protocol tersebut adalah protocol yang umum dipakai.
Dalam pengertian yang sederhana , XML Web Services dapat di definisikan
sebagai aplikasi yang diakses oleh aplikasi yang lain. Mungkin orang berpendapat
itu semacam web site, tetapi itu bukan demikian. Ada perbedaan – perbedaan yang
membedakan dengan web site [9].

Web service sendiri dibentuk dari :

1. Service provider, merupakan pemilik Web Service yang berfungsi


menyediakan kumpulan operasi dari Web Service.

2. Service requestor, merupakan aplikasi yang bertindak sebagai klien dari


Web Service yang mencari dan memulai interaksi terhadap layanan yang
disediakan.

3. Service registry, merupakan tempat dimana Service provider


mempublikasikan layanannya. Pada arsitektur Web Service, Service
registry bersifat optional. Teknologi web service memungkinkan kita dapat
menghubungkan berbagai jenis software yang memiliki platform dan
sistem operasi yang berbeda [9].

Perusahaan atau instansi yang menerapkan web service

Beberapa perusahaan dan organisasi yang menyediakan open public Web


Services: Amazon.com - Search Products, Product Information, Cart System,
Wish List ; eBay - Auction Search, Bidding, Auction Creation ; Google - In Beta -
Web Search, Maps ; Yahoo! - Maps, Traffic ; FedEx - Tracking ; PayPal - Payment
System ; Xignite - Financial market data ; MusicBrainz - Music Metadata ;
StrikeIron - Address Verification, Sales Tax, SMS, Geocode, Yellow Pages, etc.
Facebook juga menerapkan sistem web service. Fungsi dari Webservice
sangat lah berguna dan dapat diimplementasika pada perusahaan atau instansi
berskala besar seperti facebook yang menyediakan layanan info ataupun berita
yang berasal dari website lain tanpa harus tau struktur data pada database website
yang akan dimintai informasinya.
Amazon Web Services menyediakan layanan infrastruktur kunci bisnis
dunia yang bermanfaat untuk membangun bisnis perusahaan dan sebagai akses
penawaran produk dari suatu perusahaan ke perusahaan lain. Amazon Web
Services juga menyediakan layanan cloud computing sehingga pengguna dapat
menyimpan data secara permanen di dalam server di internet.
Beberapa vendor luar negeri mulai berkolaborasi satu sama lain dengan
konsep web services , diantaranya : IBM, Microsoft , SUN , ORACLE
Diantaranya contoh web services yang sudah jadi dan dipakai adalah web services
keluaran Microsoft (Microsoft Passport) – web services untuk user name dan
password yang sudah dipasang di web site Microsoft dan HOTMAIL.
Perusahaan dalam negeri maupun instansi pendidikan sudah merambah
dalam pengimplementasian web service untuk menangansi setiap kegiatan
operasional di perusahaan ataupun instansi dalam negeri tersebut. Seperti GOJEK,
BUKALAPAK, dan online commerce lainnya sudah menerapkan webservice
mulai dari untuk pemesanan tiket, emoney ataupun untuk e transaction. Instansi
atau lembaga pendidikan pun sudah menerapkan webservice contohnya
Universitas Siliwangi sudah menerapkan Payment Gateway untuk pembayaran
UKT yang bermitra dengan Bank setempat.

Daftar Pustaka

[1] A. Rahmatulloh, R. Gunawan, and I. Darmawan, “Web Services to


Overcome Interoperability in Fingerprint-based Attendance System,” no.
January, 2019, doi: 10.2991/icoiese-18.2019.49.
[2] R. Rizal and A. Rahmatulloh, “Restful Web Service Untuk Integrasi Sistem
Akademik Dan Perpustakaan Universitas Perjuangan,” J. Ilm. Inform., vol.
7, no. 01, p. 54, 2019, doi: 10.33884/jif.v7i01.1004.
[3] “Web Services - History, Introduction and SOAP vs REST - DotNet Guide
- PRB Technical Blog.” [Online]. Available: https://dotnet.guide/developer/
java/web-services-history-introduction-soap-vs-rest.html. [Accessed: 03-
Mar-2020].
[4] “SEJARAH WEB SERVICE.” [Online]. Available:
http://sejarahwebservice.blogspot.com/. [Accessed: 03-Mar-2020].
[5] “Bagaimana Sejarah Perkembangan Website dalam Dunia Teknologi
Informasi ? | Harmoni Permata.” [Online]. Available:
https://harmonipermata.com/bagaimana-sejarah-perkembangan-website-
dalam-dunia-teknologi-informasi/. [Accessed: 03-Mar-2020].
[6] “Tim Berners-Lee - Wikipedia bahasa Indonesia, ensiklopedia bebas.”
[Online]. Available: https://id.wikipedia.org/wiki/Tim_Berners-Lee.
[Accessed: 03-Mar-2020].
[7] “Istilah Web 3.0.” [Online]. Available:
https://sis.binus.ac.id/2019/07/18/istilah-web-3-0/. [Accessed: 03-Mar-
2020].
[8] Hiraq Citra M, “Software API, Rest(ful), Web Service - Wonderlabs -
Medium.” [Online]. Available: https://medium.com/wonderlabs/software-
api-rest-ful-web-service-7737ebe5d927. [Accessed: 03-Mar-2020].
[9] Suhartono Bambang, “WEB Service dan manfaatnya pada Perusahaan « :.
Bambang Suhartono’ Blog .:” [Online]. Available:
https://bambangsuhartono.wordpress.com/2014/12/28/web-service-dan-
manfaatnya-pada-perusahaan/. [Accessed: 04-Mar-2020].

View publication stats

Anda mungkin juga menyukai