commit to user
BAB II
LANDASAN TEORI
2.1. Tinjauan Pustaka
Prasetyo (2009), mengembangkan Sistem Informasi Pendataan Penduduk Tingkat Desa, yang diteliti oleh Suparno Dedy Prastyo dari Universitas Islam Sultan AgungSemarang dan tempat penelitiannya di Desa Ujungsari, Kecamatan Adiwerna Kabupaten Tegal, pada tahun 2009. Dengan masalah sulitnya pemberian data dan informasi secara cepat dan akurat mengenai laporan pendataan penduduk per periode tertentu pada tingkat kecamatan.Sistem Informasi ini bertujuan untuk menghasilkan sistem pendataan penduduk desa yang cepat dan akurat.
Faisal (2007), melakukan penelitian Rancang Bangun Sistem Informasi Administrasi Kependudukan Desa Paleyan Kecamatan Kapongan Kabupaten Situbondo Menggunakan Microsoft Visual Basic 6.0 dan Microsoft Acces. Dengan masalah minimnya informasi pelayanan publik terhadap pembuatan blanko dokumen kependududkan seperti KTP, akte kelahiran, akte kematian, dan surat keterangan pindah. Dengan masalah ini peneliti merumuskan bagaimana caranya merancang sistem informasi administrasi kependudukan yang efektif, tepat, cepat, dan akurat.
Sedangkan tugas akhir ini, sistem yang akan dibuat adalah “Sistem Informasi Pembebasan Tanah Di Dinas Bina Marga “. Tujuan dari sistem ini adalah untuk mempermudah pendataan setiap warga atau penduduk yang memiliki tanah, bangunan dan tanaman yang nantinya akan dibuat jalan tol serta pemberian uang ganti rugi yang sesuai data yang ada.
3
commit to user 2.2. Landasan Teori
2.2.1 Pengertian Sistem Informasi
Secara umum sistem didefinisikan sebagai kumpulan unsur atau elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai tujuan.
Suatu sistem terdiri dari bagian – bagian yang saling berkaitan, yang beroperasi bersama untuk mencapai beberapa sasaran atau maksud.Berarti sebuah sistem bukanlah seperangkat unsur yang tersusun secara tak teratur, tetapi terdiri dari unsur yang dapat dikenal sebagai saling melengkapi karena satu maksud tujuan atau sasaran (Davis, 2000).
Menurut Robert J. Verzello/John Reuter III yang dikutip dari Jogiyanto (2005) yaitu sebagai berikut : “Definisi informasi adalah kumpulan data yang relevan dan mempunyai arti yang menggambarkan suatu kejadian- kejadian atau kegiatan-kegiatan”.
Sistem informasi menurut Henry C. Lucas yang dikutip dari Jogiyanto (2005) adalah sebagai berikut : “Suatu sistem informasi adalah suatu kegiatan dari prosedur-prosedur yang diorganisasikan, bilamana dieksekusikan akan menyediakan informasi untuk mendukung pengambilan keputusan dan pengendalian di dalam organisasi”.
2.2.2 Pengertian Basis Data
Databasemerupakan suatu kumpulan dari data – data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras (hardware) komputer dan digunakan perangkat lunak (software) untuk memanipulasinya.Data disimpan dalam databaseuntuk keperluan penyediaan informasi, diorganisasikan untuk efisiensi kapasitas penyimpanan supaya informasi yang dihasilkan berkualitas.Databasediakses atau dimanipulasikan dengan paket software Database Management System (DBMS) (Jogiyanto, 1993).
commit to user 2.2.3 Database Management System (DBMS)
Database Management System adalah kumpulan file yang saling berkaitan bersama dengan program pengelolaannya.
Menurut Kadir (2011:17) pengertian DBMS adalah: ”Suatu program komputer yang digunakan untuk memasukkan, mengubah ,menghapu emanipulasi dan memperoleh data/informasi dengan praktis dan efisien”.
Berikut ini adalah macam perintah dalam DBMS
a) Bahasa Definisi Data (Data Definition Language/ DDL)
DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) utnuk mendefinisikan skema ke DBMS.
Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.
b) Bahasa Manipulasi Data (Data Manipulation language/ DML)
DML adalah perintah-perintah yang digunakan untuk mengubah, mamnipulasi dan mengambil data pada basis data.Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML.
DML pada dasarnya dibagi menjadi dua : Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya. Dan nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya.
c) DQL ( Data Query Language)
Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia.
commit to user 2.2.4 My SQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis SQL atau yang dikenal dengan DBMS (Database Management System), databasemultithread multi-user.MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL).MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structure Query Language).SQL adalah sebuah konsep pengoperasian database, terutama untuk memilih atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. (Huda, 2010)
Sebagai database server MySQL dapat dikatakan lebih unggul dibandingkan databaseserver lainnya, terutama dalam kecepatan. Berikut ini beberapa keistimewaan MySQL, antara lain:
a) Portability
MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
b) Multiuser
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan.
c) Security
MySQL memiliki beberapa level sekuritas seperti levelnamahost, subnetmask, dan izin akses user.
d) Scalability and limits
MySQL mampu menangani database dalam skala besar (Miftakhul dan Bunafit, 2010).
commit to user 2.2.5 Apache
Salah satu webserver yang bersifat open source adalah Apache.
Menurut Prasetyo (2003), Apache adalah software yang menyimpan serta mendistribusikan data ke komputer lain (client) lewat internet yang meminta informasi tersebut. Pada dasarnya Apache adalah “A PatCHy server”, karena pada waktu pengembangannya terdapat banyak patch yang diberikan oleh developer. Apache merupakan turunan 6 dari webserver yang dikeluarkan oleh NCSA, yaitu NCSA HTTPD sekitar tahun 1995.
2.2.6 PHP
PHP singkatan dari PHP Hypertext Processor merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses di server.Hasilnyalah yang dikirim ke client, tempat pemakai menggunakan browser (Kadir, 2011).
Menurut Peranginangin (2006) PHP singkatan dari PHP Hypertext Preprocessor yang di gunakan sebagai script server-side dalam pengembangan web yang disisipkan pada dokumen HTML. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.
2.2.7 MVC
CodeIgniter memiliki kerangka yang disebut MVC (Model, View, Controller).MVC menjadi praktek standar industri cepat yang digunakan dalam setiap lingkungan pengembangan modern.banyak kerangka kerja seperti Ruby on Rails, ASP.NET, CakePHP dan CodeIgniter menggunakan konsep MVC untuk memisahkan logika di balik aplikasi dari lapisan representasi. (Dharwiyanti, 2013)
commit to user a) Model
Model adalah mode dimana pengembang dapat memanipulasi data.Ini terdiri dari lapisan yang berada antara data dan aplikasi. Data itu sendiri dapat disimpan dalam berbagai jenis sistem database seperti MySQL atau bahkan XML sederhana atau file Excel.
b) View
View adalah representasi visual dari aplikasi web. View yang bertanggung jawab untuk menyajikan data yang diterima dari Controller danModel (logika).
c) Controller
Fungsi utama dari Controller adalah untuk menangani permintaan dan lulus data dari Model ke View. Dengan demikian Controller dapat dianggap sebagai penghubung antara Model dan View.
2.2.8 CodeIgniter
CodeIgniter adalah aplikasi close source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP (Sidik, 2012). CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal.
2.2.9 Entity Relationship Diagram (ERD)
Penggunaan ERD berfungsi untuk memudahkan pemecahan masalah, dengan modal jaringan yang menggunakan susunan data yang disimpan didalam sistem secara serentak (Wijanarko, 2000).Adapun komponen utama ERD adalah sebagai berikut :
a) Entity (Objek Data)
commit to user
Entity atau objek data merupakan suatu informasi yang dapat dibedakan dalam dunia nyata.Entity melambangkan sebuah tabel didalam struktur basis data.Gambar lebih lanjut, lihat pada gambar 2.1.
Gambar 2.1 Entity
b) Relationship
Relationship merupakan suatu hubungan yang terjadi antara satu entitas dengan entitas lain. Gambar lebih lanjut, lihat pada gambar 2.2.
Gambar 2.2 Relationship c) Attribute
Attribute merupakan karakteristik penjelasan detail tentang entitas dan relationship.Gambar lebih lanjut, lihat pada gambar 2.3.
Gambar 2.3Attribute 2.2.10 Relational Database
Relational databaseadalah sekumpulan tabel – tabel yang memiliki hubungan relasi secara matematika dan logika. Hubungan relasi antar tabel pada umumnya berupa query, yakni tata aturan relasi yang sudah disusun berdasarkan desain dan teknik basis data tertentu yang digunakan. Query menjelaskan hubungan antar tabel secara metematika dan logika. Query terdiri dari operasi-operasi matematika dan logika yang diterapkan pada sekumpulan tabel (Fathansyah, 1999).
Relational databasedibangun dari sekumpulan tabel yang memiliki hubungan relasi, dimana relasi itu dinyatakan dengan query.Query itu terdiri
commit to user
dari beberapa operasi secara matematika, misalkan operasi join dengan beberapa operator secara logika, seperti AND dan OR. Query-query itu disimpan pada suatu file relasi basis data. Relational databaseini diimplementasikan dalam sistem informasi pembebasan tanah jalan tol yang saya buat.
2.2.11 Undified Modelling Language (UML)
Undified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.UML menawarkan sebuah standar untuk merancang model sebuah sistem. (Dharwiyanti, 2013)
Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasabahasa berorientasi objek seperti C++, Java, C#
atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
a) Use case Diagram
Use case diagrammenggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan
commit to user
bukan “bagaimana”. Sebuah Use casemerepresentasikan sebuah interaksi antara aktor dengan sistem. Use casemerupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya.
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu.
(Dharwiyanti, 2013)
Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem,mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah Use casedapat meng-include fungsionalitas Use caselain sebagai bagian dari proses dalamdirinya. Secara umum diasumsikan bahwa Use caseyang di- include akan dipanggil setiap kali Use caseyang meng-include dieksekusi secara normal.
Sebuah Use casedapat di-include oleh lebih dari satu Use caselain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah Use casejuga dapat meng-extend Use caselain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar Use casemenunjukkan bahwa Use caseyang satu merupakan spesialisasi dari yang lain. Berikut adalah simbol-simbol yang ada pada diagram Use case yang dapat dilihat pada tabel 2.1.
Tabel 2.1 Simbol Use case
Gambar/Simbol Nama Keterangan
Aktor Merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi itu sendiri.
Biasanya dinyatakan menggunakan kata benda di awal frase nama aktor.
commit to user
Gambar/Simbol Nama Keterangan
Use case Fungsional yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
Biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama Use case Asosiasi Komunikasi antara aktor dan
Use caseatau sebaliknya.
Generalisa si
Hubungan generalisasi dan spesifikasi (umum ke khusus) antara dua buah Use casedimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya.
Ekstensi Relasi Use casetambahan ke sebuah Use casedimana Use caseyang ditambahkan dapat berdiri sendiri walau tanpa Use casetambahan itu.
Hampir mirip seperti konsep
inheritance pada
pemrograman berbasis objek.
commit to user b) Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). (Dharwiyanti, 2013)
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.Class memiliki tiga area pokok :
a) Nama (dan stereotype) b) Atribut
c) Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
a) Private, tidak dapat dipanggil dari luar class yang bersangkutan
b) Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
c) Public, dapat dipanggil oleh siapa saja
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda.Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run- time.
Macam – macam hubungan antar class yaitu :
a) Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memilikiatribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
b) Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
c) Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan
commit to user
menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
d) Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Berikut ini adalah simbol-simbol yang ada pada Class diagram yang dapat dilihat pada tabel 2.2.
Tabel 2.2 Simbol Class Diagram
Gambar/Simbol Nama Keterangan
Class Merupakan kelas pada struktur sistem yang terdiri dari atribut dan method.
Interface Sama dengan konsep
interface dalam
pemrograman berorientasi objek.
Asosiasi Relasi antar kelas dengan makna umum. Biasanya disertai dengan multiplicity.
Generalisasi Relasi antar kelas dengan makna generalisasi- spesialisasi (umum-khusus) Asosiasi
berarah
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain.
commit to user
Gambar/Simbol Nama Keterangan
Dependency Relasi antar kelas yang
bermakna adanya
ketergantungan antara kelas yang satu dengan yang lainnya.
Agregasi Relasi antar kelas yang bermakna semua bagian (whole-part)
c) Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
(Dharwiyanti, 2013)
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Berikut adalah simbol-simbol yang ada dalam sequence diagram yang dapat dilihat pada tabel 2.3.
commit to user
Tabel 2.3Simbol Sequence Diagram
Gambar/Simbol Nama Keterangan
Aktor Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi lain di luar sistem informasi itu sendiri.
Biasanya dinyatakan menggunakan kata benda di awal frase nama aktor.
Lifetime Menyatakan kehidupan / garis hidup suatu objek
Objek
Menyatakan objek yang berinteraksi dengan pesan
Waktu aktif Menyatakan objek dalam keadaan aktif dan berinteraksi dengan pesan Pesan tipe
call
Menyatakan suatu objek memanggil operasi / metode yang ada pada objek yang dibuat.
Pesan tipe send
Menyatakan bahwa suatu objek mengirimkan data masukan/informasi ke objek lainnya, arah panah mengarah ke objek yang dikirim
commit to user
Gambar/Simbol Nama Keterangan
Pesan tipe create
Menyatakan suatu objek yang membuat objek lain, arah panah mengarah pada objek yang dibuat.
Pesan tipe out
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode yang menghasilkan suatu kembalian ke objek tertentu, arah anak panah mengarah pada objek yang menerima kembalian.
X Pesan tipe
destroy
Menyatakan akhir hidup suatu objek
2.2.12 Pengujian Black Box
Menurut Beizer dalam Pressman (2007) pengujian black-box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian black- blox memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black-box bukan merupakan alternative dari teknik white-box, tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kelas kesalahan daripada metode white-box. 19 Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut :
a. Fungsi-fungsi yang tidak benar atau hilang b. Kesalahan interface
c. Kesalahan dalam struktur data atau askes databaseeksternal
commit to user d. Kesalahan kinerja
e. Inisialisasi dan kesalahan terminasi