BAB II LANDASAN TEORI 2.1
Perangkat Lunak Software adalah istilah umum yang terdiri dari suatu program aplikasi yang dikembangkan untuk mengoperasikan komputer atau perangkat lainnya. Istilah software ini sering mengingatkan seseorang terhadap berbagai aplikasi komputer seperti : antivirus, windows, word, exel, dan software terkenal lainnya. Menurut Pressman (2010, p4), umumnya buku teks menjelaskan definisi perangkat lunak sebagai berikut : 1) Perintah (program computer) yang jika dijalankan akan menampilkan hasil yang sesuai dengan apa yang kita inginkan. 2) Struktur data yang memungkinkan sebuah program untuk mengubah suatu informasi. 3) Informasi deskriptif dalam bentuk hardcopy atau softcopy yang menjelaskan cara kerja dan manfaat sebuah program.
2.2
Jenis – Jenis Software Secara garis besar software dapat dibagi menjadi 2 jenis utama yaitu : 1) Software System, adalah software yang didesain untuk membantu perangkat keras seperti komputer atau sejenisnya yang biasanya didesain oleh perusahaan manufaktur perangkat tersebut. Software jenis ini biasanya dibuat dengan bahasa pemrograman komputer dasar atau low-level programming. Contoh sistem operasi linux dan windows.
7 http://digilib.mercubuana.ac.id/
8
2) Software Aplikasi, adalah software yang dibuat dan dikembangkan untuk kebutuhan lingkungan kerja atau pengguna tertentu dengan tujuan yang spesifik untuk pengguna. Contoh : word, exel, power point, dan aplikasi lainnya seperti web browser.
2.2.1
Jenis Software Berdasarkan Sisi Komersial Software dari sisi komersial dapat dibagi menjadi 4 yaitu : 1) Software Berbayar, merupakan software yang dapat digunakan dengan membayar atau membeli lisensi dari pengembang software tersebut. Contoh : Microsoft Windows, Exel, Word dan Photoshop. 2) Opensource Software, merupakan software yang dibuat untuk bebas diotak-atik dan ditambahkan fiturnya yang bertujuan untuk merevisi dan belajar bagaimana software tersebut dibuat. Contoh : sistem operasi linux, woordpress dan joomla. 3) Freeware, merupakan perangkat lunak yang mempunyai hak cipta dan dapat digunakan selamanya tanpa ada batasan waktu. Contoh adalah notepad yang ada di windows. 4) Shareware, merupakan perangkat lunak yang disebarluaskan untuk fungsi dab kegunaan tertentu seperti untuk trial dan uji coba yang bertujuan untuk melakukan testing dan pengujian pada software tersebut dan memiliki banyak keterbatasan. Contoh adalah trial antivirus dan trial IDM.
http://digilib.mercubuana.ac.id/
9
2.3
Karakteristik Perangkat Lunak Secara garis besar karakteristik perangkat lunak berbeda dengan perangkat keras. Menurut Pressman (2010, p4), karakteristik dari pernagkat lunak adalah :
Perangkat lunak direkayasa bukan dibuat dalam bentuk fisik.
Perangkat lunak tidak usang namun memburuk.
Meski industri telah menuju perakitan berbasis komponen, tetapi sebagian besar perangkat lunak masih direkayasa secara unik.
2.4
Rekayasa Perangkat Lunak Dalam buku yang ditulis Pressman (2010,p13), Fritz Bauer menjelaskan bahwa definisi dari rekayasa perangkat lunak adalah pembuatan perangkat lunak dengan menggunakan prinsip rekayasa yang kuat untuk menghasilkan perangkat lunak yang ekonomis, handal dan bekerja secara efisien. Pressman (2010,p13), mendefinisikan rekayasa perangkat lunak merupak teknologi yang bertingkat atau berlapis, lapisan-lapisan teknologi tersebut adalah sebagai berikut:
Gambar 2. 1 Lapisan teknologi perangkat lunak Pressman (2010,p14) Menurut Pressman (2010,p14), Rekayasa Perangkat Lunak adalah pembuatan dan penggunaan prinsip-prinsip keahlian tekhnik untuk mendapatkan perangkat lunak yang ekonomis yang handal dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa perangkat lunak mendirikan suatu pondasi untuk proses perangkat lunak yang lengkap
http://digilib.mercubuana.ac.id/
10
dengan mengidentifikasi sejumlah aktifitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, terlepas dari hal ukuran dan kompleksitas.
Fokus pada kualitas ( a quality 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 inilah yang pada akhirnya mengarah pada pengembangan pendekatan yang semakin dewasa untuk rekayasa perangkat lunak. Pondasi 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 kerjan untuk suatu set key process areas yang harus ditentukan untuk penyampaian ( delivery ) yang efektif dari teknologi rekayasa perangkat lunak. Key process area membentuk dasar control manajemen proyek perangkat lunak dan menetapkan konteks metodemetode teknis mana yang diterapkan, produk kerja ( model, dokumen, data, laporan dan form ) yang diproduksi, milestone yang ditetapkan, kualitas yang terjamin dan perubahan yang dikelola dengan baik.
Metode ( method ) Metode rekayasa perangkat lunak menyediakan teknis “bagaimana” untuk membangun perangkat lunak. Metode mencakup tugas yang mencakup analisis kebutuhan ( requirment analysis ), perancangan ( design ), program konstruksi ( program construction ), pengujian ( testing ), dan pemeliharaan ( maintenance ).
Alat Bantu ( tools )
http://digilib.mercubuana.ac.id/
11
Alat bantu otomatis atau semi automatis menyediakan dukungan untuk proses dan metode. Ketika alat-alat diintegrasikan sehingga informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat lainnya, sebuah system untuk mendukung perangkat lunak, yang disebut computer – aided software engineering ( CASE ), didirikan CASE menggabungkan software, hardware dan database ( sebuah repository berisi informasi penting tentang analisis, rancangan, program konstruksi dan pengujian ) untuk menciptakan lingkungan rekayasa perangkat lunak yang analog dengan computer – aided engineering ( CAE ) untuk hardware.
2.4.1
Waterfall Pressman Dalam pembuatan suatu aplikasi terdapat beberapa model proses,
salah satu dari model proses yang digunakan adalah waterfall model. Menurut Pressman (2010,p39), model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun perangkat lunak. Menurut Sommerville (2011 : 29-30), waterfall model adalah sebuah contoh dari proses perencanaan, dimana semua proses kegiatan harus terlebih dahulu direncanakan dan dijadwalkan sebelum dikerjakan. Dalam tahapan proses pada waterfall model menurut Pressman terdapat 5 tahapan, yaitu : 1. Communication ( Project Initiation, Requirement Gathering ) Pada tahap awal ini sebelum memulai pekerjaan teknis, diperlukan komunikasi terlebih dahulu untuk memahami dan mencapai tujuan yang hendak dicapai. Pada tahapan ini mencakup tahapan Project Initiation seperti analisa permasalahan yang ada serta tujuan yang diinginkan dan requirement gathering yaitu mengumpulkan datadata yang akan dibutuhkan. 2. Planning ( Estimating, Scheduling, Tracking )
http://digilib.mercubuana.ac.id/
12
Pada tahapan ini adalah tahap perencanaan untuk melakukan estimasi mengenai kebutuhan yang diperlukan dalam pe,buatan system, penjadwalan dan tracking proses pengerjaan system. 3. Modeling ( Analysis, Design ) Tahapan ini merupakan tahap perancangan dan pemodelan arsitektur system dengan tujuan menerjemahkan kebutuhan elemen system ke dalam sebuah model-model diagram. 4. Constraction ( Code, Test ) Pada tahapan ini merupakan tahap pengkodean sesuai dengan rancangan aplikasi yang telah dibuat. Setelah pengkodean selesai maka selanjutnya dilakukan testing terhadap system yang telah dibuat untuk menemukan kesalahan-kesalahan pada system tersebut kemudian dapat diperbaiki. 5. Deployment ( Delivery, Support, Feedback ) Pada
tahap
deployment
system
yang
telah
dibuat
diimplementasikan oleh user. Selain diimplementasi, tahap ini juga mencakup
tahap
pemeliharaan,
perbaikan,
evaluasi
dan
pengembangan agar system dapat berjalan dengan baik dan dapat berkembang sesuai dengan fungsinya.
Gambar 2. 2 Model Waterfall Pressman (2010,p39)
Sedangkan fase-fase pada model waterfall menurut referensi Somerville : 1. Requirement Analysis and Definition
http://digilib.mercubuana.ac.id/
13
Menganalisa dan mendefinisikan kebutuhan-kebutuhan yang harus dipenuhi oleh aplikasi yang akan dibangun. Hal tersebut sangatlah penting karena aplikasi harus dapat berinteraksi dengan elemenelemen lain seperti hardware, database, dsb. Semua hal ditetapkan secara detail dan dapat berfungsi sebagai spesifikasi system. Pada tahap ini sering disebut juga dengan Project Definition. 2. System and Software Design Pada tahap ini dilakukan proses mengubah kebutuhan-kebutuhan yang telah dianalisa dan didefinisikan sebelumnya ke dalam arsitektur system berdasarkan persyaratan yang telah ditetapkan. Desain harus dapat mengimplementasikan kebutuhan yang telah dianalisa dan didefinisikan sebelumnya. 3. Implementation and Unit Testing Hasil dari desain kemudian diterjemahkan kedalam kode-kode atau direalisasikan sebagai satu set unit program dengan menggunakan bahasa pemrograman yang sudah ditentukan. Pada tahap ini setiap unit akan diuji apakah sudah memenuhi spesifikasinya. 4. Integration and System Testing Setiap unit-unit program diintegrasikan satu dengan yang lain setelah itu diuji sebagai satu kesatuan system yang utuh untuk memastikan bahwa system sudah memenuhi persyaratan yang ada. 5. Operation and Maintenance Sistem diimplementasikan oleh user atau langsung dioperasikan oleh user. Apabila terjadi error maka akan dapat dilakukan perbaikan-perbaikan agar hasilnya harus benar-benar sesuai dengan kebutuhan user. Pada tahap ini juga dilakukan pemeliharaan terhadap aplikasi yang telah dibuat, termasuk di dalamnya terdapat pengembangan aplikasi agar selalu dapat menyesuaikan dengan kebutuhan pengguna.
http://digilib.mercubuana.ac.id/
14
Gambar 2. 3 Model Waterfall Somerville (2011)
2.4.2
Black Box Testing Pengujian black box sering disebut dengan behavioral testing yaitu
pengujian yang berfokus pada pengetasan kebutuhan fungsional perangkat lunak. Kasus pengujian dengan digunakan pada metode black box antara lain : (Roger S.Pressman : p495) 1) Pengecekan fungsi-fungsi tidak tepat atau hilang. 2) Pengecekan kesalahan antar muka. 3) Pengecekan kesalahan pada struktur data atau akses ke baris data eksternal. 4) Pengecekan kesalahan proses inisialisasi dan proses terminasi.
2.4.3
Unified Modelling Language (UML) Pada perkembangan teknik pemrograman berorientasi objek,
muncul
sebuah
pembangunan
standarisasi
perangkat
dalam
lunak
bahasa
dengan
pemodelan
menggunakan
untuk teknik
pemrograman berorientasi objek, yaitu Unified Modeling Language.
http://digilib.mercubuana.ac.id/
15
UML merupakan salah satu standart bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek ( Rosa A.S, Shalahuddin M, 2013:p133, p137 ). Unified Modeling Language adalah bahasa berupa grafik atau gambar yang menjadi standar untuk memodelkan software yang berorientasi objek ( Bemd Bruegge, Allen H.Dutoit, 2010:p30 ). Diagram dibagi menjadi dua kelompok, satu untuk memodelkan struktur system dan yang satunya lagi untuk modeling behavior. Diagram structure digunakan untuk mewakili data dan hubungan statis yang berada pada suatu system informasi. Diagram behavior menyediakan cara bagi analisis untuk menggambarkan dinamis antara objek yang mewakili system informasi bisnis. Diagram ini memungkinkan pemodelan suatu prilaku dinamis dari objek individu. Diagram tersebut juga mendukung analisis dalam pemodelan persyaratan fungsional dari suatu system informasi yang berkembang ( Dennis,2010 ). Tabel 2. 1 UML 2.0 Diagram Summary (Dennis,2010) Diagram Kegunaan Name Diagram Structure Class Menggambarkan hubungan antara kelas dimodelkan dalam sistem. Object Menggambarkan hubungan antara objek dimodelkan dalam sistem. Berfungsi ketika kasus aktual dari kelas akan berkomunikasi lebih baik terhadap model. Package Kelompok elemen UML lain bersama-sama untuk membentuk konstruksi tingkat yang lebih tinggi. Deployment menampilkan arsitektur fisik sistem. Bisa juga digunakan untuk menunjukkan perangkat lunak, komponen yang dikerahkan ke arsitektur fisik. Component Menggambarkan hubungan fisik di antara komponen-komponen perangkat lunak.
http://digilib.mercubuana.ac.id/
Fase utama Analis, Design Analis, Design
Analis, Design, Implementasi Design Fisik, Implementasi Design Fisik, Implementasi
16
Composite Structure
Menggambarkan struktur internal dari kelasyaitu, hubungan antara bagian-bagian dari sebuah kelas. Diagram Behavior Activity Menggambarkan pekerjaan bisnis yang mengalir bebas dalam kelas, aliran kegiatan dalam kasus penggunaan, atau metode desain yang rinci. Sequence Model perilaku objek dalam kasus yang digunakan berfokus pada urutan berdasarkan waktu dari suatu kegiatan. Communicatio Model perilaku objek dalam kasus digunakan n berfokus pada komunikasi antara satu set berkolaborasi objek dari suatu kegiatan. Interaction Menggambarkan gambaran tentang aliran Overview kontrol dari suatu proses. Timing Menggambarkan interaksi yang terjadi di antara satu set objek dan state berubah-ubah dan masuk melalui sebuah time axis. Behavioral Mengkaji perilaku dalam salah satu kelas. StateMachine Protocol State Menggambarkan dependensi antara Machine antarmuka yang berbeda dari sebuah kelas. Use Case Menangkap kebutuhan bisnis untuk sistem dan untuk menggambarkan interaksi antara sistem dan lingkungannya.
Analis, Design
Analis, Design
Analis, Design Analis, Design Analis, Design Analis, Design Analis, Design Analis, Design Analis
a. Use Case Use Case menggambarkan tentang bagaimana perilaku system dari sisi actor. Actor adalah entity diluar system yang berinteraksi dengan system. Jika dapat mengidentifikasi use case dan actor, maka akan dapat menentukan boundary dari system. Boundary dari system bertujuan untuk memisahkan tugas-tugas yang dapat dikerjakan oleh system dan tugas-tugas yang dapat diselesaikan diluar system. Actor berada diluar dari area boundary system, sementara use case berada pada area di dalam boundry system. Actors digambarkan dengan symbol manusia, use case digambarkan
dengan
symbol
oval
http://digilib.mercubuana.ac.id/
dan
boundary
system
17
digambarkan dengan symbol sebuah kotak yang melingkupi seluruh use cases. Use Case diagram adalah salah satu diagram UML untuk menggambarkan fungsionalitas yang diharapkan dari sebuah system. Yang ditekankan adalah “apa” yang diperbuat system, dan bukan “bagaimana”. Sebuah use case mempresentasikan sebuah interaksi antara actor dengan system (Lukmanul Hakim,2012:p25). Tabel 2. 2 Simbol-simbol pemodelan use case diagram (Wiley,2010) GAMBAR
NAMA
KETERANGAN Aktor adalah orang atau sistem yang berasal dari manfaat dan eksternal untuk subjek.
1. Digambarkan
sebagai
salah
satu
tongkat
(default) atau jika aktor non-manusia yang terlibat, sebagai persegi panjang dengan aktor
Actor
<<>> di dalamnya (alternatif). 2. label dengan perannya. 3. Dapat
dikaitkan
dengan
aktor-aktor
lain
menggunakan spesialisasi / asosiasi superclass, dilambangkan dengan panah dengan panah berongga.
Ditempatkan di luar batas subjek. Subject Boundary
Generalization
Include
Termasuk nama subjek di dalam atau di atas.
Merupakan lingkup subjek, misalnya, sistem atau individu proses bisnis. Merupakan kasus penggunaan khusus ke yang lebih umum. Memiliki panah yang diambil dari kasus penggunaan khusus untuk kasus penggunaan dasar. Merupakan dimasukkannya fungsi satu kasus penggunaan dalam yang lain. Memiliki panah yang diambil dari kasus penggunaan dasar untuk kasus penggunaan digunakan.
http://digilib.mercubuana.ac.id/
18
Extend
Association
Merupakan perpanjangan dari kasus penggunaan untuk memasukkan perilaku opsional. Memiliki panah yang diambil dari kasus penggunaan ekstensi untuk kasus penggunaan dasar. Link aktor dengan use case (s) dengan yang berinteraksi. Use Case:
1. Merupakan bagian utama dari fungsi sistem. 2. Dapat memperpanjang kasus penggunaan lain.
Use case
3. Dapat mencakup use case lain. 4. Apakah ditempatkan di dalam batas sistem.
Apakah label dengan frase kata kerja-kata benda deskriptif. Sebagai contoh. actor WatchUser dapat melihat waktu melalui jam miliknya yang gambarkan dengan dengan ReadTime use case atau mengatur waktu dari jamnya yang gambarkan dengan SetTime use case. Sementara itu, hanya WatchRepairPerson yang dapat mengganti batterai jam yang digambarkan dengan ChangeBattery use case.
Gambar 2. 4 Contoh Use Case Diagram (Bemd Bruegge, AllenH.Dutoit,2010)
http://digilib.mercubuana.ac.id/
19
b. Use Case Description Menurut Satnizer (2010:p171) use case description adalah penjelasan yang lebih rinci mengenai urutan langkah-langkah dari sebuah use case. Pada umumnya uraian kasus ditulis dalam tiga tingkat yang terpisah : -
Brief Description, merupakan sebuah deskripsi singkat disini dapat digunakan untuk penggunaan kasus yang sederhana, terutama saat system yang akan dibangun atau dikembangkan juga kecil.
-
Intermediate
Desciption,
merupakan
sebuah
deskripsi tingkat menengah dengan menggunakan uraian kasus dan penjelasan singkat dengan menyertakan aliran kegiatan internal. -
Fully
Developed
pengembangan metode
Description,
yang
sepenuhnya paling
mendokumentasikan kasus.
http://digilib.mercubuana.ac.id/
atau
deskripsi
merupakan
sebuah
formal
untuk
20
Gambar 2. 5 Contoh Fully Developed use case description (Satzinger,2010)
c. Activity Diagram Activity Diagram atau diagram aktivitas menggambarkan berbagai aliran aktivitas dalam system yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses parallel yang mungkin terjadi pada beberapa eksekusi (Lukmanul Hakim,2012:29).
http://digilib.mercubuana.ac.id/
21
Activity Diagram atau diagram aktivitas merupakan diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari suatu system atau proses bisnis dan menu yang ada pada suatu perangkat lunak. (Rosa A. S dan M. Shalahuddin, 2013:p161). Diagram
activitas
juga
banyak
digunakan
dalam
mendefinisikan hal-hal sebagai berikut : 1) Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis system yang didefinisikan. 2) Urutan atau pengelompokan tampilan dari system atau user
interface
dimana
setiap
aktivitas
dianggap
memiliki sebuah rancangan antar muka tampilan. 3) Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. 4) Rancangan
menu
yang
akan
ditampilkan
perangkat lunak (Wiley,2010).
Tabel 2. 3 Simbol-simbol activity diagram (Wiley,2010) Simbol Status Awal
Aktivitas Aktivitas Swimlane
Percabangan /decision
Deskripsi Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal. Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja. Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi Asosiasi percabangan dimana jika ada pilihan aktifitas lebih
http://digilib.mercubuana.ac.id/
pada
22
dari satu. Penggabungan/join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu.
Status akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
Gambar 2. 6 Contoh Activity Diagram (Bemd Bruegge, Allen H.Dutoit, 2010,p205) d. Class Diagram Class Diagram atau diagram kelas merupakan suatu diagram
yang
menggambarkan
struktur
system
dari
segi
pendefinisian kelas-kelas yang akan dibuat untuk membangun system. Kelas memiliki apa yang disebut atribut dan metode atau operasi (Wiley,2010). Kelas-kelas yang ada pada struktur system
http://digilib.mercubuana.ac.id/
23
harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan system sehingga programmer atau pembuat perangkat lunak dapat membuat kelas-kelas di dalam program perangkat lunak sesuai dengan perancangan diagram kelas. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut : 1) Kelas main Kelas yang memiliki fungsi awal dieksekusi ketika system dijalankan. 2) Kelas yang menangani tampilan system ( view ) Kelas yang mendefinisikan dan mengatur tampilan transaksi. 3) Kelas yang diambil dari pendefinisian use case ( controller ) Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian usecase, kelas ini biasanya
disebut
dengan
kelas
proses
yang
menangani proses bisnis pada perangkat lunak. 4) Kelas yang diambil dari pendefinisian data ( model ) Kelas yang digunakan untuk membungkus atau memegang data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data. Seluruh table yang dibuat di basis data dapat dijadikan kelas, namun untuk table dari hasil relasi atau atribut multivalue pada ERD dapat dijadikan kelas
tersendiri
dapat
juga
tidak
apabila
pengaksesannya dapat di pertanggung jawabkan atau tetap ada pada perancangan (Wiley,2010).
http://digilib.mercubuana.ac.id/
24
Tabel 2. 4 Simbol-simbol class diagram (Rosa A.S – M. Shalahuddin,2013) Simbol Kelas
Deskripsi Kelas pada struktur sistem.
Nama_kela s +atribut +operasi() Antarmuka / interface
Sama dengan konsep interface dalam pemograman berorientasi objek.
Nama_interface Asosiasi / association
Relasi antarkelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
Asosiasi berarah / directed association
Relasi antarkelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity.
Generalisasi / generalization
Relasi antarkelas dengan makna generalisasi - spesialisasi (umum khusus)
Kebergantungan / dependency
Relasi antarkelas dengan makna kebergantungan antarkelas.
http://digilib.mercubuana.ac.id/
25
Agregasi / aggregation
Relasi antarkelas dengan makna semua – bagian (whole – part )
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan asosiasi, dan lain-lain. Class memiliki 3 area pokok (Lukmanul Hakim, 2012:27). 1. Nama ( dan stereotype) 2. Atribut 3. Metode Atribut dan metode dapat mempunyai salah satu sifat sebagai berikut: a. Private, tidak dapat dipanggil dari luar class yang bersangkutan. b. Protected, hanya dapat
dipanggil
oleh class
yang
bersangkutan dan anak-anak yang mewarisinya. c. Public, dapat dipanggil oleh siapa saja.
Gambar 2. 7 Contoh Class Diagram (Bernd Bruegge, Allen H. Dutoit, 2010, p58) 1. Domain Class Diagram Notasi dari Unified Modeling Language (UML), yang menjadi standart model dan digunakan dalam mengembangkan
http://digilib.mercubuana.ac.id/
26
object oriented system. Salah satu jenis dari UML class diagram yang menunjukan domain kerja pengguna disebut dengan domain class diagram (Satzinger,2010).
Gambar 2. 8 Contoh domain class diagram (Satzinger,2010)
2. First-Cut Class Diagram Menurut Satzinger (2010, p413) First Cut Class Diagram dikembangkan dengan memperluas model domain class diagram dan memerlukan dua langkah yaitu: -
Mengelaborasi
atribut-atribut
dengan
menginisialisasi nilai informasi. -
Menambahkan panah navigasi visibilitas.
http://digilib.mercubuana.ac.id/
tipe
dan
27
Gambar 2. 9 Contoh First-Cut Class Diagram (Satzinger,2010)
e. Sequence Diagram Sequence Diagram atau diagram sekuen merupakan diagram yang menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh sebab itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang
http://digilib.mercubuana.ac.id/
28
dimiliki
kelas
yang
diinstansiasi
menjadi
objek
tersebut.
Banyaknya diagram sekuen yang harus digambar adalah minimal sebanyak pendefinisian use case yang mempunyai proses sendiri atau yang penting semua use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. (Wiley, 2010).
Tabel 2. 5 Simbol-simbol pada Sequence Diagram Simbol Aktor
Nama Aktor Atau
Deskripsi Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, biasanya dinyatakan menggunakan kata benda di awal frase nama menggunakan kata benda di awal frase nama aktor.
Nama Aktor Tanpa waktu aktif
Garis hidup/lifeline
Objek
Menyatakan kehidupan suatu objek.
Menyatakan objek yang berinteraksi pesan.
Nama Objek : nama kelas Waktu Aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan
http://digilib.mercubuana.ac.id/
29
Pesan tipe create <
>
Menyatukan suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat.
Simbol
Deskripsi
Pesan tipe send
Menyatakan bahwa suatu objek mengirim data/masukan/informasi ke objek lain, arah panah mengarah pada objek yang menerima kembalian.
1: masukan
Pesan tipe return 1: Keluaran
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian.
Gambar 2. 10 Contoh Sequence Diagram (Bernd Bruegge, Allen H. Dutoit, 2010, p33)
2.5
Purchase Order Purchase Order atau yang lebih dikenal dengan PO merupakan salah satu jenis surat bisnis yang sering kita temui. Saat kita melakukan
http://digilib.mercubuana.ac.id/
30
order atau pemesanan kepada perusahaan atau supplier, kita pasti diminta untuk mengirimkan baik via fax, email, maupun pos surat purchase order. Surat ini akan digunakan para supplier untuk mengetahui secara detail barang-barang apa saja yang kita pesan. Ini berguna untuk mengatasi kesalahan dalam memproduksi pesanan. Selain itu, surat purchase order juga akan digunakan mereka ( dan juga kita ) sebagai file dan bagi bagian keuangan/pembukuan, surat purchase order ini akan dijadikan bukti transaksi laporan keuangan. Di dalam purchase order harus memuat dengan jelas jenis barang yang kita pesan, jumlah yang kita pesan, permintaan khusus bila ada, tanggal pengiriman serta yang tidak kalah pentingnya adalah harus mencantumkan no PO. No PO ini merupakan hal yang sangat penting dalam surat Purchase Order. Biasanya kita maupun perusahaan rekanan akan melakukan track ( penulusuran ) order melalui nomer surat purchase order ini bila dikemudian hari terjadi kekeliruan ataupun masalah. Menurut pengajar Fakultas Hukum Universitas Indonesia, Prof. Hikmahanto Juwana, S.H, LL.M., Ph.D ( 2011 ), Purchase Order bisa saja dianggap perjanjian karena pada umumnya akan ada “perjanjian payungnya” di mana term and condition ( syarat dan ketentuan ) dari setiap PO dapat merujuk pada general term ( ketentuan umum ) dalam perjanjian paying tersebut. Pendapat tersebut di sampaikan Hikmahanto dalam Seminar Hukum Online mempersoalkan perjanjian sebagai senjata untuk melegalkan penggunaan Valuta Asing di Indonesia. Selanjutnya, Hikmahanto mencontohkan jika penumpang maskapai penerbangan membeli polis asuransi di bandara udara, pembeli hanya mendapatkan sehelai karcis yang di dalamnya tercantum bahwa perjanjian aslinya ada pada notaries tertentu. Karcis asuransi ini dianalogikan dengan PO maupun invoice, dimana ketentuan dalam PO atau invoice untuk suatu transaksi itu akan merujuk pada perjanjian awalnya antara pembeli dan penjual, sehingga tidak perlu membuat perjanjian setiap kali akan mengadakan transaksi jual beli. Setiap ketentuan dalam PO maupun
http://digilib.mercubuana.ac.id/
31
invoice akan tunduk dan
merujuk pada ketentuan umum dalam
perjanjian awalnya. Sehingga tidak perlu dibuat banyak sekali perjanjian setiap kali terjadi transaksi jual beli yang menggunakan PO dan invoice. Dalam seminar yang sama Timur Sukirno, Managing Partner pada kantor advocate Hadiputranto Hadinoto & partners menambahkan bahwa dalam praktik perdagangan ( jual-beli ) yang menggunakan PO dan invoice, para pihak jangan sampai lupa untuk membubuhkan tanda tangan pada dokumen aslinya. Memang praktiknya saat ini sarana komunikasi sudah cukup canggih, PO maupun invoice dapat dikirim melalui fax maupun email, tetapi harus ada tanda tangan pada setiap dokumen aslinya. Jadi, PO maupun invoice dapat saja dianggap sebagai perjanjian namun harus ada perjanjian awalnya sebagai “perjanjian payung” yang mengatur ketentuan umumnya dan dokumen aslinya ditandatangani oleh para pihak.
Gambar 2. 11 purchase order
2.6
Invoice Faktur penjualan yang biasa dikenal dengan invoice adalah dokumen yang digunakan sebagai pernyataan tagihan yang harus di bayar oleh customers. Dalam nama sederhana biasa orang-orang menyebutnya
http://digilib.mercubuana.ac.id/
32
dengan nama Bon. Pada transaksi yang nominalnya relatif kecil, invoice digunakan langsung sebagai
dokumen tagihan sedangkan pada
perusahaan yang nominal transaksinya besar, biasanya dilengkapi dengan surat tagihan atau kwitansi. Invoice sering disebut juga surat penagihan, biasanya invoice ini dikeluarkan oleh pihak penjual kepada pelanggan sesuai dengan kesepakatan di PO. Invoice berisi rincian barang/jasa dengan harga sesuai PO, tidak boleh berubah walaupun misalkan harga tersebut telah mengalami kenaikan dari supplier sendiri. Biasanya invoice dikirimkan kepada pelanggan dengan lampiran tanda terima barang dan faktur pajak. Faktor-faktor yang harus diperhatikan dalam pembuatan invoice : 1. Invoice faktur dibuat sesuai dengan barang yang telah diserahkan atau diterima dengan baik oleh customers. Adakalanya barang yang telah dikirim, ditolak sebagian/diterima dengan syarat oleh customers. Karena itu invoice faktur dibuat setelah delivery order telah ditandatangani oleh penerima. 2. Satu order pembelian dapat direalisasikan dalam satu transaksi ( satu kali SJ ) dan dapat juga direalisasikan secara bertahap ( beberapa kali SJ ). Banyak kebijakan perusahaan yang menetapkan bahwa pembayaran akan dilakukan setelah order pembelian telah terealisasikan secara keseluruhan sehingga apabila terdapat beberapa kali SJ. Maka invoice hanya dibuat apabila order penjualan telah dipenuhi secara keseluruhan. Untuk itu dibutuhkan informasi ringkas mengenao dokumen – dokumen yang terkait dengan tagihan tersebut. Keperluan tersebut dibutuhkan baik bagi penerima tagihan maupun pembuat invoice. 3. Dalam kontrak order dalam jangka waktu tertentu kebijakan point 2 tidak berlaku sehingga invoice dibuat setiap delivery order telah ditandatangani oleh penerima.
http://digilib.mercubuana.ac.id/
33
4. Pembuatan invoice secara automatis akan mengupdate buku piutang dagang. Dengan ini dapat diartikan pembuatan invoice adalah bagian yang juga mencantat piutang. 5. Dalam prosedur internal kontrol system akuntansi metode manual disarankan untuk membuat invoice di atas formulir dengan nomor urut tercetak namun dengan sistem akuntansi komputer semakin banyak
perusahaan
menggunakan
nomor
komputerisasi.
Keunggulan penggunaan nomor tercetak menjamin tidak terjadinya nomor ganda dalam pembuatan invoice namun apabila terjadi kegagalan, nomor transaksi dicatat pada nomor berikutnya sesuai dengan nomor urut dokumen tercetak. Bila menggunakan nomor urut yang di create komputer perlu pengawasan lebih ketat karena memungkinkan terjadinya invoice ganda yang dapat menimbukan kerugian bagi perusahaan. Dengan melihat faktor-faktor diatas, maka pembuatan invoice ini berdasarkan data pada order penjualan sehingga pembuat invoice hanya perlu mengisi, nomor, order nomor, surat jalan dan memilih detail barang dari tabel yang telah dicatat pada order penjualan.
http://digilib.mercubuana.ac.id/
34
Gambar 2. 12 Invoice
2.7
Definisi Website Saat ini internet menjadi bagian dari kehidupan masyarakat modern. Mudahnya akses internet yang bisa dilakukan menjadikan pengguna internet semakin bertambah dari hari ke hari. Tak hanya orang dewasa saja, anak-anak sekarang juga bisa melakukan akses ke internet baik melalui perangkat PC ataupun ponsel. Berjalan-jalan disebuah website sebenarnya bukanlah berjalan di suatu
tempat.
Website
terdiri
atas
banyak
sekali
link
yang
menghubungkan kita ke tempat-tempat lain. Ibarat sebuah gedung dengan banyak ruangan yang ada labelnya masing-masing. Di dalam website, kita akan menemukan pilihan menu yang dapat kita pilih. Sehingga dengan sekali klik, kita akan sampai ke tempat lain dalam website tersebut. Menurut Hidayat Rahmat, (2010:2), website atau situs dapat diartikan sebagai kumpulan halaman-halaman yang digunakan untuk menampilkan informasi teks, gambar diam atau gerak, animasi, suara atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis
http://digilib.mercubuana.ac.id/
35
yang membentuk satu rangkaian bangunan yang saling terkait, yang masing-masing dihubungkan dengan jaringan-jaringan halaman. Menurut Simarmata, (2010:51), web dapat diartikan sebagai alat untuk menciptakan sistem informasi global yang mudah berdasarkan kepada hiperteks. Sebuah halaman web adalah sebuah dokumen. Dokumen halaman web terdiri atas banyak hyperlink yang menggunakan banyak bahasa HTML. Halaman web diakses dan dijalankan dengan HTTP atau HTTPS. Halaman-halaman website dapat diakses dari sebuah URL (Uniform Resource Locator) atau alamat web. Dapat disimpulkan website adalah sebuah tempat di internet yang menyajikan informasi dengan berbagai macam format data seperti teks, image, bahkan video dan dapat diakses menggunakan berbagai aplikasi client sehingga dapat memungkinkan penyajian informasi yang lebih menarik dan dinamis dengan pengelolaan yang terorganisasi. 2.7.1 Jenis – Jenis Website Menurut
Hidayat,
(2010:3),
seiring
dengan
perkembangan
teknologi informasi yang begitu cepat, website juga mengalami perkembangan yang sangat berarti. Dalam pengelompokan jenis web, lebih diarahkan berdasarkan kepada fungsi, sifat atau style dan bahasa pemrograman yang digunakan. Adapun jenis-jenis web sebagai berikut : a. Jenis-jenis web berdasarkan sifat atau style : 1) Website Dinamis, merupakan sebuah website yang menyediakan konten atau isi yang selalu beribah-ubah setiap saat. Bahasa pemrograman yang digunakan antara lain PHP, ASP, NET dan memanfaatkan database MySQL atau MS SQL. 2) Website Statis, merupakan website yang kontenya sangat jarang berubah. Bahasa pemrograman yang digunakan adalah HTML dan belum memanfaatkan database. Website
http://digilib.mercubuana.ac.id/
36
jenis ini menampilkan konten halaman yang sama bagi para pengunjungnya.
Pemilik
website
sebenarnya
dapat
mengubah isi website tersebut secara periodik, namun perlu proses manual untuk mengubah konten dalam website tersebut. Sebuah website statis dapat diedit dengan menggunakan beberapa software seperti berikut :
Text editor, seperti Notepad atau Text Edit.
WYSIWYG offline editors, seperti Microsoft Front Page dan Dreamweaver.
WYSIWYG online editors.
Template-based editors seperti Rapid Weaver dan iWeb
b. Berdasarkan pada fungsinya, website terbagi atas : 1) Personal Website, website yang berisi tentang pribadi seseorang. 2) Commercial Website, website yang dimiliki oleh sebuah perusahaan yang bersifat bisnis. 3) Government Website, website yang dimiliki oleh instansi pemerintahan, pendidikan, yang bertujuan memberikan pelayanan kepada pengguna. 4) Non-profit Organization Website, dimiliki oleh organisasi yang bersifat non-profit atau tidak bersifat bisnis. c. Ditinjau dari segi bahasa pemrograman yang digunakan, website terbagi atas : 1) Server Slide, merupakan website yang menggunakan bahasa pemrograman yang tergantung kepada tersedianya server. Seperti PHP, ASP, NET dan lain sebagainya. Jika tidak ada server, website yang dibangun menggunakan
http://digilib.mercubuana.ac.id/
37
bahasa pemrograman di atas tidak akan berfungsi sebagaimana mestinya. 2) Client Slide, adalah website yang tidak membutuhkan server dalam menjalankannya, cukup diakses melalui browser saja. Misalnya, HTML.
2.8
Perangkat Lunak Pendukung Program Sistem ( sering disebut perangkat lunak pendukung atau support software) adalah program yang digunakan untuk mengontrol sumber daya komputer, seperti CPU dan peranti masukan/keluaran. Kedudukan Program ini adalah sebagai perantara antara program aplikasi dan perangkat keras komputer. Itulah sebabnya, peran program sistem sering kali tidak terlihat secara langsung.
Gambar 2. 13 Perangkat lunak pendukung
http://digilib.mercubuana.ac.id/
38
2.8.1 XAMPP (Mysql) XAMPP adalah perangkat lunak bebas (open source), yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP server, MySQL database, dan penerjemahan bahasa yang ditulis dengan bahasa PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP, dan Perl. XAMPP merupakan paket PHP dan MySQL berbasis open source, yang dapat digunakan sebagai tool pembantu pengembangan aplikasi berbasis PHP. XAMPP mengkombinasikan beberapa paket perangkat lunak berbeda ke dalam satu paket (Riyanto, 2010: p1).
Gambar 2. 14 Xampp
2.8.2 Pengenalan PHP PHP ( Hypertext Preprocessor ) adalah bahasa pemrograman yang bekerja dalam sebuah website (Madcoms, 2010:350). Script-script PHP
http://digilib.mercubuana.ac.id/
39
dibuat harus tersimpan dalam sebuah server dan dieksekusi atau diproses dalam server tersebut. Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis. Sebagai media penulisan PHP, dapat menggunakan beberapa program, diantaranya adalah Notepad, Dreamweaver, atau PHP Expert Editor. Beberapa hal yang harus diketahui agar dapat memahami scriptscript PHP adalah tipe data dan variabel. Ada beberapa tipe data yang dikenali dalam script PHP, yaitu tipe string, integer, array, object dan floating point. Tipe data dalam script PHP akan otomatis dikonversi sesuai karakternya tanpa harus menggunakan variabel. Variabel adalah tempat untuk menyimpan data. Data yang disimpan sewaktu-waktu bisa saja anda panggil atau diganti dengan data lain. Mendefinisikan variabel cukup dengan sebuah kata ( akan menjadi nama variabel ) yang diawali dengan tanda $, kemudian isikan nilai dari variabel tersebut. Di dalam pemrograman PHP terdapat juga tentang fungsi, operator, dan struktur kendali. Fungsi-fungsi dasar dalam pemrograman PHP yaitu Fungsi Date, Fungsi Time, dan Fungsi Include. Operator adalah suatu simbol yang memiliki tugas dan fungsi untuk memanipulasi nilai. Dengan operator, sebuah fungsi dapat berjalan dan bersifat dinamis. Nilai-nilai pada sebuah operasi sering disebut operan. Operator dasar dalam pemrograman
PHP
yaitu Operator
Aritmatika, Operator
Pembanding, dan Operator Logika. Struktur kendali atau statement adalah bagian penting dalam suatu bahasa pemrograman, karena bagian ini mengatur jalannya eksekusi program. Ada 4 struktur kendali atau statement dalam pemrograman PHP yaitu Fungsi IF, Pernyataan Switch, Pernyataan While, dan Pernyataan For.
http://digilib.mercubuana.ac.id/
40
Gambar 2. 15 Syntax Code PHP
2.8.3 Hypertext Markup Language (HTML) HTML atau dengan singkatan Hyper Text Markup Language adalah bahasa pemograman yang digunakan dalam web sebagai bahasa untuk pertukaran dokumen web (Alexander F.K Sibero, 2011 : 19). Struktur HTML terdiri dari tag pembuka dan tag penutup.. Arti HTML dapat dipelajari dari setiap elemennya, yaitu : Hypertext, WWW memungkinkan penggunaannya untuk melompat dari satu lokasi ke lokasi lain. Ini dapat terjadi karena adanya hypertext link yang berfungsi sebagai penghubung ( connection ) dari suatu web ke lokasi lainnya. Markup, untuk membuat suatu link, atau komponen-komponen web lainnya dilakukan dengan cara memberikan tanda pada link atau text yang akan dibuat tebal atau miring tersebut. Tanda-tanda ini disebut sebagai markup atau biasa disingkat sebagai tag. Language, HTML adalah bahasa pemrograman yang digunakan sebagai ( formatting Tools ). Format adalah mekanisme yang mengatur bentuk visual yang tampil pada web browser seperti netscape navigator atau internet explorer. Objek yang dapat diformat antara lain adalah teks, style dari teks ( font ), ukuran, tebal, gambar, suara, koneksi ( link ) dan lainnya. Contoh struktur dokumen HTML sebagai berikut:
http://digilib.mercubuana.ac.id/
41
Gambar 2. 16 syntax code HTML
2.8.4 JQuery Menurut Lukmanul Hakim (2010:3) mengemukakan bahwa ”Jquery adalah javascript Library atau kumpulan kode/fungsi javascript siap pakai, sehingga mempermudah kita dalam membuat kode javascript”. Secara standar, apabila kita membuat kode javascript, maka diperlukan kode yang cukup panjang, bahkan terkadang sangat sulit dipahami. Jquery sangat powerfull dan layak dijadikan pilihan dibandingkan dengan javascript library pendahulunya seperti prototype, Mootools, YUI ( Yahoo User Interface ) dan dojo karena : a. Jquery telah banyak digunakan oleh website-website terkemuka di dunia. b. Kompatibel / cocok dengan semua browser yang populer, seperti Mozilla, Internet Explorer, Safari, Chrome dan Opera. c. Kompatibel dengan semua versi CSS (Css 1 sampai dengan Css 3). d. Filenya hanya satu dan ukurannya kecil, hanya sekitar 20 Kb. e. Open Source / free (gratis) dengan lisensi dari GNU ( general public license ) dan MIT License.
Gambar 2. 17 Syntax Code JQuery
http://digilib.mercubuana.ac.id/
42
2.8.5 Sublime Text Sublime Text 2 adalah editor teks yang dirancang untuk mengolah potongan - potongan kode, plugin, dan markup. Tetapi, juga bisa dipakai untuk menulis artikel dan mengetik dalam prosa normal. Keunggulan Sublime Text 2 ada pada kualitas dan kuantitas fitur – fiturnya, seperti blok multitempat, kursor banyak, dan pengolahan split. Bermacam – macam fitur ini membuat pengolahan kode menjadi lebih cepat dan mudah. Fitur lain yang menarik adalah dukungannya pada berbagai macam bahasa seperti, Clojure, Perl, Javascript, Haskel, Erlango, HTML, PHP, dan Escala. Juga dapat membuat dan menyimpan macro kapan saja, pekerjaan menjadi lebih mudah dengan banyaknya opsi yang bisa dipilih. Oleh karena itu, Sublime Text 2 adalah aplikasi yang sangat lengkap dan mudah untuk digunakan (Sublime-text2.id.uptodown.com, 2013).
Gambar 2. 18 Layar Utama Sublime Text 2
http://digilib.mercubuana.ac.id/
43
2.9
Database Data memiliki arti yang sangat penting bagi kelangsungan suatu organisasi atau perusahaan. Data yang baik merupakan data yang dapat disusun dalam basis data sehingga basis data tersebut dapat digunakan secara optimal bagi organisasi atau perusahaan untuk mengumpulkan, mengorganisir dan menganalisa data bisnis perusahaan atau organisasi.
2.9.1 Pengertian Database Pengertian umum definisi dari database adalah berbagi (shared), penyimpanan yang saling terhubung (intergration collection), kumpulan (repository) yang terintegrasi dari data. Dua kata yang menitik beratkan pada pendefinisian dari database adalah berbagi (shared) dan saling terhubung (integrated). Berbagi (shared) berarti beberapa pengguna dapat meng-akses data didalam database secara bersama-sama. Yang terhubung (integrated) berarti menghilangkan data yang terduplikasi (informasi yang ditulis lebih dari satu kali). Sebagai contoh informasi tentang data mahasiswa mungkin saja tersebar diberbagai komputer namun jikalau diletakkan dalam satu server data mahasiswa dan data tersebut diakses secara bersama-sama oleh pengguna maka dapat dikatakan database. (Masya, 2010). Pengertian database atau basis data menurut Indrajani (2011, p2) adalah sebagai berikut:
Basis data merupakan kumpulan terpadu dari elemen data logis yang saling berhubungan. Basis data mengonsolidasi banyak catatan yang sebelumnya disimpan dalam file terpisah.
Merupakan suatu kumpulan data yang berhubungan secara logis dan deskripsi data tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi.
http://digilib.mercubuana.ac.id/
44
Artinya, basis data merupakan tempat penyimpanan data yang besar, di mana dapat digunakan oleh banyak pengguna. Seluruh item basis data tidak lagi dimiliki oleh satu departemen melainkan menjadi sumber daya perusahaan yang dapat digunakan bersama.
2.9.2 Database Management System (DBMS) Database Management System merupakan perangkat lunak yang memungkinkan pengguna dapat mendefinisikan, membuat, merawat, dan mengatur akses ke basis data. Pada umumnya DBMS memungkinkan pengguna untuk mendefinisikan Database melalui Data Definition Language (DDL). Menspesifikasikan tipe data, struktur dan batasan pada data yang disimpan di Database. Kemudian juga memungkinkan insert, update, delete, dan mengambil data dari Database melalui Data Manipulation Language (DML), mempunyai pusat penyimpanan bagi semua data dan deskripsi data memungkinkan DML untuk menyediakan fasilitas umum bagi data tersebut yang dikenal dengan bahasa query (Connolly and Begg, 2010:p6). Penggunaan DBMS mempunyai keuntungan dan kerugian. Keuntungan dan kerugian DBMS (Connolly and Begg, 2010:p77-80) adalah sebagai berikut:
Kelebihan DBMS
1. Kontrol terhadap redudansi data Sistem akan menghilangkan berbagai duplikasi data karena didukung dengan adanya integrasi file. 2. Konsistensi data Dengan menghilangkan atau mengendalikan redudansi, maka risiko dari inkonsistensi akan terjadi. Apabila sebuah
http://digilib.mercubuana.ac.id/
45
item data disimpan hanya sekali dalam Database, maka jika ada perubahan nilainya maka pengguna DBMS dapat secara cepat mengakses nilai yang terbaru. 3. Informasi yang lebih dari sejumlah data yang sama. Dengan integrasi dari operasional, memungkinkan bagi organisasi untuk mengambil data tambahan dari informasi yang sama. 4. Pembagian data Biasanya file dimiliki oleh sebuah departemen atau yang memilikinya. Namun pada DBMS database dimiliki oleh perusahaan atau organisasi dan bukan milik bagian tertentu. 5. Meningkatkan integritas data Integritas database mengacu pada validitas dan konsistensi data yang tersimpan. 6. Meningkatkan keamanan Keamanan database adalah fasilitas pengaturan akses pada database sehingga melindungi dari pihak-pihak yang tidak berhak
dalam
mengakses,menambah,mengubah,
dan
menghapus. 7. Meningkatnya standardisasi Dalam memudahkan bagi pengguna DBMS, maka dalam penamaan tabel, field, tipe data, hak akses, dan sebagainya harus dibuat sesuai dengan standar dan dokumentasinya. 8. Skala ekonomi Menggabungkan semua data operasional organisasi ke dalam satu Database, dan menciptakan kumpulan aplikasi yang bekerja pada salah satu sumber data, yang berdampak pada penghematan biaya. 9. Keseimbangan konflik kebutuhan Pengguna dalam perusahaan mungkin memiliki kebutuhan yang tidak sama dengan pengguna lainnya. Dengan adanya
http://digilib.mercubuana.ac.id/
46
DBMS maka dapat membuat keputusan tentang desain dan penggunaan operasional basis data secara keseluruhan. 10. Meningkatkan akses data dan tanggapan Sebagai akibat adanya integrasi, data yang melintasi batasbatas departemen menjadi dapat diakses secara langsung ke pengguna akhir. Dengan demikian menyediakan suatu sistem dengan potensi yang lebih banyak mengenai fungsionalitas dapat digunakan untuk memberikan layanan yang lebih baik untuk pengguna akhir. 11. Peningkatan produktivitas DBMS menyediakan banyak fungsi yang baku di mana seorang programmer dapat menuliskan fungsi-fungsi baku tersebut dalam suatu instruksi pada aplikasi. DBMS menyediakan semua rutinitas penanganan file tingkat rendah yang khas dalam program aplikasi. Penyediaan fungsi
tersebut
memungkinkan
programmer
untuk
berkonsentrasi pada fungsi khusus yang diperlukan oleh pengguna tanpa takut dalam melakukan implementasi tingkat rendah secara detail. 12. Peningkatan pemeliharaan melalui independensi data Dalam sistem berbasis files, deskripsi data dan logika untuk mengakses data dibangun ke dalam setiap program aplikasi, sehingga menjadikan ketergantungan data terhadap aplikasi. Suatu perubahan pada struktur data, perubahan pada cara data disimpan dalam disk, akan memerlukan perubahan data dalam program yang telah didefinisikan sebelumnya. Pada DBMS, terjadi pemisahan data dengan aplikasi program dan akan kebal terhadap perubahan data. Hal ini biasa disebut dengan istilah independensi data. 13. Peningkatan konkurensi
http://digilib.mercubuana.ac.id/
47
Dalam beberapa sistem berbasis file, jika dua atau lebih pengguna diizinkan untuk mengakses file yang sama secara bersamaan, sangat memungkinkan akses tersebut saling mengganggu satu sama lain, sehingga dapat menyebabkan hilangnya informasi atau bahkan hilangnya integritas. Pada DBMS dapat melakukan pengaturan akses data yang dilakukan secara bersamaan. 14. Peningkatan backup dan jasa pemulihan Fasilitas backup dan restore disediakan oleh DBMS untuk mengurangi kegagalan sistem atau aplikasi program.
Kelemahan DBMS
1. Kompleksitas Penyediaan pengaturan fungsi-fungsi yang terdapat pada DBMS menjadikan DBMS sebuah perangkat lunak yang cukup rumit dan kompleks. Desainer basis data, developer data database administrator, dan pengguna akhir harus memahami
fungsi
tersebut
agar
dapat
mengambil
keunggulan secara penuh. Kegagalan untuk memahami sistem dapat mengarah pada sesuatu keputusan desain yang buruk, sehingga menjadi konsekuensi serius bagi organisasi dikemudian hari. 2. Biaya DBMS yang mahal. Biaya DBMS bervariasi, tergantung pada lingkungan dan fungsi yang disediakan. 3. Ukuran Kerumitan dan besarnya fungsionalitas menyebabkan DBMS memerlukan banyak megabytes apda ruang disk dan membutuhkan banyak memori untuk menjalankannya secara efisien. 4. Biaya penambahan perangkat keras
http://digilib.mercubuana.ac.id/
48
Persyaratan penyimpanan disk untuk DBMS dan database mungkin
membutuhkan
pembelian
perangkat
kerang
tambahan sebagai pendukung. 5. Adanya biaya konversi Biaya konversi ini akan digunakan untuk proses konversi ke DBMS sebagai sistem yang baru. 6. Kinerja Pada DBMS ditulis lebih umum dan melayani banyak aplikasi sehingga akan mengakibatkan beberapa aplikasi berjalan lebih lambat dari yang biasa digunakan. 7. Dampak suatu kegagalan yang tinggi Apabila
DBMS
mengalami
kerusakan
maka
akan
berdampak pada seluruh pengguna dan sistem informasi yang mengakses DBMS karena adanya ketergantungan terhadap DBMS tersebut.
Komponen DBMS
Komponen pada DBMS dapat dibedakan menjadi lima (Indrajani, 2011:p11-12), yaitu: 1. Hardware atau perangkat keras atau peranti keras Hardware ini diperlukan oleh DBMS dan aplikasi. Contoh dari perangkat keras antara lain personal computer, notebook, mainframe, serta jaringan komputer. 2. Software atau perangkat lunak atau peranti lunak Beberapa penggunaan software yaitu : a. Perangkat lunak sistem operasi komputer untuk PC biasa ataupun server 2008, contohnya Windows XP, Windows Server, Linux, dan lain sebagainya.
http://digilib.mercubuana.ac.id/
49
b. Perangkat lunak untuk database, contohnya Microsoft SQL 2008, Oracle, dan MySQL. c. Perangkat
lunak
untuk
pemrograman,
contohnya
program Java, .Net 2005, C++. d. Perangkat lunak untuk jaringan seperti Cisco 3. Data Merupakan komponen terpenting DBMS karena penghubung antara komputer dengan manusia. 4. Prosedur Merupakan instruksi dan aturan yang menentukan perancangan dan penggunaan basis data, di mana pengguna sistem dan pengelola basis data membutuhkan dokumentasi ini untuk menjalankan dan menggunakan sistem. 5. Manusia Disini dibedakan menjadi beberapa fungsi menurut peranannya. Fungsi tersebut antara lain: a. Data dan Database Administrator, orang atau sekelompok orang yang bertanggung jawab untuk manajemen dan pengendalian basis data. b. Database
Desainer,
dibedakan
menjadi
perancang basis data secara logika dan fisik. c. Application
Developer
atau
Programmer,
merupakan tenaga ahli komputer yang berfungsi untuk
mengembangkan
program-program
aplikasi yang diperlukan dalam manajemen basis data.
http://digilib.mercubuana.ac.id/
50
d. End user, termasuk dalam kategori pengguna akhir adalah pemilik sistem (enterprise) para manager, supervisor, operator, pelanggan dan sebaginya
yang
terlibat
langsung
dalam
penggunaan basis data.
2.9.3 Bahasa Database Digunakan untuk membuat dan memanipulasi objek-objek dan data pada database. Interaksi bahasa langsung dengan database disebut query language. Sedangkan bahasa yang digunakan pada program disebut dengan sublanguage. Ada beberapa komponen bahasa database yaitu: (Masya, 2010) 1. Data Definition Language (DDL) yaitu bahasa SQL yang
digunakan untuk mendefinisikan, menghapus, memberi hak akses ataupun menganalisa objek-objek database. Seperti CREATE,
ALTER,
DROP,
RENAME,
TRUNCATE,
ANALYZE, GRANT, REVOKE. Contoh syntax sql : CREATE DATABASE perpustakaan 2. Data Manipulation Language (DML) yaitu bahasa yang
digunakan untuk memanipulasi objek-objek yang ada di database. Seperti DELETE, INSERT, SELECT, UPDATE. Contoh syntax sql : SELECT * FROM buku 3. Transaction
Control
Statement
seperti
COMMIT,
ROLLBACK, SAVEPOINT, SET TRANSACTION. Contoh syntax sql : SQL> DELETE FROM CUSTOMERS WHERE AGE = 25; SQL> ROLLBACK;
http://digilib.mercubuana.ac.id/
51
4. System Control Statement seperti ALTER SYSTEM. 5. Embedded SQL Statement merupakan kombinasi DDL, DML,
Transaction Control Statement dalam sebuah bahasa data language seperti DECLARE, CURSOR, OPEN, CLOSE, DECLARE STATEMENT,
DATABASE, DESCRIBE,
CONNECT, WHENEVER,
EXECUTE, EXECUTE IMMEDIATE.
http://digilib.mercubuana.ac.id/
DECLARE FETCH,