9
2
BAB II
LANDASAN TEORI 2.1 2.1.1
Definisi Sistem, Informasi, dan Sistem Informasi Pengertian Sistem
Dalam kehidupan sehari-hari terdapat berbagai macam objek yang mewakili pengertian sebuah sistem. Misalnya, sebuah mobil yang berjalan di jalan raya, telepon selular yang digunakan seseorang ketika dia berjalan atau pergerakan jarum jam pada arloji di tangan seseorang. Objek-objek tersebut sudah pasti memiliki cara dan pengaturan tersendiri sehingga dapat menghasilkan (bermanfaat) untuk satu tujuan tertentu dan sesuai yang di inginkan oleh si pemakai. Lalu apa yang disebut dengan sistem itu sendiri? Konsep dasar sistem menjelaskan serangkaian konsep yang menyusunnya dan hubungan antara bagiannya. Sistem itu sendiri didefinisikan sebagai sekumpulan elemen yang berintegrasi dengan maksud yang sama untuk mencapai suatu tujuan [McLeod, 1998]. Dan menurut [Abdul Kadir,2003], Sistem adalah “Sekumpulan komponen atau bagian yang terintegrasi dan dikoordinir untuk maksud mencapai suatu tujuan / gol”
Secara umum sistem memiliki
elemen
input
(masukan),
proses
(transformasi), dan output (keluaran). Elemen keluaran merupakan hasil dari pemrosesan elemen masukan. Elemen keluaran bisa juga menjadi masukkan
9
10
dalam pemrosesan selanjutnya. Kombinasi dari ketiga elemen tersebut dapat dilihat pada Gambar 2.1:
Proses
Masukan
Keluaran
Gambar 2.1 Elemen Dasar Sistem (http://www.scribd.com/doc/4026922/DK122-Konsep-Sistem-Informasi)
2.1.1.1 Karakteristik Sistem a. Komponen sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk suatu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagianbagian dari sistem. b. Batasan Sistem Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan dan menunjukkan ruang lingkup dari sistem tersebut. c. Lingkungan Luar Sistem Adalah apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan juga
11
merugikan, karena lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus dijaga dan dipelihara. d. Penghubung Sistem Media yang menghubungkan antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini kemungkinan sumber-sumber daya mengalir dari satu subsistem ke subsistem lain. Keluaran suatu subsistem akan menjadi masukan untuk subsistem lainnya melalui penghubung. e. Masukan Sistem Energi yang dimasukkan ke dalam sistem, masukan dapat berupa masukan perawatan dan masukan sinyal maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat berjalan dan merupakan suatu proses untuk mendapatkan hasil keluaran dari sistem. f. Keluaran Sistem Energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. g. Pengolahan Sistem Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran. h. Sasaran Sistem atau Tujuan Sistem Suatu sistem yang mempunyai tujuan dapat dikatakan berhasil bila mengenai sasaran atau tujuannya.
12
Gambar 2.2 Ilustrasi sebuah sistem 2.1.1.2 Klasifikasi Sistem Sistem dapat diklasifikasikan dari beberapa sudut pandang, diantaranya adalah sebagai berikut : 1.
Sistem Abstraksi (abstract system) dan Sistem Fisik (physical system) Sistem abstrak adalah system yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik. Sedangkan Sistem Fisik merupakan sistem yang ada secara fisik.
2.
Sistem Alamiah (natural system) dan Sistem Buatan Manusia (human made system) Sistem Alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat manusia. Sedangkan Sistem Buatan Manusia sistem yang dirancang oleh manusia.
3.
Sistem Tentu (deterministic system) dan Sistem Tak Tentu (probabilistik system)
13
Sistem Tentu beroperasi dengan tingkah laku yang sudah dapat diprediksi. Sedangkan Sistem Tertentu yang tingkah lakunya dapat dipastikan berdasarkan program-program yang dijalankan. 4.
Sistem Tertutup (closed system) dan Sistem Terbuka (opened system) Sistem Tertutup merupakan sistem yang tidak berhubungan dan tidak terpengaruh dengan lingkungan luarnya. Sedangkan Sistem Terbuka adalah sistem yang berhubungan dan terpengaruh dengan lingkungan luarnya.
2.1.1.3 Daur Hidup Pengembangan Sistem (System Development Life Cycle) SDLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang secara garis besar terbagi dalam empat kegiatan utama, yaitu : Analysis Design Coding Impementation Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil kegiatannya (deliverable). Apabila kegiatan utama tersebut dijabarkan ke dalam langkah-langkah yang lebih rinci dapat digambarkan seperti berikut :
14
ANALISIS
DESIGN
IMPLEMENTATION
Problem Detection
Output Initial infestigation
Programming test
Input Training
Requirements analysis
Files System changeover Programming codes
Generation of alternatives
Selection of proper system
Gambar 2.3 : Tahapan dalam metode SDLC (http://kuliah.binus.ac.id/ika/asi4.html / 20 April 2000) 2.1.1
Sistem
2.1.2
Pengertian Informasi Ada dua konsep yang tidak bisa dipisahkan dari pengertian informasi.
Yaitu data dan Informasi itu sendiri. Definisi dua hal tersebut saling berkaitan dikarenakan yang satu merupakan akibat dari kehadiran yang lain. Untuk itu perlu diberi batasan yang jelas antara keduanya. Definisi data diartikan sebagai representasi dari objek yang terdapat di kehidupan nyata. Istilah data mewakili benda atau fakta yang dijumpai dalam kehidupan sehari-hari, seperti kertas, buku, dan objek sejenis lainnya. Objek ini belum bernilai atau memiliki konteks apapun
15
hingga ia berinteraksi dengan objek lain dan membentuk suatu kejadian ataupun peristiwa. Kemudian hal ini ditangkap oleh pengamat (observator) dan ditetapkan sebagai informasi. Sehingga informasi dapat diartikan sebagai data yang sudah memiliki konteks atau data yang sudah bernilai tertentu, tergantung subjek yang mengamatinya. Sumber dari informasi adalah data. Data merupakan bentuk jamak dari datum. Data adalah kenyataan yang menggambarkan suatu kejadian. Kejadian itu sendiri adalah sesuatu yang muncul pada saat tertentu. Di dalam dunia bisnis, kejadian-kejadian nyata yang sering terjadi adalah perubahan dari suatu nilai yang disebut dengan transaksi. Misalnya, penjualan adalah transaksi perubahan nilai barang menjadi nilai uang atau nilai piutang dagang. Kesatuan nyata adalah berupa suatu obyek nyata seperti tempat, benda dan orang lain yang betul-betul ada dan terjadi. Kategori informasi dapat dikelompokkan menjadi tiga bagian: a. Informasi Strategis.Informasi ini digunakan untuk mengambil keputusan jangka panjang yang mencakup informasi eksternal. b. Informasi Taktis. Informasi ini digunakan untuk mengambil keputusan jangka menengah. c. Informasi Teknis. Informasi ini dibutuhkan untuk keperluan operasional sehari-hari, informasi persediaan sarana alat pendukung. Kualitas informasi (quality of information) sangat di pengaruhi atau ditentukan oleh 6 hal sebagai berikut :
16
1. Relevan. Yaitu mengukur seberapa jauh tingkat relevansi informasi tersebut terhadap kenyataan kejadian masa lalu, atau hari ini. 2. Akurat. Yaitu Suatu informasi dapat dikatakan berkualitas jika seluruh kebutuhan informasi tersebut telah tersampaikan. 3. Tepat Waktu. Yaitu berbagai proses dapat diselesaikan dengan tepat waktu, laporan-laporan yang dibutuhkan dapat disampaikan tepat waktu. 4. Bernilai. Informasi yang dihasilkan mempunyai nilai jual yang tinggi serta biaya operasional untuk menghasilkan informasi tersebut minimal. 5. Efisien. Informasi yang disampaikan memiliki sintak ataupun kalimat yang sederhana namun memberikan makna dan hasil yang mendalam. 6. Dapat dipercaya. Sumber yang memberikan informasi dapat dipercaya setelah diuji kebenarannya. Data memiliki beragam tipe data untuk menyimpan informasi yang berbeda. Tipe data disebut juga satuan data, yang dikenal umum antara lain. 2.1.2.1 Tipe data tunggal Tipe data tunggal adalah tipe data yang hanya bisa menampung satu jenis data. Contoh tipe data ini dapat dilihat pada Tabel 2.1: Tabel 2.1 Tipe Data Tunggal MySQL Data Type TINYINT SMALLINT MEDIUMINT INT, INTEGER BIGINT FLOAT(p) FLOAT
Ruang yg dipakai 1 byte 2 bytes 3 bytes 4 bytes 8 bytes 4 bytes jika diantara (0 <= p <= 24), 8 bytes jika diantara (25 <= p <= 53) 4 bytes
17
8 bytes DECIMAL(M,D), NUMERIC(M,D) Bervariasi, antara 4bit sampai 32bit BIT(M) Sampai dengan (M+7)/8 bytes DOUBLE [PRECISION], REAL
2.1.2.2 Tipe data jamak Tipe data jamak (composite) merupakan gabungan dari tipe-tipe data tunggal, seperti string, char, text (32-bit), objek (obj), enumerasi (enum), tanggal (date), dan variant. Tabel 2.2 Tipe Data Jamak MySQL Data Type CHAR(M)
Ruang yang dipakai M
bytes, 0 <= M <= 255
+ 1 bytes, dimana L <= M dan 0 <= M <= 255 or L + 2 bytes, dimana L <= M dan 256 <= M <= 65535 M bytes, 0 <= M <= 255 L
VARCHAR(M) BINARY(M)
TINYBLOB, TINYTEXT
+ 1 bytes, dimana L <= M dan 0 <= M <= 255 or L + 2 bytes, dimana L <= M dan 256 <= M <= 65535 8 L+1 byte, dimana L < 2
BLOB, TEXT
L+2
bytes, dimana L < 216
MEDIUMBLOB, MEDIUMTEXT
L+3
bytes, dimana L < 224
LONGBLOB, LONGTEXT
L+4
bytes, dimana L < 232
L
VARBINARY(M)
1 or 2 bytes, tergantung dari tipe data asli ENUM('value1','value2',...)
yang di enumerasi-kan (maksimal 65,535) 1, 2, 3, 4, or 8 bytes, depending on the number
SET('value1','value2',...)
of set members (64 members maximum)
18
2.1.3
Pengertian Sistem Informasi
Sedangkan pengertian informasi dalam kaitan dengan sebuah sistem, yaitu: “An information system (IS) is “an arrangement of people, data, processes, and information technology that
interact
to
collect,
process,
store,
and
provide as output the information needed to support an organization” (http://www.scribd.com/doc/4026922/DK122-Konsep-Sistem-Informasi) Disini sebuah sistem informasi tersusun atas kumpulan orang, data, proses-proses dan perangkat teknologi informasi yang berinteraksi dalam menyatukan, mengelola menyimpan serta menyajikan bentuk informasi yang bermanfaat dan dibutuhkan untuk mendukung kegiatan organisasi. Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya [Sistem Informasi Manajemen, Gordon B. Davis,2002] 2.1.1.4 Pengertian Sistem Informasi Manajemen Sistem informasi bukan merupakan hal yang baru, sebelum ada komputer, teknik ini sudah ada sistem yang memberikan manajer informasi yang memungkinkan mereka merencanakan serta mengendalikan operasi. Komputer menambah satu atau dua dimensi, seperti kecepatan, ketelitian dan volume data yang meningkat dan memungkinkan pertimbangan alternatif-alternatif yang lebih banyak dalam suatu keputusan. Manajemen membutuhkan informasi untuk mendukung pengambilan keputusan manajemen bisa didapatkan dari informasi eksternal dan informasi internal. Informasi internal dapat diperoleh dari sistem
19
informasi berupa informasi yang dihasilkan dari dari operasi pengolahan data elektronik. Sistem informasi mempunyai peranan yang sangat penting di dalam menyediakan informasi bagi manajemen. Oleh karenanya, maka analisis sistem dibuat mengenai kebutuhan-kebutuhan informasi yang diinginkan oleh pihak manajemen. 2.1.1.5 Komponen Sistem Informasi Manajemen Komponen-komponen Sistem Informasi Manajemen yang menyusun sebuah sistem dibagi menjadi sebagai berikut. a. Data/informasi b. Proses c. Batasan sistem / Lingkungan Sistem d. Pengguna e. Keluaran (output) f. Tujuan Organisasi Menurut [A.Kadir, 2002] Sistem informasi mencakup dua teknologi yang disebut teknologi informasi dan teknologi komunikasi. Teknologi informasi menjelaskan perangkat keras dan arsitektur yang membangun dan perancangan / desain digunakan untuk membangun sistem tersebut. 2.2
Arsitektur Sistem Informasi Arsitektur Sistem informasi (Information Systems Architecture -ISA) adalah
suatu pemetaan rencana-rencana atau rencana kebutuhan-kebutuhan informasi dalam suatu organisasi. Arsitektur ini berguna sebagai penuntun bagi operasi sekarang atau menjadi cetak biru untuk arahan dimasa mendatang. Tujuan dari
20
arsitektur system informasi ini adalah agar bagian teknologi informasi memenuhi kebutuhan-kebutuhan bisnis strategi organisasi. Arsitektur Sistem informasi (Information Systems Architecture -ISA) untuk sebuah organisasi adalah: •
Gambaran umum kerangka dasar (cetak-biru) sistem informasi organisasi
•
Terdiri dari: Data (Model Diagram dan ER-Diagram), Proses– data flowchart, dekomposisi, etc. Networking (diagram topologi jaringan). Orang (pemakai Sistem informasi). Kejadian dan perilaku pada selang waktu tertentu ketika sebuah proses terjadi. Keputusan dan rules (contohnya. Table keputusan) [Turban,McLean, Wetherbe, 1999]
2.3
Pengertian Perancangan Sistem Perancangan Sistem merupakan tahap lanjutan setelah kita berhasil
menganalisa sistem. Dalam suatu perancangan sistem informasi terdiri dari rancangan komponen – komponen ini dirancang dengan tujuan untuk dikomunikasikan kepada pemakai. Secara umum, sebagai perancangan model web, perancangan keluaran, perancangan masukan, perancangan basis data, dan perancangan tampilan antar-muka. Tahapan perancangan sistem meliputi. •
Analisis Sistem Suatu teknik pengembangan sistem dengan cara membagi-2 sebuah sistem menjadi komponen-2 untuk tujuan mempelajari seberapa bagus komponen tadi bekerja dan berinteraksi dalam mendukung pencapaian tujuan.
•
Analisis Sistem Informasi
21
Adalah tahap / fase pengembangan dalam suatu proyek SI yang berfokus pada persyaratan bisnis dan dipisahkan dari teknologi yang dipakai. •
Repository Media atau tempat para analis dan desainer menyimpan dokumentasi yang berhubungan dengan sistem informasi yang sedang dibangun pada sebuah proyek SI
•
Desain Sistem Teknik pengembangan sistem (selanjutnya) dengan menggabungkan kembali solusi tiap-2 komponen ke dalam sistem yang lengkap, sehingga diperoleh sistem yang lebih baik (improved). Pada tahap ini dapat terjadi penambahan, penghapusan, dan perubahan bagian-2 relatif dari sistem tersebut.
2.4
Konsep Pemodelan Pengembangan Perangkat Lunak Perancangan aplikasi membutuhkan sebuah pemodelan sistem agar mudah
pada tahap pembuatan. Dalam konteks pengembangan perangkat lunak, Sistem informasi berbasis web ini menggunakan paduan model pengembangan klasik dan model pengembangan cepat (Rapid Aplication Development). 2.4.1
Model Sekuensial Linier (Classic Model) Pada gambar berikut dijelaskan model sekuensial linier untuk rekayasa
perangkat lunak.
22
Pemodelan sistem informasi
analisis
desain
kode
pengujian
Gambar 2.4 Model sekuensial linier
Model sekuensial linier sering disebut juga dengan “siklus kehidupan klasik” atau model waterfall “air terjun” mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematis dan sekuensial. Dimulai pada tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Tahapan model ini antara lain. •
Analisis Kebutuhan perangkat Lunak, dimulai dengan pengumpulan kebutuhan aplikasi yang dibuat kemudian disimpan dalam dokumentasi hasil analisa.
•
Desain, adalah proses yang berfokus pada karakteristik perangkat lunak yang menerjemahkan syarat/kebutuhan dari hasil analisa kedalam sebuah representasi (contoh-sementara) perangkat lunak yang diperkirakan sesuai dengan persyaratan dimaksud
•
Pembuatan kode, proses menerjemahkan desain kedalam bentuk kode bahasa mesin (assembly-language/machine-code) melalui perangkat
23
bahasa
pemrograman
tingkat-tinggi
(high-level
language)
dengan
menggunakan bahasa penerjemah (interpreter). •
Pengujian, yaitu proses yang berfokus pada prinsip logika internal perangkat lunak untuk memastikan bahwa perintah-perintah dan pernyataan yang diproses oleh mesin sesuai yang diinginkan. Juga termasuk pengujian fungsional untuk memastikan output efektif (aktual) dari input data real sesuai dengan hasil yang dibutuhkan.
•
Pemeliharaan, adalah penyesuaian perangkat lunak dalam masa produktif oleh pemakai. Pemeliharaan ini untuk mengakomodasi perubahanperubahan yang terjadi di lingkungan eksternal sistem yang mempengaruhi kinerja sistem secara keseluruhan. Juga untuk memastikan perangkat lunak tersebut sesuai dengan kemajuan komponen teknologi informasi lainnya.
2.4.2
Pengembangan Model-Driven (Model-Driven Development) Adalah pendekatan pemecahan masalah yang menekankan dengan model
gambar untuk mendokumentasikan dan validasi sistem. Berfokus pada Pemodelan ‘proses’ yang digunakan untuk menganalisis sistem yang ada, mendefinisikan persyaratan-2 bisnis untuk sebuah sistem baru atau keduanya. Menurut A.W. Brown, S. Iyengar and S.Johnston, “Model, modeling, dan bentuk transformasi model dasar untuk satu set pendekatan pengembangan perangkat lunak yang dikenal sebagai model pembangunan yang digerakkan (MDD). Model yang digunakan dalam penalaran tentang domain masalah dan domain solusi yang sesuai untuk
24
beberapa daerah tertentu. Gaya perspektif dalam pembangunan disebut Model Driven Architecture (MDA). Ini melibatkan menggambarkan solusi tingkat abstrak dalam suatu model dipahami dengan baik secara semantik dan menggunakan serangkaian langkah eksplisit (sering otomatis) untuk memperbaiki model yang menjadi model yang lebih konkrit, akhirnya menghasilkan solusi eksekusi untuk platform runtime tertentu. Standar yang muncul untuk mendukung arsitektur ini.” Model standar ini disebut Unified Modeling Language (UML).[A IBM Rational approach to model-driven development, 2007]
2.5
Konsep Sistem Basisdata Basisdata adalah suatu susunan atau kumpulan data operasional lengkap dan
terstruktur dari suatu organisasi atau perusahaan yang terorganisir atau dikelola dan disimpan secara integrasi dengan menggunakan metode tertentu dengan menggunakan komputer sehingga mampu menyediakan informasi optimal yang diperlukan pemakainya. Penerapan basisdata dalam sistem informasi disebut Sistem Basisdata. Sistem Basisdata adalah suatu sistem menyusun dan mengelola record – record menggunakan perangkat teknologi informasi untuk menyimpan serta memelihara data operasional lengkap sebuah organisasi atau perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan untuk proses pengambil keputusan. Sistem basisdata memiliki model-model organisasi data (metoda penyimpanan fisik data) antara lain. Data yang terdapat dalam tiap node disebut entitas (entity).
25
Gambar 2.6 Komponen sistem basisdata dan lingkungannya Komponen sistem basisdata meliputi: •
Field – unit terkecil yang menampung data tunggal dalam database
•
Record – kesatuan data dalam baris yang sama dalam database.
•
Column (domain) – bagian dari basisdata yang menampung sekumpulan field dengan atribut sama
•
Table – kumpulan record dan tuple yang memiliki kesamaan isi dan karakteristik. Table adalah entitas yang melakukan suatu relasi dengan table lain dalam database.
•
Database – kumpulan tabel-tabel yang melakukan relasi dalam satuan unit terintegrasi.
26
2.5.1
Basisdata Relasional Untuk pengembangan aplikasi sistem informasi web ini menggunakan
pengembangan Object-relational database. Basisdata relasional adalah sebuah database yang implementasinya menggunakan table dua dimensi dan hubungan tabel-tabel melalui key yang berelasi. Komponen basisdata relational adalah 2.5.1.1 Model fisik data (Schema) Merupakan sebuah sistem-berkas dari media penyimpanan yang menyimpan file fisik basisdata. Struktur file dari skema dipecah sebagai berikut: •
Master-table file: berisi file-file tabel yang menyusun database tersebut.
•
Index-catalog file: file yang digunakan untuk merekam struktur isi data. Berfungsi mempercepat pencarian data pada tabel
•
Logging file: file yang digunakan untuk mencatat transaksi yang terjadi pada database.
2.5.1.2 Data Definition Language Digunakan untuk membuat skema basisdata, membuat tabel, mengubah atribut entitas, modifikasi tabel, menghapus tabel / entitas. Membuat / mengaktifkan trigger, stored-procedure atau index. DDL terdiri dari: CREATE, ALTER, DROP dan RENAME. Contoh: CREATE DATABASE pegawai; CREATE TABLE `chat` ( `user_id` int(100) NOT NULL,
27
`msg` varchar(250) NOT NULL, `timestamp` varchar(250) NOT NULL, `displayed` varchar(1) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol; RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
2.5.1.3 Data Manipulation Language Digunakan untuk memodifikasi skema basisdata, membuat tabel, mengubah atribut entitas, modifikasi tabel, menghapus tabel / entitas. Sedangkan DML terdiri dari SELECT, INSERT, UPDATE, DELETE. Contoh: SELECT t1.name, t2.salary FROM employee AS t1, info AS t2 WHERE t1.name = t2.name; --------------------------------------------------------------INSERT INTO employee (ID_emp, name, address, dept, status) VALUES (001, Foo, Jakarta, Sales, 1), (002, Selly, Jakarta, Sales, 1), (003, Rudy, Surabaya, Personnel, 1); --------------------------------------------------------------UPDATE items,month SET items.price=month.price WHERE items.id=month.id;
•
Triggers, instruksi DBMS yang disimpan dalam database yang secara otomatis meng-update database.
•
Stored Procedure, baris perintah skrip yang disimpan dalam database dan dapat dipanggil kembali oleh sebuah aplikasi. Stored-procedure dapat dibuat
28
oleh administrator database untuk membuat otomatisasi proses manipulasi database yang akan di eksekusi pada aplikasi. •
Index, adalah entitas yang bersifat dinamis. Dibuatkan oleh DBMS. berdasarkan data-request oleh pemakai aplikasi ketika proses runtime aplikasi. Arsitektur database adalah teknologi komputer yang dipakai untuk
mendukung pengelolaan basisdata. Terdiri dari komponen: DB-Engine, CASEtools , DB-Utilities, DB-Tools, DB-Development tool. Komponen ini umumnya menjadi satu kesatuan sistem yang disebut software DBMS.
Gambar 2.7 Arsitektur Sistem Basisdata
29
2.5.2
Model Basisdata Relational Permodelan data hubungan didasarkan pada field kunci (yaitu field yang
unik / tidak ada duplikasi), contoh tabel Travel_agent dan tabel reservation direlasikan melalui field kunci Agency_ID. (Gambar 2.8 Komponen ERDiagram).
Tabel 2.3 Notasi-Notasi Entity Relationship-Diagram Simbol
Keterangan Entity Kumpulan suatu objek yang dapat dibedakan atau dapat diidentifikasikan secara unik. Relationship Hubungan yang terjadi antara satu entity atau lebih. Connection Merupakan tingkat hubungan yang terjadi antara entity di dalam sebuah data. Associative entity Sifat atau ka Attribute sifat atau karakteristik dari suatu entitas. Sinonim dengan field, property. View Perspektif (instan ) sebuah entitas yang mewariskan sifat-sifatnya
30
Entitas
Entitas
Travel_Agent
Identifier Reservation
Agency_ID
[INT(4)] PK1
Agency_Name
[CHAR(30)]
Agent
[CHAR(30)]
Phone
[CHAR(15)]
Commission
[INT(4)]
One-to-Many relationship
Atribut
Code (PK1) Number_of_night Rate Flight …… …… Agent_ID(FK) Phone Commission Foreign Key
Gambar 2.8 Komponen ER-Diagram
•
Identifier/Key adalah sebuah atribut yang menyusun entitas tunggal (field).
•
Entitas tunggal mewakili suatu benda nyata atau abstrak yang penting bagi suatu perusahaan.
•
Primary-key (PK) adalah sebuah identifier yang berfungsi sebagai katakunci sebuah record dan untuk menghubungkan record yang satu dengan record yang ada pada entitas lain. Primary-key harus bersifat unik karena nilainya berfungsi sebagai identitas hubungan (relationship-identity). Dan entitas yang terdapat PK disebut parent.
•
Foreign-key (FK) adalah primary-key dari suatu entitas yang digunakan pada entitas lain untuk menentukan bentuk relasi. FK adalah PK satu entitas yang menyumbang (duplikasi) data kepada entitas sekarang. FK adalah selalu cocok dengan PK entitas lain. Entitas yang terdapat FK disebut child.
•
Composite-key adalah gabungan dari atribut dari primary dan foreign key untuk membentuk entitas yang memiliki tipe-data gabungan (jamak).
31
•
Relationship atau entity-relationship adalah Hubungan diantara entitas mengandung asosiasi khusus yang dijelaskan dengan Kardinalitas dan secara umum diberi label dengan menggunakan kata kerja (action verbs). Kardinalitas berhubungan dengan batasan berupa angka dan suatu hubungan diantara entitas, seperti hubungan one-to-one (satu penjualan dihubungkan dengan satu pelanggan); hubungan one-to-many (satu pemasok memasok pada banyak produk); atau hubungan a many-many (banyak salesmen menjual banyak produk). Istilah “one-to-one,” “one-tomany,” and “many-to-many” adalah pernyataan umum yang digunakan untuk menjelaskan kardinalitas dari suatu hubungan.
•
Kardinalitas adalah tipe hubungan dari entitas yang berelasi dengan menggunakan notasi angka.
•
Degree adalah tingkatan relasi dari suatu entitas. Terdiri dari: unary, binary dan ternary
32
Gambar 2.9 Notasi Kardinalitas
2.5.3
Manajemen Sistem Basisdata (DBMS) Database Management System (DBMS) adalah sekumpulan perangkat
lunak yang mengelola basisdata untuk mendukung kebutuhan aplikasi. Pengguna berinteraksi dengan aplikasi selanjutnya aplikasi memproses basisdata pada DBMS melalui antarmuka (interface) pengguna dalam bentuk aplikasi Web.
33
Software yang digunakan untuk mengatur dan mengelola basisdata adalah DBMS (Data Base Management System). Contoh: Access, MySQL, SQL-Server, Oracle, Informix, Sybase, dll. 2.5.4
Permodelan basisdata (Database Modeling) Pemodelan basisdata dikenal juga dengan nama Entity-Relationship Model
atau Entity-Relationship Diagram yang terjadi dalam tahap pengembangan perangkat lunak pertama (analisa kebutuhan). Tujuannya untuk menggambarkan sebuah model-visual bagaimana entitas yang ada saling berhubungan. Contoh dari entitas yang berhubungan antara lain: •
Person: kelompok/kelas yang mewakili subjek yang terlibat dalam relasi. Misalnya: mahasiswa, supplier, konsumen, pegawai, dosen.
•
Place : kelompok / kelas yang mewakili tempat suatu kejadian
•
Object: benda atau objek riil yang mewakili obyek yang digunakan atau di proses dalam sistem / organisasi. Contoh, buku, mesin, produk, nilai, kendaraan, kelas (ruang-kelas), bahan baku, invoice dan lain-lain
•
Event: kelompok / kelas yang mewakili suatu kejadian / peristiwa yang direkam oleh sistem / organisasi. Misalnya,
jadwal, order,
registrasi/pendaftaran, penjualan, berita / laporan dan lainnya •
Logic-concept: kelas / kelompok yang mewakili sebuah konsep logika. Misalnya, account, time, courses, saham, dan lainnya.
ERD digunakan untuk menyatakan jenis data dan hubungan yang ada diantara jenis data yang didasarkan pada persepsi dunia nyata yang didasarkan
34
pada sekumpulan objek dasar yang disebut entitas (entity) dan hubungan atau relasi (relation) antara obyek-obyek tertentu. Contoh
visualisasi entitas yang melakukan sebuah Entity-Relationship dapat
dilihat pada gambar berikut ini.
Gambar 2.11 Sebuah Entity-Relationship lengkap 2.5.5
Perangkat lunak DBMS MySQL
Perangkat lunak yang digunakan dalam menyusun sistem basisdata aplikasi website adalah MySQL.
35
2.5.5.1 Sejarah singkat MySQL MySQL adalah sebuah aplikasi Relational Database Managemen Server (RDBMS) yang sangat cepat dan kokoh. Istilah seperti tabel, baris, dan kolom tetap digunakan dalam MySQL. Pada MySQL sebuah database mengandung satu beberapa tabel, tabel terdiri dari sejumlah baris dan kolom. Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas baris-baris data (row atau record) yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data sedangkan kolom sering disebut sebagai attributes atau field. Dengan menggunakan MySQL server maka data dapat di akses oleh banyak pemakai secara bersamaan sekaligus dapat membatasi akses parapemakai berdasarkan privileges (hak akses) yang diberikan. MySQL menggunakan bahasa SQL (Struktur Query Languages) yaitu bahasa standard pemrograman database. MySQL di publikasikan sejak 1996. tetapi sebenarnya di kembangkan sejak 1979 2.5.5.2 Karakteristik MySQL Server Produk MySQL Server versi.5 merupakan DMBS yang bersifat opensource dengan karakteristik dan keunggulan sebagai berikut. •
Dibangun dengan bahasa pemrograman C dan bersifat open-source
•
Kemampuan dan kecepatan pengolahan database
•
Memiliki banyak pemakaian dan mendukung semua aplikasi perangkat lunak yang ada di pasar.
•
Mudah digunakan dan mempunyai dokumentasi yang lengkap
36
•
Lebih aman dan dapat diandalkan untuk aplikasi skala kecil maupun besar.
•
Sistem software-nya tidak memberatkan kerja dari server atau komputer, karena dapat bekerja di background.
•
Bersifat cross-platform dapat dipasang pada semua arsitektur perangkat keras komputer.
2.6 2.6.1
Konsep Aplikasi Client-Server dan Website Arsitektur Aplikasi Client-server Pada arsitektur ini ada sebagian yang disebut client dan ada yang disebut
server. Client adalah sembarang sistem atau proses yang melakukan sesuatu permintaan data atau layanan ke server. Server adalah sistem atau proses yang menyediakan data atau layanan yang diminta oleh Client. Jaringan ini dibuat dengan kehadiran server yang menyediakan pengelolaan serta keamanan bagi komputer- lain didalam jaringan dan client yang meminta fasilitas yang disediakan oleh server. Server adalah komputer yang dapat memberikan service, sedangkan client adalah komputer yang mengakses beberapa service di server.
37
Gambar 2.12 Arsitektur Software Klien-Server 2.6.1.1 Perangkat Lunak Sisi-Server •
Apache adalah sebuah software yang melayani request protokol HTTP dan PHP dari komputer klien dan menyajikan hasil keluaran kepada webbrowser client.
•
MySQL adalah software yang melayani request pengolahan database untuk mendukung permintaan (request) dari komputer Client.
2.6.1.2 Perangkat Lunak Akses dari Client Penggunaan perangkat lunak dibatasi hanya menggunakan aplikasi penjelajah (web-browser) saja. Web-browser yang digunakan adalah Mozilla Firefox versi 6.3.1 dimungkinkan juga penggunaan web-browser lain seperti Internet Explorer atau Google Chrome.
38
2.6.1.3 Perangkat lunak Authoring Tools Adalah perangkat lunak yang digunakan untuk mendesain aplikasi website. Proses pembuatan website pada umumnya dimulai dengan menyusun desain visual halaman web. Berbagai jenis perangkat penyusun (authoring tools) dibuat khusus untuk keperluan itu, fitur utama authoring tool halaman web biasanya berupa menu yang memudahkan atau mengotomatis penulisan tag-tag HTML (Hypertext Markup Language). Contoh aplikasi ini yaitu: Macromedia Dreamweaver, Visual Studio 2005 Web-authoring, Adobe Flash, Adobe Golive dan lain-lain. 2.7 2.7.1
Konsep Dokumen HTML, JavaScript dan bahasa pemrograman PHP Pengertian HTML a. Website
adalah
alamat
URL
yang
berfungsi
sebagai
tempat
penyimpanan data informasi dengan berdasarkan topik tertentu. Dalam suatu halaman website sangat memungkinkan hanya dengan membuka satu dekstop berikut browser standar terpenuhi kebutuhan untuk mengakses internet maupun intranet. b. Hyper Text Mark-up Language adalah file dokumen yang berisi kumpulan kode perintah bahasa skrip yang disebut HTML tag. Tag HTML disusun menggunakan standar HTML yang dibuat oleh Organisasi internasional IETF (Internet Engineering task-force) c. JavaScript adalah bahasa script yang bertugas melakukan fungsi-fungsi tambahan yang tidak disediakan oleh standar HTML. Java Script juga memungkinkan sebuah dokumen HTML menjadi sebuah aplikasi
39
website yang dinamis, dan interaksi dengan user lebih baik. Baris kode JavaScript ini akan dieksekusi langsung oleh sistem operasi klien dengan menggunakan extension penerjemah bahasa yang mirip dengan bahasa pemrograman C/C++. d. XML (eXtended Mark-up Language) adalah sebuah pengembangan dari HTML dengan penambahan fasilitas lebih lengkap untuk website yang lebih kaya fitur dan interaktif dokumen bagi pemakai di Internet. 2.7.2
Bahasa Pemrograman Skrip PHP PHP Hyper-text Preprocessor (PHP) adalah skrip yang berjalan dalam
server side yang bisa di tambahkan dalam HTML. PHP itu sendiri merupakan sebuah skrip yang dapat berjalan tidak hanya pada dokumen HTML tetapi juga untuk membuat sebuah aplikasi stand-alone yang dapat dieksekusi tersendiri. Skrip ini akan membuat suatu aplikasi dapat diintegrasikan kedalam HTML sehingga suatu halaman HTML tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server side ini membuat pengerjaan skrip tersebut dikerjakan di server sedangkan yang dikirimkan kepada browser adalah hasil proses dari skrip tersebut yang sudah berbentuk HTML. Berikut ini contoh skrip PHP. ... ...
40
Keunggulan dari PHP bersifat server side tersebut adalah : •
Tidak di perlukan adanya kompatibilitas browser atau harus menggunakan browser tertentu, karena server-lah yang akan mengerjakan skrip tersebut. Hasil yang di kirimkan kembali ke browser biasanya dalam bentuk teks ataupun gambar sehingga dapat dikenali oleh browser apa pun.
•
Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server, contoh: hubungan kedalam database.
•
Skrip asli tidak dapat dilihat sehingga keamanan lebih terjamin. PHP dibuat pada tahun 1994 oleh Rasmus Lerdorf. melalui tiga kali karya
penulisan akhirnya PHP menjadi bahasa pemrograman web. Keunggulan PHP adalah selain sifatnya open source adalah multi platform selain dapat dijalankan pada platform PC (Windows, LINUX, MAC-OS dan lainnya), juga dapat dijalankan pada perangkat smart (gadget) yang mendukung format XHTML. Paket Software yang digunakan dalam pembuatan sistem informasi website ini adalah a. Apache Web-server versi 5.12. Yaitu sebuah aplikasi server untuk menerima request http dari klien dan melakukan pemrosesan untuk dikemudian ditampilkan pada aplikasi browser web klien. b. MySQL versi 5.0.18. Yaitu software database untuk menangani request yang berkaitan dengan basisdata dari aplikasi yang dibuat. c. Eclipse for PHP-developer yaitu sebuah authoring tools dengan tampilan visualisasi desain website yang lengkap dan cukup efektif
41
untuk membuat dokumen HTML yang menyertakan JavaScript,xml, PHP dan CSS.
2.8
Konsep Pemodelan Perangkat Lunak Konsep perancangan perangkat lunak menggunakan Analisa & Perancangan
Berorientasi Objek (Software Object Oriented Design & Analysis – OODS). Komponen pembahasan OODS terdiri dari: •
Analysis
Modeling.
Merupakan
langkah
penting
dalam
proses
pembangunan karena memberikan sistem struktur awal sebagai dasar langkah-langkah perbaikan lebih lanjut dalam perkembangan berikutnya. Objek yang dianalisa antara lain: 1. Antarmuka objek: menganalisa komunikasi dengan para aktor. Mereka langsung berhubungan dengan aktor / antarmuka sistem. 2. Entitas obyek: objek untuk menyimpan informasi. 3. Kontrol objek: adalah benda-benda yang mengkoordinasikan dan mengalokasikan kerja antara objek yang berbeda dalam pemenuhan kasus penggunaan tertentu.
•
Data modeling yaitu menjelaskan hubungan tiap-tiap objek dalam sistem. Menggunakan model ER-Diagram untuk objek sistem. Hal ini sudah dijelaskan pada pemodelan basis data relasional.
•
Functional modeling dan alur information yaitu deskripsi komponen fungsional yang memungkinkan terjadi transformasi data dan informasi dari objek sistem. Menggunakan pemodelan kelas (class diagram) dan
42
interaksi antara objek dengan penggunaan interface dari component objek sistem. Dimana untuk menunjukkan bagaimana data ditransformasikan. •
Behavioral modeling yaitu menjelaskan perilaku sistem terhadap kejadian di luar sistem dan cara menanggapi respon tersebut. Menggunakan StateTransition Diagram untuk menganalisa akibat dari kejadian di luar sistem yang mempengaruhi sistem.
•
Structured analysis yaitu menjelaskan Pemodelan PROSES yang digunakan
untuk
menganalisis
sistem
yang
ada,
mendefinisikan
persyaratan untuk sebuah sistem dalam notasi-notasi grafik (Use-Case Diagram). 2.8.1
Object Oriented Modeling OOM memiliki karakteristik sebagai berikut: •
Class: prototipe yang mendefinisikan atribut dan method secara umum. Ada 2 bentuk dari kelas, yaitu Super-class yang terdiri dari koleksi kelas dan Sub-class yang mengimplementasikan kelas..
•
Object: implementasi dari kelas yang menyatukan atribut dan fungsi (metoda) kedalam sebuah instance.
•
Atribut / variabel / properties adalah apa yang dimiliki oleh sebuah object. Sedangkan metoda / behaviour / event adalah apa yang dapat dilakukan oleh sebuah obyek.
•
Polymorphisms: mekanisme pembungkusan atribut dan method pada suatu object dari super-kelas ke sub-kelas-nya yang memungkinkan variasi metoda/fungsi. Masing-masing instan kelas ini dapat merespon
43
message berbeda dari instan lain. Manfaatnya adalah: modularitas dan penyembunyian informasi/data. •
Message
:
mekanisme
yang
digunakan
oleh
object
untuk
berkomunikasi dengan object lain. Sehingga dimungkinkan terjadi aplikasi terdistribusi dan berinteraksi melalui jaringan. •
Inheritance : pewarisan atribut dan method dari class induk ke class anaknya, yang mengextends padanya. Superclass adalah class induk, subclass adalah kelas anak. Subclass akan mewarisi seluruh sifat super class, namun juga memungkinkan dapat juga memiliki atribut dan method yang lain, yang membedakannya dengan induknya.
•
Abstract : kelas yang hanya terdiri dari metaoda yang abstract yang digunakan untuk mendukung inheritance.
•
Interface : kelas yang hanya terdiri dari kumpulan method-method saja tanpa implementasi coding.
Keuntungan dari pengembangan aplikasi dengan model OOM antara lain: •
Detail implementasi terhadap data dan prosedur pada sistem dapat tersembunyi dari dunia luar sehingga mengurangi efek samping ketika terjadi pengembangan-lanjut dari sistem.
•
Struktur data dan operasinya dapat ditempatkan pada entitas tunggal atau yang disebut objek. Memudahkan penggunaan ulang suatu kelas.
•
Interface antara objek yang terenkapsulasi menjadi sederhana.
44
•
Dan yang terpenting adalah memudahkan permodelan dari sistem aplikasi yang dibuat. Pemodelan sistem dengan menggunakan UML (Unified Modeling Language)
2.8.2
Unified Modeling Language UML adalah bahasa permodelan sistem perangkat lunak dengan metoda
berorientasi objek. Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OOP) [Martin Fowler,2005:1]. Notasi
UML
merupakan
sekumpulan
bentuk
khusus
untuk
menggambarkan berbagai diagram perangkat lunak dan UML terdiri dari 13 jenis diagram resmi. Penulis juga menggunakan pendekatan lain Tabel 2.5 Unified Modeling Language No. Jenis Diagram
Keterangan
1
Struktur dasar yg dibuat sebagai requirement
Domain Model
analysis 2
Robustness
Mengidentifikas kelas, fitur dan fungsi aplikasi
3
Class
Class, fitur
4
Activity
Behavior procedurals
5
Component
Struktur dan koneksi komponen
6
Composite
Dekomposisi runtime sebuah class untuk
structure
mendeskripsikan suatu fungsi
Interaction
Campuran antara sequence dan activity diagram
7
Overview
dan parallel
45
8
Object
Contoh konfigurasi dari contoh-contoh kelas
Diagram
diagram
Sequence
Interaksi antar objek, penekanan pada
Diagram
sequence
State
Bagaimana even mengubah objek selama aktif di
Machines
dalam sistem selama periode waktu yang pendek
11
Use case
Bagaimana pengguna berinteraksi dengan sistem
12
Collaboraton
Interaksi antar objek, penekanan pada timing
9
10
Diagram 13
Deployment
Pemindahan artifak ke node.(titik tertentu
Diagram
dalam level pengembangan aplikasi)
Pembahasan teori UML dibatasi pada komponen yang diperlukan dalam skripsi ini. Yaitu, Domain Model Diagram, Robustness Diagram, Class Diagram, Use Case Diagram, Activity Diagram , Sequence Diagram dan Component/State Machine Diagram 2.8.2.1 Domain Model Diagram Domain Model dignunakan pada tahap awal untuk menfokuskan pada masalah yang ingin ditemukan. Membuat model identifikasi permasalahan dari definisi persyaratan yang telah dibuat sebelumnya. Domain model diagram berisi objekobjek yang mewakili sebuah masalah dalam bentuk kotak segiempat dan garis khusus yang menunjukkan ketergantungan antar objek. 2.8.2.2 Robustness Diagram Robustness Diagram yang menjembatani antara objek pada domain-diagram dan teks / actor dari use-case diagram.
46
Gambar 2.13 Notasi Robustness Diagram Tabel 2.6 Simbol pedoman dalam membuat diagram robustness Simbol Robustness
Keterangan
Aktor
Use case
Boundary object
Antarmuka antara sistem dan lingkungan luar.
(noun)
Biasanya berupa tampilan layar atau halaman web.
Entity object
Kelas dari domain model diagam
(noun) Controller
Perekat/penyambung antara boundary dan entity
(verb)
object
Catatan
• Nouns bisa berkomunikasi ke verb (dan sebaliknya). • Nouns tidak bisa berkomunikasi ke nouns lainnya. • Verb bisa berkomunikasi dengan verbs lainnya.
2.8.2.3 Use Case Diagram Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan.
47
Skenario adalah rangkaian langkah-langkah yang menjabarkan sebuah interaksi antara user dengan sebuah sistem, dalam bahasa use case user disebut sebagai aktor setiap langkah-langkah dalam use case adalah sebuah elemen dalam interaksi antara aktor dan sistem. Deposit
Nasabah Terlibat dalam Use cases “Menabung
Get customer information
Pegawai Bank terlibat pada 2 atau 3 use cases
Deposit
Loan
Pegawai Bank Cash withdrawal
Nasabah
Nasabah hanya terlibat dalam satu use case pembayaran kredit
Establishment
Maintain
Payments
Pegawai bank terlibat dalam semua use case pemberian kredit
Gambar 2.14 Use Case untuk Rekening di Bank
2.8.2.4 Activity Diagram Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram hampir sama dengan sebuah aliran data, akan tetapi perbedaan prinsip antara activity diagram dengan notasi diagram alir adalah pada activity diagram lebih mendukung kepada behavior parallel.
48
Percabanga n
Mengisi Pesanan [Priority Order]
Pengiriman Semalam
Menerima Pesanan
Node Awal
Mengirim Invoice
Keputusa n
Flow/Edg e
Pengiriman Biasa Menerima Bayaran Penggabunga n Akhir Kegiatan
Menutup Pesanan
Joi n
Gambar 2.15 Activity Diagram
Gambar 2.16 Activity Diagram dengan Partisi (swimlane)
49
2.8.2.5 Sequence Diagram Sequence Diagram adalah menjabarkan perilaku sebuah skenario tunggal seperti menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objek-objek ini di dalam use case. Komponen utama diagram sequence terdiri atas objek yang disebut participant (notasi kotak) pesan diwakili oleh garis dengan tanda panah dan waktu ditunjukkan dengan garis tegak lurus setiap objek terhubung dengan garis titik-titik yang disebut garis hidup (lifeline). Sepanjang garis hidup terdapat kotak yang disebut penggerak (activation).
Gambar 2.17 Sequence Diagram “Penyewaan” (http://www.conceptdraw.com/en/products/cd5/ap_uml.php)
50
2.8.2.6 Class Diagram Class Diagram adalah jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat di antara mereka. Class diagram tidak hanya digunakan secara luas tetapi juga memiliki banyak konsep permodelan, meskipun elemen-elemen dasar dibutuhkan oleh setiap model sama untuk semua model. Penjelasan notasi class diagram dapat dilihat pada konsep OOP sebelumnya. Class diagram terdiri dari atribut dan metoda berinteraksi dengan komponen yang lain. Seperti dilihat pada gambar berikut.
Gambar 2.18 Class Diagram (http://www.conceptdraw.com/en/products/cd5/ap_uml.php) 2.8.2.7 Components Diagram Component Diagram merupakan komponen yang tidak menggunakan notasi yang asing dengan kita, komponen terhubung melalui antarmuka yang digunakan dan dibutuhkan seperti sering menggunakan notasi bola atau soket
51
seperti halnya seperti class diagram serta dapat memecah komponen dengan menggunakan composite structure diagram.
Gambar 2.19 Component Diagram (http://www.conceptdraw.com/en/products/cd5/ap_uml.php) 2.8.2.8 Composite Structure Diagram Komponen
ini
menggambarkan
potongan
aplikasi/software
yang
menyusun sebuah fitur pada komponen software tersebut. Composit struktur Diagram adalah implementasi class diagram yang digunakan pada saat runtime sistem dari software tersebut untuk menguji sekumpulan perangkat fitur pada software.
52
Gambar 2.20 Composite Structure Diagram
2.9 2.9.1
Konsep Pengujian dan Implementasi Teori Pengujian Aplikasi
Banyak yang berangapan bahwa bugs dalam software tersebar secara homogen, namun hal itu ditentang dengan adanya teori bahwa bugs dalam software berkumpul, hal ini yang disebut software black hole. dalam teori bugs yang berkumpul, maka perlu dilakukan testing pada seluruh bagian dari software, dan hal ini mutlak sulit dilakukan. sedangkan pada teori software black hole testing difokuskan kepada bagian software tempat bugs berkumpul. Secara praktik, hal itu dilakukan dengan menerapkan black box dan white box testing,
53
•
Black box testing merefleksikan pengujian terhadap requirement, Jenis Pengujian ini adalah: Pengujian Black box menyatakan bahwa software di misalkan sebagai "kotak-hitam". Yang artinya tanpa mengetahui proses internal sistem, penguji melakukan tes pada hasil dari masukan yang di proses oleh aplikasi. Metoda Black box terdiri dari:
•
Pengujian berbasis Kebutuhan Perangkat Lunak: pengujian ini ditujukan untuk melihat seberapa jauh fungsionalitas perangkat lunak berdasarkan standar kebutuhan yang telah ditetapkan. Melalui serangkaian input data dan melihat output dari proses tersebut. Pengujian pada tingkat ini biasanya menggunakan kasus-uji yg sudah ditetapkan, sehingga dapat diasumsikan bahwa untuk masukan tertentu akan menghasilkan keluaran atau karakteristik keluaran yang sesuai dengan kriteria nilai yang ditetapkan sebelumnya. Hasilnya “sama” atau “tidak-sama” dengan nilai tertentu yg telah ditetapkan pada test-case. [Laycock, G. T. 1993]
•
Advantages and disadvantages: dimana penguji eksternal yang tidak terikat dalam team software (disebut beta-tester) mencari sesuatu yang bisa dijadikan kelemahan software. Karena sifatnya sebagai tester dan melibatkan banyak pihak diluar team maka sudah pasti dapat ditemukan kelemahan (bug) dari software, maka team akan merespon dengan memverifikasi ulang kejadian dari si tester tadi, sehingga tercipta keuntungan
54
dan kerugian (batasan/kelemahan) perangkat lunak tersebut. Dan selanjutkan team akan memperbaiki software secara terus menerus. 2.9.2
Verifikasi dan Validasi Software Verifikasi adalah proses mengevaluasi software untuk menentukan apakah
produk telah sesuai dengan tahap pengembangan mulai dari fase awal. verifikasi berbasis proses, menjawab pertanyaan Have we built the software right? Validasi adalah proses mengevaluasi software selama atau pada akhir fase pengembangan untuk membandingkan apakah perangkat lunak telah sesuai dengan kebutuhan (requirement). validasi berbasis produk, menjawab pertanyaan Have we built the right software? 2.9.3
Level pengujian software Object-Oriented 1. Unit testing mengacu pada pengujian yang memeriksa efektifitas fungsional dari bagian kode tertentu yang menjalankan fungsi (metoda) yang sering digunakan. Biasanya pada tingkatan kelas, yaitu construktur super-kelas. Bagian dari pengujian ‘white-box’ yang sering juga disebut component-testing. 2. Integration testing
mengacu pada pengujian tingkat modul.
Yaitu interaksi antara bagian/subclass dengan menguji interface antarkomponen
dan
membandingkan
Integration
testing
digunakan
dengan untuk
master desain
membukan
awal.
kemungkinan
kelemahan (defect) dari modul yang di-integrasi dalam sistem.
55
3. System testing adalah sebuah pengujian yang menyatukan antar komponen sistem secara luas untuk melihat seberapa jauh kesesuaian dengan desain kebutuhan awal sistem. 2.9.4
Tujuan Pengujian Perangkat Lunak
1. Memenuhi persyaratan kebutuhan teknis maupun bisnis yang di`buat pada perencanaan awal software 2. Software bekerja sesuai yang diinginkan pemilik / pengguna software (stake-holder). 3. Dapat diimplementasikan sesuai karakteristik yang telah disusun sebelumnya. (memenuhi standar).