5 BAB II LANDASAN TEORI Bab ini menjelaskan teori

advertisement
BAB II
LANDASAN TEORI
Bab ini menjelaskan teori-teori yang menunjang penulisan tugas akhir ini
mengenai pembuatan aplikasi pemesanan melalui smartphone dengan algoritma
FIFO(First In First Out) agar pelanggan Amanda Brownies dapat dengan mudah
memesanya dan lebih efisien.
2.1 Android Smartphone
Android adalah sistem operasi yang berbasis Linux untuk telepon seluler
seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka
bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk
digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli
Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel.
Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance,
konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi,
termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama
Open Handset Alliance menyatakan mendukung pengembangan standar terbuka
pada perangkat seluler. Di lain pihak, Google merilis kode-kode Android di
bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka
perangkat seluler.
2.2 Amanda Brownies
Amanda Brownies Kukus merupakan makanan khas Indonesia yang memiliki
kualitas tinggi. Amanda Brownies Kukus mempunyai sebuah perusahaan yang
bergerak di bidang bisnis kuliner atau makanan khas Bandung. Ny.
Sumiwiludjeng adalah wanita dibalik kesuksesan Amanda Brownies. AMANDA
“Anak Mantu Damai” itulah singkatan atau nama yang diciptakan wanita tua
tersebut dengan harapan seluruh keluarganya bisa selalu damai. Wanita tua ini
tidak pernah mengenal lelah ketika membuat brownies ini dan akhirnya
mendapatkan rasa yang berkualias dengan keringatnya. Dimulai dari tahun 2000
5
http://digilib.mercubuana.ac.id/
Amanda Brownies mulai mengepakan sayapnya di bidang bisnis kuliner
khususnya di kota Bandung, Amanda mulai mematenkan komposisi, rasa dan
nama brand. Satu tahun berlalu sang pemilik membuka Outlet Pertama yaitu di
depan ruko metro jalan Soekarno Hatta. Dari tahun ke tahun perjalanan karir
Amanda sangat pesat, sesampainya ditahun 2005 Amanda berhasil membuka
beberapa outlet cabang di beberapa daerah di Kota Bandung dan mendirikan
kantor pusat serta pabrik di daerah Rancabolang Bandung. Pada tahun 2006 –
2008 Amanda telah mengantongi hak cipta merk, toko & restaurant.
Setelah lama kemudian dan sekarang Amanda telah menjajal kota-kota besar di
Nusantara, dengan inovasi kreatif dan inovatif Amanda memiliki 32 Produk yang
bervarian mulai dari Brownies hingga Pastry yang akan terus kami kembangkan
untuk memenuhi kebutuhan para pelanggan istimewa kami. Dengan produk
berkualitas tinggi memberikan pengalaman terbaik yang tek terlupakan, Amanda
akan terus mengibarkan sayapnya dan menjadi Makanan Khas Nusantara dari
Indonesia untuk Dunia.
2.3 Rekayasa Perangkat Lunak
Rekayasa perangkat lunak atau yang disebut dengan istilah Software
Engineering (SE) yaitu bidang profesi yang mendalami cara-cara pengembangan
sebuah perangkat lunak termasuk pembuatan ,pemeliharaan, manajemen
organisasi pengembangan perangkat lunak dan sebagainya.
Perangkat lunak (software) adalah program komputer yang terasosiasi dengan
dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan
cara penggunaan (user manual). Sebuah perangkat lunak juga disebut dengan
sistem perangkat lunak. Sistem berate kumpulan komponen yang saling terkait
dan mempunyai satu tujuan yang ingin dicapai. User atau pengguna perangkat
lunak adalah orang yang memiliki kepentingan untuk memakai atau menggunakan
perangkat lunak untuk memudahkan pekerjaannya.
6
http://digilib.mercubuana.ac.id/
Karakter perangkat lunak adalah sebagai berikut :
1. Perangkat lunak dibangun dengan rekayasa (software engineering) bukan
diproduksi secara manufaktur atau pabrikan.
2. Perangkat lunak tidak pernah using (wear out) karena kecacatan dalam
perangkat lunak dapat diperbaiki.
3. Barang produksi pabrikan biasanya komponen barunya akan terus diproduksi,
sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya
kebutuhan.
2.4 HTML5
HTML5 adalah sebuah bahasa markah untuk menstrukturkan dan
menampilkan isi dari Waring Wera Wanua, sebuah teknologi inti dari Internet.
HTML5 adalah revisi kelima dari HTML (yang pertama kali diciptakan pada
tahun 1990 dan versi keempatnya, HTML4, pada tahun 1997) dan hingga bulan
Juni 2011 masih dalam pengembangan. Tujuan utama pengembangan HTML5
adalah untuk memperbaiki teknologi HTML agar mendukung teknologi
multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh
mesin.HTML5 merupakan salah satu karya Konsortium Waring Wera Wanua
(World Wide Web Consortium, W3C) untuk mendefinisikan sebuah bahasa
markah tunggal yang dapat ditulis dengan cara HTML ataupun XHTML. HTML5
merupakan jawaban atas pengembangan HTML 4.01 dan XHTML 1.1 yang
selama ini beijalan terpisah, dan diimplementasikan secara berbeda-beda oleh
banyak perangkat lunak dan para pembuat web.
2.5 XAMPP
XAMPP adalah tool yang menyediakan paket perangkat lunak kedalam satu
buah paket. Dengan menginstal XAMPP tidak perlu lagi menginstal dan
mengkonfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP
akan menginstal dan mengkonfigurasi secara otomatis. Fungsi XAMPP yaitu
sebagai server berdiri sendiri (localhost), terdiri dari program Apache, http server,
MySQL, database, dan penterjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl.
7
http://digilib.mercubuana.ac.id/
XAMPP merupakan singkatan dari X (X=Cross Platform), Apache, MySQL,
PHP dan Perl. Program ini tersedia dalam lisensi GNU (General Public License)
dan gratis.
2.5.1 Apache
Web server merupakan software yang memberikan layanan web. Web
server menggunakan protocol yang disebut dengan HTTP (HyperText Transfer
Protocol). Di dunia open source memiliki banyak sekali pilihan, tergantung
dengan keperluan anda. Salah satu web server yang terkenal dan menjadi standar
de facto setiap distribusi linux yaitu Apache. Apache adalah nama web server
yang dibuat berbasiskan kode sumber dan ide-ide yang ada pada web server
keluhurnya, yaitu web server NCSA.
Web server merupakan sebuah bentuk server yang khusus digunakan untuk
menyimpan halaman website atau home page. Apache merupakan turunan dari
web server yang dikeluarkan oleh NCSA yaitu NSCA HTTPd sekitar tahun 1995an. Pada dasarnya, Apache adalah “APatCHy” (patch) dan pengganti dari NCSA
HTTPd. Adapun pertimbangan dalam memilih apache sebagai berikut :
1. Apache termasuk dalam kategori free software (software gratis).
2. Instalasinya sangat mudah.
3. Mampu beroperasi pada banyak platform sistem operasi seperti Linux,
Windows dan lain-lain.
Apache merupakan web server yang bersifat open source dan memiliki
performance yang sangat bagus, flexsibel dan mendukung berbagai macam
platformsistem operasi.
Menurut (Firdaus, 2007)
2.5.2 MySQL
MySQL atau yang biasa dibaca “mai-se-kuel” adalah sebuah program
pembuat database yang bersifat open source, yang artinya siapa saja boleh
menggunakannya. MySQL merupakan salah satu software database (basis data)
opensource yang dikembangkan sebuah komunitas bernama MySQL AB dengan
8
http://digilib.mercubuana.ac.id/
tujuan membantu user utuk menyimpan data dalam table-tabel. Table terdiri atas
field (kolom) yang mengkelompokan data-data berdasarkan kategori tertentu,
seperti nama, alamat, nomor telepon, dan sebagainya.
MySQL pertama kali dirintis oleh seorang programmer database bernama
Michael Widenuius. Mysql juga merupakan program yang dapat mengakses suatu
database MySQL yang berposisi sebagai client. MySQL termasuk jenis RDBMS
(Relational Database Management System), itulah sebabnya isi seperti table, baris
dan kolom, digunakan dalam MySQL. Disini kita menggunakan MySQL sebagai
SQL server karena berbagai kelebihannya yaitu :
1. Source MySQL dapat diperoleh dengan mudah dan gratis.
2. Sintaknya lebih mudah dipahami dan tidak rumit.
3. Pengaksesan database dapat dilakukan dengan mudah.
Keunggulan MySQL :
1. Mysql merupakan program yang multi-threaded, sehingga dapat dipasang pada
server yang memiliki multi-CPU.
2. Didukung program-program umum seperti C, C++, Java, Perl, PHP, Python,
TCL, APIs dls.
3. Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem
operasi).
4. Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi
sistem database.
5. Memiliki sistem security yang cukup baik dengan verifikasi host.
6. Mendukung ODBC untuk sistem operasi Microsoft Windows.
7. Mendukung record yang memiliki kolom dengan panjang tetap atau panjang
bervariasi, dan masih banyak keunggulan lainnya.
8. MySQL merupakan software yang free, dan bisa di download di
www.mysql.com sedangkan software database lainnya seperti ORACLE
merupakan software yang harus dibeli.
9
http://digilib.mercubuana.ac.id/
9. MySQL dan PHP saling terintegrasi. Maksudnya yaitu pembuatan database
dengan menggunakan sintak PHP dapat dibuat. Sedangkan input yang
dimasukkan melalui aplikasi web yang menggunakan script server-side.
Kekurangan MySQL :
1.
Data yang ditangani belum besar
2.
Untuk koneksi ke dalam bahasa pemrograman visual seperti VB, Delphi,
dan Foxpro. MySQL kurang support. Karena koneksi ini menyebabkan field yang
dibaca harus sesuai dengan koneksi dari program visual tersebut, hal ini yang
mengakibatkan MySQL jarang dipakai kedalam program visual.
Bahasa yang digunakan di database (SQL) dibedakan menjadi 3 (tiga)
macam yaitu DDL (Data Definition Language), DML (Data Manipulation
Language), DCL (Data Control Language). DDL (Data Definition Language)
merupakan sebuah metode query yang berguna untuk mendefinisikan data pada
sebuah database. DDL antara lain yaitu :

