BAB II TINJAUAN PUSTAKA DAN DASAR TEORI
B. Diagram-diagram dalam UML
Diagram-diagran dalam UML sebagai berikut : 1. Use Case Diagram.
Use case diagram mendiskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat untuk mengetahui fungsi yang ada
18 di dalam sebuah sistem informasi dan pengguna yang berhak menggunakan fungsi-fungsi tersebut.
Tujuan utama pemodelan use case diagram adalah :
1. Memutuskan dan mendiskripsikan kebutuhan fungsional sistem.
2. Memberikan deskripsi jelas dan konsisten aktivitas yang dilakukan. Mmodel use case diagram digunakan diseluruh proses pengembangan untuk komunikasi dan menyediakan basis dalam pemodelan berikutnya yang mengacu pada sistem harus memberikan fungsionalitas yang dimodelkan para use case diagram.
3. Menyediakan basis data untuk melakukan pengujian sistem yang memverifikasi sistem.
4. Menyediakan kemampuan melacak kebutuhan fungsionalitas menjadi kelas-kelas dan operasi-operasi aktual di sistem untuk menyederhanakan perubahan dan ekstensi ke sistem dengan mengubah model use case diagram dan kemudian melacak use case diagram yang dipengaruhi ke perancangan dan implementasi sistem. Syarat penamaan use case diagram adalah nama didefenisikan sesederhana mungkin dan dapat dipahami.
Simbol dari Use Case Diagram dapat dilihat pada Tabel 2.3.
Tabel 2.3 Simbol Use Case Diagram
Simbol Deskripsi
Use Case Fungsionalitas yang disediakan sistem
sebagai unit-unit yang tertukar pesan antar unit atau aktor biasanya dinyatakan dengan menggunakan kata kerja diawal di awal frase nama use case
Aktor Orang, proses atau sistem lain yang
berinteraksi dengan sistem informasi yang akan dibuat, jadi walaupun simbol dari aktor adalah gambar dari orang, tapi aktor belum tentu merupakan orang biasanya dinyatakan menggunakan kata benda diawal frase nama aktor.
19 Association Komunikasi antar aktor dan use case yang
berpartisipai pada use case atau use case memiliki interaksi dengan actor
Extend
<<extend>>
Relasi use case tambahan ke sebuah use case dimana use case yang di tambahkan dapat berdiri sendiri walau tanpa use case tambahan seperti prinsip inheritance.
Extend merupakan perilaku use case memperluas perilaku use case yang lain Generalization Hubungan generalisasi dan spesialisasi
(umum ke khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya,
include Include berarti use case tambahan yang akan selalu melakukan pengecekan apakan use case yang ditambahkan telah dijalankan. Include merupakan perilaku use-case dan bagian dari use case yang lain.
2. Entity Relation Diagram (ERD)
ERD adalah salah satu teknik pemodelan data dengan cara menentukan data terdapat dalam suatu entity dan hubungan antar entity. Simbol dari ERD dapat dilihat pada Tabel 2.4.
Tabel 2.4 Simbol Entity Relation Diagram (ERD)
Simbol Nama Keterangan
Entity Entity adalah data yang ada didalam sistem, nyata maupun abstrak dan dimana data tersimpan.
Relationship Relationship merupakan hubungan alamiah yang terjadi antara entitas.
login login
20 Atribut Atribut sifat, karakteristik, atau elemen
dari tiap entitas maupun relationship Link Link menghubungkan antara entitas satu
dengan entitas lainnya.
Kardinalitas relasi adalah tingkat hubungan yang terjdai antara entity didalam sistem. Tiga macam kardinalitas relasi sebagai berikut :
1. One to one
Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama hanya mempunyai satu hubungan dengan satu kejadian pada entitas ke dua, atau sebaliknya.
Gambar 2.2 Cardinality One to One
Gambar 2.2 merupakan kardinalitas relasi one to one. Seorang direktur dapat memimpin satu kantor, demikian pula dengan sebuah kantor dipimpin oleh satu direktur.
2. One to Many atau Many to One
Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu.
Gambar 2.3 Cardinality One to Many
Gambar 2.3 merupakan kardinalitas relasi one to many atau many to one. Seorang dosen dapat mengajar banyak mata kuliah, demikian pula dengan banyak mata kuliah diajari oleh satu dosen.
3. Many to Many
Tingkat hubungan banyak ke banyak adalah entitas pertama mempunyai banyak hubungan dengan entitas ke dua, atau sebaliknya.
Gambar 2.4 Cardinality Many to Many
Direktur
Dosen Mengajar
Kantor Memimpin
Mata Kuliah 1 1
1 M
Dosen M Mengajar M Mata Kuliah
21 Gambar 2.4 merupakan kardinalitas relasi many to many. Banyak dosen dapat mengajar banyak mata kuliah, demikian pula dengan banyak mata kuliah diajari oleh banyak dosen.
3. Class Diagram
Class diagram adalah model statis yang menggambarkan struktur dan deskripsi class serta hubungannya antara class. Class diagram mirip ERD pada perancangan database, bedanya pada ERD tidak terdapat operasi atau metode tapi hanya atribut.
Simbol dari Activity Diagram dapat dilihat pada Tabel 2.5.
Tabel 2.5 Simbol Class Diagram
Simbol Nama Deskription
Class
Class adalah sebuah objek yang menggambarkan sebuah keadaan nyata. Class memiliki nama kelas , atribut , dan method
Association
Garis yang menghubungkan antara dua kelas atau lebih dan menunjukkan bahwa kelas yang terhubung menunjukkan sebuah relasi seperti : one-to-one (1 – 1) , one-to-many (1 – M) , many-to many (M – M)
Composition Menggambarkan sebuah relasi dari sebuah class yang tidak bisa berdiri sendiri
Aggregation Menujukkan sebuah bagian relasi agregasi
Dependency Menunjukkan operasi sebuah class yang menggunakan sebuah class lain.
22 4. Sequence Diagram
Sequence Diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna dan display berupa message yang digambarkan terhadap waktu. Sequence Diagram terdiri atas dimensi vertikal (waktu) dan dimensi (horizontal) terhadap objek–objek yang terkait.
Simbol dari Sequence Diagram dapat dilihat pada Tabel 2.6.
Tabel 2.6 Simbol Sequence Diagram
Simbol Nama Keterangan
Lifeline Objek entity, antarmuka yang saling berinteraksi.
Time Active Menyatakan objek dalam keadaan aktif.
Mesagge Spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi
Object Simbol yang menggambarkan suatu objek yang saling berinteraksi.
5. Activity Diagram
Activity diagram menggambarkan aliran kerja atau aktivitas dari sebuah sistem.
Diagram aktivitas digunakan untuk mendefenisikan hal-hal berikut:
1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefenisikan.
2. Urutan atau pengelompokan tampilan dari sistem atau user interface dimana setiap aktivitas di anggap memiliki sebuah rancangan antar muka tampilan.
3. Rancangan tampilan dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu di defenisikan kasus ujinya.
23 Simbol dari Activity Diagram dapat dilihat pada Tabel 2.7.
Tabel 2.7 Simbol Activity Diagram
Simbol Nama Deskripsi
Actifity
Memperlihatkan bagaimana masing-masing kelas antarmuka saling berinteraksi satu sama lain.
Decision Menujukkan sebuah pilihan.
Line Connector Menghubungkan antara simbol yang satu dan yang lainnya.
Initial Node Bagaimana objek dibentuk atau diawali.
Actifity Final
Node Bagaimana objek dibentuk dan dihancurkan.
Fork Node Satu aliran yang pada tahap tertentu berubah menjadi beberapa aliran.
Join Node Banyak aliran yang pada tahap tertentu berubah menjadi satu aliran
2.2.16 Database dan My Structure Query Language (MySQL)
Basis Data (Database) merupakan salah satu komponen yang paling penting di dalam sistem informasi karena merupakan dasar dalam menyediakan informasi bagi pemakai. Database terdiri dari berbagai macam data yang tersusun sehingga pemakai dapat dengan mudah untuk menambah, mengurangi, menghapus ataupun mengambil data yang dibutuhkan. Tujuan dari desain Database yaitu untuk menentukan data-data yang dibutuhkan dalam sistem, sehingga informasi yang nantinya akan dihasilkan dapat terpenuhi dengan baik (Virgi, 2011).
24 MySQL adalah salah satu perangkat lunak sistem manajemen basis data (database) SQL atau sering disebut dengan DBMS (Database Management Sistem).
Berbeda dengan basis data konvensional MySQL memiliki kelebihan yaitu bersifat multithread, dan multiuser serta mendukung sistem jaringan. MySQL didistribusikan secara gratis dibawah lisensi GNU General Public License (GPL), namun ada juga versi komersial bagi kalangan tertentu yang menginginkannya (Virgi, 2011).
2.2.17 Web server
Web server adalah sebuah aplikasi yang berfungsi menyediakan layanan akses kepada pengguna melalui protocol HTTP ataupun HTTPS kepada layanan yang terdapat pada suatu web kemudian mengirimkannya kembali kepada pengguna dalam bentuk halaman web yang umumnya berbentuk dokumen HTML. Terdapat beberapa jenis web server diantaranya adalah Apache Web Server, Apache Tomcat, Zeus Web Server (Virgi, 2011).
2.2.18 PHP (Hypertext Preprocessor)
PHP merupakan akronim dari hypertext preprocessor yang merupakan bahasa pemrograman server side artinya script-nya terintegrasi dengan HTML dan berada dalam server. PHP banyak digunakan pada sistem web yang bersifat dinamis walaupun tidak menutup kemungkinan digunakan untuk pemakaian lain (Virgi, 2011).
PHP adalah bahasa yang sederhana namun kuat dirancang untuk membuat konten HTML. Sejak dimulai pada tahun 1994, PHP telah mampu menyaingi bahasa web karena keunggulan popularitas bahasa dan kemudahan penggunaan. Kelebihan dari PHP dibanding bahasa pemrograman lainnya yang sejenis seperti ASP, JSP sebagai berikut : 1. Kegunaaan maksimum.
2. Dapat dihubungkan dengan banyak sistem database.
3. Lisensi bebas.
4. Mudah untuk dipelajari dan digunakan.
5. Dapat dijalankan pada banyak sistem operasi.
25 2.2.19 Codeigniter
Codeigniter adalah salah satu framework PHP yang banyak digunakan dalam mengembangkan aplikasi berbasis web. Framework merupakan kumpulan potongan-potongan program kelas dan fungsi yang disusun dan diorganisasaikan sedemikian rupa, sehingga dapat digunakan kembali untuk membantu membuat aplikasi utuh tanpa harus mebuat semua kode dari awal. Framework codeigniter ini pertama kali dibuat oleh Rick Ellis, yang merupakan ceo dari Ellislab, Inc. (Virgi, 2011).
Codeigniter memiliki beberapa kelebihan diantaranya sebagai berikut:
1. Codeigniter bersifat open source artinya dapat didapatkan secara gratis.
2. Codeigniter termasuk framework sederhana dengan ukuran kecil namun berkemampuan besar.
3. Codeigniter menerapkan model MVC (Model View Controller).
4. Codeigniter menyediakan library dan helper yang cukup lengkap.
5. Dokumentasi codeigniter lengkap dan jelas.
Seperti yang sudah disebutkan diatas bahwa codeigniter menerapkan model MVC (Model-View-Controller) yang merupakan sebuah pendekatan untuk memisahkan aplikasi menjadi tiga bagian yaitu sebagai berikut:
1. Model adalah representasi data yang digunakan pada aplikasi. Misalnya database, RSS dan aksi yang melibatkan operasi Create, Read, Update, Delete (CRUD) data.
2. View adalah informasi yang ditampilkan kepada user browser melalui web browser biasanya view ini berupa file HTML atau PHP yang menyusun tempalate untuk sebuah website.
3. Controller adalah bussines logic yang berfungsi sebagai jembatan antara Model dan View. Controller akan merespon HTTP Request yang datang dari user melalui browser, dari request tersebut controller akan menetukan apa yang harus dilakukan.
Contoller akan memanggil model untuk mengolah data, bahkan memanggil view untuk menampilkan data hasil olahan model kemudian mengirim kembali ke halaman hasil olah data ke browser. Ilustrasi proses dari model MVC (Model View Controller) dapat dilihat pada Gambar 2.5.
26 Gambar 2.5 Ilustrasi MVC pada codeigniter
2.2.20 Metode Waterfall
Metode waterfall merupakan metode pengembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem sampai pada analisis, desain, kode, test, dan pemeliharaan (Fahrurrozi, 2010).
Terdapat lima tahapan pada waterfall model, yaitu requirement analysis and definition, system and software design, implementation and unit testing, integration and system testing, dan operation and maintenance (Jogiyanto, 1999).
Tahapan-tahapan pada waterfall model dapat dilihat pada Gambar 2.6.
Gambar 2.6 Waterfall Model
27 Berikut adalah penjelasan dari tahapan-tahapan tersebut :
1. Requirement Analysis and Definition merupakan tahapan penetapan fitur, kendala dan tujuan sistem melalui konsultasi dengan pengguna sistem. Semua hal tersebut akan ditetapkan secara rinci dan berfungsi sebagai spesifikasi sistem.
2. System and Software Design merupakan tahapan yang akan membentuk suatu arsitektur sistem berdasarkan persyaratan yang telah ditetapkan dan juga mengidentifikasi dan menggambarkan abstraksi dasar sistem perangkat lunak dan hubungan-hubungannya.
3. Implementation and Unit Testing yaitu tahapan yang merupakan hasil dari desain perangkat lunak dan akan direalisasikan sebagai satu set program atau unit program.
Setiap unit akan diuji apakah sudah memenuhi spesifikasinya.
4. Integration and System Testing merupakan tahapan dimana setiap unit program akan diintegrasikan satu sama lain dan diuji sebagai satu sistem yang utuh untuk memastikan sistem sudah memenuhi persyaratan yang ada. Setelah itu sistem akan dikirim ke pengguna sistem.
5. Operation and Maintenance merupakan tahapan yang akan melakukan penginstalan sistem dan mulai digunakan. Selain itu juga memperbaiki error yang tidak ditemukan pada tahap pembuatan. Dalam tahap ini juga dilakukan pengembangan sistem seperti penambahan fitur dan fungsi baru.
28