BAB 2 LANDASAN TEORI 2.1
Media S osial M edia sosial saat ini mengacu pada penggunaan web-based dan teknologi mobile
untuk mengubah komunikasi menjadi dialog yang lebih interaktif. Andreas Kaplan dan M ichael Haenlein membuat definisi mengenai Social M edia sebagai sebuah grup dari aplikasi dengan dasar Internet yang membangun dasar dari ideologi dan teknologi dari Web 2.0, dan memperbolehkan pembuatan dan pertukaran user-generated content atau konten yang dibuat oleh penggunanya, sebagai satu kesatuan metode untuk mengembangkan komunikasi sosial, dimana juga menggunakan akses ubiquitous dan terukur dari teknik komunikasi yang dibangun. M enurut (M ayfield, 2011), media online social merupakan sebuah media online jenis baru yang memiliki karakteristik sebagai berikut: 1. Partisipasi M edia sosial mendukung kontribusi dan umpan balik dari semua orang yang tertarik di dalamnya, sehingga tercipta sebuah partisipasi dari pengguna di media tersebut. 2. Keterbukaan Sebagian besar pelayanan sosial media terbuka untuk umpan balik dan partisipasi. M ereka mendukung adanya voting, comment, dan saling membagi informasi. Sedikit kemungkinan adanya batasan untuk mengakses atau menggunakan konten yang tersedia pada media sosial tersebut, dimana layanan yang tersedia memang ditujukan bagi para penggunanya. 9
10 3. Percakapan Dimana
media
tradisional
lebih
mengandalkan
“broadcast”
(konten
didistribusikan kepada pengguna) sedangkan media sosial lebih terlihat sebagai komunikasi dua arah. 4. Komunitas M edia sosial memungkinkan komunitas terbentuk lebih cepat dan lebih efektif untuk berkomunikasi. Komunitas berbagi beberapa hal yang sama, seperti kesukaan terhadap kuliner, sebuah isu politik, atau sebuah acara televisi. 5. Connectivity Kebanyakan media sosial mengandalkan konektivitas mereka dengan dunia internet. Seperti dengan link ke website lain sehingga interaksi yang tercipta tidak hanya pada media sosial tersebut, namun juga ke berbagai sumber yang mendukung kekayaan interaksi bagi user itu sendiri.
Dan pada dasarnya media sosial dibagi menjadi beberapa bentuk dasar, yaitu : 1. Social Networks Situs ini memperbolehkan kita untuk membangun sebuah halaman web personal dan terhubung dengan teman – teman untuk saling berbagi konten dan berkomunikasi. Contoh: Myspace, Facebook, dan Friendster. (Dimana facebook saat ini telah memiliki user lebih dari lima ratus juta pengguna di seluruh dunia, hal ini menjadi sebuah fakta bahwa social network merupakan sebuah media yang dibutuhkan oleh masyarakat dunia. (Socialbakers, 2011)
11 2. Blogs Blogs adalah jurnal online yang biasanya ditampilkan mulai dari berita terbaru hingga berita-berita sebelumnya, saat ini blog lebih dikenal sebagai situs pribadi, dimana setiap orang dapat membuat situs atau halaman pribadi menggunakan sarana blog dan menulis apapun yang diinginkan pada situs pribadinya tersebut. 3. Wikis Website seperti ini memperkenankan orang – orang untuk menambahkan konten atau mengubah informasi yang ada di website tersebut. Wiki saat ini telah menjadi salah satu sumber ilmu, walaupun banayak yang mempertanyakan keakuratan data yang ada di wiki itu sendiri, namun tetap wiki saat ini menjadi salah satu sarana termudah dalam mencari informasi yang lebih ke arah pengetahuan yang ada di dunia ini. Contoh: Wikipedia 4. Podcasts File dalam bentuk audio atau video yang tersedia melalui berlangganan, melalui services. Contoh: Apple Itunes. 5. Forum Sebuah wadah untuk berdiskusi secara online, biasanya sekitar topik yang telah
dispesifikasi berdasarkan
pengembang forum. Contoh: Kaskus.
kategori-kategori yang disediakan
oleh
12 6. Content Communities Komunitas yang mengorganisasi dan membagikan konten – konten tertentu. Contoh : Youtube, Flickr. 7. Microblogging Jejaring sosial yang dikombinasikan dengan blog berukuran mini, dimana konten berukuran kecil didistribusikan secara online. Contoh : Twitter. Terdapat beberapa penelitian mengenai media sosial. M ichael (Stelzner, 2010) melakukan penelitian bagaimana para pelaku bisnis dapat menumbuhkan bisnis mereka menggunakan media sosial. Tiga pertanyaan terbesar marketer terjawab disini : (1) Bagaimana mengukur ROI pada media sosial? (2) Bagaimana jalan terbaik menggunakan media sosial? (3) Bagaimana jalan terbaik memanage waktu di media sosial? Dan pada kenyataannya sebagian besar marketer baru baru saja mengetahui mengenai media sosial. Yang dimana sebanyak 65% dari mereka baru saja menggunakan media sosial selama satu bulan. Dan keuntungan terbesar dari menggunakan
media sosial untuk marketing adalah
exposure kepada bisnis,
meningkatkan traffic, dan membangun partnership baru. Sedangkan menurut (Schweidel, M oe, & Boudreaux, 2011), pertanyaan saat ini muncul mengenai bagaimana peran program penelitian marketing. Dalam penelitian tersebut, mereka menemukan fakta bahwa untuk “listen in” atau didengarkan di perbincangan pada media sosial memiliki imbas positif terhadap brand yang dibawa. Sehingga media sosial menjadi salah satu faktor penting saat ini untuk mengembangkan bisnis.
13 2.2
Ubiquity Istilah ubiquitous berarti muncul atau berada dimanapun, dan jika digabungkan
dengan computing untuk membentuk ubiquitous computing (ubicomp) adalah sebuah istilah yang digunakan untuk mendeskripsikan sistem ICT (Information and Communication Technology) yang memungkinkan informasi dan tugas untuk dapat tersedia dimanapun, dan mendukung intuitif penggunaan oleh manusia, tanpa disadari oleh pengguna tersebut. (Poslad, 2009). Teknologi ubiquitous saat ini merupakan teknologi yang terus dikembangkan karena aksesibilitasnya yang dapat diakses dimanapun, hal tersebut dikarenakan teknologi smart phone saat ini berkembang secara pesat dan menjadi salah satu faktor pendukung teknologi ubiquitous itu sendiri. Faktor pendukung lain adalah teknologi mobile broadband atau jaringan mobile atau internet mobile juga menjadi faktor penting untuk teknologi ubiquitous itu sendiri.
2.3
Software Engineering Perangkat lunak berfungsi ganda sebagai produk dan sebagai alat yang
mengantarkan produk (Pressman, Software Engineering: A Practitioner's Approach, Sixth Edition, 2005). Sebagai produk perangkat lunak langsung terintegrasi dengan perangkat – perangkat keras yang kita gunakan, atau bisa kita dapatkan melalui sumber – sumber lain. Dan perangkat lunak sebagai alat yang mengantarkan produk berfungsi sebagai kendali dasar dari sebuah komputer, informasi, dan program lainnya. Untuk dapat memahami rekayasa perangkat lunak, maka terlebih dahulu kita harus mengerti dan memahami sebuah perangkat lunak. Dan cara termudahnya adalah dengan mengetahui karakteristik dari sebuah perangkat lunak, yaitu :
14 1. Sebuah perangkat lunak dikembangkan atau direkayasa, tidak diproduksi seperti pada istilah klasik. 2. Perangkat lunak tidak dapat habis, tetapi dapat berkurang kualitas mutunya. 3. Sebagian besar perangkat lunak dibuat berdasarkan kebutuhan dari pembeli. M engacu pada (Pressman, Software Engineering : A Practitioner's Approach, Seventh Edition, 2010) serta (Pressman, Software Engineering: A Practitioner's Approach, Sixth Edition, 2005), rekayasa perangkat lunak adalah penerapan secara sistematik, disiplin, dan dapat terukur untuk pengembangan, pengoprasian, dan perawatan perangkat lunak. Rekayasa perangkat lunak merupakan sebuah proses berlapis yang membutuhkan metode, proses, dan alat agar dapat berfungsi sesuai dengan kebutuhan. Dalam perancangan model desain, penyusun menggunakan metode waterfall dimana penyusun melakukannya dengan mengumpulkan kebutuhan yang diperlukan pengguna, melakukan perancangan, pembuatan model, melakukan pengembangan dan pada akhirnya melakukan implementasi sistem. Waterfall Model Waterfall model sering disebut sebagai siklus kehidupan yang klasik, menyarankan lebih kearah pendekatan secara berurutan dan sistematis dalam pengembangan perangkat lunak. Dimana dimulai dari spesifikasi dari pengguna untuk kebutuhannya, perancangan, pembuatan model, pembangunan, dan penerapan. Waterfall model memiliki beberapa tahapan, Communication, Planning, Modeling, Cunstruction, serta Deployment seperti pada gambar berikut:
15
Gambar 2.1: Waterfall M odel Variasi lain dari waterfall model dikenal sebagai V-model seperti pada gambar berikut:
Gambar 2.2: V-model Walaupun terdapat beberapa kelemahan, namun waterfall model tetap layak untuk digunakan karena dengan menggunakan metode Waterfall setiap tahapan dapat diberikan deadline sehingga penjadwalan lebih terstruktur dan lebih sistematis. Penjadwalan yang lebih terstruktur dan sistematis akan lebih mudah dimengerti oleh
16 seluruh tim pengembang, sehingga tim dapat berfokus pada pekerjaan masing-masing dan menghasilkan suatu produk yang baik.
2.4
Mobile Web M engacu pada (W3C, 2011), teknologi web sudah menjadi sangat besar dan kuat
sehingga mereka dapat digunakan untuk membuat aplikasi dengan fitur yang lengkap, hal ini sudah terjadi sejak lama pada komputer desktop dan laptop, tapi untuk perangkat mobile hal ini baru saja meningkat.
Gambar 2.3: Web Application Platform Fitur – fitur yang digunakan dalam mobile web, adalah : 1. Grafis Dengan bantuan dari SVG (Scalable Vector Graphics), menyediakan sebuah bahasa berbasis XM L untuk mendeskripsikan grafis vector dua dimensi. Setelah diintegrasi dengan HTM L5, SVG membuka kemungkinan – kemungkinan yang baru, seperti filtering untuk konten multimedia, termasuk video. SVG dan
17 HTM L5 dapat dimodifikasi menggunakan CSS, secara khusus CSS3. 2. M ultimedia Pada HTM L5 ditambahkan dua buah tags yang meningkatkan secara drastics untuk integrasi konten multimedia pada web, yaitu tag
dan . Yang memungkinkan kita dapat meng-embed secara langsung konten video dan audio. 3. Form Kemampuan untuk membangun sebuah form yang kaya dengan HTM L adalah basis untuk kenyamanan user dalam melakukan input data pada sebagian besar aplikasi berbasis web. Karena keterbatasan keyboard, input text pada perangkat mobile tetap menjadi sebuah kegiatan yang menyulitkan user, dimana hal tersebut dapat diatasi dengan munculnya HTM L5 yang mengoptimisasi bagaimana user akan melakukan input data. 4. Interaksi User Dengan bertambahnya ketergantungan perangkat mobile dengan interaksi berasis sentuh, tetapi interaksi dasar seperti keyboard dan mouse masih dapat digunakan. Sehingga timbul defisini dari Touch Event didalam DOM (Document Object Model). Yang hingga saat ini masih dikembangkan karena setiap perangkat memiliki aksi yang berbeda – beda. 5. Data Storage Dalam banyak sisi hal ini terlihat sangat vital, sehingga sebagian besar mobile web mengadopsi penggunaan API. 6. Sensor dan integrasi perangkat keras Perangkat mobile dipenuhi dengan sensor, yang membuat perangkat mobile
18 menjadi jembatan yang sempurna antara dunia nyata dan dunia maya. Adapun sensornya seperti GPS, accelerometer, ambient light detector, microphone, camera, thermometer. Untuk mendapatkan manfaat yang penuh didalam aplikasi mobile, maka pengembang harus membuat penghubung yang memungkinkan aplikasi dapat berinteraksi dengan perangkat keras. 7. Jaringan Sebagian besar web mobile menggunakan XM L httprequest. 8. Komunikasi Kegunaan utama perangkat mobile adalah untuk berkomunikasi, oleh karena itu mobile web menggunakan Messaging API dan HTM L5 Web Messaging. 9. Packaging Salah satu hal yang penting adalah ketersediaan aplikasi, dan juga bagaimana aplikasi tersebut dapat di bagi dan didistribusikan. 10. Performa dan optimisasi Karena keterbatasan CPU, dan waktu hidup baterai yang sangat terbatas, perangkat mobile membutuhkan banyak perhatian pada performa dan optimisasi.
2.5
HTML dan CSS M engacu pada (W3C, 1999) Untuk mempublikasikan informasi secara distribusi
global, dibutuhkan sebuah bahasa yang dapat dimengerti secara global,dengan mempublikasi bahasa ibu yang kemungkinan dapat dimengerti semua komputer. Bahasa yang digunakan oleh World Wide Web adalah HTM L (HyperText Markup Language). HTM L memberikan sarana kepada penulis untuk: 1. Publikasikan dokumen online dengan judul, teks, tabel, daftar, foto, dll.
19 2. M engambil informasi online melalui hypertext link, diklik tombol. 3. M endesain form untuk melakukan transaksi dengan layanan jarak jauh, untuk digunakan dalam mencari informasi, membuat reservasi, memesan produk, dll 4. Sertakan spread-sheets, video
klip, klip
suara, dan
aplikasi
lainnya secara
langsung dalam dokumen mereka. 2.5.1
Sejarah HTML M enurut (W3C, 1999), HTM L pada awalnya dibuat oleh Tim Berners-Lee
selama di CERN, dan dipopulerkan oleh M osaic browser yang dikembangkan di NCSA. Disekitar tahun 1990 an HTM L membantu perkembangan web menjadi sangat pesat. Pada saat ini, HTM L sudah berkembang sedemikian rupa. Web berantung kepada penulis halaman web dan vendor – vendor yang memiliki kepercayaan kepada HTM L. Hal inilah yang memotivasi untuk bekerja gabungan untuk membentuk spesifikasi dari HTM L. HTM L 2.0 (November 1995) di bentuk dibawah Internet Engineering Task Force (IETF) Aegis untuk membakukan praktek umum pada akhir tahun 1994. HTM L+ (1993) dan HTM L 3.0 (1995) membawa versi yang lebih kaya dari HTM L. Walaupun tidak pernah mencapai kesepakatan, draft – draft inilah yang diangkat menjadi fitur – fitur baru dari HTM L. Pada tahun 1996 Word Wide Web Consortium untuk HTM L menghasilkan HTM L3.2 (Januari 1997). Sebagian besar orang setuju dokumen HTM L harus berfungsi dengan baik disemua browser dan platform yang ada. Hal ini dibutuhkan untuk menekan biaya dalam pembuatan sebuah halaman web. Jika hal ini tidak dilakukan maka ketidak cocok kan format akan terjadi di world wide web.
20 Setiap versi dari HTM L merupakan kesepakatan yang terjadi diantara pemain di industry internet. Sehingga setiap versi yang dibangun memiliki visi setiap alat harus dapat menggnakan informasi yang ada di internet. 2.5.2
HTML 4 HTM L 4 mengembangkan HTM L dengan mekanisme yang baru untuk style
sheets, scripting, frames, embedding objects, meningkatkan dukungan untuk penulisan teks campuran dari arah kanan ke kiri, table yang lebih bervariasi, dan menambahkan fitur dari form. Versi HTM L yang ini telah di desain khusus untuk membantu para tenaga ahli di bidang internasionalisasi, sehingga dokumen dapat ditulis dengan mudah didalam berbagai bahasa dan dengan mudah di transportasi ke seluruh dunia. Dengan mengadopsi ISO/IEC:10646 standart sebagai karakter dari HTM L. Sekarang HTM L menawarkan support yang lebih untuk bahasa manusia yang sangat banyak jumlahnya.
Secara garis besar perubahan yang berbeda dengan versi sebelumnya adalah: 1. Style sheet yang baru untuk dokumen yang berbasis bergaya laporan W3C teknikal support. 2. Ditambahkan table of contents yang singkat. 3. Perubahan Copyright. 4. M emperbaiki script dari dokumen dengan menghilangkan markup yang menyebabkan crash di beberapa browser. 5. M engdaposi standart ISO.
21 Sedangkan untuk menambahkan hiasan atau mempercantik halaman yang kita buat dalam HTM L dapat menggunakan cascading style sheets (CSS), menurut (W3C, 2011) yaitu sebuah mekanisme sederhana untuk menambahkan hiasan atau gaya (contoh: font, warna, dan spasi) kedalam halaman web.
2.6
Java S cript Javascript adalah sebuah bahasa untuk mengembangkan aplikasi berbasis internet
untuk sisi client dan server. Javascript dapat disisipkan secara langsung ke halaman HTM L. Dengan begitu halaman yang sudah disisipkan dengan Javascript dapat mengenal dan merespon kegiatan yang dilakukan oleh user seperti mouse click, input pada form, dan navigasi pada halaman. Javascript juga merupakan sebuah API yang dapat diprogram ulang untuk pemrograman cross-platform yang berdasarkan event, object, dan action dari user. Javascript juga membuat programmer yang tidak terlalu berpengalaman dapat membuat halaman yang lebih interaktif. Pada Javascript 1.5 mengacu pada (Webreference, 2000) menyediakan beberapa fitur – fitur baru dan pengembangan – pengembangan yang cukup signifikan seperti : 1. Runtime errors. Pada Javascript 1.5 runtime error akan dilaporkan sebagai exceptions. 2. Peningkatan number formatting. Ditambahkan beberapa fitur baru seperti: Number.prototype.toExponential, Number.prototype.toFixed, dan Number.prototype.toPrecision 3. Peningkatan pada regular expression.
22 4. Deklarasi fungsi kondisional. Fungsi sekarang dapat dideklarasi di dalam sebuah if clause. 5. Ekspresi fungsi. Fungsi sekarang juga dapat dideklarasi di dalam sebuah ekspresi. 6. Multitple catch clauses. Didukungnya multiple catch clauses didalam sebuah try..catch. 7. Konstan. Penambahan nama konstan Readonly. 8. Getters dan setters. Sekarang object di javascript dapat menggunakan setters dan getters.
2.7 2.7.1
PHP Definisi M engacu pada (Welling & Thomson, 2001), PHP adalah bahasa pemrograman
sisi server yang didesain khusus untuk Web. Di dalam sebuah halaman HTM L, kode PHP dapat disisipkan, yang akan dieksekusi setiap kali halaman dikunjungi. Kode PHP akan diinterpretasikan di server Web dan menghasilkan HTM L atau keluaran lainnya yang akan pengunjung lihat. PHP adalah bahasa pemograman web yang diciptakan oleh dan untuk developer web. PHP adalah akronim dari PHP: Hypertext Preprocessor. PHP awalnya adalah akronim dari Personal Home Page Tools, dan masih banyak orang yang mengira kalau itulah kepanjangan dari PHP. Namun setelah PHP berkembang, nama yang baru dan lebih tepat dipilih oleh suara banyak orang. (Suehring, Converse, & Park, 2009).
23 2.7.1.1 Sejarah PHP Pencipta PHP adalah Rasmus Lerdorf - seorang software engineer dan anggota tim Apache. Bagian pertama dari php dikembangkan untuk kebutuhan pribadinya pada tahun 1994 yaitu dalam membuat CGI wrapper yang membantunya untuk membuat daftar orang yang mengunjungi websitenya. Satu tahun kemudian, Rasmus membuat satu package yang disebut Personal Home Page Tools ( the PHP Costruction Kit ) karena respon dari orang-orang yang melihat hasil karyanya. PHP 2 segera keluar dengan nama PHP/FI dengan fitur tambahan yaitu Form Interpreter, sebuah tool yang digunakan untuk parsing query SQL. (Welling & Thomson, 2001) dan (Converse, Parks, & ClarkM organ, 2004). Pada pertengahan tahun 1997, PHP digunakan oleh sekitar 50.000 website di dunia. M enyadari bahwa hal tersebut terlalu besar untuk diurus oleh Rasmus, dibentuklah tim development inti untuk mengembangkan PHP pada proyek open source model "benevolent junta" dengan kontribusi dari developer dan user dari seluruh dunia. Developer inti yang mengembangkan PHP3 dan parser-parser PHP4 adalah Zeev Suraski dan Andi Gutmans yang berasal dari Israel atas nama web Zend.com Quarter keempat tahun 1998 menandakan periode perkembangan PHP yang sangat pesat dimana pada saat itu, teknologi open source menerima publisitas yang sangat tinggi. Pada Bulan Oktober 1998, menurut perkiraan terbaik, lebih dari 100.000 domain menggunakan PHP. Setahun kemudian, domain yang menggunakan PHP bertambah menjadi 1 juta domain. Pada versi terbarunya, PHP 5 mengeluarkan fitur yang sudah ditunggu-tunggu oleh banyak developer web, yaitu fitur Object Oriented Programming (OOP) yang sudah ditingkatkan. Hal ini membuat PHP menjadi setara denngan Java dan C++ yang
24 sudah menggunakan OOP sejak lama, dengan menawaran fitur-fitur seperti overloading, interface, private member variable dan method, dan standar konstruksi OOP lainnya. Dalam menentukan
pembuatan
aplikasi web banyak
hal yang harus
dipertimbangkan. Penyusun menggunakan PHP dan M ySQL karena kelebihan-kelebihan yang ditawarkan oleh keduanya. M enurut (Suehring, Converse, & Park, 2009) terdapat beberapa hal yang ditawarkan oleh PHP dan MySQL dalam pengembangan sebuah aplikasi berbasis web, yaitu: 1. Biaya PHP dan MySQL merupakan aplikasi yang termasuk dalam anggota LAMP (Linux, Apache, MySQL, dan PHP/PERL/Phyton). Hampir dari semua elemen tersebut adalah gratis, tidak terkecuali PHP dan MySQL. Dalam pengembangan perangkat lunak dan platform aplikasi, biaya lisensi perangkat lunak hanya sebagian dari total biaya yang dibutuhkan. Bertahun-tahun pengalaman nyata dengan Linux, Apache, MySQL, dan PHP dalam lingkungan produksi telah membuktikan bahwa total biaya pemeliharaan platform ini lebih rendah, jauh lebih rendah, daripada perangkat lunak yang berbayar. 2. Kemudahan dalam penggunaan Bila dibandingkan dengan banyak bahasa pemrograman lain, PHP lebih mudah dalam mengembangkan aplikasi web yang kuat dan cepat. Banyak fungsifungsi spesifik yang paling berguna (seperti membuka koneksi ke database Oracle atau mengambil e-mail dari server Internet Message Access Protocol [IMAP]) sudah didefinisikan. Banyak contoh-contoh skrip yang sudah lengkap sehingga bisa dipakai oleh developer.
25 3. Penyisipan ke dalam HTM L PHP merupakan bahasa pemograman yang disisipkan kedalam HTM L, dengan kata lain PHP adalah halaman HTM L yang hanya akan berubah mode kedalam PHP saat masuk ke dalam delimiter (). Sehingga kode HTM L tidak perlu diubah ke dalam bahasa pemograman sisi server terlebih dahulu untuk digunakan. 4. Kemampuan Cross-Platform PHP dan MySQL dapat dijalankan di semua komputer yang menggunakan sistem operasi yang populer seperti Unix (termasuk M ac OS X) dan Windows. Persentase terbesar dari web server di dunia menggunakan kedua platform tersebut. PHP juga kompatibel dengan web server terkemuka di dunia seperti Apache HTTP Server untuk Linux/Unix dan Windows serta M icrosoft Internet Information Server. 5. Stabilitas Kriteria stabilitas memiliki dua hal utama yaitu, tidak perlu dilakukan reboot secara terus menerus pada server, dan disaat update ke versi terbaru tidak terjadi perubahan total maupun ketidakcocokkan atau kompabilitas yang tidak sesuai pada versi tersebut dengan versi-versi sebelumnya. 6. Banyak ekstensi PHP sangat mudah dalam berhubungan dengan program dan protocol lain. PHP mempunyai kompatibilitas dalam koneksi database ODBC serta Protokol-protokol lain seperti POP3, IMAP, dan LDAP. PHP4 juga dapat mendukung java dan distributed object architecture seperti COM dan CORBA. PHP5 melanjutkan dengan menambahkan fitur support untuk GD graphic
26 library, XM L with DOM, dan simpleXM L 7. Fitur dalam pengembangan yang cepat PHP merupakan bahasa yang masih berkembang. Developer PHP terus menerus melakukan pengembangan dan penambahan fitur-fitur baru. Dengan bermunculannya banyak teknologi baru, sangat sering web developer harus menunggu lama untuk menunggu suatu aplikasi ikut mendukung fitur tersebut. Pada PHP, yang dibutuhkan hanyalah satu developer, compiler C, dan kemauan untuk menambahkan fitur baru ke dalam PHP. Namun bukan berarti tim PHP akan menerima semua kontribusi, seleksi dan pemeriksaan ketat tetap akan dilakukan, yang ditekankan di sini adalah developer pribadi dapat ikut berkontribusi terhadap perkembangan fitur-fitur baru dengan membuat ekstensi PHP baru. 8. Independency PHP tidak terikat ke dalam suatu sistem operasi, web server, dan database tertentu. Semua operating sistem pada umumnya dapat menjalankan PHP dan MySQL, tidak seperti Active Server Pages (ASP) yang sangat terikat pada satu sistem operasi saja. 9. Komunitas pengguna yang kuat PHP dikembangkan oleh user dan developer web di seluruh dunia yang menjadikan PHP suatu komunitas yang besar. Customer support untuk PHP tersedia dua puluh empat jam dan bersedia untuk menjawab semua kebutuhan dari web developer yang menggunakan PHP.
27 Contoh penggunaan PHP: Kode PHP yang disisipkan ke dalam HTM L untuk menghasilkan tulisan “Hello World!!” : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> Untitled Document
Gambar 2.4: Kode Program PHP Hello World!
Contoh fungsi dalam PHP:
Gambar 2.5: Kode Program Fungsi dalam PHP
2.7.2
Rangkuman penelitian terdahulu Banyak website di dunia yang telah menggunakan PHP dan terbukti menjadi
website yang sangat sukses, sebut saja facebook yang menggunakan PHP untuk membangun sistem tersebut. Sampai saat ini facebook tetap menggunkan PHP sebagai bahasa dasar sistem Facebook itu sendiri dengan didukung bahasa lain untuk meningkatkan reliability serta akuntabilitasnya. Selain itu situs forum terbesar di Indonesia juga menggunakan PHP sebagai bahasa dasar. Hal tersebut menjadi fakta yang menyatakan bahwa bahasa pemrograman
28 PHP terbukti baik dan dapat diandalkan dalam pengembagan sebuah sistem berbasis web.
2.8
MySQL M engacu pada (Welling & Thomson, 2001) dan (Converse, Parks, &
ClarkM organ, 2004), M ySQL merupakan sebuah sistem manajemen database relasional yang cepat, dan dapat dipercaya. Server MySQL melakukan kontrol akses ke data anda untuk memastikan banyak user dapat berkerja secara konkuren, menyediakan akses cepat, dan memastikan hanya user yang terautorisasi yang dapat memperoleh akses tersebut. Karena itu, MySQL adalah server yang multi-user dan multi-threaded yang menggunakan SQL (Structured Query Language), sebuah bahasa query database standar dunia. MySQL adalah SQL Relational Database Management System (RDBM S) open source yang kebanyakan dapat digunakan dengan gratis. MySQL dipakai banyak orang karena lisensinya yang liberal, performa yang tinggi, penggunaannya yang mudah, serta teknologi lain yang ikut memakai M ySQL seperti PHP, Perl, dan Python. Sejarah M ySQL dapat ditelusuri sejak tahun 1979, ketika pencipta MySQL, M onty Widenius, bekerja untuk perusahaan IT dan dan konsultan data Swedia, TcX. Saat bekerja di TcX, M onty menulis UNIREG, Sebuah terminal antarmuka yang terhubung ke penyimpanan data mentah ISAM . Pada tahun 1994, ketika TcX mulai bekerja pada aplikasi data Web, permasalah di UNIREG, terutama yang berkaitan dengan overhead aplikasi, mulai muncul. Hal ini membuat M onty dan rekan-rekannya mencari tool lain. Yang menarik perhatian adalah Hughes mSQL, aplikasi database ringan dan cepat yang dikembangkan oleh David
29 Hughes. M onty dan TcX memutuskan untuk mulai mengembangkan sebuah API baru yang serupa dengan yang digunakan oleh mSQL dengan menggunakan skema UNIREG yang lebih efektif dalam hal pengindeksan. Pada awal 1995, TcX memiliki versi 1.0 dari produk baru ini. M ereka memberinya julukan MySQL dan pada akhir tahun dirilis dalam lisensi open source dan komersil yang memungkinkan perkembangan M ySQL secara terus menerus sambil memberikan penghasilan untuk MySQL AB, perusahaan yang berevolusi dari TcX. Selama sepuluh tahun terakhir, M ySQL telah benar-benar berkembang menjadi produk kelas dunia. MySQL kini bersaing dengan aplikasi database komersial seperti Oracle dan Informix. Penambahan dalam seri 4.x telah memasukkan banyak fitur seperti transaksi dan dukungan foreign key. Semua ini telah membuat MySQL sebagai database open source yang paling banyak digunakan di dunia.
2.9 2.9.1
Teknologi Cross Platform S oftware Development Kit Definisi Teknologi pengembangan peranti lunak lintas platform sedang mengalami
perkembangan yang sangat pesat saat ini dan telah menjadi salah satu option dalam pengembangan sebuah aplikasi, baik aplikasi mobile web maupun aplikasi native. Beberapa contoh dari pengembangan peranti lunak lintas platform adalah Appcelerator Titanium, Phone Gap, Appmobi, Rho mobile, M osync, Sencha, Corona, etc. Dalam pengembangan kasus Centeng, penyusun menggunakan Appcelerator Titanium sebagai alat pengembang peranti lunak lintas platform. Appcelerator merupakan opensource platform yang tidak hanya mendukung penggunaan html5 dan
30 javascript, namun juga mendukung PHP, ruby dan python. Dan juga didukung oleh tiga ratus lebih API untuk perangkat berbasis android dan iOS. (Jeyaganesh, 2011). Appcelerator Titanium pada dasarnya terbagi ke dalam dua kelompok besar, yaitu Titanium M obile dan Titanium Desktop, dimana Titanium M obile akan menghasilkan aplikasi native iPhone, iPad dan Android yang mendukung lebih dari tiga ratus API sehingga memudahkan para pengembang untuk menghasilkan sebuah aplikasi dengan fitur yang penuh seperti yang dikembangkan dengan Objective-C (iPhone dan iPad) serta Java (Android). Hal tersebut menandakan bahwa aplikasi-aplikasi yang dibangun memiliki pengalaman pengguna yang baik dan lebih sosial, lokal, kaya media, interaktif, dan mudah dikembangkan. Sedangkan Titanium Desktop merupakan alat pengembang aplikasi desktop yang membuat hubungan dengan pengguna aplikasi menjadi lebih dalam melalui fitur-fitur yang ditawarkan seperti akses terhadap database, fungsi-fungsi secara offline, notifikasi-notifikasi, dan performa yang lebih baik. Dengan satu basis kode program dapat menghasilkan aplikasi berbasis Linux, Windows, serta OSX. (Appcelerator Inc., 2008)
Gambar 2.6: Sumber File Aplikasi Appcelerator (Appcelerator Inc., 2008)
31 Dalam kasus Centeng, penyusun menggunakan Titanium M obile untuk membangun aplikasi lintas platform. Saat ini aplikasi Online, On-Phone, dan Desktop memiliki peranan yang sangat penting. Dengan menggunakan Titanium memungkinkan untuk membuat aplikasi-aplikasi tersebut dengan fitur yang memadai yang jauh lebih baik dibandingkan dengan aplikasi pada browser yang terhalang oleh kemampuan browser itu sendiri.
Aplikasi dengan basis Appcelerator Titanium dibagi menjadi 4 bagian utama, yaitu: 1. Kode HTM L/CSS/Javascript yang membuat inti dari logika dan antarmuka aplikasi yang dibangun. 2. API yang melakukan akses terhadap fungsi, analisa atau fungsi-fungsi dalam bentuk modul dari native device/desktop. 3. Bahasa jembatan dari OS yang melakukan compile terhada web code menjadi native application code. 4. Run-time shell yang membungkus aplikasi untuk didistribusikan menjadi aplikasi cross-platform.
Sekali dibangun, aplikasi berbasis Appcelerator Titanium dapat dites, disusun, dan didistribusikan melalui jaringan Appcelerator berbasis Clous Services. Dasar dari Titanium adalah open source, sehingga para pengembang dapat melakukan akses terhadap kode sumber untuk melengkapi aplikasi kapanpun untuk kepentingan pengembang yang bersangkutan tesebut. (Appcelerator Inc., 2008).
32 Fitur-fitur yang ditawarkan oleh Appcelerator Titanium sebagai berikut: 1. Built-in analytics 2. Free dan open-sources 3. Pembangunan dari nol secara cepat menggunakan Titanium Developer 2.9.2
Rangkuman penelitian terdahulu Appcelerator sudah digunakan pada beberapa aplikasi baik pada platform iPad,
iPhone maupun Android dan telah digunakan oleh perusahaan-perusahaan internasional untuk membuat aplikasi mereka pada platform tersebut. Appcelerator digunakan untuk membuat aplikasi NBC pada iPad, NBC memutuskan untuk memperluas strategi digital mereka dengan membuat aplikasi mobile yang terintegrasi dengan web NBC. M elihat bagaimana mobiledapat menjadi bagian inti bisnis dari sebuah perusahaan, NBC menggunakan Appcelerator untuk membuat aplikasi iPad mereka yang berisi episodeepisode penuh dari acara di NCB yang terkenal. Selain itu Appcelerator juga digunakan untuk membuat aplikasi eBay Corporate, dimana eBay dengan menggunakan Appcelerator Titanium mengembangkan sebuah aplikasi informasi korporat di iPhone. Dalam beberapa ketukan, para pekerja saat ini dapat mengakses directory dari perusahaan, peta kampus, kalender dan informasi saham, serta berita korporat, video dan pesan dari eksekutif eBay, John Donahoe. Para pengguna aplikasi dapat membuat aplikasi tersebut menjadi seperti apa yang diinginkan seperti menaruh nomor telepon untuk sekuritas maupun password untuk pengunjung yang ingin masuk ke jaringan WiFi perusahaan dalam sebuah “Quick List”. Selain dua aplikasi yang telah disebutkan Appcelerator juga digunakan untuk membuat Hotel Tonight yaitu aplikasi yang menyediakan informasi pada hari yang sama mengenai diskon hotel di dua puluh kota di Amerika Serikat untuk aplikasi iPhone. Aplikasi tersebut memperlihatkan tiga pilihan
33 hotel dengan informasi, foto dan review mengenai hotel tersebut oleh HotelTonight. Dan masih banyak lagi aplikasi yang telah menggunakan Appcelerator sebagai alat pengembang Aplikasi mobile. (Appcelerator Inc., 2008).
2.10 Google Map M engacu pada (Purvis, Sambells, & Turner, 2006) serta (Svennerberg, 2010), Google meluncurkan Google M aps API pada bulan Juni 2005 untuk memungkinkan developer untuk mengintegrasikan Google M aps ke dalam website mereka. Ini adalah layanan gratis, dan saat ini tidak mengandung iklan, namun Google menyatakan dalam hal mereka menggunakan bahwa mereka berhak untuk menampilkan iklan di masa depan. Dengan menggunakan Google M aps API, Google M aps dapat ditanamkan ke situs situs eksternal. M eskipun awalnya hanya sebuah API JavaScript, M aps API diperluas untuk mencakup aplikasi Adobe Flash, sebuah layanan untuk mengambil gambar peta statis, dan layanan web untuk melakukan geocoding, menghasilkan arah mengemudi, dan mendapatkan profil elevasi. Lebih dari 350.000 situs web menggunakan Google M aps API. Google M aps API gratis untuk penggunaan komersial jika situs yang sedang digunakan dapat diakses publik dan tidak mmerlukan biaya untuk hak akses. Situs yang tidak memenuhi persyaratan dapat membeli Google M aps API Premier.
2.11 Password Hashing Sebuah media sosial memberikan kemampuan kepada penggunanya untuk masuk ke dalam media tersebut dengan menggunakan identitas setiap pengguna masing-
34 masing. Untuk dapat merealisasikan tujuan dari hal tersebut, maka setiap pengguna harus dapat register dan log in ke dalam situs media sosial tersebut. Dalam melakukan log in maka data yang dibutuhkan sebagai pengenal salah satunya adalah password yang dibuat oleh pengguna sebagai sistem proteksi dari akun pengguna tersebut. Oleh karena password merupakan salah satu sistem proteksi dalam situs, maka password tersebut harus dibuat sedemikian rupa sehingga akun pengguna tetap aman, walaupun ada serangan terhadap situs yang mengambil data-data pengguna situs media sosial dari server. Salah satu cara yang umum digunakan adalah dengan membuat password yang ada menjadi kumpulan karakter yang tidak beraturan atau pada umumnya disebut dengan enkripsi atau password hashing. Dalam kasus Centeng, penyusun menggunakan SHA1 sebagai metode sekuritas terhadap password pengguna. SHA1 merupakan sebuah algoritma yang lebih spesifik dari Secure Hash Algorithm, dimana dapat digunakan untuk menghasilkan representasi dari sebuah pesan yang disebut dengan message digest atau pesan yang telah diolah. SHA1 diperlukan untuk digunakan bersama dengan Digital Signature Algorithm (DSA) yang telah dispesifikasi dari Digital Signature Standard (DSS) dan kapanpun sebuah Secure Hash Algorithm diperlukan. Kedua pemancar dan penerima yang dituju dari sebuah pesan melakukan perhitungan dan verifikasi signal digital yang ada dalam pesan tersebut menggunakan SHA1, (Vocal Technology, Ltd., 2003).
Untuk memperjelas penjelasan dari paragraf sebelumnya berikut adalah Block Diagram dari SHA1 :
35
Gambar 2.7: SHA1 Block Diagram, (Cast, Inc., 2007)
Performa yang tinggi dari SHA1, (Cast, Inc., 2007) cocok untuk berbagai macam jenis aplikasi, seperti: 1. E-commerce 2. Data integrity 3. Bulk encryption 4. High speed networking equipment 5. Secure wireless applications
SHA1 dapat dikatakan memiliki performa yang tinggi berdasarkan fitur-fitur yang ditawarkan dari algoritma tersebut, (Vocal Technology, Ltd., 2003), antara lain: 1. SHA1 biasa digunakan untuk kalkulasi sebuah message digest untuk sebuah pesan atau data dalam bentuk file yang disediakan sebagai input. 2. Pesan atau data dalam bentuk file harus dalam bentuk bit string. 3. Panjang dari pesan merupakan jumlah dari bit yang ada di pesan tersebut (pesan yang kosong memiliki panjang 0).
36 4. Jika jumlah dari bit yang ada dalam sebuah pesan adalah kelipatan 8, untuk efektifitas dan efisiensi dapat direpresentasikan sebagai hexadecimal. 5. Tujuan dari message padding adalah untuk membuat panjang total dari pesan yang telah dibentuk dalam blok kelipatan dari 512. 6. SHA1 secara sequence melakukan proses terhadap blok-blok yang ada dalam kelipatan 512 bit ketika kalkulasi message digest. 7. Sebagai kesimpulan, sebuah “1” yang diikuti oleh m “0” diikuti oleh sebuah 64bit integer ditambahkan di akhir pesan untuk menghasilkan pesan yang telah dibentuk dalam blok dengan panjang 512 * n. 8. Pesan yang telah dibentuk dalam blok akan diproses oleh SHA1 sebagai blok n 512-bit.
2.12 File Cipher File cipher merupakan sebuah metode sekuritas sebuah file, dimana dilakukan enkripsi terhadap nama file yang ada. Dalam melakukan enkripsi tersebut terdapat aturan umum atau baku yang mengatur tentang algoritma dari enkripsi yang dilakukan. Aturan tersebut biasa dikenal dengan AES atau Advanced Encryption Standard. AES merupakan standard dalam enkripsi US yang didefinisikan oleh Federal Information Processing Standard (FIPS) 192, dipublikasikan pada November 2001. Hal tersebut diratifikasi sebagai federal standard pada bulan M ei 2002. AES merupakan salah satu algoritma yang paling sering digunakan dari empat algoritma yang disetujui saat ini di Amerika Serikat. (Seleborg, 2004). Standard tersebut merupakan hasil spesifikasi dari algoritma Rijndael, sebuah blok sandi simetrik yang dapat memproses blok data 128 bit, menggunakan kunci sandi
37 dengan panjang 128, 192, dan 256 bit. Algoritma Rijndael yang didesain untuk melakukan pengaturan pada besarnya blok tambahan dan panjang kunci tidak didigunakan dalam AES. (Federal Information, 2001). Seperti yang dikatakan pada paragraf sebelumnya, AES merupakan algoritma symmetric encryption yang melakukan proses pada data dalam blok 128 bit. Satu bit dapat memiliki nilai nol atau satu, yang merupakan bilangan binary, dimana dapat menerima satu dari sepuluh nilai yang ada. Dibawah pengaruh dari sebuah kunci, blok 128 bit dienkripsi dengan perubahan yang unik menjadi sebuah blok baru dengan besar yang sama. AES simetris karena kunci yang sama digunakan baik untuk enkripsi dan sebaliknya untuk dekripsi. Rahasia utama yang penting dalam menjaga keamanan dari informasi yang adalah kunci yang digunakan. AES dapat dikonfigurasi untuk menggunakan kunci yang berbeda panjangnya, pada umumnya terdapat tiga kelompok besar sesuai dengan panjang kunci tersebut yang dikenal dengan AES-128, AES-192, dan AES-256 dimana angka yang tercantum dalam penamaan menandakan panjang bit dari kunci yang digunakan. Setiap penambahan bit pada kunci secara efektif melipatgandakan kekuatan dari algoritma tersebut. (Seleborg, 2004). Dalam pembuatan media sosial, maka sekuritas data maupun file yang ada menjadi prioritas utama dari penyusun atau pengembang proyek tersebut. Oleh karenanya penyusun menggunakan AES-256 yang terbukti menjadi salah satu algoritma enkripsi yang paling baik saat ini. Sampai saat ini, belum ada bukti yang menyatakan AES memiliki kelemahan dalam sekuritas selain dengan pencarian secara terus menerus (brute force – exhaustive search). Namun walaupun hanya dengan AES-128 dimana sudah memberikan banyak kemungkinan terhadap kunci yang mungkin digunakan, maka akan membutukan waktu beberapa dekade untuk memecahkan satu pesan yang
38 dienkripsi. Oleh karena itu sampai saat ini AES masih menjadi salah satu algoritma yang sangat baik dalam sekuritas data. (Seleborg, 2004).
2.13 Linux Server 2.13.1 Definisi Server merupakan komputer sentral yang memberikan informasi kepada komputer lain, (Cambridge, 2011). Sesuai dengan arti dari server sendiri, untuk mengakses suatu website yang dibuat secara publik, maka dibutuhkan server yang berfungsi untuk memberikan informasi-informasi ke komputer klien. Pada setiap server ter-install sistem operasi yang sesuai dengan aplikasi web yang dibuat. Namun, untuk sistem operasi yang banyak digunakan saat ini pada server adalah
Windows
dan
Linux.
Dalam penyusunan
sistem Centeng,
penyusun
menggunakan server dengan sistem operasi linux –Debian. Penggunaan web server berbasis linux sudah merupakan hal yang umum saat ini, dimana lebih dari dua puluh lima persen server saat ini merupakan linux server. Penggunaan web server berbasis linux sendiri dikarenakan faktor sekuritas dari sistem operasi linux yang baik, dimana dari studi independen yang dilakukan menyatakan kernel berbasis Linux memiliki 0,17 kerusakan sekuritas dalam seribu baris kode, dimana jika dibandingkan dengan server lain yang mencapai angka 10-20 kerusakan sekuritas, (Nicholas Economides, 2006). Penggunaan distro Debian juga memiliki alasan tersendiri bagi penyusun. Debian merupakan sebuah sistem operasi yang tidak berbayar. Sebuah sistem operasi adalah kumpulan dari program-program dasar dan fungsi-fungsi lainnya yang membuat komputer berjalan. Inti dari sebuah sistem operasi disebut kernel. Kernel merupakan
39 program yang paling penting dalam komputer, kernel melakukan tugas-tugas dasar dan alat untuk menjalankan program lainnya. Debian menggunakan Linux kernel, sebuah perangkat lunak yang tidak berbayar dibuat oleh Linus Torvalds dan dikembangkan serta dilanjutkan oleh ribuan programmer di seluruh dunia. Debian merupakan project yang dikembangkan secara sukarela secara online dengan menggunakan internet. Terdapat ratusan sukarelawan yang bekerja bersamasama dan saling bahu-membahu dengan mengikuti pedoman yang kuat yang mengatur bagaimana kumpulan package yang ada dirangkai. Pedoman tersebut dikembangkan secara ko-operatif dalam diskusi-diskusi di banyak mailing list. (Goersen & Othman, 2001). Pemilihan Debian oleh penyusun tidak lepas dari fitur-fitur yang ditawarkan oleh Sistem Operasi tersebut. Debian GNU/Linux datang dari sistem operasi Unix. Tidak seperti sistem operasi desktop pada umumnya seperti DOS, Windows, dan M acOS, GNU/Linux biasa digunakan pada server-server berskala besar dan sistem multiuser. Hal tersebut menandakan bahwa Debian memiliki fitur-fitur yang tidak dimiliki oleh sistem operasi lainnya. Debian memungkinkan orang-orang dalam jumlah besar untuk menggunakan satu komputer secara bersamaan, selama setiap pengguna memiliki terminal-nya masing-masing. Agar banyak pengguna dapat menggunakan satu komputer secara bersamaan, Debian harus dapat menjalankan banyak program dan aplikasi untuk berjalan secara simultan. Fitur tersebut dikenal dengan multitasking. Kedua fitur utama tersebut yang ditawarkan oleh Debian GNU/Linux, yang notabene merupakan sistem operasi tidak berbayar sehingga membuat penyusun yakin untuk menggunakan Debian sebagai server yang digunakan dalam kasus media sosial Centeng yang dibangun.
40 Server berbasis linux harus didukung program web server yang baik. Server Centeng telah menggunakan beberapa web server seperti Apache2 dan Nginx. Dimana pada awalnya penyusun menggunakan Apache2 sebagai web server Centeng, yang selanjutnya diganti menjadi Nginx. 2.13.1.1 Apache (Kabir, 2002), Apache server 2.0 menurut data yang ada, digunakan oleh lebih dari 60% web administrator di dunia. Apache merupakan web server yang paling powerful, dan open-source di dunia ini. Apache dapat melayani konten secara dinamis. Didukung oleh CGI (Common Gateway Interface), SSI (Server-Side Includes), FastCGI, PHP, mod_perl, dan Java servlets. Selain itu sekuritas dari apache juga baik dengan didukungnya SSL (Secure Socket Layer) 2.13.1.2 Nginx M engacu pada (Nginx, 2011), N ginx merupakan perangkat lunak tingkat tinggi infrastruktur internet, yang memiliki performa yang tinggi sebagai web server dengan memory footprint yang terendah serta sebuah kombinasi yang lengkap dari setiap fiturfitur penting dalam membangun infrastruktur web yang modern dan efisien. Saat ini N ginx adalah web server berbasis open-source kedua terbesar di Internet. 2.13.2 Rangkuman penelitian terdahulu Telah banyak perusahaan yang menggunakan server berbasis linux, salah satu contoh yang baik adalah indowebster.com. Dimana situs tersebut adalah salah satu situs shareware terbesar di Indonesia. Sebuah website yang menyediakan jasa upload dan download data dalam ukuran yang relatif besar dan sangat banyak, serta tinggi tingkat
41 aktifitas baik upload dan download di dalamnya harus memiliki server yang memiliki kemampuan yang tinggi. Indowebster menggunakan server berbasis linux karena linux memiliki kemampuan yang sangat baik dalam mengatur traffic pada sebuah web.
2.14 Web Service Saat ini web service menjadi salah satu penemuan terbesar yang memungkinkan pembuatan web menjadi lebih baik, dimana dengan menggunakan web service terdapat banyak kelebihan yang ditawarkan terutama masalah operasi internal yang sangat baik dan bagi para penggunanya dapat mengakses service tersebut selama mesin baik komputer yang merupakan personal computer maupun server selama terhubun dengan jaringan internet. Pengertian dari Web Service adalah layanan web yang sebenuhnya berdasarkan standar web dan xml. Web Service sendiri dapat membantu dalam hal : 1. Perantara pada integrasi platform sepanjang eksekusi mesin virtual. 2. Integrasi antara Web dan OO middleware. 3. Integrasi dari aliran kerja terisolasi dan service-service (Web Services Flow Language -WSFL). 4. Pertukaran data pada aplikasi yang berbeda-beda (X-Schema, XSLT ++). 5. Kemampuan aplikasi, fungsi atau operasi yang dilakukan ekspansi untuk program lain melalui standard yang terbuka, dan interoperable. 6. “payloads” didefinisikan sebagai XM L. 7. “transports” melalui http atau Internet Protocol terbuka lainnya. 8. Data diakses dari berbagai bahasa pemrograman, platform hardware atau sistem operasi.
42 9. Middleware dari Internet.
Dimulai dengan menemukan url sumber untuk informasinya. Ketika sudah menemukannya, setiap orang yang mengunjungi halaman depan perusahaan kita, maka kita dapat membuka koneksi ke url tersebut, mengunjunginya, dan menarik informasi yang kita butuhkan. (Welling & Thomson, 2001) Berdasarkan (M cNeil, 2003) serta (M onson-Haefel, 2004), SOAP pada awalnya merupakan singkatan dari Simple Object Access Protocol. SOAP adalah protokol pesan standar yang digunakan oleh J2EE Web Services, dan merupakan standar de facto untuk layanan Web secara umum. Aplikasi utama SOAP adalah komunikasi Application-toApplication (A2A). Secara khusus, digunakan dalam Business-to-Business (B2B) dan Enterprise Application Integration (EAI), dimana keduanya fokus pada pengintegrasian aplikasi perangkat lunak dan data-sharing. A gar benar-benar efektif dalam B2B dan EAI, protokol harus platform-independen, fleksibel, dan sesuai standar teknologi yang ada. Tidak seperti teknologi sebelumnya B2B dan EAI, seperti CORBA dan EDI, SOAP memenuhi persyaratan ini, dapat digunakan secara luas, dan telah didukung oleh vendor perangkat lunak dan organisasi besar yang menngatur standar internasional (W3C, WSI, OASIS, dll). SOAP hanyalah bahasa XM L markup disertai dengan aturan-aturan yang menentukan penggunaannya. SOAP memiliki tujuan yang jelas yaitu bertukar data melalui jaringan. Secara khusus,adalah encapsulasi dan pengkodean data XM L serta mendefinisikan aturan untuk transmisi dan menerima data. Singkatnya, SOAP adalah protokol aplikasi jaringan. Sebuah dokumen XM L SOAP seperti SOAP message biasanya dibawa sebagai
43 payload dari beberapa protokol jaringan lainnya. M isalnya, cara yang paling umum untuk bertukar pesan SOAP adalah melalui HTTP (Hyper Text Transfer Protocol) yang digunakan oleh Web browser untuk mengakses halaman Web HTM L. Perbedaan besar adalah bahwa Anda tidak melihat pesan SOAP dengan browser seperti yang Anda lakukan pada HTM L. Pesan SOAP yang dipertukarkan antara aplikasi pada jaringan dan tidak dimaksudkan untuk bisa dilihat pegguna. HTTP adalah cara yang biasa dipakai untuk mengirim dan menerima pesan SOAP. SOAP message juga dapat ditransfer melalui e-mail menggunakan SM TP (Simple M ail Transfer Protocol) dan protokol jaringan lainnya, seperti FTP (File Transfer Protocol) dan TCP / IP (Transmission Control Protocol / Internet Protocol). Sejarah Web Service SOAP dulunya adalah singkatan dari 'Simple Object Access Protocol' namun akronim ini dihilangkan saat Versi 1.2 menjadi rekomendasi W3C pada tanggal 24 Juni 2003. Akronim ini kadang-kadang dihubungkan dengan SOA, yang merupakan singkatan dari Service Oriented Architecture. SOAP adalah bagian dari aplikasi SOA, namun akronimnya tidak berhubungan. SOAP pada awalnya dirancang oleh Dave Winer, Don Box, Bob Atkinson, dan M uhsin Al-Ghosein pada tahun 1998 dalam proyek untuk M icrosoft sebagai protokol akses objek (object-access protocol). Spesifikasi SOAP saat ini dikelola oleh XM L Protocol Working Group dan World Wide Web Consortium.
Cara Kerja Web Service dapat menggunakan pesan satu arah atau pesan dua arah (requestresponse), dimana pada sistem Centeng penyusun menggunakan NuSOAP sebagai web
44 service yang mendukung service Centeng.
NuSOAP NuSoap adalah hasil penulisan ulang dari SOAPx4 yang dibuat oleh NuSphere dan DIetrich Ayala berbentuk sekumpulan kelas-kelas PHP. NuSOAP tidak membutuhkan ekstensi PHP spesial sehingga developer yang mengerti bahasa PHP dapat menggunakan dan membuat web service SOAP dengan basis PHP tanpa harus mempelajari protokol SOAP secara mendalam Pada dasarnya, pembuatan web service dengan NuSOAP adalah dengan menuliskan fungsi di server yang menerima parameter tertentu, mengolahnya, dan mengembalikan data yang dibutuhkan oleh pengakses web service, semua dalam bentuk XM L. Server side register('helloworld'); // buat fungsi dalam bahasa php function helloworld() { return 'Hello World!! '; } $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; $server->service($HTTP_RAW_POST_DATA); ?>
Gambar 2.8: NuSOAP Server Side Client side
45 $result = $client->call('hello', array('name' => 'Scott')); // tampilkan hasilnya print_r($result); ?>
Gambar 2.9: NuSOAP Client Side
2.15 S ocial Media API 2.15.1 Facebook API M engacu pada (Facebook, 2011). Facebook API dapat digunakan untuk 3 platform, yaitu : 2.15.1.1 Website M enggunakan Facebook di Website Anda memungkinkan Anda untuk menciptakan pengalaman, lebih personal sosial menggunakan Plugin sosial seperti Like Button dan
menyederhanakan
pendaftaran
Anda dan
sign-in
proses
dengan
menggunakan Tombol Login dan Registrasi Plugin. Facebook platform memungkinkan Anda untuk membuat website Anda lebih sosial. Anda dapat menggunakan Plugin Sosial Facebook, seperti Tombol Like untuk mendorong keterlibatan pengguna dengan satu baris HTM L. Tombol Login Plugin Pendaftaran kami dan membiarkan Anda menyederhanakan atau menghilangkan pendaftaran pengguna Anda sendiri dan sign-in. Terakhir, API Grafik memungkinkan Anda mengakses grafik sosial dari pengguna tertentu, yang memungkinkan Anda untuk membuat sebuah pengalaman pribadi yang benar-benar mendalam. 2.15.1.2 Mobile Apps Facebook platform membuat IOS (iPhone & iPad), Android dan Mobile Web aplikasi sosial. Gunakan Single Sign-On untuk mengakses grafik sosial pengguna (tanpa lagi username / password) dan menciptakan pengalaman pribadi.
46 2.15.1.3 Aplikasi di Facebook M embangun sebuah aplikasi di Facebook memberi Anda kesempatan untuk mengintegrasikan ke dalam pengalaman pengguna utama kami. Gunakan fungsi asli dari Facebook seperti Permintaan dan Bookmarks untuk menciptakan ruang sosial yang ideal untuk pengguna Anda.
2.15.2 Twitter API M engacu pada (Twitter). Twitter adalah sebuah jaringan informasi dan mekanisme komunikasi yang dapat memproduksi lebih dari 200 juta tweet setiap harinya. Platform twitter menawarkan akses ke data fisik, melalui API twitter. Setiap API mewakili sebuah fungsi dari twitter, dan memperbolehkan developer untuk membangun dan menambahkan aplikasi mereka dalam jalan baru dan kreatif. Twitter API masih berkembang hingga kini. 2.15.2.1 Twitter for website Twitter for Website (TFW) adalah rangkaian produk yang memungkinkan situs web untuk mudah mengintegrasikan Twitter. TFW sangat ideal untuk pengembang situs yang ingin cepat dan mudah mengintegrasikan fungsi yang sangat dasar Twitter. Ini termasuk persembahan seperti tombol Tweet, yang memungkinkan sebuah tweet pengguna tentang sesuatu yang dia temukan menarik pada situs Anda ke semua temantemannya. Teman-temannya melihat tweet tersebut, klik ke situs Anda, dan beberapa persentase dari mereka akan tweet yang sama konten untuk teman-teman mereka sebuah loop distribusi yang besar. Demikian juga, tombol follow memungkinkan pengguna untuk dengan cepat mengikuti akun Anda kembali di Twitter. Bahwa
47 pengguna tertentu maka akan melihat update dari account Anda disalurkan kembali ke stream nya, membuat saluran baru keterlibatan dengan basis pengguna Anda. 2.15.2.2 Search API Search API produk yang dirancang untuk mencari semua kemungkinan query untuk konten Twitter. Ini mungkin termasuk menemukan satu set tweets dengan kata kunci tertentu, menemukan referensi tweet pengguna tertentu, atau menemukan tweets dari pengguna tertentu. API ini juga akan memberikan produk Anda akses ke data sekitar Tren. Jika Anda perlu query search API akan memberikan kecepatan yang ekstrim dan tepat pada sasaran, maka Anda harus bekerja dengan API Streaming. 2.15.2.3 Rest API Rest API memungkinkan pengembang untuk mengakses beberapa fitur inti dari Twitter termasuk jadwal, update status, dan informasi pengguna. Jika Anda sedang membangun aplikasi yang memanfaatkan objek inti Twitter, maka ini adalah API untuk Anda. Bayangkan membangun sebuah profil pengguna: nama mereka, menangani Twitter mereka, avatar profil mereka, dan grafik orang yang mereka ikuti di Twitter semua dengan beberapa REST API. Selain menawarkan akses program ke obyek timeline, status, dan pengguna, API ini juga memungkinkan pengembang banyak peluang integrasi untuk berinteraksi dengan Twitter. M elalui API REST, pengguna dapat membuat dan posting tweets kembali ke Twitter, membalas tweet, tweet tertentu favorit, tweet tweet lainnya, dan banyak lagi. 2.15.2.4 Streaming API Streaming API adalah contoh real-time dari Firehose Twitter. API ini ditujukan bagi mereka pengembang dengan kebutuhan data yang intensif. Jika Anda mencari untuk membangun sebuah data produk pertambangan atau tertarik dalam analisis
48 penelitian, Streaming API yang paling cocok untuk hal-hal seperti itu. Streaming API memungkinkan untuk jumlah besar kata kunci yang akan ditentukan dan dilacak, retreiving geo-tag tweets dari daerah tertentu, atau memiliki status publik pengguna ditetapkan kembali. Hal ini mengharuskan Anda untuk membuat sambungan berumur panjang HTTP dan mempertahankan hubungan itu. Jika Anda sedang mengembangkan pada API Search, dan menemukan bahwa aplikasi Anda sedang tingkat-terbatas atau Anda hanya memiliki kebutuhan query agresif, maka Anda harus pindah ke API Streaming.