BAB 2 LANDASAN TEORI
2.1 Rekayasa Piranti Lunak Menurut Pressman (2010:13-14), rekayasa piranti lunak adalah teknologi berlapis yang memiliki fondasi yang disebut dengan process layer yang terdiri dari tools, methods, process, dan quality focus. Process pada rekayasa piranti lunak akan membentuk dasar untuk pengendalian manajemen proyek software dan menetapkan konteks dimana metode teknis yang diterapkan, produk kerja (dokumen,data, laporan, dan lain sebagainya) diproduksi, menentukan milestone, menjamin kualitas dan perubahan terjadi dengan baik. Method pada rekaya piranti lunak menyediakan teknis cara membangun software, sementara tools pada rekayasa piranti lunak menyediakan bantuan otomatis untuk process dan method.
Gambar 2.1 Gambar Software Engineering Layer (Pressman, 2010:14)
2.1.1 Kategori Software Menurut Pressman (2010:7), software dibedakan atas tujuh kategori, yaitu: a.
System Software Kumpulan dari program-program yang ditulis untuk melayani program lainnya.
b.
Application Software Program yang berdiri sendiri dan menyelesaikan kebutuhan bisnis yang spesifik. 7
8 c.
Engineering / Scientific Software Software yang telah digolongkan oleh algoritma “number-crunching”. Aplikasi ini digunakan dalam bidang astronomi hingga volcanology, dari bidang biologi molekul hingga manufaktur otomatis.
d.
Embedded Software Software yang berada dalam sebuah produk atau sistem dan digunakan untuk mengimplementasikan dan mengendalikan fitur dan fungsi untuk kebutuhan pengguna dan untuk sistem itu sendiri.
e.
Product-line Software Software yang dirancang dengan tujuan menyediakan kemampuan spesifik untuk digunakan oleh berbagai macam customer.
f.
Web Application Kumpulan dari file hypertext yang menampilkan informasi menggunakan teks dan grafik yang terbatas. Namun, ketika Web 2.0 muncul, WebApps berkembang ke dalam lingkungan yang lebih kompleks dengan berintegrasi terhadap database perusahaan dan business application.
g.
Artificial intelligent Software Artificial intelligent software dibuat menggunakan algoritma
non-
numerical untuk menyelesaikan masalah yang komplek yang tidak dapat dilakukan oleh perhitungan atau analisis langsung.
2.2 Agile Development Menurut Pressman (2010:67), agile development adalah pengembangan yang bersifat agile yaitu dapat merespon dengan tepat terhadap suatu perubahan. Perubahan adalah segala hal yang berkaitan dengan software development. Perubahan ketika sebuah software dibuat, perubahan terhadap anggota tim, perubahan karena teknologi yang baru, segala perubahan yang mungkin memberikan suatu dampak terhadap produk yang dibuat, atau terhadap proyek yang membuat produk tersebut. Agility sendiri lebih dari sebuah respon yang efektif terhadap suatu perubahan. Agility menyadari bahwa tahap perencanaan adalah dunia yang tidak pasti yang memiliki batasan dan sebuah rencana proyek harus bersifat fleksibel.
9 Proses model agile terdiri dari Extreme Programming (XP), Adaptive Software Development (ASD), Dynamic System Development Method, Scrum, Agile Modeling.
2.2.1 Extreme Programming (XP) Menurut Pressman (2010:72-73), Extreme Programming diperkenalkan oleh Kent Beck pada akhir tahun 1980an. Kent Beck menyatakan ada lima nilai yang menjadi dasar untuk setiap pekerjaan yang dilakukan sebagai bagian dari XP, yaitu komunikasi, kesederhanaan, umpan balik, keberanian, dan rasa hormat.Untuk bisa mencapai komunikasi yang efektif antara software engineer dan stakeholder (misalnya untuk membangun fitur yang diperlukan dan fungsi untuk software), XP menekankan secara dekat, namun informal (secara lisan) kolaborasi antara customer dengan developer. Untuk bisa mencapai kesederhanaan, XP memberikan batasan kepada untuk merancang hanya untuk kepentingan mendesak, daripada memikirkan kebutuhan masa depan. Umpan balik berasal dari tiga sumber, yaitu: 1.
Software yang diimplementasikan.
2.
Customer.
3.
Tim Software.
Untuk keberanian, pada dasarnya banyak tim software yang berargumen tentang “melakukan perancangan untuk kemudian hari” karena dapat menghemat usaha untuk jangka waktu yang lebih lama. Namun sebagai tim menggunakan XP harus memiliki keberanian untuk merancang apa yang saat ini, dengan pertimbangan bahwa kebutuhan masa depan akan mengalami perubahan drastis.Dengan mengikuti nilai-nilai tersebut, akan tercipta rasa hormat dalam setiap anggota tim, antara stakeholder, dan secara tidak langsung dengan software itu sendiri.
10
Gambar 2.2 Gambar Proses Extreme Programming (Pressman, 2010:74)
Menurut Pressman (2010:73-77), XP menggunakan konsep pendekatan yang berorientasi objek dan memiliki empat kerangka kegiatan, yaitu : 1. Planning Kegiatan Perencanaan dimulai dengan mengumpulkan requirement yang memungkinkan para anggota teknis tim XP memahami konteks bisnis untuk software dan untuk mendapatkan pandangan luas untuk output yang diperlukan dan fitur utama fungsinya. Hal ini akan mengarah ke penciptaan satu set “cerita” (biasa disebut juga cerita user) yang mendeskripsikan ouput yang dibutuhkan, fitur, dan fungsi dari software yang akan dibuat. Setiap cerita ditulis oleh customer dan ditempatkan pada kartu indeks dan memberikan skala prioritas berdasarkan pada keseluruhan nilai bisnis dari fungsi fitur tersebut. Jika cerita tersebut dianggap membutuhkan waktu lebih dari tiga minggu, customer diminta untuk membagi cerita tersebut menjadi cerita yang lebih kecil lagi dan perhitungan nilai serta biaya akan terjadi lagi. Penting untuk diingat bahwa cerita baru dapat ditulis setiap saat. Customer dan developer bekerja bersama untuk menentukan bagaimana mengelompokkan cerita untuk dikembangkan oleh tim XP. Saat komitmen dasar (kesepakatan mengenai cerita yang akan dimasukkan, tangga pengiriman,dan lain sebagainya) telah dibuat,
tim XP akan
11 mengurutkan cerita yang akan dikembangkan dengan menggunakan salah satu dari tiga cara berikut: 1.
Semua cerita akan langsung dilaksanakan segera (dalam waktu beberapa minggu).
2.
Cerita dengan prioritas tertinggi akan dilaksanakan terlebih dulu.
3.
Cerita paling berisiko akan dilaksanakan terlebih dahulu.
Setelah proyek pertama diselesaikan, tim XP menghitung kecepatan proyek untuk digunakan sebagai : a.
Estimasi tanggal pengiriman dan jadwal penyelesaian berikutnya
b. Menentukan terjadinya komitmen yang berlebih untuk semua cerita dalam keseluruhan pengembangan proyek. Jika hal ini terjadi maka akan dilakukan perubahan
terhadap isi komitmen atau mengubah
jadwal pengiriman akhir. Selama proses pengembangan berlangsung, customer dapat menambah cerita, mengubah nilai cerita yang sudah ada, membagi cerita, atau menghapusnya. Kemudia tim XP mempertimbangkan kembali semuanya dan membuat rencana yang sesuai. 2.
Design Desain pada XP mengikuti prinsip KIS (“Keep It Simple”). Desain yang
sederhana selalu lebih dipilih dibandingkan dengan desain yang kompleks. Desain untuk fungsi tambahan (karena developer merasa akan diminta nanti) tidak disarankan. XP menerapkan penggunaan CRC (Class-ResponsibilityCard) sebagai mekanisme yang efektif untuk memikirkan mengenai software dalam
konteks
berorientasi
objek.
CRC
akan
mengidentifikasi
dan
mengorganisasikan class berorientasi objek yang sesuai dengan peningkatan software. Jika terjadi masalah dalam pembuatan desain cerita, XP merekomendasikan suatu solusi yang disebut “Spike Solution”. Spike solution adalah pembuatan segera suatu prototype operasional dari sebagian desain yang mengalami masalah.
12 3. Coding Setelah cerita selesai dikembangkan dan desain kerja awal selesai, tim XP tidak segera melanjutkan ketahap coding, melainkan mengembangkan serangkaian tes unit yang akan dijalankan pada setiap cerita yang akan dibuat. Saat unit tes telah dibuat, developer akan lebih fokus kepada apa yang harus dibuat untuk melewati tes tersebut. Tidak ada sesuatu yang berlebihan yang ditambahkan (prinsip KIS). Saat kode selesai dibuat, kode dapat diuji segera, sehingga dapat memberikan umpan balik segera kepada developer. XP merekomendasikan konsep “Pair Programming” yaitu dua orang bekerja bersama dalam
pembuatan kode untuk cerita. Hal ini
memberikan kesempatan pada pemecahan masalah secara langsung dan membuat developer lebih fokus kepada masalah yang sedang ditanganinya. Pada dasarnya pada pair programming, kedua developer memiliki peran yang berbeda yaitu untuk memikirkan mengenai detail coding pada desain, dan untuk memastikan bahwa coding yang dibuat sudah sesuai standar dan melewati tes unit. Pair programming memiliki “continuous integration” yang merupakan strategi untuk menghindari
kompatibilitas
dan
menghadapi masalah dan menyediakan “smoke testing” untuk membantu menemukan error lebih awal. Menurut Pressman (2010:463), smoke testing adalah tes yang biasa digunakan ketika pengembangan software. Smoke testing
dirancang untuk mekanisme proyek dengan waktu yang kritis,
memungkinkan tim software melakukan penilaian proyek lebih sering. Dalam proses coding juga terdapat proses refactoring yaitu proses mengubah sistem software yang dilakukan dengan tujuan untuk meningkatkan struktur internal desain (atau sumber code) tanpa mengubah fungsi eksternal atau behaviour-nya. Ketika software di refactor, tampilan yang ada akan diperiksa untuk redudanscy, bagian tampilan yang tidak digunakan, algoritma yang tidak efisien atau tidak diperlukan, dan kesalahan tampilan lain yang dapat diperbaiki untuk menghasilkan tampilan yang lebih baik (Pressman, 2010: 229)
13 4. Testing Tes penerimaan pada XP, atau biasa disebut juga tes customer, dilakukan oleh customer dan berfokus pada keseluruhan sistem yang terlihat dan dapat ditinjau oleh customer.
2.3 Interaksi Manusia Komputer (IMK) Menurut Ben Shneiderman (2010:4-5), interaksi manusia komputer adalah disiplin ilmu yang mempelajari hubungan antara manusia dan komputer yang meliputi perancangan, evaluasi, dan implementasi antarmuka pengguna komputer agar mudah digunakan oleh manusia.
2.3.1 Eight Golden Rules Dalam perancangan antarmuka harus memperhatikan aturan-aturan yang terangkum dalam 8 (delapan) golden rules (Shneiderman dan Plaisant, 2010:88), yaitu : 1. Berusaha untuk konsisten Hal ini sangat penting bagi antarmuka user agar user tidak mengalami kesulitan dalam mencari sebuah informasi. Oleh karena itu, tampilan layar harus dibuat konsisten antara yang satu dengan yang lainnya. 2. Melayani usability universal Hal ini dimaksudkan agar pembuat aplikasi dapat mengenali kebutuhan pengguna yang beragam dan desain yang bersifat
plasticity, serta
memfasilitasi transformasi dari konten. Dalam sistem juga dapat ditambahkan fitur bagi pemula, seperti penjelasan, dan fitur untuk para ahli, seperti shortcut dan aksi timbal balik yang lebih cepat sehingga dapat memperkaya desain antarmuka dan meningkatkan persepsi kualitas sistem. 3. Memberikan umpan balik yang informatif User melakukan aksi harus ada umpan balik agar user terarah dan tidak tersesat dalam pencarian informasi.
14 4. Merancang dialog yang memberikan penutupan Berinteraksi dengan Komputer sama halnya seperti saat berdialog. Aksi yang berurutan harus diorganisasi dan memiliki awal, tengah, dan akhir. User perlu mengetahui kapan aksi tersebut berakhir. Umpan balik yang informatif pada saat sekumpulan aksi telah dilakukan akan memberikan kepuasan bagi user, serta mengindikasikan bahwa user boleh melakukan aksi selanjutnya. 5. Pencegahan kesalahan Desain sebuah sistem harus memungkinkan user untuk menghindari kesalahan yang serius. Sebagai contoh, membuat menu yang tidak bisa diakses menjadi berwarna abu-abu. Jika user melakukan kesalahan, antarmuka harus dapat mendeteksi kesalahan tersebut dan menawarkan instruksi yang sederhana dan spesifik untuk pemulihan. 6. Memungkinkan pembalikan aksi yang mudah User dapat kembali pada aksi yang telah dilakukan sebelumnya jika terdapat kesalahan, sehingga user berani memilih menu yang tidak umum. 7. Mendukung pusat kendali internal Kepuasan user akan tinggi jika user merasakan bahwa dia telahmemegang kendali, sedangkan kepuasan user akan rendah jika komputer yang memegang kendali. 8. Mengurangi beban ingatan jangka pendek Ingatan jangka pendek manusia sangat terbatas. Oleh karena itu harus dilakukan hal-hal yang memungkinkan user tidak perlu mengingat apa pun. Sebagai contoh, daripada meminta user untuk
mengetik nama file yang
akan diterima, lebih baik apabila sistem dibuat agar terdapat tombol attach file sehingga user tinggal menekan tombol tersebut untuk mengambil file.
15 2.3.2 Lima Faktor Manusia Terukur Menurut Ben Shneiderman (2010:14) untuk membuat suatu user interface yang memenuhi tujuan yang mengagumkan atau user interface bersifat efisien, efektif dan memuaskan ada beberapa faktor pengukur yang dijadikan sebagai evaluasi, yaitu : 1. Waktu untuk belajar Lamanya waktu yang digunakan user untuk mempelajari dan memakai actions yang akan digunakan untuk tugas yang berhubungan. 2. Kecepatan kinerja Lamanya waktu yang dibutuhkan user untuk menyelesaikan sebuah tugas. 3. Tingkat Kesalahan Yang Dibuat User Tingkatan banyaknya kesalahan yang dilakukan oleh user dan jenis kesalahan apa yang dilakukan oleh user. Pengendalian kesalahan merupakan komponen yang kritis dalam user interface. 4. Daya Ingat Bagaimana user dapat mempertahankan daya ingat mereka mengenai interface setelah jangka waktu tertentu. Frekuensi penggunaan interface akan meningkatkan daya ingat. 5. Tingkat Kepuasan Tingkat kepuasan user akan beberapa aspek interface yang dapat diketahui dengan melakukan kuesioner dan interview.
2.4 HyperText Markup Language (HTML) Menurut Tanenbaum dan Wetherall (2011:663), HTML memungkinkan pengguna untuk menghasilkan halaman web yang memiliki teks, grafik, video, dan lain sebagainya. Bahasa Markup memiliki perintah eksplisit. Contohnya pada HTML, terdapat perintah dengan tag
untuk memulai Bold Mode dan tag untuk mengakhiri Bold Mode.
16 2.5 Javascript Menurut Tanenbaum dan Wetherall (2011:676), JavaScript merupakan bahasa level tinggi yang ideal untuk mendesain halaman web yang interaktif, karena JavaScript memiliki fitur seperti membuat pop up dialog, menyimpan hasil string ke dalam suatu variable hanya dengan menggunakan satu baris kode program. 2.6 JQuery Menurut
Benedtti
(2011:5),
JQuery
adalah
JavaScript
Library
yang
spesialisainya merubah dokumen pada halaman web saat bekerja. jQuery library menyediakan tujuan umum pemisah layer pada beberapa web scripting.
2.7 Active Server Pages.NET (ASP.NET) ASP.NET adalah platform web yang menyediakan semua layanan yang dibutuhkan user untuk membangun aplikasi web berbasis server ASP.NET dibangun diatas .NET framework sehingga semua fitur framework tersedia untuk aplikasi ASP.NET. Aplikasi yang dibuat user dapat ditulis dengan bahasa pemrograman apapun termasuk Visual Basic dan C#. (Microsoft, 2015)
2.8 C# C# (C Sharp) adalah bahasa pemrograman modern dan tingkat tinggi (highlevel) yang memiliki tujuan umum untuk membangun aplikasi menggunakan visual studio dan .NET Framewrok. C# dirancang untuk menjadi sederhana, kuat, typesafe, dan berorientasi objek. (Microsoft, 2015)
2.9 SQL Server 2008 Menurut Leiter (2008:3), SQL Server 2008 diperkenalkan olah Microsoft pada Agustus 2008. SQL Server 2008 sangat dikenal sebagai Relational Database Management System (RDBMS). Namun tidak hanya itu saja, SQL Server 2008 lebih akurat dapat digambarkan juga sebagai Data Enterprise Platform yang dibangun di
17 atas banyak fitur yang pertama kali didirikan di SQL Server 2005. Sementara itu, SQL Server 2008 juga memperluas penawaran untuk menyertakan perbaikan dan penambahan. Karena dikenal dengan peran sebagai RDBMS tradisional, SQL Server 2008 juga menyediakan kemampuan reporting, analisis data yang kuat, dan data mining. SQL Server 2008 juga mempunyai fitur-fitur yang mendukung aplikasi data yang berbeda, data-driven event notification, dan masih banyak lagi.
2.10
.NET framework NET Framework adalah teknologi yang mendukung pembangunan dan menjalankan generasi berikutnya dari aplikasi dan layanan XML Web. .NET framework terdiri dari runtime bahasa umum dan class library .NET framework. Dapat dibayangkan runtime berperan sebagai agen yang melakukan manage terhadap code pada waktu eksekusi, menyediakan layanan inti seperti manajemen memori, manajemen thread, dan melakukan remoting, sementara meningkatkan keamanan dan ketahanan dari akurasi code. Sedangkan class library .NET framework adalah koleksi yang berorientasi objek yang dapat digunakan kembali dan dapat digunakan untuk mengembangkan aplikasi mulai dari tradisional command-line atau aplikasi Graphical User Interface (GUI) hingga aplikasi berbasis pada inovasi terbaru yang disediakan oleh ASP.NET, seperti WebForms dan XML WebServices. (Microsoft, 2015).
2.11
Internet Menurut Tanenbaum dan Wetherall (2011:55), internet adalah kumpulan besar jaringan yang berbeda yang menggunakan protocol umum
tertentu
dan
menyediakan jasa umum tertentu.
2.12
Database Menurut Connoly dan Begg (2010:15), basis data adalah suatu kumpulan logikal data yang saling berhubungan dan deskripsi dari data tersebut dirancang untuk memenuhi kebutuhan informasi suatu organisasi.
18 2.13
Database Management System (DBMS) Menurut Connoly dan Begg (2010:16), DBMS adalah sistem perangkat lunak yang memungkinkan pengguna mendefinisikan, membuat, menjaga dan melakukan akses kontrol ke database. DBMS menyediakan beberapa fasilitas, seperti : a. Memungkinkan pengguna mendefinisikan database melalui DDL (Data Definition Language). b.
Memungkinkan pengguna memasukkan data, melakukan perubahan data, dan menghapus data melalui DML (Data Manipulation Language).
c.
Menyediakan akses kontrol ke database, seperti menyediakan keamanan sistem, sistem terintegritas, sistem kontrol yang terkonkurensi, pemulihan sistem kontrol, dan katalog yang dapat diakses oleh pengguna. Menurut Connoly dan Begg (2010:50), DBMS memiliki fungsi sebagai berikut: a. Menyimpan, mengambil, dan mengubah data. b. Katalog yang dapat diakses oleh pengguna. c. Membantu transaksi. d. Menyediakan layanan kontrol konkurensi. e. Menyediakan layanan recovery. f. Menyediakan layanan otoritas. g. Menyediakan bantuan dalam komunikasi data. h. Memberikan layanan terintegritas. i. Memberikan layanan untuk mempromosikan data independencce. j. Menyediakan layanan utilitas.
2.14
Unifiend Modeling Languange (UML) Menurut Whitten dan Bentley (2007:163), rangkaian lengkap alat pemodelan untuk pendekatan berorientasi obyek. UML tidak menentukan metode untuk pengembangan sistem. UML hanya sebuah notasi yang diterima secara luas sebagai standar dalam object modelling (Whitten dan Bentley, 2007:371)
19 2.14.1 Class Diagram Menurut Whitten dan Bentley (2007:400), class diagram adalah penggambaran grafis suatu struktur objek dari sistem yang bersifat statis, menunjukkan objek class dari komposisi sistem tersebut dan juga hubungan antara objek class tersebut. Menurut Whitten dan Bentley (2007:648-651), class diagram memiliki 3 area pokok, yaitu : 1. Nama class Nama dari class 2.
Atribut class Atribut class adalah kelas objek yang berisi informasi mengenai proses bisnis dan penerapan analysis class.
3.
Metode class Metode class adalah logika software yang dieksekusi dalam menanggapi suatu pesan. < Nama Class > -
< Atribut Class >
+
< Metode Class >
Gambar 2.3 Area Pokok Class Diagram
2.14.1.1
Visibility
Menurut Whitten dan Bentley (2010:675), visibility adalah cara mendefinisikan atribut atau method yang diakses oleh objek lain. Dalam atribut dan metode pada class bisa memiliki salah satu sifat (visibility) berikut : 1. Private Tidak dapat dipanggil dari luar class yang bersangkutan. Memiliki tanda ( - ) di depan nama variabel.
20 2. Protected Hanya dapat dipanggil oleh class yang bersangkutan dan anakanak dari class tersebut yang mewarisinya. Memiliki tanda ( # ) di depan nama variabel. 3. Public Dapat dipanggil siapa saja. Memiliki tanda ( + ) di depan nama variabel.
2.14.1.2
Multiplicity
Menurut Whitten dan Bentley (2007:378), Multiplicity adalah jumlah
minimum dan jumlah maksimum kejadian satu
kelas objek untuk satu
kejadian dari kelas objek yang
terkait. Multiplicity terdiri dari:
21
Tabel 2.1 Tabel berbagai macam notasi multiplicity disertai contohnya (Whitten dan Bentley, 2007:377)
2.14.1.3
Relationship
Menurut Whitten dan Bentley (2007:376), dalam class diagram terdapat beberapa jenis hubungan (relationship) antar class, yaitu: 1.
Association Relationship Secara konseptual, tidak ada obyek yang terisolasi. Suatu object class akan berinteraksi dengan object class lain dalam suatu
lingkungan
sistem.
Garis
yang
menunjukkan
relationship antar object class dalam UML disebut juga sebagai Association. Association relationship terdiri dari : a.Bidirectional
22 Association relationship bidirectional adalah association relationship yang dapat diartikan secara dua arah. Dalam association relationship bidirectional, setiap class yang berhubungan dapat saling mengakses data satu sama lain.
Gambar 2.4 Gambar Association Relationship Bidirectional (Whitten dan Bentley, 2007:377)
b.
Unidirectional
Association relationship unidirectional adalah association relationship yang terjadi ketika terdapat hubungan antara dua class, namun hanya satu class saja yang dapat melakukan akses, sedangkan class yang satunya tidak dapat melakukan akses balik ke class tersebut.
Gambar 2.5 Gambar Association Relationship Unidirectional (Whitten dan Bentley, 2010:650)
2.
Aggregation Relationship Hubungan dimana sebuah class yang lebih besar memiliki satu atau lebih bagian class. Sebaliknya, bagian kecil dari suatu class merupakan bagian dari class yang lebih besar. Aggregation Relationship memiliki notasi diamond putih.
23
Gambar 2.6 Gambar Aggregation Relationship (Whitten dan Bentley, 2007:379)
3.
Composition Relationship Hubungan dimana sebuah class yang lebih besar (“whole”) bertanggungjawab atas penciptaan dan penghancuran class kecil (“part”)yang merupakan bagian darinya. Jika class besar dihancurkan, maka class kecil yang merupakan bagian dari class besar tersebut akan hancur pula. Dinotasikan dengan solid diamond.
24
Gambar 2.7 Gambar Composition Relationship (Whitten dan Bentley, 2007:379)
25
Gambar 2.8 Gambar Class Diagram (Whitten dan Bentley, 2007:406)
2.14.2 Use Case Diagram Menurut Whitten dan Bentley (2007:246), Use Case Diagram adalah diagram yang menggambarkan interaksi antara sistem eksternal
dan
user.
Dengan
kata
lain,
use
dan
case
sistem diagram
mendeskripsikan siapa yang akan menggunakan sistem dan dengan cara apa user mengharapkan dapat berinteraksi dengan sistem.
26 Menurut Whitten dan Bentley (2007:246-248), use case diagram terdiri dari: a. Use Case Use Case mendeskripsikan fungsi sistem dari perspektif eksternal user dengan cara dan terminologi yang diketahui oleh user (Whitten dan Bently, 2007:246).
Gambar 2.9 Simbol Use Case (Whitten dan Bentley, 2007:246)
b. Actor Menurut Whitten dan Bently (2007:247), actor adalah apapun yang dapat berinterinteraksi dengan sistem untuk bertukar informasi. Actor tidak harus selalu manusia. Actor dikelompokkan dalam 4 tipe, yaitu: 1. Primary Business Actor Primary Business Actor adalah stakeholder yang mendapat keuntungan dari menjalankan use case yang ada dengan menerima sesuatu yang dapat diukur atau diobservasi nilainya. 2. Primary System Actor Primary System Actor
adalah stakeholder yang secara
langsung berhadapan dengan sistem untuk memulai suatu business event atau system event. 3. External Server Actor External Server Actor adalah stakeholder yang memberikan tanggapan untuk permintaan dari use case. 4. External Receiver Actor
27 External Receiver Actor adalah stakeholder yang bukan termasuk aktor utama, namun mendapatkan suatu nilai yang dapat diukur dari suatu use case.
Gambar 2.10 Simbol Actor (Whitten dan Bentley, 2007:247)
c. System Boundary Menurut
Whitten
dan
Bentley
(2007:319),
system
boundary adalah lingkungan sistem informasi termasuk eksternal agent yang membentuk batas dari suatu sistem dan menentukan tempat untuk sistem interface dengan lingkungannya.
System System Boundary
Gambar 2.11 Gambar system boundary pada use case
28 d. Relationship Menurut
Whitten
dan
relationship digambarkan
Bentley
(2007:248),
sebagai garis antara dua
simbol pada use case diagram. Relationship pada
use
case dibedakan menjadi : 1. Association Relationship Hubungan antara actor dengan use case, dimana interaksi terjadi diantara mereka.
Gambar 2.12 Gambar Association Relationship pada Use Case Diagram (Whitten dan Bentley, 2007:248)
2. Extend Relationship Hubungan antara extension use case dengan use case yang melakukan extension tersebut.
Gambar 2.13 Gambar Extension Use Case (Whitten dan Bentley, 2007:249)
29 3. Uses Relationship Hubungan antara abstract use case dengan use case yang menggunakannya.
Gambar 2.14 Gambar Abstract Use Case (Whitten dan Bentley, 2007:249)
4. Depends On Relationship Hubungan yang menyatakan bahwa sebuah use case tidak dapat dilakukan sebelum use case yang lainnya selesai dilakukan.
30
Gambar 2.15 Gambar Depends On Relationship (Whitten dan Bentley, 2007:250)
5. Inheritance Relationship Hubungan antara actor yang diciptakan untuk menyederhanakan gambar ketika sebuah actor abstrak mewarisi peran dari berbagai actor yang asli.
Gambar 2.16 Gambar Inheritance Relationship (Whitten dan Bentley, 2007:251)
31
Gambar 2.17 Use Case Diagram (Whitten dan Bentley, 2007:246)
2.14.3 Use Case Narrative Menurut Whitten dan Bentley (2007:246), use case narrative adalah deskripsi textual dari suatu business event dan bagaimana user berinteraksi dengan sistem untuk menyelesaikan suatu tugas.
2.14.4 Sequence Diagram Menurut Whitten dan Bentley (2007:394), sequance diagram adalah diagram yang menggambarkan interaksi antara actor dengan sistem dalam skenario use case. Berdasarkan Whitten dan Bentley (2007:394-395), sequance diagram memilik beberapa notasi : a. Actor Actor yang menginisiasi use case ditunjukkan dengan simbol actor use case.
32
Gambar 2.18 Gambar Actor pada Sequence Diagram (Whitten dan Bentley, 2007:395)
b. Objek Kotak yangmenunjukkan sistem sebagai “kotak hitam” atau
secara
keseluruhan. Tanda baca (:) adalah notasi standar sequence diagram untuk menunjukkan instance yang sedang berjalan dalam sistem.
Gambar 2.19 Gambar objek pada Sequence Diagram (Whitten dan Bentley, 2007:395)
c. Lifelines Garis vertikal putus-putus memanjang ke bawah dari actor dan simbol sistem yang menunjukkan urutan kehidupan (life of the sequence).
Gambar 2.20 Lifelines pada Sequence Diagram
33 d. Activation Bars Activation Bars adalah bar yang berada pada lifelines yang menunjukkan lama periode ketika peserta aktif berinteraksi.
Gambar 2.21 Gambar Activation Bars pada Sequence Diagram
e. Input Messages Input Messages adalah panah horizontal dari actor ke sistem yang menunjukkan input pesan
Messages Gambar 2.22 Gambar Input Messages pada Sequence Diagram
f.
Output Messages Output Messages adalah panah horizontal dari sistem ke actor. Output Messages
Gambar 2.23 Gambar Output Messages pada Sequence Diagram
34 g. Self Call Self Call adalah obyek yang dapat memanggil method-nya sendiri.
Gambar 2.24 Gambar self call pada Sequence Diagram
h.
Frame Frame adalah kotak yang dapat melampirkan satu atau lebih pesan untuk memecah sequance.
opt
loop
alt
Gambar 2.25 Gambar Frame pada Sequence Diagram
Gambar 2.26 Gambar Sequence Diagram dengan penambahan destructor (Whitten dan Bentley, 2007:659)
35 2.15
Entity Relationship Diagram (ERD) Menurut Whitten dan Bentley (2007:271), ERD adalah model data yang menggunakan beberapa notasi untuk menggambarkan data dalam hal entitas dan hubungan yang dijelaskan oleh data tersebut. ERD terdiri dari beberapa bagian, yaitu : 1.
Entitas Sebuah class dari orang, tempat, objek, peristiwa, atau konsep yang dianggap perlu untuk menangkap dan menyimpan data.
2. Atribut Deskriptif properti atau karakteristik entitas. 3.
Key Atribut atau kelompok atribut, yang mengasumsikan nilai yang unik untuk setiap entitas. Biasa disebut juga identifier.
4.
Relationships Hubungan bisnis alami antara satu atau lebih entitas.
5.
Cardinality Jumlah minimum dan maksimum kejadian dari satu entitas yang mungkin berhubungan dengan entitas lainnya.
6.
Degree Jumlah suatu entitas yang berpartisipasi dalam relationship.