CREATE : untuk membuat table

DROP
: untuk menghapus table

ALTER
: untuk melakukan perubahan struktur table yang sudah ada seperti
menambah dan menghapus field, rename nama table, mengganti tipe data.
DML (Data Manipulation Language) merupaan sebuah metode query yang
hanya bisa terjadi setelah DDL yang digunakan untuk manipulasi data-data. DML
antara lain yaitu :

INSERT : untuk memasukkan data ke dalam table

UPDATE : untuk memperbarui data dalam table

DELETE : untuk menghapus baris dalam table
DCL (Data Control Language) merupakan sebuah metode query untuk
memberikan
otoritas
hak
mengakses
database,
mengalokasikan
space,
pendefinisian space, dan penggunaan database. DCL antara lain yaitu :

GRANT
: untuk mengizinkan user utuk mengakses database

REVOKE GRANT
: untuk membatalkan hak ases user

COMMIT
: untuk menetapkan penyimpanan database

ROLLBACK
: untuk membatalkan penyimpanan database
Menurut (Firdaus, 2007)
10
http://digilib.mercubuana.ac.id/
2.6 PHP
PHP merupakan akronim dari PHP : Hypertext Prepocessor adalah bahasa
pemrograman script berbasis web yang paling banyak dipakai pada saat ini. PHP
banyak dipakai untuk memrogram situr web yang dinamis, walaupun tidak
tertutup kemungkinan digunakan untuk pemakai lain.
Untuk menjalankan sistem PHP dibutuhkan 3 (tiga) komponen yaitu :
1. Web server, karena PHP termasuk behasa pemrograman server side.
2. Program PHP, program yang memproses script PHP.
3. Database server, yang berfungsi untuk mengelola database.
PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET
Microsoft, ColdFusion Macromedia, JSP/Java Sum Microsystems, dan CGI/Perl.
Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibagun
menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain.
Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain yaitu :
1.
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak
melakukan sebuah kompilasi dalam penggunaannya.
2.
Web Server yang mendukung PHP dapat ditemukan dimana-mana dari
mulai IIS sampai dengan Apache, dengan konfigurasi yang relative mudah.
3.
Dalam isi pengembangan lebih mudah, karena banyaknya milis-milis dan
developer yang siap membantu dalam pengembangan.
4.
Dalam isi pemahaman, PHP adalah bahasa scripting yang paling mudah
karena mempunyai refrensi yang banyak.
5.
PHP adalah bahasa open soure yang dapat digunakan diberbagai mesin
(Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui
console serta juga dapat menjalan perintah-perintah sistem.
Selain kelebihan PHP, PHP juga mempunyai kekurangan. Namun masalah
kekurangannya sangat sedikit diantaranya yaitu :
1.
PHP tidak mengenal Package.
11
http://digilib.mercubuana.ac.id/
2.
Jika tidak di encoding, maka kode PHP dapat dibaca semua orang dan
unuk mengecodingnya dibutuhkan tool dari Zend yang mahal sekali biayanya.
3.
PHP memiliki kelemahan keamanan. Jadi programmer harus jeli dan
berhati-hati dalam melakukan pemrograman dan konfigurasi PHP.
Type Data PHP
1. Integer
2. Doble
3. Boolean
4. String
5. Object
6. Array
7. Null
8. Nill
9. Resource
Tabel 2.1 Tipe Data PHP
Menurut (Sutarman, 2003)
2.7 WWW
WWW (World Wide Web) atau biasa disebut dengan web merupakan salah
satu sumber daya internet yang berkembang pesat. Saat ini, informasi web
didistribusikan melalui pendekatan hyperlink, yang memungkinkan suatu teks,
gambar, ataupun objek yang lain menjadi acuan untuk membuka halamanhalaman
web yang lain. Dengan pendekatan hyperlink ini, seseorang dapat memperoleh
informasi dengan meloncat dari suatu halaman ke halaman lain. Halamanhalaman yang diaksespun dapat tersebar di berbagai mesin dan bahkan di berbagai
negara.
Menurut (Kadir, 2008)
12
http://digilib.mercubuana.ac.id/
2.8 JavaScript
JavaScript adalah bahasa pemograman web yang bersifat Client Side
Programming Language. Client Side Programming Language adalah tipe bahasa
pemograman yang pemrosesannya dilakukan oleh client. Aplikasi client yang
dimaksud merujuk kepada web browser seperti Google Chrome dan Mozilla
Firefox.
Jenis bahasa pemograman Client Side berbeda dengan bahasa pemograman
Server Side seperti PHP, dimana untuk server side seluruh kode program
dijalankan di sisi server.
Untuk menjalankan JavaScript, kita hanya membutuhkan aplikasi text editor,
dan web browser. JavaScript memiliki fitur: high-level programming language,
client-side, loosely tiped, dan berorientasi objek.
2.8.1 AJAX
AJAX, singkatan dari “Asynchronous JavaScript and XML“, merupakan
metode suatu laman web menggunakan JavaScript untuk mengirim dan menerima
data dari server tanpa harus menyegarkan (refresh) laman itu. XML adalah
sejenis markup language – seperti HTML, yang kerap dipakai untuk mengirimkan
data melalui internet. Belakangan ini, JSON (“JavaScript Object Notation”) lebih
populer dan bisa dibaca – secara bawaan (native) – oleh JavaScript.
AJAX: Asynchronous JavaScript and XML. Sebuah sistem untuk mengirim
dan menerima data dari server tanpa penyegaran laman (page refresh). Sebuah
contoh perintah AJAX bisa berjalan seperti berikut:
 Client memanggil laman dari server
 Server merespon panggilan dan mengirimkan laman
 Client membuat perintah AJAX ke server dan memanggil lebih banyak data
 Server mengirimkan data tersebut
 Client memutakhirkan laman dengan data tersebut tanpa me-refresh laman.
Facebook, Gmail, dan Pinterest adalah contoh situs-situs yang banyak
menggunakan AJAX.Bagian “Asynchronous” merujuk pada fakta bahwa ketika
JavaScript menyampaikan panggilan AJAX ke webserver.
Menurut (Sunyoto, 2007)
13
http://digilib.mercubuana.ac.id/
2.8.2 Javascript Object Notation (JSON)
JSON adalah format pertukaran data (lightweight data-interchange format),
mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat
(generate) oleh komputer.Format ini dibuat berdasarkan bagian dari Bahasa
Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 – Desember 1999.
JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman
apapun karena menggunakan gaya bahasa yang umum digunakan oleh
programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll.
Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa
pertukaran-data.
Menurut (Safaat, 2012)
2.9 Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environtmen) untuk
mengembangkan
perangkat
lunak
dan
dapat
dijalankan
di
semua
platform(platform-inependent). Sifat – sifat dari eclipse ini adalah :
 Multi-platform : Target system operasi Eclipse adalah Microsoft Windows,
