BAB II LANDASAN TEORI
2.1 REKAYASA PERANGKAT LUNAK 2.1.1 PENGERTIAN REKAYASA PERANGKAT LUNAK Menurut Pressman (2005:54), rekayasa perangkat lunak adalah sebuah teknologi yang terdiri dari lapisan (layer), yaitu : Fokus pada kualitas (A Quality of Focus) Pendekatan teknik apapun (termasuk rekayasa perangkat lunak) harus bersandar pada komitmen organisasi terhadap suatu mutu. Total kualitas manajemen dan filosofi yang sama mendorong budaya perbaikan proses yang berkesinambungan dan budaya ilmiah yang pada akhirnya mengarah pada pengembangan pendekatan yang semakin lebih dewasa untuk rekayasa perangkat lunak. Fondasi yang mendukung rekayasa perangkat lunak adalah focus pada kualitas. Proses (Process) Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses pada rekayasa perangkat lunak adalah perekat yang memegang teknologi lapisan (layer) bersama – sama dan memungkinkan pengembangan perangkat lunak yang rasional dan tepat waktu. Proses mendefinisikan sebuah kerangka kerja untuk satu set Key Process Areas (KPAs) yang harus ditetapkan untuk penyampaian (delivery) yang efektif dari teknologi rekayasa perangkat lunak. Key Process Areas membentuk dasar bagi kontrol manajemen proyek perangkat lunak dan menetapkan konteks metode – metode teknis mana yang diterapkan, produk kerja (model, dokumen, data , laporan, form, dan sebagainya) yang diproduksi, milestones yang ditetapkan, kualitas yang terjamin, dan perubahan yang dikelola dengan baik.
7 http://www.mercubuana.ac.id
8
Metode (Method) Metode rekayasa perangkat lunak menyediakan teknis “bagaimana” untuk membangun
perangkat
lunak.
Metode
mencangkup
tugas
yang
mencangkup analisi kebutuhan (requirements analysis), desain (design), program konstuksi (program construction), pengujian (testing), dan pemeliharaan (maintenance). Alat Bantu (Tools) Alat bantu otomatis atau semi – otomatis menyediakan dukungan untuk proses dan metode. Ketika alat – alat diintegrasikan sehingga informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat lainnya, sebuah sistem untuk mendukung pengembangan perangkat lunak, yang disebut Computer-aided
Software
Engineering
(CASE),
didirikan.
CASE
menggabungkan software, hardware, dan database (sebuah repository berisi informasi penting tentang analisis, desain, program konstruksi, dan pengujian) untuk menciptakan lingkungan rekayasa perangkat lunak yang analog dengan Computer-aided Design (CAD) / Computer-aided engineering (CAE) untuk hardware.
Gambar 2.1 Lapisan pada Rekayasa Perangkat Lunak
2.1.2 KERANGKA PROSES (A PROCESS FRAMEWORK) Sebuah Kerangka Proses (A Process Framework) menetapkan dasar bagi proses perangkat lunak yang lengkap dengan mengindentifikasi sejumlah kecil aktivitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, tanpa memandang ukuran atau kompleksitas. Selain itu, kerangka proses mencangkup serangkaian kegiatan yang berlaku di seluruh proses perangkat lunak.Berikut Kerangka Process (A Process Framework) yang berlaku untuk sebagian besar proses perangkat lunak :
http://www.mercubuana.ac.id
9
Komunikasi (Communication) Aktivitas tenaga kerja ini melibatkan komunikasi dan kolaborasi dengan pelanggan (dan stakeholderlainnya) dan meliputi persyaratan pengumpulan dan kegiatan terkait lainnya. Perencanaan (Planning) Akivitas kerangka kerja ini menetapkan suatu rencana untuk rekayasa perangkat lunak yang menggambarkan tugas – tugas teknis yang dilakukan, resiko yang mungkin, sumber daya yang akan dibutuhkan, pekerjaan produk yang harus dihasilkan dan jadwal kerja. Permodelan (Modeling) Aktivitas
kerangka
kerja
ini
meliputi
pembuatan
model
yang
memungkinkan pengembang (developer) dan untuk lebih memahami kebutuhan perangkat lunak (software requirement) dan desain untuk pencapaian requirement tersebut. Konstruksi (Construction) Aktivitias kerangka kerja ini menggabungkan kegiatan coding (baik manual atau otomatis) dan pengujian (testing) yang diperlukan untuk mengungkapkan kesalahan kode. Deplo yment Perangkat lunak (sebagai entitas lengkap atas selesai sebagian) diberikan kepada client dimana client yang akan mengevaluasi dan memberikan umpan balik balik berdasarkan evaluasi.
2.1.3 PRESKRIPTIF MODEL PROSES PERANGKAT LUNAK Menurut Pressman (2005:78), setiap organisasi yang membangun suatu software harus menetapkan sebuah kerangka kerja yang unik untuk proses perangkat lunak. Terlepas dari model proses perangkat lunak yang dipilih, seorang software engineer pada umumnya memilih kerangka proses yang mencangkup kerangka
kerja :
komunikasi
(communication), perencanaan
permodelan (modeling), konstruksi (construction), dan deployment.
http://www.mercubuana.ac.id
(planning),
10
Preskriptif model proses perangkat lunak, disebut preskriptif karena model proses menetapkan (mempreskriptif) seperangkat kerangka proses kegiatan, kegiatan rekayasa perangkat lunak, tugas, produk kerja, jaminan mutu (quality assurance), dan perubahan mekanisme kontrol untuk setiap proyek. Setiap model proses perangkat lunak juga menetapkan alur kerja (workflow) yaitu cara dimana elemen – elemen proses saling terkait satu sama lain.
2.1.4 METODOLOGI REKAYASA PERANGKAT LUNAK Permodelan dalam perangkat lunak merupakan hal yang wajib dikerjakan di bagian awal dari rekayasa, dan permodelan ini akan mempengaruhi pekerjaan – pekerjaan dalam rekayasa perangkat lunak tersebut. Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Jenis permodelan yang digunakan dalam penyelesaian tugas akhir ini menggunakan permodelan yang secara umum digunakan dalam rekayasa perangkat lunak yaitu model Waterfall. Waterfall
mengusulkan
sebuah pendekatan
kepada
perkembangan
perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Berikut di bawah ini rangkaian aktifitas proses dalam model Waterfall (Pressman, 2007) 1. Tahapan Rekayasa Sistem Tahapan ini sangat menekan pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem dengan menentukan konsep sistem beserta antarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya berupa spesifikasi sistem.
2. Tahapan Analisis
http://www.mercubuana.ac.id
Pada tahap ini dilakukan pengumpulan kebutuhan elemen – elemen di tingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain – domain data atau informasi, fungsi, proses, atau prosedur yang diperlukan
http://www.mercubuana.ac.id
11
beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa spesifikasi kebutuhan perangkat lunak.
3. Tahapan Perancangan Pada tahap perancangan, kebutuhan – kebutuhan perangkat lunak yang dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diterapkan.
4. Tahapan Pemrograman Tahap ini melakukan penerapan hasil rancangan ke dalam baris – baris kode program yang dapat dimengerti oleh komputer.
5. Tahapan Pengujian Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai. Pengujian terlebih dahulu dilakukan pada setiap modul. Jika tidak ada masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat lunak secara utuh. Kemudian dilakukan pengujian di tingkat perangkat lunak yang memfokuskan pada masalah – masalah logika internal, fungsi internal, potensi masalah yang mungkin terjadi dan pemeriksaan hasil apakah sudah sesuai dengan permintaan.
6. Tahapan Pengoperasian dana Pemeliharaan Dalam masa operasional sehari – hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi – fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangannya. Dengan demikian, kedua faktor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu. Biasanya ini merupakan tahapan yang panjang dari perangkat lunak.
http://www.mercubuana.ac.id
Rekayasa Sistem Analisa
Des a in
Pengkodean
Pengujian
Pemeliharaan
12
Gambar 2.2 Model Waterfall
2.2 UNIFIED MODELING LANGUAGE 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 (Fowler, 2005:1). UML adalah sintaks umum untuk membuat model logika dari sistem dan digunakan untuk menggambarkan sistem agar dapat dipahami selama fase analisis dan desain. Sintaks yang didesain bersifat independen dari bahasa target dan proses perangkat lunak atau tool, tapi cukup umum dan fleksibel karena dapat dimodifikasi dengan menggunanakan definisi perluasan dan mengakomodasi UML akan digunakan pada tahap analisa dan desain. Desain yang dihasilkan berupa diagram – diagram UML yang akan diterjemahkan menjadi
http://www.mercubuana.ac.id
hampir semua bahasa. Sintaks yang didefinisikan mudah dipahami, dan diaplikasikan ke dalam proyek. Ini memerlukan definisi himpunan semantik yang sesuai untuk proses arsitektur atau perangkat lunak.
http://www.mercubuana.ac.id
13
kode program pada tahap implementasi. UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1 (Munawar, 2005) Tabel 2.1 Jenis Diagram Resmi UML (Munawar, 2005) No.
Diagram
Kegunaan
1.
Activity
Perilaku prosedural dan paralel
2.
Class
Class, fitur, dan relasinya
3.
Communication
Interaksi diantara objek. Lebih menekankan ke link
4.
Component
Struktur dan koneksi dari komponen
5.
Composite Structure
Dekomposisi sebuah class pada saat runtime.
6.
Deployment
Penyebaran / instalasi ke klien
7.
Interaction Overview
Gabungan sequence dan activity diagram
8.
Object
Contoh konfigurasi dari contoh – contoh
9.
Package
Struktur hierarki saat kompilasi
10.
Sequence
Interaksi antar objek. Lebih menekankan pada urutan
11.
State Machine
Bagaimana event mengubah sebuah objek selama aktif
12.
Timing
Interaksi antar objek. Lebih menekankan pada waktu
13.
Use Case
Bagaimana user berinteraksi dengan sebuah sistem
2.2.1 DIAGRAM USE CASE Diagram Use Casemenggambarkan fungsionalitas dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah diagram Use Casememrepresentasikan sebuah interaksi antara pengguna sistem dengan sistem. Diagram Use Casemenggambarkan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat suatu daftar belanja, dan sebagainya.
http://www.mercubuana.ac.id
14
Aktor adalah sebuah entitas manusia atau sistem yang berinteraksi dengan sistem unutk melakukan pekerjaan – pekerjaan tertentu. Notasi – notasi yang digunakan dalam permodelan diagram Use Casedapat dilihat pada Tabel 2.2 adalah : Tabel 2.2 Notasi Diagram Use Case (Munawar, 2005) Notasi
Deskripsi Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna. Pelaku ini meliputi mahasiswa atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. Contoh : Manager, Pelanggan, dan lain – lain. Use case, digunakan untuk menggambarkan spesifikasi pekerjaan (job specification) dan deskripsi pekerjaan (job description), serta keterkaitan antar pekerjaan (job). Contoh : pesan barang, menutup pintu, dan lain – lain. Aliran proses (relationship), digunakan untuk menggambarkan hubungan antara use case dengan use case lainnya. Aliran perpanjangan (extension point), digunakan untuk menggambarkan hubungan antara use case dengan use case yg diperpanjang (extended use case) maupun dengan use case yang dimasukkan (included use case). Aliran yang digunakan untk menggambarkan hubungan antara aktor dengan use case.
<<extended>>
Kondisi yang mendiskripsikan apa yang terjadi antara use case dengan use case yang diperpanjang. Kondisi aliran proses langsung (directed relationship) antara dua use case yang secara tak
<
>
langsung menyatakan kelakuan (behaviour) dari use case yang dimasukkan.
<>
Kondisi yang mendeskripsikan apa yang terjadi antara aktor dengan use case.
http://www.mercubuana.ac.id
15
2.2.2 DIAGRAM ACTIVITY Diagram Activity merupakan bagian dari model dinamis yang digunakan untuk menggambarkan work flow atau proses sistem kita. Diagram ini menunjukan bagaimana suatu proses dimulai, kemudian alur proses dari tiap keputusan yang ada hingga berakhirnya proses. Serta diagram ini juga memungkinkan untuk menampilkan proses yang terjadi secara paralel. Diagram Activitymemungkinkan siapapun yang melakukan proses untuk memilih urutan dalam melakukannya. Dengan kata lain, diagram hanya menyebutkan aturan – aturan rangkaian dasar yang harus kita ikuti. Hal ini penting untuk permodelan bisnis karena proses – proses sering muncul secara paralel. Notasi – notasi yang digunakan dalam permodelan diagram aktifitas dapat dilihat pada Tabel 2.4. Tabel 2.3 Notasi Diagram Aktifitas No.
Notasi
Keterangan Aktifitas, digunakan untuk menggambarkan
1.
aktifitas dalam diagram aktifitas. Node keputusan (decision node), digunakan
2.
untuk menggambarkan kelakuan pada kondisi tertentu.
3.
Titik awal, digunakan untuk menggambarkan awal dari diagram aktifitas. Titik akhir (final action), digunakan untuk
4.
menggambarkan akhir dari diagram aktifitas. Akhir alur (flow final), digunakan untuk
5.
menghancurkan semua tanda yang datang dan tak memiliki efek alur dalam aktifitas. Aksi (action), digunakan untuk menggambarkan
6.
alur antara aksi dengan aksi, titik awal dengan aksi, atau aksi dengan titik akhir.
http://www.mercubuana.ac.id
16
Tabel 2.3 (lanjutan) Notasi Diagram Aktifitas Aksi penerimaan kejadian (accept event action), sebuah aksi yang menunggu sebuah
7.
kejadian dari suatu peristiwa bertemu kondisi yang spesifikasi DataStore digunakan untuk menjaga agar semua tanda yang masuk dan
8.
menduplikasinya saat mereka dipilih untuk pindah ke alur selanjutnya (downstream).
Node fork memiliki satu aksi yang 9.
masuk dan beberapa aksi yang keluar.
Join node digunakan untuk menggambarkan beberapa aksi yang masuk dan satu aksi
10.
yang keluar.
2.2.3 Diagram Sequence Sebuah diagram Sequence secara khusus menjabarkan aktifitas sebuah scenario tunggal. Diagram tersebut menunjukan sebuah objek contoh dan pesan – pesan yang melewati objek – objek di dalam Use Case Diagram (Fowler, 2005:81). Diagram Sequencemenggambarkan interaksi dengan menampilakan setiap partisipan dengan garis alir secara vertikal dan pengurutan pesan dari atas Diagram Sequence biasa digunakan untuk menggambarkan skenario atau rangkaian langkah – langkah yang dilakukan sebagai respon dari sebuah kejadian
http://www.mercubuana.ac.id
ke bawah.
http://www.mercubuana.ac.id
17
(event) untuk menghasilkan output tertentu. Di awali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing – masing objek, termasuk aktor memiliki lifeline vertikal. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Notasi – notasi yang digunakan dalam permodelan Sequence diagram terlihat dalam Tabel 2.5. Tabel 2.4 Notasi Permodelan Diagram Sequence (Fowler, 2005:81) No.
Notasi
Keterangan Aktor Merupakan sebuah perang yang dimainkan
1.
seseorang pengguna dalam kaitannya dengan sistem. Activation
2.
Menggambarkan waktu yang dibutuhkan suatu objek untuk menyelesaikan suatu aktivitas. Kelas Entitas
3.
Memodelkan informasi yang harus di simpan oleh sistem. Kelas ..
4.
Adalah yang memodelkan interaksi antara satu atau lebih actor dengan sistem Kelas Kontrol Digunakan untuk memodelkan “perilaku
5.
mengatur”, khusus untuk satu atau beberapa use case saja. Lifeline Digambarkan dengan garis putus – putus, yang
6.
menggambarkan bahwa hadirnya objek terhadap waktu. Aliran Pesan
7.
Digambarkan dengan tanda panah, yang menggambarkan komunkasi antar objek.
http://www.mercubuana.ac.id
18
2.3 HYPER TEXT MARKUP LANGUAGE (HTML) Hypertext Markup Language (HTML) adalah suatu bahasa yang digunakan untuk menulis halaman web. HTML dirancang untuk digunakan tanpa tergantung pada suatu platform tertentu (platform independent). Dokumen HTML adalah suatu dokumen teks biasa. Dan disebut sebagai markup language karena terdapat tag tertentu yang digunakan untuk menentukan tampilan suatu teks dan tingkat kepentingan dari teks tersebut dalam suatu dokumen. Fungsi dari HMTL diantaranya : 1. Mengontrol tampilan dari web page dan content-nya. 2. Mempublikasikan document secara online sehingga bisa diakses dari seluruh dunia. 3. Membuat online form yang bisa digunakan untuk menangani pendaftaran, transaksi secara online 4. Menambah object – object seperti image, audio, video dan juga javaapplet dalam dokumen HTML.
2.4 HYPERTEXT PREPROCESSOR (PHP) PHP digunakan sebgai bahasa scriptserver-side dalam pengembangan web yang disisipkan pada dokumen HTML. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehinggamaintenance situs web tersebut menjadi lebih mudah dan efisien. PHP merupakan software open-source yang disebarkan dan dilisensikan secara gratis serta dapat di-download secara bebas dari situs resminya. Beberapa pesaing dari PHP ialah Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP) dan Allaire Cold Fusion. Dalam perbandingan dengan produk – produk tersebut, PHP memiliki beberapa kekuatan diantaranya ialah :
http://www.mercubuana.ac.id
19
1. Performa yang tinggi PHP sangat efesien. Menggunakan server yang tidak mahal, dapat melayani berjuta – juta permintaan setiap harinya. 2. Integrasi Database PHP memiliki koneksi yang mengijinkan penggunaan berbagai sistem database. Selain itu dari koneksi ke MySQL, PHP juga dapat melakukan koneksi langsung ke database PostgreSQL, mSQL, Oracle, dbm, filePro, Hyperware, Informix, InterBase dan Sybase. Menggunakan Open Database Connectivity Standard (ODBC), PHP dapat melakukan koneksi ke banyak database yang disediakan oleh driver ODBC, termasuk produk Microsoft. 3. Library yang built-in Karena PHP dirancang untuk digunakan pada web, PHP memiliki banyak fungsi yang telah dibangun untuk mendukung berbagai tugas yang berguna pada web. Dengan PHP, kita dapat menampilkan gambar GID, terkoneksi dengan layanan jaringan yang lain, mengirim email, dan membuat file PDF. 4. Portabilitas PHP dapat digunakan pada banyak sistem informasi. Kode PHP dapat ditulis pada sistem operasi UNIX yang gratis seperti LINUX dan FreeBSD, sistem operasi UNIX yang komersial seperti Solaris dan IRIX atau berbagai versi di Microsoft Windows. 5. Ketersediaan Source Code Source code PHP dapat diakses tidak seperti produk komersial yang source code-nya ditutup, jika ada sesuatu yang hendak dimodifikasi atau ditambahkan pada PHP, dapat dilakukan secara langsung dan gratis.
http://www.mercubuana.ac.id
20
2.5 PENGENALAN ASYNCHRONOUS JAVASCRIPT AND XML (AJAX) AJAX diperkenalkan oleh Jesse James Garret dari Adaptive Path pada tahun 2005. Ia mendeskripsikan bagaimana mengembangkan web yang berbeda dengan metode tradisional. Ia mempublikasikan sebuah artikel yang berjudul “AJAX : A New Approach to Web Applications”. Pada artikelnya, Garret yakin bahwa aplikasi web dapat menutup jurang pemisah antara web dan aplikasi desktop. AJAX bukan sebagai teknologi baru dalam pemrograman web, tetapi merupakan gabungan teknologi pemrograman web yang sudah ada sebelumnya, yaitu XHTML dan CSS, DOM, XML, XMLHttpRequest dan Javascript. Pengembangan web secara tradisional bekerja secara synchronously, antara aplikasi dan server, setiap kali melakukan link atau melakukan operasi “submit” pada form. Caranya, browser mengirim data ke server, server merespons dan seluruh halaman akan di refresh. Aplikasi web yang bekerja dengan AJAX berkerja secara asynchronously, yang bearti mengirim dan menerima data dari user ke server tanpa perlu me-reload kembali seluruh halaman, melainkan hanya melakukan penggantian pada bagian web yang hendak diubah. Penggunaan AJAX mulai popular ketika digunakan oleh Google pada tahun 2005. AJAX bukanlah bahasa pemrograman baru, tetapi merupakan teknik baru penggunaan standar yang telah ada. Dengan AJAX kita dapat menjadi lebih baik, cepat dan menambah unsur user friendly dan interaktif pada aplikasi web kita. AJAX berbasiskan pada Javascript dan request HTTP. AJAX berbasiskan standar terbuka seperti : S S
JavaScript X M L
S
HTML/XHTML
S
CSS
AJAX akan berkomunikasi dengan server tanpa harus me-refresh semua halaman. Dalam model AJAX, aksi dari sisi klien dibagi menjadi dua bagian, yaitu layer userinterface dan layer AJAX. Contoh event dari ajax yaitu onreadystatechange event. Ketika permintaan server dikirim maka, akan
http://www.mercubuana.ac.id
21
dilakukan beberapa tindakan berdasarkan respon. Event onreadystate dipicu setiap kali perubahan readyState. Properti dari readyState menyimpan status XMLhttpRequest. Berikut ini tiga sifat penting dari objek XMLhttpRequest : Tabel 2.5 Tiga sifat penting XMLhttpRequest Object Properti
Deskripsi Menampung fungsi (atau nama dari
onreadystatechange
fungsi) untuk dipanggil secara otomatis setiap kali perubahan property readyState Menampung status dari XMLhttpRequest. Perubahan dari 0 sampai 4 : 0:permintaan tidak diinisialisai
readyState
1:koneksi server terhubung 2:permintaan diterima 3:memproses permintaan 4:permintaan selesai dan respon siap
200:”OK”
status
404:Page not found
2.6 WEB World Wide Web (WWW) atau biasa disebut dengan web, merupakan salah satu sumber daya internet yang berkembangan pesat. Informasi web didistribusikan melalui pendekatan hypertext, yang memungkinkan suatu teks pendek menjadi acuan untuk membuka dokumen yang lain. Dengan pendekatan hypertext ini, seseorang dapat memperoleh informasi dari suatu dokumen ke dokumen yang lain, sehingga tidak harus membaca isi dokumen secara berurutan. Web dapat dikategorikan menjadi dua, yaitu web statis dan web dinamis atau interaktif. Web statis adalah web yang berisi atau menampilkan informasi – informasi yang sifatnya statis (tetap), sedangkan web dinamis adalah web yang menampilkan informasi serta dapat berinteraksi dengan pengguna yang sifatnya dinamis.
http://www.mercubuana.ac.id
22
2.6.1 WEB BROWSER Web browser atau yang biasa disebut dengan browser, merupakan suatu program yang dirancang untuk mengambil informasi – informasi dari suatu server komputer pada jaringan internet. Macam – macam web browser diantaranya Internet Explorer, Mozilla Firefox, Google Chrome, Safari dan sebagainya.
2.6.2 WEB SERVER Webserver adalah sebuah bentuk server yang khusu digunakan untuk menyimpan halaman website atau home page. Komputer dapat dikatakan sebagaiwebserver jika komputer tersebut memiliki suatu program server yang disebut PersonalWebServer (PWS). PWS ini difungsikan agar halaman web yang ada di dalam sebuah komputer server dapat dipanggil oleh komputer klien. Macam – macam web server : 1.
Apache Web Server – The HTTP WebServer
2.
Apache Tomcat
3.
Microsoft Windows Server 2003 Internet Information Services (IIS)
4.
Lighttpd
5.
Sun Java System Web Server
6.
Xitami Web Server
7.
Zeus Web Server
2.7 BASIS DATA Menurut (Kadir, 2003:7) Data adalah nilai (value) yang turut merepresentasikan deskripsi dari suatu objek atau kejadian (event). Sedangkan Informasi merupakan hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu event (kejadian – kejadian) nyata yang digunakan untuk pengambilan keputusan. Database adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau
http://www.mercubuana.ac.id
23
struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. Database diperlukan karena beberapa hal di antaranya : 1.
Salah satu komponen paling penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi
2.
Menentukan kualitas informasi yang akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.
3.
Mengurangi duplikasi data(data redundancy).
4.
Hubungan data dapat ditingkatkan (data reliability).
5.
Mengurangi pemborosan tempat simpanan luar.
2.7.1 PROSES PERANCANGAN BASIS DATA Menurut (Kadir, 2003:39) Proses perancangan basis data, terlepas dari masalah yang ditangani dibagai menjadi tiga tahapan, yaitu : 1. Perancangan basis data secara konseptual. 2. Perancangan basis data secara logis. 3. Perancangan basis data secara fisis. Perancangan basis data secara konseptual merupakan upaya untuk membuatmodel yang masuh bersifat konsep. Perancangan basis data secara logis merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai, seperti model relasional hirarki atau jaringan. Namun sebagaimanan halnya perancangan basis data secara konseptual, perancangan ini tidak tergantung pada DBMS (Database Management System) yang akan dipakai. Itulah sebabnya perancangan basis data secara logis terkadang disebut pemetaan model data. Perancangan basis data secra fisis merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpanan eksternal.
http://www.mercubuana.ac.id
24
2.7.2 ENTITY RELATIONSHIP DIAGRAM (ERD) Menurut Fathansyah (2001:79) Diagram keterhubungan entitas atau Entity – Relationship Diagram selanjutnya disebut ERD adalah model konseptual yang mendeskripsikan hubungan antar penyimpanan (dalam DAD). ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Model ERD yang berisi komponen – komponen himpunan entitas dan himpunan relasi yang masing – masing dilengkapi dengan atribut – atribut yang merpresentasikan seluruh fakta dari dunia nyata yang ditinjau dan yang dapat digambarkan dengan lebih sistematis dengan menggunakan ERD. Tabel 2.6 Notasi Diagram E-R No.
Notasi
Deskripsi
1.
Menyatakan himpunan entitas
2.
Atribut A sebagai key
3.
Himpunan Relasi R
4.
Link
Berikut adalah contoh penggambaran relasi antar himpunan entitas lengkap dengan kardinat relasi dan atribut – atributnya diantaranya : 1. Relasi satu ke satu (one-to-one, 1-1) Adanya relasi antara himpunan entitas Dosen dengan himpunan entisa Jurusan. Himpunan relasisnya kita beri nama “Mengepalai”. Pada relasi ini, setiap dosen paling banyak mengepalai satu jurusan (walaupun memang tidak semua
http://www.mercubuana.ac.id
25
dosen yang menjadi ketua jurusan). Dan jurusan pasti dikepalai oleh paling banyak satu orang dosen. Maka penggambarannay adalah :
Gambar 2.3Contoh Relasi one to one
2. Relasi satu ke banyak (one-to-many, 1-N) Adanya relasi antara himpunan entitas Dosen dengan himpunan entitas kuliah. Himpunan relasinya kita beri nama “Mengajar”. Pada relasi ini, setiap dosen dapat mengajar lebih dari satu mata kuliah, sedang setiap mata kuliah diajar hanya oleh paling banyak satu dosen. Maka penggambarannya adalah :
Gambar 2.4Contoh Eelasi one to many
3. Relasi banyak ke banyak (many-to-many, N-N) Adanya relasi antar himpunan entitas mahasiswa dengan himpunan entitas kuliah. Himpunan relasinya kita beri nama “Mempelajari”. Pada relasi ini, setiap mahasiswa bisa mempelajari lebih dari satu mata kuliah. Demikian juga sebaliknya, setiap mata kuliah dapat dipelajari oleh lebih dari satu orang mahasiswa.
http://www.mercubuana.ac.id
26
Gambar 2.5Contoh Relasi many to many
2.7.3 MySQL MySQL merupakan sebuah Relational Database Management System (RDMS). Program ini bertindak sebagai server yang mengijinkan lebih dari satu pengguna untuk mengakses beberapa basis data. MySQL sangat popular untuk aplikasi web dan bertindak sebagai komponen basis data dari berbagai macam platform, seperti Linux, BSD, Mac, Windows – Apache – MySQL – PHP, Perl, Python. Kepopularitas dari MySQL dalam aplikasi web berelasi sangat dekat dengan bahasa pemrograman script pada sisi server, seperti PHP, Ruby on Rail. Hubungan antara PHP dan MySQL lebih populer dalam pembuatan suatu Content Management System (CMS), seperti Joomla, Drupal, Wordpress. Bahkan Wikipedia dibuat dari kombinasi antara PHP dan MySQL. Pustaka untuk mengakses MySQL tersedia hampir pada semua bahasa pemrograman dengan beberapa bahasa pemrograman secara spesifis, API. Sebagai tambahan terdapat komponen MySQL untuk ODBC yang disebut sebagai MyODBC. Komponen tersebut mengijinkan bahasa pemrograman yang mendukung interface ODBC untuk melakukan komunikasi dengan basis data MySQL. Pustaka untuk MySQL sendiri kebanyakan dibuat dalam ANSI C atau ANSI C++.
http://www.mercubuana.ac.id
27
2.8 METODE PENGUJIAN PERANGKAT LUNAK (BLACK BOX) Black Box adalah cara pengujian dilakukan dengan hanya menjalankan atau mengeksekusi unit atau modul kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Dengan kata lain, black box merupakan user testing, biasanya pengujian perangkat lunak dengan metode black box melibatkan client atau pelanggan yang memesan perangkat lunak tersebut, dari sini dapat diketahui keinginan client terhadap perangkat lunak tersebut, misal client ingin tampilannya diubah atau proses penjalanan perangkat lunak tersebut agar lebih dimengerti. Metode Black Box dilakukan tanpa melihat source code program dan dijalankan oleh tester maupun user untuk mengamati apakah program tersebut telah menerima input, memproses dan menghasilkan output dengan benar. (Jogiyanto, 2004). Pengujian pada Black Box berusaha menemukan kesalahan seperti: Fungsi-fungsi yang tidak benar atau hilang Kesalahan interface Kesalahan dalam struktur data atau akses database eksternal Kesalahan kinerja Inisialisasi dan kesalahan terminasi
http://www.mercubuana.ac.id
28
http://www.mercubuana.ac.id