Professional Documents
Culture Documents
Merged - Teknologi Web Service
Merged - Teknologi Web Service
2. Scalability
3. Connectivity/interconnectivity
4. Interoperability
5. Ease of Implementation
6. Ease of Modification
7. Realiability
Interoperability
❑ Suatu metode yang digunakan agar data dapat saling dikenali (undstable)
antar computer (berlawanan dengan proprietary) atau dikutip dari
Kominfo Interoperabilitas adalah kapabilitas dari suatu produk atau
sistem – yang antar mukanya diungkapkan sepenuhnya – untuk
berinteraksi dan berfungsi dengan produk atau sistem lain, baik saat ini
ataupun di masa mendatang, tanpa batasan akses atau implementasi.
(Interoperability Working Group)
Sumber: KOMINFO, Strategi Integrasi Data Melalui Konsep Interoperabilitas Sistem Elektronik, 2017
Konsep Kompatibilatas
Setiap sistem diharapkan dapat memanfaatkan data milik
sistem lainsecara optimal. Jika Anda perhatikan, pada
Gambar dibawah ini terlihat bahwa yang memungkinkan
terjadinya hal tersebut adalah standar interoperabilitas.
Perhatikan juga bahwa baik sistem A, B, C, maupun D
memasukan standar operabilitas sebagai bagian dari
sistem. Hal ini sangat berbeda dengan konsep
kompatibilitas. Tentu saja, penggunaan teknik
interoperabilitas akan lebih mudah diimplementasikan,
terutama untuk pengembangan sistem-sistem TIK baru
lainnya.
Sumber: Direktorat E‐Government Ditjen. Aplikasi Informatika Kementerian Komunikasi Dan Informatika, 2017
Fokus Pengembangan Interoperabilitas di Pemerintahan, yaitu :
1. G2B
2. G2Org
3. G2C
4. G2G
5. G2OG
1. Government-to-Government(G2G)
Pengembangan interoperabilitas G2Gberfokus pada
membangun jalur komunikasi digital antara sistem
pemerintahan dengan sistem pemerintahan lainnya. Hal ini
termasuk sistem pemerintahan yang berasal dari lembaga
yang sama, berbeda lembaga, atau antara pemerintah pusat
dengan pemerintah daerah.
2. Government-to-Business(G2B)
Pengembangan interoperabilitasini berfokus pada
membangun jalur komunikasi digital antara sistem
pemerintahan dengan sistem yang dikembangkan
oleh/berhubungan dengan dunia bisnis dan industri.
Pengembangan difokuskan untuk mempermudah dan
meningkatkan kualitas layanan pemerintah untuk kalangan
bisnis dan industri.
3. Government-to-Citizen (G2C)
Pengembangan interoperabilitasini berfokus pada
pembangunanjalur komunikasi digital antara sistem
pemerintahan dengan sistem yang dibangun oleh masyarakat,
atau antara sistem pemerintahan dengan sistem pemerintahan
lainnya guna memberikan layanan terbaik kepada
masyarakat.
4. Government-to-Organizations (G2Org)
Pengembangan interoperabilitasini berfokus pada
pembangunanjalur komunikasi digital antara sistem
pemerintahan dengan sistem yang dikembangkan oleh
organisasi non-pemerintah.
5. Government-to-Other-Governments (G2OG)
Pengembangan interoperabilitasini berfokus pada
pembangunanjalur komunikasi digital antara sistem
pemerintahan di suatu negara dengan sistem pemerintahan di
negara lain. Fokus interoperabilitasseperti ini sudah
diterapkan pada negara-negara di Eropamelalui European
Interoperability Strategydan European Interoperability
Framework.
Sistem Terdistribusi
Definisi Sistem Terdistribusi :
1. Sebuah sistem yg komponennya berada pada jaringan komputer. Komponen tersebut saling
berkomunikasi dan melakukan koordinasi hanya dgn pengiriman pesan (message passing).
2. Sebuah sistem terdistribusi (DS) terdiri dari sekumpulan komputer yang mandiri yang terhubung dalam
jaringan komputer dan dilengkapi dengan software sistem terdistribusi (Colouris 1994)
3. Software Sistem Terdistribusi dapat mengkoordinir aktifitas masing-masing komputer dan melakukan
pertukaran sumber daya sistem HW, SW dan data.
Sistem Terdistribusi
Sistem Terdistribusi dibutuhkan dengan beberapa alasan yaitu:
1. Performance
Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat
2. Distribution
Banyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda (contoh:
aplikasi perbankan, komersial)
3. Reliability
Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja system secara
keseluruhan
Sistem Terdistribusi
Sistem Terdistribusi dibutuhkan dengan beberapa alasan yaitu:
4. Incremental Growth
5. Sharing Data/Resource
Resource adalah:
• Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data, obyek data).
6. Communication
▪ Biasanya proprietary
Karakteristik
❑ Sumber data yang heterogen dan memerlukan sinkronisasi secara real time
Contoh:
✓ Teleteaching tools, Video-conferencing, Video and audio on demand
Mobile dan sistem komputasi ubiquitous
1. Rencana Tugas Mandiri Mahasiswa pada minggu ke 1 dan ke 2 terdapat satu case study, yaitu Implementasi Web
Service Menggunakan NuSOAP
2. Mahasiswa wajib mempelajari case study tersebut pada minggu ke 1 dan sudah mulai mempraktikan sesuai
petunjuka pada case study tersebut.
3. Pada minggu ke 2 mahasiswa yang sudah berpasangan mendemontrasikan progress case study kepada dosen
masing-masing.
4. Pada case study ini akan menjadi nilai nilai tugas 1
MINGGU KE 2
PENGENALAN WEB SERVICE
Deskripsi
Materi membahas contoh-contoh implementasi web service yang sudah
digunakan oleh masyarakat. Untuk mengenal lebih jauh tentang layanan web
service eksplorasi pembahasan tentang jenis web service dan manfaatnya,
teknologi web service, arsitektur web servis, operasi web service, keuntungan
web service.
Tujuan Pembelajaran
Dengan mengikuti pembelajaran ini, mahasiswa mampu
Contoh :
Implementasi web service adalah sistem login
seperti yang ada di Kaskus ataupun detik.com
❑ Membuat service wrapper berupa XML-RPC atau SOAP ❑ Mengambil service description file berupa WSDL atau
❑ Membuat deskripsi service berupa WSDL atau instruksi instruksi XML-RPC
integrasi XML-RPC (memuat semua method public, ❑ Membuat klien XML-RPC atau SOAP (dapat berupa fungsi
argumen dan return valuenya); plus dokumentasi yang lokal atau pesan XML untuk dikirim → berdasarkan
human readable WSDLnya)
❑ Deploy (rilis) service ❑ Memanggil remote service tersebut
❑ Daftarkan service tersebut melalui UDDI agar
discoverable
E. Operasi-operasi Web Service
Secara umum, web service memiliki 3 (tiga) operasi yang terlibat di dalamnya, yaitu :
1. Publish/Unpublish
Menerbitkan/menghapus layanan ke dalam atau
dari registrasi
2. Find
Service requestor mencari dan menemukan
layanan yang dibutuhkan.
3. Bind
Service requestor setelah menemukan layanan
yang dicarinya, kemudian melakukan binding ke
service provider untuk melakukan interaksi dan
mengakses layanan/service yang disediakan oleh
service provider.
F. Keuntungan Menggunakan Web Service
1. Web Service menyediakan interoperabilitas antar berbagai aplikasi perangkat lunak yang
berjalan pada platform yang berbeda.
2. Web Service menggunakan standard dan protocol yang bersifat terbuka.
3. Web service mengijinkan penggunaan kembali service dan komponen didalam suatu
infrastruktur.
4. Web service dapat secara bebas digunakan (loosely coupled) dengan demikian
memudahkan suatu pendekatan terdistribusi ke peintegrasian aplikasi
G. Kerugian Menggunakan Web Service
1. Karakteristik standard Web Service saat ini masih dalam tahap perkembangan awal
dibandingkan open standard komputer terdistribusi yang lebih matang seperti CORBA. Ini
nampaknya akan merupakan suatu kerugian yang temporer ketika kebanyakan vendor
sudah merasa terikat dengan standard OASIS untuk menerapkan Mutu dari aspek service
dari produk mereka.Web Service menggunakan standard dan protocol yang bersifat
terbuka.
2. Web Service dapat saja memiliki performance/kinerja yang lemah dibandingkan dengan
pendekatan komputasi terdistribusi lain seperti RMI, CORBA, atau DCOM. Ini merupakan
suatu trade-off yang umum ketika memilih format yang text-based.
Case Study: Implementasi Web Service Menggunakan NuSOAP
NIM Mahasiswa dapat screen shoot debug Mahasiswa menuliskan code sebagai solusi dari Mhs dapat SS tampilan output
Nama penanganan debug yang ditemukan
NIM Mahasiswa dapat screen shoot debug Mahasiswa menuliskan code sebagai solusi dari Mhs dapat SS tampilan output
Nama penanganan debug yang ditemukan
Setelah mahasiswa mempelajari dan mempraktikan materi OOP dengan metode pembelajaran case
study, mahasiswa mampu memahami, menerapkan dan implementasi OOP dalam bahasa
pemrograman dart sehingga mahasiswa memiliki kemudahan pemahaman saat menggunakan bahasa
pemrograman pada skala besar (framework flutter) yang berorientasi pada OOP.
A. Konsep Dasar Pemrograman Berorientasi Objek
Pemrograman berorientasi objek sebuah tata cara pembuatan program (programming paradigm) dengan menggunakan
konsep “objek”, dimana objek ini bisa memiliki data (dikenal dengan istilah atribut) dan kode program dalam bentuk prosedur
(dikenal dengan istilah method). Dalam teori pemrograman, terdapat 3 prinsip dasar yang melandasi pemrograman
berorientasi objek, yakni encapsulation, inheritance dan polymorphism. Pada modul ini akan fokus pada pemrograman
berorientasi objek
B. Best Practise OOP Bahasa Pemrograman Dart
Review konsep OOP dari mata kuliah Metode Perancangan Program
1. Objek (object)
a. Objek adalah representasi sebuah entitas yang memiliki makna tertentu yang menjadi perhatian sipemandang
b. segala sesuatu yang ada di dunia adalah objek. Seperti : Manusia, Benda, Hewan, Mobil, Meja, kursi, Sepeda, Kereta dll.
c. Setiap sistem terdiri dari objeck-objek (sistem juga termasuk objek).
d. Evaluasi & pengembangansistem disebabkan oleh interaksi antara objek-objek di dalam atau di luar sistem.
a. Kelas (class)
a. Merupakan template untuk membuat objek. Merupakan prototipe/blue prints yang mendefinisikan variable-variable dan
method-method secara umum.
b. Objek (instances) merupakan hasil instansiasi dari suatu kelas, proses pembentukan obyek dari suatu class disebut dengan
instantiation.
c. Analogi hubungan antara class dan objek seperti gambar dibawah
Review konsep OOP dari mata kuliah Metode Perancangan Program
3. Atribut dan metod
a. Atribut adalah data yang membedakan antara objek satu dengan yang lain. Contoh atribut mobil : manufaktur, model,
warna, jumlah pintu, ukuran engine, kecepatan dll.
b. Dalam class, atribut disebut sebagai variabel.
c. Instance variable
adalah atribut untuk tiap obyek dari class yang sama. Tiap obyek mempunyai dan menyimpan nilai atributnya sendiri. Jadi
tiap obyek dari class yang sama boleh mempunyai nilai yang sama atau beda
d. Class variable
adalah atribut untuk semua obyek yang dibuat dari class yang sama. Semua obyek mempunyai nilai atribut yang sama. Jadi
semua obyek dari class yang sama mempunyai hanya satu nilai yang value nya sama.
e. Tingkah laku/behavior adalah hal-hal yang bisa dilakukan oleh objek dari suatu class.
f. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim
informasi ke obyek lain untuk melakukan suatu task.
g. Dalam class, behavior disebut juga sebagai method.
h. Method adalah serangkaian statements dalamsuatu class yang menghandle suatu task tertentu.
i. Cara objek berkomunikasi dengan objek lain adalah dengan menggunakan method.
C. Best Practise OOP Bahasa Pemrograman Dart
1. Persiapan
a. Pastikan perangkat computer sudah terinstall editor visual code
1 2
b. Siapkan folder missal → D:Project_TWS\OOP_Dart
2. Aktifkan editor visual code
3. Langkah awal persiapan pemrograman OOP
5
4 3
6
7
Hapus script tersebut
Sumber :
https://subscription.packtpub.com/book/mobile/9781788996082/2/ch02lvl1sec06/introduction-to-oop-in-dart
5. Inheritance
Mereview mata kuliah Metode Perancangan Program, Inheritance adalah class dapat menurunkan
metode-metode dan properti-properti yang dimilikinya pada kelas lain. Kelas yang mewarisi metode
dan properti dari objek lain dinamakan kelas turunan. Kelas turunan ini mampu mengembangkan
metode sendiri. Berikut case study implementasi inheritance OOP pada bahasa Dart.
6. Encapsulation
Review materi mata kuliah Metode Perancangan Program, Enkapsulasi atau pembungkusan berfungsi
untuk melindungi suatu objek dari dunia luar, sehingga seseorang tidak akan mampu merusak objek
yang terbungkus. Objek yang terbungkus dalam suatu kelas baik data maupun fungsinya tidak bisa
terlihat apalagi dirubah pada saat objek digunakan. Struktur class yang dimaksud adalah property dan
method. Dengan enkapsulasi, kita bisa membuat pembatasan akses kepada property dan method,
sehingga hanya property dan method tertentu saja yang bisa diakses dari luar class. Proses
enkapsulasi diterapkan dengan menggunakan 3 jenis hak akses: Public, Protected dan Private. Case
study dari inheritance akan dikembangkan implementasi enkapsulasi dengan bahasa pemrograman
Dart.
7. abstraction/ abstraksi
Review mata kuliah Metode Perancangan Program bahwa Abstraksi adalah proses
penyembunyian kerumitan dari suatu proses untuk permasalahan yang dihadapi, atau
dengan kata lain kelas abstrak adalah kelas yang tidak dapat dibuat objeknya (di instans),
tujuan dari kelas abstrak adalah sebagai superclass (kelas awal) untuk kelas lainnya.
8. Polymorphism/Polimorfisme
Mahasiswa mampu memahami restfull web service, kebutuhan tools, menerapkan layanan web service
restfull akses database menggunakan metode GET, POST, PUT, dan DELETE dan menguji melalui
browser
A. Restful Web Service
Salah satu web service yang biasa digunakan yaitu REST atau biasa
disebut RESTful Web Service. REST sendiri merupakan singkatan dari
Representational State Transfer, yaitu suatu gaya arsitektur
perangkat lunak dalam menyediakan sumber daya /data (resources)
pada REST server, serta dapat diakses dan ditampilkan resources
tersebut untuk dapat digunakan pada REST Client.
Layanan Restful Web Service menggunakan metode HTTP dalam menerapkan konsep arsitektur REST, dimana setiap resource
diidentifikasi oleh URIs (Universal Resource Identifiers) atau global ID. Resource tersebut direpresentasikan dalam bentuk
format teks, yang pada umumnya menggunakan JSON atau XML.
Berikut beberapa metode HTTP yang umum digunakan dalam arsitektur Restful Web Service.
1. GET, hanya menyediakan akses pembacaan pada resource
2. PUT, dapat digunakan untuk mengperbaharui resource baru
3. DELETE, dapat digunakan untuk menghapus resource
4. POST, dapat digunakan untuk memperbarui resource yang ada atau membuat resource baru
Sumber: https://www.javatpoint.com/soap-and-rest-web-services
B. Kebutuhan Tools
Dalam implementasi RESTful Web Service pada modul pembelajaran ini dibutuhkan
beberapa hal yang harus dipersiapkan pada PC/laptop, diantaranya yaitu:
1. Konfigurasi Database
Buat database baru dengan nama db_member:
Dalam database db_member → buat sebuah table dengan nama member
Script diatas menunjukan pemanggilan Controller REST_Controller.php yang ada pada libraries untuk web
service. (setiap pembuatan controller baru, wajib disertakan deklarasi controller library REST web service)
Script diatas menunjukan function dengan parameter $config yang diberi nilai ‘rest’. Pemberian nilai rest
merujuk pada function construct file REST_Controller(ada di folder libraries), jika pengaturasn REST web
service ada, maka file database.php akan dijalankan.
Script diatas menunjukan pembuatan fungsi get, yang akan memeriksa apakah ada property “id” pada
address bar, jika tidak ada maka data akan ditampilkan semua tanpa ada seleksi.
Tampilan uji coba pada browser :
➢ Windows/Linux/Mac
https://www.postman.com/downloads/?utm_source=postman-home
Setelah postman selesai didownload, selanjutnya jalankan paket instalasi postman dengan cara double
klik.
1. Kebutuhan database dan resful API ViGeNesia mahasiswa unduh melalui link
https://tinyurl.com/DB-API-vigenesia
2. Extrak file zip tersebut dan letakan pada httdoc
4. Lakukan import vigenesia.sql (Temukan file vigenesia.sql pada folder DB pada folder vigensia)
Case Study : Import database dan Pengujian API
5. Setelah sukses import, pastikan stuktur database vigenesia seperti pada gambar dibawah
Case Study : Import database dan Pengujian API
6. Mahasiswa dapat melakukan explore struktur dari masing-masing tabel role, user, dan motivasi.
Case Study : Import database dan Pengujian API
Case Study : Import database dan Pengujian API
Case Study : Import database dan Pengujian API
ViGeNesia
Registrasi
Fitur/form/widget sebagai interface bagi untuk input data user baru
Sumber:
https://flutlab.io
Installasi editor : Flutlab desktop/Flutlab online
Sumber:
https://flutlab.io/download
Detail installasi atau penggunaan editor yang akan dipergunakan dalam praktik membangun aplikasi ViGeNesia
dapat melalui video pembelajaran yang dapat di akses melalui link: https://tinyurl.com/Vidukasi-TWS
Case Study: Mahasiswa Menentukan Editor
Sesuai dengan spesifikasi komputer masing-masing mahasiswa dapat menentukan editor yang akan di pergunakan. Secara
pribadi mahasiswa mendokumentasikan video penggunaan editor yang dipergunakan dalam bentuk video. File video
tersebut dapat di upload pada youtube. Semua dokumen dalam case study dan project disampaikan kepada dosen masing-
masing.
Project Based: UI/UX Security System/Login
Detail tahapan UI/UX Login dan Pengujian dapat diakses melalui https://tinyurl.com/Vidukasi-TWS
Project Based: UI/UX Security System/Login
Detail tahapan UI/UX Register dan Pengujian dapat diakses melalui https://tinyurl.com/Vidukasi-TWS
Project Based : UI/UX Register
Detail tahapan UI/UX MainScreen dan Pengujian dapat diakses melalui https://tinyurl.com/Vidukasi-TWS
Penilaian Project Based : UI/UX
Pada tahap ini pengkodean yang paling dikomples dibandingkan Login dan
Register, programmer akan menggabungkan aksi Create, Read, Update dan Delete.
Programmer akan modifikasi atau penyesuaian maupun penambahan agar ke 4 aksi
tersebut dapat difasilitasi pada fitur MainScreens.
Project Based
Teknologi Web Service
2. Mengusulkan aplikasi baru di mana konsep layanan web service dapat mengadopsi
minimal seperti ViGeNesia. Contoh ide lain SIBERI (Sistem Informasi dan Berita)
Penilaian Pengembangan Project