Linux, Solaris, AIX, HP-UX, dan Mac OS X.
 Multi-language : Eclipse dikembangkan dengan Bahasa java, tetapi eclipse
mendukung pengembangan aplikasi berbasis Bahasa pemrograman lainnya,
seperti C/C++, Cobol, Python, Perl, PHP dan sebagainya.
 Multi-role : Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun
bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak,
seperti dokumentasi, test perangkat lunak, pengembangan web dan sebagainya.
2.10 Basis Data
Database atau basis data adalah kumpulan data yang disimpan secara
sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan
perangkat lunak (program aplikasi) untuk menghasilkan informasi. Pendefinisian
basis data meliputi spesifikasi berupa tipe data, struktur, dan juga batasan-batasan
data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam
14
http://digilib.mercubuana.ac.id/
sistem informasi dimana basis data merupakan gudang penyimpanan data yang
akan diolah lebih lanjut. Basis data menjadi penting karena dapat menghidari
duplikasi data, hubungan antar data yang tidak jelas, organisasi data, dan juga
update yang rumit.
Proses memasukkan dan mengambil data ke dan dari media penyimpanan
data memerlukan perangkat lunak yang disebut dengan sistem manajemen basis
data (database management system | DBMS). DBMS merupakan sistem perangkat
lunak yang memungkinkan user untuk memelihara, mengontrol, dan mengakses
data secara praktis dan efisien. Dengan kata lain semua akses ke basis data akan
ditangani oleh DBMS. Ada beberapa fungsi yang harus ditangani DBMS yaitu
mengolah pendefinisian data, dapat menangani permintaan pemakai untuk
mengakses data, memeriksa sekuriti dan integriti data yang didefinisikan oleh
DBA (Database Administrator), menangani kegagalan dalam pengaksesan data
yang disebabkan oleh kerusakan sistem maupun disk, dan menangani unjuk kerja
semua fungsi secara efisien.
Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data
kepada user (pengguna). Jadi sistem menyembunyikan informasi tentang
bagaimana data disimpan, dipelihara, dan tetap dapat diambil (akses) secara
efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data
yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa
mengetahui kompleksitas strukturnya.
Pembagian database menurut jenisnya:
1. Basis data flat-file. Basis data flat-file ideal untuk data berukuran kecil dan
dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan
string dalam satu atau lebih file yang dapat diurai untuk mendapatkan
informasi yang disimpan. Basis data flat-file baik digunakan untuk menyimpan
daftar atau data yang sederhana dan dalam jumlah kecil. Basis data flat-file
15
http://digilib.mercubuana.ac.id/
akan menjadi sangat rumit apabila digunakan untuk menyimpan data dengan
struktur kompleks walaupun dimungkinkan pula untuk menyimpan data
semacam itu. Salah satu masalah menggunakan basis data jenis ini adalah
rentan pada korupsi data karena tidak adanya penguncian yang melekat ketika
data digunakan atau dimodifikasi.
2. Basis data relasional. Basis data ini mempunyai struktur yang lebih logis terkait
cara penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel-tabel
yang berada di basis data dapat dihubungkan satu dengan lainnya. Basis data
relasional menggunakan sekumpulan tabel dua dimensi yang masing-masing
tabel tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat hubungan
antara dua atau lebih tabel, digunakan key (atribut kunci) yaitu primary key di
salah satu tabel dan foreign key di tabel yang lain. Saat ini, basis data relasional
menjadi pilihan karena keunggulannya. Beberapa kelemahan yang mungkin
dirasakan untuk basis data jenis ini adalah implementasi yang lebih sulit untuk
data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi dan
proses pencarian informasi yang lebih lambat karena perlu menghubungkan
tabel-tabel terlebih dahulu apabila datanya tersebar di beberapa tabel.
Menurut (Fathansyah, 2012)
2.11 ERD
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam
basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar
relasi. ERD untuk memodelkan struktur data dan hubungan antar data, untuk
menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada
tiga simbol yang digunakan, yaitu :
16
http://digilib.mercubuana.ac.id/
A Entiti : Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat
dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan
dengan persegi panjang.
B Atribut : Setiap entitas pasti mempunyai elemen yang disebut atribut yang
berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari
atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu
dengan yang lain. Gambar atribut diwakili oleh simbol elips.
C Hubungan/ Relasi : Hubungan antara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut :
Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu
basis data yaitu :
1. Satu ke satu (One to one) : Hubungan relasi satu ke satu yaitu setiap entitas
pada himpunan entitas A Berhubungan paling banyak dengan satu entitas pada
himpunan entitas B.
2. Satu ke banyak (One to many) : Setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap
entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan
entitas A.
3. Banyak ke banyak (Many to many) : Setiap entitas pada himpunan entitas A
dapat berhubungan dengan banyak entitas pada himpunan entitas B.
Menurut (Fathansyah, 1999: 30)
2.12 Algoritma (First In First Out) FIFO
First In First Out merupakan penjadwalan tidak berprioritas. FIFO juga
merupakan penjadwalan paling sederhana pada sebuah system operasi. Ciri – ciri
FIFO :
 Proses – proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
 Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai
