8
LANDASAN TEORI 2.1. KONSEP DASAR 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.
Menurut Jogianto (2005:1) “Sistem adalah kumpulan dari elemen–elemen yang berinteraksi untuk mencapai suatu tujuan tertentu”.
Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu kumpulan dari variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung sama lain.
Gambar 2.1 Model Sistem
[Jogiyanto, Analisis dan desain, 2005 ]
Gambar di atas menunjukan bahwa sistem harus mempunyai beberapa komponen, yakni masukan, pengolahan, keluaran, dan balikan atau kontrol.
2.1.1. PENGERTIAN SISTEM
Untuk memahami atau mengembangkan suatu sistem, maka perlu membedakan unsur dari sistem yang membentuknya. Berikut adalah karakteristik sistem yang dapat membedakan suatu sistem dengan sistem lainya:
1. Batas sistem, batas sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem lainnya atau dengan lingkungan luarnya.
2. Lingkungan luar system, lingkungan luar (environment) dari suatu sistem adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga merugikan sistem tersebut.
3. Penghubung system, penghubung (interface) merupakan media penghubung antara satu subsistem dengan subsistem lainnya.
4. Masukan sistem, masukan (input) adalah data yang dimasukkan kedalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal.
5. Keluaran sistem, keluaran (output) adalah hasil dari data yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan.
6. Pengolah sistem, suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran.
7. Sasaran sistem, suatu sistem pasti menjadi suatu tujuan (goal) atau sasaran (objective).
2.1.2. KARAKTERISTIK SISTEM
Suatu sistem mempunyai karakterisitik atau sifat-sifat tertentu, yaitu mempunyai kopnonen-komponen (components), batas sistem (boundary), lingkup luar sistem (environments), antar muka (interface), masukan (input), keluaran (output), pengolah (process) dan sasaran (objective) atau tujuan (goal).
2.2. KONSEP DASAR INFORMASI
Informasi adalah bentuk akhir dari pengolahan data yang berguna bagi penerimanya. Sumber dari informasi adalah data, dimana data menggambarkan kejadian yang terjadi pada saat tertentu.
2.2.1. PENGERTIAN INFORMASI
Menurut Jogiyanto (2005:8) “Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi penggunanya.”. Lebih lanjut beliau juga menambahkan bahwa Informasi dapat juga diartikan sebagai ”data yang telah diolah menjadi bentuk yang mempunyai arti dan menfaat bagi manusia”. Sedangkan pengertian akan data adalah sebuah potongan-potongan fakta yang menunjukan sebuah peristiwa yang telah terjadi.
2.2.2. PENGERTIAN SISTEM INFORMASI
Menurut jogiyanto (2005:11) “Sistem informasi adalah suatu sistem di dalam orgnisasi yang mempertemukan kebutuhan pengelolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategis di dalam suatu organisasi dan menyedikan pihak luar tertentu dengan laporan - laporan yang diperlukan”.
2.3. METODE WATERFALL
Proses pengembangan sistem melewati beberapa tahapan dari mulai sistem itu direncanakan sampai dengan sistem tersebut diterapkan, dioperasikan dan dipelihara.
Menurut Rosa, Salahuddin(2011:26) metode waterfall “adalah salah satu model SDLC (software development life cycle) air terjun yang menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut”. Tahapan dalam metode ini adalah perencanaan, analisis, desain, pemrograman, uji coba, implementasi dan pemeliharaan.
2.3.1 Fase Model Waterfall
1. Planning
2. Analisa dan definisi kebutuhan 3. Design
4. Coding 5. Testing 6. Maintenance
gambaran dari proses model waterfall dapat dilihat pada gambar dibawah ini.
Gambar 2.2 Metode Waterfall [Jogiyanto, Analisis dan desain, 2005]
Penjelasan dari fase-fase model waterfall diuraikan sebagai berikut ini :
1. Sistem Engineering, Merupakan sebuah proses menetapkan kebutuhan sistem yang akan diterapkan kedalam sistem, seperti kebutuhan software, hardware, dan database.
2. Analisis kebutuhan software. Suatu proses pengumpulan kebutuhan software yang akan dibuat seperti fungsi yang dibutuhkan, antar muka sistem dengan user, dan sebagainya.
3. Design, Suatu proses menerapkan kebutuhan software kedalam rancangan awal sebuah sistem yang nantinya akan diimplementasikan.
4. Coding, Suatu proses implementasi rancangan sistem kedalam bentuk yang dapat dimengerti oleh computer atau secara singkat proses ini adalah
menerapkan rancangan kedalam sebuah program (perangkat lunak) dengan menggunakan bahasa pemrograman.
5. Testing, Merupakan proses pengujian atas program yang telah dibuat agar dapat menemukan kesalahan-kesalahan atau kekurangan yang ada.
6. Maintenance, Merupakan sebuah proses pemeliharaan sistem, pemeliharaan secara berkala dapat mengatasi kendala-kendala seperti error yang tidak ditemukan pada saat testing, atau juga apabila ada penambahan fitur-fitur.
2.4. UML (Unified Modelling Language)
Pada perkembangan teknik pemrograman berorientasi objek, muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan sistem yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML).
Definisi UML menurut Rosa, Salahuddin (2011:118) “UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung”.
2.4.1. USE CASE DIAGRAM
Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna.
Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya.
Gambar 2.3 Use Case Model ( Munawar 2005:64 )
Use Case memiliki beberapa simbol, dimana masing-masing simbol tersebut memiliki fungsi dan kegunaan yang berbeda-beda.
Tabel 2.1 Simbol Use Case Diagram Simbol Keterangan
Aktor : Mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan use case
Use case : Abstraksi dari interaksi antara sistem dan actor
Association adalah abstraksi dari penghubung antara aktor dan use case
Generalisasi : Menunjukan spesialisai aktor untuk dapat berpartisipasi dalam Use case
(elib.unikom.ac.id/file/disk1/441/jbpetunikompp-gdl-riorusiann-2203711- daftars-l.pdf 24/03/11)
2.4.2. ACTIVITY DIAGRAM
Activity diagram adalah teknik untuk menggambarkan logika prosedurial, proses bisnis dan aliran kerja dalam berbagai kasus. Dalam berbagai hal diagram ini memainkan peran seperti diagram alir atau seperti halnya flowchart, akan tetapi perbedaanya dengan flowchart adalah activity diagram bisa mendukung prilaku parallel sedangkan flowchart tidak bisa.
Simbol berikut adalah simbol yang sering digunakan pada saat pembuatan activity diagram.
<<include>>
Menunjukkan bahwa suatu suatu use case seluruhnya merupakan fungsionalitas dari use case lain nya
<<extend>> Menunjukkan bahwa suatu use casemerupakan tambahan fungsional dariuse case lain nya jika suatu kondisi
terpenuhi.
Lanjutan table 2.1 Simbol Use Case Diagram
Tabel 2.2 Simbol Activity Diagram
Simbol Keterangan
Activity Memperlihatkan bagaimana masing- masing kelas antarmuka saling berinteraksi satu sama lain
Action State dari sistem yang mencerminkan eksekusi dari suatu aksi
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
(www.pribadiraharja.com/neli/SKRIPSI/Lampiran/DAFTA R_SIMBOL.doc)
2.4.3. SEQUENCE DIAGRAM
Menurut Martin Fowler (2004:67) “sequence diagram merupakan sebuah model yang menggambarkan bagaimana objek-objek didalam sistem saling beriteraksi dalam waktu tertentu”..
Simbol berikut adalah simbol yang sering digunakan pada saat pembuatan sequence diagram.
TABEL 2.3 Simbol Sequence Diagram
Simbol Keterangan
Object, menggambarkan sebuah objek didalam sistem, dapat berupa sebuah aktor (user), antarmuka, simpanan data, ataupun sebuah kondisi yang diciptakan dari hasil interaksi.
Lifeline, menggambarkan masa kerja sebuah objek pada saat interaksi berlangsung.
Message, sebuah pesan yang dikirim antar objek.
Self Message, sebuah pesan yang menuju ke objek itu sendiri.
Return, sebuah pesan jawaban dari interaksi objek.
2.4.4 Class Diagram
Menurut Martin Fowler (2004:49) “class diagram menggambarkan objek- objek yang terdapat didalam sistem dan hubungan antar objek tersebut”. Simbol berikut adalah simbol yang sering digunakan pada saat pembuatan class diagram.
Gambar 2.4 Contoh class diagram
(http://bebasbanjir2025.wordpress.com/10-makalah-tentang-banjir-2/adeline- narwastu-dan-eri-prasetyo-w/)
2.5 Basis Data (Database)
Menurut Jogiyanto (2008:19) “basis data merupakan kumpulan data yang saling berhubungan satu dengan lainnya yang tersimpan dalam perangkat keras komputer dan di perlukan suatu perangkat untuk memanipulasikan basis data tersebut”.
2.6 PHP
PHP (Hypertext Preprocessor) adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS (Content Management Services). Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
2. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.
4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.
2.7 MySQL
2.7.1 Pengertian MySQL
“MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL(Structured Query Language)” Bunafit, Nugroho (2005:1). MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pilihan atau seleksi dan pemasukan data, yang memungkinkan data di operasikan dengan mudah dan secara otomatis.
Ada bebrapa alasan penggunaan MySQL adalah sebagai berikut :
1. Protabilitas, MySQL stabil dan adapat dgunakan pada setiap system operasi seperti : windows, Linux,Free BSD,Mac OS server, solaris, Amiga dll
2. Perangkat lunak sumer terbuka MySQL dapat digunakan secara gratis karena mnggunakan lisensi GPL dan disbut juga perangkat perangkat lunak terbuka.
3. Multi – User MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa adanya konflik atau masalah.
4. Ragam Tipe Data SQL memiliki ragam tipe data yang sangat banyak, seperti integer, float, char, double, text dan date.
5. Keamanan. Memiliki ingkat kemanan seperti subnetmask, nama host dan izin
akses user dengan sistem perizinan serta sandi terenkripsi.
2.8 Pengertian PhpMyAdmin
“PhpMyAdmin adalah suatu program Open Source berbasis web.
Program ini berguna untuk mengakses database MySQL Program ini akan mempermudah dan mempersingkat kerja kita, dengan beberapa kelebihan, antara lain pengguna awam tidak harus mengenal syntax –syntax SQL dalam pembuatan database dan tabel” Bunafit, Nugroho (2005:467).
Gambar 2.5 Halaman PHP MyAdmin 2.9 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 kebuthan teknis yang telah disepakati dari awal” Soetam, Rizky (2011:237).
2.9.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 seeseorang yang memiliki kemampuan teknis di bidang pemograman.
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 keracunan 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, tiap inputan data dikelompokkan ke dalam grup tertentu, yang kemudian dibandingkan outputnya.
2. Boundary Value Analysis
Merupakan teknik yang sangat umum 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 sebsb dari sebuah inputan dan akibatnya pada output yang dihasilkan.
4. Random Data Selection
Teknik ini berusaha melakukan proses inputan data dengan 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.
2.9.2 Metode White box
“White box testing adalah jenis testing yang lebih berkonsentrasi terhadap
“isi” dari perangkat lunak itu sendiri. Jenis ini lebih banyak brkonsentrasi kepada source code dari perangkat lunak yang dibuat” Soetam, Rizky (2011:261).
Prinsip dari keluaran tipe testing ini adalah :
1. Menjamin bahwa semua alur program yang indenpenden (dalam bentuk modul, form, prosedur, class dal 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 variable) agar terjaga validitasnya.
Beberapa teknik yang terdapat dalam jenis white box testing adalah:
1. Decision (branch) Coverage
Testing ini terfokus pada hasil dari tiap scenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (If…then…else).
2. 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.
3. 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.
4. Execution Time
Pada teknik ini, perangkat lunak berusaha dijalankan kemudian dilakukan pengukuran waktu pada input masukkan hingga output dikeluarkan. Waktu
eksekusi yang dihasilkan kemudian dijadikan bahan evaluasi dan analisa lebih lanjut untuk melihat apakah perangkat lunak telah berjalan sesuai dengan kondisi yang dimaksudkan oleh tester.
5. 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.
2.10 Pengertian perusahaan
perusahaan adalah setiap bentuk badan usaha yang menjalankan setiap jenis usaha yang bersifat tetap dan terus menerus dan didirikan, bekerja, serta berkedudukan dalam wilayah negara indonesia untuk tujuan memperoleh keuntungan dan atau laba. Kansil (2001 : 2) “perusahaan adalah adalah suatu organisasi produksi yang menggunakan dan mengkoordinir sumber-sumber ekonomi untuk memuaskan kebutuhan dengan cara yang menguntungkan.
Perusahaan adalah tempat terjadinya kegiatan produksi dan berkumpulnya semua faktor produksi. (Wikipedia ”perusahaan”, 2008).