7
TINJAUAN PUSTAKA
2.1 Database
2.1.1 Definisi Database
Database merupakan suatu kumpulan bagian dari data yang berhubungan secara logis, dan deskripsi dari data tersebut dirancang untuk memenuhi informasi yang dibutuhkan oleh sebuah organisasi. Database merupakan tempat penyimpanan data yang besar dimana data tersebut dapat digunakan secara bersamaan oleh beberapa user dan departemen. Pada database, data-data yang saling terintegrasi harus terhindar dari kemungkinan terjadinya duplikasi data (Connolly dan Begg, 2010 , p. 66).
2.2 Database Management System (DBMS) 2.2.1 Definisi DBMS
Menurut Connolly dan Begg (2010 , p. 66-71) DBMS adalah software yang dapat berinteraksi dengan program aplikasi yang dimiliki user dan database. DBMS memungkinkan user untuk mendefinisikan, membuat, memelihara, dan memiliki akses untuk melakukan kontrol ke dalam database.
2.2.2 Komponen DBMS
Menurut Connolly dan Begg (2010 , p. 68-71) komponen DBMS ada 5 (lima), yaitu :
1. Hardware
Terdiri dari perangkat keras yang dibutuhkan untuk menjalankan aplikasi dan DBMS. Hardware meliputi PC, mainframe, dan jaringan komputer.
2. Software
Meliputi perangkat lunak yang terdiri dari DBMS itu sendiri, program aplikasi, sistem operasi, dan juga perangkat lunak jaringan.
3. Data
Merupakan komponen paling penting dalam DBMS, khususnya dalam sudut pandang dari end user. Dalam ruang lingkup DBMS tersebut, fungsi data adalah untuk menjembatani antara mesin dan manusia.
4. Procedures
Prosedur mengacu kepada instruksi dan aturan yang mengatur perancangan dan penggunaan database. User dan Staff yang menangani database memerlukan banyak prosedur yang didokumentasikan seperti bagaimana cara menggunakan sistem, adapun instruksinya antara lain yaitu :
a. Log on ke database,
b. Mengunakan fasilitas dari DBMS , c. Start dan stop DBMS,
d. Membuat database cadangan,
e. Menangani kegagalan hardware dan software, f. Mengubah struktur table,
g. Mengatur ulang database, h. Meningkatkan kemampuan,
i. Mengarsipkan data ke penyimpanan data. 5. People
Komponen terakhir dari komponen DBMS, adalah manusia yang terlibat langsung dengan sistem, diantaranya: DBA (Database Administrator), perancangan database, pengembangan aplikasi, dan end-user.
2.3 Javascript
Menurut (McFarland, 2011, p. 1), JavaScript adalah bahasa pemrograman scripting yang mendukung dan memperbolehkan HTML untuk memiliki animasi, interaktivitas dan efek yang dinamis. JavaScript juga dapat membantu kita dalam membuat tampilan yang lebih menarik dan interaktif seperti slide show. Salah satu kelebihan dari JavaScript adalah kemampuan untuk memperbolehkan halaman web
untuk merespon secara langsung terhadap tindakan-tindakan seperti saat meng-klik suatu link, mengisi sebuah form atau hanya menggerakkan mouse pada layar. JavaScript ini sangat ringan karena bahasa pemogramannya dapat berjalan di sisi klien berbeda dengan PHP yang berjalan di sisi server, oleh karena itulah JavaScript dapat membuat halaman web menyerupai tampilan pada aplikasi desktop.
Jquery
Menurut (McFarland, 2011 , p. 4), jQuery adalah library JavaScript untuk mempermudah penulisan JavaScript. JQuery diciptakan karena adanya kekurangan dari JavaScript yaitu penulisannya yang sulit dan adanya perbedaan script untuk web browser yang berbeda. JQuery sangat cepat dan mudah digunakan karena menerapkan aplikasi selector CSS untuk memilih atau menangkap elemen yang dipilih. JQuery juga sangat mendukung interaktivitas dari halaman web melalui kemampuan JavaScript yang lebih ringan dalam penulisannya.
2.4 Model-View-Controller (MVC)
Menurut Pressman (2010) arsitektur Model-View-Controller (MVC) adalah satu dari beberapa model infrastruktur Web App yang memisahkan user interface dari fungsionalitas dan informasi konten dari Web App.
Gambar 2. 1 Arsitektur MVC (Sumber: Pressman, 2010, p387)
Model mengandung semua konten yang application-specific dan logika pemrosesan, termasuk semua objek, akses ke data/informasi external dan semua pemrosesan yang berhubungan dengan aplikasi.
View mengandung semua konten yang interface-specific dan memungkinkan konten dan logika pemrosesan untuk ditampilkan, termasuk semua objek, akses ke data/informasi external dan semua pemrosesan yang dibutuhkan oleh end-user.
Controller mengatur akses ke model dan view. Controller melakukan koordinasi dengan data dari model berdasarkan dari inputan user.
2.5 MySQL
Menurut (Welling & Thomson, 2009, p. 3), MySQL adalah sistem manajemen database yang dapat dijalankan dengan program lain secara bersamaan yang sangat cepat dan kuat. Database memungkinkan penyimpanan, pencarian, pengurutan, dan pengambilan data. MySQL mengontrol akses ke data untuk memastikan beberapa pengguna dapat menggunakannya secara bersamaan, akses yang cepat, dan memastikan hanya pengguna yang berwenang yang dapat mengaksesnya.
MySQL mempunyai banyak kelebihan (Welling & Thomson, 2009, p. 8), seperti berikut:
1. Kinerja
MySQL memiliki kecepatan yang cukup baik dalam mengambil dan memanipulasi data, hal ini telah dibuktikan dalam berbagai pengujian yang memperlihatkan MySQL lebih cepat daripada pesaingnya dalam pengambilan data dalam jumlah yang cukup banyak.
2. Biaya relatif terjangkau
MySQL tersedia secara gratis, dengan sifat open-source, tetapi tidak menutup kemungkinan bahwa MySQL harus dibeli dengan harga yang relatif murah jika dibutuhkan dalam pengembangan sistem terkait.
3. Mudah untuk digunakan
MySQL mudah untuk dipelajari dan disesuaikan karena menggunakan SQL yang umumnya digunakan juga untuk RDBMS lainnya.
MySQL dapat digunakan hampir di semua sistem operasi seperti sistem operasi UNIX dan Windows.
2.6 Cascading Style Sheet (CSS)
CSS merupakan singkatan dari Cascading Style Sheet adalah Bahasa pemrograman web yang digunakan untuk membuat tampilan website menjadi lebih rapih, terstruktur dan seragam.
Terdapat tiga versi CSS, yaitu CSS1, CSS2, dan CSS3. CSS3 merupakan versi terbaru dari CSS yang mampu melakukan banyak hal dalam mendesain website (Clark, Studholme, Murphy, & Manian, 2012 , p. 231-232).
2.7 CodeIgniter
Menurut (EllisLab, Inc., 2012), CodeIgniter adalah sebuah framework pengembangan aplikasi bagi orang-orang yang membangun situs web menggunakan PHP. Tujuannya untuk memungkinkan pengembangan proyek jauh lebih cepat. CodeIgniter menyediakan berbagai library untuk tugas-tugas yang biasa diperlukan, serta antar muka yang sederhana dan struktur logis untuk mengakses library tersebut. CodeIgniter memfokuskan pada proyek yang dibuat dengan meminimalkan jumlah code yang dibutuhkan untuk tugas yang diberikan.
Beberapa keuntungan dari Codelgniter (CI) adalah sebagai berikut: 1. Gratis.
CodeIgniter berada di bawah lisensi open-source Apache / BSD-style sehingga dapat digunakan secara gratis.
2. Ringan.
Sistem utama hanya memerlukan beberapa library yang sangat kecil. Hal ini terlihat berbeda dengan banyak framework yang membutuhkan lebih banyak resource.
3. Cepat.
Library tambahan dapat dimuat secara dinamis sesuai permintaan, berdasarkan kebutuhan untuk proses tertentu, sehingga sistem dasar sangat ramping dan cukup cepat.
4. CodeIgniter menggunakan MVC.
CodeIgniter menggunakan pendekatan Model-View-Controller, yang memungkinkan pemisahan antara logika dan presentasi. Hal ini sangat baik untuk proyek-proyek dimana pembagian pekerjaan menjadi lebih mudah.
5. CodeIgniter menghasilkan CleanURL.
Url yang dihasilkan oleh CodeIgniter bersih dan search-engine-friendly. Bukan menggunakan pendekatan standar query string ke url yang identik dengan sistem dinamis, CodeIgniter menggunakan pendekatan segment-based.
6. CodeIgniter memiliki berbagai macam library.
CodeIgniter berisi library yang umumnya digunakan dalam pengembangan web, seperti akses database, email, validasi, session, dan lain-lain.
7. CodeIgniter bisa diperluas.
CodeIgniter mempermudah penambahan library, helper, atau hooks yang dibuat.
8. Dokumentasi yang lengkap.
Setiap paket instalasi CodeIgniter sudah disertai buku petunjuk yang sangat bagus dan mudah dipahami.
9. Adanya komunitas pengguna.
CodeIgniter menyediakan wadah komunitas untuk saling berbagi ilmu, berinteraksi, ataupun bertanya melalui forum.
2.8 Personal Home Page (PHP)
Menurut MacIntyre (2010) Personal Home Page (PHP) diperkenalkan pada tahun 1995 oleh Rasmus Lerdorf, PHP merupakan piranti lunak open source dari awal hingga saat ini. PHP terhubung dengan database yang mulai diterapkan dengan versi 2.0 pada tahun 1996, dan bertumbuh sangat cepat semenjak itu. PHP digunakan di seluruh dunia dengan pencapaian lebih tinggi dibanding web development language lain. PHP adalah sebuah scripting language, yang sering digunakan pada server side. Dan dapat difungsikan untuk menghasilkan informasi Hypertext Markup Language (HTML) secara dinamis. PHP terkoneksi dengan web server, biasanya Apache atau Internet Information System (IIS).
2.9 Web
2.9.1 World Wide Web (WWW)
Menurut Rainer dan Cegielski (2011) World Wide Web (WWW) adalah sistem dengan standar yang diterima secara universal untuk menyimpan, menelusuri, memformat dan menampilkan informasi melalui arsitektur client/server.
Web menangani segala tipe informasi digital, termasuk hypermedia, grafik, dan suara. Hal tersebut menggunakan user interface sehingga mudah dalam navigasi. Organisasi yang berharap untuk menawarkan informasi melalui web harus membangun suatu home page. Di mana terdiri atas text dan grafik tampilan layar yang menyambut user dan menjelaskan organisasi tersebut. Semua hal tersebut sering dinamakan atau dikenal sebagai Website. Kebanyakan web menyediakan kontak informasi mengenai organisasi tersebut.
2.9.2 Hypertext Markup Language (HTML)
Menurut William dan Sawyer (2011) HTML adalah pondasi/dasar dari tampilan sistem pada browser atau bisa disederhanakan sebagai bahasa pendeskripsi halaman.
2.9.3 HTML5
Menurut MacDonald (2011) angka 5 dalam HTML5 merupakan indikasi standar terbaru dari HTML sebelumnya yaitu HTML versi 4.01.
HTML5 tentunya telah mendukung semua yang tidak ada pada versi sebelumnya. Seperti XHTML-style syntax dan inovasi JavaScript. HTML5 dapat mendukung konvensi XHTML, tetapi memberlakukan aturan HTML.
2.9.4 Browser
Menurut Rainer dan Cegielski (2011) untuk menggunakan internet diperlukan adanya suatu aplikasi peranti lunak yang digunakan user untuk mengakses Web yaitu browser. Browser menyediakan grafik tampilan depan yang memudahkan user dalam menjelajahi web, proses ini disebut surfing. Web browser menjadi sangat berarti di dalam akses global dikarenakan mereka mengirimkan interface yang sama pada setiap sistem operasi yang dijalankan. Adapun beberapa contoh browser yaitu Internet Explorer dari Microsoft, Firefox dari Mozilla, dan Safari dari Apple.
2.10 Internet
2.10.1 Definisi Internet
Menurut Stair dan Reynolds (2010), internet adalah jaringan komputer terbesar yang terdiri dari ribuan jaringan yang saling terhubung, dan bertukar informasi secara bebas. Perusahaan riset, sekolah, universitas, dan bisnis adalah beberapa contoh organisasi yang menggunakan internet. Semua orang menggunakan internet untuk kebutuhan riset, jual beli produk atau jasa, membuat waktu perjalanan wisata, keperluan banking, download video atau music, mendengarkan radio, selain melakukan kegiatan lain. Secara cepat internet saat ini digunakan untuk media komunikasi, berbagi informasi dan melakukan kolaborasi (kerja sama).
2.10.2 Universal Resource Locator (URL)
Menurut Carey (2009) Universal Resource Locator (URL) berfungsi untuk menunjukkan lokasi sebuah resource pada internet. Sebagai contoh URL www.whitehouse.gov, sebuah home page dari presiden Amerika Serikat, dan www.w3.org, sebuah home page lainnya dari konsorsium World Wide Web. Semua URL memiliki bentuk sama yaitu, Scheme: location.
dan location menunjukkan lokasi resource tersebut. Pada halaman web, location mengacu pada lokasi file HTML, namun pada resources lain, lokasi hanyalah sebuah nama dari suatu resource. Sebagai contoh, sebuah link kepada suatu akun email memiliki alamat email sebagai suatu resource. Adapun nama dari scheme diambil dari protocol yang digunakan untuk mengakses resource. Protocol adalah suatu set aturan yang mendefinisikan bagaimana informasi saling bertukar antara dua devices.
2.10.3 Hypertext Transfer Protocol (HTTP)
Menurut Carey (2009) Hypertext Transfer Protocol (HTTP) digunakan dalam komunikasi antara Web browser dan Web server. Karena itu, URL pada setiap halaman Web harus dimulai dengan HTTP scheme. Hal ini menegaskan browser harus menggunakan HTTP ketika akan mengakses suatu halaman web.
2.11 Unified Modelling Language (UML)
Dalam pengembangan aplikasi, dibutuhkan penggunaan UML untuk memudahkan perancangan struktur aplikasi.
2.11.1 Pengertian UML
Menurut Whitten dan Bentley (2007, p. 371), UML merupakan pembuatan model standar dalam pengembangan sistem yang berbasis object oriented yang direpresentasikan dalam bentuk diagram. Diagram yang dihasilkan biasanya merupakan relasi antara objek-objek yang berada di dalam sistem.
2.11.2 Use Case Diagram
Whitten dan Bentley (2007, p. 246-250) menjelaskan bahwa use case diagram digunakan untuk menggambarkan interaksi antara sistem dan eksternal sistem serta pengguna. Dengan kata lain, menggambarkan siapa yang akan menggunakan sistem dan langkah apa yang pengguna harapkan ketika berinteraksi dengan sistem.
Komponen-komponen yang penting dan yang perlu diperhatikan di dalam use case diagram ini adalah:
1. Use case
Fungsi yang dijalankan di dalam sistem digambarkan dengan menggunakan lambang use case dan biasanya dilambangkan dengan bentuk elips. Use case menunjukkan urutan dari aktivitas dan interaksi user terhadap sistem.
Gambar 2. 2 Contoh Penggunaan Use Case Di Dalam Use Case Diagram (Sumber: Whitten & Bentley, 2007, p. 246)
2. Actors
Use case dipicu oleh eksternal user yang disebut actors. Actors akan memulai aktivitas yang ada di dalam sistem dengan tujuan untuk menyelesaikan business task yang menghasilkan nilai terukur. Seorang actor hanya merepresentasikan peran user ketika berinteraksi dengan sistem dan tidak menggambarkan seorang individu maupun jabatan kerja.
Gambar 2. 3 Simbol Actor Dalam Use Case Diagram (Sumber: Whitten & Bentley, 2007, p. 247)
Actors ini dibagi ke dalam empat tipe yaitu: a. Primary bussiness actor
Seorang stakeholder yang mendapatkan keuntungan dari eksekusi use case. Primary business actor mungkin atau mungkin tidak dapat menjalankan business event. Contohnya di dalam sebuah business event dari seorang karyawan yang menerima gaji dari sistem penggajian pada hari Jumat, karyawan tersebut tidak menjalankan event tersebut melainkan hanya menjadi penerima dari event yaitu menerima gaji. b. Primary system actor
Stakeholder yang secara langsung berinteraksi dengan sistem untuk menjalankan business atau system event. Primary system actor dapat berinteraksi dengan primary business actor dengan tujuan untuk memfasilitasi primary business actor dalam menjalankan business event.
c. External server actor
Stakeholder yang merespons permintaan dari use case. d. External receiver actor
Stakeholder yang menerima nilai terukur dari use case tetapi bukanlah primary actor.
3. Relationships
Relationships digambarkan dengan garis yang berada diantara dua simbol pada use case diagram. Pengertian dari relationships ini berbeda menurut cara penggambaran garis dan simbol-simbol apa saja yang saling terhubung. Relationships ini terbagi menjadi lima tipe, yaitu:
a. Associations
Hubungan antara seorang actor dan sebuah use case yang muncul ketika use case menjelaskan interaksi antar kedua simbol tersebut. Hubungan ini digambarkan dengan sebuah garis lurus yang solid. Jika pada garis terdapat panah ketika menunjuk sebuah use case, maka hal ini menunjukkan bahwa use case ditiru oleh actor. Jika pada garis tidak terdapat panah, maka hal ini menunjukkan interaksi antara use case dan external server atau receiver actor. Ketika actor manapun diasosiasikan dengan use case, ini dianggap
bahwa actor sedang berkomunikasi dengan use case. Hubungan asosiasi ini dapat bersifat bidirectional maupun unidirectional.
Gambar 2. 4 Contoh Association Relationship Use Case (Sumber: Whitten & Bentley, 2007, p. 248) b. Extends
Untuk menyederhanakan use case, tahapan yang rumit didalam use case dapat dikeluarkan dan dipindahkan menjadi sebuah use case tersendiri. Hasilnya berupa extension use case yang merupakan perpanjangan dari fungsi use case yang sebelumnya lebih kompleks. Sebuah use case dapat memiliki banyak extended relationship tetapi extended use case hanya dapat dipanggil oleh use case awal. Setiap extended relationship line diberi label <<extends>>.
Gambar 2. 5 Contoh Extended Relationship Use Case (Sumber: Whitten & Bentley, 2007, p. 249)
c. Uses (or Includes)
Dalam pembuatan use case diagram, ada kemungkinan ditemukannya dua atau lebih use case yang memiliki fungsi yang hampir serupa. Akan lebih baik jika tahapan use case yang hampir serupa ini dipisahkan ke dalam use case tersendiri yang disebut abstract use case. Abstract use case ini membantu untuk mengurangi redudancy diantara use cases. Abstract use case
dapat digunakan untuk mereferensikan use case lain yang membutuhkan fungsi ini. Hubungan antara abstract use case dan use case yang menggunakan fungsi ini disebut uses relationship atau includes relationship. Pada garis penghubung antar use case terdapat label <<uses>> atau <<includes>> untuk menunjukkan relasi ini.
Gambar 2. 6 Contoh Uses Relationship Use Case (Sumber: Whitten & Bentley, 2007, p. 249)
d. Depends on
Ketika sedang membuat use case diagram, sering kali ditemukan use case yang saling bergantung dengan use case lainnya untuk menentukan bagaimana urutan use case yang perlu dikembangkan. Pada garis penghubung antar use case terdapat label <<depends on>> untuk menunjukkan relasi ini.
Gambar 2. 7 Contoh Depends On Relationship Use Case (Sumber: Whitten & Bentley, 2007, p. 250)
e. Inheritance
Ketika dua atau lebih actors berbagi use case yang sama, dapat dilakukan pembagian actor tersebut ke dalam sebuah abstract actor yang baru sehingga mengurangi komunikasi yang redundant di dalam sistem. Contohnya didalam use case sistem perpustakaan, seorang patron yang adalah actor yang dapat melakukan “search library inventory” dan “check out book”. Sementara visitor adalah actor yang dapat melakukan “search library inventory” dan bisa mengajukan “apply for membership”. Dengan menciptakan sebuah abstract baru yaitu customer yang mana akan menjadi pewaris actor patron dan visitor.
Gambar 2. 8 Contoh Penggunaan Inheritance Dalam Use Case (Sumber: Whitten & Bentley, 2007, p. 250)
2.11.3 Activity Diagram
Whitten dan Bentley (2007, p. 390-391) menjelaskan bahwa activity diagram digunakan untuk menggambarkan urutan alur aktivitas dari sebuah use case atau proses bisnis. Activity diagram juga dapat digunakan sebagai logika model dengan sistem. Activy diagram diilustrasikan dengan simbol-simbol berikut:
Tabel 2. 1 Simbol Activity Diagram
No Notasi Keterangan
1 Initial node Initial node adalah simbol berbentuk lingkaran yang merepresentasikan mulainya activity diagram.
2
Actions
Actions adalah simbol yang berbentuk rounded rectangle yang merepresentasikan langkah-langkah dalam proses activity diagram.
3
Flow
Flow adalah simbol yang berbentuk panah yang menunjukkan alur dari activity diagram. Flow tidak perlu diikuti kata identifikasi, kecuali flow yang keluar dari decision.
4
decision
Decision adalah simbol yang berbentuk diamond dengan satu flow masukkan dan menghasilkan output dua atau lebih flow. Simbol ini menunjukkan kondisi yang membutuhkan pilihan actions yang akan dilakukan selanjutnya.
5
merge
Merge adalah simbol yang berbentuk diamond dengan dua atau lebih flow masukkan dan menghasilkan hanya satu flow output. Simbol ini menggabungkan flows masukkan yang sebelumnya dipisahkan oleh decision, dan berlanjut
6
fork
Fork adalah simbol yang berbentuk black bar dengan satu flow masukkan dan menghasilkan output dua atau lebih flow. Aksi output pararel ini dapat dilakukan dalam urutan apapun maupun secara bersamaan.
7
join
Join adalah simbol yang berbentuk black bar dengan dua atau lebih flow masukkan dan menghasilkan hanya satu output flow. Semua flow masukkan harus dikerjakan terlebih dahulu sebelum bisa melanjutkan ke proses berikutnya.
8
activity final
Activity final adalah simbol yang berbentuk lingkaran dengan lingkaran kecil solid didalamnya. Simbol ini menunjukkan akhir dari seluruh proses activity diagram.
(Sumber: Whitten dan Bentley, 2007, p. 391)
Berikut ini adalah contoh Activity Diagram:
Gambar 2. 9 Contoh Activity Diagram (Sumber: Whitten & Bentley, 2007, p. 392)
2.11.4 Sequence Diagram
Menurut Whitten dan Bentley (2007, p. 659), sequence diagram adalah diagram UML yang memberikan gambaran mengenai logika dari use case diagram dengan menggambarkan hubungan antar objek dalam waktu yang berurutan. Sequence diagram mempunyai notasi sebagai berikut:
Tabel 2. 2 Simbol Sequence Diagram
No Simbol Notasi Keterangan
1
actor
Actor adalah representasi dari user yang berinteraksi dengan user interface.
2
interface class
Interface class adalah representasi yang menggambarkan user interface class code.
3
controller class
Controller classes berfungsi untuk menentukan aktivitas apa yang akan dilakukan sebuah kelas dan parameter apa saja yang diterima dan dikembalikan serta menghubungkan kelas interface dengan kelas entity.
4
entity class
Entity Class adalah kelas yang melakukan suatu aktivitas terhadap data yang ada di dalam database.
5
messages
Messages mengindikasikan bahwa adanya pesan yang masuk yang dikirimkan ke kelas tertentu
6
activation bars
Activation bars berfungsi untuk menunjukkan alur hidup dari setiap instance object yang digunakan selama periode waktu tertentu..
7
return messages
Return messages merupakan pengembalian atau respon yang diberikan dari sebuah messages. 8
self-call
Self-Call adalah sebuah objek yang dapat memanggil methodnya sendiri.
9
frame
Frame adalah sebuah kotak yang menggambarkan bahwa ada satu atau lebih pesan yang opsional.
(Sumber: Whitten dan Bentley, 2007, p. 660)
Gambar 2. 10 Sequence Diagram of the Place New Order Use Case (Sumber: Whitten & Bentley, 2007, p. 659)
2.11.5 Class Diagram
Whitten dan Bentley (2007, p. 400-406) menjelaskan bahwa class diagram digunakan untuk menggambarkan kelas-kelas objek yang menyusun suatu sistem beserta hubungan antar kelas tersebut.
Class diagram terdiri dari tiga bagian utama, yaitu: 1. Nama kelas.
2. Atribut kelas. 3. Operasi kelas.
Gambar 2. 11 Struktur Class Diagram
Menurut pada pendapat Whitten dan Bentley (2007, p. 650) Visibility berfungsi untuk mendefinisikan apakah atribut dan operasi pada suatu kelas dapat diakses oleh kelas lain atau tidak UML memiliki 3 (tiga) level dari visibility yaitu:.
Tabel 2. 3 Keterangan Visibility
Visibility Level Simbol Keterangan
Private - Hanya dapat diakses oleh kelas itu sendiri
Protected #
Hanya dapat diakses oleh kelas itu sendiri dan kelas turunannya
Public + Dapat diakses oleh semua kelas yang berhubungan
Dalam membuat class diagram diperlukan beberapa langkah yaitu : a. Mengidentifikasi asosiasi dan multiplicity
Sebuah asosiasi antara dua kelas objek adalah suatu objek atau kelas yang perlu mengetahui mengenai yang lain. Hal ini memperbolehkan satu objek atau kelas untuk referensi silang ke objek atau kelas lain dan untuk dapat mengiriminya pesan. Setelah asosiasi diidentifikasi, multiplicity yang menentukan asosiasi harus didefinisikan. Multiplicity merupakan jumlah kejadian minimum dan maksimum dari suatu objek kelas yang berhubungan dengan objek kelas lain.
Gambar 2. 12 Contoh Association Class Diagram (Sumber: Whitten & Bentley, 2007, p. 377)
Berikut merupakan penjelasan mengenai jenis dari multiplicity, yaitu:
b. Mengidentifikasi hubungan generalisasi atau spesialisasi
Hubungan generalisasi atau spesialisasi merupakan sebuah teknik dimana atribut dan operasi yang umum pada beberapa tipe kelas dikelompokkan ke dalam kelasnya sendiri, yang disebut dengan supertype. Atribut dan operasi dari objek kelas supertype diturunkan (inherited) ke kelas objek lainnya, yang disebut dengan subtypes.
Gambar 2. 14 Contoh Generalization Tabel (Sumber: Whitten & Bentley, 2007, p. 376)
c. Mengidentifikasi hubungan agregasi atau komposisi
Aggregation merupakan suatu hubungan yang menyatakan bahwa suatu kelas merupakan bagian dari kelas lain yang lebih besar. Sedangkan composition merupakan sebuah aggregation yang lebih kuat, dimana secara keseluruhan bertanggung jawab atas terbentuknya dan hancurnya suatu part, dan setiap part berasosiasi hanya kepada satu whole object.
Dalam UML 2.0, notasi agregasi tidak digunakan lagi, karena hubungan komposisi memiliki perbedaan peran yang pasti dalam pemrograman, sedangkan hubungan agregasi memiliki peran yang kurang jelas. Misalnya, hubungannya antara klub dan anggota klub yang dapat disederhanakan menjadi relasi asosiasi satu atau lebih antara class object yang tidak saling bergantung.
Gambar 2. 15 Contoh Aggregation (Sumber: Whitten & Bentley, 2007, p. 379)
Gambar 2. 16 Contoh Composition (Sumber: Whitten & Bentley, 2007, p. 379)
Berikut adalah contoh dari Class Diagram :
Gambar 2. 17 Class Diagram (Sumber : Whitten & Bentley, 2007, p. 406)
2.12 Interaksi Manusia Komputer
2.12.1 Definisi Interaksi Manusia dan Komputer
Menurut Shneiderman dan Plaisant (2010, p. 22) Interaksi Manusia dan Komputer adalah ilmu yang mempelajari implementasi dan perancangan interaksi manusia sebagai user dengan sistem komputer. Perancangan yang dilakukan di sini adalah dengan memanfaatkan kelebihan teknologi yang dimiliki oleh komputer sehingga dapat menjangkau kapasitas dan kebutuhan manusia sebagai user.
2.12.2 User Interface
Menurut Galitz (2010) User interface adalah bagian dari komputer dan software yang manusia dapat dilihat, didengar, disentuh, diajak berbicara, diajak mengerti atau diarahkan.
2.12.3 Lima Faktor Manusia Terukur
Menurut Shneiderman dan Plaisant (2010, p. 32), faktor-faktor yang harus diperhatikan dalam merancang user interface disebut lima faktor manusia terukur. Lima faktor manusia terukur merupakan sebuah standarisasi untuk mengukur apakah sebuah aplikasi telah mencapai tujuannya atau belum agar aplikasi tersebut dapat menjadi lebih efektif, efisien, dan memberikan kepuasan kepada user. Faktor-faktor tersebut antara lain:
1. Time to learn (waktu belajar)
Lamanya waktu yang diperlukan oleh pengguna (user) agar dapat mempelajari bagaimana cara menggunakan aksi-aksi yang relevan dalam mengerjakan suatu tugas.
2. Speed of performance (kecepatan kinerja)
Lamanya waktu yang dibutuhkan dalam mengerjakan suatu tugas. 3. Rate of errors by users (tingkat kesalahan)
Seberapa banyak dan apa saja jenis kesalahan yang dilakukan oleh pengguna (user) dalam mengerjakan suatu tugas.
4. Retention over time (daya ingat)
Seberapa baik pengguna (user) mempertahankan pengetahuannya dalam jangka waktu tertentu.
5. Subjective satisfaction (kepuasan subjektif)
Banyaknya pengguna (user) yang suka menggunakan antarmuka (interface) yang beraneka ragam. Untuk mengetahui hal tersebut, dapat dilakukan wawancara (interview) dan surveys.
2.12.4 Eight Golden Rules / Delapan Aturan Emas
Shneiderman dan Plaisant (2010, p. 88-89) menjelaskan tentang delapan prinsip yang disebut sebagai “aturan emas”. Prinsip ini merupakan sebuah panduan dalam pembuatan user interface yang baik agar user dapat mengendalikan sistem sehingga produktivitas kerja menjadi meningkat. Prinsip-prinsip tersebut, antara lain:
1. Strive for consistency (Berusaha untuk konsisten)
Konsistensi dibutuhkan dalam segala situasi, konsistensi juga diperlukan dalam pengunaan tampilan seperti menu, layar bantuan, warna, rancangan, huruf kapital, jenis huruf, dan sebagainya. Terminologi yang ada dalam prompt, menu dan layar bantuan harus identik.
2. Cater to universal usability (Menyediakan fungsi yang bersifat universal)
Mengenali kebutuhan dari pengguna (user) yang berbeda-beda serta memfasilitasi perubahan konten. Perbedaan tersebut meliputi rentang usia ketidak mampuan, dan perbedaan teknologi dalam setiap kebutuhan panduan desain.
3. Offer informative feedback (Memberikan umpan balik yang informatif)
Untuk setiap aksi pengguna (user), seharusnya ada umpan balik (feedback) yang jelas.
4. Design dialogs to yield closure (Merancang dialog untuk hasil akhir) Urutan langkah suatu aksi seharusnya disusun ke dalam grup dengan awal, tengah, dan akhir. Umpan balik yang informatif pada akhir aksi haruslah memberikan kepuasan.
5. Prevent errors (Memberikan penanganan dan pencegahan kesalahan yang sederhana)
Dalam melakukan perancangan sistem, sebaiknya menghindari terjadinya kesalahan (error) yang serius atau fatal ketika sistem digunakan oleh pengguna (user).
6. Permit easy reversal of actions (Memungkinkan pengembalian aksi yang mudah)
Aksi-aksi yang dilakukan didalam sistem harus dapat dikembalikan ke aksi atau keadaan yang sebelumnya, sehingga ketika pengguna (user) mengetahui adanya kesalahan aksi tersebut dapat dibatalkan (cancel). 7. Support internal locus of control (Mendukung pengendalian internal)
Pengguna (user) yang berpengalaman menginginkan experience pengendalian dimana pengguna (user) menguasai antarmuka dan antarmuka tersebut merespons aksi tersebut.
8. Reduce short-term memory load (Mengurangi beban ingatan jangka pendek)
Keterbatasan pemrosesan informasi dalam memori jangka pendek pengguna merupakan salah satu hal yang harus diperhatikan.
2.12.5 Waterfall Model
Menurut Sommerville (2011, p.29), Waterfall Model adalah “sebuah model proses perangkat lunak yang melibatkan tahap perkembangan diskrit: spesifikasi, desain, implementasi, pengujian, dan pemeliharaan”. Pada prinsipnya, satu tahap harus selesai sebelum mengerjakan tahap berikutnya.
Gambar 2. 18 Waterfall Model
Berikut ini adalah tahapan dari model proses waterfall. 1. Requirements definition
Layanan sistem, kendala, dan tujuan ditetapkan ketika konsultasi dengan pengguna sistem. Semua itu didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem.
2. System and software design
Proses desain sistem mengalokasikan persyaratan untuk perangkat keras atau perangkat lunak sistem dengan membentuk arsitektur sistem secara keseluruhan. Software design melibatkan, mengidentifikasi, dan menggambarkan abstraksi sistem perangkat lunak yang mendasar dan hubungannya.
3. Implementation and unit testing
Selama tahap ini, desain perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Unit pengujian melibatkan verifikasi bahwa setiap unit memenuhi spesifikasinya. 4. Integration and system testing
Unit program diintegrasi dan diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah pengujian, sistem perangkat lunak disampaikan kepada pelanggan.
5. Operation and maintenance
Fase ini adalah fase terpanjang dari lifecycle. Pemeliharaan melibatkan mengoreksi kesalahan yang tidak ditemukan pada tahap-tahap awal lifecycle, meningkatkan implementasi unit sistem dan meningkatkan pelayanan sistem sebagai kebutuhan baru yang ditemukan.
2.13 Teori yang terkait tema penelitian 2.13.1 Sistem
Menurut Al, Watson Et (2007)(p.10) sistem adalah sebuah objek dengan design khusus yang umum dikatakan, sebuah sistem melibatkan segala sesuatu yang ada di dalam organisasi baik secara logika dan fisik. Sistem mecakup data, proses, kebijakan, aturan dan kemampuan, perangkat keras, perangkat lunak dan komponen lainnya, termasuk juga manusia dan aspek selain manusia.
2.13.2 Jasa
Menurut Kotler & Keller (2012: 356) jasa adalah setiap tindakan atau kegiatan yang ditawarkan oleh suatu pihak kepada pihak lain, yang pada dasarnya tidak terwujud dan tidak mengakibatkan kepemilikan apapun. Produksinya dapat dikaitkan atau tidak dengan suatu produk fisik.
2.13.3 Teori Pemesanan
Menurut Kamus Besar Bahasa Indonesia, pesan adalah kata baku dari pemesanan yang memiliki arti “hendak membeli supaya dikirim”. Pesanan adalah barang yang dipesan. Jadi pemesanan adalah proses, perbuatan, atau cara memesan. Dan pengertian pemesanan secara umum yaitu kondisi di mana pembeli melakukan pemesanan terhadap satu atau lebih barang yang ditawarkan oleh penjual.
2.13.4 Apache Server
Menurut pendapat dari Suprianto (2008, p. 1), Apache Server merupakan web server yang digunakan oleh PHP dan berfungsi untuk menampilkan hasil proses script PHP ke komputer browser dalam bentuk tag HTML.
2.13.5 PHP myAdmin
Menurut pendapat dari Suprianto (2008, p. 1), PHPmyAdmin adalah kakas untuk pengelolaan basis data yang berbasis web.
2.13.6 Logistik
Pengertian logistik menurut H. Subagya M. Suganda pada hakekatnya mencakup tiga pengetahuan dasar, yaitu :
1. Luas ruang lingkup (scope) yang mencakup segi-segi khusus tertentu adminstrasi militer.
2. Kedudukannya disamping sejajar dengan ilmu strategi dan ilmu taktik, logistik juga merupakan kegiatan utama ketiga dari seni militer (the third major branch of the military art).
3. Arti asalnya, pandai dalam mengadakan atau merumuskan perkiraan- perkiraan. (Suganda, Manajemen Logistik, 1988 : 8)
Maka dapat ditarik kesimpulan, bahwa logistik merupakan suatu ilmu pengetahuan atau seni serta proses mengenai perencaanaan dan penentuan kebutuhan, pengadaan, penyimpanan, penyaluran dan pemeliharaan serta penghapusan material-material atau alat-alat.