selesai baru dilakukan proses yang kedua dan seterusnya.
17
http://digilib.mercubuana.ac.id/
Menurut (Fathansyah, 1999)
2.13 Metode Waterfall
Metode waterfall biasa disebut juga dengan siklus hidup perangkat lunak
merupakan salah satu model pengembangan perangkat lunak dari sekian banyak
model pengembangan perangkat lunak. Waterfall adalah model yang umumnya
paling banyak digunakan. Pada model ini, desain perangkat lunak atau sistem
dibagi menjadi sejumlah langkah linier, sistematis, dan sekuensial yaitu evolusi
perangkat lunak atau sistem terlihat seperti air yang mengalir semakin turun
melalui serangkaian tahapan.
Gambar 2.1 Metodologi waterfall
18
http://digilib.mercubuana.ac.id/
Model pengembangan ini tidak mengizinkan tahapan tertentu langsung
menggantikan tahapan berikutnya sampai operasi tahapan yang terdahulu telah
terpenuhi. Pada umumnya tahapan-tahapan yang ada di dalam model ini adalah :
1. Analisis dan Definisi Persyaratan
Pada tahapan ini biasanya dilakukan pengumpulan data-data atau
informasi-informasi yang berkaitan dengan perangkat lunak atau sistem
yang akan dikembangkan
2. Perancangan Sistem dan Perangkat Lunak
Pada tahapan ini, arsitektur perangkat lunak mulai dibuat berdasarkan
data-data yang diperoleh sebelumnya pada tahapan analisa. Penulisan kode
juga dilakukan pada tahapan ini, selanjutnya komponen antarmuka untuk
perangkat lunak juga dirancang dengan mengacu pada kebutuhankebutuhan yang sebelumnya telah dilakukan pada tahapan analisa.
3. Implementasi dan Pengujian Unit
Pada tahapan ini, dilakukan pengujian terhadap tiap unit-unit program
yang telah dibuat. Tujuan dilakukannya tahapan ini adalah untuk memverifikasi bahwa setiap unit program telah berjalan sesuai dengan fungsi
yang telah ditetapkan sebelumnya.
4. Integrasi dan Pengujian Sistem
Pada tahapan ini, seluruh unit program mulai diintegrasikan satu sama lain
kemudian diuji. Tujuan dari tahapan ini adalah untuk menjamin bahwa
segala persyaratan yang sebelumnya dicatat pada tahapan analisa telah
terpenuhi dan tidak ada yang meleset dari perkiraan atau prediksi.
5. Operasi dan Pemeliharan
Pada tahapan ini biasanya dilakukan perbaikan, penambahan atau
pengembangan perangkat lunak berdasarkan permintaan dari user atau
pemilik.
Manfaat yang bisa didapatkan dengan menggunakan model waterfall adalah
penjadwalan proyek atau pengembangan perangkat lunak terjadwal dengan baik
karena jadwal tersusun secara sistematis.
Menurut (Pressman, 2005)
19
http://digilib.mercubuana.ac.id/
2.14 Unified Modelling Language (UML)
Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah
menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem perangkat lunak. Dengan menggunakan UML kita
dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi
tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun,
serta ditulis dalam bahasa pemograman apapun.
Menurut (Alan, System Analysis Design UML Version 2.0 Virginia, 2010)
2.14.1 Diagram Use Case
Use case atau diagram atau diagram use case merupakan pemodelan untuk sistem
informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara
satu atau lebih aktor dengan sistem informasi yang akan dibuat. Syarat penamaan
use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada
dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use
case . Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan
sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu
sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum
tentu merupakan orang.
Use case merupakan fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar pesan antar unit atau aktor. Berikut adalah simbolsimbol yang ada pada diagram use case:
20
http://digilib.mercubuana.ac.id/
Tabel 2.2 Simbol diagram use case
No
Simbol
Nama
Keterangan
Aktor adalah orang atau sistem yang
1
Actor
berasal dari manfaat dan eksternal untuk
subjek.
Digambarkan sebagai salah satu tongkat
(default) atau jika aktor non-manusia yang
terlibat, sebagai persegi panjang dengan
aktor <<>> di dalamnya (alternatif).
Merupakan bagian utama dari fungsi
2
Use Case
sistem.
Dapat
memperpanjang
kasus
penggunaan lain.
Dapat mencakup use case lain. Apakah
ditempatkan di dalam batas sistem. Apakah
label dengan frase kata kerja-kata benda
deskriptif.
Merupakan kasus penggunaan khusus ke
3
Generalizatio yang lebih umum.
Memiliki panah yang diambil dari kasus
n
penggunaan
khusus
untuk
kasus
penggunaan dasar.
Merupakan dimasukkannya fungsi satu
4
Include
kasus penggunaan dalam yang lain.
Memiliki panah yang diambil dari kasus
penggunaan dasar untuk kasus penggunaan
digunakan
21
http://digilib.mercubuana.ac.id/
Tabel Lanjutan 2.2
Merupakan
5
Extend
perpanjangan
dari
kasus
penggunaan untuk memasukkan perilaku
opsional.
Memiliki panah yang diambil dari kasus
penggunaan
ekstensi
untuk
kasus
penggunaan dasar.
6
7
Association
Link aktor dengan use case dengan yang
Relationship
berinteraksi.
Subject
Termasuk nama subjek di dalam atau di
Boundary
atas.
Merupakan lingkup subjek, misalnya,
sistem atau individu proses bisnis.
2.14.2 Diagram Activity
Digunakan untuk model perilaku dalam independent proses bisnis benda .
Dalam banyak hal, diagram aktivitas dapat dipandang sebagai diagram aliran data
yang canggih yang digunakan dalam hubungannya dengan analysis terstruktur.
Namun, tidak seperti aliran data diagram, diagram aktivitas termasuk notasi yang
membahas pemodelan paralel , kegiatan bersamaan dan proses.
22
http://digilib.mercubuana.ac.id/
Tabel 2.3 Simbol diagram activity
No
Simbol
Nama
Keterangan
Merupakan
1
Activity
sebuah
gambaran aktivitas yang
terjadi.
Merupakan tanda awal dari
2
3
Initial Node
Final-Activity
Node
4
Control Flow
sebuah aktivitas.
Merupakan
tanda
berakhirnya
sebuah
aktivitas.
Menunjukkan
urutan
eksekusi.
Memisahkan
6
Swinlane
organisasi
yang bertanggung jawab
terhadap
aktifitas
yang
terjadi.
Membawa kembali jalur
7
Merge Node
keputusan bersama yang
berbeda
yang
dengan
dibuat
menggunakan
keputusan simpul.
Pilihan untuk mrngambil
8
Decision Node
keputusan.
Aliran akhir.
9
Flow Final
23
http://digilib.mercubuana.ac.id/
2.14.3 Diagram Sequence
Diagram sequence menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima
antar objek. Oleh karena itu untuk menggambar diagram sequence maka harus
diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode
yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyaknya diagram
sequence yang harus digambar adalah minimal sebanyak pendefinisian use case
yang memiliki proses sendiri atau yang penting semua use case yang didefinisikan
maka diagram sequence yang harus dibuat juga semakin banyak. Berikut simbol
yang ada pada diagramsequence :
Tabel 2.4 Simbol diagram sequence
No Simbol
Nama
Keterangan
Orang atau sistem yang berasal dari
1
Actor
manfaat dan eksternal ke sistem yang
berpartisipasi secara berurutan dengan
mengirim atau menerima pesan.
Berpartisipasi secara berurutan dengan
2
Object
mengirim atau menerima pesan yang
ditempatkan diatas diagram.
3
Execcution
Menyatakan objek dalam keadaan aktif
Occurrenc
dan berinteraksi pesan.
e
4
Message
Pesan yang mengambarkan komunikasi
yang terjadi antar objek
24
http://digilib.mercubuana.ac.id/
Tabel Lanjutan 2.4
5
Self
Pesan yang dikirim untuk diri sendiri
Message
secara langsung.
Menyatakan kehidupan suatu objek
6
Lifeline
7
Return
Pesan yang dikirim untuk diri sendiri
Message
Menurut (Alan, System Analysis Desaig UML Version 2.0 Virgina, 2010)
25
http://digilib.mercubuana.ac.id/
Download