BAB II LANDASAN TEORI 2.1 Ucer Centered Design (UCD) User merupakan objek yang penting di dalam pengembangan dan pembanngun sistem. Pada saat user berinteraksi dengan sistem user harus merasa sesuai dengan pengalaman yang pernah dirasakan pada saat berinteraksi dengan sistem yang lain. User harus merasa puas dengan informasi yang disediakan oleh sistem dan merasa nyaman saat berinteraksi dengan sisitem. UCD (User Centered Design) adalah filosofi perancangan yang menempatkan pengguna sebagai pusat dari proses pengembangan sistem. Pendekatan UCD telah didukung berbagai teknik, metode, interaktif
,
prosedur dan proses yang membantu perancangan sistem
yang lebih berpusat pada pengguna. Sasaran UCD adalah lebih dari sekedar
membuat produk yang berguna. 2.1.1 Prinsip User Centered Design Prinsip yang harus diperhatikan dalam (User Centered Design) adalah sebagai berikut: 1. Fokus pada pengguna 2. Perancangan terintegrasi 3. Dari awal berlanjut pada pengujian pengguna 4. Perancangan interaktif UCD (User Centered Design) adalah tentang partisipasi dan pengalaman manusia dalam proses perancangan. Pengguna adalah orang yang akan menggunakan sistem. Pengguna langsung biasa di sebut pengguna akhir (end user) yang menggunakan sistem untuk
9
menyelesaikan
pekerjaannya.
Pengguna
tidak
langsung
adalah
pengguna
yang
menggunakan sistem untuk penggunaan yang lain. 2.1.2 Aturan dalam Ucer Centered Design a. Perspektif Pengguna selalu benar, jika terdapat masalah dalam memggunakan sistem, maka masalah ada pada sistem dan bukan pengguna. b. Installasi diberikan cara-cara dalam menginstal perangkat lunak secara mudah. c. Pemenuhan Pengguna mempunyai hak untuk mendapatkan sistem dapat bekerja persis seperti yang diinginkan. d. Instruksi Pengguna mempunyai hak untuk dapat menggunakan secara mudah (buku petunjuk atau bantuan secara online). e. Kontrol Pengguna mempunyai hak untuk dapat mengontrol sistem dan mampu membuat sistem menggapai dengan benar atas permintaan yang diberikan. f. Umpan Balik Pengguna mempunyai hak terdapat sistem untuk menyediakan informasi yang jelas, dapat dimengerti dan akurat. Pengguna mempunyai hak untuk mengetahui batasan kemampuan sistem. g. Batasan pengguna mempunyai hak untuk mengetaui batasan kemampuan sistem. h. Assistance pengguna mempunyai hak untuk dapat berkomunikasi dengan penyediaan teknologi dan menerima pemikiran dan tanggapan yang membantu jika diperlukan. i. Usability pengguna harus dapat menjadi penguasa teknologi perangkat lunak dan perangkat keras dan bukan sebaliknya.
10
2.1.3 User Centered Design Menurut International Organization for Standardization (ISO:13407). ISO 13407 Human Centered Design Process menggambarkan suatu proses umum untuk kegiatan yang berpusat pada manusia di siklus pengembangan. ISO 13407 Manusia yang berpusat pada proses desain untuk sistem interaktif. Berikut dijelaskan pada gambar 2.1 Proses UCD Berdasarkan ISO.
Gambar 2.1 Proses UCD Berdasarkan ISO 13407:1999
Keterangan gambar: 1. Memahami dan menentukan konteks pengguna 2. Menentukan kebutuhan pengguna dan organisasi 3. Solusi perancangan yang dihasilkan 4. Evaluasi perancangan terhadap kebutuhan pengguna 2.1.4 Tahapan dalam Ucer Centered Design Adapun tahapan yang dilakukan pada ucer centered design dijelaskan sebagai berikut: 1. Memahami kebutuhan user. 11
2. Mendeskripsikan kebutuhan user. 3. Merancang prototype sebagai alternatif. 4. Mengevaluasi perancangan. 2.1.5 Karakteristik dalam proses Ucer Centered Design Dalam Ucer centered design memiliki karakteristik yang sangat menunjang pada penelitian. Diantaranya sebagai berikut: 1. Memahami user dan kebutuhannya. 2. Fokus pada user pada tahap awal desain dan mengevaluasi hasil desain. 3. Mengidentifikasi, membuat dokumentasi dan menyetujui kegunaan dan tujuan pengalaman user. 4. Perulangan hampir dapat dipastikan. Para perancang tidak pernah berhasil hanya dalam satu kali proses. 2.2 Forum Internet Forum internet merupakan fasilitas yang tersedia di internet, dimana pengguna dapat berdiskusi dengan cara mengirimkan pesan dan menjawab pesan. Forum internet yang pada awal mulanya dikenal dengan istilah Computerized Bulletin Board System (CBBS) diciptakan oleh Ward Christen pada tahun 1978 terus berkembang. Hal ini ditandai dengan munculnya Mailing list atau yang dikenal dengan istilah Milis pada tahun 1980-an. Setelah milis, forum berkembang dengan mengandalkan beberapa bahasa pemrograman seperti php, asp, java dan lainnya (IslandScript, 2009). Dalam sebuah forum terdapat tingkatan yang dibentuk untuk kelancaran jalannya forum itu sendiri. Sama seperti forum yang sebenarnya, forum dunia maya juga memiliki
12
tingkatan tersendiri. Secara umum tingkatannya antara lain administrator, moderator dan anggota. Administrator, memiliki wewenang yang paling tinggi karena bisa memantau forum secara menyeluruh. Seorang admin bertanggung jawab atas sistem yang berjalan baik desain luar forum, maupun menyangkut internal forum seperti mengangkat moderator, memecat dan wewenang lainnya. Moderator, bisa dikatakan perpanjangan tangan dari administrator. seorang moderator bertanggung jawab atas kenyamanan semua anggota pada topik yang ditangani. moderator memiliki kebijakan untuk mengawasi jalannya topik, menegur anggota yang melakukan kesalahan. Anggota, anggota dapat memulai sebuah topik dan memiliki wewenang terbatas. Seorang anggota forum dapat berpartisipasi pada forum dengan memberikan komentar. Anggota juga dapat membuat topik dan menghapus topik yang ditulis ( IslandScript, 2009). 2.3 Metode Prototype Prototyping adalah proses pembuatan model sederhana software yang mengijinkan pengguna memiliki gambaran dasar tentang program serta melakukan pengujian awal. Prototyping memberikan fasilitas bagi pengembang dan pemakai untuk saling berinteraksi selama proses pembuatan sehingga pengembang dapat dengan mudah memodelkan perangkat lunak yang akan dibuat. Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan (Pressman, 2002). Alur dari metode prototype dijelaskan pada gambar 2.2 metode Prototyping.
13
Gambar 2.2 metode Prototyping
Berikut penjelasan dari model Prototyping pada gambar diatas : 1. Listen to customer atau pengumpulan kebutuhan: developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. 2. Build to mockup yang mengimplementasikan beberapa bagian fungsi dari perangkat lunak yang sesungguhnya. Dengan cara ini pemakai akan lebih mendapatkan gambaran tentang program yang akan dihasilkan, sehingga dapat menjabarkan lebih rinci kebutuhannya. 3. Customer test drives mockup klien mengevaluasi dari prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software menggunakan perangkat lunak yang sudah ada.
14
2.3.1 Proses tahapan metode prototyping 1. Pengumpulan kebutuhan: developer dan klien bertemu dan menentukan tujuan umum kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya; 2. Perancangan: perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype; 3. Evaluasi Prototype: klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software. 2.4 Unified Modeling Language (UML) UML singkatan dari Unified Modeling Language yang berarti bahasan pemodelan standar. (Choneles, 2003) mengatakan sebagai bahasa, berarti UML memiliki sintaks dan semantik. UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk: 1. Merancang perangkat lunak. 2. Sararna komunikasi antara perangkat lunak dengan proses bisnis. 3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem. 4. Mendokumentasi sistem yang ada, proses-proses dan organisasinya. UML telah diaplikasikan dalam bidang investasi berbankan, lembaga kesehatan, departemen pertahanan, sistem terdistribusi, sistem pendukung alat kerja, retail, sales dan supplier.
15
Blok pembangun utama UML adalah diagram. Beberapa diagram ada yang rinci dan lainnya ada yang bersifat umun (misalnya diagram kelas). Para pengembang sistem berorientasi objek menggunakan bahasa model untuk menggambarkan, membangun dan mendokumentasikan sistem yang mereka rancang. UML merupakan alat komunikasi yang konsisten dalam mensuport para pengembang sistem saat ini.
2.4.1 Evolusi UML Para pengmbang bahasa pemrograman berorientasi objek sulit untuk berkomunikasi satu sama lain. Ada kira-kira 50 jenis notasi dan grafik yang menggambarkan bahasa pemrograman berorientasi objek pada waktu itu. Para pengguna notasi yang berlainan ini saling berebut pengaruh agar notasi yang digunakan menjadi notasi standar. Walaupun dijumpai beberapa notasi yang cukup jelas dan sangat cocok untuk penyelesaian pembuatan perangkat lunak, tetapi belum diakui oleh pengembang sistem yang lain Chonoles (2003). Pada bulan oktober 1994, Jim Rumbaugh, penemu notasi Object Modelling Technique (OMT) dan Grady Booch, penemu Booch Method bersama-sama menyamakan notasi mereka. Ditahun yang sama, Ivar Jacobson (penemu Objectory Method) ikut bergabung. Ketiga pengembang UML tersebut mengalami kesulitan akibat kompleksnya permasalahan OOP yang ada, namun mereka dibantu oleh Object Management Group (OMG). OMG adalah gabungan dari kurang lebih 800 perusahaan pengembang perangkat lunak berorientasi objek. Setelah perdebatan sengit cukup lama, consensus tentang notasi berhasil dicapai dengan sukses pada bulan November 1997 berkat bantuan OMG. 16
Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented. Metode ini menjadikan proses analisis dan design ke dalam empat tahapan interatif, yaitu : identifikasi kelas-kelas dan objek-objek, identifikasi semantik dari hubungan objek dan kelas tersebut, perincian interface dan implementasi. Berikut penjelasan metodologi UML yang akan dibahas pada gambar 2.3 metodologi UML
Gambar 2. 3 Metodologi dalam UML Sejak tahun 1997, divisi Revision Task Force (RTF) milk OMG beberapa kali merevisi UML. Revisi dimaksudkan untuk memperkuat konsistensi notasi, meningkatkan kekompakan antar user dan pengembang perangkat lunak. Akan tetapi UML terpaksa mengikuti perkembangan software-software berbasis objek yang ada (misalnya Java) dari sisi pendekatan komponen (Componen-based development) dan kemampuan tools software-software tersebut. Setelah dilakukan perubahan secara sistematik, akhirnya dihasilkan UML 2.0 pada tahun 2003. 2.4.2 Diagram-Diagram UML
17
Beberapa litelatur menyebutkan bahwa UML menyediakan Sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misalnya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi. Namun demikian model-model itu dapat dikelompokan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain: 1. Diagram kelas bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. 2. Diagram paket (Package Diagram). Bersifat statis. Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen. 3. Diagram Use-Case bersifat statis. Diagram ini memperlihatkan himpunan use-case dan faktor- faktor. Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan prilaku suatu sistem yang dibutuhkan serta diharapkan pengguna. 4. Diagram interaksi dan sequence (urutan). Bersifat dinamis. Diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. 5. Diagram komunikasi (Communication Diagram). Bersifat dinamis. Diagram sebagai pengganti diagram kolaborasi UML 1.4 yang menekankan organisasi dari objek-objek yang menerima serta mengirim pesan.
18
6. Diagram Statechart bersifat dinamis. Diagram status memperlihatkan keadaan- keadaan pada sistem, memuat status (state), transisi, kejadian serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka (interface). 7. Diagram aktivitas (Activity Diagram) bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram statusyang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsifungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek. 8. Diagram komponen bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan perangkat lunak pada komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan kedalam satu atau lebih kelas-kelas, antarmuka-antarmuka serta kolaborasi-kolaborasi. 9. Diagram Deployment bersifat statis. Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan. Memuat simpul-simpul serta beserta komponen-komponen yang ada didalamnya. Diagram deployment berhubungan erat dengan diagram komponen dimana diagram ini memuat satu atau lebih komponen-komponen. Diagram ini sangat berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak mesin. Kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai dengan kebutuhan. Pada diagram UML dimungkinkan kita menggunakan diagram-diagram lainnya. 2.4.3 Notasi UML
19
Terdapat beberapa notasi pada UML yang digunakan untuk menggambarkan proses dalam pembangunan sistem, diantaranya : A. Aktor Aktor menggambarkan segala pengguna software aplikasi (user). Aktor memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software aplikasi. Sebagai contoh sebuah Aktor dapat memberikan input kedalam dan menerima informasi dari software aplikasi, perlu dicatat bahwa sebuah Aktor berinteraksi dengan usecase, tetapi tidak memiliki kontrol atas usecase. Sebuah Aktor mungkin seorang manusia, satu device, hardware atau sistem informasi lainnya. Berikut notasi aktor digambarkan pada simbol 2.1 notasi aktor .
Simbol 2. 1 Notasi Aktor B. Usecase Usecase menjelaskan urutan kegiatan yang dilakukan aktor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan, namun usecase hanya menjelaskan apa yang dilakukan oleh aktor dan sistem bukan bagaimana aktor dan sistem melakukan kegiatan tersebut. Untuk menggambarkannya dalam usecase model biasanya digunakan association relationship yang memiliki stereotype include, extend atau generalization relationship. Hubungan include menggambarkan bahwa suatu usecase seluruhnya meliputi fungsionalitas dari usecase lainnya. Hubungan extend antar usecase berarti bahwa satu
20
usecase merupakan tambahan fungsionalitas dari usecase yang lain jika kondisi atau syarat tertentu terpenuhi. Simbol usecase digambarkan pada simbol 2.2 notasi usecase.
Simbol 2. 2 Notasi Usecase C. Interface Interface merupakan kumpulan operasi tanpa implementasi dari suatu class. Implementasi operasi dalam interface dijabarkan oleh operasi didalam class. Oleh karena itu keberadaan interface selalu disertai oleh class yang mengimplementasikan operasinya. Interface ini merupakan salah satu cara mewujudkan prinsip enkapsulasi dalam objek. Berikut dijelaskan pada simbol 2.3 notasi interface.
Simbol 2. 3 Notasi Interface D. Interaction Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar objek maupun hubungan antar objek. Biasanya interaction ini dilengkapi juga dengan teks bernama operation signature yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan. Berikut dijelaskan pada simbol 2.4 notasi interaction.
Simbol 2. 4 Notasi interaction E. Dependency 21
Dependency merupakan relasi yang menunjukan bahwa perubahan pada salah satu elemen memberi pengaruh pada elemen lain. Elemen yang ada di bagian tanda panah adalah elemen yang tergantung pada elemen yang ada dibagian tanpa tanda panah. Berikut dijelaskan pada simbol 2.5 notasi Dependency.
Simbol 2. 5 Notasi Dependency F. Association Association menggambarkan navigasi antar class (navigation), berapa banyak objek lain yang bisa berhubungan dengan satu objek (multiplicity antar class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation). Berikut dijelaskan pada simbol 2.6 notasi Association.
Simbol 2. 6 Notasi Association G. Generalization Generalization menunjukkan hubungan antara elemen yang lebih umum ke elemen yang lebih spesifik. Dengan generalization, class yang lebih spesifik (subclass) akan menurunkan atribut dan operasi dari class yang lebih umum (superclass) atau “subclass is superclass”. Dengan menggunakan notasi generalization ini, konsep inheritance dari prinsip hirarki dapat dimodelkan. Berikut dijelaskan pada simbol 2.7 notasi generalization.
Simbol 2. 7 Notasi generalization H. Realization 22
Realization menunjukkan hubungan bahwa elemen yang ada di bagian tanpa panah akan merealisasikan apa yang dinyatakan oleh elemen yang ada di bagian dengan panah. Misalnya class merealisasikan package, component merealisasikan class atau interface. Berikut dijelaskan pada simbol 2.8 notasi Realization.
Simbol 2. 8 Notasi Realization 2.4.4 Diagram Model A. Activity Diagram Activity Diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Berikut adalah simbol-simbol yang sering digunakan pada saat pembuatan activity diagram. Dijelaskan pada simbol 2.9 notasi activity.
Activity
Simbol 2. 9 Notasi activity Activity menggambarkan sebuah pekerjaan/tugas dalam workflow. Pada UML, activity digambarkan dengan simbol “lozenge”(horizontal top and bottom with convex sides).
Start state
23
Start state dengan tegas menunjukkan dimulainya suatu workflow pada sebuah activity diagram. Hanya ada satu start state dalam sebuah workflow. Pada UML, start state digambarkan pada simbol 2.10 notasi Start state dengan simbol lingkaran yang solid.
Simbol 2. 10 Notasi Start state End State End state menggambarkan akhir atau terminal dari sebuah activity diagram. Bisa terdapat lebih dari satu end state pada sebuah activity diagram. Pada UML, end state digambarkan pada simbol 2.11 notasi End state dengan simbol bull’s eye.
Simbol 2. 11 Notasi End state
State Transitions State transition menunjukkan kegiatan apa berikutnya setelah suatu kegiatan
sebelumnya. Pada UML, statetransition digambarkan pada simbol 2.12 notasi State Transitions dengan sebuah solid line dengan panah.
Simbol 2. 12 Notasi State transition
Decisions Decision adalah suatu titik/point pada activitydiagram yang mengindikasikan suatu kondisi
dimana ada kemungkinan perbedaan transisi. Pada UML, decision digambarkan pada simbol 2.13 notasi Decisions dengan sebuah simbol diamond.
24
Simbol 2.13 Notasi Decision B. Usecase Diagram Usecase adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Usecase bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem yang dipakai. Berikut adalah simbol-simbol yang sering digunakan pada saat pembuatan activity diagram (Martin, 2005).
Aktor Actor menggambarkan segala pengguna software aplikasi (user). Actor memberikan
suatu gambaran jelas tentang apa yang harus dikerjakan software aplikasi. Sebagai contoh sebuah actor dapat memberikan input kedalam dan menerima informasi dari software aplikasi, perlu dicatat bahwa sebuah actor berinteraksi dengan usecase, tetapi tidak memiliki kontrol atas usecase. Sebuah actor mungkin seorang manusia, satu device, hardware atau sistem informasi lainnya. Berikut simbol aktor dijelaskan pada simbol 2.14 notasi aktor.
Simbol 2. 14 Notasi Aktor
Usecase
25
Usecase menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelesakan kegiatan, namun usecase hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan bagaimana aktor dan sistem melakukan kegiatan tersebut. Berikut simbol usecase dijelaskan pada simbol 2.15 notasi UseCase.
Simbol 2. 15 Notasi Usecase
Interaction Interaction digunakan untuk menunjukkan baik aliran pesan atau informasi antar
objek maupun hubungan antar objek. Biasanya interaction ini dilengkapi juga dengan teks bernama operationsignature yang tersusun dari nama operasi, parameter yang dikirim dan tipe parameter yang dikembalikan. Berikut simbol Interaction dijelaskan pada simbol 2.16 notasi Interaction.
Simbol 2. 16 Notasi Interaction Association Association menggambarkan navigasi antar class (navigation), berapa banyak objek yang bisa berhubungan dengan satu objek (multiplicity antar class) dan apakah suatu class menjadi bagian dari class lainnya (aggregation). Berikut simbol Association dijelaskan pada simbol 2.17 notasi Association. . Simbol 2. 17 Notasi Association Include
26
Hubungan include menggambarkan suatu usecase seluruhnya meliputi kegunaan usecase lainnya. Sebuah usecase dapat meng-include fungsionalitas usecase lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa usecase yang diinclude secara normal. Sebuah usecase dapat diinclude oleh lebih dari usecase lain, sehingga duplikasi fungsionalitas dapat dihindari. Berikut simbol Include dijelaskan pada simbol 2.18 notasi Include
Simbol 2. 18 Notasi Include
Extend Hubungan extend antar usecase berarti bahwa suatu usecase merupakan tambahan
kegunaan dari usecase yang lain jika kondisi atau syarat tertentu dipenuhi. Jika prosedur dari usecase merupakan interaktif untuk menjelaskan usecase lain. Usecase akan dikerjakan apabila salah satu syarat terpenuhi. Berikut simbol Extend dijelaskan pada simbol 2.19 notasi Extend. <<extend>>
Simbol 2. 19 Notasi Extend C. Sequence Diagram Interaction diagram menunjukan bagaimana kelompok-kelompok objek saling berkolaborasi dalam beberapa behaviour. UML memiliki beberapa bentuk intreraction diagram dan yang paling umum digunakan adalah sequence diagram. Sebuah sequence diagram, secara khusus, menjabarkan behavior sebuah skenario tunggal. Diagram tersebut menunjukan sebuah objek contoh dan pesan-pesan yang melewati objek-objek ini di dalam usecase. 27
Diagram ini menjelaskan bagaimana objek berinteraksi dengan lainnya dengan cara mengirim dan menerima pesan (Martin, 2005).
Object Menunjukkan objek yang terdapat didiagram Sequence. Berikut simbol Object
dijelaskan pada simbol 2.20 Notasi object
Simbol 2. 20 Notasi Object
Object Message Menunjukkan pesan yang disampaikan ke objek lain dalam diagram Sequence.
Berikut simbol Object Message dijelaskan pada simbol 2.21 Notasi object Message.
Simbol 2. 21 Notasi Object Message D. Class Diagram Diagram kelas merupakan diagram paling umum dipakai di semua pemodelan berorientasi objek. Pemodelan kelas menunjukan kelas-kelas yang ada disistem dan hubungan antar kelas-kelas itu, atribut-atribut dan operasi pada kelas-kelas. Elemen-elemen diagram kelas sebagai berikut : 1. Kelas Kelas merupakan elemen terpenting pada sistem berorientasi objek yang mendeskripsikan satu blok pembangun sistem. Kelas yang baik yaitu: a) Memberikan abstraksi tajam mengenai sesuatu yang diperoleh dari permasalahan dan solusi.
28
b) Berisi sekumpulan tanggung jawab yang terdefinisi bagus dan kecil serta dapat dilaksanakan dengan baik. c) Menyediakan pemisah yang jelas antara spesifikasi dan implementasi abstraksi. d) Mudah dipahami dan sederhana sekaligus mudah diperluas dan diadaptasi. Berikut simbol kelas dijelaskan pada simbol 2.22 Class diagram.
Simbol 2. 22 Class Diagram
2. Antarmuka (Interface) Antarmuka (interface) merupakan koleksi operasi yang mendefinisikan layanan dari suatu kelas atau komponen. Antarmuka mendeskripsikan tampak secara eksternal dari elemen. 3. Kolaborasi Kolaborasi merupakan pendefinisian suatu interaksi dan sekelompok peran dan elemen-elemen lain yang bekerja untuk menyediakan suatu perilaku kooperatif yang lebih besar dari penjumlahan seluruh elemen. 4. Hubungan Hubungan antar kelas kelas beraneka ragam, diantaranya: a) Asosiasi 29
Asosiasi merupakan hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. b)
Pewarisan dan generalisasi Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain
dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. c)
Agregasi Agregasi, adalah versi yang kuat dari asosiasi, agregasi mengimplikasikan
kepemilikan suatu class. Agregasi bisa dibaca ”memiliki”. Misal kita memiliki class window yang memiliki posisi dan ukuran pada class rectangle, maka kita katakan ” window memiliki rectangle”. Walau pun rectangle bisa saja di share dengan class lain, tetapi window memiliki hubungan erat dengan rectangle. Tetapi hubungan agregasi masih kalah kuat dengan dengan komposisi (Composition). d)
Dependency Dependency merupakan relasi yang menunjukkan bahwa perubahan pada salah satu
elemen memberi pengaruh pada elemen lain. Terdapat stereotype dari dependency, yaitu Include dan Extend. Include menunjukkan bahwa suatu bagian dari elemen (yang ada digaris tanpa panah) memicu eksekusi bagian dari elemen lain (yang ada digaris dengan panah). Extend menunjukkan bahwa suatu bagian dari elemen di garis tanpa panah bisa disisipkan ke dalam elemen yang ada di garis dengan panah.
30
2.5
Bahasa Pemrograman Bahasa pemograman yang dipakai dalam pembuatan aplikasi ini adalah PHP, HTML,
CSS, dan JavaScript. 2.5.1 PHP PHP singkatan dari Php Hypertext Preprocessor yang digunakan sebagai bahasa script server-side dalam pengembangan website yang disisipkan pada dokumen HTML (kadir, 2008) . PHP mengijinkan pengembang untuk menempelkan kode didalam HTML dengan menggunakan bahasa yang sama, seperti Perl dan UNIX shells. Objek sumber tersusun sebagai halaman HTML, tetapi dengan generasi konten dinamis. 2.5.2 Hypertext Markup Language (HTML) HTML singkatan dari Hyper Text Markup Language adalah bahasa tampilan yang berfungsi untuk menampilkan halaman website yang diakses melalui browser. Isi dari HTML merupakan dokumen, yang disajikan dalam browser. dokumen ini umumya berisi informasi atau interface aplikasi didalam internet (Husni, 2012). HTML digunakan oleh semua pembuat halaman website karena bersifat sederhana dan terbuka. HTML tidak tergantung pada perangkat lunak atau perangkat keras tertentu untuk membuat atau menjalankannya. 2.5.3 Cascading Style Sheet (CSS) CSS (Cascading Style Sheet) adalah suatu cara untuk mengontrol tampilan dari dokumen HTML anda dengan efisien dan terorganisir (komang, 2008). Css memiliki fungsi mengatur tampilan dari halaman website yang akan dibuat. Dengan menggunakan css, maka 31
halaman website dapat memiliki tampilan yang sesuai dengan yang dikehendaki dan format penulisannya pun cukup mudah. Style Sheet relatif baru pada website. Internet Explorer 3.0 keluaran Microsoft adalah website browser pertama yang mendukung Style Sheet. Implementasi Style Sheet pada Internet Explorer 3.0 berdasarkan pada draft World Wide Website Consortium (W3C) yang berjudul “Cascading Style Sheets, level 1 diterbitkan pada bulan Mei 1996, Netscape juga telah mengindikasikan bahwa mereka akan mendukung Style Sheet pada versi-versi terbaru browser nya. Browser yang tidak mendukung Style Sheet menampilkan halaman website berdasarkan spesifikasi default browser tersebut. 2.5.4 JavaScript Javascript interaktivitas
pada
adalah
bahasa
halaman
pemrograman
website.
Kerap
yang kali
membolehkan javascript
penambahan
dianggap
sebagai
“scriptinglanguage”, dengan maksud entah bagaimana lebih mudah untuk membuat script dari pada memprogram (Negrino, 2006). Javascript merupakan modifikasi dari bahasa C++ dengan pola penulisan yang lebih sederhana. Interpreter bahasa ini sudah disediakan asp ataupun internet explorer. Secara khusus beberapa yang penting dalam javascript adalah: 1) Menggunakan blok awal “{” dan blok akhir “}”. 2) Automatic conversion dalam pengoprasian tipe data yang berbeda. 3) Sensitive case, segingga programmer java harus ekstra hati-hati dalam menggunakan nama variable, fungsi dan lain-lain.
32
4) Extention umumnya menggunakan “*.js”. 5) Setiap statement dapat diakhiri dengan “;” sebagaimana halnya C++ tetapi dapat juga tidak. 6) Jika tidak didukung oleh browser versi lama, scriptnya dapat disembunyian diantara tag “”. 7) Jika program dalam satu baris terlalu panjang dapat disambung ke baris berikut dengan karakter “\”. 2.6 Framework Framework adalah koleksi atau kumpulan potongan-potongan program yang disusun atau diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk membantu membuat aplikasi utuh tanpa harus membuat semua kodenya dari awal. (Basuki, 2010). Macam-macam framework PHP, diantaranya : CodeIgniter,YII, Zend Framework, Cake PHP, Trax, Symfony, dan sebagainya. 2.6.1 Selayang Pandang YII YII adalah kerangka kerja PHP berbasis-komponen dengan performansi tinggi untuk pengembangan aplikasi website berskala-besar. Ia menyediakan resuabilitas maksimum dalam pemrograman website dan bisa mengakselerasi proses pengembangan secara signifikan. Nama Yii (dieja sebagai /i:/) singkatan dari easy, efficient dan extensible (mudah, efisien, dan bisa diperluas) (Guide, 2010) YII adalah Seperti kebanyakan PHP framework, melampaui PHP framework lain dalam hal efisiensi, kaya fitur, dan didokumentasikan dengan jelas. Yii didesain dengan hati33
hati dari awal agar sesuai untuk pengembangan aplikasi website secara serius. Yii bukan berasal dari produk pada beberapa proyek maupun konglomerasi pekerjaan pihak ketiga. Yii adalah hasil dari pengalaman para pembuat pada pengembangan aplikasi website dan investigasi serta refleksi kerangka kerja pemrograman website paling popular. 2.6.2
Konsep Model - View - Controller (MVC) Yii mengimplementasikan pola desain model-view-controller (MVC), yang diadopsi
secara luas dalam pemrograman website. MVC bertujuan untuk memisahkan logika bisnis dari pertimbangan antar muka pengguna agar para pengembang bisa lebih mudah mengubah setiap bagian tanpa mempengaruhi yang lain. Dalam MVC, model menggambarkan informasi (data) dan aturan bisnis, view(tampilan) berisi elemen antar muka pengguna seperti teks, input form, sementara controller mengatur komunikasi antar model dan view. Selain implementasi MVC, yii juga memperkenalkan front-controller (controllerdepan) yang disebut aplikasi, yang mengenkapsulasi konteks eksekusi untuk memproses sebuah request. Aplikasi mengumpulkan beberapa informasi mengenai request pengguna dan kemudian mengirimnya ke controller yang sesuai untuk penanganan selanjutnya. Diagram berikut memperlihatkan struktur statis sebuah aplikasi Yii. Dijelaskan pada gambar 2.4 struktur statis aplikasi yii.
Gambar 2. 4 Struktur statis aplikasi YII 34
2.6.3 Alur kerja Umum Diagram berikut memperlihatkan alur kerja umum sebuah aplikasi Yii saat menangani permintaan pengguna. Dijelaskan pada gambar 2.5 alur kerja umum aplikasi yii.
Gambar 2.5 Alur kerja umum aplikasi Yii 2.7 Basis data Basis data terdiri dari dua kata, basis dan data. Basis dapat diartikan sebagai markas, gudang atau tempat berkumpul. Sedangkan data adalah repesentasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli dan lain-lain), barang dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasi lainnya. Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang (Fatansyah, 2007). 1). Himpunan kelompok data (arsip) saling berhubungan yang diorganisasikan 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 (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 35
3). Kumpulan file, tabel atau arsip saling berhubungan yang disimpan dalam media penyimpanan elektronis. Jadi dapat disimpulkan bahwa Basis Data merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan, atau bisa diartikan sebagai kumpulan file atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elekronis. 2.7.1 Database Management System (DBMS) Database Management System (DBMS) merupakan perantara bagi pemakai dengan basis data dalam disk. Cara berinteraksi atau berkomunikasi antara pemakai dengan basis data tersebut diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu dapat kita sebut sebagai bahasa basis data yang terdiri atas sejumlah perintah (statement) yang diformulasikan dan dapat diberikan user dan dikenali atau diproses oleh DBMS untuk melakukan suatu aksi atau pekerjaan tertentu. Contoh-contoh bahasa basis data adalah SQL, dBase, QUEL dan sebagainya (Fatansyah,- 2007). 2.7.2 MySQL MySQL merupakan software yang tergolong sebagai DBMS (Database Management Sistem) yang bersifat Open Source. Open Source menyatakan bahwa ini dilengkapi dengan Source Code (kode yang dipakai untuk membuat MySQL), tentu saja bentuk executable-nya atau kode yang dapat dijalankan secara langsung dalam sistem operasi (Kadir, 2009). Sebagai software DBMS, MySQL memiliki sejumlah fitur seperti yang dijelaskan di bawah ini:
36
a.
Multiplatform
b.
MySQL tersedia pada beberapa platform (Windows, Linux, Unix, dan lain-lain)
c.
Handal, cepat, dan mudah digunakan.
d. MySQL tergolong sebagai database server yang handal, dapat menangani database yang besar dengan kecepatan yang tinggi, mendukung banyak sekali fungsi untuk mengakses database, dan sekaligus mudah untuk digunakan. Perlu diketahui MySQL dapat menangani sebuah tabel yang berukuran dalam terabyte ( 1 terabyte = 1024 gigabyte). e.
Jaminan keamanan akses.
f. MySQL mendukung pengamanan database dengan berbagai kriteria pengaksesan. g.
Dukungan SQL
h. Seperti tersirat dalam namanya MySQL mendukung perintah SQL (Structure Query Language). SQL merupakan standar dalam pengaksesan database relasional. 2.8 Bootstrap Bootstrap adalah komponen HTML, CSS, dan JavaScript yang dikembangkan oleh twitter. Kegunaan bootstrap adalah mampu menghadirkan desain yang minimalis namun modern. Salah satu kemampuan bootstrap adalah minim gambar karena memanfaatkan CSS3, namun disisi itu pula kekurangan dari bootstrap, CSS3 yang dikembangkan twitter dan yang lain, belum mampu menghasilkan tampilan yang seragam di berbagai peramban halaman web. Bootstrap merupakan sebuah toolkit yang dikembangkan oleh Twitter buat mempermudah web depelover dalam mendesain tampilan aplikasi. Dengan Bootstrap, developer web bisa menghemat waktu dalam mendesain tampilan aplikasi. Di Bootstrap udah tersedia CSS, HTML dan juga JQuery Plugin untuk typography, forms, buttons, tables, grids, navigation 37
dan berbagai komponen interface lainnya. Bootstrap pertama kali dirilis pada Agustus 2012 dan berlisesni open source. Bootstrap bisa didownload secara gratis di GitHub (http://twitter.github.com/bootstrap/index.html). Saat ini Bootstrap sudah merilis versi 2.0.3. 2.8.1 Kelebihan Bootstrap Kelebihan utama dari bootstrap adalah Responsive Layout dan 12-column grid system. Dengan Responsive Layout maka aplikasi website yang didesain dengan menggunakan Bootstrap akan langsung menyesuaikan dengan lebar dari media perambahnya. Sehingga tampilan website akan tetap rapih dibuka dengan media apapun baik itu handphone, tablet, laptop ataupun PC desktop. Sehingga tampilan tidak akan terganggu dengan resolusi dari layar. Sedangkan 12-column grid system sederhananya adalah Bootstrap akan membagi lebar layar menjadi 12 bagian. Sehingga pembagian kolom perkolom tampilan web akan menjadi
lebih
mudah.
Kelebihan kedua dari bootstrap adalah sifat interaktif . Tujuannya adalah untuk memindahkan sebagian besar interaksi pada computer web surfer melakukan pertukaran data dengan server dibelakang layar, sehingga halam website tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability.
38