BAB II LANDASAN TEORI
Teori Umum Untuk mendukung pembuatan laporan ini, maka perlu dikemukakan hal-hal atau teoriteori yang berkaitan dengan permasalahan dan ruang lingkup pembahasan sebagai landasan dalam pembuatan laporan ini.
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. Secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel-variabel yang saling berinteraksi, dan saling bergantung satu sama lain.
Masukan ( Input)
Keluaran ( Output)
Pengolahan (Processing)
Gambar 2.1 Konsep sistem informasi (Hanif Al Fatta, 2007)
2.1.1 Pengertian Sistem Sistem berasal dari bahasa yunani yaitu berasal dari kata systema yang artinya sekumpulan objek yang saling bekerja sama untuk menghasilkan suatu prosedur ataupun metode teknik yang digabungkan dan diatur sedemikian rupa akan menjadi suatu kesatuan untuk mencari suatu tujuan 2.1.1.1. Pengertian Sub-Sistem Menurut (Tata Sutabri, 2012:11) Suatu sistem dapat terdiri dari bagian-bagian sistem atau sub-sistem. Contoh, sistem komputer terdiri dari sub-sistem. 5
perangkat keras dan subsistem perangkat lunak. Masing-masing sub-sistem dapat terdiri dari sub-sistem-subsistem lagi atau komponen pendukung sistem itu sendiri. Subsistem perangkat keras dapat terdiri dari alat masukan, alat pemroses, alat keluaran dan media penyimpanan. Subsistem-subsistem yang ada saling berhubungan membentuk suatu kesatuan sehingga tujuan atau sasaran sistem tersebut dapat tercapai.
2.1.1.2. Definisi Sistem Definisi sistem menurut (Verdi Yasin, 2012:260) adalah suatu jaringan kerja dari prosedur prosedur yang saling berhubungan berkumpul bersama sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu. Pengertian sistem menurut (Mulyadi, 2008:2) adalah sekelompok unsur yang erat berhubungan satu dengan yang lainnya, yang berfungsi bersama sama untuk mencapai tujuan tertentu.
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 (Tata Sutabri, 2012:29) informasi adalah data yang telah diklasifikasi atau
diinterpretasi untuk digunakan dalam proses pengambilan keputusan. Sistem pengolahan informasi atau tepatnya mengolah data dari bentuk tak berguna menjadi berguna bagi penerimanya.
2.2.2 Definisi Sistem Informasi Menurut (Jack Febrian, 2007:238) Sistem Informasi adalah sistem yang dapat menghasilkan informasi yang berguna. Suatu sistem yang didalam suatu organisasi yang mempertemukan kebutuhan pengelolaan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang di perlukan. Jika berhubungan dengan teknologinya, maka istilah 6
information system bisa digantikan dengan information system technology, dimana maknanya adalah sama dengan information system itu sendiri.
2.3
Konsep Dasar Data dan Sistem Informasi
2.3.1
Definisi Data Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata.
Kejadian-kejadian (event) adalah sesuatu yang terjadi pada saat tertentu. Sumber informasi adalah data. Data merupakan bentuk jamak dari bentuk tunggal item. Menurut McLeod dalam bukunya (Yakub, 2012 : 5) "Data adalah deskripsi kenyataan yang menggambarkan adanya suatu kejadian (event), data terdiri dari fakta (fact) dan angka yang secara relatif tidak berarti bagi pemakai". Data dapat dibentuk nilai yang terformat, teks, citra, audio, dan video. Teks adalah sederet huruf, angka, dan simbol-simbol yang kombinasinya tidak tergantung pada masing-masing item secara individual misalnya, artikel koran, majalah dan lain-lain. Data yang terformat, adalah data dengan suatu format tertentu, misalnya data yang menyatakan tanggal atau jam, dan nilai mata uang. Citra (image), adalah data dalam bentuk gambar, citra dapat berupa, grafik, foto, hasil rontsen, dan tanda tangan. Audio, adalah data dalam bentuk suara misalnya, instrumen musik, suara orang, suara binatang, detak jantung, dan lain-lain. Video, adalah data dalam bentuk gambar yang bergerak dan dilengkapi dengan suara misalnya, suatu kejadian dan aktifitas-aktifitas dalam bentuk film. 2.4
Analisis Sistem
2.4.1.
Definisi Analisis Sistem Tahap analisis merupakan tahap yang penting dan bersifat kritis, karena apabila dalam
tahap ini terdapat kesalahan akan menyebabkan kesalahan pada tahapan-tahapan yang akan dilakukan selanjutnya. Berdasarkan latar belakang tersebut maka analisis sistem dapat didefinisikan sebagai berikut : Menurut (Jogiyanto, 2011:129), "Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dan dengan maksud untuk
7
mengidentifikasi
dan
mengevaluasi
permasalah-permasalahan,
kesempatan-kesempatan,
hambatan-hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya". Maka dapat ditarik kesimpulan bahwa “Analisis sistem adalah tahap yang dilakukan dengan melakukan penelitian terhadap sistem berjalan dan bertujuan untuk mengetahui segala permasalahan yang terjadi serta memudahkan dalam menjalankan tahap selanjutnya yaitu tahap perancangan sistem”.
2.5.
Teori Khusus
Pengertian Yang Berhubungan dengan Web dan Jaringan 2.5.1 Definisi Website Ada beberapa pendapat yang menjelaskan definisi website, diantaranya : Web adalah sistem dengan informasi yang disajikan dalam bentuk teks, gambar, suara, dan lainnya yang tersimpan dalam sebuah server web internet yang disajikan dalam bentuk hypertext. (Murad, dkk, 2013:49) Pendapat lain mengatakan World Wide Web (WWW) / website adalah fasilitas di internet yang menampilkan informasidalam bentuk teks, gambar, dan suara secara multimedia yang sangat interaktif .(Erima Oneto dan Yosep, 2009 : 2) World Wide Web (www) lebih dikenal dengan web / website merupakan file teks yang berisi tag-tag dengan format Hyper Text Markup Language (HTML), link ke file-file grafik atau halaman web yang lain. File ini disimpan pada server web dan dapat diakses oleh komputer lain yang terhubung ke server, baik melalui Internet maupun LAN (Intranet)
2.5.2 Pengertian Web Browser Web browser yaitu program aplikasi yang digunakan untuk mengakses halaman web di internet.(Erima Oneto dan Yosep, 2009 : 19) Browser merupakan software yang diinstal di mesin client, berfungsi untuk menterjemahkan tag HTML menjadi halaman web. (Anhar , 2010 : 6)
8
2.5.3 Pengertian Internet Internet dapat dikatakan sebagai jaringan komputer yang menghubungkan pemakai komputer dari suatu negara ke negara lain di seluruh dunia, dimana di dalamnya terdapat berbagai sumber informasi, yang semuanya dapat kita dapatkan dari internet.(Feri Indayudha, 2008 :107). Internet merupakan kependekan dari inter-network. Internet adalah jaringan komputer yang sangat luas. Jaringan ini menghubungkan jutaan komputer yang tersebar di seluruh dunia, baik itu LAN (Local Area Network), MAN (Metropolitan Area Network), atau WAN (World Area Network) yang terhubung dengan menggunakan TCP/IP (Transmition Control Protocol/Internet Protocol).
2.5.4 Pengertian Intranet Intranet adalah suatu teknik jaringan dimana aplikasi yang berjalan disembunyikan oleh pihak tertentu untuk kalangan internal perusahaan atau instansi tertentu. (M. Syukrie dan Aretanet, 2008 : 46) Intranet memungkinkan karyawan perusahaan atau institusi mengakses data atau sumber daya dari perusahaan atau institusi lain. Media penghubung intranet ada yang menggunakan kabel saja dan ada yang menggunakan kabel dan komputer server. Komputer server berfungsi melayani komputer yang terdapat dalam jaringan tersebut. Jaringan komputer termasuk dalam intranet adalah LAN (Local Area Network), MAN (Metropolitan Area Network).
2.5.5 Pengertian XAMPP XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. (Jaelani, 2011:25). XAMPP merupakan paket yang berbasis Open Source yang dikembangkan oleh sebuah komunitas Open Source. Dengan menggunakan XAMPP tidak perlu melakukan penginstalan
9
program-program yang lain, karena semua kebutuhan telah disediakan oleh XAMPP. Berikut adalah beberapa paket yang telah disediakan : 1.
Apache
2.
MySQL
3.
PHP
4.
FileZilla
5.
phpMyAdmin
2.5.6 Pengertian PHP PHP singkatan dari Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan script yang terintegrasi dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah script yang digunakan untuk membuat halaman yang dinamis (up to date). (Anhar, 2010 : 3) Pendapat lain menjelaskan PHP adalah akronim dari Hypertext Preprocessor, yaitu satu bahasa pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu data dan mengirimnya kembali ke web browser menjadi kode HTML. Kode PHP mempunyai cirriciri khusus. (Oktavian, 2010 : 31) : 1.
Hanya dapat dijalankan menggunakan web server, missal :Apache
2.
Kode PHP diletakkan dan dijalankan di web server
3.
Kode PHP dapat digunakan untuk mengakses database, seperti : MySQL, PostgreSQL, Oracle, dan lain-lain
4.
Merupakan software yang bersifat open source
5.
Gratis untuk di-donwload dan digunakan
6.
Memiliki sifat multipaltform, artinya dapat dijalankan menggunakan Sistem operasi apapun, seperti : Linux, Unix, Windows, dan lain-lain
2.5.7 Pengertian MySQL MySQL merupakan program database server sebagai tempat penyimpanan dan mengolah data. (Oktavian, 2010 : 32) Pendapat lain menjelaskan MySQL adalah salah satu software sistem manajemen database (DBMS) Structured Query Language (SQL) yang bersifat open source. SQL adalah 10
bahasa standar untuk mengakses database dan didefinisikan dengan standar ANSI/ISO SQL. (Woro Widya, 2010 : 26) Beberapa kelebihan database MySQL antara lain: 1.
MySQL merupakan database server, jadi dapat diakses dari jauh karena dapat
tersambung ke media internet selain itu juga dapat berperan sebagai client. 2.
MySQL adalah sebuah software data open source artinya software ini bebas
digunakan oleh siapasaja tanpa harus membeli lisensinya kepada pembuat 3.
MySQL adalah database menggunakan enkripsi password, jadi cukup aman
karenamemiliki password untuk mengaksesnya 4.
MySQL merupakan database yang multi user, artinya database ini tidak hanya
digunakan oleh sepihak orang akan tetapi dapat digunakan oleh banyak pengguna 5.
MySQL menggunakan suatu bahas permintaan standar yaitu SQL (Structured
Query Language) yaitu sebuah perintah yang di standarkan pada database server
2.5.8 Pengertian Macomedia Dreamweaver 8 Macromedia Dreamweaver merupakan sebuah software yang menangani tata letak (layout) halaman web. Macromedia Dreamweaver adalah program aplikasi professional untuk merubah HTML secara visual dan mengelola Website serta pages. Karena tampil secara visual, aplikasi Macromedia Dreamweaver 8 mudah dioperasikan. Program ini menyediakan banyak perangkat yang dapat meningkatkan kemampuan user di dalam membuat Web (Bunafit, 2008: 1) Dreamweaver 8 mencakup banyak fitur baru untuk membantu anda membuat dan memelihara situs web yang berkisar dari halaman rumah dasar untuk aplikasi canggih yang mendukung praktek-praktek terbaik dan teknologi terbaru. Dengan menggunakan macromedia dreamweaver, seorang programer web dapat dengan mudah membuat dan mendesain web-nya, karena bersifat WYSUWYG (What You See Is What You Get). Dreamweaver selain editor yang komplit juga dapat digunakan untuk membuat animasi sederhana yang berbentuk layer dengan bentuk Javascript yang didukungnya. Dengan adanya program ini kita tidak akan susah-susah untuk mengetik script-script format HTML, PHP, JSP, Asp, JavaScript, CSS maupun kode program lainnya.
11
Versi terakhir Macromedia Dreamweaver sebelum Macromedia dibeli oleh Adobe System yaitu versi 8. versi terakhir Dreamweaver keluaran Adobe System adalah Adobe Dreamweaver CS5 yang ada dalam Adobe Suite 5.
2.6
Konsep Dasar Database
2.6.1 Definisi Database Menurut (Mustakini, 2009:46) Basis data (database) adalah kumpulan dari data yang saling berhubungan satu dengan lainnya tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Dari definisi di atas terdapat tiga hal yang berhubungan dengan basis data (database), yaitu sebagai berikut : 1.
Mengembangkan ilmu penegetahuan dan teknologi, seni serta budaya yang
relevan dengan perkembangan dan kebutuhan masyarakat pada zamanya. 2.
Data itu sendiri yang diorganisasikan dalam bentuk basis data (database).
Simpanan permanen (storage) untuk menyimpan basis data tersebut. Simpanan ini merupakan bagian teknologi perangkat keras yang digunakan di sistem informasi. Simpanan permanen yang umumnya digunakan berupa hard disk.
2.6.2 Istilah-Istilah Database Bebrapa terminology dalam database diantara lain : 1.
Basis data (Database) adalah Sekumpulan data yang saling berhubungan untuk mencapai suatu tujuan.
2.
Data adalah fakta-fakta yang dapat disimpan dan mempunyai arti tertentu.
3.
Tabel adalah Tempat untuk menyimpan data, tabel terdiri dari field dan record
4.
Field biasa disebut juga dengan kolom, yaitu bagian tabel tempat menyimpan sebuah item data.
5.
Record biasa disebut juga dengan baris, yaitu satu bagian informasi yang disimpan dalam tabel, misal data seorang mahasiswa akan disimpan dalam satu record yang terdiri dari beberapa kolom / field.
12
2.6.3 Rancanagn Database Rancangan database adalah sebagai kumpulan data dari penempatan tenaga kerja yang saling terkait dan mempengaruhi sesuai dengan tingkat kepentingannya sehingga data tersebut terintegrasi dan independence (Murad dkk, 2009: 307)
2.6.4 Desain Database Desain database Dibuata setelah melakuka analisa terhadap data yang ada pada penerimaan mahasisiwa baru sebagai objek prototype program sisite data warehouse dan data maining sebagai tool pengukur kinerja.(Raharja, dkk. 2011:174)
2.7
Definisi Berkaitan Dengan Judul
2.7.1 Definisi Siswa Siswa atau peserta didik adalah anggota masyarakat yang berusaha mengembangkan potensi diri melalui proses pembelajaran yang tersedia pada jalur, jenjang, dan jenis pendidikan tertentu, mereka yang secara khusus diserahkan oleh kedua orang tuanya untuk mengikuti pembelajaran yang diselenggarakan di sekolah, dengan tujuan untuk menjadi manusia yang berilmu pengetahuan, berketerampilan,berpengalaman, berkepribadian, berakhlak mulia, dan mandiri.(Prasetyo, dkk 2013:7) Berdasarkan pengertian di atas, dapat disimpulkan bahwa siswa adalah sekelompok orang dengan usia tertentu yang secara khusus diserahkan oleh kedua orang tuanya untuk mengikuti proses pembelajaran yang tersedia pada jalur, jenjang, dan jenis pendidikan tertentu.
2.7.2 Definisi Siswa Baru Siswa baru adalah calon siswa yang akan masuk ke sebuah lembaga utamnya adalah belajar dalam memasuki lingkungan baru dengan melakukan pendaftaran yaitu dengan cara melakukan pengisian formulir pendaftaran dan pengisisan data serta melakukan pembayaran registrasi siswa baru (Jaelani, 2006:36)
2.7.3 Definisi Penerimaan Siswa Baru Penerimaan siswa baru adalah menerima siswa baru dengan melakukan pendaftaran dan persyaratan yang telah di beritahukan oleh lembaga pendidikan dan untuk memberikan 13
pendidikan kepada masyarakat dalam rangka memperoleh hak-hak sebagai warga Negara (Jaelani, 2011:31)
2.7.4 Definisi sekolah Menurut Kamus Besar Bahasa Indonesia, sekolah merupakan bangunan atau lembaga untuk belajar dan mengajar, serta tempat menerima dan memberi pelajaran. Sebagaimana yang telah kita ketahui bahwa sekolah merupakan salah satu tempat bagi para siswa untuk menuntut ilmu. Dan melihat kenyatannya hingga sekarang sekolah masih dipercaya oleh sebagian besar anggota masyarakat sebagai salah satu tempat untuk belajar, berlatih kecakapan, menyerap pendidikan atau tempat proses mendewasakan anak. Sekolah merupakan bangunan atau lembaga untuk belajar dan mengajar serta tempat menerima dan memberi pelajaran. Sekolah dipimpin oleh seorang Kepala Sekolah. Kepala Sekolah dibantu oleh wakil kepala sekolah. Jumlah wakil kepala sekolah di setiap sekolah berbeda, tergantung dengan kebutuhannya. Bangunan sekolah disusun meninggi untuk memanfaatkan tanah yang tersedia dan dapat diisi dengan fasilitas lain.
2.7.5 Definisi Pendaftaran Pengertian pendaftaran disini pada dasarnya hanya untuk memperlancar dan mempermudah dalam proses pendaftaran siswa siswi baru, pendataan dan pembagian kelas seorang siswa siswi. Sehingga dapat terorganisir, teratur dengan cepat dan tepat dengan beberapa persyaratan yang telah ditentukan oleh sekolah. Proses pendaftaran siswa baru merupakan salah satu kewajiban pihak sekolah dan Dinas Pendidikan setiap tahun ajaran baru.
2.7.6 Definisi Online Secara umum, sesuatu dikatakan online adalah bila ia terkoneksi/terhubung dalam suatu jaringan ataupun sistem yang lebih besar. Beberapa arti kata online lainnya yang lebih spesifik yaitu : -
Dalam percakapan umum, jaringan/network yang lebih besar dalam konteks ini biasanya lebih mengarah pada internet, sehingga online lebih pada menjelaskan status bahwa ia dapat diakses melalui internet.
14
-
Secara lebih spesifik dalam sebuah sistem yang terkait pada ukuran dalam satu aktivitas tertentu, sebuah elemen dari sistem tersebut dikatakan online jika elemen tersebut beroperasional. Sebagai contoh, Sebuah instalasi pembangkit listrik dikatakan online jika ia dapat menyediakan listrik pada jaringan elektrik.
-
Dalam telekomunikasi, istilah online memiliki arti lain yang lebih spesifik. Suatu alat diasosiasikan dalam sebuah sistem yang lebih besar dikatakan online bila berada dalam kontrol langsung dari sistem tersebut. Dalam arti jika ia tersedia saat akan digunakan oleh sistem (on-demand), tanpa membutuhkan intervensi manusia, namun tidak bisa beroperasi secara mandiri di luar dari sistem tersebut.
-
Dengan internet kita dapat menerima dan mengakses informasi dalam berbagai format dari seluruh penjuru dunia. Kehadiran internet juga dapat memberikan kemudahan dalam dunia pendidikan, hal ini terlihat dengan begitu banyaknya situs web yang menyediakan media pembelajaran yang semakin interaktif serta mudah untuk dipelajari.
2.8.
Metodologi Yang Digunakan Adapun metodologi yang digunakan dalam pengembangan sistem presensi pegawai
menggunakan pengenalan wajah antara lain meliputi : Object Oriented Programming dan Unified Modeling Language (UML).
2.8.1. Object Oriented Programming (OOP) Object Oriented Programming (OOP) adalah suatu metode pemrograman yang berbasiskan pada objek, secara singkat pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan informasi satu dengan yang lainnya. Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat : 1.
Encapsulation (pembungkusan) a.
Variabel dan method dalam suatu obyek dibungkus agar terlindungi
b.
Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
c.
Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
d.
Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur
15
2.
Inheritance (pewarisan) a.
Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
b.
Class yang mewarisi disebut superclass
c.
Class yang diberi warisan disebut subclass
d.
Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain disebut multilevel inheritance
3.
Polymorphism(polimorfisme-perbedaan bentuk) Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki lebih dari satu
bentuk.
2.8.2. Unified Modeling Languange (UML) Unified Modeling Language (UML) adalah sekumpulan pemodelan konvensi yang digunakan untuk menentukan atau menggambarkan sebuah sistem perangkat lunak dalam kaitannya dengan objek. (Whitten 2004).
Penjelasan dari berbagai dokumen dan buku-buku UML, sebenarnya konsep dasar UML yang bisa kita rangkumkan pada tabel berikut:
Tabel 2.1 Konsep Dasar UML Major Area
View
Diagrams
Main Concepts Class, association,
Static View
Class Diagram
generalization, dependency, realization, interface
Structural
Use case, actor, association, Use case view
Use case diagram
extend, include, use case generalization
Implementation
Component 16
Component,
view
diagram
interface, depedency, realization Node,
Deployment view
Deployment
component,
diagram
dependency, location
State
machine Statechart
view
diagram
State,
event,
transition, Action State,
Activity view
Activity diagram
activity,
completion transition,
fork,
join
Dynamic
Interaction, Sequence diagram object,
activation
Interaction view Collaboration diagram Model
Model
management
management view
message,
Class diagram
Collaboration, interaction,
role,
message Package, subsystem, model Constraint,
Extensibility
All
All
stereotype, tagged values
Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat tabel sebelumnya. Main concept bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram, sedangkan view adalah kategori dari diagram tersebut. Seperti juga tercantum pada tabel di atas, UML mendefinisikan diagram-diagram sebagai berikut: 17
1.
Use case diagram
2.
Class diagram
3.
State chart diagram
4.
Activity diagram
5.
Sequence diagram
6.
Collaboration diagram
7.
Component diagram
8.
Deployment diagram
2.8.2.1.
Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah jurnal, dan sebagainya. Seseorang sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. 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 case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bagwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.
18
Gambar 2.2 Simbol Use Diagram 2.8.2.2.
Class Diagram
Class adalah sebuah spesifikasi yang jika diinstasikan akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (attribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda fungsi). 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 yaitu Nama(dan stereotype), Attribut dan Metoda. Attribut dan metoda dapat memiliki salah satu sifat berikut: 1.
Private, tidak adapat dipanggil dari luar class yang bersangkutan.
2.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
3.
Public, dapat dipanggil oleh siapa saja.
19
Gambar 2.3 Simbol Class Diagram
2.8.2.3.
Activity Diagram
Activity diagram menggambarkan berbagai alur aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagaram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktifitas dari level atas secara umum. Sebuah aktifitas dapat direalisasikan oleh satu use case atau lebih. Aktifitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktifitas. 20
Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktifitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork and join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktifitas tertentu.
Gambar2.4 Simbol Activity Diagram
2.8.2.4.
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 antar dimensi vertikal (waktu) dan dimensi horizontal (objekobjek yang terkait). 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 aktifitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari
21
class. Activation bar menunjukan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, standar UML, mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.
Gambar2.5 Simbol Sequence diagram
2.8.2.5.
Statechart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulan dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
22
Gambar2.6 Simbol Statechart Diagram 2.8.2.6.
Collaboration Diagram
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
2.8.2.7.
Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) diantaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maumpun binary code, baik library maupun executable, baik yang muncul padacompile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponenkomponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
23
2.8.2.8.
Deployment Diagram
Deployment physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk deploy komponen dalam lingkungan sebenarnya.
Gambar2.7 Simbol Deployment physical diagram
24
2.8.3. Rekayasa Perangkat Lunak (RPL) Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
2.9.1 Tujuan Rekayasa Perangkat Lunak Secara lebih khusus kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah: 1.
Memperoleh biaya produksi perangkat lunak yang rendah.
2.
Menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
3.
Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
4.
Menghasilkan perangkat lunak yang biaya perawatannya rendah
2.9.2 Kriteria Dalam Merekayasa Perangkat Lunak 1.
Dapat terus dirawat dan dipelihara (maintainability)
2.
Dapat mengikuti perkembangan teknologi (dependability)
3.
Dapat mengikuti keinginan pengguna (robust).
4.
Efektif dan efisien dalam menggunakan energi dan penggunaannya.
5.
Dapat memenuhi kebutuhan yang diinginkan (usability).
2.9.3 Ruang Lingkup Rekayasa Perangkat Lunak 1.
Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
2.
Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak.
3.
Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk. algoritma, pengkodean, pengujian dan pencarian kesalahan.
4.
Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
5.
Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan. 25
6.
Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
7.
Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
8.
Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.
2.8.4. PENGEMBANGAN SISTEM DENGAN MODEL WATERFALL Waterfall model diciptakan pertama kali oleh William Royce pada tahun 1970 dan mulai terkenal karena logika fase (tahapan, tingkatan, masa). Waterfall sendiri memiliki definisi bahwa sebuah proses hidup perangkat lunak memiliki proses yang linier dan sequensial.
Sistem Engineering
Analysis
Design
Coding
Testing
Maintenance
Gambar 2.8 Metodologi Perangkat Lunak (Classic life Cycle/Waterfall)
26
Keterangan : 1.
Rekayasa perangkat lunak (Software Engineering), merupakan kegiatan untuk menentukan software apa yang akan dibangun.
2.
Analisis perangkat lunak (Software Analysis), dilakukan dengan cara menganalisa kebutuhan akan fungsi – fungsi perangkat lunak yang dibutuhkan.adapun fungsi – fungsi tersebut meliputi fungsi masukan, fungsi proses, dan fungsi keluaran.
3.
Perancangan
perangkat
lunak
(Software
Design),
merupakan
perancangan perangkat lunak yang dilakukan berdasarkan data – data yang telah dikumpulkan pada tahap sebelumnya. Perancangan tersebut meliputi perancangan struktur file, struktur menu, struktur program, format masukan (input), dan format keluaran (output). 4.
Implementasi perangkat lunak (Coding), yaitu kegiatan yang mengimplementasikan hasil dari perancangan perangkat lunak kedalam kode program yang dimengerti oleh bahasa mesin.
5.
Pengujian perangkat lunak (Testing), memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal, dan mencari segala kemungkinan kesalahan, memeriksa apakah input sesuai dengan hasil yang diinginkan setelah proses.
6.
Pemeliharaan perangkat lunak (Maintenance), merupakan suatu kegiatan untuk memelihara perangkat lunak yang sudah dibuat, pemeliharaan tersebut dilakukan agar keutuhan program dapat terjaga seperti validasi data, update data, dan integrasi data.
2.9.
Black Box Testing Model Blackbox model adalah suatu sistem/model yang bersifat kuantitatif.
Konsep dasar dari model kuantitatif ini memperlakukan system sebagai kotak hitam, dan tidak ada usaha untuk menemukan faktor yang berpengaruh pada perilaku system (Juwono, 2008). Menurut Roger S Pressman dalam bukunya Rekayasa Perangkat Lunak:”Pengujian Black-Box berfokus pada persyaratan fungsional perangkat lunak. Pengujian Black-Box memungkinkan perekayasa perangkat lunak
27
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 memungkinkan besar mampu mengungkap kelas kesalahan daripada metode white-box. Pengujian Black-Box berusaha menemukan kesalahan dalam kategori white-box. Pengujian Black-Box 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 (5) Inisialisasi dan kesalahan terminasi. Pengujian Black-Box cenderung diaplikasikan selama tahap akhir pengujian, karena pengujian black-box memperhatikan struktur control maka perhatian berfokus pada domain informasi. Black
box
testing
merupakan
strategi
testing
dimana
hanya
memperhatikan/memfokuskan kepada factor fungsionalitas dan spesifikasi perangkat lunak. Black box testing tidak membutuhkan pengetahuan mengenai, alur internal (internal path), struktur atau implementasi dari software under test (SUT). Black box testing dilakukan dibeberapa tahapan berikutnya. Karena black box testing memang ditujukan untuk mengabaikan struktur kontrol tetapi lebih terfokus terhadap information domain. Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karena itu ujicoba black box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya: Fungsi-fungsi yang salah satu hilang, kesalahan interface, kesalahan dalam struktur data atau akses database eksternal, kesalahan performa, kesalah inisialisasi dan terminasi. Keuntungannya adalah memungkinkan kita untuk mendeteksi potensi kesalahan dalam spesifikasi, memungkinkan kita untuk memulai dengan pandangan dan panduan lengkap, tanpa ketergantungan terhadap kondisi tertentu,
28
membantu untuk menemukan beberapa alternatif terhadap suatu kondisi, berguna ketika menentukan logika kompleks, menganalisis dan pengujian logika kompleks. Dilakukan untuk testing pada interface perangkat lunak. Test case ini bertujuan untuk menunjukan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya. Dalam black box testing metode pengjuan black box berfokus pada keperluan fungsional dari perangkat lunak dan domain informasi, analis sistem memperoleh kumpulan kondisi dari input yang akan mengerjakan seluruh keperluan fungsional program, cenderung diaplikasikan selama tahap akhir pengujian, disebut juga pengujian behavioral/pengujian partisi atau pengujian interface, memperhatikan dari sudut pandang Input data dan Output data, perangkat lunak ditinjau sebagai kotak hitam yang menyalurkan input kepada output berdasarkan rincian dimana perangkat lunak tersebut harus melakukanya, periksa kecocokan dari pengujian S/W yang membentuk tingkah laku, mencari kesalahan-kesalahan yang dihasilkan oleh kesalahan dan kesalahan perangkat lunak adalah bagian dari perangkat lunak yang tidak menurut pada penyediaan definisi itu sendiri dalam dokumen pengembangan. Tujuannya untuk mencari kesalahan-kesalahan pada: 1.
Fungsi yang salah atau hilang.
2.
Kesalahan pada interface.
3.
Kesalahan pada struktur data atau akses database.
4.
Kesalahan performansi (kinerja).
5.
Kesalahan initialisasi dan tujuan akhir.
Type dari pengujian blackbox: Equivalence Class Partitioning. (pembagian kelas yang sama) 1.
Metode pengujian black box yang memecah atau membagi domain input dari suatu program ke dalam kelas kelas data.
2.
Perancangan test case berdasarkan evaluasi kelas equivalence untuk kondisi
input.
29
3.
Kelas equivalence menggambarkan kumpulan keadaan yang valid dan tidak valid untuk kondisi input
4.
Kondisi input dapat berupa nilai numerik, range dari nilai, kumpulan nilai yang berhubungan atau kondisi boolean.
Kelas equivalence dapat ditentukan sesuai pedoman berikut ini: 1.
Bila kondisi input menentukan suatu range, maka kelas equivalence valid dan dua yang invalid ditentukan.
2.
Bila kondisi input membutuhkan suatu harga khusus, maka satu kelas equivalence valid dan dua yang invalid ditentukan.
3.
Bila kondisi input menentukan anggota suatu himpunan, maka satu kelas equivalence valid dan dua yang invalid ditentukan.
4.
Bila kondisi input adalah boolean, maka satu kelas dan satu yang tidak valid ditentukan.
Boundry Value Analisys (analisa penilaian terbatas) 1.
Untuk permasalahan yang tidak diketahui dengan jelas, akan cenderung menimbulkan kesalahan pada domain output-nya.
2.
Pemilihan test case yang mengerjakan nilai-nilai yang telah ditentukan.
3.
Melengkapi equivalence class partitioning.
Petunjuk pemakaian BVA: 1.
Jika kondisi input berupa range yang dibatasi oleh nilai a dan b, test case harus dirancang dengan nilai a dan b.
2.
Jika kondisi input dengan sejumlah nilai, test case harus dikembangan dengan mengerjakan sampai batas maksimal dari nilai tersebut.
3.
Sesuai dengan 1 dan 2, untuk kondisi output harus dirancang test case sampai jumlah maksimal.
4.
Untuk struktur data pada program juga harus dirancang sampai batas kemampuan.
Comparison Testing. (pengujian perbandingan) 1.
Perangkat keras dan perangkat lunak yang berlebihan memungkinkan untuk
digunakan.
30
2.
Menggunakan team yang terpisah untuk mengembangkan versi-versi yang independent
dari perangkat
lunak dengan menggunakan
spesifikasi yang sama. 3.
Mencoba masing-masing versi dengan data yang sama untuk memastikan bahwa semua versi memberikan output yang identik.
4.
Semua versi dieksekusi secara paralel dengan perbandingan real time hasil untuk memastikan konsistensi.
5.
Output dari masing-masing versi sama implementasi benar.
6.
Output berbeda masing-masing versi dari aplikasi diperiksa untuk menentukan cacat pada suatu versi (perbedaan jelas).
7.
Spesifikasi semua fungsi yang dikembangkan mengandung kesalahan, maka semua versi kemungkinan besar merefleksikan kesalahan.
8.
Masing-masing versi independen identik tetapi tidak benar, maka pengujian kondisi akan gagal mendeteksi kesalahan.
Pengujian black-box: 1.
Didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program.
2.
Berfokus pada domain informasi dari perangkat lunak.
3.
Melakukan test case dengan mempartisi domain input dan output dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.
4.
Partisi ekuivalensi (Equivalence Class Partitioning) membagi domain input kedalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu.
5.
Analisis
nilai terbatas (Boundary Value Analysis)
memeriksa
kemampuan program untuk menangani data pada batas yang dapat diterima. 6.
Pengujian perbandingan
(Comparison Testing)
mengembangkan
perangkat lunak kedalam versi-versi yang independen dari suatu aplikasi dengan menggunakan spesifikasi yang sama. Setiap versi diuji dengan data uji yang sama untuk memastikan bahwa semua versi memberikan output yang identik. Disebut juga pengujian back to back.
31
Pengembang perangkat lunak yang berpengalaman sering mengatakan, “Pengujian tidak akan pernah berakhir. Pengujian hanya berpindah dari Penguji ke pelanggan. Setiap pelanggan menggunakan program tersebut, berarti suatu pengujian dilakukan”. Dengan mengaplikasikan desain test case, perekayasa perangkat lunak dapat mencapai pengujian yang lebih lengkap sehingga dapat mengungkap dan melakukan koreksi sebelum “pengjuan pelanggan” dimulai.
32