BAB 2 LANDAS AN TEORI
2.1 Teori –Teori Dasar 2.1.1
Sistem Terdistribusi Industri komputer yang berkembang saat ini dikenal ada 3 jenis arsitektur pengembangan aplikasi yaitu : Desktop (1-Tier), Client/Server (2-Tier), dan M ultiTier (n-Tier). Perbedaan jenis arsitektur terletak pada bagaimana lapisan-lapisan (layers) yang menyusun suatu aplikasi diterapkan. Seperti diketahui ada 3 lapisan tradisional dari suatu aplikasi, yaitu: lapisan service presentasi, lapisan service bisnis, dan lapisan service data (M aloney, 1999, p2). Sedangkan yang termasuk dalam arsitektur sistem terdistribusi adalah sistem Client/Server (2-Tier) dan M ultiTier (n-Tier). 2.1.1.1 Lapisan Sistem Terdistribusi Lapisan Sistem terdistribusi dibagi menjadi beberapa bagian, diantaranya: 2.1.1.1.1 Lapisan Service Presentasi (Client Tier) Adalah lapisan dari aplikasi yang berhubungan langsung dengan pengguna melalui grafik antarmuka pengguna (Graphical User Interface-GUI). Lapisan ini biasanya berjalan di PC (Personal Computer) pengguna untuk menyajikan dan mengedit data. Antarmuka yang
8
9
baik
harus
memiliki
cara
yang intuitif
untuk
menjelaskan data, memanggil objek bisnis pada lapisan service
bisnis
untuk
mengolah
data,
dan
mengembalikan hasilnya ke pengguna dengan cara yang informatif. Lapisan ini lebih memperhatikan bagaimana menyajikan data kepada pengguna sebagai solusi atau hasil dari masalah dibandingkan detil dari proses untuk mendapatkan hasil. 2.1.1.1.2 Lapisan Service Bisnis (Middle Tier) Lapisan bisnis digunakan untuk melaksanakan atau mendukung aturan-aturan bisnis dan aturan-aturan data dari aplikasi. Lapisan presentasi menggunakan service yang terdapat di dalam lapisan ini, akan tetapi lapisan ini tidak terikat oleh 1 client, service yang disediakan oleh lapisan ini dapat digunakan oleh semua aplikasi. Aturan bisnis dapat berupa algoritma bisnis, polis bisnis, dan sebagainya. Aturan data digunakan untuk membantu menjaga agar data yang disimpan pada banyak tempat tetap konsisten. Aturan-aturan ini diimplementasikan pada modul-modul atau disebut juga bisnis objek dan biasanya bisnis objek tersebut diletakkan pada lokasi terpusat agar dapat digunakan oleh aplikasi.
10
2.1.1.1.3 Lapisan Service Data (Server Tier) Lapisan
service
bisnis
tidak
memiliki
pengetahuan tentang bagaimana atau dimana data yang sedang diolah disimpan, karenanya ia bergantung pada laporan service data, yang dapat melakukan perjalanan mengambil dan menyimpan data sesungguhnya pada DBM S (DataBase Management System) atau alat penyimpanan lainnya seperti mainframe atau internet. 2.1.2
Arsitektur Sistem Terdistribusi Arsitektur Sistem terdistribusi dibagi menjadi beberapa, diantaranya: 2.1.2.1 Arsitektur Client/ S erver (2-Tier) Salah satu bentuk sederhana dari arsitektur jenis ini apabila suatu aplikasi memiliki basis data yang remote, basis data tersebut dapat di akses dengan menggunakan segala bentuk Client/Server database API, seperti ActiveX Data Objects (ADO), Remote Data Objects (RDO) atau ODBC API. Arsitektur jenis ini sering kali disebut dengan arsitektur Client/Server, yang memiliki 2 lapisan aplikasi yang jelas, yaitu lapisan presentasi yang menyatu dengan lapisan service bisnis bisa terletak pada komputer client maupun server dan lapisan servis data yang biasanya terletak pada komputer server (M aloney, 1993, p3).
11
Gambar 2. 1 Arsitektur Client/Server (2-Tier) 2.1.2.2 Arsitektur MultiTier (n-Tier) Adanya tambahan lapisan yaitu Middle Tier antara lapisan service pemakai dengan lapisan service data pada arsitektur aplikasi 2-Tier akan membentuk arsitektur aplikasi n-Tier. Laporan service aplikasi yang berada di tengah-tengah ini serin g disebut dengan aturan bisnis dan biasanya secara fisik laporan ini diletakkan di server bersama dengan laporan service data (M aloney, 1994, p4).
12
Gambar 2. 2 Arsitektur MultiTier (n-Tier) 2.1.3
Database 2.1.3.1 Pengertian Data Data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal-hal yang penting di dalam organisasi (Whitten, Bentley, dan Dittman, 2004, p27). Data merupakan suatu sumber yang harus dikontrol dan dikelola. 2.1.3.2 Pengertian Database M enurut Connolly dan Begg (2010, p65), database adalah kumpulan dari data-data dan dekskripsi data yang salin g berhubungan, yang dapat digunakan bersama-sama untuk memenuhi kebutuhan informasi dari suatu organisasi.
13
Adapun pengertian menurut Whitten, Bentley, dan Dittman (2004, p548), database adalah kumpulan dari file-file yang saling berhubungan. Record pada setiap file harus memungkinkan adanya hubungan ke record pada file lain (seperti pointer). Contohnya, database sales dapat berisi record yang berhubungan dengan record lain pada customer dan product. File adalah kumpulan dari record yang sama. Record adalah kumpulan dari field yang disusun dalam format yang telah ditetapkan sebelumnya. Field adalah kesatuan terkecil dari data yang berarti untuk disimpan dalam file atau database. 2.1.3.3 Database Management System (DBMS ) Database management system adalah suatu sistem perangkat
lunak
yang
mendefinisikan,
mengelola
dan
mengontrol akses ke database (Connolly dan Begg, 2010, p66). Pengertian lain tentang database management system (DBM S) adalah suatu perangkat lunak yang khusus digunakan untuk membuat, mengakses, mengontrol,
dan
mengelola
database (Whitten, Bentley, dan Dittman, 2004, p554). 2.1.3.4 Structured Query Language (SQL) SQL merupakan suatu transform-oriented language, atau bahasa yang didesain
untuk
menggunakan
relasi untuk
mengubah input menjadi output yang dibutuhkan (Connolly dan
14
Begg, 2010, p184). Berdasarkan standar ISO, SQL memiliki dua komponen utama : 1. Data Definition Language (DDL), untuk mendefinisikan struktur database dan pengendalian akses pada data. 2. Data Manipulation Language (DM L), untuk mengambil dan mengubah (updating) data. Adapun pengertian lain, tentang SQL, menurut Nugroho (2005, p5), adalah sebuah bahasa permintaan database yang terstruktur. Bahasa SQL dibuat sebagai suatu bahasa yang dapat merealisasikan beberapa tabel dalam database maupun antar database. 2.1.4
Internet Internet adalah sumber daya informasi yang menjangkau seluruh dunia, sumber daya informasi ini sangat luas dan sangat besar sehingga tidak ada satu orang, satu organisasi atau satu negara yang menanganinya sendiri (Turban, 2005). Asal-usul intemet berasal dari jaringan komputer yang dibentuk pada awal tahun 1970, jaringan komputer tersebut disebut dengan ARPANet, singkatan dari Advanced Research Projects Agency, yaitu jaringan komputer antara 4 universitas yang dibentuk oleh departemen pertahanan Amerika Serikat. Dalam waktu 10 tahun internet telah berkembang mencapai 6 juta pengguna komputer. Selanjutnya, jaringan
15
komputer tersebut diperbaharui dan dikembangkan, dan sekarang penerusnya menjadi tulang punggung untuk sumber daya informasi dunia yang disebut dengan nama internet. Sampai Januari 1997 dari 194 negara tercatat hanya 17 negara yang belum tersambung ke internet dan pada awal tahun 2000 tercatat terdapat lebih kurang 100.000.000 situs di internet. 2.1.4.1 World Wide Web (WWW) M erupakan salah satu sumber daya yang disediakan oleh internet, berupa suatu Jaringan server web yang berbasiskan hiperteks, tempat situs-situs yang di akses melalui web browser saling terkoneksi dengan menggunakan protokol HTTP. Koneksi web ini menggunakan arsitektur Client/Server (John December, 1997). Web (baca
www) merupakan perangkat yang cepat
sekali populer, hal ini dikarenakan hal-hal rumit dapat diotomatisasi oleh web sehingga pengguna tidak dipusingkan oleh
proses-proses
yang
sesungguhnya
terjadi
dan
kemampuannya untuk menampilkan kata-kata, tipografi, dan gambar di layar komputer, bahkan suara. Contoh web browser yang terkenal antara lain Intemet Explorer dan Netscape Communicator.
16
2.1.4.2 HyperText Transfer Protocol (HTTP) Hypertext Transfer Protocol (HTTP) adalah serangkaian aturan untuk pertukaran file (teks, grafik, gambar, suara, video, dan file multimedia yang lain) di dalam World Wide Web. Berhubungan dengan protokol TCP/IP yang merupakan protokol utama dalam pertukaran informasi di internet, HTTP adalah protokol aplikasi. Konsep dasar yang merupakan bagian dari HTTP termasuk ide bahwa di dalam file bisa terdapat referensi ke file lain dimana pemilihan file tersebut akan memicu terjadinya transfer request. Beberapa web server dalam memenuhi layanan akan HTM L dan file-file lain yang dapat dilayaninya, menambahkan sebuah HTTP daemon, yaitu program yang didesain untuk menunggu HTTP request dan melayani request bilamana terjadi. HTTP request ini berasal dari HTTP client seperti web browser. 2.1.5
Extensible Markup Language (XML) M enurut
vendor-vendor
dalam
industri
software,
XM L
merupakan langkah berikut dari evolusi dalam dunia web, XM L digunakan untuk representasi digital dari dokumen-dokumen (Charles F. GoldBard, Paul Prescord, p24).
17
XM L adalah sebuah standar World Wide Web Consortium yang mengijinkan data untuk bersifat portable dan bebas mendeskripsikan dirinya, sehingga dapat dipertukarkan dengan mudah antar aplikasi maupun devices pada berbagai platform. Jadi XM L merupakan ide untuk membuat format data yang universal dan standar. Kenyataan yang dihadapi saat ini, berbagai sistem komputer dan basis data berisi berbagai format data yang tidak compatible. Sehingga untuk melakukan pertukaran informasi antar sistem yang berbeda melalui internet menghabiskan banyak waktu bagi para developer. M engubah data ke dalam XM L secara signifikan mengurangi kompleksitas dan menghasilkan data standar yang dapat dibaca oleh berbagai tipe aplikasi. XM L disimpan dalam format teks sehingga dapat dipertukarkan dengan mudah. Sebenarnya ide untuk membuat format data yang universal ini bukanlah hal yang baru, sebelumnya telah dikembangkan SGM L (Standard Generalized Markup Language), yang merupakan standar internasional untuk informasi terstruktur, dan XM L sendiri merupakan bagian dari SGM L. Markup Language yang sebelumnya dikenal adalah HTM L (Hypertext Markup Language), HTM L dapat dianggap saudara dari XM L, sama-sama digunakan untuk melakukan marking up data, hanya saja yang membedakannya XM L dapat
menyimpan informasi yang
18
terstruktur, dokumen dan dapat digunakan oleh aplikasi lain karena formatnya yang standar, selain berfungsi sebagai markup language yaitu mekanisme yang digunakan untuk menjelaskan struktur dalam sebuah dokumen. XM L didesain untuk mendeskripsikan data dan berfokus pada data, sementara itu HTM L didesain untuk menampilkan data dan berfokus pada tampilan data (markup data). 2.1.6
Web Service 2.1.6.1 Definisi Web Service Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XM L, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler (Rizkarunia, 2010). Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah
19
fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya. Beberapa alasan mengapa digunakannya web service adalah sebagai berikut: 1.
Web
service
dapat
digunakan
untuk
mentransformasikan satu atau beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik. 2.
Web service memiliki kemudahan dalam proses deployment-nya,
karena
tidak
memerlukan
registrasi khusus ke dalam suatu sistem operasi. Web service cukup di-upload ke web server dan siap
diakses
oleh
pihak-pihak
yang
telah
diberikan otorisasi. 3.
Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web service tidak memerlukan konfigurasi khusus di sisi firewall.
Adapun fitur-fitur kunci yang ditawarkan oleh web service adalah sebagai berikut:
20
1.
Web service adalah teknologi yang loosely-coupled dengan client. Jika sebuah client yang melakukan request ke sebuah web service, maka web service akan mengembalikan hasil dan kemudian koneks i akan ditutup. Jadi tidak terdapat koneksi yang permanen dan kompleksitas-kompleksitas lainnya yang disebutkan di atas. Interface dari web service dapat terus dikembangkan, kita dapat menambahkan
method-method
baru
dan
parameter-parameter tanpa mempengaruhi clientclient, selama method-method dan parameterparameter yang lama masih tetap tersedia. 2.
Web service bersifat staleless, web service tidak menyimpan
koneksi
ke
client.
Sehingga
memudahkan untuk scaling out dan up, dan menggutamakan
resource
yang
ada
untuk
melayani web service. Protokol HTTP yang digunakan oleh web service juga bersifat stateless. Akan
tetapi
tetap
memungkinkan
untuk
melakukan penanganan state pada web service seperti bagaimana yang dilakukan pada web sekarang dengan menggunakan teknik seperti cookies.
21
3.
Web service menggunakan teknologi-teknologi yang standar
seperti SOAP,
XM L, HTTP
sehingga memungkinkan untuk diterapkan pada berbagai platform yang berbeda dan vendorvendor yang berbeda pula. Web service diakses melalui aplikasi-aplikasi yang dapat berupa sebuah aplikasi web, aplikasi windows, dan tipetipe
aplikasi
lainnya.
Aplikasi
dapat
menggunakan web service internal organisas i maupun eksternal web service yang disediakan oleh mitra bisnis. Sebuah web service dapat juga digunakan oleh web service lainnya. 2.1.6.2 Lapisan Konseptual Web Service Hal yang utama dari Web service adalah standarisasi dan vendor-vendor
utama seperti IBM, M icrosoft,
dan
Sun
mendukung standarisasi tersebut. Terdapat beberapa spesifikasi yang digunakan unuik membangun Web service, berikut adalah laporan konseptual yang digunakan Web service saat ini:
22
Gambar 2. 3 Lapisan Konseptual Web Service Lapisan-lapisan konseptual dengan urutan dari bawah ke atas adalah sebagai berikut: 1.
Web service meningkatkan protokol transportasi standar yang telah ada saat ini. Spesifikasi SOAP 1.1 mengijinkan transportasi melalui protokol seperti SMTP (Simple Mail Transfer Protocol) dan queues, tetapi hanya membolehkan binding ke protokol HTTP 1.1
2.
Web service menggunakan beberapa rekomendasi dari W3C untuk spesifikasi XM L dan XM L schema. SOAP menggunakan XM L sebagai format encoding. WSDL dibangun diatas XM L Schema.
Spesifikasi XM L Schema menjadi
rekomendasi W3C sejak M ei 2001. 3.
The Simple Object Access Protocol (SOAP) menjadi jantung dari lapisan konseptual Web
23
service. SOAP adalah protokol sederhana untuk pertukaran informasi. SOAP telah diserahkan ke W3C dan menjadi catatan W3C sejak M ei 2000. 4.
The Web Service Definiüon Language (WSDL) digunakan untuk menjelaskan antar muka dari sebuah Web service. WSDL memiliki pesan yang sama seperti IDL terhadap komponen. WSD L juga telah diserahkan ke W3C dan telah menjadi catatan W3C sejak M aret 2001.
5.
Dalam konteks Web service, UDDI (Universal Description, Discovery and Integration) adalah sebuah
tempat penyimpanan.
UDDI
adalah
sebuah usaha cross-industry oleh vendor-vendor software dan platform- platform terkemuka. UDDI saat ini berada di bawah organisasi UDDI dan belum diserahkan ke sebuah organisas i standar akan tetapi telah diimplementasi oleh M icrosoft dan IBM . 2.1.6.3 Web S ervice Definition Language (WS DL) WSDL adalah sebuah bahasa berbasis XM L yang digunakan untuk menggambarkan web service (Anonim4). Sebuah kontrak WSDL menggambarkan pertukaran pesan antara
24
web service, lokasi dari web service, dan protokol-protokol yang dapat digunakan untuk berkomunikasi dengan web service. WSDL bekerja bersama dengan SOAP dan UDDI untuk memungkinkan web service berinteraksi dengan web service lainnya, aplikasi-aplikasi, serta device-device lainnya melalui internet. Kombinasi kemampuan
dari
untuk
UDDI
dan
menempatkan,
SOAP
memberikan
menerbitkan,
dan
mengirimkan pesan-pesan di antara web service. Tanpa WSDL, antar muka untuk pertukaran pesan harus dibuat secara manual. Sebagai contoh : setelah kita menempatkan sebuah service harga saham, akan diperlukan penjelasan mengenai informasi untuk memetakan
method-method,
parameter-parameter,
serta
protokol-protokol yang didukung, kemudian membangun pesanpesan response dan request SOAP. Dengan demikian jika setiap kali sebuah service baru harus diakses, developer harus melakukan
intepretasi
terhadap
service
tersebut,
maka
perkembangan web service akan terhambat sehingga dibutuhkan WSDL. Jadi inti dari WSDL adalah merupakan sebuah platform berupa XM L grammar yang menyediakan antar muka ke web service ke semua platform.
25
2.1.6.4 Simple Object Access Protocol (SOAP) SOAP
merupakan
protokol
baru
yang
sedang
dikembangkan sebagai sebuah standar industri. Tujuan dari SOAP adalah untuk memungkinkan sebuah cara yang standar dalam pertukaran informasi yang bersifat tekstual di antara client-client dan aplikasi-aplikasi yang berjalan di intemet. SOAP menyediakan sebuah method yang standar dalam melakukan encoding data ke dalam format yang bersifat portable, walaupun pada dasarnya spesifikasi SOAP 1.0 hanya mengijinkan transmisi melalui protokol HTTP, akan tetapi sejak SOAP 1.1 protokol-protokol transportasi lairmya juga didukun g seperti FTP dan SM TP. SOAP merupakan protokol yang sederhana, tidak diperlukan sebuah upaya yang besar pada pihak pengirim maupun
penerima
untuk
dapat
berkomunikasi
dengan
menggunakan protokol ini. Karena SOAP menggunakan XM L sebagai data encoding format maka setiap sistem yang mampu melakukan parsing XM L mampu berkomunikasi melalui SOAP. Setiap pesan SOAP adalah sebuah dokumen XM L. Dokumen XM L ini memiliki sebuah element root tunggal yaitu sebuah SOAP envelope. Di dalam envelope inilah data-data yang relevan dengan pesan disimpan.
26
2.1.7
Microsoft .NET Framework .NET Framework merupakan sebuah platform komputasi baru yang mempermudah pengembangan aplikasi dalam lingkungan yang terdistribusi di internet. Adapun maksud dirancangnya .NET Framework adalah untuk memenuhi beberapa tujuan sebagai berikut: 1. Untuk menyediakan suatu lingkungan pemrograman berorientasi objek yang konsisten baik itu kode objek yang disimpan dan dieksekusi secara lokal, atau dieksekusi secara lokal maupun terdistribusi melalui intemet maupun yang dieksekusi secara remote. 2. Untuk menyediakan suatu lingkungan pengeksekusian kode yang meminimalkan
aneka
macam
konflik
perbedaan
versi,
memberikan jaminan atas pengeksekusian kode dengan aman dan mengurangi masalah performa yang selama ini terjadi pada lingkungan bahasa interpretasi (interprered language) atau berbahasa script (scripted language). 3. Agar para developer memiliki cara kerja yang konsisten pada saat bekerja dengan aplikasi-aplikasi yang sangat bervariasi, seperti aplikasi berbasis berbasis windows dan aplikasi berbasis web. 4. Untuk membangun seluruh komunikasi pada industri sesuai standar untuk memastikan bahwa suatu kode yang berbasis .NET Framewok dapat berintegrasi dengan kode lainnya.
27
.NET Framework memiliki 2 komponen utama yaitu Common Language Runtime (CLR) dan Class Library .NET Framework. CLR merupakan dasar dari .NET Framework, sedangkan komponen yang kedua yaitu class library merupakan sekumpulan class yang dapat digunakan kembali (reusable) yang komprehensif dan berorientasikan objek, yang dapat digunakan untuk mengembangkan berbagai aplikasi mulai dari command-line atau aplikasi desktop hingga aplikasi terbaru seperti Web Form dan XM L Web service. (Yager, 2002). 2.2
Teori-Teori Khusus yang Berhubungan dengan Topik yang Dibahas 2.2.1
Web Server Web server adalah server yang melayani permintaan klien terhadap halaman web. Apache, IIS (Internet Information Server), dan Xitami merupakan contoh perangkat lunak Web Server. (Kadir, 2003, p6). Cara kerja web melibatkan komunikasi antar dua komputer, satu server, dan satu client. Server akan mengirimkan file ketika client memintanya. (Vaughan, 2006, p294). M enurut Hoffer et al (2005, p407), web server yang digunakan harus dapat
menangani banyak
pengguna pada suatu waktu. Hal ini
dimungkinkan dengan adanya kemampuan multiprocessing, di mana beberapa processor akan bekerja bersama-sama untuk mempercepat pemrosesan.
28
Kegiatan pada web server akan dibagi menjadi empat langkah dasar, dan ada dua komponen yang terlibat, yaitu sebuah web browser dan web server. Langkah-langkah tersebut adalah sebagai berikut : 1.
Komputer klien menggunakan web browser untuk berhubungan dengan web server dan meminta sebuah halaman web.
2.
Selama menerima permintaan, web server menempatkan file atau program yang sesuai di dalam file sistem.
3.
Setelah mengalokasikan file, web server mengambil file dari file sistem.
4.
Web server kemudian mengirim file tersebut ke web browser. File hasil permintaan diterima web browser dan di-render pada komputer klien.
2.2.2 Web Browser Browser atau web browser adalah perangkat lunak di sisi klien yang digunakan untuk mengakses informasi web. Internet Explorer, Netscape dan Mozilla merupakan contoh-contoh browser yang ada. (Kadir, 2003, p6). Pada awalnya web hanya berupa tulisan saja. Kemudian pada tahun 1992, peneliti dari National Center Supercomputing Application di University of Illinois mengembangkan M osaic, yaitu web browser pertama yang menampilkan gambar. Penggunaan Web Browser kemudian menjadi sangat universal, karena web browser dapat memberikan inter face yang
29
sama pada sistem operasi yang berbeda. Browser mampu berkomunikasi melalui HTTP, mengatur HTM L, dan menampilkan tipe data tertentu seperti GIF (Graphic Interchange Format) dan JPEG (Joint Photographic Expert Group) untuk grafik dan M icrosoft Windows WAV untuk suara. (Turban, Rainer dan Potter, 2001, p224).
2.2.3
Web Basis Data Seiring dengan perkembangan teknologi dalam internet dan web maka ditemukanlah suatu cara yang dapat memudahkan manusia dalam melakukan berbagai hal yang sebelumnya hanya dapat dilakukan pada jarak yang jauh seperti berbelanja, belajar, mencari informasi, dan lain sebagainya, yaitu dengan menggunakan suatu aplikasi basis data berbasis web. Dengan menggunakan suatu basis data yang diimplementasikan menggunakan web, maka user dapat mengakses informasi yang disediakan dalam suatu basis data, kapan saja dan dimana saja, melalui internet. Di samping itu, untuk menghubungkan user dengan basis data, digunakanlah suatu user interface. 2.2.3.1
Pendekatan dalam Pengimplementasian Web Basis Data Ada dua pendekatan dalam pengimplementasian web basis data, yaitu: 2.2.3.1.1 Pendekatan Server Side
30
Server-side
programming,
proses
(baik
menyimpan maupun mengeksekusi program akan dilakukan di web server yang terhubung ke web page). M odel ini cirinya adalah lebih kompleks, membutuhkan server khusus, tetapi aman. Server-side digunakan untuk memproses segala sesuatu yang berhubungan dengan server, misalnya manipulasi basis data. Contoh programnya adalah Common Gateway Interface (CGI) / Perl, ASP (Active Server Pages), PHP, dan JSP (Java Server Pages). 2.2.3.1.2 Pendekatan Client Side Pada pendekatan ini proses aplikasi dieksekus i di sisi client di mana data harus diterima dari client ke server. Data diproses di client, kemudian hasilnya harus dikirim dari client ke server. Pendekatan Client-Side hanya akan menerima hasilnya dalam bentuk HTM L. M odel ini cirinya adalah sederhana, generik, namun kurang aman. Pendekatan Client-side efektif digunakan untuk mengadakan interaksi dengan user yang frekuensinya tinggi, namun data yang diperlukan relatif sedikit atau telah tersedia sebelumnya, misalnya aplikasi untuk permainan atau pemeriksaan event pada browser,
31
animasi web pages, dan validasi data atau perhitungan. Sebaiknya
tidak
menggunakan
client-side
untuk
aplikasi web yang membutuhkan data banyak dan selalu berubah-ubah, atau menggunakannya untuk verifikasi user dan password. Contoh program dari pendekatan ini adalah Javascript, Java Applet, VBScript.
2.2.3.2
Proses perancangan Web Basis Data Pada proses perancangan web basis data, hal pertama yang harus dilakukan adalah merancang basis datanya (Barry Eaglestone dan M ick Ridley, 2001). Diagram tahapan Web Basis Data Life Cycle adalah sebagai berikut :
32
Gambar 2. 4 Diagram Web Database Life Cycle
2.2.4
PHP PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTM L biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan
33
memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server. Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan halhal sebagai berikut : • M embaca permintaan dari client/browser • M encari halaman/page di server • M elakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page. • M engirim kembali halaman tersebut kepada client melalui internet atau intranet. PHP dapat berjalan pada semua jenis sistem operasi, antara lain pada LINUX dan varian UNIX, M icrosoft Windows, MAC OS X, serta RISC OS. Selain itu PHP juga dapat berjalan pada beberapa jenis web server, antara lain Apache, M icrosoft Internet Information, Services, Personal web server, Netscape, dan Iplanet server, Caudium, Xitami, OmniHTTPd, dan masih banyak lagi. PHP juga memiliki banyak basis data populer yang sering digunakan dalam beberapa web server, antara lain Adabas D, Ingres, Oracle, dBase, InterBase, Ovrimos, Empress, FrontBase, PostgreSQL,
34
mSQL, Solid, HyperWave, Direct M S-SQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC, dan Unix dbm (Selly Riantica Fraselia, 2011).
2.2.5
MySQL MySQL merupakan Database Management System (DBM S) tools open source yang mendukung multiuser, multithreaded, populer dan free. (Bunafit Nugroho, 2004). MySQL dapat digunakan pada aplikasi yang berbeda pada waktu yang bersamaan.
2.2.5.1 Keunggulan MySQL Beberapa keunggulan M ySQL adalah sebagai berikut: o
MySQL
merupakan
program
yang multi-threaded,
sehingga dapat dipasang pada server yang memiliki multi-CPU. o
Didukung program-program umum seperti C, C++, Java, Perl, PHP,Python, TCL APIs dls.
o
Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi).
o
M emiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem basis data.
o
M emiliki sistem keamanan yang baik dengan verifikasi host.
35
o
M endukung ODBC untuk sistem operasi M icrosoft Windows.
o
M endukung record yang memiliki kolom dengan panjang tetap
atau panjang bervariasi dan masih banyak
keunggulan lainnya o
MySQL merupakan perangkat lunak yang gratis, dan bisa di download di www.mysql.com. Sedangkan perangkat lunak basis data lainnya seperti ORACLE merupakan perangkat lunak yang harus di beli.
o
MySQL dan PHP saling terintegrasi. M aksudnya adalah pembuatan basis data dengan menggunakan sintaks PHP dapat di buat. Sedangkan input yang di masukkan melalui aplikasi web yang menggunakan script server-side seperti PHP dapat langsung dimasukkan ke basis data MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server.
36
2.2.6
Intelligent Building Management S ystem (IBMS ) Intelligent Building Management System (IBM S) adalah sebuah sistem kontrol dan monitor yang digunakan pada sebuah bangunan atau gedung yang bertujuan untuk mengintegrasikan semua sistem yang ada pada bangunan tersebut seperti, sistem pendingin ruangan, pencahayaan, keamanan, tranportasi vertikal dan sebagainya (Albert Ting-pat So dan Wai Lok Chan, p2). IBM S tidak hanya dapat memonitor seluruh sistem elektronik yang ada, tetapi juga dapat mengendalikan dan mengatur sistem-sistem sehingga dapat mengoptimalkan efisiensi kerja operator. IBM S memiliki beberapa komponen
didalamnya seperti:
Automatic On/Off Switching of plant untuk menyalakan atau mematikan sebuah komponen seperti AC, lampu, listrik, dll yang dapat diatur berdasarkan waktu, jenis hari (libur/akhir minggu), dan keadaan lingkungan.
Kemudian
adalah Monitoring
of plant status
and
environmental condition berfungsi untuk memberikan alarm jika sebuah sistem terjadi kegagalan sebuah fungsi. Energy Conservation Tool sebuah komponen yang dapat mengurangi penggunaan energi dan dapat mengurangi dampak buruk terhadap lingkungan. Building Services Management Tool, fungsi dari komponen ini adalah memberikan catatan – catatan pemakaian dari sebuah komponen sehingga dapat memberikan informasi mengenai tindakan yang akan dilanjutkan dan ongkos biaya dari total pemakaian. Remote Monitoring Capabilities merupakan kemampuan dari sebuah IBM S untuk melaksanakan monitoring dan
37
kontrol secara terpusat, contoh dari sebuah tempat kita dapat mengetahui temperatur sebuah ruangan, KWh M eter dari sebuah lantai, dan lampu yang masih menyala untuk memberitahukan seberapa baik komponen gedung tersebut masih bekerja. Fault Detection Tool yaitu sebuah komponen dimana dapat memberitahukan status dari komponen tersebut jika masih berfungsi dengan baik atau tidak. Beberapa Keuntungan dari IBM S tidak hanya bagi 1 pihak (Pihak gedung) saja, tapi bisa ke berbagai pihak seperti : 1. Pemilik Gedung Perkantoran : M eningkatnya harga sewa; dapat dengan
mudah
mengubah
kegunaan
sebuah
bangunan;
Pembiayaan diberikan kepada tenant (Penyewa Gedung). 2. Bagian Fasilitas (M E dan BM ) : dapat mengontrol dari pusat, biaya operasional yang rendah; Penggunaan sumber daya dan servis gedung dapat dilakukan secara optimal; Produktifitas yang tinggi; Alarm jika terdapat kegagalan. 3. Tenant (Penyewa Gedung) : Dapat mengeset target penggunaan konsumsi energi ; dapat mengatur dari kondisi kenyamanan secara internal; meningkatkan produktifitas dari staff. 2.2.6.1 Prinsip Kerja IBMS Dalam gedung yang terintegrasi dengan IBM S maka terdapat banyak peralatan yang harus saling berkomunikasi, oleh karena itu diperlukan suatu protokol yang berfungsi untuk mengkomunikasikan suatu alat dengan alat yang lain. Protokol
38
yang dipakai ada banyak seperti M odBus, BacNet, LonWorks dan lain – lain. M odBus
Protocol
adalah
sebuah
Communication
Protocol, yang diterbitkan pada tahun 1979 yang digunakan dengan PLC (Programming Logic Controller), dan menjadi sebuah standar dalam protokol komunikasi industri. M odBus memungkinkan untuk komunikasi antara banyak perangkat yang terhubung ke sebuah jaringan yang sama contoh : Untuk sebuah sistem untuk mengukur suhu kemudian mengkomunikasikan hasilnya dengan komputer. M odbus biasanya digunakan dalam pengawasan bersama dengan RTU dan SCADA. BacNet merupakan singkatan dari Building Automation and Control Networks. Bacnet didesain untuk mengijinkan komunikasi dari building automation, dan control system untuk aplikasi seperti pemanas, AC, KWH, lampu, fire detection, dll. Jadi BacNet mendukung mekanisme pertukaran informasi antara komponen dengan komputer. VRV atau Variable Refrigerant Volume yang artinya sistem kerja refrigerant yang berubah-ubah. VRV system adalah sebuah teknologi yang sudah dilengkapi dengan CPU dan kompresor inverter dan sudah terbukti menjadi handal, efisiensi energi, melampaui banyak aspek dari sistem AC lama seperti AC
39
Sentral, AC Split, atau AC Split Duct. Jadi dengan VRV System, satu outdoor bisa digunakan untuk lebih dari 2 indoor AC. BAS atau Building Automation System adalah sebuah pemrograman, komputerisasi, intelligent network dari peralatan elektronik yang memonitor dan mengontrol sistem mekanis dan sistem penerangan dalam sebuah gedung. 2.2.6.2 SCADA sebagai inti dari IBMS SCADA (Supervisory Control and Data Acquisition) adalah sebuah sistem komputer yang mengontrol proses industri, proses infrastruktur, proses fasilitas (David Bailey and Edwin Wright, p12). SCADA merupakan inti dari IBM S. SCADA sebenarnya bukan ditujukan untuk IBM S, tapi biasanya ditujukan untuk pabrik-pabrik, pertambangan, kilang minyak, dll. Tapi saat sekarang ini SCADA diterapkan untuk mengontrol sebuah gedung. SCADA memiliki beberapa komponen utama seperti : 1.
HM I (Human Machine Interface) yaitu komponen untuk menampilkan data kepada user.
2.
Supervisory System yaitu komponen untuk mengambil data dan memberikan perintah terhadap suatu proses dari komponen.
40
3.
RTU (Remote Terminal Unit) yaitu komponen yang bertujuan untuk menghubungkan dari sebuah sensor terhadap sebuah proses dari komponen.
4.
M enurut Capiel (1982) PLC (Programmable Logic Controller) merupakan sebuah perintah – perintah yang berbentuk code yang diinput ke sebuah alat. RTU dan PLC biasanya hanya satu yang digunakan, dan
untuk sekarang ini yang banyak digunakan adalah PLC karena PLC lebih mudah untuk dikelola, dikonfigurasi, lebih ekonomis, fleksibel dalam mengirim data ke Supervisory System. 2.2.7
Perangkat Lunak (S oftware) 2.2.7.1 Definisi Perangkat Lunak Pressman (2001, p6) mendefinisikan perangkat lunak sebagai berikut : 1.
Instruksi (program komputer) yang ketika dijalankan, memberikan fungsi dan performa yang diinginkan.
2.
Struktur data yang memungkinkan program untuk memanipulasi informasi secara memadai.
3.
Dokumen-dokumen yang menggambarkan operasi dan kegunaan dari program.
2.2.13.2 Karakteristik Perangkat Lunak
41
M enurut
Pressman
(2001,
p6), perangkat
lunak
memiliki karakteristik sebagai berikut : 1.
Perangkat lunak dikembangkan atau direkayasa, bukan dibuat dalam arti klasik.
2.
Perangkat lunak tidak usang
3.
M eski sebagian besar industri telah memproduksi dengan cara perakitan berbasis komponen, tetapi perangkat lunak tetap dibangun secara tradisional.
2.2.8
Android
Android adalah sistem operasi mobile phone berbasis Java yang dijalankan pada kernel Linux Android adalah sistem operasi Mobile Phone berbasiskan Linux. Android bersifat open source yang source codenya diberikan
secara
gratis
bagi para pengembang untuk
menciptakan aplikasi mereka agar dapat berjalan di Android. Pada mulanya, Android adalah salah satu produk besutan dari Android Inc., namun Google mengakuisisi Android Inc., dan semua kekayaan intelektual milik Android Inc. diperoleh Google Inc. yang kemudian mengembangkan kembali sistem Android.mengakuisi Android Inc..
Sekedar informasi Android Inc. adalah pendatang baru dalam hal membuat software untuk ponsel yang berada di Palo Alto, California Amerika Serikat. Kemudian dibentuklah Open Handset Alliance,
42
konsorsium yang terdiri dari 34 perusahaan hadware, software, dan telekomunikasi, termasuk Google, HTC, Intel, M otorola, Qualcomm, TM obile,
Nvidia,
dll. Open
Handset
Alliance
dibentuk
untuk
mengembangkan Android yang notabene nya adalah O S Open Source pertama untuk Mobile Phone.
Pada tanggal 5 November 2007, dirilislah Android versi awal dimana
Android
bersama
Open
Handset
Alliance
menyatakan
mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Beberapa keunggulan Android, diantaranya :
1. Keterbukaan
Android menyediakan akses ke fungsi dasar perangkat mobile menggunakan standar panggilan ke API.
2. Penghancuran perbatasan
Anda dapat menggabungkan informasi dari Internet ke dalam telepon, seperti informasi kontak, atau data pada lokasi geografis untuk mendapatkan kesempatan baru.
3. Kesamaan aplikasi
43
Untuk Android ada perbedaan antara telepon utama aplikasi dan perangkat lunak lain, anda bahkan dapat mengubah program untuk memutar nomor, atau screen saver.
4. Cepat dan mudah perkembangan
2.2.8.1
Arsitektur Sistem Android Dalam SDK memiliki semua yang anda butuhkan untuk membuat
dan
menjalankan aplikasi
Android,
termasuk
simulator instrumen, dan alat debugging maju. Berikut adalah gambar arsitektur dari sistem Android :
Gambar 2. 5 Arsitektur Sistem Android
44
Google
mengibaratkan
tumpukan software.
Setiap
Android lapisan
sebagai
sebuah
dari tumpukan
ini
menghimpun beberapa program yang mendukung fungsifungsi spesifik dari sistem operasi. Berikut ini susunan dari lapisan – lapisan tersebut jika di lihat dari lapisan dasar hingga lapisan teratas: 2.2.8.1.1
Linux Kernel Tumpukan
paling
bawah
pada
arsitektur
Android ini adalah kernel.
2.2.8.1.2 Android Runtime
Lapisan setelah Kernel Linux adalah Android Runtime.Android Runtime ini berisi Core Libraries dan Dalvik Virtual Machine. Core Libraries mencakup serangkaian
inti
library
Java,
artinya
Android
menyertakan satu set library-library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada library-library dasar bahasa pemrograman Java.
2.2.8.1.3
Libraries Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu
45
set library-library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android.
2.2.8.1.4
Application Framework Lapisan
selanjutnya
adalah
application
framework, yang mencakup program untuk mengatur fungsi-fungsi
dasar
smartphone.
Application
Framework merupakan serangkaian tool dasar seperti alokasi
resource
smartphone,
aplikasi
telepon,
pergantian antar – proses atau program, dan pelacakan lokasi fisik telepon.
2.2.8.1.5 Application
Di lapisan teratas bertempat pada aplikasi itu sendiri. Di lapisan inilah anda menemukan fungsifungsi
dasar smartphone
seperti
menelepon
dan
mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain. Bagi rata-rata pengguna, lapisan inilah yang paling sering mereka akses. M ereka mengakses fungsi- fungsi dasar tersebut melalui user interface.
46
2.2.9
Rich Picture Rich picture adalah penggambaran informal yang menyajikan pengertian ilustrator terhadap suatu situasi (M athiassen et al, 2000, P26). Rich picture berfokus pada aspek-aspek penting dari situasi yang ditentukan oleh ilustrator.
Tahap ini dilakukan untuk memperoleh
pandangan menyeluruh terhadap situasi dan berbagai cara orang menginterpretasikannya. M enurut M athiassen et al (2000, P27-28), menggambar rich picture sebaiknya dimulai dengan entitas-entitas yang penting seperti orang, objek, tempat, organisasi, peran dan tugas. 2.2.10 Class Diagram
Class diagram mendeskripsikan kumpulan dari class dan hubungan struktural (M athiassen et al, 2000, P336). Objek adalah sebuah entitas yang memiliki identitas, kondisi dan perilaku (M athiassen et all, 2000, P49).
Event didefinisikan sebagai suatu kejadian langsung yang melibatkan suatu objek atau lebih. Class didefinisikan sebagai suatu deskripsi dari kumpulan objek yang memiliki struktur , perilaku dan atribut yang serupa (M athiassen et al, 2000, P69). Struktur antar class dan objek terdiri dari:
1. Generalization, yakni suatu class umum (super class) yang mendeskripsikan properti umum untuk sekelompok dari class khusus (sub class).
47
2. Cluster,
merupakan
suatu
kumpulan
class
yang
saling
berhubungan. 3. Aggregation, yakni suatu objek superior (the whole) yang terdiri dari sejumlah objek (the parts). 4. Association, merupakan suatu relasi berarti antar sejumlah objek.
Gambar 2. 6 Notasi untuk Class Diagram 2.2.11 Sequence Diagram
Sequence diagram menjelaskan
tentang interaksi diantara
beberapa objek dalam jangka waktu tertentu (M athiassen et al, 2000, P340). Sequence diagram banyak digunakan untuk merepresentasikan detil interaksi objek yang terjadi pada sebuah usecase dan dapat di lihat sebagai bagian detil dari usecase.
48
Gambar 2. 7 Notasi untuk Sequence Diagram Jenis message terdiri dari simple message, procedure call, dan return. Simple message adalah transfer kontrol dari objek pengirim ke penerima. Procedure call adalah message dimana pengirim menunggu hingga seluruh nested sequence selesai. Return menunjukan return dari procedure call. Dalam sequence diagram, iterasi dapat disimbolkan dengan asterisk (*) sebelum nama message. Apabila kondisi iterasi diketahui, maka kondisi ditampilkan dalam tanda kurung []. 2.2.12 Use Case Diagram
Diagram use case digunakan untuk menunjukkan hubungan antara actor (aktor) dan use cases, serta menggambarkan fungsionalitas yang diharapkan dari sebuah sistem (M athiassen et al, 2000, P119).
M enurut Whitten (2004, p272) Use Case Diagram adalah serangkaian langkah-langkah yang saling berhubungan baik secara
49
otomatis ataupun manual, dengan tujuan untuk menyelesaikan suatu kegiatan bisnis tunggal.
Aktor adalah suatu abstraksi dari pengguna atau sistem lain yang berinteraksi dengan target sistem. Use case didefinisikan sebagai suatu pola interaksi antara sistem tersebut dan aktor dalam application domain (M athiassen et al, 2000, P129).
Gambar 2. 8 Notasi untuk Use Case Diagram