BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Pengertian sistem ini akan mempunyai peranan yang sangat penting dalam melakukan pendekatan sistem yang akan dianalisis, pendekatan sistem dilakukan agar lebih menekankan pada komponen sistem. 2.1.1 Pengertian Sistem Ada beberapa pengertian sistem yang dikemukakan oleh para ahli, antara lain : menurut (Jogiyanto, 2005:2) sistem adalah kumpulan dari elemen – elemen yang berinteraksi untuk mencapai suatu tujuan tertentu, dan menurut (Djon Irwanto, 2005:2) sistem adalah sekumpulan komponen – komponen yang mengimplementasikan model dan fungsionalitas yang dibutuhkan, komponen – komponen tersebut saling berinteraksi didalam sistem guna mentransformasikan input yang diberikan kepada sistem tersebut menjadi output yang berguna dan bernilai bagi aktornya. 2.1.2 Karakteristik Sistem Suatu sistem mempunyai karakteristik atau sifat – sifat tertentu, yaitu mempunyai komponen – komponen, batas sistem, lingkungan luar sistem, penghubung, masukan, keluaran, pengolahan, dan sasaran atau tujuan (Jogiyanto, 2005:3). Komponen Sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk suatu kesatuan. Komponen – komponen sistem atau elemen – elemen sistem dapat berupa suatu subsistem atau bagian – bagian dari sistem.
4
1. Batasan sistem Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan dan menunjukan ruang lingkup dari sistem tersebut. 2. Lingkungan luar sistem Adalah apapun di luar batas dari sistem yang mempunyai operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan juga merugikan, karena lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus dijagan dan dipelihara. 3. Penghubung sistem Media yang menghubungkan antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini kemungkinan sumber – sumber daya mengalir dari satu subsistem ke subsistem lain. Keluaran suatu subsistem lainnya melalui penghubung. 4. Masukan sistem Energi yang dimasukkan ke dalam sistem, masukan dapat berupa masukan perawatan dan masukan sinyal maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat berjalan dan merupakan suatu proses untuk mendapatkan hasil keluaran sistem. 5. Keluaran sistem Energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. 6. Pengolahan sistem Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengoalahnya. Pengolah yang akan merubah masukan menjadi keluaran.
5
7. Sasaran sistem atau Tujuan sistem Suatu sistem yang mempunyai tujuan atau sasaran sistem tidak mempunyai sasaran maka sistem tidak akan ada, suatu sistem dapat dikatakan berhasil bila mengenai sasaran atau tujuannya. 2.1.3 Klasifikasi Sistem Sistem dapat di klasifikasikan dari beberapa sudut pandangan diantaranya adalah sebagai berikut ini : (Jogiyanto, 2005:3). Sistem diklasifikasikan sebagai sistem abstrak (abstract system) adalah sistem yang berupa pemikiran atau ide – ide yang tidak tampak secara fisik atau hubungan manusia dengan manusia dan sistem fisik adalah sistem yang nyata secara fisik misalnya : komputer atau yang dapat diketahui didalam input, proses, dan hasil akhirnya sebagai output Sistem diklasifikasikan sebagai sistem alamiah (natural system) adalah sistem yang datang dari proses alam tidak dibuat oleh manusia dan sistem buatan manusia adalah sistem yang dibuat oleh manusia, sehingga manusia berhubungan dan berinteraksi dengan mesin. Sistem diklasifikasikan sebagai sistem tertentu (deterministic system) adalah sistem yang tingkah lakunya dapat dipastikan oleh program – program yang dijalankannya dan sistem tak tentu adalah sistem yang tidak dapat diprediksikan karena mengandung unsur probabilitas. Sistem diklasifikasikan sebagai sistem tertutup (closed system) adalah sistem yang tidak berhubungan dan tidak berhubungan dan tidak berpengaruh oleh lingkungan luar dan sistem terbuka (open system) adalah sistem yang berhubungan dan terpengaruh oleh lingkungan luar.
6
2.1.4 Analisa Sistem Analisa sistem dapat didenifisikan sebagai berikut : (Jogiyanto, 2005:11). “Penguraian dari suatu sistem informasi yang utuh ke dalam bagian – bagian komponennya
dengan
maksud
untuk
mengidentifikasikan
dan
mengevaluasi
permasalahan – permasalahan, hambatan – hambatan, yang terjadi dan kebutuhan – kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannnya” Tahap analisis sistem dilakukan setelah tahap perencanaan sistem (system planning) dan sebelum tahap desain sistem (system design). Tahap analisis merupakan tahap kritis dan sangat penting, karena kesalahan di dalam tahap ini akan menyebabkan juga kesalahan ditahap selanjutnya Di dalam tahap analisis sistem terdapat langkah – langkah dasar yang harus dilakukan oleh analisis sistem sebagai berikut ini adalah : Identfy, yaitu mengidentifikasi masalah Understand, yaitu memahami sistem kerja yang ada Analyze, yaitu menganalisis sistem Report, yaitu membuat laporan hasil analisis 2.1.5 Analisa dan Perancangan Perangkat Lunak 2.1 Metode Waterfall Metode Waterfall , Metode ini juga disebut dengan classic life cycle. Fase model Waterfall yaitu Sistem Engineering, Analisis kebutuhan Software, Design, Coding, Testing, Maintenance.
7
Gambar 2.1 Model Waterfall (www.cs.ui.ac.id/7 .08.2009) Pada skema waterfall terdapat beberapa tahapan-tahapan yang dimana dari tiap-tiap tahapan terdapat penjelasan sebagai berikut : 1. Sistem Engineering Karena software merupakan bagian terbesar dari sistem, maka pekerjaan dimulai dengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan sebagian kebutuhan tersebut ke software. Pandangan terhadap sistem adalah penting, terutama pada saat software harus berhubungan dengan elemen lain, seperti Hardware, Software, dan Database. 2. Analisis kebutuhan software Suatu proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program yang dibentuk software engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan interface terhadap elemen lainnya. Hasil dari analisis ini didokumentasikan dan di review atau dibahas atau ditinjau bersama-sama customer. 3. Design Proses desain menterjemahkan kebutuhan ke dalam representasi software yang dapat diukur kualitasnya sebelum mulai coding. Hasil dari desain ini didokumentasikan dan menjadi bagian dari konfigurasi software.
8
4. Coding Bentuk rancangan diubah menjadi suatu bahasa pemrograman yang dapat dimengerti oleh mesin komputer. 5. Testing Segera sesudah objek program dihasilkan, pengetesan program dimulai. Proses testing difokuskan pada logika internal software. Jaminan bahwa semua pernyataan atau statements sudah dites dan lingkungan external menjamin bahwa definisi input akan menghasilkan output yang diinginkan. 6. Maintenance a. Software yang sudah dikirim ke customer data berubah karena Software mengalami error B.Software harus diadaptasi untuk menyesuaikan dengan lingkungan external, misalnya adanya sistem operasi baru atau peripheral baru. 2.1.6 Pengertian Unified Modelling Languange ( UML ) Menurut (Adi Nugroho:2005)”Unified Modelling Languange (UML) adalah alat bantu analisis serta perancangan lunak berbasis objek” UML (Unified Modelling language) adalah sebuah bahasa untuk menentukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak lainnya. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan system yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan.
9
Notasi UML merupakan pendefinisian persyaratan – persyaratan system yang disebut dengan use case dengan metode untuk perancangan sistem yang disebut Object – Orioentede yang berfokus pada analisis. UML menyediakan beberapa diagram visual yang menunjukkan berbagai aspek sistem yaitu : Class Diagram, Object Diagram, Component Diagram, Deployment Diagram, Use Case Diagram, Sequence Diagram, Package Diagram, State Machine Diagram, Activity Diagram, Communication Diagram, Composite Structure Diagram, Interaction overview Diagram, Timing Diagram. (Munawar, 2005 : 23) 2.1.7 Diagram – Diagram UML Menurut Martin Flowler Unified Modeling Language (UML) terdiri dari 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1. (Martin Flowler 2005 : 17) Tabel 2.1 Jenis-jenis Diagram UML (Martin Flowler 2005 : 17) No.
Diagram
Kegunaan
1.
Activity
Behavior prosedural dan parallel
2.
Class
Class, fitur, dan hubungan-hubungan
3.
Communication
Interaksi antar objek; penekanan pada jalur
4.
Component
Struktur dan koneksi komponen
5.
Composite structure
Dekomposisi runtime sebuah class
6.
Deployment
Pemindahan artifak ke node
7.
Interaction overview Campuran sequence dan activity diagram
8.
Object
Contoh konfigurasi dari contoh-contoh
9.
Package
Struktur hirarki compile-time
10.
Sequence
Interaksi antar objek; penekanan pada sequence
10
11.
State machine
Bagaimana even mengubah objek selama aktif
12.
Timing
Interaksi antar objek; penekanan pada timing
13.
Use case
Bagaimana pengguna berinteraksi dengan sebuah sistem
2.1.8 Use Case Diagram Use Case adalah deskripsi fungsi dari sebuah sisten dari perspektif pengguna. Use Case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. (Munawar, 2005 : 63) Use Case Diagram menunjukkan 3 aspek dari sistem yaitu actor, use case dan system / sub system boundary. Actor mewakili peran orang, sistem yang lain atau alat ketika berkomunikasi dengan Use Case. Gambar dibawah ini mengilustrasikan actor, use case dan boundary Tabel 2.1 Simbol Use Case Diagram (angew.info/files/Tutorial_UML/15.12.09) Simbol
Nama Simbol
Keterangan
Aktor
Seseorang atau sesuatu yang berinteraksi dengan sistem.
Use Case
Menggambarkan bagaimana seseorang akan menggunakan sistem.
Aliran Event
Untuk
mendokumentasikan
aliran-aliran
logika dalam setiap Use Case. Include
dan Include memungkinkan Use Case untuk
Extends
menggunakan fungsional yang di sediakan
11
oleh Use Case lainnya. Extends memungkinkan suatu Use Case memiliki
kemungkinan
memperluas
fungsionalitas yang di sediakan oleh Use Case lainnya. Generalisasi
Digunakan untuk memperlihatkan bahwa beberapa aktor atau usecase memiliki sesuatu yang bersifat umum.
Catat Booking
<
>
Batalkan Booking Resepsionis
<>
Tampilkan Booking
<>
Transfer Meja Staf
<>
Catat Kedatangan
<>
Catat yang Langsung Datang Pelayan
Gambar 2.2 Contoh Use Case “Sistem Restoran” (Munawar, 2005 : 69)
12
2.1.9 Activity Diagram Activity diagram menggambarkan aliran fungsional sistem, pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukan aliran kerja bisnis dan untuk menggambarkan aliran kejadian dalam use case. (Munawar, 2005 : 109 Tabel 2.1 Simbol-simbol yang sering digunakan pada saat pembuatan Activity Diagram. (Munawar, 2005 : 109) Simbol
Keterangan Titik awal Titik akhir Activity
pilihan untuk pengambilan keputusan fork : digunakan untuk menunjukn kegiatan yang dilakukan secara parallel atau untuk meggabungkan dua kegiatan parallel menjadi satu
<no send action>
tanda pengiriman
<no receive action>
tanda penerimaan
13
Gambar 2.2 Contoh Activity Diagram „Pengambilan Uang melalui ATM‟ 2.1.10 Sequence Diagram Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Diagram ini menunjukkan sejumlah contoh obyek dan message yang diletakkan diantara obyek – obyek ini di dalam use case. Diagram ini sebaiknyua digunakan di awal tahap perancangan atau analisis karena kesederhanaannya dan mudah dimengerti (Munawar, 2005 : 87) Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama. Message diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progrees vertical. Tabel
2.1
Simbol
-
Simbol
(angew.info/files/Tutorial_UML/15.12.09)
14
Sequence
Diagram
Notasi
Nama Simbol
Keterangan
Object
Object merupakan instance dari sebuah class
Object1
dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama obyekdidalamnya yang diawali dengan sebuah titik koma. Actor
Actor juga dapat berkomunikasi dengan object, maka actor juga dapat diurutkan sebagai kolom.
Top Package::Aktor
Simbol Actor sama dengan simbol pada Actor Use Case Diagram. Lifeline
Lifeline mengindikasikan keberadaan sebuah object dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah obyek.
Activation
Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada sebuah lifeline. Activation mengindikasikan sebuah obyek yang akan melakukan sebuah aksi.
Message1
Massage
Message, digambarkan dengan anak panah horizontal
antara
Activation.
Message
mengindikasikan komunikasi antara object.
15
Gambar 2.2 Contoh
Sequence Diagram sebuah sistem minuman otomatis
(angew.info/files/Tutorial_UML/15.12.09) 2.1.11 Class Diagram Class, dalam notasi UML digambarkan dengan kotak. Nama class menggunakan huruf besar di awal kalimatnya dan diletakkan diatas kotak. Bila class mempunyai nama yang terdiri dari 2 suku kata atau lebih, maka semua suku kata digabungkan tanpa spasi dengan huruf awal tiap suku kata menggunakan huruf besar. ( Munawar, 2005 : 35 ) Tabel 2.1 Notasi Pada Class Diagram (angew.info/files/Tutorial_UML/15.12.09) Notasi
Class1
Nama Simbol
Keterangan
Class
Class adalah blok - blok pembangun pada pemrograman berorientasi obyek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut
class.
Bagian
akhir
mendefinisikan method-method dari sebuah class. 0..1
1
Assosiation
Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara
16
2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum
multiplisitas
pada
sebuah
relationship (Contoh: One-to-one, one-to-many, many-to-many). Dependency
Kadangkala sebuah class menggunakan class yang
lain.
Hal
ini
disebut
dependency.
Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency
dilambangkan
sebagai
sebuah
panah bertitik-titik.
Gambar 2.5 Contoh Class Diagram transaksi Pembelian barang 2.1.12 Definisi PHP PHP singkatan dari Hypertext Preprocessor. PHP merupakan bahasa berbentuk skrip yang ditempatkan dalam proses di server. Hasilnya akan dikirim ke client, tempat pemakai menggunakan browser. Secara khusus PHP dirancang untuk membentuk web
17
dinamis. Artinya PHP dapat membentuk suatu tampilan berdasarkan permintaan terkini. Pada saat ini, PHP cukup populer sebagai piranti pemrograman web, terutama dilingkungan linux. Walaupun demikian, PHP sebenarnya juga dapat berfungsi pada server – server yang berbasis UNIX, Windows NT dan Macintosh. PHP bersifat bebas dipakai dan tidak perlu membayar apapun untuk menggunakan perangkat lunak ini (Kadir, 2004:2). 2.1.13 Skrip PHP Skrip PHP berkedudukan sebagai tag dalam bahasa HTML. Hyper Text Markup Language adalah bahasa standar untuk membuat halaman – halaman web. Kode PHP diawali dengan . Pasangan kedua kode inilah yang berfungsi sebagai tag kode PHP. Berdasarkan tag inilah, pihak server dapat memahami kode PHP dan kemudian memprosesnya. Hasilnya dikirim ke browser. Kode PHP menyerupai bahasa C (Kadir, 2004). 2.1.14 Variabel PHP Variabel adalah suatu bentuk kata atau huruf atau string yang berfungsi untuk menyimpan suatu nilai dan nilai didalamnya dapat diubah sewaktu – waktu. Aturan – aturan yang digunakan untuk menuliskan variabel dalam PHP adalah sebagai berikut (Nugroho, 2004): 1. Pendeklarasian variabel harus ditandai dengan string ($) 2. Variabel dapat menggunakan huruf kecil maupun huruf besar atau perpaduan antara keduanya. 3. Penulisan variabel tidak boleh menggunakan angka 4. Apabila ingin menggunakan angka sebagai variabel maka dapat menggunakan tanda underscor(_) untuk memulainya 5. Tidak boleh menggunakan bentuk – bentuk karakter yang tergolong ke dalam kode ASCII.
18
2.1.15 PHP dan Database Salah satu kelebihan dari PHP adalah mampu berkomunikasi dengan berbagai database yang terkenal. Dengan demikian, PHP dapat menampilkan data yang bersifat dinamis yang diambil dari database. Pada saat ini PHP sudah dapat berkomunikasi dengan berbagai database meskipun dengan kelengkapan yang berbeda. Beberapa di antaranya adalah (Kadir, 2004:6-7) : 1. Microsoft Access 2. MySQL 3. Oracle 4. Postgre SQL 5. Sybase, dsb 2.1.16 Koneksi PHP dan MySQL Langkah pertama yang harus dilakukan untuk dapat menghubungkan program PHP dengan database MySQL adalah membuka koneksi. Hal tersebut dilakukan dengan melakukan ijin akses yang menunjuk pada alamat server dan soket yang dimiliki database MySQL tersebut. Untuk melakukan pembukaan koneksi dengan database PHP memiliki fungsi yang disebut mysql_connect() dengan sintaks dasar sebagai berikut mysql_connect (sting host, sting username, sting password) Sintaks diatas khususnya pada host dapat diisi dengan alamat server MySQL tersebut berada. Apabila database MySQL berada komputer tempat membuat program maka menggunakan localhost sebagai nilainya. Sedangkan apabila letak dari database berada pada komputer lain maka menggunakan nomor IP sebagai alamat pemanggil (Nugroho, 2004). 2.1.17 Pengertian MySQL MySQL (My Structured Query Language) adalah salah satu jenis database server yang sangat terkenal. Hal tersebut dikarenakan MySQL menggunakan SQL sebagai bahan dasar untuk mengakses database. SQL adalah suatu bahasa permintaan terstruktur yang telah distandarkan untuk semua program mengakses database. Pada MySQL, sebuah
19
database mengandung satu atau sejumlah tabel. Setiap tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom (Kadir, 2004:348). Untuk masuk kedalam database user disediakan user default, yaitu dengan memasukkan username dan password pada saat melakukan instalasi. Banyak pengembang – pengembang software open source yang telah membuat interface berbasis web yang dapat digunakan untuk administrasi MySQL, salah satu contohnya
adalah
phpMyAdmin. MySQL merupakan database yang paling digemari dikalangan programmer Web, dengan alasan bahwa program ini merupakan database yang sangat kuat dan cukup stabil untuk digunakan sebagai penyimpanan data. Sebagai sebuah database Server yang mampu untuk memanajemen database dengan baik, MySQL terhitung merupakan database yang paling digemari dan paling banyak digunakan dibanding database yang lainnnya. Didalam dunia internet, MySQL dijadikan sebagaia sebuah database yang paling banyak digunakan selain database yang bersifat share ware seperti MsAcces, penggunaan MySQL ini biasanya dipadukan dengan menggunakan program aplikasi PHP, karena dengan menggunakan kedua program tersebut diatas telah terbukti akan kehandalannnya dalam menangani permintaan anda. 2.1.18 Tipe data pada My SQL MySQL memiliki tipe data yang cukup banyak yang dapat dikategorikan dalam tiga kelompok yaitu : 1. Tipe Numeric : Tinyint, Smallint, MediumInt, Integer, BigInteger, Float, Double, Real, Decimal. 2. Tipe tanggal dan waktu : DateTime, Date, TimeStamp, Time, Year. 3. Tipe String : Char, Varchar, TinyBlob, TinyText, Blob, Text, MediumBlob, MediumText, LongBlob, LongText.
20