2. Untuk memberikan gambaran yang jelas dan rancang bangun yang
2.14. Unified Modeling Language (UML)
Menurut Rosa A.S dan M. Shalahudin (2014), UML adalah standar bahasa yang banyak digunakan didunia industri untuk mendefinisikan requitment, membuat analisis dan desain, serta menggambar arsitektur dalam pemograman berorientasi obyek.
2.14.1. Pengenalan UML
Pada perkembangan teknik pemograman berorientasi objek, munculah sebuah standarisasi bahasa permodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu: Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk permodelan
dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.
2.14.2. Diagram UML
Menurut Rosa A.S dan M. Shalahudin (2014),UML terdiri dari 13 macam diagram yang dikelompokan dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar di bawah ini :
Gambar 2.22 UML Diagram menurut Menurut Rosa A.S dan M. Shalahudin Rekayasa Perangkat Lunak 2014
Gambar 2.23 Contoh Class Diagram
Pada gambar diatas akan bisa dipahami langkah user atau pengguna dalam melakukan sistem tes buta warna dengan tata cara yang benar dalam menggunakan aplikasi tes buta warna secara mandiri. Pengguna juga dapat melihat hasil dari tes yang lakukan apakah dia tergolong buta warna parcial atau buta warna total.
2.14.4. Usecase Diagram
Usecase atau diagram usecase merupakan pemodelan untuk kelakuan (Behavior) sistem informasi yang akan dibuat. Usecase mendeskripsikan sebuah interaksi satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar usecase digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
Syarat penamaan pada usecase yaitu nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada usecase, yaitu:
a) Aktor
Aktor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar
Pengguna
<<include>> <<include>>
sistem informasi itu sendiri, jadi walaupun simbol aktor adalah orang belum tentu merupakan orang
b) Usecase
Usecase merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
Berikut ini simbol-simbol dan deskripsi yang ada pada diagram usecase :
Tabel 2.2 Diagram usecase
Nama Simbol Deskripsi
Usecase fungsionalitas yang disediakan
sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
Aktor/ Actor
proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi itu sendiri.
Assosiasi/ Association
Komunikasi antara aktor dan usecase yang berpartisipasi pada usecase atau usecase memiliki interaksi dengan aktor.
Ekstensi/ Extend
<<extend >>
Relasi usecase tambahan ke sebuah usecase.
Generalisasi/ Generalization
Hubungan generalisasi dan spesialisasi (umum- khusus) antara dua buah usecase dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya.
Include/Uses <<include>>
<<uses>>
usecase dimana usecase yang ditambahkan memerlukan usecase ini untuk menjalankan fungsinya.
Ada dua sudut pandang yang cukup besar mengenai include di usecase :
include yang berarti usecase yang ditambahkan akan selalu dipanggil saat usecase tambahan dijalankan.
include yang berarti usecase yang tambahan akan selalu melakukan pengecekan apakah usecase yang ditambahkan telah dijalankan sebelum usecase tambahan dijalankan
2.15. SQLite
SQLite adalah paket perangkat lunak untuk publik yang menyediakan sistem manajemen basis data relasional (RDBMS). RDBMS digunakan untuk menyimpan suatu data (record) dalam suatu tabel. Sebuah mesin basis data dapat memproses perintah query yang kompleks yang menggabungkan data dari beberapa tabel untuk menghasilkan laporan atau rangkuman data. Produk RDBMS komersial yang terkenal antara lain Oracle Database, DB2 milik IBM, dan SQL Server milik Microsoft; sedangkan produk RDBMS non komersial yang terkenal antara lain MySQL dan PostgreSQL. Tidak seperti kebanyakan produk RDBMS, SQLite tidak memiliki arsitektur client/server. SQLite tidak memiliki server terpisah. Seluruh basis data diintegrasikan pada aplikasi apapun yang butuh akses ke basis data. Sumber daya yang diakses bersama oleh aplikasi hanya berupa satu file basis data yang disimpan pada penyimpan. Jika kita ingin memindah atau mereplikasi basis data, cukup melakukannya pada sebuah file.
Gambar 2.23 Arsitektur RDBMS yang menggunakan pustaka klien
Gambar 2.24 Arsitektur SQLite tanpa server.
SQLite memiliki fitur sebagai berikut: 1. Tanpa server
SQLite tidak membutuhkan server terpisah untuk beroperasi. Pustaka SQLite mengakses file penyimpanannya langsung.
2. Tanpa konfigurasi
Tanpa server berarti tanpa konfigurasi. Membuat basis data pada SQLite semudah membuka sebuah file.
3. Diakses banyak sistem operasi
Keseluruhan basis data terdapat pada satu file yang dapat diakses banyak sistem operasi, tidak membutuhkan administrasi.
4. Independen
Satu file pustaka berisi keseluruhan sistem basis data, yang diintegrasikan langsung ke aplikasi pengguna.
Ukuran awal file yang dibangun menggunakan kode kurang dari 1 MB dan dan hanya membutuhkan beberapa MB di memori. Melalui pengaturan, ukuran pustaka dan penggunaan memori dapat berkurang secara signifikan.
6. Transaksional
Transaksi SQLite sepenuhnya mendukung ACID (Atomicity, Consistency, Isolation, Durability), memungkinkan akses yang aman dari beberapa proses atau thread.
7. Fitur penuh
SQLite mendukung kebanyakan fitur bahasa query yang terdapat di standar SQL92 (SQL2).
8. Dapat diandalkan
Secara umum, SQLite menyediakan lingkungan basis data relasional yang sangat fungsional dan fleksibel yang menggunakan sedikit sumber daya dan meminimalkan gangguan yang terjadi bagi pengembang dan pengguna (Kreibich, 2010).
2.16. Java
Java, dalam ilmu komputer, merupakan bahasa pemrograman berorientasi objek yang diperkenalkan pada tahun 1995 oleh Sun Microsystem, Inc., sebuah industri perangkat lunak yang cukup besar di Amerika Serikat, yang saat Java diciptakan, proyeknya dipimpin oleh James Gosling. Nama Java diambil karena beberapa pemrogramnya terkesan oleh keindahan pulau Jawa di Indonesia serta kenikmatan kopinya. Java memungkinkan kita membuat program-program komputer dengan paradigma yang kita jumpai di dunia nyata yang sebenarnya. Paradigma yang dimaksud adalah “Pemrograman Berorientasi Objek” yang dalam bahasa aslinya disebut sebagai OOP (Object Oriented Programming). Kita dapat membuat program yang mencerminkan fakta sesungguhnya yang memang kita jumpai dalam kehidupan sehari-hari melalui Java. Sebagai contoh, kita dapat membuat kelas Mobil yang memiliki data/atribut (deskripsi lengkap tentang mobil
itu), misalnya Warna dan Jumlah Pintu serta memiliki fungsi/metodis (apa yang dapat dilakukan oleh mobil itu), misalnya Maju, Mundur, Belok, dan sebagainya dengan menggunakan Java (Nugroho, 2008).
Menurut definisi yang diberikan oleh Sun MicroSystem, JAVA adalah bahasa pemrograman yang simple, object-oriented, distributed, interpreted, robust, secure, architecture netral, portabel, high performance, multithread, dan dynamic.
Java bahasa yang simple: Rancangan bahasa Java dibuat sedemikian rupa sehingga dengan cepat dapat dikenali dipahami oleh pemrogram pemula sekalipun karena mirip dengan bahasa C / C++ dan yang kedua lebih sederhana dari C / C ++ dalam beberapa hal, mengingat berbagai hal yang sulit pada C / C ++ sudah tidak ada pada Java, misalnya pemakaian pointer.
Java adalah bahasa yang object-oriented: Konsep objek diterapkan pada pembuatan program Java, bahkan Java menggunakan konsep objek secara murni sehingga tidak mungkin seseorang membuat program Java tanpa mendefinisikan kelas dan menggunakan objek.
Java adalah bahasa yang distributed: Bahasa Java dirancang sedemikian rupa sehingga mendukung pembuatan aplikasi dalam jaringan komputer. Java menyediakan beberapa kelas objek untuk mendukung aplikasi jaringan yang dihimpun dalam paket java.net.
Java adalah bahasa yang robust: Rancangan Java dibuat sedemikian rupa hingga mengurangi kemungkinan menjadi beku (freeze) ketika dijalankan. Kemungkinan untuk eror pun diminimalkan, misalnya dengan menerapkan strong-typed sehingga program bisa terhindar dari kesalahan karena tipe data yang keliru. Java juga menerapkan model memori yang dapat mencegah memori corruptdan overwrited, misalnya dengan membuang pemakaian pointer.
Java adalah bahasa yang secure: Secara otomatis Java menerapkan pengamanan terhadap aplikasi sehingga mengurangi kemungkinan terjadinya serangan dari pengguna jaringan.
Java adalah bahasa yang architecture neutral: Program Java yang telah dikompilasi dapat dijalankan pada berbagai mesin dan tidak hanya bergantung pada satu arsitektur komputer saja.
dipindahkan dari satu mesin ke mesin lain tanpa harus dikompilasi ulang. Pada hakikatnya, ketika dikompilasi program Java diubah ke dalam format bytecodeyang dapat diterima oleh semua mesin, sementara pada setiap mesin tersedia Java-Run-Time atau Java-Virtual-Machine (JVM) yang dapat menjalankan bytecode.
Java adalah bahasa yang high-performance: Pada hakikatnya program C yang telah dikompilasi berjalan jauh lebih cepat dari Java, karena hasil kompilasi C adalah bahasa mesin dari komputer yang dipakai untukmengkompilasi, namun hasil kompilasi ini belum tentu bisa jalan pada komputer yang berbeda arsitektur. Program Java dikompilasi menjadi bytecodeyang bisa berjalan di berbagai mesin, namun ketika dijalankan bytecodeini harus diterjemahkan oleh JVM ke dalam bahasa mesin yang sesuai, sehingga lebih lambat dari C, namun karena Java dapat digunakan pada jaringan komputer yang kenyataannya tidak terlalu cepat karena hambatan saluran komunikasi maka program Java masih terasa cukup cepat.
Java adalah bahasa yang multithread: Java dirancang untuk menangani berbagai aplikasi yang berjalan secara bersamaan, misalnya memainkan lagu, sambil melakukan downloaddan pengguna sedang melakukan scrolling pada windowyang diamatinya. Kejadian ini yang disebut multithreaded.
Java adalah bahasa yang dynamic: Bahasa Java dirancang untuk beradaptasi dengan lingkungan yang dapat berubah dengan cepat. Java dapat memanggil berbagai kelas objek pada saat dibutuhkan, walaupun harus melalui jaringan. Di samping itu Java memiliki representasi run-time sehingga objek yang sedang digunakan oleh suatu aplikasi dapat diperiksa berasal dari kelas yang mana melalui informasi run-time (Suarga, 2009).