BAB II LANDASAN TEORI 2.1 Model Waterfall Model waterfall merupakan salah satu dari Model – Model yang terdapat pada proses perangkat lunak. Model waterfall memiliki beberapa tahapan seperti yang terdapat pada gambar 2.1 (prahasta : 223-224). Rekayasa Analisis Perancangan n Pemograman Pengujian Pemeliharaan Gambar 2.1 Model Waterfall 6 7 Tahapan – tahapan dalam waterfall adalah sebagai berikut : 1. Tahapan rekayasa system. Tahapan ini menyangkut pengumpulan kebutuhan pada tingkat system dengan sejumlah analisis serta desain tingkat puncak. 2. Tahapan analisis. Pada tahapan ini dilakukan pengumpulan perangkat lunak. Untuk memahami perangkat lunak yang dibangun, perekayasaan perangkat lunak harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan. 3. Tahapan perancangan. Tahapan perancangan perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut program yang berbeda yaitu; struktur data, arsitek perangkat lunak, representasi antarmuka, dan detail prosedural. Proses desain menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagai persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak. 4. Tahapan pemograman. Desain harus diterjemahkan ke dalam bentuk mesin yang biasa dibaca. Langkah pemograman melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanisme. 8 5. Tahap Pengujian. Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika didalam perangkat lunak, memastikan bahwa semua pertanyaan telah diuji, dan diluar fungsi yaitu mengarah pengujian untuk menemukan kesalahan – kesalahan dan memastikan bahwa masukan yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. 6. Tahapan Pemeliharaan. Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi kesalahan – kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk menampang perubahan – perubahan didalam lingkungan luarnya. Pemeliharaan perangkat lunak menerapkan lagi setiap tahap program sebelumnya dan tidak membuat yang baru lagi. Metode ini lebih baik digunakan walaupun sudah tergolong kuno, selain itu metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik. Kekurangan yang ada dalam menggunakan Model waterfall adalah : 1. Pada kenyataanya, jarang mengikuti urutan sekuensial pada teori. Interaksi sering terjadi menyebabkan masalah baru 2. Sulit untuk menentukan semua kebutuhan secara eksplisit. 3. Pembuatan perangkat lunak akan dimulai ketika tahapan desain sudah selesai. Sedangkan pada tahapan sebelumnya desain bisa memakan waktu lama. 4. Kesalahan diawal tahap berakibat sangat fatal pada tahap berikutnya. Pengirim sistem kadang – kadang tidak dapat dipaksakan. Meskipun begitu, 9 Model waterfall ini menggambarkan teknik yang praktis, maka dari itu Model proses perangkat lunak yang didasari oleh pendekatan untuk perangkat keras besar. 2.2 World Wide Web (WWW) World Wide Web (WWW), lebih dikenal dengan web, merupakan salah satu layanan yang didapat oleh pemakai komputer yang terhubung ke Internet. Web pada awalnya adalah ruang informasi dalam Internet, dengan menggunakan teknologi hiperteks (hypertext), pemakai dituntun untuk menemukan informasi dengan mengikuti tautan (link) yang disediakan dalam dokumen web yang ditampilkan dalam penjelajah web. Kini Internet identik dengan web, karena kepopuleran web sebagai standar antar muka pada layanan-layanan yang ada di Internet, dari awalnya sebagai penyedia informasi, kini digunakan juga untuk komunikasi dari e-mail, chatting, hingga melakukan transaksi bisnis (commerce). Web memudahkan pengguna komputer untuk berinteraksi dengan pengguna Internet lainnya dan untuk menelusuri informasi di dunia maya (Betha dan Husni, 2007:1). 2.2.1 Sejarah Lahirnya Web Tahun 1993, Tim Berners-Lee dan peneliti lain di Eurpean Particle Physics Lab (Consei European Pour Ia Recherche Nucleaire, atau CERN) di Geneva, Swiss, mengembangkan suatu cara untuk membagikan data antar koleganya menggunakan hiperteks. Pemakai di CERN dapat menampilkan dokumen pada 10 layar komputer dengan menggunakan perangkat lunak penjelajah web (web browser). Kode-kode khusus disisipkan ke dalam dokumen elektronik ini, agar memungkinkan pengguna untuk berpindah dari satu dokumen ke dokumen lainnnya pada layar hanya dengan memilih sebuah hiperlink (hyperlink). Kemampuan Internet dimasukkan ke dalam penjelajah ini sehingga pengguna dapat berpindah dari dokumen satu ke dokumen lainnya, tidak lagi dari satu komputer saja, tetapi dapat berpindah ke dokumen lain yang letaknya pada komputer jarak jauh (remote). Seorang peneliti dapat juga mengirimkan sebuah berkas dari komputer jarak jauh ke sistem lokalnya, atau login ke dalam suatu sistem jarak jauh hanya dengan mengklik hiperlink (hyperlink), tidak perlu melalui mekanisme FTP atau Telnet. Jalan pintas CERN digunakan sebagai dasar dari Web dan penjelajah web (Betha dan Husni, 2007:2). 2.2.2 Server Web Server web adalah komputer yang digunakan untuk menyimpan dokumendokumen web, komputer ini akan melayani permintaan dokumen web dari kliennya. Penjelajah web seperti Internet Explorer atau Mozilla berkomunikasi melalui jaringan (termasuk jaringan Internet) dengan server web menggunakan HTTP. Penjelajah akan mengirimkan permintaan kepada server untuk meminta dokumen tertentu atau layanan lain yang disediakan oleh server. Server memberikan dokumen atau layanannya jika tersedia dengan menggunakan protokol HTTP juga (Betha dan Husni, 2007:6). Gambar 2.2 adalah skema Web bekerja. 11 Gambar 2.2 Skema kerja WWW (World Wide Web) (Betha dan Husni, 2007:6) 2.3 Pengenalan Microsoft Visual Studio Microsoft Visual Studio adalah seperangkat pengembang piranti lunak yang mendukung sejumlah bahasa pemrograman untuk aplikasi windows. Kodekode yang pada aplikasi-aplikasi windows dapat dikembangkan menggunakan. Dengan framework .NET, para pengembang dapat menggunakan sejumlah class pada framework tersebut pada bahasa pemrograman yang berbeda, dengan penamaan dan pemanggilan class yang sama, dengan sintaks yang sama pula. Para pengembang pun juga dapat meningkatkan pengalaman dan teknik pemrograman yang mereka dapatkan dari aplikasi-aplikasi klien di Visual Studio, dimana perbedaannya hanya terletak pada class pustakanya saja (Yang, Zheng and Ni 2007, 14). Secara sederhana .NET Framework adalah platform tunggal dimana semua orang dapat mengembangkan aplikasi menggunakan suatu sistem yang mirip dengan JVM (Java Virtual Machine). Selain itu, Microsoft Visual Studio 12 dapat di gunakan untuk pengembangan aplikasi mobile seperti komputer Palm, Pocket PC dan smartphone. Gambar 2.3 adalah tampilan Microsoft Visual Studio 2008. Gambar 2.3 Tampilan Microsoft Visual Studio 2008 2.4 Sejarah JavaScript Perkembangan JavaScript diperkenalkan pertama kali oleh Netscape pada tahun 1995. Bahasa yang sekarang dikenal dengan nama JavaScript ini sebelumnya bernama LiveScript dan berfungsi sebagai bahasa sederhana untuk browser Netscape Navigator 2 (browser yang sangat populer saat itu). Awalnya, bahasa ini memang sedikit banyak mendapat kritikan dengan alasan kurang aman, pengembangannya tergesa-gesa, serta tidak ada pesan eror yang ditampilkan jika terdapat kesalahan saat penyusunan program. Kemudian melalui kerjasama antar Netscape dan Sun (pengembang bahasa pemrograman Java) pada masa itu, Netscape memberikan nama JavaScript kepada bahasa tersebut pada tanggal 4 Desember 1995. Pada waktu hampir bersamaan, pihak Microsoft sendiri mencoba 13 untuk mengadaptasikan teknologi ini yang mereka sebut sebagai Jscript di browser milik mereka sendiri, yaitu Internet Explorer 3. Kini Penggunaan dari Jscript sendiri masih terus dikembangkan pihak Microsoft dengan didukung oleh kebanyakan browser yang tersedia saat ini. (Wahana Komputer, 2010:1). 2.4.1 Pengenalan JavaScript JavaScript merupakan bahasa yang berbentuk kumpulan skrip yang berfungsi untuk memberikan tampilan yang tampak lebih interaktif pada dokumen web. Dengan kata lain, bahasa ini adalah bahasa pemrograman untuk memberikan kemampuan tambahan ke dalam bahasa pemrograman HTML (Hypertext Markup Language) dengan mengijinkan pengeksekusian perintah-perintah pada sisi client, dan buka sisi server dokumen web. Pada hakikatnya, bahasa pemrograman JavaScript berisi skrip yang pemasangannya terselip disebuah dokumen HTML. Sehingga bahasa JavaScript ini tidaklah memerlukan sebuah kompilator atau penerjemah khusus untuk mengeksekusinya. Hal tersebut juga bergantung pada navigator yang terdapat di setiap browser. (Wahana Komputer, 2010:1). 14 2.5 Pengertian JQuery JQuery merupakan suatu framework (library) Javascript yang menekankan bagaimana interaksi antara Javascript dan HTML. jQuery merupakan library open source dengan lisensi GNU General Public License dan MIT License. Dari sisi ukurannya, framework JQuery sungguh ramping, hanya sekitar 20 KB dan hanya terdiri dari satu file. Namun demikian, bagi yang menginginkan fungsi lebih, JQuery memungkinkan penambahan fungsionalitas dalam bentuk plugin. Saat ini tersedia ribuan plugin yang dapat diperoleh secara gratis di internet. JQuery adalah pustaka JavaScript yang cepat dan ringkas yang menyederhanakan traversing dokumen HTML, penanganan event, animasi, dan interaksi Ajax untuk mempercepat pengembangan web. JQuery merupakan library Javascript yang akan membuat aplikasi web yang kita buat menjadi lebih dinamis, baik dari sisi user-interface, proses maupun interaktivitas. 2.5.1 Manfaat JQuery Berikut adalah manfaat yang bisa didapatkan dengan menggunakan jQuery : 1. Mengakses bagian halaman tertentu dengan mudah. Tanpa adanya library Javascript khusus, untuk mengakses suatu bagian tertentu dari halaman, harus mengikuti aturan Document Object Model (DOM) dan pengaksesan harus secara spesifik menyesuaikan dengan struktur HTML. Dengan kata lain, pengaksesan bagian tertentu dari halaman sangat tergantung pada struktur dari HTML. JQuery menawarkan cara yang mudah (bahkan sangat mudah) dalam 15 mengakses bagian tertentu dari halaman. Pengaksesan juga tidak terlalu bergantung pada struktur HTML. 2. Mengubah tampilan bagian halaman tertentu. CSS (Cascading Style Sheet) menawarkan metode yang cukup handal dalam mengatur dan mempercantik halaman web. Namun terkadang CSS punya kelemahan yang cukup mengganggu, yaitu beberapa perintah CSS tidak didukung oleh semua browser. Cukup merepotkan jika kita harus mendesign halaman web dengan beberapa CSS sekaligus. Sekali lagi jQuery menawarkan solusi untuk mengatasi hal tersebut. Dengan jQuery, “kesenjangan” yang terjadi antara browser dalam urusan CSS akan tertutup dengan baik. 3. Mengubah isi dari halaman. Dahulu cukup sulit jika kita akan mengubah sebagian isi dari halaman. Mengubah disini dapat berarti mengganti teks, menambahkan teks atau gambar, mengurutkan suatu daftar (list), menghapus baris tabel dan sebagainya. Dengan jQuery, hal tersebut dapat dilakukan dengan hanya beberapa baris perintah. 4. Merespond interaksi user dalam halaman. Website yang baik tidak cukup digambarkan dengan user-interface dan tampilan yang memukau. Namun lebih dari itu, bagaimana pengunjung dapat berinteraksi dengan website dan dapat mengatur tampilannya sendiri. Interaktivitas sangat bergantung bagaimana pemrograman yang dipakai dalam menangani event-handling. Javascript sendiri memiliki beberapa event-handling seperti onclick 16 untuk menangani event saat terjadi click. Namun demikian, event handling pada Javascript terbatas pada object-object tertentu, dan jenisnya pun terbatas. jQuery melengkapi semuanya dengan tambahan penanganan event-handling yang semakin mudah. 5. Menambahkan animasi ke halaman. Animasi seringkali disertakan dalam suatu halaman web untuk menambah kecantikannya. Saat ini animasi masih cukup digemari oleh para peselancar situs. Animasi dapat dibuat dalam berbagai gaya, ada yang menggunakan Flash, gambar bergerak (GIF), video, dan sebagainya. Masing-masing tentu memiliki kelebihan dan kekurangan masing-masing. jQuery sendiri menawarkan konsep animasi (walaupun masih sederhana) yang cukup apik namun ramah bandwidth alias ringan. Salah satu animasi yang bisa dibuat dengan jQuery adalah fading jika terdapat suatu bagian dari halaman ditambahkan atau dihilangkan. 6. Mengambil informasi dari server tanpa me-refresh seluruh halaman. Mengambil informasi dari server tanpa refresh halaman merupakan salah satu konsep dasar dari yang namanya AJAX (Asynchronous Javascript and XML). Pada penerapannya, cukup ribet jika harus membangun website dengan konsep AJAX, saat ini banyak library khusus yang berusaha mempermudahnya. jQuery merupakan salah satunya. 17 7. Menyederhanakan penulisan Javascript biasa. 8. Semboyan jQuery adalah “Write less, do more” atau dengan kata lain kesederhanaan dalam penulisan code, tetapi menghasilkan tampilan yang lebih baik. Sebenarnya inilah yang menjadi daya tarik tersendiri buat para pengembang web untuk menggunakan jQuery. 2.5.2 Pengertian Document Object Model (DOM) DOM (Document Object Model ) merupakan object model standar untuk HTML dan XML yang bersifat platform independent. Dalam DOM tedapat jQuery yang menyediakan fungsi dimana semua fungsi yang didefinisikan di dalamnya akan segera di load setelah DOM dan sebelum konten (gambar, text, dsb) di load. 2.6 Pengenalan Blackberry Blackberry adalah salah satu sistem operasi mobile yang dibuat oleh RIM (Research In Motion) dan dirancang untuk digunakan pada smartphone. Blackberry merupakan sebuah smartphone yang memiliki keunggulan dalam push e-mail yang dapat digunakan untuk membuka e-mail secara langsung dengan ukuran file yang kecil karena e-mail yang ada dikompresi terlebih dahulu sebelum diterima pada smartphone. 18 2.6.1 Blackberry Application Programming Interface (API) Web Services Blackberry Application Programming Interface web services adalah suatu koleksi dokumen layanan web yang dapat digunakan untuk menciptakan aplikasi untuk melengkapi tugas yang secara normal dilakukan dengan menggunakan layanan blackberry administration. Untuk menggunakan blackberry administration API, bahasa program yang didukung antara lain XML (Extensible Markup Language), SOAP (Simple Object Access Protocol), dan WSDL (Web Services Description Language). Dengan begitu pembuatan aplikasi menjadi semakin mudah dan cepat karena dengan adanya Blackberry API yang tersedia memudahkan dalam pemanggilan fungsi. Kemudian untuk web yang berisi berbagai macam layanan dapat menggunakan WSDL yang didalamnya berisi file untuk proxy generator dan client proxy. (Research In Motion, 2010:1). Gambar 2.4 merupakan arsitektur Blackberry Administration API. Gambar 2.4 Arsitektur Blackberry Administration API. 19 2.6.2 Blackberry Internet Service (BIS) Blackberry Internet Service merupakan layanan e-mail dan internet untuk perangkat Blackberry yang dirangcang supaya bisa terintegrasi dengan akun email yang berbasis Post Office Protocol (POP3) dan Internet Message Access Protocol (IMAP). Dengan BIS dapat pula membuka file attachment, mengirim dan menerima pesan instan, serta browsing internet. Gambar 2.5 adalah arsitektur Blackberry Internet Service. (Research In Motion, 2010:1) Gambar 2.5 Arsitektur Blackberry Internet Service. (Research In Motion, 2010:1) 20 2.6.3 Integrasi Blackberry Dengan RIM (Research In Motion) Untuk membuat aplikasi blackberry yang dapat berjalan pada smartphone bukan di simulator maka dibutuhkan sebuah key yang digunakan sebagai validasi agar dapat mengakses security API (Application Programming Interface) dari smartphone blackberry. Gambar 2.6 adalah skema untuk mendapatkan key. Register Key Aplikasi Blackberry RIM (Research In Motion) Publish Gambar 2.6 Skema Untuk Mendapatkan Key Pada gambar diatas dapat dijelaskan bahwa untuk mendapatkan key yang digunakan untuk melakukan validasi yaitu dengan cara melakukan registrasi ke RIM (Research In Motion) dengan mengisikan form. Gambar 2.7 adalah bentuk form yang harus diisi. Gambar 2.7 Bentuk Form Yang Harus Diisi 21 Setelah mengisikan form seperti gambar 2.7 maka RIM akan mengirimkan e-mail yang didalamnya berisi file .csi yang digunakan agar bisa mengakses security API pada smartphone blackberry. Untuk memasukan key yang sudah didapat di Microsoft Visual Studio dilakukan konfigurasi dengan cara mengklik menu build kemudian klik configuration manager. Gambar 2.8 adalah tampilan configuration manager. Gambar 2.8 Tampilan Configuration Manager 22 Pada configuration manager seperti gambar 2.8 dilakukan perubahan konfigurasi pada menu active solution configuration yang tadinya debug menjadi release signed. Maka setelah itu pada saat mendebug program pada Microsoft Visual Studio akan muncul tampilan menu prompt yang meminta password. Gambar 2.9 adalah tampilan menu prompt password. Supaya program yang dibuat bisa dijalankan tidak hanya di simulator blackberry saja akan tetapi sudah bisa dijalankan di smartphone blackberry karena sudah mendapatkan key untuk mengakses security API dari blackberry tersebut sehingga aplikasi yang dibuat bisa langsung dipublish. Gambar 2.9 Tampilan Menu Prompt Password 23 2.6.4 Blackberry Widget SDK (Software Development Kit) Blackberry Widget SDK dapat digunakan untuk menciptakan aplikasi blackberry widget. Karena didalam Blackberry Widget SDK terdapat BlackBerry Widget Packager, BlackBerry Smartphone Simulator, BlackBerry MDS (Mobile Data System) Connection Service, dan dokumentasinya. Dengan menggunakan aplikasi widget yang didalamnya terdiri dari komponen web standard, mencakup HTML, XHTML, style sheets, Javascript kode, file gambar, dan sumber daya lain maka akan dengan mudah dalam membuat aplikasi yang sesuai dengan standar yang ada dalam membuat aplikasi widget. (Research In Motion, 2010:4). 2.6.5 Blackberry Smartphone Simulator Blackberry Smartphone Simulator merupakan sebuah aplikasi yang digunakan untuk menjalankan dan mensimulasikan aplikasi yang dibuat baik itu koneksi atau perubahan pada struktur program yang dibuat. Dan untuk menggunakan Blackberry Smartphone Simulator untuk melakukan sebuah pengujian dibutuhkan juga Blackberry MDS Simulator dan Blackberry Email Simulator agar bisa melakukan simulasi koneksi ke dalam jaringan baik itu simulasi email, pesan, dan browsing internet. Gambar 2.10 adalah Blackberry 8520 Simulator. 24 Gambar 2.10 Blackberry 8520 Simulator. 2.7 Extensible Markup Language (XML) XML merupakan salah satu bahasa markup yang menggunakkan tag-tag dalam perlabelan, menggolongkan, dan mengorganisir informasi dengan cara tertentu. Baik XML maupun HTML diturunkan dari induk semua bahasa markup, yaitu SGML (Standard Generalized Markup Language ). HTML terdiri dari berbagai tag-tag yang telah didefinisikan yang mengatur informasi untuk ditampilkan di web. XML tidak memiliki pendefinisian tag dan sebagai gantinya, kita dapat membuat tag-tag XML sendiri agar dapat mengatur dokumen sesuai dengan yang kita inginkan. Walupun XML tidak memiliki pendefinisian tag, XML memiliki aturan-aturan spesifik yang bervariasi dari suatu sintaks dokumen XML (Yuswanto dan Subari 2007). 25 Dokumen XML dapat digunakan untuk berbagai macam tujuan, seperti: Sebagai penyimpan data- XML, XML merupakan pengganti yang paling tepat untuk database kecil. Dengan XML dapat dibuat sebuah format file sederhana yang dapat diedit oleh program atau oleh pemakai. Sebagai file konfigurasi, di Java dokumen-dokumen XML sering kita jumpai seperti file server.xml dan web.xml yang digunakan Tomcat, atau perintah-perintah query yang disimpan dalam file XML yang dipakai pada framework iBatis atau Hibernate. Pengirman data XML, XML merupakan format yang sangat baik untuk pengiriman informasi antar computer tanpamemandang sistem operasi atau bahasa pemograman yang digunakan. 2.8 UML (Unified Modeling Language) Unified Modelling Language (selanjutnya disebut UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (Fowler, 2005:1). Selain itu UML juga dapat diartikan sebagai sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak (Dharwiyanti dan Wahono, 2003:2). UML menawarkan sebuah standar untuk merancang model sebuah sistem. 26 Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulis. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya yaitu : Grady Booch OOD (ObjectOriented Design), Jim Rumbaugh OMT (Object Modelling Technique) dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Dalam perancangan model perangkat lunak, UML mendukung 3 (tiga) jenis model yaitu: a. Model Fungsional (Functional Model) Model fungsional menunjukkan fungsionalitas sebuah sistem dari sudut pandang pengguna. b. Model Obyek (Object Model) Model obyek menunjukkan struktur dan sub struktur dari sistem menggunakan obyek, atribut, operasi dan asosiasi. c. Model Dinamis (Dynamic Model) Model dinamis menunjukkan sifat internal dari sebuah sistem. Piranti lunak dalam bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Seperti bahasabahasa lainnya, UML mendefinisikan notasi dan syntax atau semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan syntax UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1. 27 Tabel 2.1 Jenis Diagram Resmi UML (Dharwiyanti dan Wahono, 2003:2) No. Diagram Kegunaan 1. Activity Behavior prosedural dan parallel 2. Class Class, fitur, dan hubungan-hubungan 3. Communication Interaksi antar objek; penekanan pada jalur 4. Component Struktur dan koneksi komponen 5. Composite structure Dekomposisi runtime sebuah class 6. Deployment Pemindahan artifak ke node 7. Interaction overview Campuran sequence dan activity diagram 8. Object Contoh konfigurasi dari contoh-contoh 9. Package Struktur hirarki compile-time 10. Sequence Interaksi antar objek; penekanan pada sequence 11. State machihne Bagaimana even mengubah objek selama aktif 12. Timing Interaksi antar objek; penekanan pada timing 13. Use case Bagaimana pengguna berinteraksi dengan sebuah sistem No. Diagram Kegunaan 1. Activity Behavior prosedural dan parallel 2. Class Class, fitur, dan hubungan-hubungan 3. Communication Interaksi antar objek; penekanan pada jalur 4. Component Struktur dan koneksi komponen 5. Composite structure Dekomposisi runtime sebuah class 6. Deployment Pemindahan artifak ke node 7. Interaction overview Campuran sequence dan activity diagram 8. Object Contoh konfigurasi dari contoh-contoh 9. Package Struktur hirarki compile-time 10. Sequence Interaksi antar objek; penekanan pada sequence 11. State machihne Bagaimana even mengubah objek selama aktif 12. Timing Interaksi antar objek; penekanan pada timing 13. Use case Bagaimana pengguna berinteraksi dengan sebuah sistem 28 2.8.1 Tujuan dan Cakupan UML Menurut Suhendar dan Gunadi (2002:30) bahwa tujuan utama UML adalah : A. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. B. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa. C. Menyatukan praktek-praktek terbaik yang terdapat dalam bahasa pemodelan. Cakupan UML menurut Suhendar dan Gunadi (2002:30) adalah : A. UML menggabungkan konsep Booch, OMT dan OOSE, sehingga UML merupakan suatu bahasa pemodelan tunggal yang umum dan digunakan secara luas oleh para pengguna ketiga metode tersebut dan bahkan para pengguna metode lainnya. B. UML menekankan pada apa yang dapat dikerjakan dengan metode-meode tersebut. C. UML berfokus pada suatu bahasa pemodelan standar, bahkan pada proses standar. Meskipun UML harus diaplikasikan dalam konteks sebuah proses, dari pengalaman, bahwa organisasi dan masalah yang berbeda juga memerlukan proses yang berbeda pula. Diagram UML yang akan dibahas pada bab ini adalah Use Case diagram, Activity diagram, Sequence diagram, Class diagram. 29 2.8.2 Use Case Diagram Use Case diagram adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case diagram mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan (Fowler, 2005:141). Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem yang ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana. Sebuah use case diagram merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar belanja, dan sebagainya. Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun persyaratan (requirement) sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case diagram dapat memasukkan fungsionalitas use case diagram lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case diagram yang dimasukkan akan dipanggil setiap kali use case diagram yang memasukkan dieksekusi secara normal. Sebuah use case diagram dapat dimasukkan oleh lebih dari satu use case diagram lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum (common). 30 Sebuah use case diagram juga dapat memperluas use case diagram lain dengan aktivitasnya (behaviour) sendiri. Sementara hubungan generalisasi antar use case diagram menunjukkan bahwa use case diagram yang satu merupakan spesialisasi dari yang lain. Tabel 2.2 adalah notasi use case diagram dan Gambar 2.11 adalah contoh use case diagram. Tabel 2.2 Notasi Use Case Diagram (Fowler, 2005:141) Notasi Deskripsi Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna. Pelkau ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. Contoh: Manager, pelanggan, dan laib-lain. Use case digubakan unutk menggambarkan spesifikasi pekerjaan (job specification) dan deskripsi pekerjaan (job decription), serta keterkaitan antar pekerjaan (job). Contoh: pesan barang, menutup pintu, dan lin-lain. Aliran proses (relationship), digunakan untuk menggambarkan hubungan antara usecase dengan usecase lainnya. -------------------> Aliran perpanjangan (extension points), digunakan untuk menggambarkan hubungan antara usecase dengan use case yang diperpanjangkan (extended use case) maupun dengan use case yang dimasukkan (included use case). Aliran yang digunakan untuk menggambarkan hubungan antara actor dengan usecase. <<extended>> <<include>> <<has>> Kondisi yang mendeskripsikan apa yang terjadi antara use case denagn use case yang diperpanjang. Include adalah kondisi aliran proses langsung (directed relationship) antara dua usecasae yang secara tak langsung menyatakan kelakuan (behaviour) dari use case yang dimasukkan. Adalah kondisi yang mendeskripsikan apa yangterjadi antara actor dengan use case. 31 Gambar 2.11 Contoh Use Case Diagram (Fowler, 2005:142) Catat Booking <<include>> Reseptionis Tampilkan Booking Gambar 2.12 Contoh Use Case Diagram (Munawar, 2005) 2.8.3 Activity Diagram Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan prinsip antara diagram ini dan notasi diagram alir adalah diagram ini mendukung behavior paralel (Fowler, 2005). Diagram aktifitas memungkinkan siapapun yang melakukan proses untuk memilih urutan dalam melakukannya. Dengan kata lain, diagram hanya menyebutkan 32 aturan-aturann rangkaian dasar yang harus diikuti. Hal ini penting untuk pemodelan bisnis karena proses-proses sering muncul secara paralel. Ini juga berguna pada algoritma yang bersamaan, di mana urutan-urutan independen dapat melakukan hal-hal secara paralel. Simbol Keterangan Titik awal Titik akhir Aktifitas Pilihan untuk pengambilan keputusan Fork: digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu Rake: menunjukkan adanya dekomposisi Tanda waktu Tanda pengiriman Tanda Penerimaan Aliran akhir (Flow Final) Tabel 2.3 Notasi Activity Diagram (Munawar, 2005) 33 Gambar 2.13 Contoh Activity Diagram (Fowler, 2005) 2.8.4 Sequence Diagram Sebuah sequence diagram secara khusus menjabarkan aktivitas sebuah skenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek didalam use case diagram (Fowler, 2005:81). Sequence diagram menunjukkan interaksi dengan menampilkan partisipan dengan garis alir secara vertikal dan pengurutan pesan dari atas ke bawah. 34 Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian (event) untuk menghasilkan output tertentu. Masing-masing objek termasuk aktor memiliki lifeline vertikal. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Notasi sequence diagram pada Tabel 2.4 dan contoh Sequence diagram pada Gambar 2.14 Tabel 2.4 Notasi Sequence Diagram (Fowler, 2005:81) No 1 Notasi Keterangan Frame, digunakan untuk menggambarkan sebuah interaksi. 2 Lifeline, digunakan untuk mempresentasikan sebuah individu dalam interaksi dan hanya sebuah entitas interaksi. 3 Execution Specification, digunakan untuk mengambarkan spesifikasi dari sebuah unit kelakuan atau aksi antar lifeline. 4 1: message Pesan (message), digunakan untuk mendeskripsikan pesan yang ada antar lifeline. 5 Lost Message, digunakan untuk menggambarkan sebuah pesan yang mendefinisikan komunikasi particular antara lifelines dalam interaksi lifeline n+1 ke lifeline n. 6 Found Message, digunakan untuk menggambarkan sebuah pesan yang mendefinisikan komunikasi particular antara lifelines dalam interaksi lifeline n ke lifeline n+1. 7 Objek, digunakan untuk menggambarkan pelaku atau pengguna dalam usecase. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. 8 Aktor, digunakan untuk menggambarkan pelaku atau pengguna dalam use case. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. 35 Gambar 2.14 Contoh Sequence Diagram (Fowler, 2005:81) 2.9 Pengertian Rich Site Summary (RSS) Feed RSS (Rich Site Summary) adalah portal konten bahasa. RSS adalah format sindikasi ringan dan sebuah sistem konten sindikasi serta kerangka kerja sindikasi metadata. Dalam keberadaan singkat tersebut, RSS telah mengalami hanya satu revisi, tetapi itu tidak menghentikan adopsi sebagai salah satu situs web yang paling banyak digunakan aplikasi XML sampai saat ini. Format RSS popularitas dan utilitas sekarang telah menggunakan skenario yang lebih banyak. (Dornfest, 2000). 36 2.9.1 Sejarah Rich Site Summary (RSS) RSS v0.9 berdiri pada saat Resource Description Framework (RDF) Site Summary diperkenalkan pada tahun 1999 oleh Netscape sebagai kerangka deskripsi untuk My Netscape Network (MNN) portal. Sedangkan konsep itu sendiri baik untuk menampilkan konten, konten-mekanisme pengumpulan Netscape yang baru. Aplikasi XML sederhana ini membentuk hubungan yang saling menguntungkan antara Netscape, penyedia konten, dan pengguna akhir. Dengan menyediakan sederhana snapshot dalam sebuah dokumen, web situs produsen yang diperoleh pengguna layanan dan juga melalui kehadiran kontennya di My Netscape. Pengguna akhir punya satu tempat pemberhentian untuk membaca, lokasi terpusat di mana isi dari situs web favorit mereka mengalir bukan hanya aliran konten saja tapi ke portal konten gratis. (Dornfest, 2000)