BAB II LANDASAN TEORI
Dalam Bab ini disampaikan uraian yang dihimpun dari sumber-sumber pustaka mengenai perumahan, sistem informasi, model waterfall, metode prosedural/ terstruktur, PHP, web server apache, MySQL, dan pengujian sistem. Informasi yang dirangkum bersumber dari buku, majalah, dan Internet.
2.1 PERUMAHAN Di dalam Undang – Undang Perumahan dan Permukiman No.4 tahun 1992 (BAB I, pasal 1), perumahan adalah kelompok rumah yang berfungsi sebagai lingkungan tempat tinggal atau lingkungan hunian yang dilengkapi dengan prasarana dan sarana lingkungan. Rumah adalah bangunan yang berfungsi sebagai tempat tinggal atau hunian dan sarana pembinaan keluarga. Turner (Jenie, 2001 : 45) mendefinisikan tiga fungsi utama yang terkandung dalam sebuah rumah tempat bermukim, yaitu : 1. Rumah sebagai penunjang identitas keluarga yang diwujudkan pada kualitas hunian atau perlindungan yang diberikan oleh rumah. Kebutuhan akan tempat tinggal dimaksudkan agar penghuni dapat memiliki tempat berteduh guna melindungi diri dari iklim setempat. 2. Rumah sebagai penunjang kesempatan keluarga untuk berkembang dalam kehidupan sosial budaya dan ekonomi atau fungsi pengemban keluarga. Kebutuhan berupa akses ini diterjemahkan dalam pemenuhan kebutuhan sosial dan kemudahan ke tempat kerja guna mendapatkan sumber penghasilan. 3. Rumah sebagai penunjang rasa aman dalam arti terjaminnya keadaan keluarga di masa depan setelah mendapatkan rumah. Jaminan keamanan atas lingkungan perumahan yang ditempati serta jaminan keamanan berupa kepemilikan rumah dan lahan.
7
8
2.2 SISTEM INFORMASI Dalam Wikipedia, sistem adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi. Informasi adalah data yang disimpan, diproses, atau ditransmisikan. Sistem Informasi adalah sekumpulan komponen dari informasi yang saling berintegrasi untuk mencapai tujuan yang spesifik. Sistem informasi mampu menyediakan informasi yang bermanfaat bagi penggunanya. Contoh : Sistem Informasi Akuntansi yang menyediakan informasi transaksi perusahaan yang diperoleh dari pengumpulan dan pengolahan data transaksi. Informasi yang ditampilkan dapat berbentuk informasi akuntansi keuangan (laporan keuangan) atau informasi akuntansi manajemen yang berguna bagi manajemen dalam pengambilan keputusan. Menurut media diknas (3-5) Sistem memiliki karakteristik sebagai berikut: 1. Komponen Sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, membentuk satu kesatuan. Komponen-komponen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. Setiap subsistem mempunyai sifatsifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan. 2. Batas Sistem Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas suatu sistem menunjukkan ruang lingkup dari sistem tersebut. 3. Lingkungan Luar Sistem (environment) Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. 4. Penghubung (Interface) Sistem Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Keluaran dari satu subsistem akan menjadi masukan untuk subsistem lainnya melalui penghubung. Dengan penghubung, satu subsistem dapat berintegrasi dengan subsistem yang lainnya membentuk satu kesatuan 5. Masukan (Input) Sistem Masukan sistem adalah data yang dimasukkan ke dalam sistem. Masukan diolah menjadi informasi
9
6. Keluaran (Output) Sistem Keluaran sistem adalah hasil dari masukan. 7. Pengolah (Process) Sistem Pegolah sistem meupakan bagian yang akan merubah masukan menjadi keluaran. 8. Sasaran atau Tujuan Suatu sistem pasti mempunyai tujuan atau sasaran. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.
Komponen sistem informasi terdiri atas: 1. Perangkat Lunak Merupakan program komputer, struktur data, dan dokumen yang berhubungan yang berfungsi untuk mempengaruhi metode, prosedur yang dibutuhkan. 2. Perangkat Keras Merupakan perangkat elektronik yang memberi fungsi eksternal. 3.
Manusia Merupakan pemakai dan operator perangkat keras dan perangkat lunak.
4. Database Merupakan kumpulan informasi yang besar dan terorganisasi yang diakses melalui perangkat lunak 5. Dokumentasi Merupakan
manual,
formulir,
dan
informasi
lainnya
yang
menggambarkan penggunaan atau pengoperasian sistem. 6. Prosedur Merupakan langkah-langkah yang menentukan penggunaan khusus dari masingmasing elemen sistem.
2.3 MODEL WATERFALL Sommerville (2004) menyatakan model Waterfall adalah model yang menyarankan sebuah pendekatan yang sistematis dan sekuensial melalui tahapan-tahapan untuk membangun sebuah perangkat lunak. Waterfall menekankan pada sebuah keterurutan dalam proses pengembangan perangkat lunak. Fase yang terdapat pada model waterfall adalah sebagai berikut:
1. Analisis kebutuhan dan pendefinisiannya 2. Analisis Sistem
10
3. Perancangan sistem 4. Implementasi 5. Pengujian sistem 6. Perawatan
Gambar 2.1 Fase Model Waterfall
Dari gambar dapat dilihat bahwa tahapan pada metode Waterfall diawali oleh tahap analisis kebutuhan. Tahap ini didefinisikan sebagai sebuah tahap yang menghasilkan sebuah kondisi yang diperlukan oleh pengguna untuk menyelesaikan permasalahan
ataupun
mencapai
sebuah
tujuan.
Tahap
ini
bertujuan
untuk
mengumpulkan kebutuhan-kebutuhan pengguna dan kemudian mentransformasikan ke dalam sebuah deskripsi yang jelas dan lengkap. Tahapan kedua adalah tahap analisis sistem yang bertujuan untuk menjabarkan segala sesuatu yang nantinya akan ditangani oleh perangkat lunak. Tahapan ini adalah tahapan dimana pemodelan merupakan sebuah representasi dari objek di dunia nyata. Untuk memahami sifat perangkat lunak yang akan dibangun, analis harus memahami informasi, dan tingkah laku yang diperlukan. Tahap ketiga adalah tahap perancangan perangkat lunak yang berfokus pada struktur data, arsitektur perangkat lunak. Proses ini menerjemahkan kebutuhan ke dalam sebuah model perangkat lunak yang dapat diperkirakan kualitasnya sebelum dimulainya tahap implementasi. Tahap implementasi adalah tahap yang mengkonversi apa yang telah dirancang sebelumnya ke dalam sebuah bahasa yang dimengerti komputer. Kemudian komputer
11
akan menjalankan fungsi-fungsi yang telah didefinisikan sehingga mampu memberikan layanan-layanan kepada penggunanya. Tahap selanjutnya adalah tahap pengujian. Terdapat dua metode pengujian perangkat lunak yang umum digunakan, yaitu metode black-box dan white-box. Pengujian dengan metode black-box merupakan pengujian yang menekankan pada fungsionalitas dari sebuah perangkat lunak tanpa harus mengetahui bagaimana struktur di dalam perangkat lunak tersebut. Sebuah perangkat lunak yang diuji menggunakan metode black-box dikatakan berhasil jika fungsi-fungsi yang ada telah memenuhi spesifikasi kebutuhan yang telah dibuat sebelumnya. Sedangkan metode white-box menguji struktur internal perangkat lunak dengan melakukan pengujian pada algoritma yang digunakan oleh perangkat lunak. Tahap akhir dari metode Waterfall adalah tahap perawatan. Tahap ini dapat diartikan sebagai tahap penggunaan perangkat lunak yang disertai dengan perawatan dan perbaikan. Perawatan dan perbaikan suatu perangkat lunak diperlukan, termasuk di dalamnya adalah pengembangan, karena dalam prakteknya ketika perangkat lunak tersebut digunakan terkadang masih terdapat kekurangan ataupun penambahan fitur-fitur baru yang dirasa perlu (Sommerville 2004).
2.4 METODE PROSEDURAL / TERSTRUKTUR Dalam pendekatan terstruktur, “struktur” merupakan ciri utama pada analis dan desain sistem informasi. “Struktur” dapat dihubungkan dengan cara dan bentuk penyusunan sesuatu. Analisis terstruktur digunakan untuk menentukan dan menjelaskan sistem terstruktur yang dapat memenuhi tuntutan pemakai, waktu dan anggaran yang ada. Beberapa alat yang dipakai dalam metodologi pengembangan sistem secara terstruktur adalah sebagai berikut, tetapi yang akan digunakan yaitu flowchart dan data flow diagram. 1. Bagan Alir (Flowchart) 2. Data Flow Diagram 3. SADT(structure analysis and design technique) 4. HIPO (hierarchi input process output) 5. Diagram Jackson 6. Diagram Orr/Warnier
12
2.4.1
Flowchart Flowchart adalah bagan yang menunjukkan aliran program atau urutan prosedur
sistem. Flowchart menunjukkan apa yang dikerjakan di sistem dan dapat membantu memecahkan masalah ke dalam segmen-segmen yang lebih kecil. Simbol – simbol flowchart terdiri atas:
1. Flow direction symbols Digunakan untuk menghubungkan simbol satu dengan yang lain Tabel 2.1 Flow direction symbols
Simbol
Keterangan a. Simbol arus / flow b. Menyatakan jalannya arus suatu proses
a. Simbol communication link b. Menyatakan transmisi data dari satu lokasi ke lokasi lain a. Simbol connector b. Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama a. Simbol offline connector b. Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang berbeda
2. Processing symbols Menunjukan jenis operasi pengolahan dalam suatu proses / prosedur
13
Tabel 2.2 Processing symbols
Simbol
Keterangan a. Simbol proses b. Menyatakan suatu tindakan (proses) yang dilakukan oleh komputer a. Simbol manual b. Menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer a. Simbol decision b. Menujukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan jawaban : ya / tidak a. Simbol terminal b. Menyatakan permulaan atau akhir suatu program a. Simbol keying operation b. Menyatakan segala jenis operasi yang diproses dengan menggunakan suatu mesin yang mempunyai keyboard
3. Input / Output symbols Menunjukkan jenis peralatan yang digunakan sebagai media input atau output
14
Tabel 2.3 Input / output symbols
Simbol
Keterangan a. Simbol input/output b. Menyatakan proses input atau output tanpa tergantung jenis peralatannya a. Simbol punched card b. Menyatakan input berasal dari kartu atau output ditulis ke kartu a. Simbol magnetic tape b. Menyatakan input berasal dari pita magnetis atau output disimpan ke pita magnetis a. Simbol dokumen b. Mencetak keluaran dalam bentuk dokumen (melalui printer) a. Simbol display b. Mencetak keluaran dalam layar monitor
Kaidah pembuatan flowchart adalah seperti gambar berikut:
Gambar 2.2 Kaidah Pembuatan Flowchart
15
2.4.2
Data Flow Diagram/DFD
Menurut Jogiyanto (1990), Data Flow Diagram (DFD) merupakan suatu graphic yang menunjukkan hubungan antar proses dalam suatu aliran data. DFD menjelaskan aliran informasi dan tranformasi data yang bergerak dari pemasukan data hingga keluar data. DFD merupakan salah satu alat bantu yang digunakan dalam perancangan sistem. Data Flow Diagram terdiri atas empat elemen dasar, yaitu:
1. External entity Merupakan entity di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan masukan atau menerima keluaran dari sistem. External entity disimbolkan dengan kotak.
2. Data flow (arus data) Data Flow menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem. Arus data ini mengalir diantara proses, data store dan external entity. Data flow disimbolkan dengan panah.
3. Process (proses) Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Proses melakukan suatu perubahan berdasarkan data yang dimasukkan dan menghasilkan data atau beberapa keterangan dari perubahan tersebut. Proses disimbolkan dengan lingkaran atau empat persegi panjang tegak dengan sudut-sudutnya tumpul.
4. Data store (simpanan data) Data store merupakan simpanan dari data. Data store disimbolkan dengan sepasang garis horizontal pararel yang tertutup di salah satu ujungnya (media diknas 3-14).
16
Data Flow Diagram terbagi atas:
1. DFD Level 0 / Context Diagram Context Diagram merepresentasikan seluruh elemen sistem sebagai lingkaran tunggal dengan data input/output ditunjukkan oleh anak panah yang masuk dan keluar secara berurutan. Dalam pembuatan context diagram, hal berikut perlu diperhatikan : a. Kelompok pemakai, baik pihak internal atau eksternal perusahaan, dan departemen yang terkait. b. Kemungkinan kejadian-kejadian yang akan terjadi dalam penggunaan sistem harus diidentifikasi secara lengkap. c. Arah anak panah yang menunjukkan aliran data jangan sampai terbalik agar dapat memberikan pemahaman yang benar terhadap seluruh proses sistem yang akan dibentuk. d. Setiap kejadian digambarkan dalam bentuk yang sederhana dan mudah dipahami oleh pembuat sistem.
2. DFD Tahapan DFD tahapan merupakan partisi dari level 0 untuk mengungkapkan secara detail fungsi-fungsi yang ada dalam DFD level 0. Pada umumnya tahapan dimulai dari 1, 2 dan seterusnya. Setiap penurunan ke tahapan yang lebih rendah akan diurai lebih rinci dengan spesifikasi lebih jelas. Penurunan tahapan dilakukan jika perlu merinci beberapa proses. Namun tidak semua bagian dari proses tersebut harus diturunkan dengan jumlah tahapan yang sama.
2.4.3
ERD (Entity Relationship Diagram) Menurut Jogiyanto (1990) Entity Relationship Diagram adalah suatu model yang
menggambarkan hubungan antar tabel dalam database, yang akan menjelaskan secara keseluruhan dari sistem yang ada di dalam perusahaan. Beberapa istilah dalam Entity Relationship Diagram :
1. Entity Merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari yang lain. Simbolnya berbentuk persegi panjang.
17
2. Relationship Merupakan hubungan yang terjadi antara satu entity dengan entity lainnya. Entity relationship adalah relasi antar dua tabel. Simbolnya berbentuk belah ketupat. Entity relationship terdiri dari: a. One to one (1:1) b. One to many (1:M)/(M:1) c. Many to many (M:M)
3. Atribut Merupakan kumpulan elemen-elemen data yang membentuk suatu entity dan karakter dari entity yang menyediakan penjelasan detail dalam entity. Simbolnya berbentuk elips.
4. Key Merupakan pengenal yang unik dari suatu entity, biasanya ditulis dengan digaris bawahi dalam suatu ERD. Ada beberapa macam key, yaitu candidate key, primary key, foreign key, alternate key. Candidate key merupakan atribut yang mengidentifikasi sebuah record dan memiliki nilai unik pada hampir setiap record nya (calon primary key). Primary key merupakan candidate key yang telah dipilih untuk mengidentifikasi setiap record secara unik. Foreign key merupakan primary key yang terhubung pada entity/ tabel lain. Alternate key merupakan candidate key yang tidak terpilih. Derajat dari relationship menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship. Derajat relationship terdiri dari:
1. Unary degree (derajat satu) 2. Binary degree (derajat dua) 3. Ternary degree (derajat tiga) Tahap membuat ERD:
1. Mengidentifikasi dan menetapkan seluruh himpunan entity yang akan terlibat.
2. Menentukan atribut-atribut key dari masing-masing himpunan entity. 3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entity yang ada.
4. Menentukan derajat/ kardinalitas relasi untuk setiap himpunan relasi.
18
5. Melengkapi himpunan entity dan himpunan relasi dengan atribut-atribut non key.
2.5 PHP PHP merupakan singkatan dari Hypertex Preprocessor, sebuah bahasa scripting yang terpasang pada HTML. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP bernama FI (Form Interpreted), sekumpulan script yang digunakan untuk mengolah data dari web. Kelebihan PHP dari bahasa pemrograman lain:
1. Tidak melakukan kompilasi dalam penggunaannya 2. Web server yang mendukung PHP dapat ditemukan dimana – mana, dari mulai IIS sampai dengan apache, dengan konfigurasi yang relatif mudah
3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis yang dapat membantu dalam pengembangan
4. Dalam sisi pemahaman, php adalah bahasa scripting yang paling mudah karena referensi yang banyak
5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows).
2.6 WEB SERVER APACHE Di dalam Wikipedia, Apache merupakan web server yang dapat dijalankan pada banyak sistem operasi (Unix, Linux, Microsoft Windows, serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web ini menggunakan HTTP. Apache dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. Web server Apache mempunyai kelebihan: 1.
Termasuk dalam kategori freeware
2.
Proses instalasi yang mudah jika dibanding dengan web server lainnya seperti NCSA, IIS, dan lain-lain
3.
Mampu beroperasi pada berbagai platform sistem operasi
4.
Mudah mengatur konfigurasinya. Web server menunggu permintaan HTTP atau HTTPS dari client yang
menggunakan browser, seperti, Internet Explorer, Mozilla, dan program browser lainnya.
19
Jika ada permintaan dari browser maka web server akan memproses permintaan itu, kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut.
2.7 MySQL MySQL merupakan perangkat lunak sistem manajemen basis data yang sifatnya gratis dibawah lisensi GNU General Public License (GPL). MySQL dimiliki oleh perusahaan komersial MySQL AB. Kelebihan MySQL antara lain: 1.
Bebas di download.
2.
MySQL tersedia di berbagai platform Linux, Windows, dan berbagai varian.
3.
Dapat digunakan dengan berbagai pemrograman.
4.
Mudah digunakan.
5.
Dukungan dari banyak komunitas.
2.8 PENGUJIAN SISTEM Sistem yang telah dibuat harus diuji dengan tujuan mencari sebanyak mungkin kesalahan yang ada pada sistem tersebut. Metode pengujian perangkat lunak mencakup metode White Box dan Black Box, tetapi metode yang akan digunakan pada Sistem Informasi Katalog Perumahan yaitu metode black box. Roger S.Pressman menyatakan dalam bukunya (2004) sejumlah aturan yang berfungsi sebagai sasaran pengujian:
1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
2. Test case/kasus uji yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.
3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.
2.8.1
Metode White Box Roger S. Pressman dalam bukunya (2004) menyatakan pengujian white-box
adalah pengujian yang didasarkan pada pengamatan yang teliti terhadap detail prosedural. Pengujian dilakukan untuk menguji serangkaian kondisi atau loop tertentu.
20
Dengan menggunakan metode white – box, perekayasa sistem dapat melakukan test case yang antara nya adalah :
1.
Memberikan jaminan bahwa semua jalur pada suatu modul telah digunakan paling tidak satu kali.
2.
Menggunakan semua keputusan logis pada sisi true dan false.
3.
Menggunakan struktur data internal untuk menjamin validasinya.
2.8.2
Metode Black Box Roger S. Pressman dalam bukunya (2004) menyatakan pengujian black box
berfokus pada persyaratan fungsional perangkat lunak. Pengujian
blackbox
memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi
input
yang menggunakan semua persyaratan fungsional untuk suatu program. Pengujian blackbox berusaha menemukan kesalahan dalam kategori sebagai berikut :
1.
Fungsi-fungsi yang tidak benar atau hilang.
2.
Kesalahan interface.
3.
Kesalahan dalam struktur data atau akses database eksternal.
4.
Kesalahan kinerja. Kualitas Pengujian yang baik adalah sebagai berikut:
1.
Memiliki probabilitas yang tinggi untuk menemukan kesalahan.
2.
Tidak redundan.
3.
Tidak terlalu sederhana atau terlalu kompleks.