BAB 2 LANDASAN TEORI 2.1 Teori-Teori Umum Pada tahap ini dijelaskan beberapa teori umum yang berkaitan dengan penelitian yang dilakukan. Berikut teori-teori yang akan dijelaskan yang berhubungan dengan skripsi ini pada umumnya. 2.1.1 Rekayasa Perangkat Lunak Menurut Sommerville (2011, 7), Rekayasa perangkat lunak adalah suatu disiplin rekayasa yang berkaitan dengan semua aspek produksi perangkat lunak dari tahap awal spesifikasi sistem sampai penggunaan sistem tersebut. Menurut Simarmata (2010, 10-12), rekayasa perangkat lunak adalah sebuah profesi yang berkaitan dengan pemeliharaan dan pembuatan aplikasi perangkat lunak dengan penerapan teknologi dan praktik dari ilmu computer, manajemen proyek, dan bidang-bidang lainnya.Pada tahun 2004, istilah rekayasa perangkat lunak secara umum digunakan dalam tiga arti, yaitu : 1. Sebagai istilah umum untuk berbagai kegiatan yang dulunya bernama pemrograman. 2. Sebagai istilah yang luas untuk analisis teknik dari semua aspek-aspek praktis yang bertentangan dengan teori pemrograman komputer. 3. Sebagai istilah yang mewujudkan advokasi suatu pendekatan spesifik kepemrograman komputer, suatu hal yang mendesak yang diperlakukan sebagai profesi rekayasa daripada sebuah seni atau kerajinan, dan 8 9 advokasi dari kodifikasi praktis yang disarankan dalam bentuk metodologi rekayasa perangkat lunak. 2.1.1.1 Proses Rekayasa Perangkat Lunak Menurut Sommerville (2011, 9), Pendekatan sistematis yang digunakan dalam rekayasa piranti lunak biasa juga disebut dengan proses perangkat lunak. Proses perangkat lunak adalah sebuah aktifitas terurut yang menuju kepada produksi dari pembuatan produk rekayasa piranti lunak. Ada 4 aktifitas umum yang mendasar pada semua proses rekayasa piranti lunak. Aktifitas ini adalah sebagai berikut : 1. Software specification, dimana pengguna dan perekayasa menentukan perangkat lunak yang akan dibuat dan dibatasi pada proyek tersebut. 2. Software development, dimana perangkat lunak tersebut dirancang dan deprogram. 3. Software validation, dimana perangkat lunak di cek apakah sudah memenuhi apa yang dibutuhkan oleh pengguna 4. Software evolution, dimana perangkat lunak diubah,diperbaiki untuk mengatasi perubahan pengguna dan mengikuti perkembangan jaman. 2.1.1.2 Proses Model Rekayasa Perangkat Lunak Menurut Sommerville (2011, 29), proses model perangkat lunak adalah representasi yang disederhanakan dari proses perangkat lunak. setiap proses model merupakan proses dari suatu perspektif tertentu, dan dengan demikian hanya menyediakan informasi parsial 10 tentang proses itu. misalnya, kegiatan proses model menunjukkan kegiatan dan urutan model tetapi mungkin tidak menunjukkan peran orang yang terlibat dalam kegiatan ini. dalam bagian ini, diperkenalkan sejumlah proses model yang sangat umum dan sekarang ini digunakan dari perspektif arsitektural. Yaitu, kita melihat kerangka proses tetapi tidak rincian kegiatan proses. Model-model generik tidak pasti digambarkan pada proses rekayasa perangkat lunak. Melainkan, model-model generik adalah abstraksi dari proses yang dapat digunakan untuk menjelaskan pendekatan yang berbeda pada pengembangan perangkat lunak. Kita dapat menganggap model-model generik sebagai kerangka kerja proses yang dapat diperpanjang dan disesuaikan untuk menciptakan proses rekayasa perangkat lunak yang lebih spesifik. 2.1.1.3 Spesifikasi Perangkat Lunak Menurut Sommerville (2011, 37-38), spesifikasi perangkat lunak adalah proses pemahaman mendefinisikan layanan apa yang diperlukan dari sistem dan mengidentifikasi kendala pada sistem operasi dan pengembangan. Ada empat kegiatan utama dalam spesifikasi perangkat lunak: 1. Perkiraan studi kelayakan terbuat dari identifikasi kebutuhan pengguna yang tidak puas menggunakan perangkat lunak terbaru dan teknologi perangkat keras. 11 2. Persyaratan elisitasi dan analisis ini adalah proses menurunkan persyaratan sistem melalui pengamatan sistem yang ada, diskusi dengan pengguna potensial, analisis tugas, dan sebagainya. 3. Spesifikasi kebutuhan adalah kegiatan menerjemahkan informasi yang dikumpulkan selama kegiatan analisis ke dalam dokumen yang mendefinisikan satu set persyaratan. 4. Persyaratan validasi. kegiatan ini memeriksa persyaratan untuk realisme, konsistensi, dan kelengkapan. 2.1.1.4 Rancangan Perangkat Lunak dan Implementasi Menurut Sommerville (2011, 38-40), Tahap pelaksanaan perancangan perangkat lunak adalah proses mengkonversi spesifikasi sistem ke sistem dieksekusi. Perancangan perangkat lunak melibatkan proses perancangan dan pemrograman tetapi, jika pendekatan inkremental untuk pengembangan yang digunakan, dan juga melibatkan penyempurnaan dari spesifikasi perangkat lunak. Kegiatan dalam proses desain bervariasi, tergantung pada jenis sistem yang dikembangkan. Ada empat kegiatan yang dapat menjadi bagian dari proses perancangan untuk sistem informasi : 1. Architectural design, dimana sub-systems mengidentifikasi struktur keseluruhan sistem, komponen utama, hubungan komponen, dan bagaimana komponen didistribusikan. 2. Abstract specification, setiap sub-systems membuat spesifikasi abstrak dari layanan dan berbagai kendala pengoprasian produksi. 12 3. Interface design, dimana sub-systems menentukan antarmuka antara komponen sistem. 4. Components design, dimana sub-systems mengambil setiap komponen sistem dan bagaimana rancangan tersebut akan beroperasi. 5. Data structure design, dimana sub-systems merancang sistem struktur data dengan rinci dan spesifik. 6. Algorithm design, digunakan untuk menyediakan layanan yang di rancang secara rinci dan spesifik. 2.1.1.5 Validasi Rancangan Perangkat Lunak Menurut Sommerville (2011, 41-42),Validasi perangkat lunak dan verifikasi dimaksudkan untuk menunjukkan bahwa sistem sesuai dengan spesifikasi dan memenuhi harapan para pelanggan. Program pengujian, dimana sistem ini dijalankan dengan menggunakan data uji simulasi, dengan teknik validasi utama. validasi juga dapat melibatkan pemeriksaan proses, seperti inspeksi dan ulasan pada setiap tahap dari proses perangkat lunak dan pengembangan program yang sesuai kebutuhan pengguna definisi. Karena dominasi pengujian, mayoritas biaya validasi dikeluarkan selama dan setelah pelaksanaan. Oleh karena itu proses timbal balik iteratif dengan informasi terdiri dari tahap-tahap selanjutnya ke bagian awal dari proses. Tahap-tahap dalam proses pengujian adalah: 1. Development testing. Komponen yang membentuk sistem yang diuji oleh orang-orang mengembangkan sistem. Masing-masing 13 komponen diuji secara independen, tanpa komponen sistem lainnya. 2. System testing. Komponen sistem yang terintegrasi untuk menciptakan sebuah sistem bersaing. proses ini berkaitan dengan kesalahan menemukan bahwa hasil dari interaksi tak terduga antara komponen dan masalah komponen antarmuka. 3. Acceptance testing. Ini adalah tahap akhir dalam proses pengujian, sebelum sistem diterima untuk penggunaan operasional. sistem diuji dengan data yang diberikan oleh pelanggan sistem daripada diberikan dengan data tes simulasi. 2.1.1.6 Evolusi Perangkat Lunak Menurut Sommerville (2011, 43), Fleksibilitas dari sistem perangkat lunak adalah salah satu alasan utama mengapa perangkat lunak lebih banyak digunakan dan lebih kompleks. Sedangkan jika keputusan telah dibuat untuk memproduksi perangkat keras, sangat mahal jika terjadi perubahan pada desain perangkat keras. Namun, jika terjadi perubahan pada perangkat lunak dapat dilakukan setiap saat selama atau setelah pengembangan sistem. Bahkan perubahan perangkat lunak yang luas masih jauh lebih murah daripada perubahan sistem perangkat keras. 2.1.1.7 Pemodelan Sistem Menurut Sommerville (2011, 119), model adalah abstraksi dari sistem yang dipelajari dari representasi alternatif sistem. Model 14 yang digunakan selama proses kebutuhan sistem untuk membantu mengurangi kebutuhan sistem. Selama proses desain menggambarkan sistem untuk pengguna bagaimana menerapkan sistem dan menggambarkan implementasi yang mendokumentasikan struktur sistem dan operasi. Dapat mengembangkan model dari dua sistem yang akan dikembangkan, yaitu: 1. Model dari sistem yang ada yang digunakan selama kebutuhan rekayasa. Model-model itu membantu menjelaskan apa sistem tersebut dapat digunakan sebagai dasar mengetahui kelebihan dan kekurangan sistem tersebut. 2. Model dari sistem baru yang digunakan selama kebutuhan rekayasa untuk membantu menjelaskan yang diajukan kepada ‘stakeholders’ sistem lainnya. Perancang menggunakan model untuk membahas proposal desain dan mendokumentasikan sistem untuk implementasi. 2.1.2 Database Menurut Connolly dan Begg (2010, 65), database adalah koleksi berbagi data secara logis, terkait dan deskripsi yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Aplikasi database hanyalah sebuah program yang berinteraksi dengan database di beberapa titik dalam pelaksanaannya. Keuntungan yang didapat dengan menggunakan database adalah mengurangi pengulangan data. Database tidak hanya menyimpan data operasional, namun juga deskripsi data-data tersebut. 15 2.1.2.1 ERD (Entity Relationship Diagram) Menurut Connolly and Begg (2010, 330), ERD digunakan untuk menggambarkan struktur logical database dalam bentuk diagram. ERD menyediakan cara yang sederhana dan mudah untuk memahami berbagai komponen dalam desain database. 2.1.3 Database Management Systems (DBMS) Menurut Connolly dan Begg (2010, 66), DBMS adalah sebuah piranti lunak (software) yang memungkinkan pengguna (user) mendefinisikan, membuat, merawat, dan mengontrol akses ke database. DBMS dapat menjadi alat yang sangat berguna dengan bantuan fungsi view. Dengan dibantu DDL dan DML, DBMS sangat memungkinkan bagi user untuk memanipulasi data dengan sangat fleksibel. Penggunaan DBMS menjamin keamanan, kesatuan dan penyimpanan data. Menurut Hoffer (2009, 49) DBMS adalah sebuah system software yang digunakan untuk create dan menyediakan akses yang dikontrol untuk memakai database. DBMS menyediakan metode yang sistematis untuk creating, updating, storing dan retrieving data dalam sebuah database. 2.1.4 Interaksi Manusia dan Komputer Menurut Sudarmawan dan Ariyus (2007, 2), interaksi manusia dan komputer merupakan satu disiplin ilmu yang mengkaji komunikasi atau interaksi diantara pengguna dengan sistem. Sistem yang dimaksudkan disini 16 tidak hanya sistem yang ada pada komputer saja tapi juga sistem yang banyak digunakan dalam kehidupan sehari-hari. Menurut Shneiderman (2010, 88-89), ada delapan aturan emas dimana para perancang desain aplikasi mengacu kepada aturan ini antara lain: 1. Konsistensi Konsistensi yang dimaksudkan adalah bahwa setiap desain tampilan suatu aplikasi harus di buat sekonsisten mungkin. Sebagai contoh dalam hal penamaan label, grafik, singkatan, header, footer, tampilan menu, dan lain sebagainya. 2. Melayani Universal Usability Mengenali kebutuhan pengguna yang beragam, memfasilitasi transformasi pemberitahuan konten keperbedaan ahli, rentang usia, cacat, dan keragaman masing-masing teknologi memperkaya spektrum persyaratan desain panduan itu. Menambahkan fitur bagi para pemula, seperti penjelasan, dan fitur untuk para ahli, seperti shortcut dan aksi balik lebih cepat, dapat memperkaya desain antarmuka dan meningkatkan persepsi kualitas sistem. 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 17 4. Merancang dialog untuk menghasilkan suatu penutupan. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana. Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. 6. Mudah kembali ke tindakan sebelumnya. Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung tempat pengendali internal (internal locus of control). Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek. Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta 18 diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan. 2.2 Teori-Teori Khusus Pada tahap ini dijelaskan beberapa teori khusus yang berkaitan dengan penelitian. Berikut teori-teori yang akan dijelaskan yang berhubungan dengan skripsi ini pada umumnya. 2.2.1 e-Commerce Menurut Nugroho (2006, 5), e-Commerce adalah cara untuk menjual dan membeli barang-barang (jasa) lewat jaringan internet, tetapi hal ini tentu saja mencakup berbagai aspek. Pada awalnya perdagangan elektronik dilakukan dalam rangka transaksi-transaksi bisnis antar perusahaan besar, antar perbankan, serta antar institusi lainnya. Namun, pada perkembangannya fokus perdagangan elektronik lewat sarana internet bergeser mendekati konsumenkonsumen individual. 2.2.1.1 Keuntungan Dari Electronic Commerce Menurut Schneider (2011, 17), Perusahaan tertarik dalam perdagangan elektronik karena, cukup sederhana yaitu dapat membantu meningkatkan keuntungan. electronic commerce dapat meningkatkan keuntungan dan menurunkan biaya. 2.2.1.2 Kekurangan Dari Electronic Commerce Menurut Schneider (2011, 19), Beberapa proses bisnis tidak mungkin meminjamkan diri mereka untuk perdagangan elektronik. Sebagai contoh, makanan yang mudah rusak dan biaya mahal, barang- 19 barang unik seperti perhiasan yang dirancang khusus tidak mungkin dapat diperiksa secara memadai dari lokasi yang jauh, meskipun ada teknologi yang mungkin dirancang di masa depan nanti. Sebagian besar kerugian dari perdagangan elektronik ini, bagaimanapun, berasal dari kebaruan dan pesatnya perkembangan teknologi masa kini. Kerugian ini, lambat laun akan hilang sebagai perkembangan dan ketersediaan dari perdagangan elektronik, sehingga lebih diterima oleh masyarakat umum. 2.2.1.3 Sinergi Perdagangan Menurut Nugroho (2006, 12-18), Untuk lebih menunjukkan sinergi yang diperoleh dari perdagangan elektronik kita akan melihat lebih jauh pada lima proses yang harus dilewati sebelum seseorang memutuskan akan membeli barang atau jasa yang perusahaan tawarkan, yaitu : 1. Berbagi informasi. Kapanpun sebelum perusahaan melakukan penjualan, perusahaan perlu meyakinkan konsumen tentang kualitas barang atau jasa yang dijual. Perusahaan dapat merancang situs web dengan memasukan katalog produk yang dapat ditelusuri secara elektronik. Memberi tahu para konsumen tentang pengembangan dan perbaikan produk atau jasa yang ditawarkan. Perusahaan juga dapat mengelompokkan pertanyaan-pertanyaan yang sering muncul dalam berkas FAQ. 20 2. Pemesanan. Form elektronik merupakan form yang mirip dengan surat pesanan pada perdagangan tradisional. Suatu sistem yang terpadu melibatkan para penyedia, perbankan, staf operasional, dan konsumen, perlu dikembangkan untuk membuat semuanya dapat terlaksana dengan baik. 3. Pembayaran. Mekanisme pembayaran yang dapat dilakukan oleh pembeli menggunakan kartu kredit, kartu debit, cek, transfer uang langsung ke rekening perusahaan. 4. Pemenuhan pesanan. Perusahaan mengirim barang atau jasa dapat melalui jaringan internet atau jasa pengiriman yang saat ini memungkinkan kita memeriksa status pengiriman barang dijaringan internet. 5. Dukungan terhadap konsumen. Saat ini jarang sekali hubungan antara perusahaan dengan pembeli berakhir setelah penjualan. Kenyataannya, penjualan diharapkan menjadi awal dari hubungan panjang dan saling menguntungkan antara perusahaan dan konsumen. Sistem yang dirancang dengan baik dapat menyediakan informasi dengan berbagai cara, misalnya surat elektronik atau informasi yang diletakkan disitus web. Sistem web yang 21 bersangkutan tidak bersifat statis, perusahaan dapat meminta masukkan dari para konsumen demi perbaikan situs. 2.2.2 Penjualan Menurut Asthon (2005, 8), Penjualan adalah proses dimana saat seseorang membantu orang lain mengambil keputusan pembelian. Jika anda berhasil melakukan penjulan, ini lah titik di mana semua jerih payah anda membuahkan hasil dan anda memperoleh seorang pelanggan. Produk atau jasa anda tentunya sudah di tentukan dengan jelas dan kampanye pemasaran anda membuat orang menyadari apa yang anda jual, Orang-orang itu adalah calon pelanggan anda. 2.2.3 Pemasaran Menurut Amstrong (2006, 5-6), Pemasaran didefinisikan sebagai proses pengelola hubungan pelanggan yang menguntungkan. Dua sasaran pemasaran adalah menarik pelanggan baru dengan menjanjikan keunggulan nilai serta menjaga dan menumbuhkan pelanggan yang ada dengan memberikan kepuasan. Pemasaran yang kokoh menjadi hal penting bagi kesuksesan dalam semua organisasi. Saat ini, pemasaran harus di pahami tidak dalam pemahaman kuno sebagai membuat penjualan “bercerita dan menjual” tetapi dalam pemahaman modern yaitu memuaskan kebutuhan pelanggan. Definisi luas dari pemasaran adalah proses sosial dan manajerial dimana pribadi atau organisasi memperoleh 22 apa yang mereka butuhkan dan inginkan melalui penciptaan dan penukaran nilai dengan yang lain. 2.2.4 Persediaan Menurut Chase (2006, 589), Persediaan adalah stok dari setiap barang atau sumber daya yang digunakan dalam sebuah organisasi. Sistem persediaan adalah serangkaian kebijakan dan pengendalian yang memonitor tingkat persediaan dan menentukan tingkat apa harus dipertahankan, saat saham harus diisi dan berapa besar pesanan seharusnya. Menurut (Stevenson (2009, 571), Re-order point terjadi ketika jumlah persediaan telah mendekati jumlah minimal yang telah ditetapkan. Jumlah tersebut biasanya mencakup permintaan pada waktu nyata, server disini bertugas untuk menanggulangi kemungkinan kehabisan stok selama waktu tertentu. Untuk mengetahui apakah persediaan telah menyentuh stok minimal, maka perhitungan persediaan sangat diperlukan. 2.2.5 Internet Menurut Williams dan Sawyer (2007, 63-72), saat ini orang kadang mengalami kesukaran untuk membedakan internet dan web. Prinsipnya perbedaan antara internet dan web mirip dengan perbedaan antara sistem jalan raya dan layanan pengiriman barang yang menggunakan jalan raya. Internet adalah jaringan yang sangat besar dari jaringan, menghubungkan jutaan komputer via protokol, perangkat keras, dan jalur komunikasi. 23 2.2.6 World Wide Web (WWW) Menurut Williams dan Sawyer (2007, 72), World Wide Web (WWW) adalah teknologi berbasis multimedia yang memungkinkan anda untuk mengakses lebih dari sekedar teks. Berikut ini dijelaskan arti istilah istilah seputar WWW : Browser adalah perangkat lunak yang memungkinkan anda mencari dan mengakses komponan web. Situs web adalah sebuah lokasi pada komputer tertentu di web yang memiliki alamat unik (URL). Halaman web adalah dokumen pada WWW yang bisa berisi teks, gambar, suara, dan video. 2.2.7 System Development Life Cycle (SDLC) PEMILIHAN PROYEK PERENCANAAN PROYEK PERAWATAN IMPLEMENTASI ANALISIS DESAIN Gambar 2.1 System Development Life Cycle (SDLC) Menurut Mulyanto (2008, 18-19) Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu 24 pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar 2.1 Setiap model yang dikembangkan mempunyai karakteristik sendirisendiri. Tapi, secara umum ada persamaan dari model-model ini, yaitu : Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Tahapan-tahapan pengembangan yang teratur. Biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing – maintenance. Stakeholder sangat berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasasa perangkat lunak tersebut. Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. 2.2.7.1 Metode Waterfall Metode perancangan software berdasarkan teori model waterfall menurut Sommerville (2011, 30-31) adalah tahapan utama yang langsung mencerminkan dasar pembangunan kegiatan, berikut ini adalah tahapannya: 25 Requirements analysis and definition, mengumpulkan apa yang dibutuhkan secara lengkap untuk kemudian dianalisis guna mendefinisiskan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan dengan lengkap untuk menghasilkan desain yang lengkap. System and software design, setelah apa yang dibutuhkan telah selesai dikumpulkan dan sudah lengkap maka desain kemudian di kerjakan. Implementation and unit testing, desain program diterjemahkan dalam kode-kode dengan menggunakan bahasa pemerograman yang sudah di tentukan. Program yang dibangun langsung diuji secara unit, apakah sudah bekerja dengan baik. Integration and system testing, penyatuan unit-unit program untuk kemudian di uji secara keseluruhan (system testing). Operating and maintenance, mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan untuk adaptasi dengan situasi yang sebenarnya. 26 Gambar 2.2 Gambar Metode Waterfall 2.2.8 Unified Modeling Language (UML) Menurut Fowler (2003, 14), Unified Modeling Language (UML) adalah keluarga dari notasi grafis dan didukung oleh metamodel tunggal, yang membantu dalam menggambarkan dan merancang sistem perangkat lunak, khususnya sistem software yang dibangun menggunakan berorientasi obyek (OO) gaya. 2.2.8.1 Class Diagram Menurut Fowler (2003, 36), Class diagram menggambarkan jenis objek dalam sistem dan berbagai jenis statis hubungan yang ada antara mereka. Class diagram juga menunjukkan sifat-sifat dan operasi antar kelas dan kendala-kendala yang berlaku pada objek yang terhubung. 27 Tabel 2.1 Notasi Class Diagram Notasi Keterangan Class Sebuah deskripsi dari seperangkat objek Class1 yang berbagi atribut operasi dan relasi -attribute1 +operation1() yang sama. Class terbagi atas 3 bagian yaitu nama class pada bagian atas, attribute class pada bagian tengah, dan operasi pada bagian bawah. Aggregation Mesin Agregasi adalah bagian-hubungan. Ini seperti Mobil mengatakan bahwa mobil memiliki mesin dan roda sebagai bagianbagiannya. Ban Aggregasi digambarkan dengan wajik tidak terisi. Composition Poligon Lingkaran Komposisi adalah komponen dari kelas lainnya. Misalnya titik dapat menjadi Titik Titik bagian dari poligon atau mungkin menjadi pusat lingkaran, tetapi tidak dapat menjadi keduanya(hanya dapat dimiliki satu kelas). Komposisi digambarkan dengan wajik terisi. 28 Association Merupakan hubungan struktural antara class yang saling berelasi. Multiplicity Menggambarkan jumlah objek yang berpartisipasi dalam hubungan antar class. Generalization Merupakan sebuah relasi spesialisasi / generalisasi dimana suatu class dapat lebih general atau lebih spesifik dari class lainnya. 2.2.8.2 Use Case Diagram Menurut Fowler (2003, 79), Use case adalah suatu teknik untuk mengambil kebutuhan fungsional dari suatu sistem. Use case bekerja dengan menggambarkan interaksi yang khas antara pengguna sistem dan sistem itu sendiri, memberikan narasi tentang bagaimana sistem yang digunakan. 29 Tabel 2.2 Notasi Use Case Diagram Notasi Keterangan Actor Sebuah peran yang berhubungan dengan sistem. Actor1 Use Case Serangkaian skenario diikat bersama-sama UseCase1 dengan tujuan pengguna umum. Association Sebuah relasi struktural yang menghubungkan antara actor dengan use case System Boundary System Menggambarkan batasan dari sistem yang dibuat yang mengelilingi sejumlah use case. 2.2.8.3 Sequence Diagram Menurut Fowler (2003, 48), Sequence diagram menggambarkan bagaimana kelompok benda berkolaborasi dalam perilaku tertentu. 30 Tabel 2.3 Notasi Sequence Diagram . Notasi Keterangan Object Lifeline Merupakan sebuah merepresentasikan garis adanya yang sebuah objek dengan jangka waktu tertentu. Activation Menggambarkan periode waktu ketika pemrosesan terjadi dalam objek tersebut. Message, return, callback message Penyampaian pesan dari satu objek ke objek lain atau ke diri sendiri. 31 Deletion Untuk menunjukkan bila suatu objek tidak lagi diperlukan dan siap untuk dikumpulkan atau menunjukkan bahwa objek tersebut tidak dapat digunakan lagi. 2.2.8.4 Activity Diagram Menurut Fowler (2003, 89-90), Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan alur kerja. di banyak cara, mereka memainkan peran yang mirip dengan diagram alur, namun perbedaan utama antara mereka adalah bahwa mereka mendukung perilaku paralel. Di bawah ini merupakan simbolsimbol yang ada pada diagram aktivitas : a. Initial node menggambarkan awal dari proses. Gambar 2.3 Initial State. 32 b. Action, segi empat bersudut tumpul manggambarkan sebuah kegiatan atau tugas yang perlu dilakukan. State Gambar 2.4 State. c. Flow, panah menggambarkan sasaran yang mengawali kegiatan. Gambar 2.5 Control flow. d. Transition (fork), merupakan bar sinkronisasi dimana kegiatan dapat dilakukan secara pararel. Gambar 2.6 Transition (fork). e. Transition (join), merupakan bar sinkronisasi dimana dua aktifitas yang mempunyai tujuan yang sama dan tujuan dari keduanya digabung menjadi satu. Gambar 2.7 Transition (join). 33 f. Decision, menggambarkan sebuah kegiatan keputusan Gambar 2.8 Decision. g. Final state, menggambarkan akhir dari sebuah proses. Gambar 2.9 Final State. 2.2.9 Hyper Text Markup Language (HTML) Menurut Nugroho (2006, 48-52), HTML dalam ilmu komputer merupakan bahasa pemformatan teks untuk dokumen-dokumen pada jaringan komputer yang dikenal sebagai WWW. Dokumen HTML merupakan berkas teks yang mengandung dua bagian, yaitu : Isi adalah segala sesuatu yang inginkan ditampilkan dan diperlihatkan dalam dokumen web. Tag yang merupakan informasi pemformatan, yang tersembunyi dari pandangan pengguna yang memberi tahu browser tentang bagaimana caranya menampilkan isi dokumen kehadapan pengguna. HTML pada dasarnya merupakan himpunan bagian dari bahasa yang lebih luas jangkauannya yaitu standard generalized markup language (SGML), 34 yang merupakan sistem pengkodean dan pemformatan untuk dokumen yang ditampilkan di layar komputer kita. Beberapa tag dalam dokumen HTML menentukan bagaimana teks diformat. Tag-tag yang lain memberi tahu komputer tentang bagaimana menanggapi aksi-aksi yang datang dari pengguna. Kemudian, tag lain yang penting adalah link yang mengandung URL, yang merujuk pada dokumen lain di server yang sama yang ada di jaringan global internet. Selain itu, HTML juga memiliki penandaan untuk membuat formulir-formulir yang memungkinkan pengguna mengisi informasi tertentu dan mengirimkan secara elektronik ketempat tempat lain di jaringan internet. Browser menafsirkan tag-tag HTML pada dokumen dan melakukan pemformatan saat dokumen yang bersangkutan ditampilkan dilayar monitor. Sejak diterimanya HTML sebagai standar pemformatan, setiap orang dapat mengembangkan browser tanpa perlu bersusah payah mengasumsikan dokumen apa yang akan ditampilkan. Saat ini hampir semua situs web yang ada menggunakan HTML untuk pemformatan halaman-halamannya. Pada tahun 1989, Berners-Lee merumuskan suatu proposal tentang sebuah sistem hyperteks yang memiliki tiga komponen sebagai berikut : Antar muka yang konsisten untuk semua jenis platform. Antar muka ini harus menyediakan akses yang dapat digunakan oleh berbagai jenis komputer. 35 Akses informasi yang bersifat universal. Setiap pengguna harus dapat mengakses setiap informasi yang berbeda. Antar muka yang menyediakan akses ke berbagai jenis dokumen dan protokol. 2.2.10 MySQL Menurut Nugroho (2008, 29), MySQL merupakan database yang berbasis server. MySQL merupakan database server yang ideal untuk data segala ukuran dengan kemampuan mempunyai kecepatan yang sangat tinggi dalam pemrosesan data, multi-thread, multi-user dan query. Ukuran database MySQL kebih kecil dari file database lain. 2.2.11 Personal Home Page (PHP) Menurut Winarno (2011, 4) Personal Home Page(PHP) adalah sebuah bahasa pemograman web berbasis server yang mampu mem-parsing kode php dari kode web dengan ekstensi php, sehingga menghasilkan tampilan website yang dinamis di sisi pengguna. Dengan PHP, kita bisa menjadikan halaman HTML menjadi lebih powerful dan bisa dipakai sebagai aplikasi lengkap, misalnya untuk beragam aplikasi berbasis internet. Jadi hubungan PHP dengan HTML adalah PHP yang menghasilkan kode HTML secara dinamis, artinya tampilan yang dilihat user di komputer tidak statis, tapi dinamis, bisa berubah-ubah tergantung kepada keinginan. 36 PHP adalah bahasa skrip yang sangan cocok untuk pengembangan Web dan dapat dimasukkan kedalam HTML. Memang dengan PHP murni, pengembangan web akan sangat lama, kita perlu bantuan framework PHP nantinya. Ketika memprogram dengan PHP atau framework PHP, kita bisa menggunakan software editor teks seperti : ActiveState Komodo Edit, Bluefish, Eclipse, Emacs, Notepad++, dan sebagainya. Beberapa keunggulan PHP dibandingkan dengan kompetitor lainnya, adalah: 1. PHP dirancang untuk membentuk aplikasi web dinamis. Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaan terkini. Misalnya, menampilkan isi database ke halaman web. 2. Kode PHP juga bisa berkomunikasi dengan database dan melakukan perhitungan – perhitungan yang kompleks. 3. PHP bersifat open source. Artinya, seseorang tidak perlu membayar apapun untuk menggunakan perangkat lunak ini. 2.2.12 Javascript Menurut McFarland (2008, 21) JavaScript adalah suatu bahasa script yang di-interpreter oleh browser (client side). Sintaks penulisan JavaScript memiliki kemiripan dengan bahasa pemrograman Java dan juga C sehingga banyak aturan-aturan dari bahasa Java atau C yang biasa diterapkan dalam JavaScript, tetapi perlu diingat JavaScript tidak sama dengan Java, karena: 37 1. JavaScript yang dikembangkan oleh Netscape, produknya untuk web disebut web script. 2. Java yang dikembangkan oleh Sun Microsystems, produknya untuk web adalah applet. Javascript bergantung kepada browser (navigator) yang memanggil halaman web yang berisi skrip dari Javascript dan tentu saja tersisipkan dalam dokumen HTML. Javascript juga tidak memerlukan compiler atau penerjemah khusus untuk menjalankannya. Penulisan kode Javascript diletakkan diantara tag HTML. Javascript merupakan suatu bahasa yang perkembangannya lambat dibandingkan dengan bahasa Java yang berkembang sangat cepat. Sama halnya seperti pemrograman bahasa C, Javascript juga bersifat Case Sensitive untuk setiap perintah dan penamaan variabelnya.