BAB 2 LANDAS AN TEORI
2.1
Teori Umum Teori umum adalah teori yang dipakai sebagai landasan bagi teori-teori lainnya.
2.1.1
Model Waterfall M enurut Pressman (2005, p79-80), model ini sering disebut model classic atau linear
sequential model. M odel ini merupakan sebuah pendekatan yang sistematis dan sekuensial dalam pengembangan perangkat lunak(software development) yang dimulai dari level sistem dan berkembang melalui analisis, design, coding, dan testing. Gambar
dibawah
ini menunjukan
model waterfall
lunak. Gambar 2.1 Model Waterfall M odel ini terdiri dari beberapa aktivitas sbb: •
Analisis kebutuhan perangkat lunak
dalam rekayasa perangkat
Proses pengumpulan kebutuhan sangat berfokus pada perangkat lunak. Untuk mengerti sifat program yang akan dibuat, pembuat perangkat lunak harus memahami domain informasi untuk perangkat lunak, begitupula dengan fungsi yang diperlukan, perilaku, performa, dan
antar muka.
Kebutuhan untuk sistem dan
perangkat lunak
didokumentasikan dan di review oleh pengguna. •
Desain Desain perangkat lunak merupakan beberapa langkah proses yang berfokus pada empat atribut program yaitu struktur data, arsitektur perangkat lunak, representasi antar muka, dan detail algoritma. Proses design menerjemahkan kebutuhan menjadi sebuah perangkat lunak yang dapat dinilai kualitasnya sebelum coding dimulai. Seperti kebutuhan, desain juga didokumentasi dan menjadi bagian dari konfigurasi perangkat lunak.
•
Code generation Desain yang dibuat harus diterjemahkan kedalam bentuk bahasa mesin. Tahap ini disebut Code generation. Jika desain dilakukan secara mendetail, tahap ini dapat dilalui dengan mudah.
•
Testing Setelah code berhasil dibuat, program mulai di test. Proses testing fokus pada logika internal dari software, memastikan bahwa semua pernyataan(statement) telah di test dan fungsi eksternal sehingga memastikan pengetesan pada input yang baik akan menghasilkan output yang sesuai dengan kebutuhan.
2.1.2
Interaksi Manusia dan Komputer M enurut Shneidermann (2010, p22), Interaksi M anusia dan Komputer dimulai dengan
mengkombinasikan metode pengumpulan data dan psikologi yang dikembangkan dengan teknologi informasi. Perpaduan tersebut menghasilkan interaksi yang kuat antara user interface dan computer user. Shneidermann (2010, p88) kemudian mengemukakan 8 (delapan) aturan yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user interface. Delapan aturan tersebut disebut dengan Eight Golden Rules of Interface Design, yaitu : 1. Berusaha untuk konsisten Diperlukan urutan aksi yang konsisten pada situasi yang sama. Konsistensi ini juga harus diterapkan pada prompts, menus, dan layar bantu. Konsistensi perintah juga harus diterapkan. 2. M emungkinkan penggunaan yang universal M engenali kebutuhan pengguna yang beragam dari pengguna pemula (novice) sampai pengguna ahli (expert) dengan merancang konten yang beragam misalnya penjelasan atau tutorial untuk pemulai dan perancangan shorcut untuk pengguna yang sudah ahli. 3. M emberikan umpan balik yang informatif Untuk setiap tindakan yang dilakukan user, diharapkan adanya umpan balik dari sistem. Untuk tindakan yang sering terjadi dan tidak membutuhkan banyak aksi, umpan balik dapat dibuat sederhana, sedangkan tindakan yang jarang dilakukan dan memerlukan banyak aksi harus lebih ditonjolkan. 4. M erancang dialog yang memberikan penutupan (keadaan akhir)
Urutan aksi harus disusun ke dalam kelompok awal, tengah dan akhir. Suatu umpan balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan tersebut telah selesai dan siap untuk melanjutkan ke aksi berikutnya. 5. M emberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana Sistem yang dibuat diharapkan tidak memungkinkan user membuat kesalahan yang serius. Jika terjadi kesalahan, sistem harus dapat mendeteksi kesalahan tersebut dan menawarkan penanganan kesalahan yang sederhana. 6. M emungkinkan pembalikan aksi yang mudah Fitur untuk mengurangi kekhawatiran user karena user tahu bahwa jika ada kesalahan yang dibuat dapat dikembalikan lagi ke aksi sebelumnya. 7. M endukung pusat kendali internal M enjadikan user sebagai pengendali sistem, bukan yang dikendalikan oleh sistem. 8. M engurangi beban ingatan jangka pendek M engingat keterbatasan manusia dalam pemrosesan informasi dalam jangka pendek, sebuah sistem diharapkan dibuat dengan tampilan sesederhana mungkin, beberapa halaman dijadikan satu, frekuensi pergerakan window dikurangi dan harus ada waktu yang cukup bagi user untuk mempelajari kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau kode sebaiknya tersedia.
2.1.3
UML ( Unified Modeling Language)
M enurut Bentley dan Whitten (2007, p371), UM L adalah satu set dari ketentuan modeling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem software dalam suatu kondisi dari objek. UM L dibagi menjadi beberapa komponen: 1. Class Diagram M enurut Bentley dan Whitten (2007, p400), class diagram menggambarkan struktur sistem suatu object. Diagram ini menampilkan class-class objek yang sistemnya tersusun seperti hubungan antara class-class objek.
Gambar 2.2 Contoh Class Diagram
2. Use Case Diagram
M enurut Bentley dan Whitten (2007, p246-250), use case diagram menggambarkan interaksi antara sistem dan sistem eksternal dan user. Dengan kata lain, secara grafikal mendeskripsikan siapa yang akan menggunakan sistem dan dengan cara seperti apa yang diharapkan user untuk berinteraksi dengan sistem.
Gambar 2.3 Contoh Use Case Diagram Use case diagram memiliki komponen sebagai berikut: a. Pelaku Pada use case diagram, pelaku adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi b. Relationship (hubungan) Pada use case diagram, hubungan digambarkan dalam sebuah garis di antara dua simbol.
2.1.4
Object Oriented Programming
M enurut Anban Pillay (2007, p11), object oriented programming (OOP) merepresentasikan suatu usaha untuk membuat program lebih dekat dengan model seseorang berpikir bagaimana berususan dengan dunia. Object oriented programming adalah suatu set dari peralatan dan metode yang memperbolehkan software engineers untuk membuat software yang reliable, user friendly, maintainable, well documented, reusable. Bahasa dari object oriented programming menyediakan kebutuhan untuk konsep-konsep object oriented yaitu object dan class, inheritance, dan polymorphism. • Object dan Class M enurut Anban Pillay (2007, p16), object adalah suatu bundel perangkat lunak yang terdiri dari variables dan methods. Variables adalah suatu data yang dinamai oleh sebuah identifier. Methods adalah suatu fungsi yang berkaitan dengan sebuah objek. Sebuah objek juga dikenal dengan sebutan instance. Sebuah instance dapat mengacu pada sebuah obyek tertentu. Class adalah sebuah blueprint yang mendefinisikan variables dan methods yang umum untuk semua objek dari jenis tertentu. Class mendeklarasikan instance dari variables yang dibutuhkan untuk menampung state dari seluruh objek. Class juga akan mendeklarasikan dan menyediakan implementasi dari instance methods yang dibutuhkan untuk beroperasi pada state dari objek. M embungkus suatu variables obyek dengan perlindungan methodnya disebut dengan encapsulation.
Gambar 2.4 Object dan Encapsulation Encapsulation yang terkait dengan variables dan methods menjadi sebuah bundel perangkat lunak yang rapi adalah hal yang mudah namun merupakan ide yang bagus dan menyediakan dua keuntungan kepada pengembang software: a. M odularity Source dari code untuk sebuah objek dapat ditulis dan dijaga secara terpisah dari source code untuk objek yang lain. b. Information-hiding Sebuah obyek memiliki sebuah public interface yang objek lain dapat gunakan untuk berkomunikasi dengan objek tersebut. Obyek dapat menjaga informasi yang private dan method yang dapat diganti kapan pun tanpa mempengaruhi objek yang yang bergantung kepadanya. • Inheritance M enurut Anban Pillay (2007, p80), inheritance mengacu pada fakta bahwa sebuah class dapat mewarisi sebagian atau seluruh strukturnya dari class yang lain. Class yang diwarisi disebut sebagai subclass dan class yang mewarisi disebut sebagai superclass. Sebuah subclass dapat menambahkan ke dalam struktur dan aksi yang diwariskannya. Subclass juga dapat mengganti atau memodifikasi perilaku yang diwariskan.
Gambar 2.5 Inheritance • Polymorphism M enurut Deitel (2002, p472-473), dengan polymorphism, memungkinkan untuk merancang dan mengimplementasikan sistem yang mudah ditambahkan (easily extensible). Class yang tidak terdapat saat pembuatan program dapat ditambahkan dengan sedikit atau tanpa modifikasi pada bagian program yang diproses secara general. Terdapat dua tipe dari polymorphism, yaitu: a. Overloading Overloading mengacu pada kemampuan untuk mendefinisikan beberapa method dengan nama yang sama dalam sebuah class selama method tersebut memiliki parameter yang berbeda. (Deitel, 2002, p288) b. Overriding Overriding terjadi ketika sebuah subclass mempunyai method yang memiliki signature yang sama dengan superclassnya. Method pada subclass akan menimpa method pada superclass. (Deitel, 2002, p455-456)
2.1.5
Basis Data Basis data dapat didefinisikan dalam sejumlah sudut pandang, seperti menurut Connolly
(2002, p14), definisi basis data adalah kumpulan data yang dihubungkan secara bersama-sama, dan gambaran dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Berbeda dengan sistem file yang menyimpan data secara terpisah, pada basis data data tersimpan secara terintegrasi. Basis data bukan menjadi milik dari suatu departemen tetapi sebagai sumber daya perusahaan yang dapat digunakan bersama. M enurut Date (1990,p5), definisi dari basis data adalah kumpulan terintegrasi dari file yang merupakan representasi data dari suatu model enterprise. Sedangkan menurut Fathansyah (1999,p2), basis data adalah : 1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/ tabel/ arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
Data dalam basis data disimpan dalam tiga struktur, yaitu file, tabel atau objek. File terdiri dari record dan field, tabel terdiri dari baris dan kolom. Objek terdiri dari data dan instruksi program yang memfungsikan data. Tabel terdiri dari kolom-kolom yang saling terkait, seperti file yang terdiri dari record yang saling terkait. File didalam basis data dapat terhubung kepada
beberapa tabel. Dalam sebuah tabel, data pada tiap kolom terdiri dari ukuran dan tipe yang sejenis (char/ numeric)
Gambar 2.6 Basis data di sebuah lemari arsip
Gambar 2.7 Basis data di sebuah Harddisk Keuntungan dari basis data: •
M engurangi duplikasi data
•
M eningkatkan integritas data
•
M emelihara independensi data
•
M eningkatkan keamanan data
•
M emelihara konsistensi data
•
M anipulasi data lebih canggih
•
M udah untuk digunakan
•
M udah untuk di akses
Kekurangannya adalah:
2.1.6
•
Sistem lebih rumit, jadi memerlukan tenaga ahli dalam disain, program dan implementasi
•
Lebih mahal
•
Bila ada akses yang tidak benar, kerusakan dapat terjadi
•
Karena semua data di tempat terpusat, kerusakan software dan hardware dapat terjadi
•
Proses pemeliharaan dapat memakan waktu karena ukurannya yang besar
•
Proses back up data memakan waktu
Entity Relationship Diagram (ERD) M enurut Connolly (2002, p330), entity relationship diagram adalah pendekatan top down
untuk mendesain basis data yang dimulai dengan mengidentifikasi data yang penting, yang disebut sebagai entitas dan dukungan antara data harus digambarkan. Entity relationship merupakan gambaran dari hubungan antar data berdasarkan persepsi dunia nyata yang terdiri dari sekumpulan objek dasar yang disebut sebagai entity dan hubungan (relationship) antara objek – objek tersebut. Entity adalah benda atau objek pada dunia nyata yang dapat dibedakan dari objek lain. Relationship adalah hubungan antara beberapa entity. M odel entity relationship merepresentasikan mapping cardinalities yang mengekspresikan jumlah entity ke entity lain yang dapat diasosiasikan melalui relationship set.
Jenis – jenis mapping cardinalities : • One to one : Sebuah entity di A hanya bisa diasosiasikan dengan B paling banyak satu entity di B dan sebaliknya. • One to many : Sebuah entity di A hanya bisa diasosiasikan dengan nol atau lebih entity di B, namun entity di B hanya bisa diasosiasikan dengan paling banyak satu entity di A. • Many to one : Sebuah entity di A hanya bisa diasosiasikan dengan paling banyak satu entity di B, namun entity di B, hanya bisa diasosiasikan dengan nol atau lebih di A. • Many to many : Sebuah entity di A bisa diasosiasikan dengan nol atau lebih entity di B, begitu pula sebaliknya.
2.1.7
HTML Dokumen HTM L disebut sebagai markup language karena mengandung tanda-tanda
tertentu yang digunakan untuk menentukan tampilan suatu teks dan tingkat kepentingan dari teks tersebut dalam suatu dokumen. Berikut ini adalah contoh-contoh hal yang dapat kita tentukan dengan menggunakan tanda-tanda HTM L tersebut : (Sampurna, 1996, p10) 1. Baris-baris mana yang merupakan judul atau subjudul. 2. Letak suatu gambar dan jenis pemformatan yang berlaku pada suatu kumpulan teks tertentu. 3. M embuat tabel form ataupun dokumen dengan bingkai-bingkai di dalamnya. HTM L adalah suatu format data yang digunakan untuk membuat dokumen hypertext yang dapat dibaca dari satu platform komputer ke platform komputer lainnya tanpa perlu melakukan perubahan apapun (Sampurna, 1996, p13). Singkatnya, HTM L adalah suatu bahasa yang digunakan untuk membuat halaman-halaman hypertext (hypertext pages) pada Internet
(Sampurna, 1996, p17). Dokumen HTM L sebenarnya adalah suatu dokumen teks biasa, sehingga dokumen tersebut dapat dibaca pada platform apapun. Satu lagi yang membedakan antara dokumen HTM L dengan dokumen-dokumen lainnya, yaitu adanya elemen-elemen HTM L beserta tag-tag-nya. Elemen dan tag HTM L ini berfungsi untuk memformat atau menandai suatu bagian tertentu dari dokumen HTM L, serta menentukan struktur bagian tersebut dalam dokumen HTM L. Semua halaman HTM L terdiri dari elemen-elemen, sedangkan sebuah elemen terdiri dari dua tag. Dalam dokumen HTM L, elemen dibagi menjadi dua kategori utama, yaitu (Sampurna, 1996, p23): 1. Elemen-elemen yang memberikan informasi tentang dokumen tersebut, seperti judul dokumen atau hubungannya dengan dokumen lain. 2. Elemen-elemen yang menentukan bagaimana isi suatu dokumen ditampilkan oleh browser, seperti paragraf, list (daftar), tabel, dan lain-lain. Sewaktu browser menampilkan suatu web page, browser tersebut akan membaca teks-teks pada dokumen HTM L, dan mencari suatu kode khusus yang disebut tag. Tag ini dinyatakan dengan tanda lebih kecil (<) dan tanda lebih besar (>). Tag biasanya merupakan suatu pasangan, yang disebut tag awal dan tag akhir. Tag awal dinyatakan dalam bentuk
, sedangkan tag akhir dinyatakan dalam bentuk . Yang membedakan antara tag awal dan akhir adalah suatu tanda garis miring (/) yang mendahului nama elemen dalam tag akhir. Dalam penulisan tag HTM L, perlu diperhatikan beberapa hal berikut (Sampurna, 1996, pp24-26): 1. HTM L tidak membedakan penggunaan huruf besar ataupun huruf kecil dari suatu elemen. Jadi kita dapat menuliskan
atau .
2. Dalam penulisan perintah-perintahnya, HTM L tidak memperbolehkan adanya penulisan perintah yang saling tumpang tindih atau ovelap. Berikut ini adalah contohnya, perhatikan perbedaannya dari baris-baris yang digarisbawahi: •
Contoh penulisan tag yang tumpang tindih: Teks untuk tag1 Teks untuk tag2
•
Contoh penulisan tag yang benar: Teks untuk tag1 Teks untuk tag2
3. Tidak semua tag didukung oleh semua browser. Jika suatu browser tidak mengenali suatu tag tertentu, browser tersebut akan mengabaikan tag yang tidak dikenalnya itu dan menuliskan isi di dalam tag tersebut sebagai teks biasa.
Sebuah atribut digunakan untuk mendefinisikan karakteristik dari sebuah elemen dan terletak di dalam tag awal elemen. M isalnya untuk mengatur ukuran sebuah gambar atau grafik
pada halaman HTM L, maka dibutuhkan sebuah elemen image , disertai atribut height dan width. Pastikan tanda sama dengan (=) dan sepasang tanda petik (” ”) diletakkan setelah atribut height dan width, karena atribut memerlukan value (juga bertugas untuk mendeskripsikan karakteristik sebuah elemen). Sebagai ilustrasi, berikut akan disertakan contoh penggunaan value, dalam menampilkan gambar yang berukuran 200 x 200 pixel. (James H. Pence, 2003, p6).
2.1.8
PHP M enurut Wikipedia (http://id.wikipedia.org/wiki/PHP), PHP: Hypertext Preprocessor
adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTM L. PHP banyak dipakai untuk memrogram situs web dinamis. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain: 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. 2. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah. 3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, M acintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.
2.1.9
SQL M enurut Wikipedia(http://id.wikipedia.org/wiki/SQL) SQL (Structured Query Language),
adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language). Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R. Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.
2.1.10 XML M enurut
Eriq
M uhammad
(http://www.inherent.ub.ac.id/portal/?hlm=artikel_
detail&id=9), sejak dikenalkan pertama kali pada akhir tahun 90-an, Extensible Markup Language (XM L) telah menghasilkan berbagai macam akronim, standard, dan aturan penting dalam komunitas Internet. XM L ada sebagai kekuatan / teknologi baru dalam dunia Internet yang oleh sebagian orang banyak disalah artikan. Misconception yang sering terjadi dalam mengartikan XM L adalah XM L dianggap sebagai bahasa markup / markup language seperti halnya HTM L (Hyper Text Markup Language) dan akan menggantikan HTM L yang telah ada selama ini. Sebenarnya XM L itu bukan sebuah markup language tetapi adalah sebuah toolkit untuk membuat, membentuk, dan menggunakan bahasa markup / markup language, sehingga asumsi yang menyatakan bahwa XM L akan menggantikan HTM L adalah keliru. Kenyataannya, XM L digunakan untuk membuat versi HTM L baru yang lebih bersih (cleaner version ) yang dinamakan XHTM L. Untuk lebih jelas tentang XM L, kita harus mengetahui definisi XM L itu sendiri. Extensible Markup Language (XM L) merupakan sebuah toolkit penyimpanan data (data storage toolkit), sebuah kendaraan yang dapat dikonfigurasi untuk semua jenis informasi, sebuah pengembangan dan open standard yang digunakan oleh semua orang mulai dari banker sampai webmaster. Dalam beberapa tahun ini, XM L diterapkan dan diadopsi secara luas oleh dunia industri. Hal ini dikarenakan feature-feature yang dimilikinya. Secara singkat, berikut ini adalah fitur yang ditawarkan XM L : • XM L dapat menyimpan dan mengorganisir semua jenis informasi dalam bentuk yang kita suka (dapat disesuaikan dengan kebutuhan).
• Sebagai sebuah open standard, XM L tidak terikat dengan perusahaan atau perangkat lunak manapun. • Dengan Unicode sebagai karakter set standar, XM L mendukung berbagai macam system penulisan (scripts) dan simbol. dari karakter Skandinavia sampai ideograf bangsa China Han. • XM L menawarkan berbagai cara untuk memeriksa kualitas sebuah dokumen, dengan aturan syntax, internal link checking, pembandingan dengan modul dokumen, dan datatyping. • Syntaks XM L sederhana dan tidak mempunyai strukur yang ambigu. Sehingga mudah dibaca oleh manusia maupun program. • XM L mudah untuk dikombinasikan dengan stylesheet untuk membuat format dokumen sesuai dengan style yang kita inginkan. Sesuai dengan feature yang ditawarkan XM L, XM L mempunyai portabilitas dan interoperabilitas yang tinggi. XM L merupakan “portable data” dikarenakan XM L merupakan kumpulan teks sederhana. XM L dapat dipindahkan antara platform satu dengan lainnya dengan syarat XM L yang kita buat harus memenuhi / mengacu pada sebuah spesifikasi yang dikeluarkan oleh World Wide Web Consortium (W3C) yang dapat diperoleh di http://www.w3.org . Dengan menggunakan XM L untuk menyimpan data dan Java untuk membuat kode, maka kita telah mendapatkan kombinasi yang sempurna (portable code dengan portable data). XM L juga menawarkan interoperabilitas yang tinggi, seperti yang sering kita temui dalam aplikasi-aplikasi enterprise. M ungkin ada yang berpikiran bahwa itu hanya merupakan bentuk
lain dari portabilitas, tapi sebenarnya lebih dari itu. Ekstensibilitas XM L sangat penting dalam bussiness interoperating. Sebuah dokumen XM L terdiri dari bagian-bagian yang disebut dengan node. Node- node tersebut adalah : • Header standar adalah header dokumen XM L yang berisi informasi yang diperlukan oleh parser, seperti versi XM L dan tipe encoding yang digunakan. • Root node yaitu node yang membungkus keseluruhan dokumen. Dalam satu dokumen XM L hanya ada satu root node. • Element node yaitu bagian dari dokumen XM L yang ditandai dengan tag pembuka dan tag penutup atau dapat berbentuk single tag. • Attribut node adalah nama dan nilai atribut yang ditulis pada awal sebuah elemen atau pada tag tunggal. • Text node adalah teks yang merupakan isi dari sebuah elemen yang ditulis diantara tag pembuka dan tag penutup. • Comment node adalah baris yang menyatakan komentar dokumen dan tidak akan diproses oleh XM L parser. • Namespace node adalah node yang mewakili deklarasi namespace.
2.2
Teori Khusus Teori Khusus adalah teori yang berhubungan dengan topik yang dibahas dalam skripsi ini.
2.2.1
Video Conference M enurut Ubay Nur (http://videoconferencing.ubbai.com/2010/07/teknologi-video.html),
Video conference adalah telekomunikasi dengan menggunakan audio dan video sehingga terjadi
pertemuan ditempat yang berbeda-beda. Ini bisa berupa antara dua lokasi yang berbeda (point-topoint) atau mengikutsertakan berberapa lokasi sekaligus didalam satu ruangan konferensi (multipoint). Ide awal menggabungkan suara dan video untuk komunikasi pertama kali di lakukan oleh perusahaan telepon AT&T pada tahun 1956. Video Conference pertama kali diperkenalkan pada publik oleh perusahaan telepon AT&T pada tahun 1964 pada ajang World’s fair di New York, Amerika Serikat. Ketika pertama kali diperkenalkan tidak ada orang yang menduga bahwa video conference akan berkembang pesat. Tahun 1970 AT&T mengkomersilkan layanan video conference yang mereka namakan PicturePhone. Teknologi PicturePhone belum dapat mengirimkan video, akan tetapi sudah dapat mengirimkan gambar-gambar yang masih kecil. Layanan ini kurang diterima oleh masyarakat, karena selain kemampuan yang masih sangat kurang juga harga yang masih sangat mahal sekitar US $160. Pada tahun 1971 Ericsson mendemonstrasikan video call pertama mereka. Perusahaan lain melihat keberhasilan Ericsson mulai mengembangkan teknologi video conference seperti Network Video Protokol (NVP) pada tahun 1976. pada tahun yang sama perusahaan Nippon Telegraph and Telephone melakukan video conferencing antara Tokyo dan Osaka. Teknologi inti yang digunakan dalam konferensi video adalah sistem kompresi digital audio dan video stream. Perangkat keras atau perangkat lunak yang melakukan kompresi disebut codec. Angka kompresi dapat dicapai hingga 1:500. Penggunaan modem audio dalam saluran pengiriman memungkinkan penggunaan Plain Old Telephone System atau POTS untuk beberapa aplikasi kecepatan rendah, seperti videotelephony, karena POTS mengubah getaran digital ke atau dari gelombang analog dalam rentang spektrum audio. Komponen lain yang dibutuhkan untuk sistem konferensi video meliputi: • Video input: kamera video atau webcam
• Video output: monitor komputer, televisi atau proyektor • Audio input: mikrofon • Audio output: biasanya pengeras suara yang berkaitan dengan perangkat layar atau telepon • Data transfer: jaringan telepon analog atau digital, LAN atau Internet
2.2.2
File S haring M enurut
Safarindra
(http://studyunnur.files.wordpress.com/2009/12/praktek-internet-
7.pdf), File Sharing adalah aktifitas di mana para pengguna internet dapat berbagi file dengan pengguna internet lainnya dengan cara penyedia file terlebih dahulu mengunggah file ke komputer server dan kemudian para pengguna internet yang lainnya dapat mengunduh file tersebut dari komputer server.
2.2.3
Location Based Service M enurut Fred Zahradnik (http://gps.about.com/od/glossary/g/location_based_ service.htm),
Location Based Service atau layanan berbasis lokasi adalah setiap informasi, hiburan, atau pelayanan sosial media yang tersedia pada perangkat mobile dan memanfaatkan penggunaan dari posisi geografis. Posisi ditentukan oleh GPS (Global Positioning System) , A-GPS (AssistedGlobal Positioning System), atau triangulasi Wi-Fi/cell tower. Dalam aplikasi ini, layanan berbasis lokasi memungkinkan masing-masing partisipan untuk mengetahui keberadaan partisipan lainnya melalui jasa Google M ap. Untuk menentukan lokasinya, kami menggunakan GPS(geolocation) pada pengguna smartphone atau IP(geoip) pada pengguna desktop(web).
2.2.4
Shared Whiteboard M enurut Webopedia (http://www.webopedia.com/TERM /W/whiteboarding.html), Shared
Whiteboard adalah fitur yang memungkinkan beberapa orang dapat bekerja pada gambar pada saat yang sama, setiap orang dapat melihat perubahan yang dibuat orang lain secara realtime. Sering juga disebut Sketchpad atau screen sharing.
2.2.5
MXML M enurut Gilang Abdul Aziz (http://ltheordinary.blogspot.com/2011_04_01_ archive.html),
MXM L adalah sebuah bahasa turunan dari XM L. Seperti halnya XM L biasa, MXM L terdiri dari element, attribute properties, dan lain-lain. M XM L digunakan pada Adobe Flash Platform tepatnya pada SDK Flex atau tools yang digunakannya adalah Adobe Flash Builder.
2.2.6
Adobe Flex M enurut Yoga Prihastomo (http://prihastomo.wordpress.com/2010/08/05/adobe-flex/),
Adobe Flex merupakan sekumpulan teknologi berbasis Adobe Flash yang dirilis oleh Adobe untuk mengembangkan dan membuat (deploy) Rich Internet Applications, yaitu sebuah aplikasi web yang dapat memiliki fitur dan menerapkan fungsi-fungsi selayaknya aplikasi berbasis desktop secara Lintas Platform. Adobe Flex merupakan suatu teknologi yang membawa perubahan paradigma dalam pengembangan aplikasi /perangkat lunak, khususnya aplikasi web. Adobe Flex sendiri merupakan gabungan dari teknologi yang telah dimiliki Adobe sebelumnya, dengan bertumpu pada platform Adobe Flash.
Dikarenakan bertumpu pada platform Adobe Flash, aplikasi web yang Flex-based tidak melakukan proses HTML Rendering ketika mempresentasikan dirinya melalui browser. Selain itu juga, Adobe Flex dikembangkan dengan konsep n-tier, yaitu pemisahan layer antara data access, presentation, business process dikarenakan Flash tidak dapat melakukan koneksi langsung (direct connection) ke data source semisal DBM S ataupun data source dalam bentuk lain. Beberapa spesifikasi Adobe Flex: • Lisensi dari penggunaan Flex adalah Open Source. • Flex dapat dijalankan di Platform (sistem operasi) : M icrosoft Windows, M acOS, maupun Linux. • Flex dapat digunakan sebagai aplikasi desktop (Adobe AIR) maupun aplikasi web (swf runtime). • Pengembangan aplikasi dapat dilakukan dengan cepat menggunakan Integrated Devepment Environment (IDE) Adobe Flex Builder 3 atau Adobe Flash Builder 4. • Kemudahan dalam melakukan layouting aplikasi dengan fitur drag and drop komponen, tersedianya panel properties dan event untuk masing-masing komponen. • Kemudahan koneksi ke sumber data dengan adanya fungsi yang terintegrasi untuk menyediakan RPC Service. • Kemudahan dalam membuat animasi transisi dan efek pada tiap-tiap komponen dan layer yang digunakan dalam pengembangan aplikasi. • Compiler dan debugger yang terintegrasi, dengan beberapa opsi pilihan output.
• M ulai dari Flex 3 SDK, aplikasi Flex dapat di konversi secara mudah menjadi aplikasi AIR (Adobe Integrated Runtime), yaitu aplikasi web yang benar-benar berubah menjadi aplikasi desktop dengan keunggulan cross platform yang dimiliki aplikasi web.
2.2.7
Adobe AIR M enurut Aries Santoso (http://tridentcore.wordpress.com/2010/01/27/facedesk-aplikasi-
desktop-untuk-facebook-super-simpel/), Adobe AIR(Adobe Integrated Runtime) adalah sebuah software untuk membuat lingkungan virtual yang bisa digunakan di semua sistem operasi untuk membuat aplikasi berbasis layanan internet dengan menggunakan teknologi Adobe Flash (dulunya M acromedia), Adobe Flex, HTM L atau Ajax yang dimana bisa berfungsi untuk membuat aplikasi desktop. Jadi peran Adobe AIR sangat sederhana (mirip Java Runtime), tapi Adobe AIR jauh lebih simple karena hanya dengan satu versi installer dengan ekstensi [.air] langsung bisa diinstall di semua OS.
2.2.8
Adobe Li veCycle Collaboration Service M enurut
situs
resmi
Adobe(Adobe.
http://www.adobe.com/products/livecycle/
collaborationservice/), Adobe LiveCycle Collaboration Service memungkinkan arsitek dan developer untuk menciptakan pengalaman user yang lebih menarik dan lebih dinamis yang memberikan fitur multi-user, kolaborasi real-time pada aplikasi rich Internet baru atau yang sudah ada. Dengan memanfaatkan layanan Adobe yang dikelola untuk Kolaborasi, Anda dapat menciptakan aplikasi dengan fitur seperti chat, video, VoIP dan white-boarding, pada akhirnya
untuk menyediakan produk yang terpandu, membantu desain produk atau peningkatan dukungan pelanggan. Pengalaman pribadi yang baik ini telah terbukti meningkatkan pendapatan ke tingkat yang lebih baik, kepuasan yang lebih tinggi dan loyalitas yang lebih baik. Kemampuan utama: • M udah mengintegrasikan text chat, whiteboard, webcam, dan fungsi VoIP. • Cepat membangun dan menyebarkan aplikasi dengan SDK yang lengkap. • M engelola user dan data sesi. • M embangun aplikasi Anda dalam lingkungan komputasi awan.
2.2.9
Android OS M enurut InfoTeknologi(http://www.infoteknologi.com/selular/apa-itu-android),
Android
adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, M otorola, Qualcomm, T-M obile, dan Nvidia.
2.2.10 iOS M enurut situs resmi Apple (http://www.apple.com/ios), iOS adalah sistem operasi perangkat genggam dari Apple. Awalnya dibuat hanya untuk iPhone, iOS kemudian berkembang hingga bisa mendukung perangkat Apple, Inc. yang lain seperti iPod touch, iPad dan Apple TV. Apple, Inc, tidak melisensikan iO S untuk digunakan di perangkat keras lain. Hal ini berbeda
dengan Android, yang mana kita bisa menemukannya di berbagai merk perangkat genggam. Sistem operasi iO S dapat terkoneksi dengan google maps, calender, youtube, laporan cuaca, kontak, e.mail, stock, dan voice memo. Dengan google map kita dapat mengetahui lokasi keberadaan kita. Namun untuk mengaktifkan kemampuan ini kita harus terkoneksi dengan internet atau jaringan wifi. Karena tidak dapat digunakan dengan kondisi offline. Sistem iOS diturunkan dari M ac OS X, yang oleh karenanya memiliki ciri sebagaimana sistem operasi Unix. Antarmuka iOS didasarkan pada konsep manipulasi langsung dengan gerakan multi-sentuh. Respon iOS atas input pengguna bersifat langsung dengan antarmuka yang mengalir halus.
2.2.11 Blackberry Tablet OS M enurut situs resmi Blackberry (http://us.blackberry.com/developers/tablet/), Blackberry Tablet OS adalah sebuah sistem operasi yang didesain untuk menjalankan aplikasi Adobe AIR dan BlackBerry WebWorks. Sistem operasi ini juga mendukung aplikasi Android sehingga memungkinkan pengembang untuk mempaket ulang kode program, melakukan proses sign dan mengirim aplikasi tersebut ke BlackBerry App World. BlackBerry PlayBook adalah perangkat pertama yang akan menjalankan sistem operasi ini.
2.2.12 Global Positioning S ystem (GPS ) M enurut
Anindita
Wahyuningtyas
(http://community.gunadarma.ac.id/user
/blogs/view/name_Anindita_wahyuningtyas/id_14479/title_belajar-telekomunikasi-gps/),
GPS
(Global Positioning System) merupakan sistem navigasi satelit yang dikembangkan oleh Departemen Pertahanan Amerika Serikat (US DoD = United States Department of Defense). GPS memungkinkan kita mengetahui posisi geografis kita (lintang, bujur, dan ketinggian di atas
permukaan laut). Jadi dimanapun kita berada di muka bumi ini, kita dapat mengetahui posisi kita dengan tepat. GPS terdiri dari 3 segmen: Segmen angkasa, kontrol/pengendali, dan pengguna., dimana : •
Segmen angkasa: terdiri dari 24 satelit yang beroperasi dalam 6 orbit pada ketinggian 20.200 km dan inklinasi 55 derajat dengan periode 12 jam (satelit akan kembali ke titik yang sama dalam 12 jam). Satelit tersebut memutari orbitnya sehingga minimal ada 6 satelit yang dapat dipantau pada titik manapun di bumi ini. Satelit tersebut mengirimkan posisi dan waktu kepada pengguna seluruh dunia.
•
Segmen Kontrol/Pengendali: terdapat pusat pengendali utama yang terdapat di Colorodo Springs, dan 5 stasiun pemantau lainnya dan 3 antena yang tersebar di bumi ini. Stasiun pemantau memantau semua satelit GOS dan mengumpulkan informasinya. Stasiun pemantau kemudian mengirimkan informasi tersebut kepada pusat pengendali utama yang kemudian melakukan perhitungan dan pengecekan orbit satelit. Informas i tersebut kemudian dikoreksi dan dilakukan pemuktahiran dan dikirim ke satelit GPS.
•
Segmen Pengguna: Pada sisi pengguna dibutuhkan penerima GPS (selanjutnya kita sebut perangkat GPS ) yang biasanya terdiri dari penerima, prosesor, dan antena, sehingga memungkinkan kita dimanapun kita berada di muka bumi ini (tanah, laut, dan udara) dapat menerima sinyal dari satelit GPS dan kemudian menghitung posisi, kecepatan dan waktu.
2.2.13 Geolocation dan GeoIP M enurut Kevin F. King (http://papers.ssrn.com/sol3/papers.cfm? abstract_id=1433634), Geolocation adalah pengidentifikasian lokasi sebuah objek di dunia nyata seperti radar, telepon
selular, atau terminal komputer yang terhubung dengan internet. Geolocation bekerja dengan mengasosiasikan lokasi geografis dengan IP(GeoIP), MAC address, RFID, hardware embedded production number, embedded software number, invoice, lokasi koneksi Wi-Fi, atau perangkat GPS. Pada GeoIP, geolocation bekerja dengan melakukan pencocokan alamat IP untuk mendapatkan informasi seperti negara, kota, kode pos, koordinat lintang, koordinat bujur, dan zona waktu. Sedangkan pada perangkat mobile, geolocation memanfaatkan koordinat lintang dan bujur dari perangkat GPS untuk menentukan lokasinya.