BAB II LANDASAN TEORI
2.1
Konsep Dasar Sistem
Secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen atau variabel–variabel yang terorganisasi, saling berinteraksi, saling tergantung satu sama lain dan terpadu Teori Sistem secara umum pertama kali diuraikan oleh Kenneth Boulding terutama menekankan pentingnya perhatian terhadap setiap bagian yang membentuk sebuah sistem.
Gambar 2.1 Model Sistem (Hanif Al Fatta, 2007) Gambar 2.1 menunjukan bahwa sistem harus mempunyai beberapa komponen, yakni masukan, pengolahan, keluaran, dan balikan atau kontrol.
2.1.1 Pengertian Sistem Suatu sistem dapat terdiri dari beberapa subsistem atau sistem bagian. Komponen atau subsistem dalam suatu sistem tidak dapat berdiri lepas sendiri sendiri. Komponen atau subsistem saling berinteraksi dan saling berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran dapat tercapai. Berikut adalah beberapa pengertian sistem yang dikemukakan oleh beberapa ahli : •
Menurut Tata Sutabri (2012: 7) Sistem terdiri atas obyek-obyek atau unsurunsur atau komponen-komponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengolahan yang tertentu.
7
8
•
Menurut Bonnie Soeherman (2008:3) menjelaskan bahwa sistem adalah serangkaian komponen-komponen yang saling berinteraksi dan bekerjasama untuk mencapai tujuan tertentu.
Dari beberapa pengertian diatas maka dapat diketahui manfaat dari sistem yaitu untuk menyatukan atau mengintegrasikan semua unsur-unsur yang ada dalam suatu ruang lingkup, dimana komponen tersebut tidak dapat berdiri sendiri.
2.2
Konsep Dasar Informasi Sumber informasi adalah data yang merupakan kenyataan yang
menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Makna kata adalah segala sesuatu yang dapat diterima oleh indra manusia dari rangsangan – rangsangan yang ada di sekitarnya, baik tersurat maupun tersirat. Sedangkan makna kata dalam dunia komputer adalah segala sesuatu yang bisa dikodekan atau disimbolkan atau dilambangkan dengan kode-kode, simbol-simbol, atau lambanglambang yang telah di sediakan disetiap komputer.
2.2.1
Pengertian Informasi Menurut Tata Sutabri [2012:21] Informasi adalah proses lebih lanjut dari
data yang sudah memiliki nilai tambah. Informasi dapat dikelompokan menjadi 3 bagian, yaitu: a. Informasi strategis. Informasi ini
digunakan untuk menggambil keputusan jangka panjang, yang
mencakup informasi ekternal, rencana perluasan perusahaan, dan sebagainya. b. Informasi Taknis. Informasi ini dibutuhkan untuk mengambil keputusan jangka menengah, seperti informasi tren penjualan yang dapat di manfaatkan untuk menyusun rencana penjualan.
c. Informasi Teknis. Informasi ini dibutuhkan untuk keperluan operasional sehari-hari, seperti informasi persediaan barang stock, retur penjualan, dan laporan kas harian.
9
2.2.2
Definisi Sistem Informasi Dalam pengertian luas yang umum, sistem informasi dapat dipahami
sebagai sekumpulan subsistem yang saling berhubungan , berkumpul bersamasama dan membentuk satu kesatuan saling berinteraksi dan bekerjasama antara bagian yang satu dengan yang lainnya dengan cara-cara tertentu untuk melakukan fungsi pengolahan data, menerima masukan (input) berupa data-data, kemudian pengolahannya (processing) dan menghasilkan keluaran (output) berupa informasi sebagai dasar bagi pengambilan keputusan yang berguna dan mempunyai nilai nyata yang dapat dirasakan akibatnya baik pada saat itu juga maupun dimasa mendatang, mendukung kegiatan operasional, manajerial dan strategis organisasi, dengan memanfaatkan sebagai sumber daya yang ada dan tersedia bagi fungsi tersebut guna mencapai tujuan. (Edhy Sutanta,2011 :16) Sedangkan menurut Tata Sutabri (2012:38) Sistem informasi adalah suatu sistem dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan laporan-laporan yang diperlukan oleh pihak luar tertentu. Dari kedua definisi diatas, maka dapat diambil garis besar dari sistem informasi adalah suatu sistem yang terdiri dari komponen-komponen dalam organisasi yang saling berinteraksi dan bekerjasama untuk memberikan informasi bagi pengambil keputusan / decision maker.
2.3
Pengertian Klaim
Menurut Kamus Bahasa Indonesia, "klaim” Adalah
1 tuntutan
pengakuan atas suatu fakta bahwa seseorang berhak (memiliki atau mempunyai) atas sesuatu, Contoh dalam kalimat “pemerintah Indonesia akan mengajukan klaim ganti rugi kpd pemilik kapal asing itu”, 2 “klaim” adalah pernyataan tentang suatu fakta atau kebenaran sesuatu, Contoh dalam kalimat “ia mengajukan klaim bahwa barang-barang elektronik itu miliknya”, “meng-klaim” adalah 1 meminta atau menuntut pengakuan atas suatu fakta bahwa seseorang (suatu
10
organisasi, perkumpulan, negara, dsb) berhak memiliki atau mempunyai hak atas sesuatu, Contoh dalam kalimat “ada negara lain yg mengklaim kepulauan itu” “meng-klaim” adalah 2 menyatakan suatu fakta atau kebenaran sesuatu, Contoh dalam kalimat “pemerintah baru mengklaim bahwa tokoh politik itu meninggal krn bunuh diri”
2.4
Metode Waterfall
(Rosa & Shalahuddin, 2013, p. 28) Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air tejun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengkodean, pengujian, dan tahap pendukung (support). Berikut adalah gambar model air terjun:
Gambar 2.2 Ilustrasi Model Waterfall (Rosa & Shalahudin, 2013,p.29) 1. Analisis kebutuhan perangkat lunak Proses
pengumpulan
kebutuhan
dilakukan
secara
intensif
untuk
memspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan.
2. Desain Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke
11
representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. 3. Pembuatan kode program Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. Pengujian Pengujian fokus pada perangkat lunak secara segi logik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. 5. Pendukung (support) atau pemeliharaan (maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan dimulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru. Model waterfall adalah model SDLC yang paling sederhana. Model ini hanya cocok untuk pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-ubah.
12
2.5
UML (Unified Modelling Language)
(Rosa & Shalahuddin, 2013, p. 137) Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan 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 mendokumentasi dari sistem perangkat lunak. Definisi UML menurut Rosa Salahuddin (2011:118)”UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah system dengan menggunakan diagram dan teks-teks pendukung.” Definisi UML menurut Verdi Yasin (2012:194) “Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industry untuk visualisasi, merancang dan mendokumentasikan system piranti lunak.” UML hanya berfungsi untuk melakukan pemodelan. Jadi, penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek.
2.5.1
Sejarah UML Banyaknya metodologi-metodologi yang berkembang pesat, munculah
ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang berkembang saat itu. Maka dibuat bahasa yang merupakan gabungan dari beberapa konsep seperti konsep Object Modelling Technique (OMT) dari Rambaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivar Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaigh, Grady Booch, dan Ivar Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML). Pada 1996, Object Management Group (OMG) mengajukan proposal agar adanya standarisasi pemodelan berorientasi objek pada bulan September 1997 UML
13
diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan kontribusinya yang cukup besar didalam metodologi berorientasi objek dan halhal yang terkait didalamnya. Secara fisik, UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG, UML terbaru adalah UML 2.3 yang terdiri dari 4 macam
spesifikasi,
yaitu
Diagram
Interchange
Specification,
UML
Infrastructure, UML Superstructure, dan Object Constraint Language (OCL).
2.5.2
Diagram-diagram UML Menurut [Rosa, 2011], UML merupakan bahasa visual untuk pemodelan
dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teksteks pendukung. UML memiliki 13 macam diagram yaitu:
Gambar 2.3 Diagram UML (Rosa & Shalahuddin, 2013, p. 140)
14
Tabel 2. 1 Tipe Diagram UML (Rosa & Shalahuddin, 2013, p. 142) No
Diagram
Kegunaan
1
Class Diagram
Menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem
2
3
Object Diagram
Menggambarkan struktur sistem dari segi penambahan
Component Diagram
Diagram ini dibuat untuk menunjukan organisasi dan
objek dan jalannya objek dalam sistem
ketergantungan diantara kumpulan komponen dalam sebuah sistem
4
Composite Stuctur Diagram
Digunakan untuk menggambarkan struktur dari bagianbagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan dari instance yang saling berhubung.
5
6
7
8
Package Diagram Deployment Diagram
Menyediakan cara pengumpulan elemen-elemen yang saling terkait dalam diagram UML Menunjukan
konfigurasi
komponen
dalam
proses
eksekusi aplikasi
Use Case Diagram
Diagram use case merupakan pemodelan untuk kelakuan
Activity Diagram
Diagram menggambarkan workflow
(behavior) sistem informasi yang akan dibuat. (aliran kerja) atau
menggambarkan aktivitas sebauah sistem atau proses bisnis
9
10
State Machine Diagram
Digunakan untuk menggambarkan perubahan status atau
Sequence Diagram
Menggambarkan kelakuan objek pada use case dengan
tansisi status dari sebuah mesin atau sistem
mendeskripsikan waktu hidup objek dan massage yang dikirimkan dan diterima antar objek
11
Communication Penederhanaan dari diagram kolaborasi pada UML versi Diagram 1.x jadi diagram communication sudah tidak muncul lagi pada diagram versi 2.x.
15
Lanjutan Tabel 2.1 Tipe Diagram UML No
Diagram
Kegunaan
12
Timing Diagram
Diagram yang fokus pada penggambaran terkait batasan waktu.
13
Interaction Overview Diagram
Berfungsi untuk menggambarkan sekumpulan urutan aktivitas
2.5.3
Use Case Diagram
(Rosa & Shalahuddin, 2013, p. 155) Use case atau diagram use case merupakan pemodelan untuk kelakuan (behaviour) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yan ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. 1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. 2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
16
Berikut adalah simbol-simbol yang ada pada diagram use case:
Tabel 2.2 Simbol-simbol Diagram Use Case (Rosa & Shalahuddin, 2013, p. 156) Simbol
Nama Simbol
Keterangan Orang, proses, atau sistem lain yang berinteraksi dengan sistem
Aktor
informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri , jadi walaupun simbol
Actor1
dari aktor adalah gambar orang biasanya dinyatakan menggunakan kata benda diawal frase nama aktor. Fungsionalitas
yang
disediakan
sistem sebagai unit-unit yang saling UseCase1
Use case
bertukar pesan antara unit atau aktor biasanya dinyatakan dengan menggunakan kata kerja diawal frase nama use case. Relasi use case tambahan kesebuah
«extends»
Ekstensi/ extend
use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan. Relasi
use
case
tambahan ke
sebuah use case dimana use case Include
yang ditambahkan memerlukan use case
ini
untuk
menjalankan
fungsinya atau syarat dijalankan use case ini. Disebut juga inheritance (pewarisan),
Generalisasi
sebuah
elemen
dapat
merupakan
spesialisasi dari elemen lainnya
17
2.5.4
Activity Diagram (Rosa & Shalahuddin, 2013, p. 161) Diagram aktivitas atau activity
diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut: 1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. 2. Urutan atau pengelompokkan tampilan dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan. 3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang didefinisikan kasusu ujinya. 4. Rancangan menu yang ditampilkan pada perangkat lunak.
Berikut adalah simbol-simbol yang ada pada diagram aktivitas: Tabel 2.3 Simbol-simbol Activity Diagram (Rosa & Shalahuddin, 2013, p. 162) Simbol
Deskripsi
Status Awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
aktivitas Percabangan / decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu
18
Lanjutan Tabel 2.3 Simbol-simbol Activity Diagram Penggabungan / join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu
Status akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir
Swimlane
Memisahkan
nama swimlane
organisasi
bisnis
yang
bertanggung jawab terhadap aktivitas yang terjadi
2.5.5
Sequence Diagram
(Rosa & Shalahuddin, 2013, p. 165) Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case. Banyaknya diagram sekuen yang harus digambarkan adalah minimal sebaganyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak.
19
Berikut adalah simbol-simbol yang ada pada diagram sequence: Tabel 2.4 Simbol-simbol Sequence Diagram (Rosa & Shalahuddin, 2013, p. 165) Simbol Actor
Deskripsi Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat sendiri, jadi walaupun simbol
nama aktor
dari aktor adalah gambar orang, tapi aktor
atau
belum tentu merupakan orang; biasanya nama_aktor
dinyatakan menggunakan kata benda di awal frase nama actor
a a_a tanpa waktu aktif
to
garis hidup / lifeline
Menyatakan kehidupan suatu objek
Objek
Menyatakan objek yang berinteraksi pesan
nama_objek : nama_kelas waktu aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi, semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya
pesan tipe create
<
>
Menyatakan suatu objek membuat objek lain, arah panah mengarah pada objek yang dibuat
pesan tipe call
1: nama_metode()
Menyatakan
suatu
objek
memanggil
operasi/metode yang ada pada objek lain atau dirinya sendiri
20
Lanjutan Tabel 2.4 Simbol-simbol Sequence Diagram pesan tipe send
Menyatakan
1: masukan
mengirimkan
bahwa
suatu
objek
data/masukan/informasi
ke
objek lainnya, arah panah mengarah pada objek yang dikirimi pesan tipe return
Menyatakan bahwa suatu objek yang telah
1: keluaran
menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarahkan pada objek yang menerima kembalian
pesan tipe destroy
Object
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada
<<destroy>>
objek yang diakhiri, sebaiknya jika ada create maka ada destroy
2.5.6 Class Diagram
(Rosa & Shalahuddin, 2013, p. 141) Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. 1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. 2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut: 1. Kelas main, kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
21
2. Kelas yang menangani tampilan sistem, kelas yang mendefinisikan dan mengatur tampilan ke pemakai. 3. Kelas yang diambil dari pendefinisian use case, kelas yang menangani fungsifungsi yang harus ada diambil dari pendefinisian use case. 4. Kelas yang diambil dari pendefinisian data, kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data.
Berikut adalah simbol-simbol yang ada pada diagram kelas: Tabel 2.5 Simbol-simbol Diagram Kelas (Rosa & Shalahuddin, 2013, p. 146) Simbol
Deskripsi
Kelas
kelas pada struktur sistem
Antarmuka / Interface
sama
dengan
konsep
interface
dalam
pemrograman berorientasi objek
Asosiasi / Association
relasi antar kelas dengan makna umum, asosiasi biasanya juga disebut dengan multiplicity
Asosiasi
berarah
/
Directed relasi antar kelas dengan makna kelas yang satu
Association
digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi
relasi antar kelas dengan makna generalisasispesialisasi (umum khusus)
Kebergantungan / Dependency
relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi / Aggregation
relasi antar kelas dengan makna semua-bagian (whole-part)
22
2.6 Perancangan Berorientasi Objek Perancangan berorientasi objek merupakan tahap lanjutan setelah analisa sistem yang merupakan proses spesifikasi yang terperinci atau pendefinisian dari kebutuhan-kebutuhan
fungsional
dan
persiapan
untuk
rancang
bangun
implementasi yang menggambarkan bagaimana suatu sistem dibentuk. Pada sebuah model berbasis objek terdapat beberapa istilah yang sering digunakan, untuk lebih jelasnya penulis uraikan sebagai berikut: 1. Kelas, kumpulan atas definisi data dan fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah class adalah dasar dari modularitas dan struktur OOP. 2. Objek, Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. 3. Abstraksi, Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. 4. Polimorfisme,
Melalui
pengiriman
pesan.
Tidak
bergantung
kepada
pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim.
2.7
Basis Data Berorientasi Objek
Pemodelan basis data berorientasi objek yang saat ini semakin popular karena kemampuannya untuk menggambarkan relasi-relasi dan tipe-tipe data yang lebih kompleks, menggambarkan data serta pemrosesannya dengan notasi yang konsisten serta lebih sederhana. Model berorientasi objek dibangun berdasarkan objek, seperti model
E-R yang didasarkan pada entitas. Suatu objek
mengapsulkan/membungkus (encapsulating) data dan perilaku sehingga kita dapat menggunakan model berorientasi objek tidak hanya untuk pemodelan dan pengorganisasian data, melainkan juga untuk pemodelan dan pengorganisasian proses. Untuk memodelkan aplikasi dunia nyata dengan metodologi berorientasi objek, kita perlu memodelkan data maupun proses yang berjalan pada objek yang
23
bersangkutan. Beberapa motivasi dan keuntungan dari penggunaan pemodelan berorientasi objek, yaitu: (Adi Nugroho,2011:115) 1. Kemampuan untuk menangani tipe-tipe data dan masalah-masalah yang lebih kompleks dan sulit. 2. Perbaikan komunikasi antara pengguna, analisis, perancang, dan pemrogram. 3. Peningkatan derajat konsistensi antara tahap analisis, perancangan, serta kegiatan pemrograman karena metodologi berorientasi objek menggunakan model yang sama untuk setiap tahap itu. 4. Ketangguhan dan ketegaran sistem (robustness). 5. Penggunaan ulang hasil-hasil analisis, perancangan, serta pemrograman (reusable component). 6. Peningkatan konsistensi antara model-model yang dikembangan selama analisis, perancangan, serta pemrograman berorientasi objek.
Pemrograman berorientasi objek (OOP) adalah suatu cara baru dalam berpikir serta berlogika untuk menghadapi masalah-masalah yang akan dicoba atasi dengan bantuan komputer. OOP, tidak seperti pendahulunya (pemrograman terstruktur), mencoba melihat permasalahan lewat pengamatan dunia nyata yang setiap objeknya adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu. (Adi Nugroho,2011:121).
2.7.1
Data Definition Language (DDL) Struktur/skema basis data yang menggambarkan/mewakili desain basis
data secara keseluruhan dispeksifikasikan dengan bahasa khusus yang disebut Data Definition Language (DDL). Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel, dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary). Kamus Data merupakan meta data (superdata) yaitu data yang mendiskrpsikan data sesungguhnya. Kamus Data ini akan selalu diakses dalam suatu operasi basis data sebelum suatu file data yang sesungguhnya diakses.
24
Berikut ini adalah salah satu contoh penggunaan kamus data dari aplikasi elearning berbasis web: a. Entitas tb_siswa = {NIS + username + password +ulangi_password + nama_siswa + jenis_kelamin + alamat + kota + propinsi + kode_pos + no_telp + tempat_lahir + tanggal_lahir + Tanya jawab + email } b. Entitas tb_materi = {kd_materi + materi} c. Entitas tb_soal = {kd_soal + kd_materi + pertanyaan + jawab_A + jawab_B + jawab_C + jawab_D + jawab_soal} d. Entitas tb_hasil = {NIS + nama + kd_materi + hasil_test}
Kamus data dibuat dengan memperhatikan dan menggambarkan muatan aliran data, simpanan dataa dan proses-proses seperti pada gambar di atas. Setiap simpanan data dan aliran data bisa ditetapkan dan kemudian diperluas sampai mencakup detail-detail elemen yang dimuatnya. Logika dari setiap proses ini bisa digambarkan dengan menggunakan data yang mengalir menuju dan keluar dari proses tersebut.
2.7.2
Data Manipulation Language (DML) Merupakan bentuk Bahasa Basis Data yang berguna untuk melakukan
manipulasi dan pengambilan data pada suatu basis data Manipulasi data berupa: a. Penyimpanan/penambahan data baru. b. Penghapusan data dari suatu basis data. c. Pengubahan data disuatu basis data. Pada
level
fisik,
kita
harus
mendefinisikan
algoritma
yang
memungkinkan pengaksesan yang efesisen terhadap data. Pada level yang lebih tinggi, yang dipentingkan bukan hanya efesiensi akses, tetapi juga efesiensi interaksi manusia (pemakai) dengan sistem (kemudahan permintaan akses). Data Manipulation Language (DML) merupakan bahasa yang bertujuan memudahkan pemakaian untuk mengakses data sebagaimana direpresentasikan oleh model data.
25
Ada 2 jenis DML,yaitu: 1. Procedural, yang mensyaratkan agar pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya. 2. Nonprosedural, yang membuat pemakai dapat menentukkan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.
2.8
PHP PHP atau kependekan dari Hypertext Preprocessor adalah salah satu
bahasa pemrograman open source yang sangat cocok atau dikhususkan untuk pengembangan web dan dapat ditanamkan pada sebuah script HTML (mAster.com, 2012, p. 5) PHP merupakan singkatan dari PHP Hypertext Preprocessor
yang
digunakan
sebagai bahasa
script server-side
dalam
pengembahan web yang disisipkan pada dokumen HTML. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinteraksi dengan database, file, dan folder, sehingga membuat PHP bisa menampilkan konten yang dinamis dari sebuah website. Karena penggunaan PHP memungkinkan web dapat dibuat dinamis, maintenance situs web tersebut menjadi lebih mudah dan efisien. PHP merupakan software Open-Source yang disebarkan dan dilisensikan secara gratis serta dapat di download secara bebas dari situs resminya. PHP ditulis menggunakan bahasa C. PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasa script sejenisnya. PHP difokuskan pada pembuatan script server-side, yang bisa melakukan apa saja yang dapat dilakukan oleh CGI, seperti mengumpulkan data dari form, menghasilkan isi halaman web dinamis, dan kemampuan mengirim serta menerima cookies, bahkan lebih pada kemampuan CGI. PHP dapat digunakan pada semua sistem operasi, antara lain LINUX, UNIX (termasuk variannya HP-UX, Solaris, dan Open BSD), Microsoft Windows, Mac OS, RISC OS. PHP juga mendukung banyak Web Server, seperti Apache, Microsoft Internet Information Server (MIIS), Personal Web Server (PWS), Netcape and iPlanet Servers, Oreilly Website Pro Server, Audium, Xitami,
26
OmniHTTPd, dan masih banyak lagi lainnya, bahkan PHP dapat bekerja sebagai suatu CGI Processor. PHP tidak terbatas pada hasil keluaran HTML (Hypertext Markup Language). PHP juga memiliki kemampuan untuk mengolah keluaran gambar, file PDF, dan movie flash. PHP juga menghasilkan text seperti XHTML dan file XML lainnya.
2.9
MySQL (Structured Query Language) MySQL merupakan suatu perangkat lunak database yang berbentuk
database relasional atau dalam bahasa basis data sering disebut dengan Relationship Database Management System (RDBMS) yang menggunakan suatu bahasa permintaan yang bernama SQL. Istilah antara MySQL dan SQL mempunyai perbedaan arti, MySQL adalah sebuah program database sedangkan SQL adalah bahasa perintah (Query) dalam program MySQL. Selain MySQL ada beberapa program database server lain yang menggunakan standar query berupa SQL antara lain yaitu Oracle, PostgreSQL, MySQL front, MsQL, SQL Server dan lai-lain. Pernyataan-pernyataan SQL digunakan untuk melakukan fungsi-fungsi seperti update data pada database atau pengambilan data dari database.
Gambar 2.4 MySQL
27
2.10
Dreamweaver CS 5.5 Pengertian Macromedia Dreamweaver adalah sebuah software HTML
editor professional yang digunakan untuk mendesain secara visual dan mengelola situs web maupun halaman web. Bilamana kita menyukai untuk berurusan dengan kode-kode HTML secara manual atau lebih menyukai bekerja dengan lingkungan secara visual dalam melakukan editing, Dreamweaver membuatnya lebih mudah dengan menyediakan tools yang sangat berguna dalam peningkatan kemampuan dan peningkatan kemampuan dan pengalaman kita dalam mendesain web. Dreamweaver CS 5.5 dalam hal ini digunakan untuk web desain. Dreamweaver CS 5.5 mengikutsertakan banyak tools untuk kode-kode dalam halaman web beserta fasilitas-fasilitasnya, antara lain : Referensi HTML, CSS dan Javascript, Javascript debugger, dan editor kode (tampilan kode dan Code inspector) yang mengizinkan kita mengedit kode Javascript, XML, dan dokumen teks lain secara langsung dalam Dreamweaver.
Gambar 2.5 Dreamweaver 8
Teknologi
Dreamweaver
Roundtrip
HTML
mampu
mengimpor
dokumen HTML tanpa perlu memformat ulang kode tersebut dan kita dapat
28
menggunakan Dreamweaver pula untuk membersihkan dan memformat ulang HTML bila kita menginginkannya. Selain itu Dreamweaver juga dilengkapi kemampuan manajemen situs, yang memudahkan kita mengelola keseluruhan elemen yang ada dalam situs. Kita juga dapat melakukan evaluasi situs dengan melakukan pengecekan broken link, kompatibilitas browser, maupun perkiraan waktu download halaman web. Evaluasi Macromedia DreamWeaver diantaranya sebagai berikut :
DreamWeaver 3 : merupakan versi lamanya yaitu web authoring terbaik pada tahun 2000
DreamWeaver 4 : merupakan software yang lebih baik lagi dan lebih canggih pada tahun 2002
Macromedia Dreamweaver MX : pertama kali di tampilkan pada tahun 2004, selain software untuk mendesain web, juga bisa untuk menyunting kode dan untuk membuat aplikasi web dengan menggunakan bahasa pemrograman JSP, PHP, JSP atau Coldfusion. Dilengkapi dengan fasilitas yang cukup lengkap untuk manajemen situs.
2.11
Testing Perangkat Lunak “Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan
merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal” Soetam Rizky (2011:237).
2.11.1 Metode Black Box “Black Box Testing adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenai proses testing di bagian luar “Soetam Rizky (2011:264).
Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain : 1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan teknis di bidang pemrograman.
29
2. Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna. 3. Hasil dari black box testing dapat memperjelas kontradiksi ataupun kerancuan yang mungkin timbul dari eksekusi sebuah perangkat lunak. 4. Proses testing dapat dilakukan lebih cepat dibandingkan white box testing.
Beberapa teknik testing yang tergolong dalam tipe ini antara lain : 1. Equivalence Partitioning Pada teknik ini, setiap inputan data dikelompokan ke dalam grup tertentu, yang kemudian dibandingkan outputnya.
2. Boundary Value Analysis Merupakan teknik yang sangat umun digunakan pada saat awal sebuah perangkat lunak selesai dikerjakan. Pada teknik ini, dilakukan inputan yang melebihi dari batasan sebuah data, jika perangkat lunak berhasil mengatasi inputan yang salah, maka dapat dikatakan teknik ini telah selesai dilakukan.
3. Cause Effect Graph Dalam teknik ini, dilakukan proses testing yang menghubungkan sebab dari sebuah inputan dan akibatnya pada output yang dihasilkan. 4
Random Data Selection
Teknik berusaha melakukan proses inputan data yang menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan.
5
Feature Test
Pada teknik ini dilakukan proses testing terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan.
30
2.11.2 Metode White Box “White Box Testing adalah jenis testing yang lebih berkonsentrasi terhadap “isi” dari perangkat lunak itu sendiri. Jenis lebih banyak berkonsentrasi kepada sourcecode dari perangkat lunak yang dibuat” Soetam Rizky (2011:264). Prinsip dari keluaran tipe testing ini adalah : 1. Menjamin bahwa semua alur program yang indenpenden (dalam bentuk modul, form, prosedur, class dan lainnya) telah dites minimal satu kali. 2. Telah melakukan testing terhadap semua jenis percabangan dengan nilai true dan false. 3. Telah melakukan testing terhadap semua jenis perulangan dengan kondisi normal dan kondisi yang dianggap melampaui batas perulangan (umumnya kondisi yang melampaui batas harus diatasi oleh prosedur tertentu). 4. Telah melakukan testing terhadap struktur data internal (seperti variabel) agar terjaga validitasnya.
Beberapa teknik yang terdapat dalam jenis white box testing adalah : 1. Decision (branch) coverage 2. Testing ini terfokus pada hasil dari setiap skenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (if..then..else). 3. Condition Coverage Teknik ini mirip dengan teknik yang pertama, tetapi dijalankan terhadap percabangan yang dianggap kompleks atau percabangan majemuk. Hal ini biasanya dilakukan jika dalam sebuah perangkat lunak memiliki banyak kondisi yang dijalankan dalam satu proses sekaligus. 4. Path Analysis Merupakan teknik testing yang berusaha menjalankan kondisi yang ada dalam perangkat lunak serta berusaha mengoreksi apakah kondisi yang dijalankan telah sesuai dengan alur diagram yang terdapat dalam proses perancangan. 5. Execution Time Pada teknik ini, perangkat lunak berusaha dijalankan kemudian dilakukan pengukuran waktu pada input masukan hingga output dikeluarkan. Waktu eksekusi yang dihasilkan kemudian dijadikan bahan evaluasi dan analisa lebih
31
lanjut untuk melihat apakah perangkat lunak telah berjalan sesuai dengan kondisi yang dimaksudkan oleh tester. 6. Algorithm Analysis Teknik ini jarang dilakukan jika perangkat lunak yang dibuat berjenis sistem informasi. Sebab teknik ini membutuhkan kemampuan matematis yang cukup tinggi dari para tester, karena di dalamnya berusaha melakukan analisa terhadap algoritma yang diimplementasikan pada perangkat lunak tersebut.