Beruflich Dokumente
Kultur Dokumente
LANDASAN TEORI
fisik sistem dan oleh karena itu membutuhkan rencana yang matang pada saat
pembuatannya.
meliputi elemen perangkat lunak, sifat (property) yang tampak dari elemen itu,
serta relasi diantara elemen-elemen tersebut. Sifat yang tampak misalnya fungsi
Menurut Erl (2009) ada tiga elemen yang saling berkaitan erat ketika
yaitu desain fisik dari suatu perangkat lunak. Kedua adalah infrastruktur
keras dan perangkat lunak. Ketiga adalah perangkat lunak itu sendiri.
16
17
dalam cetak biru arsitektur (architecture blueprint) atau disebut juga spesifikasi
arsitektur. Suatu bangunan berada dalam lingkungan tertentu. Lingkungan ini bisa
abstraksi dari elemen run-time suatu sistem perangkat lunak selama beberapa
tahap operasi. Suatu sistem dapat terdiri dari berbagai tingkat abstraksi dan
sendiri.
sehari-hari, aktivitas yang terjadi di dalam kota tempat kita tinggal dapat dijadikan
18
analogi untuk memahami apa itu layanan (service). Salah satu aktivitas yang dapat
layanan yang dapat digunakan oleh beragam konsumen. Secara kolektif, mereka
membentuk suatu komunitas bisnis. Suatu komunitas bisnis tidak ditangani oleh
haruslah dibuat seminimal mungkin. Hal ini diperlukan agar apabila terdapat
dan maju terus tanpa terhalang oleh ketergantungan pada perusahaan lain.
tetap harus mematuhi suatu aturan tertentu, misalnya penggunaan mata uang yang
standar untuk urusan pertukaran barang dan jasa. Aturan ini adalah hal penting,
dipaksakan untuk mengikuti aturan baru yang dibuat oleh suatu perusahaan
tertentu. Hal ini akan menjaga keharmonisan kegiatan bisnis yang ada.
Berdasarkan analogi di atas, layanan dapat diartikan sebagai suatu unit solusi
mandiri yang tidak seutuhnya terisolasi serta mengikuti suatu aturan atau
standarisasi tertentu.
19
fungsi yang telah terdefinisi, bersifat independen, serta tidak bergantung pada
keadaan layanan yang lainnya. Setiap perangkat lunak atau setiap sistem yang
pengguna layanan. Ada juga layanan yang memanggil dan berinteraksi dengan
layanan lain. Dalam hal ini, layanan tersebut juga berperan sebagai pengguna
layanan.
sebagai berikut:
luar hanyalah kontrak layanan. Logika serta implementasi di balik itu tidak
layanan baru.
dimilikinya.
Alvin (2010) yang mengutip dari tulisan Erl (2005) memaparkan beberapa
diimplementasikan sebagai:
1. Komponen.
2. Web service.
3. REST service.
dipanggil oleh aplikasi maupun perangkat lunak lain. Komponen biasanya terikat
kontrak terpisah yang terdiri dari Web Service Description Language (WSDL) dan
satu atau lebih definisi skema XML. Web service mempublikasi kemampuannya
framework maupun platform tertentu. Web service terdiri dari service contract,
1. Pesan (messages) yaitu data yang dibutuhkan untuk menyelesaikan suatu unit
kerja.
unit kerja.
tertentu.
4. Proses (processes) yaitu aturan bisnis yang menentukan operasi layanan apa
elemen arsitektur tersebut yang terdiri atas komponen, penghubung, dan data yang
atau tiga tahun ini, Web API menjadi populer sehingga mulai menggeserkan
menggunakan data dari berbagai sumber data online. Belakangan, cara ini disebut
nya dalam berbagai kategori seperti social network, jual beli hingga musik.
Saat ini, protokol yang paling banyak digunakan oleh Web API adalah
REST adalah Twitter, Facebook dan Google. REST mungkin dipilih karena
mudah dipakai oleh developer. Di masa lalu, SOAP adalah protokol yang paling
Sejauh ini format data yang paling populer memang XML, namun
4. Output JSON lebih kecil karena tidak perlu mencantumkan atribut dan
namespace, selain itu tag yang digunakan hanya berupa kurung kurawal.
saat ini.
API.
3. Meningkatkan traffic.
4. Memberikan alat yang berguna bagi konsumer, terutama pengguna API (web,
desktop, atau mobile developer). Dengan membangun Web API, kita bisa
kita yang kadang kita tidak terpikirkan untuk menggunakannya semacam itu.
Pesan SOAP dapat dikirimkan melalui HTTP, FTP atau SMTP. Pesan
mentransmisikan pesan XML melalui jaringan, termasuk tipe data dan cara
menstrukturkan pesan secara tepat sehingga dapat mudah dipahami oleh server
26
atau end-point lainnya. Dan berikut ini adalah contoh dari skema atau struktur
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope"
SOAP-ENV:encodingStyle="http://www.w3.org/2001/12/soap-
encoding">
<SOAP-ENV:Header>
...
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
...
...
<SOAP-ENV:Fault>
...
...
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP_ENV:Envelope>
1. SOAP Envelope, suatu selubung yang mendefinisikan apa yang ada dalam
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope"
SOAP-ENV:encodingStyle="http://www.w3.org/2001/12/soap-
encoding">
...
Message information goes here
...
</SOAP-ENV:Envelope>
2. SOAP Header, berisi informasi yang berkaitan dengan keamanan serta routing.
Atribut yang terdapat pada SOAP Header diantaranya adalah Actor Attibute dan
MustUnderstand Attribute.
27
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope"
SOAP-ENV:encodingStyle="http://www.w3.org/2001/12/soap-
encoding">
<SOAP-ENV:Header>
<t:Transaction
xmlns:t="http://www.tutorialspoint.com/transaction/"
SOAP-ENV:mustUnderstand="true">5</t:Transaction>
</SOAP-ENV:Header>
...
</SOAP-ENV:Envelope>
3. SOAP Body, berisi data yang berhubungan dengan aplikasi tertentu yang sedang
dipertukarkan.
<?xml version="1.0"?>
<SOAP-ENV:Envelope
........
<SOAP-ENV:Body>
<m:GetDescription xmlns:m="http://www.tp.com/Description">
<m:Item>Computers</m:Item>
</m:GetDescription>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Skema XML di atas merupakan contoh SOAP Body yang meminta deskripsi,
dilihat dari method yang dipanggil yaitu GetDescription dari suatu item
dan elemen m:Item merupakan elemen spesifikasi aplikasi, bukan bagian dari
standar SOAP.
Dan contoh skema XML dari respon yang diterima adalah seperti berikut ini :
<?xml version="1.0"?>
<SOAP-ENV:Envelope
........
<SOAP-ENV:Body>
<m:GetDescriptionResponse
xmlns:m="http://www.tp.com/Description">
<m:Description>This is Description</m:Description>
</m:GetDescriptionResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
28
4. SOAP Fault, berisi informasi mengenai kesalahan yang terjadi saat pesan
SOAP diproses.
Berikut ini adalah contoh kesalahan dimana klien meminta atau memanggil
Calling), namun dengan karakteristik sendiri, tiga karakteristik utama dari SOAP
antara lain:
pemrograman tertentu.
SOAP pertama kali didesain oleh Dave Winer, Don Box, Bob Atkinso dan
Mohsen Al-Ghosein pada tahun 1998 dalam sebuah proyek Microsoft. SOAP
(CORBA).
2.5 REST
satu penulis spesifikasi HTTP dalam disertasi Ph.D. nya untuk menggambarkan
sebuah style arsitektur dari sistem jaringan. Berikut penjelasan Roy Fielding
protokol HTTP. REST sering dirujuk sebagai sebuah gaya arsitektural daripada
jaringan. REST bukanlah sebuah standar seperti SOAP. Saat ini tidak ada
1. Client-Server
2. Stateless
Setiap request dari client ke server harus mengandung semua informasi yang
diperlukan server untuk memahami maksud dari request, dan request tidak
3. Cache
4. Uniform interface
Semua resource diakses dengan interface generik (HTTP GET, POST, PUT,
DELETE).
karenanya client dapat untuk berpindah dari satu state ke state lainnya.
7. Komponen berlayer
Perantara seperti proxy server, cache server, gateway, dan sebagainya dapat
menganalogikannya seperti ini, kita anggap web terdiri atas kumpulan resources.
merupakan sesuatu (dokumen, file atau apapun) yang dinginkan oleh pengakses
HTML, aplikasi lain mengingikan dalam format XML agar bisa diolah lebih
lanjut. Misal, website UIN Sunan Gunung Djati memberikan resource informasi
http://www.uinsgd.ac.id/mahasiswa/20102246
HTTP adalah POST, GET, PUT dan DELETE. Method ini sering dianalogikan
teknologi database. Tapi dalam HTTP operasi POST bisa meliputi Create, Update
dan Delete. Operasi GET sebagai READ, operasi PUT bisa meliputi CREATE dan
Tabel 2.1 Method pada HTTP request serta implementasinya pada REST
HTTP Analogi
No Aksi Deskripsi
Method Perintah
Mengambil atau 1. Digunakan untuk
1 GET memperoleh memperoleh Ambil itu!
resources resource data
Menyimpan atau 1. Digunakan untuk
menambahkan menyimpan atau Simpan
2 PUT
resources baru menambahkan disitu!
resource baru
Menyimpan atau 2. Method ini dapat
menambahkan digantikan oleh
resources baru method POST,
Simpan
3 PUT karena method ini
disitu!
tidak dapat
digunakan pada
beberapa browser
Merubah 1. Digunakan untuk
resources yang merubah resource
sudah ada yang sudah ada
2. Method ini dapat
digunakan untuk
4 POST Ubah itu!
menggantikan
methop PUT,
karena method ini
lebih umum
digunakan.
Menghapus 1. Digunakan untuk
resources yang menghapus Hilangkan
5 DELETE
sudah ada resource yang itu!
sudah ada
33
Ada beberapa prinsip yang perlu dipegang agar sebuah desain Web Service
1. Kunci untuk membuat web services dalam sebuah jaringan REST (seperti
Web) adalah mengidentifikasi semua bentuk konsep yang ingin kita ekspos
sebagai service.
berbentuk noun (kata benda), bukan verb (kata kerja). Dan inilah yang
http://www.tokobuku-gedex.com/books/getBook?id=0101
seperti:
http://www.tokobuku-gedex.com/books/0101
saja, atau dapat mengedit dan menghapus. Maksudnya apakah client hanya
operasi HTTP PUT, HTTP POST untuk mengedit suatu resource dan HTTP
4. Semua resource yang dapat diakses melalui HTTP GET tidak mempunyai efek
5. Tidak ada representasi yang berisi semua informasi. Gunakan hyperlink atau
semuanya dalam sebuah dokumen respon. Tapi sediakan hyperlink atau cara
7. Beri penjelasan terhadap format dari data respon menggunakan skema (DTD,
sebuah metode untuk autentikasi yang disebut basic access authentication dimana
meningkatkan sisi keamanan, tetapi agar tidak terbaca jelas saja oleh orang lain.
Jika ingin meningkatkan keamanan koneksi HTTP, ada metode yang tersedia,
langsung mengakses alamat atau mengikuti link dari sebuah resource. Berikut
realm.
Content-Type: text/html
Content-Length: 311
Date: Mon, 21 Apr 2008 06:02:12 GMT
3. Pada saat itu client akan menghadapi authentication realm, umumnya sebuah
informasi dari sistem yang sedang diakses dan akan meminta username dan
diberikan (umumnya kode status 200 akan diberikan), tapi jika username atau
HTTP/1.0 200 OK
Server: Apache/2.2.8 (Win32) DAV/2 mod_ssl/2.2.8 OpenSSL/0.9.8g
mod_autoindex_color PHP/5.2.5
Date: Mon, 21 Apr 2008 06:02:12 GMT
Content-Type: text/html
Content-Length: 10512
37
Tabel 2.2 Perbandingan web service dengan model REST dan model RPC
gedex.com/xml-rpc/.
1. getBook()
2. addBook()
3. updateBook()
38
4. removeBook()
5. listBooks()
6. findBook()
7. getPenulis()
8. addPenulis()
9. updatePenulis()
10. removePenulis()
11. listPenulis()
12. findPenulis()
data yang digunakan. Untuk mengakses aplikasi ini, client dapat menulis code
http://www.tokobuku-gedex.com/books
http://www.tokobuku-gedex.com/books/{book}
http://www.tokobuku-gedex.com/penulis
http://www.tokobuku-gedex.com/penulis/{nama_penulis}
identitas noun-nya. Client dapat memulai sebuah resource dari sebuah kumpulan
buku, dan kemudian berpindah ke spesifik buku tertentu, lalu kemudian melihat
39
REST API dan SOAP API merupakan dua jenis implementasi aplikasi
berorientasi layanan yang saat ini paling banyak digunakan karena masing-masing
Dari penjelasan di atas dapat dikatakan bahwa SOAP tidak semudah REST
lebih besar dan pengetahuan di sisi klien, sedangkan web service berbasis REST
API membutuhkan implementasi yang lebih besar dan pengetahuan di sisi server.
40
Gambar 2.8 Analogi perbandingan proses pada SOAP API dan REST API
2.6 USDP
metode pengembangan sistem atau perangkat lunak yang diciptakan oleh mereka
Booch, Ivar Jacobson, dan DR. James Rumbaugh sebagai panduan umum yang
tool UML. Kemudian Rational Corp membuat suatu metode berdasarkan USDP
Beberapa literatur mengatakan bahwa RUP sama saja dengan USDP hanya
perbedaan panggilan saja, dan ada pula literatur yang mengatakan bahwa USDP
merupakan dasar dari RUP hanya saja RUP berbasis pemodelan dan merupakan
41
nama produk dari metode USDP yang diciptakan oleh Rational Corp dan kini
telah dimiliki oleh IBM. Namun yang pasti metode USDP merupakan metode
tool UML yang dibangun oleh para pencipta diagram-diagram UML. Ciri utama
metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk
Dalam USDP terdapat 4 fase, berikut adalah penjelasan dari tiap-tiap fase
tersebut:
1. Inception
kebutuhan-kebutuhan sistem yang hendak dibuat. Langkah ini cukup penting agar
para pengembang perangkat lunak punya kesamaan persepsi antara sistem yang
fase ini:
e. Test : tahap ini tidak terlalu dipentingkan atau belum diperlukan pada fase ini.
42
Adapun hasil akhir dan tujuan yang ingin dicapai pada fase ini adalah:
b. Kebutuhan sistem sudah bisa diidentifikasi dan telah mendapat persetujuan dari
stakeholder.
h. Dokumen atau produk yang dihasilkan dalam fase ini adalah System Charter
2. Elaboration
terbentuk di fase inception. Fase ini belum masuk ke tahap pembuatan perangkat
lunak secara langsung, tetapi lebih kepada pemantapan konsep dan peninjauan
seminimal mungkin.
43
fase ini:
sistem.
Adapun hasil akhir dan tujuan yang ingin dicapai pada fase ini adalah:
a. Membuat garis besar dari arsitektur proyek yang lebih baik dan handal.
c. Mendefinisikan atribut kualitas, misalnya atribut atau parameter apa saja yang
berikutnya.
h. Dokumen atau produk yang dihasilkan dalam fase ini adalah UML Model,
3. Construction
Berikut adalah tahap-tahap iterasi kerja yang dilakukan pada fase ini:
dibuat.
Adapun hasil akhir dan tujuan yang ingin dicapai pada fase ini adalah:
g. Dokumen atau produk yang dihasilkan dalam fase ini adalah Software
4. Transition
Tahap ini dilakukan untuk mematangkan produk akhir yang sudah jadi.
Pematangan ini perlu dilakukan untuk menganalisa apakah perangkat lunak yang
sudah dibuat sesuai dengan kebutuhan pengguna, atau mungkin terdapat bug yang
Berikut adalah tahap-tahap iterasi kerja yang dilakukan pada fase ini:
dipakai lagi karena fase ini merupakan fase akhir, tetapi tetap dapat dilakukan
sehingga tidak dipakai lagi, tetapi tidak menutup kemungkinan tetap dapat
bisa dipakai di sisi pengguna, misalnya install dan setting database di server
e. Test : melakukan proses beta testing dan melakukan testing akhir di sisi
pengguna.
Adapun hasil akhir dan tujuan yang ingin dicapai pada fase ini adalah:
versi beta.
f. Melakukan peninjauan atau analisa setelah proyek selesai (post project review).
diimplementasikan.
h. Dokumen atau produk yang dihasilkan dalam fase ini adalah Software Test
2.7 UML
suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan
desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang
berorientasi objek. Pada tahun 1995 dirilis draft pertama dari UML (versi 0.8).
Collaboration Collaboration,
Diagram interaction,
collaboration, role,
message
3 Model Model Class Diagram Package, subsystem,
Management Management model
View
4 Extensibil All All Constraint,
ity stereotype, tagged
values
aplikasi.
6. Activity Diagram untuk memodelkan perilaku use cases dan objects di dalam
system.
(Sumber : http://id.wikipedia.org/wiki/UML )
diharapkan dari sebuah sistem. Yang ditekankan adalah apa yang diperbuat
sistem, dan bukan bagaimana. Use case merupakan sebuah pekerjaan tertentu,
Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin atau sistem
tertentu.
50
Jadi dalam diagram ini akan terlihat apa saja interaksi yang terdapat dalam
sistem antara aktor-aktor yang terlibat dengan sistem itu sendiri, sehingga
sistem. Terdiri dari nama class, attribute, dan operasi atau metode yang dapat
deskripsi class, package serta objek beserta hubungannya satu sama lain seperti
sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
51
atau fungsi).
2. Atribut
3. Metoda
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-
menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.
Antar class juga dapat memiliki hubungan antar satu sama lainnya, berikut
yang memiliki atribut berupa class lain, atau class yang harus mengetahui
eksistensi class lain. Panah navigability menunjukkan arah query antar class.
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari
class lain dan mewarisi semua atribut dan metoda class asalnya dan dapat pula
4. Hubungan dinamis, yaitu rangkaian pesan (message) yang dilewatkan dari satu
objek dari satu state ke state lainnya pada sistem sebagai akibat dari stimuli yang
class tertentu, dan satu class dapat memiliki lebih dari satu statechart diagram.
segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu.
Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat
terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang
dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis
54
miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh
masing masing aktor yang terlibat dalam suatu sistem. Activity diagram
bagaimana masing-masing dari alir berawal, decision yang mungkin terjadi, dan
sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh
55
jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat
direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses
yang berjalan pada sistem, sementara itu use case menggambarkan bagaimana
proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat
berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi
menunjukkan waktu yang berjalan, dilakukan dari atas ke bawah dan dimensi
tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa
yang dihasilkan.
tidak diperlihatkan dimensi waktu di dalamnya, dan terdapat label sesuai class
yang dipakai.
sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan
tertinggi memiliki nomor satu dan message dengan level dibawahnya akan
memiliki nomor induknya diikuti subnomor message tersebut. Messages dari level
Komponen piranti lunak adalah modul berisi code, baik berisi source code
maupun binary code, baik library maupun executable, baik yang muncul pada
package, tapi dapat juga terbentuk dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan
sebuah komponen untuk komponen lain, sehingga sebuah komponen dapat pula
jaringan dalam suatu instansi. Dengan deployment diagram bisa dijelaskan jenis
deploy dalam infrastruktur sistem, dimana komponen akan terletak (pada mesin,
server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi
adalah memelihara data yang sudah diolah atau informasi dan membuat informasi
tersedia saat dibutuhkan. Pada intinya adalah basis data media untuk menyimpan
Sistem tidak dapat dipisahkan dengan kebutuhan akan basis data apapun
bentuknya, baik berupa file teks atau Database Management System (DBMS).
berikut :
yang mereka miliki, pengelolaan DBMS sendiri biasanya ditangani oleh tenaga
61
ahli yang spesialis menangani DBMS yang disebut sebagai DBA (Database
Administrator).
Berikut ini adalah 4 macam DBMS versi komersial yang paling banyak
1. Oracle
3. IBM DB2
4. Microsoft Access
Sedangkan DBMS versi open source yang cukup berkembang dan paling banyak
2. Firebird
3. SQLite
Model data adalah sekumpulan cara atau peralatan atau tool untuk
batasan konsistensi.
62
Ada dua cara penyajian data, yaitu : Entity Relationship Diagram (ERD)
1. Model ERD atau Conceptual Data Model (CDM) : model yang dibuat
entitas-entitas itu.
Social Networking Site (SNS) atau biasa disebut juga jaringan sosial
dan memperlihatkan hubungan apa saja yang ada antara satu member dengan
networking site memiliki ciri khas dan sistem yang berbeda-beda, beberapa
Bebo.
Situs jejaring sosial merupakan sebuah alat bantu berbasis web yang
pengguna lainnya yang tersebar diseluruh dunia. Pada umumnya situs jejaring
sosial gratis untuk digunakan. Konsep pertemanan yang masih sangat populer
digunakan oleh banyak situs jejaring sosial saat ini ada dua jenis konsep yaitu
persetujuan dari pengguna lain tersebut agar bisa melihat kegiatannya pada sebuah